From edad713d194b4ea4415585bfe102101cdb6930bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 09:05:23 +0000 Subject: [PATCH] deploy: d5037f8ab57785fcea8f4d15ca3487355441ce57 --- 404.html | 15 +- advanced-features/dynamic-imports/index.html | 21 +- .../cli/functions/compileLanguages/index.html | 31 + .../cli/functions/createCacheKey/index.html | 28 + .../createDevServerConfig/index.html | 41 + .../functions/createWebpackConfig/index.html | 29 + api/@ima/cli/functions/findRules/index.html | 27 + .../getCurrentCoreJsVersion/index.html | 21 + .../getLanguageEntryPoints/index.html | 31 + .../functions/resolveEnvironment/index.html | 25 + .../cli/functions/resolveImaConfig/index.html | 25 + .../functions/runImaPluginsHook/index.html | 29 + api/@ima/cli/globals/index.html | 41 + api/@ima/cli/index.html | 25 + api/@ima/cli/interfaces/ImaCliArgs/index.html | 139 +++ .../cli/interfaces/ImaCliPlugin/index.html | 95 ++ .../ImaConfigurationContext/index.html | 303 ++++++ .../cli/type-aliases/ImaCliCommand/index.html | 18 + .../cli/type-aliases/ImaConfig/index.html | 208 ++++ .../variables/IMA_CONF_FILENAME/index.html | 17 + .../classes/AbstractController/index.html | 436 +++++++++ .../core/classes/AbstractExecution/index.html | 88 ++ .../core/classes/AbstractExtension/index.html | 406 ++++++++ .../classes/AbstractPageManager/index.html | 537 +++++++++++ .../core/classes/AbstractRoute/index.html | 284 ++++++ .../core/classes/AbstractRouter/index.html | 727 ++++++++++++++ api/@ima/core/classes/Bootstrap/index.html | 171 ++++ api/@ima/core/classes/Cache/index.html | 166 ++++ api/@ima/core/classes/CacheEntry/index.html | 86 ++ api/@ima/core/classes/CacheFactory/index.html | 51 + api/@ima/core/classes/CacheImpl/index.html | 232 +++++ api/@ima/core/classes/CancelError/index.html | 183 ++++ .../core/classes/ClientPageManager/index.html | 738 +++++++++++++++ api/@ima/core/classes/ClientRouter/index.html | 893 ++++++++++++++++++ api/@ima/core/classes/ClientWindow/index.html | 453 +++++++++ .../core/classes/ComponentUtils/index.html | 76 ++ api/@ima/core/classes/Controller/index.html | 364 +++++++ .../classes/ControllerDecorator/index.html | 461 +++++++++ .../core/classes/CookieStorage/index.html | 316 +++++++ api/@ima/core/classes/Dictionary/index.html | 92 ++ api/@ima/core/classes/Dispatcher/index.html | 283 ++++++ .../core/classes/DispatcherImpl/index.html | 259 +++++ api/@ima/core/classes/DynamicRoute/index.html | 313 ++++++ api/@ima/core/classes/Entry/index.html | 117 +++ api/@ima/core/classes/Error/index.html | 169 ++++ api/@ima/core/classes/EventBus/index.html | 177 ++++ api/@ima/core/classes/EventBusImpl/index.html | 198 ++++ api/@ima/core/classes/Execution/index.html | 65 ++ api/@ima/core/classes/Extension/index.html | 329 +++++++ api/@ima/core/classes/GenericError/index.html | 190 ++++ api/@ima/core/classes/HttpAgent/index.html | 230 +++++ .../core/classes/HttpAgentImpl/index.html | 553 +++++++++++ api/@ima/core/classes/HttpProxy/index.html | 364 +++++++ api/@ima/core/classes/MapStorage/index.html | 168 ++++ .../MessageFormatDictionary/index.html | 134 +++ api/@ima/core/classes/MetaManager/index.html | 254 +++++ .../core/classes/MetaManagerImpl/index.html | 305 ++++++ api/@ima/core/classes/Namespace/index.html | 98 ++ .../core/classes/ObjectContainer/index.html | 469 +++++++++ api/@ima/core/classes/Observable/index.html | 125 +++ .../core/classes/ObservableImpl/index.html | 201 ++++ api/@ima/core/classes/PageFactory/index.html | 93 ++ api/@ima/core/classes/PageHandler/index.html | 89 ++ .../classes/PageHandlerRegistry/index.html | 118 +++ api/@ima/core/classes/PageManager/index.html | 87 ++ .../core/classes/PageMetaHandler/index.html | 89 ++ .../classes/PageNavigationHandler/index.html | 161 ++++ api/@ima/core/classes/PageRenderer/index.html | 123 +++ .../core/classes/PageStateManager/index.html | 128 +++ .../PageStateManagerDecorator/index.html | 150 +++ .../classes/PageStateManagerImpl/index.html | 196 ++++ api/@ima/core/classes/PluginLoader/index.html | 71 ++ api/@ima/core/classes/Request/index.html | 140 +++ api/@ima/core/classes/Response/index.html | 156 +++ api/@ima/core/classes/RouteFactory/index.html | 65 ++ api/@ima/core/classes/Router/index.html | 450 +++++++++ api/@ima/core/classes/SerialBatch/index.html | 101 ++ .../core/classes/ServerPageManager/index.html | 615 ++++++++++++ api/@ima/core/classes/ServerRouter/index.html | 763 +++++++++++++++ api/@ima/core/classes/ServerWindow/index.html | 362 +++++++ .../core/classes/SessionMapStorage/index.html | 178 ++++ .../core/classes/SessionStorage/index.html | 182 ++++ api/@ima/core/classes/StaticRoute/index.html | 599 ++++++++++++ api/@ima/core/classes/Storage/index.html | 146 +++ .../core/classes/UrlTransformer/index.html | 84 ++ .../core/classes/WeakMapStorage/index.html | 180 ++++ api/@ima/core/classes/Window/index.html | 460 +++++++++ .../core/enumerations/ActionTypes/index.html | 39 + .../core/enumerations/BindingState/index.html | 64 ++ .../enumerations/HttpStatusCode/index.html | 67 ++ .../enumerations/RendererEvents/index.html | 58 ++ .../enumerations/RendererTypes/index.html | 36 + .../core/enumerations/RouteNames/index.html | 32 + .../core/enumerations/RouterEvents/index.html | 57 ++ .../core/enumerations/StateEvents/index.html | 32 + .../core/functions/bootClientApp/index.html | 35 + .../core/functions/createImaApp/index.html | 27 + .../functions/getClientBootConfig/index.html | 22 + .../getInitialImaConfigFunctions/index.html | 19 + .../getInitialPluginConfig/index.html | 23 + .../core/functions/getNamespace/index.html | 19 + api/@ima/core/functions/onLoad/index.html | 19 + .../core/functions/reviveClientApp/index.html | 22 + .../core/functions/routeClientApp/index.html | 25 + api/@ima/core/globals/index.html | 200 ++++ api/@ima/core/index.html | 17 + .../core/interfaces/AppEnvironment/index.html | 39 + .../core/interfaces/BootConfig/index.html | 104 ++ .../core/interfaces/BootServices/index.html | 64 ++ .../core/interfaces/DictionaryMap/index.html | 14 + .../interfaces/DispatcherEventsMap/index.html | 158 ++++ .../core/interfaces/Environment/index.html | 148 +++ .../interfaces/GlobalImaObject/index.html | 133 +++ .../HttpAgentRequestOptions/index.html | 81 ++ .../core/interfaces/ImaRequestInit/index.html | 138 +++ .../core/interfaces/InitAppConfig/index.html | 42 + .../core/interfaces/InitImaConfig/index.html | 30 + .../interfaces/InitPluginConfig/index.html | 32 + api/@ima/core/interfaces/Manifest/index.html | 32 + .../core/interfaces/ManifestAsset/index.html | 134 +++ .../core/interfaces/OCAliasMap/index.html | 263 ++++++ .../core/interfaces/PageAction/index.html | 59 ++ .../PageRendererSettings/index.html | 50 + api/@ima/core/interfaces/Resources/index.html | 32 + .../core/interfaces/RouteAction/index.html | 36 + .../interfaces/RouteFactoryOptions/index.html | 60 ++ .../core/interfaces/RouteLocals/index.html | 28 + .../core/interfaces/RouteOptions/index.html | 86 ++ api/@ima/core/interfaces/Settings/index.html | 84 ++ api/@ima/core/interfaces/Utils/index.html | 74 ++ .../WindowCustomEventsMap/index.html | 14 + .../type-aliases/AnyParameters/index.html | 19 + .../core/type-aliases/AppSettings/index.html | 35 + .../AsyncRouteController/index.html | 17 + .../type-aliases/AsyncRouteView/index.html | 17 + .../core/type-aliases/BootSettings/index.html | 17 + api/@ima/core/type-aliases/Cookie/index.html | 26 + .../type-aliases/CookieOptions/index.html | 50 + .../CookieTransformFunction/index.html | 36 + .../DecoratedOCAliasMap/index.html | 17 + .../core/type-aliases/Dependencies/index.html | 19 + .../core/type-aliases/Dependency/index.html | 19 + .../type-aliases/DictionaryConfig/index.html | 26 + .../type-aliases/DictionaryData/index.html | 19 + .../DispatcherListener/index.html | 24 + .../core/type-aliases/EntryOptions/index.html | 22 + .../EventBusEventHandler/index.html | 22 + .../type-aliases/EventBusListener/index.html | 22 + .../type-aliases/EventBusOptions/index.html | 30 + .../core/type-aliases/ExecutionJob/index.html | 22 + .../GenericErrorParams/index.html | 28 + .../type-aliases/HttpAgentResponse/index.html | 45 + .../HttpProxyErrorParams/index.html | 39 + .../HttpProxyRequestParams/index.html | 40 + .../type-aliases/InitBindFunction/index.html | 28 + .../InitRoutesFunction/index.html | 28 + .../InitServicesFunction/index.html | 26 + .../InitSettingsFunction/index.html | 26 + .../type-aliases/LoadedResources/index.html | 19 + .../LocalizationFunction/index.html | 22 + .../core/type-aliases/ManageArgs/index.html | 34 + .../core/type-aliases/ManagedPage/index.html | 114 +++ .../type-aliases/MetaAttributes/index.html | 17 + .../type-aliases/MetaManagerRecord/index.html | 19 + .../MetaManagerRecordKeys/index.html | 17 + .../core/type-aliases/MetaValue/index.html | 17 + .../type-aliases/NativeListener/index.html | 22 + .../core/type-aliases/OCInjectable/index.html | 19 + .../core/type-aliases/OCInstance/index.html | 19 + .../OCInstanceConstrain/index.html | 19 + .../type-aliases/ObjectParameters/index.html | 19 + .../core/type-aliases/PageData/index.html | 22 + .../core/type-aliases/PageState/index.html | 19 + .../PluginInitBindFunction/index.html | 30 + .../PluginInitServicesFunction/index.html | 28 + .../PluginInitSettingsFunction/index.html | 28 + .../core/type-aliases/Resource/index.html | 17 + .../type-aliases/RouteController/index.html | 17 + .../core/type-aliases/RouteParams/index.html | 19 + .../RoutePathExpression/index.html | 51 + .../core/type-aliases/RouteView/index.html | 17 + .../type-aliases/RouterMiddleware/index.html | 26 + .../SerializedCacheEntry/index.html | 28 + .../type-aliases/SerializedData/index.html | 21 + .../type-aliases/StringParameters/index.html | 19 + .../type-aliases/UnknownParameters/index.html | 19 + .../UnknownPromiseParameters/index.html | 19 + .../WindowEventTargets/index.html | 17 + .../WindowEventTargetsMap/index.html | 19 + api/@ima/core/variables/ns/index.html | 17 + .../core/variables/pluginLoader/index.html | 17 + api/@ima/dev-utils/classes/Logger/index.html | 164 ++++ .../functions/createLogger/index.html | 22 + .../functions/createSourceFragment/index.html | 34 + .../extractSourceMappingUrl/index.html | 28 + .../functions/formatError/index.html | 38 + .../dev-utils/functions/getSource/index.html | 33 + .../functions/parseCompileError/index.html | 26 + .../dev-utils/functions/parseError/index.html | 30 + .../dev-utils/functions/printTime/index.html | 20 + .../functions/resolveErrorType/index.html | 22 + api/@ima/dev-utils/functions/time/index.html | 24 + api/@ima/dev-utils/globals/index.html | 48 + api/@ima/dev-utils/index.html | 30 + .../interfaces/CompileError/index.html | 44 + .../interfaces/FragmentLine/index.html | 32 + .../interfaces/LoggerOptions/index.html | 34 + .../type-aliases/ParsedErrorData/index.html | 46 + .../COMPILE_ERROR_NEEDLES_RE/index.html | 17 + .../RE_SOURCE_MAPPING_URL/index.html | 19 + .../RE_VALID_FRAME_CHROME/index.html | 17 + .../RE_VALID_FRAME_FIREFOX/index.html | 17 + .../dev-utils/variables/logger/index.html | 18 + .../preprocessTransformer/index.html | 22 + .../functions/swcTransformer/index.html | 22 + .../typescriptDeclarationsPlugin/index.html | 22 + api/@ima/plugin-cli/globals/index.html | 39 + api/@ima/plugin-cli/index.html | 47 + .../plugin-cli/interfaces/Context/index.html | 38 + .../interfaces/ImaPluginConfig/index.html | 68 ++ .../interfaces/PipeContext/index.html | 62 ++ .../plugin-cli/interfaces/Source/index.html | 32 + .../type-aliases/Command/index.html | 17 + .../plugin-cli/type-aliases/Plugin/index.html | 22 + .../type-aliases/Transformer/index.html | 28 + .../TransformerOptions/index.html | 22 + .../variables/clientServerConfig/index.html | 17 + .../variables/defaultConfig/index.html | 17 + .../variables/nodeConfig/index.html | 17 + .../classes/AbstractComponent/index.html | 552 +++++++++++ .../classes/AbstractPureComponent/index.html | 552 +++++++++++ .../classes/BlankManagedRootView/index.html | 431 +++++++++ .../classes/ErrorBoundary/index.html | 405 ++++++++ .../classes/PageRendererFactory/index.html | 75 ++ .../classes/ServerPageRenderer/index.html | 212 +++++ .../classes/ViewAdapter/index.html | 444 +++++++++ .../functions/cssClasses/index.html | 39 + .../functions/defaultCssClasses/index.html | 35 + .../functions/fire/index.html | 33 + .../functions/getUtils/index.html | 33 + .../functions/link/index.html | 35 + .../functions/listen/index.html | 37 + .../functions/localize/index.html | 34 + .../functions/unlisten/index.html | 36 + .../functions/useComponent/index.html | 29 + .../functions/useComponentUtils/index.html | 23 + .../functions/useCssClasses/index.html | 23 + .../functions/useDispatcher/index.html | 57 ++ .../functions/useEventBus/index.html | 33 + .../functions/useLink/index.html | 23 + .../functions/useLocalize/index.html | 23 + .../functions/useOnce/index.html | 26 + .../functions/usePageContext/index.html | 23 + .../functions/useSettings/index.html | 29 + .../functions/useWindowEvent/index.html | 67 ++ .../react-page-renderer/globals/index.html | 57 ++ api/@ima/react-page-renderer/index.html | 27 + .../interfaces/PageContextType/index.html | 20 + .../interfaces/ViewAdapterProps/index.html | 46 + .../interfaces/useComponentType/index.html | 183 ++++ .../interfaces/useDispatcherType/index.html | 58 ++ .../interfaces/useEventBusType/index.html | 55 ++ .../variables/PageContext/index.html | 17 + .../ima_core.AbstractController/index.html | 86 -- .../ima_core.AbstractExecution/index.html | 20 - .../ima_core.AbstractExtension/index.html | 66 -- .../ima_core.AbstractPageManager/index.html | 44 - api/classes/ima_core.AbstractRoute/index.html | 39 - .../ima_core.AbstractRouter/index.html | 70 -- api/classes/ima_core.Bootstrap/index.html | 27 - api/classes/ima_core.Cache/index.html | 33 - api/classes/ima_core.CacheEntry/index.html | 19 - api/classes/ima_core.CacheFactory/index.html | 16 - api/classes/ima_core.CacheImpl/index.html | 33 - api/classes/ima_core.CancelError/index.html | 26 - .../ima_core.ClientPageManager/index.html | 63 -- api/classes/ima_core.ClientRouter/index.html | 84 -- api/classes/ima_core.ClientWindow/index.html | 43 - .../ima_core.ComponentUtils/index.html | 16 - api/classes/ima_core.Controller/index.html | 86 -- .../ima_core.ControllerDecorator/index.html | 87 -- api/classes/ima_core.CookieStorage/index.html | 50 - api/classes/ima_core.Dictionary/index.html | 25 - api/classes/ima_core.Dispatcher/index.html | 35 - .../ima_core.DispatcherImpl/index.html | 38 - api/classes/ima_core.DynamicRoute/index.html | 41 - api/classes/ima_core.Entry/index.html | 20 - api/classes/ima_core.Error/index.html | 26 - api/classes/ima_core.EventBus/index.html | 43 - api/classes/ima_core.EventBusImpl/index.html | 41 - api/classes/ima_core.Execution/index.html | 27 - api/classes/ima_core.Extension/index.html | 75 -- api/classes/ima_core.GenericError/index.html | 26 - api/classes/ima_core.HttpAgent/index.html | 38 - api/classes/ima_core.HttpAgentImpl/index.html | 66 -- api/classes/ima_core.HttpProxy/index.html | 45 - api/classes/ima_core.MapStorage/index.html | 28 - .../index.html | 29 - api/classes/ima_core.MetaManager/index.html | 38 - .../ima_core.MetaManagerImpl/index.html | 32 - api/classes/ima_core.Namespace/index.html | 26 - .../ima_core.ObjectContainer/index.html | 83 -- api/classes/ima_core.Observable/index.html | 22 - .../ima_core.ObservableImpl/index.html | 23 - api/classes/ima_core.PageFactory/index.html | 17 - api/classes/ima_core.PageHandler/index.html | 19 - .../ima_core.PageHandlerRegistry/index.html | 18 - api/classes/ima_core.PageManager/index.html | 27 - .../ima_core.PageMetaHandler/index.html | 19 - .../ima_core.PageNavigationHandler/index.html | 23 - api/classes/ima_core.PageRenderer/index.html | 39 - .../ima_core.PageStateManager/index.html | 22 - .../index.html | 23 - .../ima_core.PageStateManagerImpl/index.html | 23 - api/classes/ima_core.PluginLoader/index.html | 20 - api/classes/ima_core.Request/index.html | 18 - api/classes/ima_core.Response/index.html | 20 - api/classes/ima_core.RouteFactory/index.html | 16 - api/classes/ima_core.Router/index.html | 55 -- api/classes/ima_core.SerialBatch/index.html | 20 - .../ima_core.ServerPageManager/index.html | 44 - api/classes/ima_core.ServerRouter/index.html | 69 -- api/classes/ima_core.ServerWindow/index.html | 43 - .../ima_core.SessionMapStorage/index.html | 29 - .../ima_core.SessionStorage/index.html | 28 - api/classes/ima_core.StaticRoute/index.html | 45 - api/classes/ima_core.Storage/index.html | 29 - .../ima_core.UrlTransformer/index.html | 19 - .../ima_core.WeakMapStorage/index.html | 29 - api/classes/ima_core.Window/index.html | 45 - api/classes/ima_dev_utils.Logger/index.html | 17 - .../index.html | 50 - .../index.html | 50 - .../index.html | 45 - .../index.html | 47 - .../index.html | 22 - .../index.html | 17 - .../index.html | 45 - api/enums/ima_core.ActionTypes/index.html | 16 - api/enums/ima_core.BindingState/index.html | 38 - api/enums/ima_core.HttpStatusCode/index.html | 17 - api/enums/ima_core.RendererEvents/index.html | 24 - api/enums/ima_core.RendererTypes/index.html | 16 - api/enums/ima_core.RouteNames/index.html | 19 - api/enums/ima_core.RouterEvents/index.html | 31 - api/enums/ima_core.StateEvents/index.html | 20 - api/index.html | 23 +- api/interfaces/ima_cli.ImaCliArgs/index.html | 16 - .../ima_cli.ImaCliPlugin/index.html | 22 - .../index.html | 16 - .../ima_core.AppEnvironment/index.html | 16 - api/interfaces/ima_core.BootConfig/index.html | 16 - .../ima_core.BootServices/index.html | 16 - .../ima_core.DictionaryMap/index.html | 16 - .../ima_core.DispatcherEventsMap/index.html | 16 - .../ima_core.Environment/index.html | 16 - .../ima_core.GlobalImaObject/index.html | 16 - .../index.html | 16 - .../ima_core.ImaRequestInit/index.html | 19 - .../ima_core.InitAppConfig/index.html | 16 - .../ima_core.InitImaConfig/index.html | 16 - .../ima_core.InitPluginConfig/index.html | 16 - api/interfaces/ima_core.Manifest/index.html | 16 - .../ima_core.ManifestAsset/index.html | 16 - api/interfaces/ima_core.OCAliasMap/index.html | 18 - api/interfaces/ima_core.PageAction/index.html | 16 - .../ima_core.PageRendererSettings/index.html | 16 - api/interfaces/ima_core.Resources/index.html | 16 - .../ima_core.RouteAction/index.html | 16 - .../ima_core.RouteFactoryOptions/index.html | 16 - .../ima_core.RouteLocals/index.html | 16 - .../ima_core.RouteOptions/index.html | 16 - api/interfaces/ima_core.Settings/index.html | 16 - api/interfaces/ima_core.Utils/index.html | 16 - .../ima_core.WindowCustomEventsMap/index.html | 16 - .../ima_dev_utils.CompileError/index.html | 16 - .../ima_dev_utils.FragmentLine/index.html | 16 - .../ima_dev_utils.LoggerOptions/index.html | 17 - .../ima_plugin_cli.Context/index.html | 16 - .../ima_plugin_cli.ImaPluginConfig/index.html | 16 - .../ima_plugin_cli.PipeContext/index.html | 16 - .../ima_plugin_cli.Source/index.html | 16 - .../index.html | 16 - .../index.html | 16 - .../index.html | 37 - .../index.html | 20 - .../index.html | 23 - api/modules/ima_cli/index.html | 22 - api/modules/ima_core/index.html | 19 - api/modules/ima_dev_utils/index.html | 29 - api/modules/ima_plugin_cli/index.html | 33 - .../ima_react_page_renderer/index.html | 35 - assets/css/styles.4b05cbbd.css | 1 - assets/css/styles.54bc1051.css | 1 + assets/js/0095d48c.00db20ff.js | 1 + assets/js/00b0df35.1864ea16.js | 1 + assets/js/01fc3ad9.786220c5.js | 1 - assets/js/023579e4.529d873e.js | 1 + assets/js/0406843b.d18eb636.js | 1 + assets/js/0436c729.91678a91.js | 1 + assets/js/046a2c8d.176dcfc7.js | 1 - assets/js/046a2c8d.79fba3c8.js | 1 + assets/js/050b426e.cb234e4a.js | 1 + assets/js/054b3444.fab9a701.js | 1 + assets/js/05c167b5.078b5126.js | 1 + assets/js/06f7bddd.b62ef7a3.js | 1 + assets/js/0735edb8.18f9aa8b.js | 1 + assets/js/087d9a97.926b3865.js | 1 - assets/js/08dd9469.ad883c5d.js | 1 + assets/js/0915269d.42845665.js | 1 - assets/js/094a494b.649159bc.js | 1 - assets/js/0a435bfc.38c9b91a.js | 1 + assets/js/0b304565.382244c9.js | 1 - assets/js/0b497735.5f133538.js | 1 - assets/js/0be7a9d3.83b65846.js | 1 + assets/js/0c33a80b.3a5979c7.js | 1 + assets/js/0d30e104.0ee666d4.js | 1 + assets/js/0d60f290.e758c00a.js | 1 + assets/js/0e0c957d.373e12ca.js | 1 + assets/js/0e14dc68.705ab4f1.js | 1 - assets/js/0e4d1180.fe87e114.js | 1 + assets/js/0f7684f2.1ed959d2.js | 1 - assets/js/106127c8.e1e0481c.js | 1 - assets/js/10617864.fc13a992.js | 1 - assets/js/1074.86f91343.js | 1 + assets/js/109df5a2.504590c0.js | 1 + assets/js/10a88b42.f0151b58.js | 1 - assets/js/10eac14e.1065ddd4.js | 1 + assets/js/10f85a35.943e5683.js | 1 - assets/js/12a940f3.38a2b7eb.js | 1 - assets/js/13512aaf.6e0be524.js | 1 - assets/js/1352a5d9.7e540209.js | 1 - assets/js/1352a5d9.aea11142.js | 1 + assets/js/14d23109.6b50b8ba.js | 1 + assets/js/151b6e84.7ce302ed.js | 1 - assets/js/153c616c.16d6a061.js | 1 - assets/js/162a65f7.756089b2.js | 1 + assets/js/162a65f7.96551b59.js | 1 - assets/js/16feba69.92465fe1.js | 1 - assets/js/173fd68b.5706c0c2.js | 1 - assets/js/1774.ac8a7eec.js | 1 - assets/js/17896441.104652ac.js | 1 + assets/js/17896441.cac09774.js | 1 - assets/js/17b7345f.b6852b50.js | 1 + assets/js/18ba1c5e.dcff89ed.js | 1 - assets/js/192c90c3.b0a2dbdc.js | 1 - assets/js/198995d1.3168ed08.js | 1 + assets/js/1a0a7d21.579c892b.js | 1 + assets/js/1a187b39.50e0f1d6.js | 1 + assets/js/1a4e3797.13cca538.js | 2 - assets/js/1a4e3797.13cca538.js.LICENSE.txt | 1 - assets/js/1a4e3797.215a22b7.js | 1 + assets/js/1ae6f9c3.6565ae73.js | 1 - assets/js/1ae9d490.fb29f575.js | 1 - assets/js/1af54293.2ab8263f.js | 1 + assets/js/1afd1704.ddede8b6.js | 1 - assets/js/1b1b4238.017dbb7f.js | 1 + assets/js/1b8d9881.7110193e.js | 1 + assets/js/1ba2ef78.9adce384.js | 1 + assets/js/1ba2ef78.e6659834.js | 1 - assets/js/1bd618df.76955ff1.js | 1 - assets/js/1bdefe9f.861ed04e.js | 1 + assets/js/1be78505.1c7baf05.js | 1 - assets/js/1d150b43.2d361014.js | 1 - assets/js/1d236428.54bf61d0.js | 1 + assets/js/1e67d591.303e74ba.js | 1 + assets/js/1e7da5b4.36629560.js | 1 + assets/js/1f21f457.78b8a72f.js | 1 + assets/js/1f47704f.31645bd9.js | 1 + assets/js/1f992b54.80079b4b.js | 1 + assets/js/201713f2.09bfa377.js | 1 - assets/js/201713f2.8fe8aa39.js | 1 + .../js/{942.f88e018c.js => 205.61f3d2ad.js} | 2 +- assets/js/212e3b5d.dd1ae512.js | 1 - assets/js/214956d8.c2b987c7.js | 1 - assets/js/21ee5e18.7160549e.js | 1 + assets/js/21ee5e18.d688b0a7.js | 1 - assets/js/22dd74f7.50708032.js | 1 + assets/js/22fe3d7c.84394cb7.js | 1 + assets/js/23b7ba02.4e15dfe3.js | 1 + assets/js/23f47465.520b1f03.js | 1 + assets/js/23f47465.604d5221.js | 1 - assets/js/23f92eae.3ff587e2.js | 1 + assets/js/24176970.e2d6a7e6.js | 1 + assets/js/247d659b.cb116983.js | 1 + assets/js/25accc40.ddb5f479.js | 1 - assets/js/25aeb21c.1770e9d4.js | 1 - assets/js/25aeb21c.6cdba741.js | 1 + assets/js/27a3d74a.fedcc850.js | 1 - assets/js/27b4c996.66ec1fe1.js | 1 - assets/js/284c0bdc.22c56ea0.js | 1 - assets/js/284c0bdc.4abbd365.js | 1 + assets/js/286e48de.4f9f707b.js | 1 + assets/js/2939e2fe.b66815f2.js | 1 + assets/js/2a1789c8.6b0a7a29.js | 1 + assets/js/2aec711d.250dfd74.js | 1 + assets/js/2b78a965.0d39465f.js | 1 + assets/js/2c4916d9.419c161a.js | 1 + assets/js/2c6faea6.1f0a4f61.js | 1 + assets/js/2c83167a.666a946f.js | 1 - assets/js/2ca52c80.a2aa5422.js | 1 - assets/js/2d3b3d7d.a268d058.js | 1 + assets/js/2d4b099c.5c656169.js | 1 + assets/js/2d78be1f.06074399.js | 1 + assets/js/2dbe7023.000a8e60.js | 1 + assets/js/2e35e39d.5d588a6c.js | 1 - assets/js/2ece5d09.234234f1.js | 1 - assets/js/2ece5d09.60f617bc.js | 1 + assets/js/2f4a9057.aa2d0274.js | 1 + assets/js/2fa7fbb9.c11df398.js | 1 - assets/js/2fa7fbb9.ed330009.js | 1 + assets/js/2fbd0ada.fe7d51a5.js | 1 + assets/js/30081c14.5f8e193e.js | 1 + assets/js/30bfce74.42bd10a4.js | 1 + assets/js/30c3cb5b.1c1ac8f0.js | 1 - assets/js/30e917a1.9ff61c65.js | 1 + assets/js/3149f580.b57117fe.js | 1 - assets/js/321fbd12.743a4e70.js | 1 - assets/js/3237d59a.443cfcf6.js | 1 + assets/js/327389ac.8b16545b.js | 1 + assets/js/327389ac.d68d11a5.js | 1 - assets/js/327aa04a.3db9469b.js | 1 - assets/js/331030ba.bc428d6d.js | 1 + assets/js/339f6683.0de4ee04.js | 1 + assets/js/33fd58a6.4b3c8f3e.js | 1 + assets/js/33fd58a6.eaff46d9.js | 1 - assets/js/3410d364.0547a697.js | 1 - assets/js/34832b8e.43e95837.js | 1 + assets/js/35f8904a.2fa5a4ab.js | 1 + assets/js/36520f9b.297f480e.js | 1 + assets/js/37e10be9.028d57a7.js | 1 + assets/js/3834631c.e80112c3.js | 1 - assets/js/388bb84c.002c25f3.js | 1 + assets/js/3aa5d059.2126437f.js | 1 + assets/js/3b749563.9defdeea.js | 1 + assets/js/3c01549e.a2129879.js | 1 - assets/js/3c01549e.c16a5ecb.js | 1 + assets/js/3c40fb45.8afd3117.js | 1 - assets/js/3c5ae44f.d09a7239.js | 1 + assets/js/3c604595.124813c2.js | 1 + assets/js/3d63d319.16e433b9.js | 1 + assets/js/3e4ac49e.9c64da22.js | 1 + assets/js/3e704a63.69700263.js | 1 + assets/js/3e749104.40a4fd40.js | 1 + assets/js/3ee3a507.71f4cd3e.js | 1 + assets/js/3fb1a119.8a1e9a80.js | 1 - assets/js/418a1cae.07db9ae1.js | 1 - assets/js/42be0be8.c1603066.js | 1 - assets/js/42dbe6f3.5b529643.js | 1 + assets/js/435e6e8a.b97332d0.js | 1 - assets/js/44cf4fdc.4aee52d1.js | 1 - assets/js/45e185c2.e54708e6.js | 1 - assets/js/45f28deb.82f89c66.js | 1 + assets/js/46be744b.4a50c0a2.js | 1 - assets/js/48673dc0.34954a0b.js | 1 + assets/js/487a916d.9bc066de.js | 1 - assets/js/48d92cf8.f58307ed.js | 1 - assets/js/48fa096e.6047a287.js | 1 - .../js/{186.c1288e4d.js => 492.30677ee8.js} | 2 +- assets/js/4a07765f.908c4c06.js | 1 - assets/js/4a35f728.a960871c.js | 1 + assets/js/4c792d2e.4fbbc3f8.js | 1 + assets/js/4cabad03.78436b0f.js | 1 - assets/js/4cabad03.8962443e.js | 1 + assets/js/4cfd18d6.b4aaf758.js | 1 + assets/js/4d54b06c.da3756a7.js | 1 + assets/js/4d5af51b.06a034a5.js | 1 - assets/js/4db42fa4.9873669d.js | 1 + assets/js/4f34213b.5807c3a4.js | 1 + assets/js/4fdd7ffa.24c205f8.js | 1 + assets/js/5009512d.1a95076d.js | 1 + assets/js/506f4e3c.0ceadd9b.js | 1 - assets/js/506f4e3c.4a1f55cc.js | 1 + assets/js/50a0dccc.5fda880f.js | 1 + assets/js/50f70a8b.4f12a211.js | 1 + assets/js/50f70a8b.ab64d9cf.js | 1 - assets/js/517b2119.eaae44bd.js | 1 + assets/js/51dd6e12.bc937770.js | 1 + assets/js/525a1f42.a8ec02dc.js | 1 - assets/js/530991c8.b3c297c5.js | 1 + assets/js/53160cfc.4a400beb.js | 1 + assets/js/5342d644.4189ced3.js | 1 + assets/js/53ddc8eb.df2d259f.js | 1 - assets/js/5401ed5c.315b38f0.js | 1 - assets/js/54d95e21.af4b87d0.js | 1 - assets/js/54d95e21.d3ba20a6.js | 1 + assets/js/54f60d95.56e34430.js | 1 - assets/js/54f60d95.9cdd58da.js | 1 + assets/js/56922005.fe04f931.js | 1 - assets/js/5731cc15.6cbff9d3.js | 1 + assets/js/57a07ec0.20a46fd7.js | 1 - assets/js/585f1245.38bfbbc2.js | 1 + assets/js/585f1245.8fb5543b.js | 1 - assets/js/58dd8a24.1514e657.js | 1 + assets/js/58ed6817.06f88557.js | 1 + assets/js/5920c8e7.049ddf40.js | 1 + assets/js/59e9decf.b82cbb84.js | 1 - assets/js/5a8313eb.3381d1fe.js | 1 + assets/js/5a8bc785.1382923c.js | 1 + assets/js/5adb7293.27b7f431.js | 1 + assets/js/5b490090.6b2230c3.js | 1 + assets/js/5b5d1bef.ebfc7d99.js | 1 + assets/js/5bc0cc75.5e32f948.js | 1 + assets/js/5c52d73f.ea5623e7.js | 1 + assets/js/5ce95ba0.9f8bac4f.js | 1 + assets/js/5dc5c8af.13c4cb7e.js | 1 - assets/js/5e6674c6.9a4d3169.js | 1 + assets/js/5e7d82a6.d268c965.js | 1 - assets/js/5e95c892.3da8e872.js | 1 + assets/js/5ec8820d.86ea8fd3.js | 1 + assets/js/5ef21807.6b0b3aee.js | 1 + assets/js/6073fa13.f885ce28.js | 1 + assets/js/6089708e.8aab24ad.js | 1 - assets/js/60d7bbfa.38fb8857.js | 1 + assets/js/611fb728.1dd4d546.js | 1 + assets/js/61e14e81.394dcd67.js | 1 - assets/js/6302158a.ead19384.js | 1 + assets/js/636475bd.8e67856b.js | 1 + assets/js/63ced45c.e2f027e1.js | 1 - assets/js/6520cedf.297098ca.js | 1 - assets/js/6527a706.16a35576.js | 1 - assets/js/6527a706.dd770e74.js | 1 + assets/js/658a263b.5e9ca6ef.js | 1 - assets/js/658a263b.cc9eb84f.js | 1 + assets/js/66307371.0f4f6a64.js | 1 + assets/js/6669b354.6077bf98.js | 1 - assets/js/67160f26.18fd89e1.js | 1 + assets/js/67be0ef1.5810ea6b.js | 1 - assets/js/67f04688.c821d63f.js | 1 - assets/js/6857e688.bf8f3a33.js | 1 + assets/js/68d1a169.be73caf9.js | 1 - assets/js/69014fe5.0caa01e0.js | 1 + assets/js/6986213d.81f18c29.js | 1 + assets/js/6a7c6930.38f90e40.js | 1 + assets/js/6a7c6930.7f60a719.js | 1 - assets/js/6ae61f9d.81d2fd53.js | 1 - assets/js/6ae61f9d.934b9c36.js | 1 + assets/js/6af56cb1.b10acb85.js | 1 - assets/js/6b2b427d.d51786b5.js | 1 - assets/js/6bff6b59.c49e907a.js | 1 - assets/js/6c6626f0.c5767579.js | 1 + assets/js/6d5b6e0a.8c4be1ab.js | 1 + assets/js/6dfadff3.42a29629.js | 1 - assets/js/6f7688a7.13372e71.js | 1 - assets/js/6ff345d3.47e48236.js | 1 + assets/js/6ff7da37.e0716b72.js | 1 + assets/js/70db71fd.2a4900f7.js | 1 - assets/js/70e9fb71.53704eb1.js | 1 - assets/js/7132be39.7979ea93.js | 1 - assets/js/7132be39.eacfae59.js | 1 + assets/js/715a99ae.ba2b9717.js | 1 + assets/js/71f6bba6.adefb7f5.js | 1 + assets/js/728bf073.02dc6685.js | 1 - assets/js/728bf073.bed1eb1c.js | 1 + assets/js/72a309aa.8a420e38.js | 1 - assets/js/72b2125c.057b0a95.js | 1 + assets/js/7325f36b.bd98ed28.js | 1 - assets/js/737af32c.0d4b97cd.js | 1 + assets/js/73933150.0a37cc16.js | 1 + assets/js/73c687f7.29d11e1b.js | 1 + assets/js/747520ea.e212a7b3.js | 1 + assets/js/7500682d.395d2e33.js | 1 - assets/js/755ee4a1.5a5715ad.js | 1 - assets/js/757a5f49.d98545d4.js | 1 + assets/js/7581cadb.d7cf59e5.js | 1 + assets/js/7651edab.5536a2c7.js | 1 - assets/js/77404de2.ce26f1ee.js | 1 + assets/js/77cf719a.13a1653e.js | 1 + assets/js/79275fc0.78aec688.js | 1 + assets/js/798d67f4.d79ffc99.js | 1 - assets/js/798d67f4.ffc383cb.js | 1 + assets/js/79a22100.c6908fc7.js | 1 + assets/js/7a547ad0.42c7607e.js | 1 + assets/js/7af7958b.00de80b3.js | 1 - assets/js/7b5f680e.18f29871.js | 1 + assets/js/7b9bed65.8911723b.js | 1 + assets/js/7c05b1bc.a5cd4cbf.js | 1 + assets/js/7c2eb169.afdca311.js | 1 + assets/js/7c2f5bb0.48862df0.js | 1 - assets/js/7ccec149.9db991bc.js | 1 + assets/js/7ce2633c.47be12ca.js | 1 + assets/js/7cf52bfa.a0ea031d.js | 1 + assets/js/7dab2b4a.76a95d96.js | 1 + assets/js/7dab2b4a.e48cd809.js | 1 - assets/js/7de51c8d.5727f35c.js | 1 + assets/js/7e7703ab.d1ce8b7a.js | 1 + assets/js/805384b8.d6f09f7b.js | 1 - assets/js/813302f7.1d4f37b8.js | 1 + assets/js/81875af5.b8723dd8.js | 1 + assets/js/81d07132.804e5b20.js | 1 - assets/js/82fa5401.5d4aef44.js | 1 - assets/js/82fa5401.ce4ab917.js | 1 + assets/js/83bd1dfb.c336ddb0.js | 1 - assets/js/83bd1dfb.c924c1fb.js | 1 + assets/js/83e0a767.44ef4478.js | 1 - assets/js/8478fc2d.9e4dd0e2.js | 1 + assets/js/85517bd9.19442ff1.js | 1 + assets/js/86b813a4.e07b8bb7.js | 1 + assets/js/87d053ee.ec516cbe.js | 1 + assets/js/87f53564.6f6d5584.js | 1 + assets/js/87f53564.9fb9d9f6.js | 1 - assets/js/88e6eafe.f43723e8.js | 1 + assets/js/8c0ac720.c2f6f61f.js | 1 + assets/js/8c1bb129.a2dfc5b1.js | 1 - assets/js/8cb3e257.28165e4a.js | 1 + assets/js/8defe7f5.65782844.js | 1 + assets/js/8ec7ae24.435937a3.js | 1 - assets/js/8ec7ae24.a7905f07.js | 1 + assets/js/8ed4501f.6397cad5.js | 1 - assets/js/8f92c1e6.8fca0c4a.js | 1 + assets/js/91f1837b.9c329755.js | 1 - assets/js/9294f473.cd4d100c.js | 1 - assets/js/934bc43e.552c2fa4.js | 1 - assets/js/934bc43e.fe0701de.js | 1 + assets/js/935f2afb.a43e7355.js | 1 - assets/js/93ce8178.6917ea0a.js | 1 + assets/js/9474e170.e7ddd664.js | 1 + assets/js/94a6fc8a.335c5623.js | 1 + assets/js/94bace71.856ea198.js | 1 - assets/js/94def3e0.615025c9.js | 1 + assets/js/94e396b7.fc8d5ae1.js | 1 + assets/js/9577b207.c012e2ca.js | 1 + assets/js/968740e1.eeb4b3ac.js | 1 - assets/js/96c0c5ca.a43053ad.js | 1 + assets/js/97c639d7.05fa2960.js | 1 + assets/js/98990be4.89994155.js | 1 - assets/js/989f586f.26091f8c.js | 1 + assets/js/98bec0c5.9740af1b.js | 1 + assets/js/991f8d4c.02e5c176.js | 1 + assets/js/99233437.b698de9d.js | 1 + assets/js/999756ce.4553da89.js | 1 + assets/js/9af0878b.d6483124.js | 1 + assets/js/9b8a95cc.b14c09c4.js | 1 + assets/js/9c0ba269.a27a2e36.js | 1 - assets/js/9dd8a0d2.308fb807.js | 1 + assets/js/9dd8a0d2.a817e24b.js | 1 - assets/js/9e01cd16.ee8b9541.js | 1 + assets/js/9e2a34cf.5b84ff00.js | 1 + assets/js/9e3f3c76.1bcecaa3.js | 1 - assets/js/9e3f3c76.6c337216.js | 1 + assets/js/9e4a7547.0088e5d8.js | 1 + assets/js/9e4a7547.29bf8240.js | 1 - assets/js/9f7752b8.2d5d74e8.js | 1 + assets/js/9fdfc27e.676bf97b.js | 1 - assets/js/a14022e5.52367d83.js | 1 + assets/js/a1f68851.5f15d769.js | 1 + assets/js/a1fa3683.5aa9b40e.js | 1 - assets/js/a1fa3683.a2c8fab1.js | 1 + assets/js/a2c3b390.29639b48.js | 1 - assets/js/a314e9a5.f1fdc5d1.js | 1 + assets/js/a3814d4a.01aaa1e1.js | 1 - assets/js/a3814d4a.dbb918a8.js | 1 + assets/js/a383d2c3.d9aa8cd0.js | 1 + assets/js/a394c21d.c92e33f7.js | 1 - assets/js/a570e4e4.9f552de1.js | 1 - assets/js/a58b1ccc.6a4bb416.js | 1 + assets/js/a59d7f05.1de83237.js | 1 - assets/js/a5ac8c5f.bd83f006.js | 1 - assets/js/a63c3ee5.25515758.js | 1 + assets/js/a7456010.59bbfd0f.js | 1 + assets/js/a7bd4aaa.3d4ec037.js | 1 + assets/js/a8d83bd5.5a29693d.js | 1 + assets/js/a94703ab.840abdf9.js | 1 + assets/js/a96dee6d.521d92ac.js | 1 + assets/js/a9e53e63.deff8749.js | 1 + assets/js/ab2e5842.f7dda99d.js | 1 - assets/js/ab2f38e9.0c716254.js | 1 + ...11510.a051ca64.js => aba21aa0.aeb4cebd.js} | 2 +- assets/js/abceb8ed.e682c295.js | 1 - assets/js/ac0ebe99.f9e8d5a2.js | 1 - assets/js/ac1b1cf0.8744d311.js | 1 - assets/js/aefc0c3a.21f07426.js | 1 - assets/js/afb1371e.0b2d6f88.js | 1 + assets/js/b03cb8d5.d15c8406.js | 1 - assets/js/b03cb8d5.ef55d1b4.js | 1 + assets/js/b0d03967.c7d6d765.js | 1 + assets/js/b1612cd7.df8d30be.js | 1 + assets/js/b2160db6.b367087c.js | 1 + assets/js/b27d79ec.c2b062ed.js | 1 + assets/js/b2a1d6d9.2839ddde.js | 1 + assets/js/b34664f9.2ea029b4.js | 1 + assets/js/b40f4eed.14d26f37.js | 1 - assets/js/b4a62217.fbadc64a.js | 1 + assets/js/b4c18e0e.80ce5b16.js | 1 + assets/js/b4ec51b8.d1bf6572.js | 1 + assets/js/b52cec2f.56bef9d7.js | 1 + assets/js/b63b1a1f.37f937bc.js | 1 + assets/js/b6fa5182.d25fa34d.js | 1 + assets/js/b788ae02.3a79068e.js | 1 + assets/js/bbfe74ec.6391f3bb.js | 1 + assets/js/bcef1ffa.8f70d21d.js | 1 - assets/js/bd95ca4e.43cdb433.js | 1 + assets/js/be7e6daf.dba99496.js | 1 + assets/js/beb73144.f5326e8f.js | 1 + assets/js/bf028727.5a1c388e.js | 1 + assets/js/bf94dc2c.b94a3a5f.js | 1 + assets/js/bffc20a2.082084e8.js | 1 - assets/js/c0442aea.7e910f80.js | 1 + assets/js/c050cf1d.02981006.js | 1 + assets/js/c0d8042e.a36ed3c9.js | 1 - assets/js/c141421f.b636e4c3.js | 1 + assets/js/c1da0157.476a4c23.js | 1 + assets/js/c361505b.3c4073aa.js | 1 + assets/js/c391e67c.f308db51.js | 1 + assets/js/c3d83163.e366b926.js | 1 + assets/js/c4faeb28.5914c0f1.js | 1 + assets/js/c5cbe7ce.9563ac36.js | 1 + assets/js/c69312c2.9c40a064.js | 1 - assets/js/c6c9d087.3b2a7bbb.js | 1 + assets/js/c6f16711.39896055.js | 1 - assets/js/c7fb0ffe.05aa4f41.js | 1 - assets/js/c7fb0ffe.746ca910.js | 1 + assets/js/cd0a3e0f.423c59d5.js | 1 - assets/js/cd24e9bf.a20d0937.js | 1 - assets/js/cd4295eb.4d00ddb0.js | 1 - assets/js/cd4295eb.da02e526.js | 1 + assets/js/cdea063f.02f23362.js | 1 - assets/js/ce9f7c01.e08a7628.js | 1 + assets/js/cf9cb426.971f883e.js | 1 - assets/js/cfd8246b.9867a31b.js | 1 + assets/js/cff55af7.e0a70fa1.js | 1 + assets/js/d0063a96.282b39c1.js | 1 - assets/js/d0063a96.bb0c8a10.js | 1 + assets/js/d0a2dc9c.c033464c.js | 1 + assets/js/d0a2dc9c.ff826943.js | 1 - assets/js/d13bdcde.fb0dabad.js | 1 + assets/js/d15bf737.29dad999.js | 1 + assets/js/d3f37276.5183b139.js | 1 - assets/js/d5dd36e5.a0ae09ca.js | 1 - assets/js/d6532ee3.91b3447b.js | 1 + assets/js/d72b9e96.fd2f3608.js | 1 + assets/js/d74bb0e7.917e82f3.js | 1 + assets/js/d7c38c55.f3821852.js | 1 + assets/js/d9946c37.35ff5876.js | 1 + assets/js/d9f67a67.255eec78.js | 1 - assets/js/da389e98.fdb07932.js | 1 + assets/js/da5c5c21.5762aa12.js | 1 - assets/js/da5c5c21.942ad95c.js | 1 + assets/js/da71292b.cdea1f9a.js | 1 + assets/js/da721fe9.cf862303.js | 1 + assets/js/db366989.2a3d9fbc.js | 1 + assets/js/db691710.f4acc010.js | 1 + assets/js/db94485c.a4ab1b6d.js | 1 - assets/js/dc4d3b05.9f3a641b.js | 1 + assets/js/dc583b00.3f3c8bb6.js | 1 + assets/js/dc7901fe.ff7fbb4c.js | 1 - assets/js/dc79edcf.4ca258f8.js | 1 + assets/js/dd0dae3b.31ae8a38.js | 1 + assets/js/de246b9b.7997cff0.js | 1 + assets/js/de443fde.2fe8567b.js | 1 + assets/js/de6b82fb.412cd450.js | 1 + assets/js/deb892ed.0651c018.js | 1 - assets/js/df55d336.247395c1.js | 1 + assets/js/dfd43dc8.e6b9fc6c.js | 1 + assets/js/e02467ce.fe266eaa.js | 1 + assets/js/e05bec59.b3660929.js | 1 + assets/js/e06953e7.9439d835.js | 1 - assets/js/e19de693.87cbb1d0.js | 1 - assets/js/e25ffe8c.52d007cc.js | 1 - assets/js/e25ffe8c.c5f78782.js | 1 + assets/js/e28793d2.2561cb40.js | 1 - assets/js/e329cf1d.c835630b.js | 1 + assets/js/e5d5c0ae.045a9682.js | 1 + assets/js/e80bbda2.24239089.js | 1 + assets/js/e9289eb0.8671b602.js | 1 + assets/js/e9e6b51f.0185a494.js | 1 + assets/js/eb04481e.45f9c2bc.js | 1 - assets/js/ebba7519.dffe1492.js | 1 + assets/js/ec3413e1.d6970f16.js | 1 - assets/js/ecde905a.216a218a.js | 1 - assets/js/f0633975.36dae0c5.js | 1 + assets/js/f20b9f24.ba134031.js | 1 - assets/js/f219100a.4b513d79.js | 1 - assets/js/f2953143.35918498.js | 1 + assets/js/f2aee5d1.77d7f177.js | 1 + assets/js/f2d0b182.9d7544a5.js | 1 + assets/js/f2d0b182.a7cf9b40.js | 1 - assets/js/f33aa945.84bd15d6.js | 1 + assets/js/f33aa945.f0467635.js | 1 - assets/js/f3847fe3.7f68174a.js | 1 + assets/js/f3b1218a.02e5a40b.js | 1 + assets/js/f3bc0fbd.1a5d3afd.js | 1 - assets/js/f42f2945.b8bc33ac.js | 1 - assets/js/f42f2945.d24af2e1.js | 1 + assets/js/f462a191.09e56eb4.js | 1 + assets/js/f4795e20.14189363.js | 1 - assets/js/f4d80e61.7a720b83.js | 1 + assets/js/f4da79e9.206e8e2c.js | 1 + assets/js/f644150e.e9552f73.js | 1 + assets/js/f747c071.174a8247.js | 1 + assets/js/f747c071.f71bc630.js | 1 - assets/js/f872beed.e789275c.js | 1 + assets/js/f8a31429.e3874f1b.js | 1 + assets/js/fb8d9da6.265416dc.js | 1 + assets/js/fbe0eb09.5a05ec60.js | 1 + assets/js/fc5d92fc.e96db0c6.js | 1 + assets/js/fc65f0be.0c11cfca.js | 1 + assets/js/fc65f0be.a22dfaa4.js | 1 - assets/js/fc738ad7.776d1185.js | 1 + assets/js/fcb7ea42.aa9f626d.js | 1 + assets/js/fe1eb9bc.1e1eaad7.js | 1 - assets/js/fe1eb9bc.c394522c.js | 1 + assets/js/fe637ad5.4859c512.js | 1 + assets/js/ff164e89.408e18cf.js | 1 + assets/js/ff313a9b.2edb2b6a.js | 1 + assets/js/main.113fcdc4.js | 2 - assets/js/main.e30e3004.js | 2 + ...CENSE.txt => main.e30e3004.js.LICENSE.txt} | 51 +- assets/js/runtime~main.23086692.js | 1 - assets/js/runtime~main.f8691405.js | 1 + .../controller-lifecycle/index.html | 81 +- basic-features/data-fetching/index.html | 25 +- basic-features/dictionary/index.html | 46 +- basic-features/error-handling/index.html | 23 +- basic-features/events/index.html | 146 ++- basic-features/extensions/index.html | 68 +- .../handling-scripts-and-styles/index.html | 17 +- basic-features/object-container/index.html | 121 ++- basic-features/page-manager/index.html | 64 +- basic-features/page-state/index.html | 54 +- basic-features/rendering-process/index.html | 83 +- .../routing/async-routing/index.html | 33 +- .../routing/dynamic-routes/index.html | 41 +- .../routing/introduction/index.html | 137 ++- basic-features/routing/middlewares/index.html | 62 +- .../seo-and-meta-manager/index.html | 68 +- basic-features/testing/index.html | 49 +- basic-features/typescript/index.html | 56 +- .../views-and-components/index.html | 74 +- cli/additional-features/index.html | 54 +- cli/advanced-features/index.html | 20 +- cli/cli-plugins-api/index.html | 55 +- cli/compiler-features/index.html | 71 +- cli/ima-config-js/index.html | 144 ++- cli/index.html | 128 ++- cli/plugins/analyze-plugin/index.html | 50 +- cli/plugins/less-constants-plugin/index.html | 57 +- cli/plugins/scramble-css-plugin/index.html | 46 +- contributing/how-to-contribute/index.html | 45 +- devtools/devtools-introduction/index.html | 54 +- devtools/devtools-options/index.html | 114 ++- devtools/devtools-ui/index.html | 90 +- index.html | 13 +- introduction/configuration/index.html | 79 +- introduction/getting-started/index.html | 105 +- migration/migration-0.14.0/index.html | 36 +- migration/migration-0.15.0/index.html | 83 +- migration/migration-0.16.0/index.html | 69 +- migration/migration-17.0.0/index.html | 56 +- migration/migration-18.0.0/index.html | 135 ++- migration/migration-19.0.0/index.html | 208 +++- plugins/available-plugins/index.html | 43 +- plugins/plugin-api/index.html | 52 +- search/index.html | 13 +- sitemap.xml | 2 +- tutorial/adding-some-state/index.html | 191 ++-- tutorial/fetching-data/index.html | 155 ++- tutorial/final-polish/index.html | 337 +++++-- tutorial/introduction/index.html | 83 +- tutorial/static-view/index.html | 140 ++- tutorial/writing-posts/index.html | 154 ++- 961 files changed, 31606 insertions(+), 4928 deletions(-) create mode 100644 api/@ima/cli/functions/compileLanguages/index.html create mode 100644 api/@ima/cli/functions/createCacheKey/index.html create mode 100644 api/@ima/cli/functions/createDevServerConfig/index.html create mode 100644 api/@ima/cli/functions/createWebpackConfig/index.html create mode 100644 api/@ima/cli/functions/findRules/index.html create mode 100644 api/@ima/cli/functions/getCurrentCoreJsVersion/index.html create mode 100644 api/@ima/cli/functions/getLanguageEntryPoints/index.html create mode 100644 api/@ima/cli/functions/resolveEnvironment/index.html create mode 100644 api/@ima/cli/functions/resolveImaConfig/index.html create mode 100644 api/@ima/cli/functions/runImaPluginsHook/index.html create mode 100644 api/@ima/cli/globals/index.html create mode 100644 api/@ima/cli/index.html create mode 100644 api/@ima/cli/interfaces/ImaCliArgs/index.html create mode 100644 api/@ima/cli/interfaces/ImaCliPlugin/index.html create mode 100644 api/@ima/cli/interfaces/ImaConfigurationContext/index.html create mode 100644 api/@ima/cli/type-aliases/ImaCliCommand/index.html create mode 100644 api/@ima/cli/type-aliases/ImaConfig/index.html create mode 100644 api/@ima/cli/variables/IMA_CONF_FILENAME/index.html create mode 100644 api/@ima/core/classes/AbstractController/index.html create mode 100644 api/@ima/core/classes/AbstractExecution/index.html create mode 100644 api/@ima/core/classes/AbstractExtension/index.html create mode 100644 api/@ima/core/classes/AbstractPageManager/index.html create mode 100644 api/@ima/core/classes/AbstractRoute/index.html create mode 100644 api/@ima/core/classes/AbstractRouter/index.html create mode 100644 api/@ima/core/classes/Bootstrap/index.html create mode 100644 api/@ima/core/classes/Cache/index.html create mode 100644 api/@ima/core/classes/CacheEntry/index.html create mode 100644 api/@ima/core/classes/CacheFactory/index.html create mode 100644 api/@ima/core/classes/CacheImpl/index.html create mode 100644 api/@ima/core/classes/CancelError/index.html create mode 100644 api/@ima/core/classes/ClientPageManager/index.html create mode 100644 api/@ima/core/classes/ClientRouter/index.html create mode 100644 api/@ima/core/classes/ClientWindow/index.html create mode 100644 api/@ima/core/classes/ComponentUtils/index.html create mode 100644 api/@ima/core/classes/Controller/index.html create mode 100644 api/@ima/core/classes/ControllerDecorator/index.html create mode 100644 api/@ima/core/classes/CookieStorage/index.html create mode 100644 api/@ima/core/classes/Dictionary/index.html create mode 100644 api/@ima/core/classes/Dispatcher/index.html create mode 100644 api/@ima/core/classes/DispatcherImpl/index.html create mode 100644 api/@ima/core/classes/DynamicRoute/index.html create mode 100644 api/@ima/core/classes/Entry/index.html create mode 100644 api/@ima/core/classes/Error/index.html create mode 100644 api/@ima/core/classes/EventBus/index.html create mode 100644 api/@ima/core/classes/EventBusImpl/index.html create mode 100644 api/@ima/core/classes/Execution/index.html create mode 100644 api/@ima/core/classes/Extension/index.html create mode 100644 api/@ima/core/classes/GenericError/index.html create mode 100644 api/@ima/core/classes/HttpAgent/index.html create mode 100644 api/@ima/core/classes/HttpAgentImpl/index.html create mode 100644 api/@ima/core/classes/HttpProxy/index.html create mode 100644 api/@ima/core/classes/MapStorage/index.html create mode 100644 api/@ima/core/classes/MessageFormatDictionary/index.html create mode 100644 api/@ima/core/classes/MetaManager/index.html create mode 100644 api/@ima/core/classes/MetaManagerImpl/index.html create mode 100644 api/@ima/core/classes/Namespace/index.html create mode 100644 api/@ima/core/classes/ObjectContainer/index.html create mode 100644 api/@ima/core/classes/Observable/index.html create mode 100644 api/@ima/core/classes/ObservableImpl/index.html create mode 100644 api/@ima/core/classes/PageFactory/index.html create mode 100644 api/@ima/core/classes/PageHandler/index.html create mode 100644 api/@ima/core/classes/PageHandlerRegistry/index.html create mode 100644 api/@ima/core/classes/PageManager/index.html create mode 100644 api/@ima/core/classes/PageMetaHandler/index.html create mode 100644 api/@ima/core/classes/PageNavigationHandler/index.html create mode 100644 api/@ima/core/classes/PageRenderer/index.html create mode 100644 api/@ima/core/classes/PageStateManager/index.html create mode 100644 api/@ima/core/classes/PageStateManagerDecorator/index.html create mode 100644 api/@ima/core/classes/PageStateManagerImpl/index.html create mode 100644 api/@ima/core/classes/PluginLoader/index.html create mode 100644 api/@ima/core/classes/Request/index.html create mode 100644 api/@ima/core/classes/Response/index.html create mode 100644 api/@ima/core/classes/RouteFactory/index.html create mode 100644 api/@ima/core/classes/Router/index.html create mode 100644 api/@ima/core/classes/SerialBatch/index.html create mode 100644 api/@ima/core/classes/ServerPageManager/index.html create mode 100644 api/@ima/core/classes/ServerRouter/index.html create mode 100644 api/@ima/core/classes/ServerWindow/index.html create mode 100644 api/@ima/core/classes/SessionMapStorage/index.html create mode 100644 api/@ima/core/classes/SessionStorage/index.html create mode 100644 api/@ima/core/classes/StaticRoute/index.html create mode 100644 api/@ima/core/classes/Storage/index.html create mode 100644 api/@ima/core/classes/UrlTransformer/index.html create mode 100644 api/@ima/core/classes/WeakMapStorage/index.html create mode 100644 api/@ima/core/classes/Window/index.html create mode 100644 api/@ima/core/enumerations/ActionTypes/index.html create mode 100644 api/@ima/core/enumerations/BindingState/index.html create mode 100644 api/@ima/core/enumerations/HttpStatusCode/index.html create mode 100644 api/@ima/core/enumerations/RendererEvents/index.html create mode 100644 api/@ima/core/enumerations/RendererTypes/index.html create mode 100644 api/@ima/core/enumerations/RouteNames/index.html create mode 100644 api/@ima/core/enumerations/RouterEvents/index.html create mode 100644 api/@ima/core/enumerations/StateEvents/index.html create mode 100644 api/@ima/core/functions/bootClientApp/index.html create mode 100644 api/@ima/core/functions/createImaApp/index.html create mode 100644 api/@ima/core/functions/getClientBootConfig/index.html create mode 100644 api/@ima/core/functions/getInitialImaConfigFunctions/index.html create mode 100644 api/@ima/core/functions/getInitialPluginConfig/index.html create mode 100644 api/@ima/core/functions/getNamespace/index.html create mode 100644 api/@ima/core/functions/onLoad/index.html create mode 100644 api/@ima/core/functions/reviveClientApp/index.html create mode 100644 api/@ima/core/functions/routeClientApp/index.html create mode 100644 api/@ima/core/globals/index.html create mode 100644 api/@ima/core/index.html create mode 100644 api/@ima/core/interfaces/AppEnvironment/index.html create mode 100644 api/@ima/core/interfaces/BootConfig/index.html create mode 100644 api/@ima/core/interfaces/BootServices/index.html create mode 100644 api/@ima/core/interfaces/DictionaryMap/index.html create mode 100644 api/@ima/core/interfaces/DispatcherEventsMap/index.html create mode 100644 api/@ima/core/interfaces/Environment/index.html create mode 100644 api/@ima/core/interfaces/GlobalImaObject/index.html create mode 100644 api/@ima/core/interfaces/HttpAgentRequestOptions/index.html create mode 100644 api/@ima/core/interfaces/ImaRequestInit/index.html create mode 100644 api/@ima/core/interfaces/InitAppConfig/index.html create mode 100644 api/@ima/core/interfaces/InitImaConfig/index.html create mode 100644 api/@ima/core/interfaces/InitPluginConfig/index.html create mode 100644 api/@ima/core/interfaces/Manifest/index.html create mode 100644 api/@ima/core/interfaces/ManifestAsset/index.html create mode 100644 api/@ima/core/interfaces/OCAliasMap/index.html create mode 100644 api/@ima/core/interfaces/PageAction/index.html create mode 100644 api/@ima/core/interfaces/PageRendererSettings/index.html create mode 100644 api/@ima/core/interfaces/Resources/index.html create mode 100644 api/@ima/core/interfaces/RouteAction/index.html create mode 100644 api/@ima/core/interfaces/RouteFactoryOptions/index.html create mode 100644 api/@ima/core/interfaces/RouteLocals/index.html create mode 100644 api/@ima/core/interfaces/RouteOptions/index.html create mode 100644 api/@ima/core/interfaces/Settings/index.html create mode 100644 api/@ima/core/interfaces/Utils/index.html create mode 100644 api/@ima/core/interfaces/WindowCustomEventsMap/index.html create mode 100644 api/@ima/core/type-aliases/AnyParameters/index.html create mode 100644 api/@ima/core/type-aliases/AppSettings/index.html create mode 100644 api/@ima/core/type-aliases/AsyncRouteController/index.html create mode 100644 api/@ima/core/type-aliases/AsyncRouteView/index.html create mode 100644 api/@ima/core/type-aliases/BootSettings/index.html create mode 100644 api/@ima/core/type-aliases/Cookie/index.html create mode 100644 api/@ima/core/type-aliases/CookieOptions/index.html create mode 100644 api/@ima/core/type-aliases/CookieTransformFunction/index.html create mode 100644 api/@ima/core/type-aliases/DecoratedOCAliasMap/index.html create mode 100644 api/@ima/core/type-aliases/Dependencies/index.html create mode 100644 api/@ima/core/type-aliases/Dependency/index.html create mode 100644 api/@ima/core/type-aliases/DictionaryConfig/index.html create mode 100644 api/@ima/core/type-aliases/DictionaryData/index.html create mode 100644 api/@ima/core/type-aliases/DispatcherListener/index.html create mode 100644 api/@ima/core/type-aliases/EntryOptions/index.html create mode 100644 api/@ima/core/type-aliases/EventBusEventHandler/index.html create mode 100644 api/@ima/core/type-aliases/EventBusListener/index.html create mode 100644 api/@ima/core/type-aliases/EventBusOptions/index.html create mode 100644 api/@ima/core/type-aliases/ExecutionJob/index.html create mode 100644 api/@ima/core/type-aliases/GenericErrorParams/index.html create mode 100644 api/@ima/core/type-aliases/HttpAgentResponse/index.html create mode 100644 api/@ima/core/type-aliases/HttpProxyErrorParams/index.html create mode 100644 api/@ima/core/type-aliases/HttpProxyRequestParams/index.html create mode 100644 api/@ima/core/type-aliases/InitBindFunction/index.html create mode 100644 api/@ima/core/type-aliases/InitRoutesFunction/index.html create mode 100644 api/@ima/core/type-aliases/InitServicesFunction/index.html create mode 100644 api/@ima/core/type-aliases/InitSettingsFunction/index.html create mode 100644 api/@ima/core/type-aliases/LoadedResources/index.html create mode 100644 api/@ima/core/type-aliases/LocalizationFunction/index.html create mode 100644 api/@ima/core/type-aliases/ManageArgs/index.html create mode 100644 api/@ima/core/type-aliases/ManagedPage/index.html create mode 100644 api/@ima/core/type-aliases/MetaAttributes/index.html create mode 100644 api/@ima/core/type-aliases/MetaManagerRecord/index.html create mode 100644 api/@ima/core/type-aliases/MetaManagerRecordKeys/index.html create mode 100644 api/@ima/core/type-aliases/MetaValue/index.html create mode 100644 api/@ima/core/type-aliases/NativeListener/index.html create mode 100644 api/@ima/core/type-aliases/OCInjectable/index.html create mode 100644 api/@ima/core/type-aliases/OCInstance/index.html create mode 100644 api/@ima/core/type-aliases/OCInstanceConstrain/index.html create mode 100644 api/@ima/core/type-aliases/ObjectParameters/index.html create mode 100644 api/@ima/core/type-aliases/PageData/index.html create mode 100644 api/@ima/core/type-aliases/PageState/index.html create mode 100644 api/@ima/core/type-aliases/PluginInitBindFunction/index.html create mode 100644 api/@ima/core/type-aliases/PluginInitServicesFunction/index.html create mode 100644 api/@ima/core/type-aliases/PluginInitSettingsFunction/index.html create mode 100644 api/@ima/core/type-aliases/Resource/index.html create mode 100644 api/@ima/core/type-aliases/RouteController/index.html create mode 100644 api/@ima/core/type-aliases/RouteParams/index.html create mode 100644 api/@ima/core/type-aliases/RoutePathExpression/index.html create mode 100644 api/@ima/core/type-aliases/RouteView/index.html create mode 100644 api/@ima/core/type-aliases/RouterMiddleware/index.html create mode 100644 api/@ima/core/type-aliases/SerializedCacheEntry/index.html create mode 100644 api/@ima/core/type-aliases/SerializedData/index.html create mode 100644 api/@ima/core/type-aliases/StringParameters/index.html create mode 100644 api/@ima/core/type-aliases/UnknownParameters/index.html create mode 100644 api/@ima/core/type-aliases/UnknownPromiseParameters/index.html create mode 100644 api/@ima/core/type-aliases/WindowEventTargets/index.html create mode 100644 api/@ima/core/type-aliases/WindowEventTargetsMap/index.html create mode 100644 api/@ima/core/variables/ns/index.html create mode 100644 api/@ima/core/variables/pluginLoader/index.html create mode 100644 api/@ima/dev-utils/classes/Logger/index.html create mode 100644 api/@ima/dev-utils/functions/createLogger/index.html create mode 100644 api/@ima/dev-utils/functions/createSourceFragment/index.html create mode 100644 api/@ima/dev-utils/functions/extractSourceMappingUrl/index.html create mode 100644 api/@ima/dev-utils/functions/formatError/index.html create mode 100644 api/@ima/dev-utils/functions/getSource/index.html create mode 100644 api/@ima/dev-utils/functions/parseCompileError/index.html create mode 100644 api/@ima/dev-utils/functions/parseError/index.html create mode 100644 api/@ima/dev-utils/functions/printTime/index.html create mode 100644 api/@ima/dev-utils/functions/resolveErrorType/index.html create mode 100644 api/@ima/dev-utils/functions/time/index.html create mode 100644 api/@ima/dev-utils/globals/index.html create mode 100644 api/@ima/dev-utils/index.html create mode 100644 api/@ima/dev-utils/interfaces/CompileError/index.html create mode 100644 api/@ima/dev-utils/interfaces/FragmentLine/index.html create mode 100644 api/@ima/dev-utils/interfaces/LoggerOptions/index.html create mode 100644 api/@ima/dev-utils/type-aliases/ParsedErrorData/index.html create mode 100644 api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE/index.html create mode 100644 api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL/index.html create mode 100644 api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME/index.html create mode 100644 api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX/index.html create mode 100644 api/@ima/dev-utils/variables/logger/index.html create mode 100644 api/@ima/plugin-cli/functions/preprocessTransformer/index.html create mode 100644 api/@ima/plugin-cli/functions/swcTransformer/index.html create mode 100644 api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin/index.html create mode 100644 api/@ima/plugin-cli/globals/index.html create mode 100644 api/@ima/plugin-cli/index.html create mode 100644 api/@ima/plugin-cli/interfaces/Context/index.html create mode 100644 api/@ima/plugin-cli/interfaces/ImaPluginConfig/index.html create mode 100644 api/@ima/plugin-cli/interfaces/PipeContext/index.html create mode 100644 api/@ima/plugin-cli/interfaces/Source/index.html create mode 100644 api/@ima/plugin-cli/type-aliases/Command/index.html create mode 100644 api/@ima/plugin-cli/type-aliases/Plugin/index.html create mode 100644 api/@ima/plugin-cli/type-aliases/Transformer/index.html create mode 100644 api/@ima/plugin-cli/type-aliases/TransformerOptions/index.html create mode 100644 api/@ima/plugin-cli/variables/clientServerConfig/index.html create mode 100644 api/@ima/plugin-cli/variables/defaultConfig/index.html create mode 100644 api/@ima/plugin-cli/variables/nodeConfig/index.html create mode 100644 api/@ima/react-page-renderer/classes/AbstractComponent/index.html create mode 100644 api/@ima/react-page-renderer/classes/AbstractPureComponent/index.html create mode 100644 api/@ima/react-page-renderer/classes/BlankManagedRootView/index.html create mode 100644 api/@ima/react-page-renderer/classes/ErrorBoundary/index.html create mode 100644 api/@ima/react-page-renderer/classes/PageRendererFactory/index.html create mode 100644 api/@ima/react-page-renderer/classes/ServerPageRenderer/index.html create mode 100644 api/@ima/react-page-renderer/classes/ViewAdapter/index.html create mode 100644 api/@ima/react-page-renderer/functions/cssClasses/index.html create mode 100644 api/@ima/react-page-renderer/functions/defaultCssClasses/index.html create mode 100644 api/@ima/react-page-renderer/functions/fire/index.html create mode 100644 api/@ima/react-page-renderer/functions/getUtils/index.html create mode 100644 api/@ima/react-page-renderer/functions/link/index.html create mode 100644 api/@ima/react-page-renderer/functions/listen/index.html create mode 100644 api/@ima/react-page-renderer/functions/localize/index.html create mode 100644 api/@ima/react-page-renderer/functions/unlisten/index.html create mode 100644 api/@ima/react-page-renderer/functions/useComponent/index.html create mode 100644 api/@ima/react-page-renderer/functions/useComponentUtils/index.html create mode 100644 api/@ima/react-page-renderer/functions/useCssClasses/index.html create mode 100644 api/@ima/react-page-renderer/functions/useDispatcher/index.html create mode 100644 api/@ima/react-page-renderer/functions/useEventBus/index.html create mode 100644 api/@ima/react-page-renderer/functions/useLink/index.html create mode 100644 api/@ima/react-page-renderer/functions/useLocalize/index.html create mode 100644 api/@ima/react-page-renderer/functions/useOnce/index.html create mode 100644 api/@ima/react-page-renderer/functions/usePageContext/index.html create mode 100644 api/@ima/react-page-renderer/functions/useSettings/index.html create mode 100644 api/@ima/react-page-renderer/functions/useWindowEvent/index.html create mode 100644 api/@ima/react-page-renderer/globals/index.html create mode 100644 api/@ima/react-page-renderer/index.html create mode 100644 api/@ima/react-page-renderer/interfaces/PageContextType/index.html create mode 100644 api/@ima/react-page-renderer/interfaces/ViewAdapterProps/index.html create mode 100644 api/@ima/react-page-renderer/interfaces/useComponentType/index.html create mode 100644 api/@ima/react-page-renderer/interfaces/useDispatcherType/index.html create mode 100644 api/@ima/react-page-renderer/interfaces/useEventBusType/index.html create mode 100644 api/@ima/react-page-renderer/variables/PageContext/index.html delete mode 100644 api/classes/ima_core.AbstractController/index.html delete mode 100644 api/classes/ima_core.AbstractExecution/index.html delete mode 100644 api/classes/ima_core.AbstractExtension/index.html delete mode 100644 api/classes/ima_core.AbstractPageManager/index.html delete mode 100644 api/classes/ima_core.AbstractRoute/index.html delete mode 100644 api/classes/ima_core.AbstractRouter/index.html delete mode 100644 api/classes/ima_core.Bootstrap/index.html delete mode 100644 api/classes/ima_core.Cache/index.html delete mode 100644 api/classes/ima_core.CacheEntry/index.html delete mode 100644 api/classes/ima_core.CacheFactory/index.html delete mode 100644 api/classes/ima_core.CacheImpl/index.html delete mode 100644 api/classes/ima_core.CancelError/index.html delete mode 100644 api/classes/ima_core.ClientPageManager/index.html delete mode 100644 api/classes/ima_core.ClientRouter/index.html delete mode 100644 api/classes/ima_core.ClientWindow/index.html delete mode 100644 api/classes/ima_core.ComponentUtils/index.html delete mode 100644 api/classes/ima_core.Controller/index.html delete mode 100644 api/classes/ima_core.ControllerDecorator/index.html delete mode 100644 api/classes/ima_core.CookieStorage/index.html delete mode 100644 api/classes/ima_core.Dictionary/index.html delete mode 100644 api/classes/ima_core.Dispatcher/index.html delete mode 100644 api/classes/ima_core.DispatcherImpl/index.html delete mode 100644 api/classes/ima_core.DynamicRoute/index.html delete mode 100644 api/classes/ima_core.Entry/index.html delete mode 100644 api/classes/ima_core.Error/index.html delete mode 100644 api/classes/ima_core.EventBus/index.html delete mode 100644 api/classes/ima_core.EventBusImpl/index.html delete mode 100644 api/classes/ima_core.Execution/index.html delete mode 100644 api/classes/ima_core.Extension/index.html delete mode 100644 api/classes/ima_core.GenericError/index.html delete mode 100644 api/classes/ima_core.HttpAgent/index.html delete mode 100644 api/classes/ima_core.HttpAgentImpl/index.html delete mode 100644 api/classes/ima_core.HttpProxy/index.html delete mode 100644 api/classes/ima_core.MapStorage/index.html delete mode 100644 api/classes/ima_core.MessageFormatDictionary/index.html delete mode 100644 api/classes/ima_core.MetaManager/index.html delete mode 100644 api/classes/ima_core.MetaManagerImpl/index.html delete mode 100644 api/classes/ima_core.Namespace/index.html delete mode 100644 api/classes/ima_core.ObjectContainer/index.html delete mode 100644 api/classes/ima_core.Observable/index.html delete mode 100644 api/classes/ima_core.ObservableImpl/index.html delete mode 100644 api/classes/ima_core.PageFactory/index.html delete mode 100644 api/classes/ima_core.PageHandler/index.html delete mode 100644 api/classes/ima_core.PageHandlerRegistry/index.html delete mode 100644 api/classes/ima_core.PageManager/index.html delete mode 100644 api/classes/ima_core.PageMetaHandler/index.html delete mode 100644 api/classes/ima_core.PageNavigationHandler/index.html delete mode 100644 api/classes/ima_core.PageRenderer/index.html delete mode 100644 api/classes/ima_core.PageStateManager/index.html delete mode 100644 api/classes/ima_core.PageStateManagerDecorator/index.html delete mode 100644 api/classes/ima_core.PageStateManagerImpl/index.html delete mode 100644 api/classes/ima_core.PluginLoader/index.html delete mode 100644 api/classes/ima_core.Request/index.html delete mode 100644 api/classes/ima_core.Response/index.html delete mode 100644 api/classes/ima_core.RouteFactory/index.html delete mode 100644 api/classes/ima_core.Router/index.html delete mode 100644 api/classes/ima_core.SerialBatch/index.html delete mode 100644 api/classes/ima_core.ServerPageManager/index.html delete mode 100644 api/classes/ima_core.ServerRouter/index.html delete mode 100644 api/classes/ima_core.ServerWindow/index.html delete mode 100644 api/classes/ima_core.SessionMapStorage/index.html delete mode 100644 api/classes/ima_core.SessionStorage/index.html delete mode 100644 api/classes/ima_core.StaticRoute/index.html delete mode 100644 api/classes/ima_core.Storage/index.html delete mode 100644 api/classes/ima_core.UrlTransformer/index.html delete mode 100644 api/classes/ima_core.WeakMapStorage/index.html delete mode 100644 api/classes/ima_core.Window/index.html delete mode 100644 api/classes/ima_dev_utils.Logger/index.html delete mode 100644 api/classes/ima_react_page_renderer.AbstractComponent/index.html delete mode 100644 api/classes/ima_react_page_renderer.AbstractPureComponent/index.html delete mode 100644 api/classes/ima_react_page_renderer.BlankManagedRootView/index.html delete mode 100644 api/classes/ima_react_page_renderer.ErrorBoundary/index.html delete mode 100644 api/classes/ima_react_page_renderer.PageRendererFactory/index.html delete mode 100644 api/classes/ima_react_page_renderer.ServerPageRenderer/index.html delete mode 100644 api/classes/ima_react_page_renderer.ViewAdapter/index.html delete mode 100644 api/enums/ima_core.ActionTypes/index.html delete mode 100644 api/enums/ima_core.BindingState/index.html delete mode 100644 api/enums/ima_core.HttpStatusCode/index.html delete mode 100644 api/enums/ima_core.RendererEvents/index.html delete mode 100644 api/enums/ima_core.RendererTypes/index.html delete mode 100644 api/enums/ima_core.RouteNames/index.html delete mode 100644 api/enums/ima_core.RouterEvents/index.html delete mode 100644 api/enums/ima_core.StateEvents/index.html delete mode 100644 api/interfaces/ima_cli.ImaCliArgs/index.html delete mode 100644 api/interfaces/ima_cli.ImaCliPlugin/index.html delete mode 100644 api/interfaces/ima_cli.ImaConfigurationContext/index.html delete mode 100644 api/interfaces/ima_core.AppEnvironment/index.html delete mode 100644 api/interfaces/ima_core.BootConfig/index.html delete mode 100644 api/interfaces/ima_core.BootServices/index.html delete mode 100644 api/interfaces/ima_core.DictionaryMap/index.html delete mode 100644 api/interfaces/ima_core.DispatcherEventsMap/index.html delete mode 100644 api/interfaces/ima_core.Environment/index.html delete mode 100644 api/interfaces/ima_core.GlobalImaObject/index.html delete mode 100644 api/interfaces/ima_core.HttpAgentRequestOptions/index.html delete mode 100644 api/interfaces/ima_core.ImaRequestInit/index.html delete mode 100644 api/interfaces/ima_core.InitAppConfig/index.html delete mode 100644 api/interfaces/ima_core.InitImaConfig/index.html delete mode 100644 api/interfaces/ima_core.InitPluginConfig/index.html delete mode 100644 api/interfaces/ima_core.Manifest/index.html delete mode 100644 api/interfaces/ima_core.ManifestAsset/index.html delete mode 100644 api/interfaces/ima_core.OCAliasMap/index.html delete mode 100644 api/interfaces/ima_core.PageAction/index.html delete mode 100644 api/interfaces/ima_core.PageRendererSettings/index.html delete mode 100644 api/interfaces/ima_core.Resources/index.html delete mode 100644 api/interfaces/ima_core.RouteAction/index.html delete mode 100644 api/interfaces/ima_core.RouteFactoryOptions/index.html delete mode 100644 api/interfaces/ima_core.RouteLocals/index.html delete mode 100644 api/interfaces/ima_core.RouteOptions/index.html delete mode 100644 api/interfaces/ima_core.Settings/index.html delete mode 100644 api/interfaces/ima_core.Utils/index.html delete mode 100644 api/interfaces/ima_core.WindowCustomEventsMap/index.html delete mode 100644 api/interfaces/ima_dev_utils.CompileError/index.html delete mode 100644 api/interfaces/ima_dev_utils.FragmentLine/index.html delete mode 100644 api/interfaces/ima_dev_utils.LoggerOptions/index.html delete mode 100644 api/interfaces/ima_plugin_cli.Context/index.html delete mode 100644 api/interfaces/ima_plugin_cli.ImaPluginConfig/index.html delete mode 100644 api/interfaces/ima_plugin_cli.PipeContext/index.html delete mode 100644 api/interfaces/ima_plugin_cli.Source/index.html delete mode 100644 api/interfaces/ima_react_page_renderer.PageContextType/index.html delete mode 100644 api/interfaces/ima_react_page_renderer.ViewAdapterProps/index.html delete mode 100644 api/interfaces/ima_react_page_renderer.useComponentType/index.html delete mode 100644 api/interfaces/ima_react_page_renderer.useDispatcherType/index.html delete mode 100644 api/interfaces/ima_react_page_renderer.useEventBusType/index.html delete mode 100644 api/modules/ima_cli/index.html delete mode 100644 api/modules/ima_core/index.html delete mode 100644 api/modules/ima_dev_utils/index.html delete mode 100644 api/modules/ima_plugin_cli/index.html delete mode 100644 api/modules/ima_react_page_renderer/index.html delete mode 100644 assets/css/styles.4b05cbbd.css create mode 100644 assets/css/styles.54bc1051.css create mode 100644 assets/js/0095d48c.00db20ff.js create mode 100644 assets/js/00b0df35.1864ea16.js delete mode 100644 assets/js/01fc3ad9.786220c5.js create mode 100644 assets/js/023579e4.529d873e.js create mode 100644 assets/js/0406843b.d18eb636.js create mode 100644 assets/js/0436c729.91678a91.js delete mode 100644 assets/js/046a2c8d.176dcfc7.js create mode 100644 assets/js/046a2c8d.79fba3c8.js create mode 100644 assets/js/050b426e.cb234e4a.js create mode 100644 assets/js/054b3444.fab9a701.js create mode 100644 assets/js/05c167b5.078b5126.js create mode 100644 assets/js/06f7bddd.b62ef7a3.js create mode 100644 assets/js/0735edb8.18f9aa8b.js delete mode 100644 assets/js/087d9a97.926b3865.js create mode 100644 assets/js/08dd9469.ad883c5d.js delete mode 100644 assets/js/0915269d.42845665.js delete mode 100644 assets/js/094a494b.649159bc.js create mode 100644 assets/js/0a435bfc.38c9b91a.js delete mode 100644 assets/js/0b304565.382244c9.js delete mode 100644 assets/js/0b497735.5f133538.js create mode 100644 assets/js/0be7a9d3.83b65846.js create mode 100644 assets/js/0c33a80b.3a5979c7.js create mode 100644 assets/js/0d30e104.0ee666d4.js create mode 100644 assets/js/0d60f290.e758c00a.js create mode 100644 assets/js/0e0c957d.373e12ca.js delete mode 100644 assets/js/0e14dc68.705ab4f1.js create mode 100644 assets/js/0e4d1180.fe87e114.js delete mode 100644 assets/js/0f7684f2.1ed959d2.js delete mode 100644 assets/js/106127c8.e1e0481c.js delete mode 100644 assets/js/10617864.fc13a992.js create mode 100644 assets/js/1074.86f91343.js create mode 100644 assets/js/109df5a2.504590c0.js delete mode 100644 assets/js/10a88b42.f0151b58.js create mode 100644 assets/js/10eac14e.1065ddd4.js delete mode 100644 assets/js/10f85a35.943e5683.js delete mode 100644 assets/js/12a940f3.38a2b7eb.js delete mode 100644 assets/js/13512aaf.6e0be524.js delete mode 100644 assets/js/1352a5d9.7e540209.js create mode 100644 assets/js/1352a5d9.aea11142.js create mode 100644 assets/js/14d23109.6b50b8ba.js delete mode 100644 assets/js/151b6e84.7ce302ed.js delete mode 100644 assets/js/153c616c.16d6a061.js create mode 100644 assets/js/162a65f7.756089b2.js delete mode 100644 assets/js/162a65f7.96551b59.js delete mode 100644 assets/js/16feba69.92465fe1.js delete mode 100644 assets/js/173fd68b.5706c0c2.js delete mode 100644 assets/js/1774.ac8a7eec.js create mode 100644 assets/js/17896441.104652ac.js delete mode 100644 assets/js/17896441.cac09774.js create mode 100644 assets/js/17b7345f.b6852b50.js delete mode 100644 assets/js/18ba1c5e.dcff89ed.js delete mode 100644 assets/js/192c90c3.b0a2dbdc.js create mode 100644 assets/js/198995d1.3168ed08.js create mode 100644 assets/js/1a0a7d21.579c892b.js create mode 100644 assets/js/1a187b39.50e0f1d6.js delete mode 100644 assets/js/1a4e3797.13cca538.js delete mode 100644 assets/js/1a4e3797.13cca538.js.LICENSE.txt create mode 100644 assets/js/1a4e3797.215a22b7.js delete mode 100644 assets/js/1ae6f9c3.6565ae73.js delete mode 100644 assets/js/1ae9d490.fb29f575.js create mode 100644 assets/js/1af54293.2ab8263f.js delete mode 100644 assets/js/1afd1704.ddede8b6.js create mode 100644 assets/js/1b1b4238.017dbb7f.js create mode 100644 assets/js/1b8d9881.7110193e.js create mode 100644 assets/js/1ba2ef78.9adce384.js delete mode 100644 assets/js/1ba2ef78.e6659834.js delete mode 100644 assets/js/1bd618df.76955ff1.js create mode 100644 assets/js/1bdefe9f.861ed04e.js delete mode 100644 assets/js/1be78505.1c7baf05.js delete mode 100644 assets/js/1d150b43.2d361014.js create mode 100644 assets/js/1d236428.54bf61d0.js create mode 100644 assets/js/1e67d591.303e74ba.js create mode 100644 assets/js/1e7da5b4.36629560.js create mode 100644 assets/js/1f21f457.78b8a72f.js create mode 100644 assets/js/1f47704f.31645bd9.js create mode 100644 assets/js/1f992b54.80079b4b.js delete mode 100644 assets/js/201713f2.09bfa377.js create mode 100644 assets/js/201713f2.8fe8aa39.js rename assets/js/{942.f88e018c.js => 205.61f3d2ad.js} (99%) delete mode 100644 assets/js/212e3b5d.dd1ae512.js delete mode 100644 assets/js/214956d8.c2b987c7.js create mode 100644 assets/js/21ee5e18.7160549e.js delete mode 100644 assets/js/21ee5e18.d688b0a7.js create mode 100644 assets/js/22dd74f7.50708032.js create mode 100644 assets/js/22fe3d7c.84394cb7.js create mode 100644 assets/js/23b7ba02.4e15dfe3.js create mode 100644 assets/js/23f47465.520b1f03.js delete mode 100644 assets/js/23f47465.604d5221.js create mode 100644 assets/js/23f92eae.3ff587e2.js create mode 100644 assets/js/24176970.e2d6a7e6.js create mode 100644 assets/js/247d659b.cb116983.js delete mode 100644 assets/js/25accc40.ddb5f479.js delete mode 100644 assets/js/25aeb21c.1770e9d4.js create mode 100644 assets/js/25aeb21c.6cdba741.js delete mode 100644 assets/js/27a3d74a.fedcc850.js delete mode 100644 assets/js/27b4c996.66ec1fe1.js delete mode 100644 assets/js/284c0bdc.22c56ea0.js create mode 100644 assets/js/284c0bdc.4abbd365.js create mode 100644 assets/js/286e48de.4f9f707b.js create mode 100644 assets/js/2939e2fe.b66815f2.js create mode 100644 assets/js/2a1789c8.6b0a7a29.js create mode 100644 assets/js/2aec711d.250dfd74.js create mode 100644 assets/js/2b78a965.0d39465f.js create mode 100644 assets/js/2c4916d9.419c161a.js create mode 100644 assets/js/2c6faea6.1f0a4f61.js delete mode 100644 assets/js/2c83167a.666a946f.js delete mode 100644 assets/js/2ca52c80.a2aa5422.js create mode 100644 assets/js/2d3b3d7d.a268d058.js create mode 100644 assets/js/2d4b099c.5c656169.js create mode 100644 assets/js/2d78be1f.06074399.js create mode 100644 assets/js/2dbe7023.000a8e60.js delete mode 100644 assets/js/2e35e39d.5d588a6c.js delete mode 100644 assets/js/2ece5d09.234234f1.js create mode 100644 assets/js/2ece5d09.60f617bc.js create mode 100644 assets/js/2f4a9057.aa2d0274.js delete mode 100644 assets/js/2fa7fbb9.c11df398.js create mode 100644 assets/js/2fa7fbb9.ed330009.js create mode 100644 assets/js/2fbd0ada.fe7d51a5.js create mode 100644 assets/js/30081c14.5f8e193e.js create mode 100644 assets/js/30bfce74.42bd10a4.js delete mode 100644 assets/js/30c3cb5b.1c1ac8f0.js create mode 100644 assets/js/30e917a1.9ff61c65.js delete mode 100644 assets/js/3149f580.b57117fe.js delete mode 100644 assets/js/321fbd12.743a4e70.js create mode 100644 assets/js/3237d59a.443cfcf6.js create mode 100644 assets/js/327389ac.8b16545b.js delete mode 100644 assets/js/327389ac.d68d11a5.js delete mode 100644 assets/js/327aa04a.3db9469b.js create mode 100644 assets/js/331030ba.bc428d6d.js create mode 100644 assets/js/339f6683.0de4ee04.js create mode 100644 assets/js/33fd58a6.4b3c8f3e.js delete mode 100644 assets/js/33fd58a6.eaff46d9.js delete mode 100644 assets/js/3410d364.0547a697.js create mode 100644 assets/js/34832b8e.43e95837.js create mode 100644 assets/js/35f8904a.2fa5a4ab.js create mode 100644 assets/js/36520f9b.297f480e.js create mode 100644 assets/js/37e10be9.028d57a7.js delete mode 100644 assets/js/3834631c.e80112c3.js create mode 100644 assets/js/388bb84c.002c25f3.js create mode 100644 assets/js/3aa5d059.2126437f.js create mode 100644 assets/js/3b749563.9defdeea.js delete mode 100644 assets/js/3c01549e.a2129879.js create mode 100644 assets/js/3c01549e.c16a5ecb.js delete mode 100644 assets/js/3c40fb45.8afd3117.js create mode 100644 assets/js/3c5ae44f.d09a7239.js create mode 100644 assets/js/3c604595.124813c2.js create mode 100644 assets/js/3d63d319.16e433b9.js create mode 100644 assets/js/3e4ac49e.9c64da22.js create mode 100644 assets/js/3e704a63.69700263.js create mode 100644 assets/js/3e749104.40a4fd40.js create mode 100644 assets/js/3ee3a507.71f4cd3e.js delete mode 100644 assets/js/3fb1a119.8a1e9a80.js delete mode 100644 assets/js/418a1cae.07db9ae1.js delete mode 100644 assets/js/42be0be8.c1603066.js create mode 100644 assets/js/42dbe6f3.5b529643.js delete mode 100644 assets/js/435e6e8a.b97332d0.js delete mode 100644 assets/js/44cf4fdc.4aee52d1.js delete mode 100644 assets/js/45e185c2.e54708e6.js create mode 100644 assets/js/45f28deb.82f89c66.js delete mode 100644 assets/js/46be744b.4a50c0a2.js create mode 100644 assets/js/48673dc0.34954a0b.js delete mode 100644 assets/js/487a916d.9bc066de.js delete mode 100644 assets/js/48d92cf8.f58307ed.js delete mode 100644 assets/js/48fa096e.6047a287.js rename assets/js/{186.c1288e4d.js => 492.30677ee8.js} (57%) delete mode 100644 assets/js/4a07765f.908c4c06.js create mode 100644 assets/js/4a35f728.a960871c.js create mode 100644 assets/js/4c792d2e.4fbbc3f8.js delete mode 100644 assets/js/4cabad03.78436b0f.js create mode 100644 assets/js/4cabad03.8962443e.js create mode 100644 assets/js/4cfd18d6.b4aaf758.js create mode 100644 assets/js/4d54b06c.da3756a7.js delete mode 100644 assets/js/4d5af51b.06a034a5.js create mode 100644 assets/js/4db42fa4.9873669d.js create mode 100644 assets/js/4f34213b.5807c3a4.js create mode 100644 assets/js/4fdd7ffa.24c205f8.js create mode 100644 assets/js/5009512d.1a95076d.js delete mode 100644 assets/js/506f4e3c.0ceadd9b.js create mode 100644 assets/js/506f4e3c.4a1f55cc.js create mode 100644 assets/js/50a0dccc.5fda880f.js create mode 100644 assets/js/50f70a8b.4f12a211.js delete mode 100644 assets/js/50f70a8b.ab64d9cf.js create mode 100644 assets/js/517b2119.eaae44bd.js create mode 100644 assets/js/51dd6e12.bc937770.js delete mode 100644 assets/js/525a1f42.a8ec02dc.js create mode 100644 assets/js/530991c8.b3c297c5.js create mode 100644 assets/js/53160cfc.4a400beb.js create mode 100644 assets/js/5342d644.4189ced3.js delete mode 100644 assets/js/53ddc8eb.df2d259f.js delete mode 100644 assets/js/5401ed5c.315b38f0.js delete mode 100644 assets/js/54d95e21.af4b87d0.js create mode 100644 assets/js/54d95e21.d3ba20a6.js delete mode 100644 assets/js/54f60d95.56e34430.js create mode 100644 assets/js/54f60d95.9cdd58da.js delete mode 100644 assets/js/56922005.fe04f931.js create mode 100644 assets/js/5731cc15.6cbff9d3.js delete mode 100644 assets/js/57a07ec0.20a46fd7.js create mode 100644 assets/js/585f1245.38bfbbc2.js delete mode 100644 assets/js/585f1245.8fb5543b.js create mode 100644 assets/js/58dd8a24.1514e657.js create mode 100644 assets/js/58ed6817.06f88557.js create mode 100644 assets/js/5920c8e7.049ddf40.js delete mode 100644 assets/js/59e9decf.b82cbb84.js create mode 100644 assets/js/5a8313eb.3381d1fe.js create mode 100644 assets/js/5a8bc785.1382923c.js create mode 100644 assets/js/5adb7293.27b7f431.js create mode 100644 assets/js/5b490090.6b2230c3.js create mode 100644 assets/js/5b5d1bef.ebfc7d99.js create mode 100644 assets/js/5bc0cc75.5e32f948.js create mode 100644 assets/js/5c52d73f.ea5623e7.js create mode 100644 assets/js/5ce95ba0.9f8bac4f.js delete mode 100644 assets/js/5dc5c8af.13c4cb7e.js create mode 100644 assets/js/5e6674c6.9a4d3169.js delete mode 100644 assets/js/5e7d82a6.d268c965.js create mode 100644 assets/js/5e95c892.3da8e872.js create mode 100644 assets/js/5ec8820d.86ea8fd3.js create mode 100644 assets/js/5ef21807.6b0b3aee.js create mode 100644 assets/js/6073fa13.f885ce28.js delete mode 100644 assets/js/6089708e.8aab24ad.js create mode 100644 assets/js/60d7bbfa.38fb8857.js create mode 100644 assets/js/611fb728.1dd4d546.js delete mode 100644 assets/js/61e14e81.394dcd67.js create mode 100644 assets/js/6302158a.ead19384.js create mode 100644 assets/js/636475bd.8e67856b.js delete mode 100644 assets/js/63ced45c.e2f027e1.js delete mode 100644 assets/js/6520cedf.297098ca.js delete mode 100644 assets/js/6527a706.16a35576.js create mode 100644 assets/js/6527a706.dd770e74.js delete mode 100644 assets/js/658a263b.5e9ca6ef.js create mode 100644 assets/js/658a263b.cc9eb84f.js create mode 100644 assets/js/66307371.0f4f6a64.js delete mode 100644 assets/js/6669b354.6077bf98.js create mode 100644 assets/js/67160f26.18fd89e1.js delete mode 100644 assets/js/67be0ef1.5810ea6b.js delete mode 100644 assets/js/67f04688.c821d63f.js create mode 100644 assets/js/6857e688.bf8f3a33.js delete mode 100644 assets/js/68d1a169.be73caf9.js create mode 100644 assets/js/69014fe5.0caa01e0.js create mode 100644 assets/js/6986213d.81f18c29.js create mode 100644 assets/js/6a7c6930.38f90e40.js delete mode 100644 assets/js/6a7c6930.7f60a719.js delete mode 100644 assets/js/6ae61f9d.81d2fd53.js create mode 100644 assets/js/6ae61f9d.934b9c36.js delete mode 100644 assets/js/6af56cb1.b10acb85.js delete mode 100644 assets/js/6b2b427d.d51786b5.js delete mode 100644 assets/js/6bff6b59.c49e907a.js create mode 100644 assets/js/6c6626f0.c5767579.js create mode 100644 assets/js/6d5b6e0a.8c4be1ab.js delete mode 100644 assets/js/6dfadff3.42a29629.js delete mode 100644 assets/js/6f7688a7.13372e71.js create mode 100644 assets/js/6ff345d3.47e48236.js create mode 100644 assets/js/6ff7da37.e0716b72.js delete mode 100644 assets/js/70db71fd.2a4900f7.js delete mode 100644 assets/js/70e9fb71.53704eb1.js delete mode 100644 assets/js/7132be39.7979ea93.js create mode 100644 assets/js/7132be39.eacfae59.js create mode 100644 assets/js/715a99ae.ba2b9717.js create mode 100644 assets/js/71f6bba6.adefb7f5.js delete mode 100644 assets/js/728bf073.02dc6685.js create mode 100644 assets/js/728bf073.bed1eb1c.js delete mode 100644 assets/js/72a309aa.8a420e38.js create mode 100644 assets/js/72b2125c.057b0a95.js delete mode 100644 assets/js/7325f36b.bd98ed28.js create mode 100644 assets/js/737af32c.0d4b97cd.js create mode 100644 assets/js/73933150.0a37cc16.js create mode 100644 assets/js/73c687f7.29d11e1b.js create mode 100644 assets/js/747520ea.e212a7b3.js delete mode 100644 assets/js/7500682d.395d2e33.js delete mode 100644 assets/js/755ee4a1.5a5715ad.js create mode 100644 assets/js/757a5f49.d98545d4.js create mode 100644 assets/js/7581cadb.d7cf59e5.js delete mode 100644 assets/js/7651edab.5536a2c7.js create mode 100644 assets/js/77404de2.ce26f1ee.js create mode 100644 assets/js/77cf719a.13a1653e.js create mode 100644 assets/js/79275fc0.78aec688.js delete mode 100644 assets/js/798d67f4.d79ffc99.js create mode 100644 assets/js/798d67f4.ffc383cb.js create mode 100644 assets/js/79a22100.c6908fc7.js create mode 100644 assets/js/7a547ad0.42c7607e.js delete mode 100644 assets/js/7af7958b.00de80b3.js create mode 100644 assets/js/7b5f680e.18f29871.js create mode 100644 assets/js/7b9bed65.8911723b.js create mode 100644 assets/js/7c05b1bc.a5cd4cbf.js create mode 100644 assets/js/7c2eb169.afdca311.js delete mode 100644 assets/js/7c2f5bb0.48862df0.js create mode 100644 assets/js/7ccec149.9db991bc.js create mode 100644 assets/js/7ce2633c.47be12ca.js create mode 100644 assets/js/7cf52bfa.a0ea031d.js create mode 100644 assets/js/7dab2b4a.76a95d96.js delete mode 100644 assets/js/7dab2b4a.e48cd809.js create mode 100644 assets/js/7de51c8d.5727f35c.js create mode 100644 assets/js/7e7703ab.d1ce8b7a.js delete mode 100644 assets/js/805384b8.d6f09f7b.js create mode 100644 assets/js/813302f7.1d4f37b8.js create mode 100644 assets/js/81875af5.b8723dd8.js delete mode 100644 assets/js/81d07132.804e5b20.js delete mode 100644 assets/js/82fa5401.5d4aef44.js create mode 100644 assets/js/82fa5401.ce4ab917.js delete mode 100644 assets/js/83bd1dfb.c336ddb0.js create mode 100644 assets/js/83bd1dfb.c924c1fb.js delete mode 100644 assets/js/83e0a767.44ef4478.js create mode 100644 assets/js/8478fc2d.9e4dd0e2.js create mode 100644 assets/js/85517bd9.19442ff1.js create mode 100644 assets/js/86b813a4.e07b8bb7.js create mode 100644 assets/js/87d053ee.ec516cbe.js create mode 100644 assets/js/87f53564.6f6d5584.js delete mode 100644 assets/js/87f53564.9fb9d9f6.js create mode 100644 assets/js/88e6eafe.f43723e8.js create mode 100644 assets/js/8c0ac720.c2f6f61f.js delete mode 100644 assets/js/8c1bb129.a2dfc5b1.js create mode 100644 assets/js/8cb3e257.28165e4a.js create mode 100644 assets/js/8defe7f5.65782844.js delete mode 100644 assets/js/8ec7ae24.435937a3.js create mode 100644 assets/js/8ec7ae24.a7905f07.js delete mode 100644 assets/js/8ed4501f.6397cad5.js create mode 100644 assets/js/8f92c1e6.8fca0c4a.js delete mode 100644 assets/js/91f1837b.9c329755.js delete mode 100644 assets/js/9294f473.cd4d100c.js delete mode 100644 assets/js/934bc43e.552c2fa4.js create mode 100644 assets/js/934bc43e.fe0701de.js delete mode 100644 assets/js/935f2afb.a43e7355.js create mode 100644 assets/js/93ce8178.6917ea0a.js create mode 100644 assets/js/9474e170.e7ddd664.js create mode 100644 assets/js/94a6fc8a.335c5623.js delete mode 100644 assets/js/94bace71.856ea198.js create mode 100644 assets/js/94def3e0.615025c9.js create mode 100644 assets/js/94e396b7.fc8d5ae1.js create mode 100644 assets/js/9577b207.c012e2ca.js delete mode 100644 assets/js/968740e1.eeb4b3ac.js create mode 100644 assets/js/96c0c5ca.a43053ad.js create mode 100644 assets/js/97c639d7.05fa2960.js delete mode 100644 assets/js/98990be4.89994155.js create mode 100644 assets/js/989f586f.26091f8c.js create mode 100644 assets/js/98bec0c5.9740af1b.js create mode 100644 assets/js/991f8d4c.02e5c176.js create mode 100644 assets/js/99233437.b698de9d.js create mode 100644 assets/js/999756ce.4553da89.js create mode 100644 assets/js/9af0878b.d6483124.js create mode 100644 assets/js/9b8a95cc.b14c09c4.js delete mode 100644 assets/js/9c0ba269.a27a2e36.js create mode 100644 assets/js/9dd8a0d2.308fb807.js delete mode 100644 assets/js/9dd8a0d2.a817e24b.js create mode 100644 assets/js/9e01cd16.ee8b9541.js create mode 100644 assets/js/9e2a34cf.5b84ff00.js delete mode 100644 assets/js/9e3f3c76.1bcecaa3.js create mode 100644 assets/js/9e3f3c76.6c337216.js create mode 100644 assets/js/9e4a7547.0088e5d8.js delete mode 100644 assets/js/9e4a7547.29bf8240.js create mode 100644 assets/js/9f7752b8.2d5d74e8.js delete mode 100644 assets/js/9fdfc27e.676bf97b.js create mode 100644 assets/js/a14022e5.52367d83.js create mode 100644 assets/js/a1f68851.5f15d769.js delete mode 100644 assets/js/a1fa3683.5aa9b40e.js create mode 100644 assets/js/a1fa3683.a2c8fab1.js delete mode 100644 assets/js/a2c3b390.29639b48.js create mode 100644 assets/js/a314e9a5.f1fdc5d1.js delete mode 100644 assets/js/a3814d4a.01aaa1e1.js create mode 100644 assets/js/a3814d4a.dbb918a8.js create mode 100644 assets/js/a383d2c3.d9aa8cd0.js delete mode 100644 assets/js/a394c21d.c92e33f7.js delete mode 100644 assets/js/a570e4e4.9f552de1.js create mode 100644 assets/js/a58b1ccc.6a4bb416.js delete mode 100644 assets/js/a59d7f05.1de83237.js delete mode 100644 assets/js/a5ac8c5f.bd83f006.js create mode 100644 assets/js/a63c3ee5.25515758.js create mode 100644 assets/js/a7456010.59bbfd0f.js create mode 100644 assets/js/a7bd4aaa.3d4ec037.js create mode 100644 assets/js/a8d83bd5.5a29693d.js create mode 100644 assets/js/a94703ab.840abdf9.js create mode 100644 assets/js/a96dee6d.521d92ac.js create mode 100644 assets/js/a9e53e63.deff8749.js delete mode 100644 assets/js/ab2e5842.f7dda99d.js create mode 100644 assets/js/ab2f38e9.0c716254.js rename assets/js/{11611510.a051ca64.js => aba21aa0.aeb4cebd.js} (64%) delete mode 100644 assets/js/abceb8ed.e682c295.js delete mode 100644 assets/js/ac0ebe99.f9e8d5a2.js delete mode 100644 assets/js/ac1b1cf0.8744d311.js delete mode 100644 assets/js/aefc0c3a.21f07426.js create mode 100644 assets/js/afb1371e.0b2d6f88.js delete mode 100644 assets/js/b03cb8d5.d15c8406.js create mode 100644 assets/js/b03cb8d5.ef55d1b4.js create mode 100644 assets/js/b0d03967.c7d6d765.js create mode 100644 assets/js/b1612cd7.df8d30be.js create mode 100644 assets/js/b2160db6.b367087c.js create mode 100644 assets/js/b27d79ec.c2b062ed.js create mode 100644 assets/js/b2a1d6d9.2839ddde.js create mode 100644 assets/js/b34664f9.2ea029b4.js delete mode 100644 assets/js/b40f4eed.14d26f37.js create mode 100644 assets/js/b4a62217.fbadc64a.js create mode 100644 assets/js/b4c18e0e.80ce5b16.js create mode 100644 assets/js/b4ec51b8.d1bf6572.js create mode 100644 assets/js/b52cec2f.56bef9d7.js create mode 100644 assets/js/b63b1a1f.37f937bc.js create mode 100644 assets/js/b6fa5182.d25fa34d.js create mode 100644 assets/js/b788ae02.3a79068e.js create mode 100644 assets/js/bbfe74ec.6391f3bb.js delete mode 100644 assets/js/bcef1ffa.8f70d21d.js create mode 100644 assets/js/bd95ca4e.43cdb433.js create mode 100644 assets/js/be7e6daf.dba99496.js create mode 100644 assets/js/beb73144.f5326e8f.js create mode 100644 assets/js/bf028727.5a1c388e.js create mode 100644 assets/js/bf94dc2c.b94a3a5f.js delete mode 100644 assets/js/bffc20a2.082084e8.js create mode 100644 assets/js/c0442aea.7e910f80.js create mode 100644 assets/js/c050cf1d.02981006.js delete mode 100644 assets/js/c0d8042e.a36ed3c9.js create mode 100644 assets/js/c141421f.b636e4c3.js create mode 100644 assets/js/c1da0157.476a4c23.js create mode 100644 assets/js/c361505b.3c4073aa.js create mode 100644 assets/js/c391e67c.f308db51.js create mode 100644 assets/js/c3d83163.e366b926.js create mode 100644 assets/js/c4faeb28.5914c0f1.js create mode 100644 assets/js/c5cbe7ce.9563ac36.js delete mode 100644 assets/js/c69312c2.9c40a064.js create mode 100644 assets/js/c6c9d087.3b2a7bbb.js delete mode 100644 assets/js/c6f16711.39896055.js delete mode 100644 assets/js/c7fb0ffe.05aa4f41.js create mode 100644 assets/js/c7fb0ffe.746ca910.js delete mode 100644 assets/js/cd0a3e0f.423c59d5.js delete mode 100644 assets/js/cd24e9bf.a20d0937.js delete mode 100644 assets/js/cd4295eb.4d00ddb0.js create mode 100644 assets/js/cd4295eb.da02e526.js delete mode 100644 assets/js/cdea063f.02f23362.js create mode 100644 assets/js/ce9f7c01.e08a7628.js delete mode 100644 assets/js/cf9cb426.971f883e.js create mode 100644 assets/js/cfd8246b.9867a31b.js create mode 100644 assets/js/cff55af7.e0a70fa1.js delete mode 100644 assets/js/d0063a96.282b39c1.js create mode 100644 assets/js/d0063a96.bb0c8a10.js create mode 100644 assets/js/d0a2dc9c.c033464c.js delete mode 100644 assets/js/d0a2dc9c.ff826943.js create mode 100644 assets/js/d13bdcde.fb0dabad.js create mode 100644 assets/js/d15bf737.29dad999.js delete mode 100644 assets/js/d3f37276.5183b139.js delete mode 100644 assets/js/d5dd36e5.a0ae09ca.js create mode 100644 assets/js/d6532ee3.91b3447b.js create mode 100644 assets/js/d72b9e96.fd2f3608.js create mode 100644 assets/js/d74bb0e7.917e82f3.js create mode 100644 assets/js/d7c38c55.f3821852.js create mode 100644 assets/js/d9946c37.35ff5876.js delete mode 100644 assets/js/d9f67a67.255eec78.js create mode 100644 assets/js/da389e98.fdb07932.js delete mode 100644 assets/js/da5c5c21.5762aa12.js create mode 100644 assets/js/da5c5c21.942ad95c.js create mode 100644 assets/js/da71292b.cdea1f9a.js create mode 100644 assets/js/da721fe9.cf862303.js create mode 100644 assets/js/db366989.2a3d9fbc.js create mode 100644 assets/js/db691710.f4acc010.js delete mode 100644 assets/js/db94485c.a4ab1b6d.js create mode 100644 assets/js/dc4d3b05.9f3a641b.js create mode 100644 assets/js/dc583b00.3f3c8bb6.js delete mode 100644 assets/js/dc7901fe.ff7fbb4c.js create mode 100644 assets/js/dc79edcf.4ca258f8.js create mode 100644 assets/js/dd0dae3b.31ae8a38.js create mode 100644 assets/js/de246b9b.7997cff0.js create mode 100644 assets/js/de443fde.2fe8567b.js create mode 100644 assets/js/de6b82fb.412cd450.js delete mode 100644 assets/js/deb892ed.0651c018.js create mode 100644 assets/js/df55d336.247395c1.js create mode 100644 assets/js/dfd43dc8.e6b9fc6c.js create mode 100644 assets/js/e02467ce.fe266eaa.js create mode 100644 assets/js/e05bec59.b3660929.js delete mode 100644 assets/js/e06953e7.9439d835.js delete mode 100644 assets/js/e19de693.87cbb1d0.js delete mode 100644 assets/js/e25ffe8c.52d007cc.js create mode 100644 assets/js/e25ffe8c.c5f78782.js delete mode 100644 assets/js/e28793d2.2561cb40.js create mode 100644 assets/js/e329cf1d.c835630b.js create mode 100644 assets/js/e5d5c0ae.045a9682.js create mode 100644 assets/js/e80bbda2.24239089.js create mode 100644 assets/js/e9289eb0.8671b602.js create mode 100644 assets/js/e9e6b51f.0185a494.js delete mode 100644 assets/js/eb04481e.45f9c2bc.js create mode 100644 assets/js/ebba7519.dffe1492.js delete mode 100644 assets/js/ec3413e1.d6970f16.js delete mode 100644 assets/js/ecde905a.216a218a.js create mode 100644 assets/js/f0633975.36dae0c5.js delete mode 100644 assets/js/f20b9f24.ba134031.js delete mode 100644 assets/js/f219100a.4b513d79.js create mode 100644 assets/js/f2953143.35918498.js create mode 100644 assets/js/f2aee5d1.77d7f177.js create mode 100644 assets/js/f2d0b182.9d7544a5.js delete mode 100644 assets/js/f2d0b182.a7cf9b40.js create mode 100644 assets/js/f33aa945.84bd15d6.js delete mode 100644 assets/js/f33aa945.f0467635.js create mode 100644 assets/js/f3847fe3.7f68174a.js create mode 100644 assets/js/f3b1218a.02e5a40b.js delete mode 100644 assets/js/f3bc0fbd.1a5d3afd.js delete mode 100644 assets/js/f42f2945.b8bc33ac.js create mode 100644 assets/js/f42f2945.d24af2e1.js create mode 100644 assets/js/f462a191.09e56eb4.js delete mode 100644 assets/js/f4795e20.14189363.js create mode 100644 assets/js/f4d80e61.7a720b83.js create mode 100644 assets/js/f4da79e9.206e8e2c.js create mode 100644 assets/js/f644150e.e9552f73.js create mode 100644 assets/js/f747c071.174a8247.js delete mode 100644 assets/js/f747c071.f71bc630.js create mode 100644 assets/js/f872beed.e789275c.js create mode 100644 assets/js/f8a31429.e3874f1b.js create mode 100644 assets/js/fb8d9da6.265416dc.js create mode 100644 assets/js/fbe0eb09.5a05ec60.js create mode 100644 assets/js/fc5d92fc.e96db0c6.js create mode 100644 assets/js/fc65f0be.0c11cfca.js delete mode 100644 assets/js/fc65f0be.a22dfaa4.js create mode 100644 assets/js/fc738ad7.776d1185.js create mode 100644 assets/js/fcb7ea42.aa9f626d.js delete mode 100644 assets/js/fe1eb9bc.1e1eaad7.js create mode 100644 assets/js/fe1eb9bc.c394522c.js create mode 100644 assets/js/fe637ad5.4859c512.js create mode 100644 assets/js/ff164e89.408e18cf.js create mode 100644 assets/js/ff313a9b.2edb2b6a.js delete mode 100644 assets/js/main.113fcdc4.js create mode 100644 assets/js/main.e30e3004.js rename assets/js/{main.113fcdc4.js.LICENSE.txt => main.e30e3004.js.LICENSE.txt} (61%) delete mode 100644 assets/js/runtime~main.23086692.js create mode 100644 assets/js/runtime~main.f8691405.js diff --git a/404.html b/404.html index 2780f4525..694902d80 100644 --- a/404.html +++ b/404.html @@ -1,16 +1,13 @@ - + - -Page Not Found | IMA.js - - + +IMA.js + + -
-
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/advanced-features/dynamic-imports/index.html b/advanced-features/dynamic-imports/index.html index b3ec5a92e..77d8cc490 100644 --- a/advanced-features/dynamic-imports/index.html +++ b/advanced-features/dynamic-imports/index.html @@ -1,16 +1,19 @@ - + - -Dynamic imports | IMA.js - - + +Dynamic imports | IMA.js + + -
-
Skip to main content

Dynamic imports

Dynamic imports

Preloading and prefetching

Since we're using webpack, to built the application, it already has support for inline directives for preloading and prefetching. Using this comment:

import(/* webpackPrefetch: true */ './path/to/LoginModal.js');

will result in<link rel="prefetch" href="login-modal-chunk.js"> being appended in the head of the page. For more information about

React suspense

Suspense currently doesn't support SSR. However you can use it to load client-side react components. Don't forget to add proper handlers so it only gets rendered on client, since SSR will result in an hydratation error.

- - +
Skip to main content

Dynamic imports

Dynamic imports

+

Preloading and prefetching

+

Since we're using webpack, to built the application, it already has support for inline directives for preloading and prefetching. Using this comment:

+
import(/* webpackPrefetch: true */ './path/to/LoginModal.js');
+

will result in<link rel="prefetch" href="login-modal-chunk.js"> being appended in the head of the page. For more information about

+

React suspense

+

Suspense currently doesn't support SSR. However you can use it to load client-side react components. Don't forget to add proper handlers so it only gets rendered on client, since SSR will result in an hydratation error.

\ No newline at end of file diff --git a/api/@ima/cli/functions/compileLanguages/index.html b/api/@ima/cli/functions/compileLanguages/index.html new file mode 100644 index 000000000..93c75d570 --- /dev/null +++ b/api/@ima/cli/functions/compileLanguages/index.html @@ -0,0 +1,31 @@ + + + + + +Function: compileLanguages() | IMA.js + + + + +
Skip to main content

Function: compileLanguages()

+
+

compileLanguages(imaConfig, rootDir, watch): Promise<void>

+
+

Defined in: webpack/languages.ts:203

+

Compile language files defined in imaConfig.

+

Parameters

+

imaConfig

+

ImaConfig

+

ima.config.js file contents.

+

rootDir

+

string

+

Current compilation root directory.

+

watch

+

boolean = false

+

When set to true, it creates chokidar instances +which watch language files for changes and trigger recompilation.

+

Returns

+

Promise<void>

+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/createCacheKey/index.html b/api/@ima/cli/functions/createCacheKey/index.html new file mode 100644 index 000000000..1a23a52b7 --- /dev/null +++ b/api/@ima/cli/functions/createCacheKey/index.html @@ -0,0 +1,28 @@ + + + + + +Function: createCacheKey() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/createDevServerConfig/index.html b/api/@ima/cli/functions/createDevServerConfig/index.html new file mode 100644 index 000000000..4907501d9 --- /dev/null +++ b/api/@ima/cli/functions/createDevServerConfig/index.html @@ -0,0 +1,41 @@ + + + + + +Function: createDevServerConfig() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/createWebpackConfig/index.html b/api/@ima/cli/functions/createWebpackConfig/index.html new file mode 100644 index 000000000..a215bc138 --- /dev/null +++ b/api/@ima/cli/functions/createWebpackConfig/index.html @@ -0,0 +1,29 @@ + + + + + +Function: createWebpackConfig() | IMA.js + + + + +
Skip to main content

Function: createWebpackConfig()

+
+

createWebpackConfig(args, imaConfig): Promise<Configuration[]>

+
+

Defined in: webpack/utils.ts:453

+

Creates webpack configurations contexts from current config and cli args. +Additionally it applies all existing configuration overrides from cli plugins +and app overrides in this order cli -> plugins -> app.

+

Parameters

+

args

+

ImaCliArgs

+

Parsed CLI and build arguments.

+

imaConfig

+

ImaConfig

+

Loaded ima config.

+

Returns

+

Promise<Configuration[]>

+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/findRules/index.html b/api/@ima/cli/functions/findRules/index.html new file mode 100644 index 000000000..d0e1351a5 --- /dev/null +++ b/api/@ima/cli/functions/findRules/index.html @@ -0,0 +1,27 @@ + + + + + +Function: findRules() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/getCurrentCoreJsVersion/index.html b/api/@ima/cli/functions/getCurrentCoreJsVersion/index.html new file mode 100644 index 000000000..6fc0d0f26 --- /dev/null +++ b/api/@ima/cli/functions/getCurrentCoreJsVersion/index.html @@ -0,0 +1,21 @@ + + + + + +Function: getCurrentCoreJsVersion() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/getLanguageEntryPoints/index.html b/api/@ima/cli/functions/getLanguageEntryPoints/index.html new file mode 100644 index 000000000..b91d69c9d --- /dev/null +++ b/api/@ima/cli/functions/getLanguageEntryPoints/index.html @@ -0,0 +1,31 @@ + + + + + +Function: getLanguageEntryPoints() | IMA.js + + + + +
Skip to main content

Function: getLanguageEntryPoints()

+
+

getLanguageEntryPoints(languages, rootDir, useHMR): Record<string, string>

+
+

Defined in: webpack/languages.ts:64

+

Returns entry points to use in webpack configurations. These then lead to +messageformat compiled modules while also containing some additional runtime code.

+

Parameters

+

languages

+

Record<string, string[]>

+

Languages object from ima config.

+

rootDir

+

string

+

Current compilation root directory.

+

useHMR

+

boolean = false

+

Returns

+

Record<string, string>

+

Object with webpack entry points.

+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/resolveEnvironment/index.html b/api/@ima/cli/functions/resolveEnvironment/index.html new file mode 100644 index 000000000..5479552ad --- /dev/null +++ b/api/@ima/cli/functions/resolveEnvironment/index.html @@ -0,0 +1,25 @@ + + + + + +Function: resolveEnvironment() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/resolveImaConfig/index.html b/api/@ima/cli/functions/resolveImaConfig/index.html new file mode 100644 index 000000000..c54f7aaff --- /dev/null +++ b/api/@ima/cli/functions/resolveImaConfig/index.html @@ -0,0 +1,25 @@ + + + + + +Function: resolveImaConfig() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/functions/runImaPluginsHook/index.html b/api/@ima/cli/functions/runImaPluginsHook/index.html new file mode 100644 index 000000000..52734df47 --- /dev/null +++ b/api/@ima/cli/functions/runImaPluginsHook/index.html @@ -0,0 +1,29 @@ + + + + + +Function: runImaPluginsHook() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/globals/index.html b/api/@ima/cli/globals/index.html new file mode 100644 index 000000000..1b6bd64c5 --- /dev/null +++ b/api/@ima/cli/globals/index.html @@ -0,0 +1,41 @@ + + + + + +@ima/cli | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/index.html b/api/@ima/cli/index.html new file mode 100644 index 000000000..58fd66eae --- /dev/null +++ b/api/@ima/cli/index.html @@ -0,0 +1,25 @@ + + + + + +index | IMA.js + + + + +
Skip to main content

index

+

@ima/cli

+

@ima/cli takes care of building and running the IMA.js application in dev (watch) mode.

+
+

Small CLI wrapper around webpack used to build and watch IMA.js applications during development. It takes care of generating webpack configurations and running webpack based on passed arguments and ima config.

+

It also leverages the @ima/hmr-client and @ima/error-overlay in dev environment to provide better developer experience.

+

For more information on how to customize ima apps though ima.config.js or how to use the CLI and define custom CLI plugins, take a look at the documentation.

+

Installation

+
npm install @ima/cli --save-dev
+

Usage

+
npx ima dev
npx ima build
npx ima --help
+
+

This package is part of the IMA.js application stack, see imajs.io for more info about the whole project.

+ + \ No newline at end of file diff --git a/api/@ima/cli/interfaces/ImaCliArgs/index.html b/api/@ima/cli/interfaces/ImaCliArgs/index.html new file mode 100644 index 000000000..c1bc48f78 --- /dev/null +++ b/api/@ima/cli/interfaces/ImaCliArgs/index.html @@ -0,0 +1,139 @@ + + + + + +Interface: ImaCliArgs | IMA.js + + + + +
Skip to main content

Interface: ImaCliArgs

+

Defined in: types.ts:30

+

Arguments generated from ima CLI commands.

+

Extended by

+ +

Properties

+

clean

+
+

clean: boolean

+
+

Defined in: types.ts:33

+
+

clearCache?

+
+

optional clearCache: boolean

+
+

Defined in: types.ts:34

+
+

command

+
+

command: ImaCliCommand

+
+

Defined in: types.ts:32

+
+

environment

+
+

environment: string

+
+

Defined in: types.ts:46

+
+

forceLegacy?

+
+

optional forceLegacy: boolean

+
+

Defined in: types.ts:49

+
+

forceSPA?

+
+

optional forceSPA: boolean

+
+

Defined in: types.ts:41

+
+

hostname?

+
+

optional hostname: string

+
+

Defined in: types.ts:44

+
+

ignoreWarnings?

+
+

optional ignoreWarnings: boolean

+
+

Defined in: types.ts:37

+
+

inspect?

+
+

optional inspect: boolean

+
+

Defined in: types.ts:36

+
+

lazyServer?

+
+

optional lazyServer: boolean

+
+

Defined in: types.ts:50

+
+

legacy?

+
+

optional legacy: boolean

+
+

Defined in: types.ts:40

+
+

open?

+
+

optional open: boolean

+
+

Defined in: types.ts:38

+
+

openUrl?

+
+

optional openUrl: string

+
+

Defined in: types.ts:39

+
+

port?

+
+

optional port: number

+
+

Defined in: types.ts:43

+
+

profile?

+
+

optional profile: boolean

+
+

Defined in: types.ts:42

+
+

publicUrl?

+
+

optional publicUrl: string

+
+

Defined in: types.ts:45

+
+

reactRefresh?

+
+

optional reactRefresh: boolean

+
+

Defined in: types.ts:48

+
+

rootDir

+
+

rootDir: string

+
+

Defined in: types.ts:31

+
+

verbose?

+
+

optional verbose: boolean

+
+

Defined in: types.ts:35

+
+

writeToDisk?

+
+

optional writeToDisk: boolean

+
+

Defined in: types.ts:47

+ + \ No newline at end of file diff --git a/api/@ima/cli/interfaces/ImaCliPlugin/index.html b/api/@ima/cli/interfaces/ImaCliPlugin/index.html new file mode 100644 index 000000000..3333eec43 --- /dev/null +++ b/api/@ima/cli/interfaces/ImaCliPlugin/index.html @@ -0,0 +1,95 @@ + + + + + +Interface: ImaCliPlugin | IMA.js + + + + +
Skip to main content

Interface: ImaCliPlugin

+

Defined in: types.ts:90

+

Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used +to extend functionality of default CLI with custom cli arguments and webpack config overrides.

+

Properties

+

cliArgs?

+
+

readonly optional cliArgs: Partial<Record<ImaCliCommand, CommandBuilder>>

+
+

Defined in: types.ts:99

+

Optional additional CLI arguments to extend the set of existing ones.

+
+

name

+
+

readonly name: string

+
+

Defined in: types.ts:94

+

Plugin name, used mainly for better debugging messages.

+

Methods

+

postProcess()?

+
+

optional postProcess(args, imaConfig): Promise<void>

+
+

Defined in: types.ts:132

+

Optional plugin hook to do some custom processing after the compilation has finished. +Attention! This hook runs only for build command.

+

Parameters

+
args
+

ImaCliArgs

+
imaConfig
+

ImaConfig

+

Returns

+

Promise<void>

+
+

prepareConfigurations()?

+
+

optional prepareConfigurations(configurations, imaConfig, args): Promise<ImaConfigurationContext[]>

+
+

Defined in: types.ts:113

+

Called right before creating webpack configurations after preProcess call. +This hook lets you customize configuration contexts for each webpack config +that will be generated. This is usefull when you need to overrite configuration +contexts for values that are not editable anywhere else (like output folders).

+

Parameters

+
configurations
+

ImaConfigurationContext[]

+
imaConfig
+

ImaConfig

+
args
+

ImaCliArgs

+

Returns

+

Promise<ImaConfigurationContext[]>

+
+

preProcess()?

+
+

optional preProcess(args, imaConfig): Promise<void>

+
+

Defined in: types.ts:105

+

Optional plugin hook to do some pre processing right after the cli args are processed +and the imaConfig is loaded, before the webpack config creation and compiler run.

+

Parameters

+
args
+

ImaCliArgs

+
imaConfig
+

ImaConfig

+

Returns

+

Promise<void>

+
+

webpack()?

+
+

optional webpack(config, ctx, imaConfig): Promise<Configuration>

+
+

Defined in: types.ts:122

+

Webpack callback function used by plugins to customize/extend ima webpack config before it's run.

+

Parameters

+
config
+

Configuration

+
ctx
+

ImaConfigurationContext

+
imaConfig
+

ImaConfig

+

Returns

+

Promise<Configuration>

+ + \ No newline at end of file diff --git a/api/@ima/cli/interfaces/ImaConfigurationContext/index.html b/api/@ima/cli/interfaces/ImaConfigurationContext/index.html new file mode 100644 index 000000000..ee478ed96 --- /dev/null +++ b/api/@ima/cli/interfaces/ImaConfigurationContext/index.html @@ -0,0 +1,303 @@ + + + + + +Interface: ImaConfigurationContext | IMA.js + + + + +
Skip to main content

Interface: ImaConfigurationContext

+

Defined in: types.ts:56

+

CLI arguments merged with concrete configuration context.

+

Extends

+ +

Properties

+

appDir

+
+

appDir: string

+
+

Defined in: types.ts:74

+
+

clean

+
+

clean: boolean

+
+

Defined in: types.ts:33

+

Inherited from

+

ImaCliArgs.clean

+
+

clearCache?

+
+

optional clearCache: boolean

+
+

Defined in: types.ts:34

+

Inherited from

+

ImaCliArgs.clearCache

+
+

command

+
+

command: ImaCliCommand

+
+

Defined in: types.ts:32

+

Inherited from

+

ImaCliArgs.command

+
+

devtool

+
+

devtool: undefined | string | false

+
+

Defined in: types.ts:81

+
+

environment

+
+

environment: string

+
+

Defined in: types.ts:46

+

Inherited from

+

ImaCliArgs.environment

+
+

forceLegacy?

+
+

optional forceLegacy: boolean

+
+

Defined in: types.ts:49

+

Inherited from

+

ImaCliArgs.forceLegacy

+
+

forceSPA?

+
+

optional forceSPA: boolean

+
+

Defined in: types.ts:41

+

Inherited from

+

ImaCliArgs.forceSPA

+
+

hostname?

+
+

optional hostname: string

+
+

Defined in: types.ts:44

+

Inherited from

+

ImaCliArgs.hostname

+
+

ignoreWarnings?

+
+

optional ignoreWarnings: boolean

+
+

Defined in: types.ts:37

+

Inherited from

+

ImaCliArgs.ignoreWarnings

+
+

imaEnvironment

+
+

imaEnvironment: Environment

+
+

Defined in: types.ts:73

+
+

inspect?

+
+

optional inspect: boolean

+
+

Defined in: types.ts:36

+

Inherited from

+

ImaCliArgs.inspect

+
+

isClient

+
+

isClient: boolean

+
+

Defined in: types.ts:59

+
+

isClientES

+
+

isClientES: boolean

+
+

Defined in: types.ts:60

+
+

isDevEnv

+
+

isDevEnv: boolean

+
+

Defined in: types.ts:79

+
+

isServer

+
+

isServer: boolean

+
+

Defined in: types.ts:58

+
+

lazyServer?

+
+

optional lazyServer: boolean

+
+

Defined in: types.ts:50

+

Inherited from

+

ImaCliArgs.lazyServer

+
+

legacy?

+
+

optional legacy: boolean

+
+

Defined in: types.ts:40

+

Inherited from

+

ImaCliArgs.legacy

+
+

lessGlobalsPath

+
+

lessGlobalsPath: string

+
+

Defined in: types.ts:75

+
+

mode

+
+

mode: undefined | "development" | "production" | "none"

+
+

Defined in: types.ts:76

+
+

name

+
+

name: "server" | "client" | "client.es"

+
+

Defined in: types.ts:57

+
+

open?

+
+

optional open: boolean

+
+

Defined in: types.ts:38

+

Inherited from

+

ImaCliArgs.open

+
+

openUrl?

+
+

optional openUrl: string

+
+

Defined in: types.ts:39

+

Inherited from

+

ImaCliArgs.openUrl

+
+

outputFolders

+
+

outputFolders: object

+
+

Defined in: types.ts:62

+

css

+
+

css: string

+
+

hot

+
+

hot: string

+
+

js

+
+

js: string

+
+

media

+
+

media: string

+
+

public

+
+

public: string

+
+
+

port?

+
+

optional port: number

+
+

Defined in: types.ts:43

+

Inherited from

+

ImaCliArgs.port

+
+

processCss

+
+

processCss: boolean

+
+

Defined in: types.ts:61

+
+

profile?

+
+

optional profile: boolean

+
+

Defined in: types.ts:42

+

Inherited from

+

ImaCliArgs.profile

+
+

publicUrl?

+
+

optional publicUrl: string

+
+

Defined in: types.ts:45

+

Inherited from

+

ImaCliArgs.publicUrl

+
+

reactRefresh?

+
+

optional reactRefresh: boolean

+
+

Defined in: types.ts:48

+

Inherited from

+

ImaCliArgs.reactRefresh

+
+

rootDir

+
+

rootDir: string

+
+

Defined in: types.ts:31

+

Inherited from

+

ImaCliArgs.rootDir

+
+

targets

+
+

targets: string[]

+
+

Defined in: types.ts:80

+
+

typescript

+
+

typescript: object

+
+

Defined in: types.ts:69

+

enabled

+
+

enabled: boolean

+
+

tsconfigPath

+
+

tsconfigPath: undefined | string

+
+
+

useHMR

+
+

useHMR: boolean

+
+

Defined in: types.ts:77

+
+

useSourceMaps

+
+

useSourceMaps: boolean

+
+

Defined in: types.ts:78

+
+

verbose?

+
+

optional verbose: boolean

+
+

Defined in: types.ts:35

+

Inherited from

+

ImaCliArgs.verbose

+
+

writeToDisk?

+
+

optional writeToDisk: boolean

+
+

Defined in: types.ts:47

+

Inherited from

+

ImaCliArgs.writeToDisk

+ + \ No newline at end of file diff --git a/api/@ima/cli/type-aliases/ImaCliCommand/index.html b/api/@ima/cli/type-aliases/ImaCliCommand/index.html new file mode 100644 index 000000000..1a38f5c9a --- /dev/null +++ b/api/@ima/cli/type-aliases/ImaCliCommand/index.html @@ -0,0 +1,18 @@ + + + + + +Type Alias: ImaCliCommand | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/cli/type-aliases/ImaConfig/index.html b/api/@ima/cli/type-aliases/ImaConfig/index.html new file mode 100644 index 000000000..518074dcf --- /dev/null +++ b/api/@ima/cli/type-aliases/ImaConfig/index.html @@ -0,0 +1,208 @@ + + + + + +Type Alias: ImaConfig | IMA.js + + + + +
Skip to main content

Type Alias: ImaConfig

+
+

ImaConfig: object

+
+

Defined in: types.ts:139

+

Ima config options. Some of these options can be overridden using Args, which takes precedence. +These are parsed from optional ima.config.js that can be defined in the root of the IMA.js project.

+

Type declaration

+

compress

+
+

compress: boolean

+
+

Enable brotli and gzip compression for production assets [default=true].

+

cssBrowsersTarget

+
+

cssBrowsersTarget: string

+
+

Browserslist configuration string for postcss-preset-env.

+

devServer?

+
+

optional devServer: object

+
+

HMR dev server settings.

+

devServer.hostname?

+
+

optional devServer.hostname: string

+
+

devServer.origin?

+
+

optional devServer.origin: string

+
+

Optional custom ima app origin (defaults to http://localhost:[environment.$Server.port]) +this is used for CORS configuration.

+

devServer.port?

+
+

optional devServer.port: number

+
+

devServer.publicUrl?

+
+

optional devServer.publicUrl: string

+
+

devServer.writeToDiskFilter()?

+
+

optional devServer.writeToDiskFilter: (filePath) => boolean

+
+

Custom filtr for files which should be always written to disk, +even if we're serving static files from memory. This is used for +example to always save runner.js to disk, since it's used on server-side too.

+
Parameters
+
filePath
+

string

+
Returns
+

boolean

+

disableLegacyBuild?

+
+

optional disableLegacyBuild: boolean

+
+

Disables build of 'client' legacy bundle.

+

experiments?

+
+

optional experiments: object

+
+

Experimental configurations which can be enabled individually on specific applications. +Some of these may find a way to default configuration in future versions of IMA.js.

+

experiments.css?

+
+

optional experiments.css: boolean

+
+

imageInlineSizeLimit

+
+

imageInlineSizeLimit: number

+
+

Threshold to inline image resources as base64 automatically [default=8192]

+

jsxRuntime?

+
+

optional jsxRuntime: "classic" | "automatic"

+
+

Set custom jsxRuntime, the default is 'automatic'.

+

languages

+
+

languages: Record<string, string[]>

+
+

Supported languages with glob paths of the files with translations

+

plugins?

+
+

optional plugins: ImaCliPlugin[]

+
+

Optional IMA cli plugins that can be used to easily extend +webpack config and cli with additional features.

+

postcss()

+
+

postcss: (config, ctx) => Promise<Record<string, unknown>>

+
+

Function which receives postcss-loader config and current context, this can be used +to customize existing default postcss config or completely replace it with a custom one.

+

Parameters

+
config
+

Record<string, unknown>

+
ctx
+

ImaConfigurationContext

+

Returns

+

Promise<Record<string, unknown>>

+

publicPath

+
+

publicPath: string

+
+

Webpack assets public path [default='']

+

sourceMaps?

+
+

optional sourceMaps: boolean | "eval" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map"

+
+

Set to true (or any preset from https://webpack.js.org/configuration/devtool/#devtool) +to enable source maps for production build. (dev/watch tasks always generate +source maps to work properly with error overlay).

+

swc()

+
+

swc: (config, ctx) => Promise<Record<string, unknown>>

+
+

Function which receives default app swc-loader config and current context, +this can be used for additional customization or returning completely different config.

+

Parameters

+
config
+

Record<string, unknown>

+
ctx
+

ImaConfigurationContext

+

Returns

+

Promise<Record<string, unknown>>

+

swcVendor()

+
+

swcVendor: (config, ctx) => Promise<Record<string, unknown>>

+
+

Function which receives default vendor swc-loader config and current context, +this can be used for additional customization of vendor processed files.

+

Parameters

+
config
+

Record<string, unknown>

+
ctx
+

ImaConfigurationContext

+

Returns

+

Promise<Record<string, unknown>>

+

transformVendorPaths?

+
+

optional transformVendorPaths: object

+
+

Advanced functionality allowing you to include/exclude custom vendor paths that go through +swc loader (configured using swcVendor function). Use this if you're using dependencies +that don't meet the lowest supported ES version target (ES9 by default). all packages in

+

Ima

+

namespace are included by default.

+

transformVendorPaths.exclude?

+
+

optional transformVendorPaths.exclude: RegExp[]

+
+

transformVendorPaths.include?

+
+

optional transformVendorPaths.include: RegExp[]

+
+

watchOptions

+
+

watchOptions: Watching["watchOptions"]

+
+

Custom options passed to webpack watch api interface. For more information see: +https://webpack.js.org/configuration/watch/#watchoptions

+

webpack()?

+
+

optional webpack: (config, ctx, imaConfig) => Promise<Configuration>

+
+

Webpack callback function can be used to completely customize default webpack config before it's run.

+

Parameters

+
config
+

Configuration

+
ctx
+

ImaConfigurationContext

+
imaConfig
+

ImaConfig

+

Returns

+

Promise<Configuration>

+

webpackAliases?

+
+

optional webpackAliases: ResolveOptions["alias"]

+
+

Optional custom webpack aliases

+

prepareConfigurations()?

+

Called right before creating webpack configurations after preProcess call. +This hook lets you customize configuration contexts for each webpack config +that will be generated. This is usefull when you need to overrite configuration +contexts for values that are not editable anywhere else (like output folders).

+

Parameters

+
configurations
+

ImaConfigurationContext[]

+
imaConfig
+

ImaConfig

+
args
+

ImaCliArgs

+

Returns

+

Promise<ImaConfigurationContext[]>

+ + \ No newline at end of file diff --git a/api/@ima/cli/variables/IMA_CONF_FILENAME/index.html b/api/@ima/cli/variables/IMA_CONF_FILENAME/index.html new file mode 100644 index 000000000..8f78f0b39 --- /dev/null +++ b/api/@ima/cli/variables/IMA_CONF_FILENAME/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: IMA\_CONF\_FILENAME | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/classes/AbstractController/index.html b/api/@ima/core/classes/AbstractController/index.html new file mode 100644 index 000000000..9a81c940f --- /dev/null +++ b/api/@ima/core/classes/AbstractController/index.html @@ -0,0 +1,436 @@ + + + + + +Class: AbstractController\<S, R, SS\> | IMA.js + + + + +
Skip to main content

Class: AbstractController<S, R, SS>

+

Defined in: packages/core/src/controller/AbstractController.ts:14

+

Basic implementation of the Controller interface, providing the +default implementation of the most of the API.

+

Extends

+ +

Type Parameters

+

S extends PageState = {}

+

R extends RouteParams = {}

+

SS extends S = S

+

Indexable

+

[key: string | number | symbol]: any

+

Constructors

+

new AbstractController()

+
+

new AbstractController<S, R, SS>(): AbstractController<R, SS>

+
+

Defined in: packages/core/src/controller/AbstractController.ts:41

+

Returns

+

AbstractController<R, SS>

+

Overrides

+

Controller.constructor

+

Properties

+

_extensions

+
+

protected _extensions: Map<keyof OCAliasMap | Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>>, Extension<PageState, RouteParams, PageState>>

+
+

Defined in: packages/core/src/controller/AbstractController.ts:20

+
+

_pageStateManager?

+
+

protected optional _pageStateManager: PageStateManager<SS>

+
+

Defined in: packages/core/src/controller/AbstractController.ts:19

+
+

params

+
+

params: R

+
+

Defined in: packages/core/src/controller/AbstractController.ts:35

+

The route parameters extracted from the current route. This field is +set externally by IMA right before the Controller#init or the +Controller#update method is called.

+
+

status

+
+

status: number = 200

+
+

Defined in: packages/core/src/controller/AbstractController.ts:29

+

The HTTP response code to send to the client.

+
+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/controller/AbstractController.ts:38

+

Overrides

+

Controller.$dependencies

+
+

$extensions?

+
+

static optional $extensions: Dependencies<Extension<any, any, any>>

+
+

Defined in: packages/core/src/controller/AbstractController.ts:39

+

Overrides

+

Controller.$extensions

+
+

$name?

+
+

static optional $name: string

+
+

Defined in: packages/core/src/controller/AbstractController.ts:37

+

Overrides

+

Controller.$name

+

Methods

+

activate()

+
+

activate(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:84

+

Callback for activating the controller in the UI. This is the last +method invoked during controller initialization, called after all the +promises returned from the Controller#load method have been +resolved and the controller has configured the meta manager.

+

The controller may register any React and DOM event listeners in this +method. The controller may start receiving event bus event after this +method completes.

+

Returns

+

void | Promise<void>

+

Inherited from

+

Controller.activate

+
+

addExtension()

+
+

addExtension(extension, extensionInstance?): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:95

+

Adds the provided extension to this controller. All extensions should be +added to the controller before the Controller#init method is +invoked.

+

Parameters

+
extension
+

keyof OCAliasMap | Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>> | Extension<PageState, RouteParams, PageState>

+
extensionInstance?
+

Extension<PageState, RouteParams, PageState>

+

Returns

+

void

+

Overrides

+

Controller.addExtension

+
+

beginStateTransaction()

+
+

beginStateTransaction(): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:68

+

Starts queueing state patches off the controller state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+

Overrides

+

Controller.beginStateTransaction

+
+

cancelStateTransaction()

+
+

cancelStateTransaction(): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:86

+

Cancels ongoing state transaction. Uncommitted state changes are lost.

+

Returns

+

void

+

Overrides

+

Controller.cancelStateTransaction

+
+

commitStateTransaction()

+
+

commitStateTransaction(): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:77

+

Applies queued state patches to the controller state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+

Overrides

+

Controller.commitStateTransaction

+
+

deactivate()

+
+

deactivate(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:99

+

Callback for deactivating the controller in the UI. This is the first +method invoked during controller deinitialization. This usually happens +when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the +Controller#activate method.

+

The controller should deregister listeners registered and release all +resources obtained in the Controller#activate method.

+

Returns

+

void | Promise<void>

+

Inherited from

+

Controller.deactivate

+
+

destroy()

+
+

destroy(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:70

+

Finalization callback, called when the controller is being discarded by +the application. This usually happens when the user navigates to a +different URL.

+

This method is the lifecycle counterpart of the Controller#init +method.

+

The controller should release all resources obtained in the +Controller#init method. The controller must release any resources +that might not be released automatically when the controller's instance +is destroyed by the garbage collector.

+

Returns

+

void | Promise<void>

+

Inherited from

+

Controller.destroy

+
+

getExtension()

+
+

getExtension(extension): undefined | Extension<PageState, RouteParams, PageState>

+
+

Defined in: packages/core/src/controller/AbstractController.ts:129

+

Returns extension instance defined by it's class constructor +from controller's extension intance map.

+

Parameters

+
extension
+

typeof Extension

+

Returns

+

undefined | Extension<PageState, RouteParams, PageState>

+

Overrides

+

Controller.getExtension

+
+

getExtensions()

+
+

getExtensions(): Extension[]

+
+

Defined in: packages/core/src/controller/AbstractController.ts:138

+

Returns the controller's extensions.

+

Returns

+

Extension[]

+

The extensions added to this controller.

+

Overrides

+

Controller.getExtensions

+
+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/controller/AbstractController.ts:166

+

Returns the HTTP status code to send to the client, should the +controller be used at the server-side.

+

Returns

+

number

+

The HTTP status code to send to the client.

+

Overrides

+

Controller.getHttpStatus

+
+

getRouteParams()

+
+

getRouteParams(): R

+
+

Defined in: packages/core/src/controller/AbstractController.ts:152

+

Returns the current route parameters.

+

Returns

+

R

+

The current route parameters.

+

Overrides

+

Controller.getRouteParams

+
+

getState()

+
+

getState(): SS

+
+

Defined in: packages/core/src/controller/AbstractController.ts:57

+

Returns the controller's current state.

+

Returns

+

SS

+

The current state of this controller.

+

Overrides

+

Controller.getState

+
+

init()

+
+

init(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:53

+

Callback for initializing the controller after the route parameters have +been set on this controller.

+

Returns

+

void | Promise<void>

+

Inherited from

+

Controller.init

+
+

load()

+
+

load(): S | Promise<S>

+
+

Defined in: packages/core/src/controller/Controller.ts:138

+

Callback the controller uses to request the resources it needs to render +its view. This method is invoked after the Controller#init +method.

+

The controller should request all resources it needs in this method, and +represent each resource request as a promise that will resolve once the +resource is ready for use (these can be data fetched over HTTP(S), +database connections, etc).

+

The method must return a plain flat object. The field names of the +object identify the resources being fetched and prepared, each value +must be either the resource (e.g. view configuration or a value +retrieved synchronously) or a Promise that will resolve to the resource.

+

The IMA will use the object to set the state of the controller.

+

If at the server side, the IMA will wait for all the promises to +resolve, replaces the promises with the resolved values and sets the +resulting object as the controller's state.

+

If at the client side, the IMA will first set the controller's state to +an object containing only the fields of the returned object that were +not promises. IMA will then update the controller's state every time a +promise of the returned object resolves. IMA will update the state by +adding the resolved resource to the controller's state.

+

Any returned promise that gets rejected will redirect the application to +the error page. The error page that will be used depends on the status +code of the error.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+

Inherited from

+

Controller.load

+
+

setMetaParams()

+
+

setMetaParams(loadedResources, metaManager, router, dictionary, settings): void

+
+

Defined in: packages/core/src/controller/Controller.ts:280

+

Callback used to configure the meta attribute manager. The method is +called after the the controller's state has been patched with the all +loaded resources and the view has been rendered.

+

Parameters

+
loadedResources
+

Intersection<Partial<Pick<SS, Matching<SS, Promise<any>>>>, Required<Pick<SS, NonMatching<SS, Promise<any>>>>>

+

A plain object representing a +map of resource names to resources loaded by the +Controller#load method. This is the same object as the one +passed to the Controller#setState method.

+
metaManager
+

MetaManager

+

Meta attributes manager to configure.

+
router
+

Router

+

The current application router.

+
dictionary
+

Dictionary

+

The current localization dictionary.

+
settings
+

Settings

+

The application settings for the +current application environment.

+

Returns

+

void

+

Inherited from

+

Controller.setMetaParams

+
+

setPageStateManager()

+
+

setPageStateManager(pageStateManager?): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:159

+

Sets the page state manager. The page state manager manages the +controller's state. The state manager can be set to null if this +controller loses the right to modify the state of the current page (e.g. +the user has navigated to a different route using a different +controller).

+

Parameters

+
pageStateManager?
+

PageStateManager<SS>

+

The current state manager to +use.

+

Returns

+

void

+

Overrides

+

Controller.setPageStateManager

+
+

setRouteParams()

+
+

setRouteParams(params): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:145

+

Sets the current route parameters. This method is invoked before the +Controller#init method.

+

Parameters

+
params
+

R = ...

+

The current route parameters.

+

Returns

+

void

+

Overrides

+

Controller.setRouteParams

+
+

setState()

+
+

setState<K>(statePatch): void

+
+

Defined in: packages/core/src/controller/AbstractController.ts:48

+

Patches the state of this controller using the provided object by +copying the provided patch object fields to the controller's state +object.

+

You can use this method to modify the state partially or add new fields +to the state object.

+

Note that the state is not patched recursively but by replacing the +values of the top-level fields of the state object.

+

Once the promises returned by the Controller#load method are +resolved, this method is called with the an object containing the +resolved values. The field names of the passed object will match the +field names in the object returned from the Controller#load +method.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
statePatch
+

Patch of the controller's state to +apply.

+

null | S | Pick<S, K>

+

Returns

+

void

+

Overrides

+

Controller.setState

+
+

update()

+
+

update(prevParams): S | Promise<S>

+
+

Defined in: packages/core/src/controller/Controller.ts:164

+

Callback for updating the controller after a route update. This method +is invoked if the current route has the onlyUpdate flag set to true and +the current controller and view match those used by the previously active +route, or, the onlyUpdate option of the current route is a callback and +returned true.

+

The method must return an object with the same semantics as the result +of the Controller#load method. The controller's state will only +be patched by the returned object instead of replacing it completely.

+

The other controller lifecycle callbacks (Controller#init, +Controller#load, Controller#activate, +Controller#deactivate, Controller#deinit) are not call +in case this method is used.

+

Parameters

+
prevParams
+

R = ...

+

Previous route +parameters.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+

Inherited from

+

Controller.update

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/AbstractExecution/index.html b/api/@ima/core/classes/AbstractExecution/index.html new file mode 100644 index 000000000..21fa19446 --- /dev/null +++ b/api/@ima/core/classes/AbstractExecution/index.html @@ -0,0 +1,88 @@ + + + + + +Class: abstract AbstractExecution | IMA.js + + + + +
Skip to main content

Class: abstract AbstractExecution

+

Defined in: packages/core/src/execution/AbstractExecution.ts:10

+

Basic implementation of the Execution interface. Provides the basic +functionality for appending and validating jobs.

+

Extends

+ +

Extended by

+ +

Constructors

+

new AbstractExecution()

+
+

new AbstractExecution(jobs): AbstractExecution

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:13

+

Parameters

+
jobs
+

ExecutionJob[] = []

+

Returns

+

AbstractExecution

+

Overrides

+

Execution.constructor

+

Properties

+

_jobs

+
+

protected _jobs: ExecutionJob[]

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:11

+

Methods

+

_validateJob()

+
+

_validateJob(job): boolean

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:44

+

Return true if the given job can be executed

+

Parameters

+
job
+

ExecutionJob

+

Returns

+

boolean

+
+

append()

+
+

append(jobs): void

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:22

+

Adds a new job to be executed. The job is appended at the end of the +list of current jobs therefore is executed last.

+

Parameters

+
jobs
+

The jobs to be executed.

+

ExecutionJob | ExecutionJob[]

+

Returns

+

void

+

Overrides

+

Execution.append

+
+

execute()

+
+

execute(...args): Promise<unknown>

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:33

+

Start executing collected jobs. In the end a Promise is returned +with a resulting value. On the returned Promise a catch +method can be called to prevent any unwanted interruption.

+

Parameters

+
args
+

...unknown[]

+

Arguments to be passed when executing jobs

+

Returns

+

Promise<unknown>

+

Overrides

+

Execution.execute

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/AbstractExtension/index.html b/api/@ima/core/classes/AbstractExtension/index.html new file mode 100644 index 000000000..7c7eea75b --- /dev/null +++ b/api/@ima/core/classes/AbstractExtension/index.html @@ -0,0 +1,406 @@ + + + + + +Class: abstract AbstractExtension\<S, R, SS\> | IMA.js + + + + +
Skip to main content

Class: abstract AbstractExtension<S, R, SS>

+

Defined in: packages/core/src/extension/AbstractExtension.ts:11

+

Abstract extension

+

Extends

+ +

Type Parameters

+

S extends PageState = {}

+

R extends RouteParams = {}

+

SS extends S = S

+

Indexable

+

[key: string | number | symbol]: any

+

Constructors

+

new AbstractExtension()

+
+

new AbstractExtension<S, R, SS>(): AbstractExtension<R, SS>

+
+

Returns

+

AbstractExtension<R, SS>

+

Inherited from

+

Extension.constructor

+

Properties

+

_pageStateManager?

+
+

protected optional _pageStateManager: PageStateManager<SS>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:24

+

State manager.

+
+

_partialStateSymbol

+
+

protected _partialStateSymbol: symbol

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:30

+
+

_usingStateManager

+
+

protected _usingStateManager: boolean = false

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:29

+

Flag indicating whether the PageStateManager should be used instead +of partial state.

+
+

params

+
+

params: R

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:39

+

The route parameters extracted from the current route.

+
+

status

+
+

status: number = 200

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:35

+

The HTTP response code to send to the client.

+
+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:17

+

Overrides

+

Extension.$dependencies

+
+

$name?

+
+

static optional $name: string

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:16

+

Overrides

+

Extension.$name

+

Methods

+

activate()

+
+

activate(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:58

+

Callback for activating the extension in the UI. This is the last +method invoked during controller (and extensions) initialization, called +after all the promises returned from the Extension#load method have +been resolved and the controller has configured the meta manager.

+

The extension may register any React and DOM event listeners in this +method. The extension may start receiving event bus event after this +method completes.

+

Returns

+

void | Promise<void>

+

Overrides

+

Extension.activate

+
+

beginStateTransaction()

+
+

beginStateTransaction(): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:109

+

Starts queueing state patches off the controller state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+

Overrides

+

Extension.beginStateTransaction

+
+

cancelStateTransaction()

+
+

cancelStateTransaction(): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:127

+

Cancels ongoing state transaction. Uncommitted state changes are lost.

+

Returns

+

void

+

Overrides

+

Extension.cancelStateTransaction

+
+

clearPartialState()

+
+

clearPartialState(): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:155

+

Clears the current partial state of the extension and sets it value to empty object.

+

Returns

+

void

+

Overrides

+

Extension.clearPartialState

+
+

commitStateTransaction()

+
+

commitStateTransaction(): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:118

+

Applies queued state patches to the controller state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+

Overrides

+

Extension.commitStateTransaction

+
+

deactivate()

+
+

deactivate(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:65

+

Callback for deactivating the extension in the UI. This is the first +method invoked during extension deinitialization. This usually happens +when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the Extension#activate +method.

+

The extension should deregister listeners registered and release all +resources obtained in the Extension#activate method.

+

Returns

+

void | Promise<void>

+

Overrides

+

Extension.deactivate

+
+

destroy()

+
+

destroy(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:51

+

Finalization callback, called when the controller is being discarded by +the application. This usually happens when the user navigates to a +different URL.

+

This method is the lifecycle counterpart of the Extension#init +method.

+

The extension should release all resources obtained in the +Extension#init method. The extension must release any resources +that might not be released automatically when the extensions's instance +is destroyed by the garbage collector.

+

Returns

+

void | Promise<void>

+

Overrides

+

Extension.destroy

+
+

getAllowedStateKeys()

+
+

getAllowedStateKeys(): keyof S[]

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:204

+

Returns array of allowed state keys for extension.

+

Returns

+

keyof S[]

+

Overrides

+

Extension.getAllowedStateKeys

+
+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:197

+

Returns

+

number

+

Inherit Doc

+
+

getPartialState()

+
+

getPartialState(): Partial<SS>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:148

+

Returns the current partial state of the extension.

+

Returns

+

Partial<SS>

+

The current partial state of the extension.

+

Overrides

+

Extension.getPartialState

+
+

getRouteParams()

+
+

getRouteParams(): R

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:169

+

Returns the current route parameters.

+

Returns

+

R

+

The current route parameters.

+

Overrides

+

Extension.getRouteParams

+
+

getState()

+
+

getState(): SS

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:98

+

Returns the current state of the controller using this extension.

+

Returns

+

SS

+

The current state of the controller.

+

Overrides

+

Extension.getState

+
+

init()

+
+

init(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:44

+

Callback for initializing the controller extension after the route +parameters have been set on this extension.

+

Returns

+

void | Promise<void>

+

Overrides

+

Extension.init

+
+

load()

+
+

load(): S | Promise<S>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:72

+

Callback the extension uses to request the resources it needs to render +its related parts of the view. This method is invoked after the +Extension#init method.

+

The extension should request all resources it needs in this method, and +represent each resource request as a promise that will resolve once the +resource is ready for use (these can be data fetched over HTTP(S), +database connections, etc).

+

The method must return a plain flat object. The field names of the +object identify the resources being fetched and prepared, each value +must be either the resource (e.g. view configuration or a value +retrieved synchronously) or a Promise that will resolve to the resource.

+

The IMA will use the object to set the state of the controller.

+

Any returned promise that gets rejected will redirect the application to +the error page. The error page that will be used depends on the status +code of the error.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+

Overrides

+

Extension.load

+
+

setPageStateManager()

+
+

setPageStateManager(pageStateManager?): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:176

+

Sets the state manager used to manage the controller's state..

+

Parameters

+
pageStateManager?
+

PageStateManager<SS>

+

The current state manager to +use.

+

Returns

+

void

+

Overrides

+

Extension.setPageStateManager

+
+

setPartialState()

+
+

setPartialState(partialStatePatch): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:136

+

Patches the partial state of the extension. The extension is able +during its load and update phase receive state from active controller +using this extension and from previously loaded/updated extensions.

+

Parameters

+
partialStatePatch
+

S

+

Patch of the controller's state to apply.

+

Returns

+

void

+

Overrides

+

Extension.setPartialState

+
+

setRouteParams()

+
+

setRouteParams(params): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:162

+

Sets the current route parameters. This method is invoked before the +Extension#init method.

+

Parameters

+
params
+

R = ...

+

The current route parameters.

+

Returns

+

void

+

Overrides

+

Extension.setRouteParams

+
+

setState()

+
+

setState<K>(statePatch): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:89

+

Patches the state of the controller using this extension by using the +provided object by copying the provided patch object fields to the +controller's state object.

+

Note that the state is not patched recursively but by replacing the +values of the top-level fields of the state object.

+

Note that the extension may modify only the fields of the state that it +has specified by its Extension#getAllowedStateKeys method.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
statePatch
+

Patch of the controller's state to apply.

+

null | S | Pick<S, K>

+

Returns

+

void

+

Overrides

+

Extension.setState

+
+

switchToPartialState()

+
+

switchToPartialState(): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:190

+

Disables using PageStateManager for getting state.

+

Returns

+

void

+

Overrides

+

Extension.switchToPartialState

+
+

switchToStateManager()

+
+

switchToStateManager(): void

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:183

+

Enables using PageStateManager for getting state.

+

Returns

+

void

+

Overrides

+

Extension.switchToStateManager

+
+

update()

+
+

update(prevParams): S | Promise<S>

+
+

Defined in: packages/core/src/extension/AbstractExtension.ts:82

+

Callback for updating the extension after a route update. This method +is invoked if the current route has the onlyUpdate flag set to true and +the current controller and view match those used by the previously active +route, or, the onlyUpdate option of the current route is a callback and +returned true.

+

The method must return an object with the same semantics as the result +of the Extension#load method. The controller's state will then be +patched by the returned object.

+

The other extension lifecycle callbacks (Extension#init, +Extension#load, Extension#activate, +Extension#deactivate, Extension#deinit) are not call in +case this method is used.

+

Parameters

+
prevParams
+

R = ...

+

Previous route +parameters.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+

Overrides

+

Extension.update

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/AbstractPageManager/index.html b/api/@ima/core/classes/AbstractPageManager/index.html new file mode 100644 index 000000000..bfda23d3a --- /dev/null +++ b/api/@ima/core/classes/AbstractPageManager/index.html @@ -0,0 +1,537 @@ + + + + + +Class: abstract AbstractPageManager | IMA.js + + + + +
Skip to main content

Class: abstract AbstractPageManager

+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:52

+

Page manager for controller.

+

Extends

+ +

Extended by

+ +

Constructors

+

new AbstractPageManager()

+
+

new AbstractPageManager(pageFactory, pageRenderer, pageStateManager, pageHandlerRegistry, dispatcher): AbstractPageManager

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:95

+

Initializes the page manager.

+

Parameters

+
pageFactory
+

PageFactory

+

Factory used by the page manager to +create instances of the controller for the current route, and +decorate the controllers and page state managers.

+
pageRenderer
+

PageRenderer

+

The current renderer of the page.

+
pageStateManager
+

PageStateManager

+

The current page state +manager.

+
pageHandlerRegistry
+

PageHandlerRegistry

+

Instance of HandlerRegistry that +holds a list of pre-manage and post-manage handlers.

+
dispatcher
+

Dispatcher

+

Returns

+

AbstractPageManager

+

Overrides

+

PageManager.constructor

+

Properties

+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:81

+
+

_managedPage

+
+

protected _managedPage: ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:68

+

Details of the currently managed page.

+
+

_pageFactory

+
+

protected _pageFactory: PageFactory

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:63

+

Factory used by the page manager to create instances of the +controller for the current route, and decorate the controllers and +page state managers.

+
+

_pageHandlerRegistry

+
+

protected _pageHandlerRegistry: PageHandlerRegistry

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:80

+

A registry that holds a list of pre-manage and post-manage handlers.

+
+

_pageRenderer

+
+

protected _pageRenderer: PageRenderer

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:72

+

The current renderer of the page.

+
+

_pageStateManager

+
+

protected _pageStateManager: PageStateManager

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:76

+

The current page state manager.

+
+

_previousManagedPage

+
+

protected _previousManagedPage: ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:57

+

Snapshot of the previously managed page before it was replaced with +a new one

+

Methods

+

_activateController()

+
+

protected _activateController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:549

+

Activate managed instance of controller.

+

Returns

+

Promise<void>

+
+

_activateExtensions()

+
+

protected _activateExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:563

+

Activate extensions for managed instance of controller.

+

Returns

+

Promise<void>

+
+

_activatePageSource()

+
+

protected _activatePageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:529

+

Activate page source so call activate method on controller and his +extensions.

+

Returns

+

Promise<void>

+
+

_clearComponentState()

+
+

_clearComponentState(options): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:753

+

The method clear state on current rendered component to DOM.

+

Parameters

+
options
+

RouteOptions

+

The current route options.

+

Returns

+

void

+
+

_constructManagedPageValue()

+
+

protected _constructManagedPageValue(controller, view, route, options, params, controllerInstance, decoratedController, viewInstance): ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:245

+

Parameters

+
controller
+

RouteController

+
view
+

unknown

+
route
+

AbstractRoute<string | RoutePathExpression>

+
options
+

RouteOptions

+
params
+

RouteParams

+
controllerInstance
+

Controller<PageState, RouteParams, PageState>

+
decoratedController
+

ControllerDecorator

+
viewInstance
+

unknown

+

Returns

+

ManagedPage

+
+

_deactivateController()

+
+

protected _deactivateController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:691

+

Deactivate last managed instance of controller only If controller was +activated.

+

Returns

+

Promise<void>

+
+

_deactivateExtensions()

+
+

protected _deactivateExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:702

+

Deactivate extensions for last managed instance of controller only if +they were activated.

+

Returns

+

Promise<void>

+
+

_deactivatePageSource()

+
+

protected _deactivatePageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:677

+

Deactivate page source so call deactivate method on controller and his +extensions.

+

Returns

+

Promise<void>

+
+

_destroyController()

+
+

protected _destroyController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:726

+

Destroy last managed instance of controller.

+

Returns

+

Promise<void>

+
+

_destroyExtensions()

+
+

protected _destroyExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:739

+

Destroy extensions for last managed instance of controller.

+

Returns

+

Promise<void>

+
+

_destroyPageSource()

+
+

protected _destroyPageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:714

+

Destroy page source so call destroy method on controller and his +extensions.

+

Returns

+

Promise<void>

+
+

_getInitialManagedPage()

+
+

protected _getInitialManagedPage(): ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:302

+

Clear value from managed page.

+

Returns

+

ManagedPage

+
+

_getLoadedControllerState()

+
+

protected _getLoadedControllerState(): Promise<{}>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:485

+

Load controller state from managed instance of controller.

+

Returns

+

Promise<{}>

+
+

_getLoadedExtensionsState()

+
+

protected _getLoadedExtensionsState(controllerState?): Promise<UnknownParameters>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:501

+

Load extensions state from managed instance of controller.

+

Parameters

+
controllerState?
+

UnknownParameters

+

Returns

+

Promise<UnknownParameters>

+
+

_getUpdatedControllerState()

+
+

protected _getUpdatedControllerState(): {} | Promise<{}>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:621

+

Return updated controller state for current page controller.

+

Returns

+

{} | Promise<{}>

+
+

_getUpdatedExtensionsState()

+
+

protected _getUpdatedExtensionsState(controllerState?): Promise<UnknownParameters>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:637

+

Return updated extensions state for current page controller.

+

Parameters

+
controllerState?
+

UnknownParameters

+

Returns

+

Promise<UnknownParameters>

+
+

_hasOnlyUpdate()

+
+

protected _hasOnlyUpdate(controller, view, options): boolean

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:769

+

Return true if manager has to update last managed controller and view.

+

Parameters

+
controller
+

RouteController

+
view
+

unknown

+
options
+

RouteOptions

+

Returns

+

boolean

+
+

_initController()

+
+

protected _initController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:398

+

Initializes managed instance of controller with the provided parameters.

+

Returns

+

Promise<void>

+
+

_initExtensions()

+
+

protected _initExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:413

+

Initialize extensions for managed instance of controller with the +provided parameters.

+

Returns

+

Promise<void>

+
+

_initPageSource()

+
+

protected _initPageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:383

+

Initialize page source so call init method on controller and his +extensions.

+

Returns

+

Promise<void>

+
+

_loadPageSource()

+
+

protected _loadPageSource(): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:443

+

Load page source so call load method on controller and his extensions. +Merge loaded state and render it.

+

Returns

+

Promise<void | PageData>

+
+

_runPostManageHandlers()

+
+

protected _runPostManageHandlers(previousManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:809

+

Parameters

+
previousManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+
+

_runPreManageHandlers()

+
+

protected _runPreManageHandlers(actualManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:788

+

Parameters

+
actualManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+
+

_setRestrictedPageStateManager()

+
+

_setRestrictedPageStateManager(extension, extensionState): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:342

+

Set page state manager to extension which has restricted rights to set +global state.

+

Parameters

+
extension
+

Extension

+
extensionState
+

UnknownParameters

+

Returns

+

void

+
+

_storeManagedPageSnapshot()

+
+

protected _storeManagedPageSnapshot(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:281

+

Creates a cloned version of currently managed page and stores it in +a helper property. +Snapshot is used in manager handlers to easily determine differences +between the current and the previous state.

+

Returns

+

void

+
+

_stripManagedPageValueForPublic()

+
+

protected _stripManagedPageValueForPublic(value): object

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:332

+

Removes properties we do not want to propagate outside of the page manager

+

Parameters

+
value
+

ManagedPage

+

The managed page object to strip down

+

Returns

+

object

+
controller
+
+

controller: RouteController

+
+
options
+
+

options: RouteOptions

+
+
params
+
+

params: RouteParams

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+
view
+
+

view: unknown

+
+
+

_switchToPageStateManager()

+
+

protected _switchToPageStateManager(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:430

+

Iterates over extensions of current controller and switches each one to +pageStateManager and clears their partial state.

+

Returns

+

void

+
+

_switchToPageStateManagerAfterLoaded()

+
+

_switchToPageStateManagerAfterLoaded(extension, extensionState): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:363

+

For defined extension switches to pageStageManager and clears partial state +after extension state is loaded.

+

Parameters

+
extension
+

Extension

+
extensionState
+

UnknownParameters

+

Returns

+

void

+
+

_updatePageSource()

+
+

protected _updatePageSource(): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:580

+

Update page source so call update method on controller and his +extensions. Merge updated state and render it.

+

Returns

+

Promise<void | PageData>

+
+

destroy()

+
+

destroy(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:232

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

Promise<void>

+

Overrides

+

PageManager.destroy

+
+

getViewController()

+
+

protected getViewController(route): Promise<{ controller: RouteController; view: RouteView; }>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:833

+

Parameters

+
route
+

AbstractRoute<string | RoutePathExpression>

+

Returns

+

Promise<{ controller: RouteController; view: RouteView; }>

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:114

+

Initializes the page manager.

+

Returns

+

void

+

Overrides

+

PageManager.init

+
+

manage()

+
+

manage(__namedParameters): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:133

+

Starts to manage the provided controller and its view. The manager +stops the management of any previously managed controller and view.

+

The controller and view will be initialized and rendered either into the +UI (at the client-side) or to the response to send to the client (at the +server-side).

+

Parameters

+
__namedParameters
+

ManageArgs

+

Returns

+

Promise<void | PageData>

+

A promise that will resolve to information about the rendered page. +The status will contain the HTTP status code to send to the +client (at the server side) or determine the type of error page +to navigate to (at the client side).

+

Overrides

+

PageManager.manage

+
+

postManage()

+
+

postManage(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:223

+

Called by router after currently managed route is resolved.

+

Returns

+

void

+

Overrides

+

PageManager.postManage

+
+

preManage()

+
+

preManage(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:123

+

Pre manage handler, should be called and awaited before tryint to handle +new route handler. This pre manage takes care of canceling any currently +executed route handlers and returns promise which is resolved when previous +page finished loading (even if it got canceled).

+

Returns

+

Promise<void>

+

Overrides

+

PageManager.preManage

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/AbstractRoute/index.html b/api/@ima/core/classes/AbstractRoute/index.html new file mode 100644 index 000000000..74b2d749a --- /dev/null +++ b/api/@ima/core/classes/AbstractRoute/index.html @@ -0,0 +1,284 @@ + + + + + +Class: abstract AbstractRoute\<T\> | IMA.js + + + + +
Skip to main content

Class: abstract AbstractRoute<T>

+

Defined in: packages/core/src/router/AbstractRoute.ts:43

+

Utility for representing and manipulating a single route in the router's +configuration.

+

Extended by

+ +

Type Parameters

+

T extends string | RoutePathExpression

+

Constructors

+

new AbstractRoute()

+
+

new AbstractRoute<T>(name, pathExpression, controller, view, options?): AbstractRoute<T>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:91

+

Initializes the route.

+

Parameters

+
name
+

string

+

The unique name of this route, identifying it among +the rest of the routes in the application.

+
pathExpression
+

T

+

Path expression used in route matching, to generate +valid path with provided params and parsing params from current path.

+
controller
+

AsyncRouteController

+

The full name of Object Container alias +identifying the controller associated with this route.

+
view
+

AsyncRouteView

+

The full name or Object Container alias identifying +the view class associated with this route.

+
options?
+

Partial<RouteFactoryOptions>

+

The route additional options.

+

Returns

+

AbstractRoute<T>

+

Properties

+

_controller

+
+

protected _controller: object

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:58

+

The full name of Object Container alias identifying the controller +associated with this route.

+

cached

+
+

cached: null | RouteController | Promise<RouteController>

+
+

controller

+
+

controller: AsyncRouteController

+
+

resolved

+
+

resolved: boolean

+
+
+

_name

+
+

protected _name: string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:48

+

The unique name of this route, identifying it among the rest of the +routes in the application.

+
+

_options

+
+

protected _options: RouteFactoryOptions

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:76

+

The route additional options.

+
+

_pathExpression

+
+

protected _pathExpression: T

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:53

+

Path expression used in route matching, to generate valid path with +provided params and parsing params from current path.

+
+

_view

+
+

protected _view: object

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:67

+

The full name or Object Container alias identifying the view class +associated with this route.

+

cached

+
+

cached: null | RouteView | Promise<RouteView>

+
+

resolved

+
+

resolved: boolean

+
+

view

+
+

view: AsyncRouteView

+
+

Methods

+

extractParameters()

+
+

extractParameters(path, baseUrl): RouteParams<{}>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:292

+

Extracts the parameter values from the provided path. The method +extracts both the in-path parameters and parses the query, allowing the +query parameters to override the in-path parameters.

+

The method returns an empty hash object if the path does not match this +route.

+

Parameters

+
path
+

string

+

Currently routed path.

+
baseUrl
+

string

+

Currently routed baseUrl.

+

Returns

+

RouteParams<{}>

+

Map of parameter names to parameter +values.

+
+

getController()

+
+

getController(): RouteController | Promise<RouteController>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:153

+

Returns Controller class/alias/constant associated with this route. +Internally caches async calls for dynamically imported controllers, +meaning that once they're loaded, you get the same promise for +subsequent calls.

+

Returns

+

RouteController | Promise<RouteController>

+

The Controller class/alias/constant.

+
+

getName()

+
+

getName(): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:132

+

Returns the unique identifying name of this route.

+

Returns

+

string

+

The name of the route, identifying it.

+
+

getOptions()

+
+

getOptions(): RouteFactoryOptions

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:210

+

Return route additional options.

+

Returns

+

RouteFactoryOptions

+
+

getPathExpression()

+
+

getPathExpression(): T

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:220

+

Path expression used in route matching, to generate valid path with +provided params and parsing params from current path.

+

Returns

+

T

+

The path expression.

+
+

getTrimmedPath()

+
+

getTrimmedPath(path): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:230

+

Trims the trailing forward slash from the provided URL path.

+

Parameters

+
path
+

string

+

The path to trim.

+

Returns

+

string

+

Trimmed path.

+
+

getView()

+
+

getView(): RouteView | Promise<RouteView>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:185

+

Returns View class/alias/constant associated with this route. +Internally caches async calls for dynamically imported views, +meaning that once they're loaded, you get the same promise for +subsequent calls.

+

Returns

+

RouteView | Promise<RouteView>

+

The View class/alias/constant.

+
+

isAsync()

+
+

isAsync(module): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:139

+

Checks if given argument is an async handler.

+

Parameters

+
module
+

unknown

+

Returns

+

boolean

+
+

isControllerResolved()

+
+

isControllerResolved(): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:173

+

Returns true for resolved controller. This is always true +for sync route views.

+

Returns

+

boolean

+
+

isViewResolved()

+
+

isViewResolved(): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:203

+

Returns true for resolved view. This is always true +for sync route views.

+

Returns

+

boolean

+
+

matches()

+
+

matches(path): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:271

+

Tests whether the provided URL path matches this route. The provided +path may contain the query.

+

Parameters

+
path
+

string

+

The URL path.

+

Returns

+

boolean

+

true if the provided path matches this route.

+
+

preload()

+
+

preload(): Promise<[RouteController, RouteView]>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:239

+

Preloads dynamically imported view and controller.

+

Returns

+

Promise<[RouteController, RouteView]>

+

Promise.All resolving to [view, controller] tuple.

+
+

toPath()

+
+

toPath(params): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:256

+

Creates the URL and query parts of a URL by substituting the route's +parameter placeholders by the provided parameter value.

+

The extraneous parameters that do not match any of the route's +placeholders will be appended as the query string.

+

Parameters

+
params
+

RouteParams<{}>

+

The route +parameter values.

+

Returns

+

string

+

Path and, if necessary, query parts of the URL +representing this route with its parameters replaced by the +provided parameter values.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/AbstractRouter/index.html b/api/@ima/core/classes/AbstractRouter/index.html new file mode 100644 index 000000000..f0199b144 --- /dev/null +++ b/api/@ima/core/classes/AbstractRouter/index.html @@ -0,0 +1,727 @@ + + + + + +Class: abstract AbstractRouter | IMA.js + + + + +
Skip to main content

Class: abstract AbstractRouter

+

Defined in: packages/core/src/router/AbstractRouter.ts:49

+

The basic implementation of the Router interface, providing the +common or default functionality for parts of the API.

+

Extends

+ +

Extended by

+ +

Constructors

+

new AbstractRouter()

+
+

new AbstractRouter(pageManager, factory, dispatcher, settings): AbstractRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:125

+

Initializes the router.

+

Parameters

+
pageManager
+

PageManager

+

The page manager handling UI rendering, +and transitions between pages if at the client side.

+
factory
+

RouteFactory

+

Factory for routes.

+
dispatcher
+

Dispatcher

+

Dispatcher fires events to app.

+
settings
+

undefined | number | { isSPARouted: (url, action?) => boolean; middlewareTimeout: number; }

+

Returns

+

AbstractRouter

+

Examples

+
router.link('article', {articleId: 1});
+
router.redirect('http://www.example.com/web');
+
router.add(
'home',
'/',
ns.app.page.home.Controller,
ns.app.page.home.View,
{
onlyUpdate: false,
autoScroll: true,
documentView: null,
managedRootView: null,
viewAdapter: null
}
);
+

Overrides

+

Router.constructor

+

Properties

+

_currentlyRoutedPath

+
+

protected _currentlyRoutedPath: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:93

+
+

_currentMiddlewareId

+
+

protected _currentMiddlewareId: number = 0

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:92

+

Middleware ID counter which is used to auto-generate unique middleware +names when adding them to routeHandlers map.

+
+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:62

+

Dispatcher fires events to app.

+
+

_factory

+
+

protected _factory: RouteFactory

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:58

+

Factory for routes.

+
+

_host

+
+

protected _host: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:71

+

The application's host.

+
+

_isSPARouted

+
+

protected _isSPARouted: undefined | (url, action?) => boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:95

+
+

_languagePartPath

+
+

protected _languagePartPath: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:80

+

The URL path fragment used as a suffix to the _root field +that specifies the current language.

+
+

_middlewareTimeout

+
+

protected _middlewareTimeout: number

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:94

+
+

_pageManager

+
+

protected _pageManager: PageManager

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:54

+

The page manager handling UI rendering, and transitions between +pages if at the client side.

+
+

_protocol

+
+

protected _protocol: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:67

+

The current protocol used to access the application, terminated by a +colon (for example https:).

+
+

_root

+
+

protected _root: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:75

+

The URL path pointing to the application's root.

+
+

_routeHandlers

+
+

protected _routeHandlers: Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:84

+

Storage of all known routes and middlewares. The key are their names.

+

Methods

+

_extractRoutePath()

+
+

protected _extractRoutePath(path): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:526

+

Strips the URL path part that points to the application's root (base +URL) from the provided path.

+

Parameters

+
path
+

string

+

Relative or absolute URL path.

+

Returns

+

string

+

URL path relative to the application's base URL.

+
+

_getCurrentlyRoutedPath()

+
+

_getCurrentlyRoutedPath(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:664

+

Returns path that is stored in private property when a route +method is called.

+

Returns

+

string

+
+

_getMiddlewaresForRoute()

+
+

_getMiddlewaresForRoute(routeName): RouterMiddleware[]

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:642

+

Returns middlewares preceding given route name.

+

Parameters

+
routeName
+

string

+

Returns

+

RouterMiddleware[]

+
+

_handle()

+
+

_handle(route, params, options?, action?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:549

+

Handles the provided route and parameters by initializing the route's +controller and rendering its state via the route's view.

+

The result is then sent to the client if used at the server side, or +displayed if used as the client side.

+

Parameters

+
route
+

AbstractRoute<string | RoutePathExpression>

+

The route that should have its +associated controller rendered via the associated view.

+
params
+

RouteParams

+

Parameters extracted from +the URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in the +routes.js configuration file.

+
action?
+

RouteAction

+

An action +object describing what triggered this routing.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise that resolves when the +page is rendered and the result is sent to the client, or +displayed if used at the client side.

+
+

_runMiddlewares()

+
+

_runMiddlewares(middlewares, params, locals): Promise<void>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:677

+

Runs provided middlewares in sequence.

+

Parameters

+
middlewares
+

Array of middlewares.

+

undefined | RouterMiddleware[]

+
params
+

RouteParams

+

Router params that can be +mutated by middlewares.

+
locals
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void>

+
+

add()

+
+

add(name, pathExpression, controller, view, options?): AbstractRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:167

+

Adds a new route to router.

+

Parameters

+
name
+

string

+

The unique name of this route, identifying it among +the rest of the routes in the application.

+
pathExpression
+

string

+

A path expression specifying the URL path +part matching this route (must not contain a query string), +optionally containing named parameter placeholders specified as +:parameterName. The name of the parameter is terminated +by a forward slash (/) or the end of the path expression +string. +The path expression may also contain optional parameters, which +are specified as :?parameterName. It is recommended to +specify the optional parameters at the end of the path +expression.

+
controller
+

AsyncRouteController

+

The full name of Object Container alias +identifying the controller associated with this route.

+
view
+

AsyncRouteView

+

The full name or Object Container alias identifying +the view class associated with this route.

+
options?
+

Partial<RouteOptions>

+

Additional route options, specified how the navigation to the +route will be handled. +The onlyUpdate can be either a flag signalling whether +the current controller and view instances should be kept if they +match the ones used by the previous route; or a callback function +that will receive the previous controller and view identifiers +used in the previously matching route, and returns a +boolean representing the value of the flag. This flag is +disabled by default. +The autoScroll flag signals whether the page should be +scrolled to the top when the navigation takes place. This flag is +enabled by default.

+

Returns

+

AbstractRouter

+

This router.

+

Throws

+

Thrown if a route with the same name already exists.

+

Overrides

+

Router.add

+
+

getBaseUrl()

+
+

getBaseUrl(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:243

+

Returns the application's absolute base URL, pointing to the public root +of the application.

+

Returns

+

string

+

The application's base URL.

+

Overrides

+

Router.getBaseUrl

+
+

getCurrentRouteInfo()

+
+

getCurrentRouteInfo(): object

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:271

+

Returns the information about the currently active route.

+

Returns

+

object

+
params
+
+

params: RouteParams<{}>

+
+
path
+
+

path: string

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+

Throws

+

Thrown if a route is not define for current path.

+

Overrides

+

Router.getCurrentRouteInfo

+
+

getDomain()

+
+

getDomain(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:250

+

Returns the application's domain in the following form +${protocol}//${host}.

+

Returns

+

string

+

The current application's domain.

+

Overrides

+

Router.getDomain

+
+

getHost()

+
+

getHost(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:257

+

Returns application's host (domain and, if necessary, the port number).

+

Returns

+

string

+

The current application's host.

+

Overrides

+

Router.getHost

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:227

+

Returns the current path part of the current URL, including the query +string (if any).

+

Returns

+

string

+

The path and query parts of the current URL.

+

Overrides

+

Router.getPath

+
+

getProtocol()

+
+

getProtocol(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:264

+

Returns the current protocol used to access the application, terminated +by a colon (for example https:).

+

Returns

+

string

+

The current application protocol used to access the +application.

+

Overrides

+

Router.getProtocol

+
+

getRouteHandler()

+
+

getRouteHandler(name): undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:220

+

Returns specified handler from registered route handlers.

+

Parameters

+
name
+

string

+

The route's unique name.

+

Returns

+

undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+

Route with given name or undefined.

+

Overrides

+

Router.getRouteHandler

+
+

getRouteHandlers()

+
+

getRouteHandlers(): Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:297

+

Returns

+

Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+

Inherit Doc

+
+

getRouteHandlersByPath()

+
+

getRouteHandlersByPath(path): object

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:615

+

Returns the route matching the provided URL path part (the path may +contain a query) and all middlewares preceding this route definition.

+

Parameters

+
path
+

string

+

The URL path.

+

Returns

+

object

+

The route +matching the path and middlewares preceding it or {} +(empty object) if no such route exists.

+
middlewares
+
+

middlewares: RouterMiddleware[]

+
+
route?
+
+

optional route: AbstractRoute<string | RoutePathExpression>

+
+
+

getUrl()

+
+

getUrl(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:236

+

Returns the current absolute URL (including protocol, host, query, etc).

+

Returns

+

string

+

The current absolute URL.

+

Overrides

+

Router.getUrl

+
+

handleError()

+
+

handleError(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:402

+

Handles an internal server error by responding with the appropriate +"internal server error" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved when the error +has been handled and the response has been sent to the client, +or displayed if used at the client side.

+

Overrides

+

Router.handleError

+
+

handleNotFound()

+
+

handleNotFound(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:454

+

Handles a "not found" error by responding with the appropriate "not +found" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+

Overrides

+

Router.handleNotFound

+
+

init()

+
+

init(config): void

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:151

+

Initializes the router with the provided configuration.

+

Parameters

+
config
+

Router configuration. +The $Protocol field must be the current protocol used to +access the application, terminated by a colon (for example +https:). +The $Root field must specify the URL path pointing to the +application's root. +The $LanguagePartPath field must be the URL path fragment +used as a suffix to the $Root field that specifies the +current language. +The $Host field must be the application's domain (and the +port number if other than the default is used) in the following +form: ${protocol}//${host}.

+
$Host
+

string

+
$LanguagePartPath
+

string

+
$Protocol
+

string

+
$Root
+

string

+

Returns

+

void

+

Overrides

+

Router.init

+
+

isClientError()

+
+

isClientError(reason): boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:507

+

Tests, if possible, whether the specified error was caused by the +client's action (for example wrong URL or request encoding) or by a +failure at the server side.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+

Overrides

+

Router.isClientError

+
+

isRedirection()

+
+

isRedirection(reason): boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:514

+

Tests, if possible, whether the specified error lead to redirection.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +redirection.

+

Overrides

+

Router.isRedirection

+
+ +
+

link(routeName, params): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:338

+

Generates an absolute URL (including protocol, domain, etc) for the +specified route by substituting the route's parameter placeholders with +the provided parameter values.

+

Parameters

+
routeName
+

string

+

The unique name of the route, identifying the +route to use.

+
params
+

RouteParams

+

Parameter values for the route's +parameter placeholders. Extraneous parameters will be added as +URL query.

+

Returns

+

string

+

An absolute URL for the specified route and parameters.

+

Overrides

+

Router.link

+
+

listen()

+
+

abstract listen(): this

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:305

+

Registers event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will start processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This +method has no effect at the server side.

+

Returns

+

this

+

This router.

+

Overrides

+

Router.listen

+
+

redirect()

+
+

redirect(url, options?, action?, locals?): void

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:323

+

Redirects the client to the specified location.

+

At the server side the method results in responding to the client with a +redirect HTTP status code and the Location header.

+

At the client side the method updates the current URL by manipulating +the browser history (if the target URL is at the same domain and +protocol as the current one) or performs a hard redirect (if the target +URL points to a different protocol or domain).

+

The method will result in the router handling the new URL and routing +the client to the related page if the URL is set at the client side and +points to the same domain and protocol.

+

Parameters

+
url
+

string

+

The URL to which the client should be redirected.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

void

+

Overrides

+

Router.redirect

+
+

remove()

+
+

remove(name): AbstractRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:211

+

Removes the specified route from the router's known routes.

+

Parameters

+
name
+

string

+

The route's unique name, identifying the route to remove.

+

Returns

+

AbstractRouter

+

This router.

+

Overrides

+

Router.remove

+
+

route()

+
+

route(path, options?, action?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:363

+

Routes the application to the route matching the providing path, renders +the route page and sends the result to the client.

+

Parameters

+
path
+

string

+

The URL path part received from the client, with +optional query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+

Overrides

+

Router.route

+
+

unlisten()

+
+

unlisten(): this

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:314

+

Unregisters event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will stop processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This method has no effect +at the server side.

+

Returns

+

this

+

This router.

+

Overrides

+

Router.unlisten

+
+

use()

+
+

use(middleware): AbstractRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:199

+

Adds a new middleware to router.

+

Parameters

+
middleware
+

RouterMiddleware

+

Middleware +function accepting routeParams as a first argument, which can be mutated +and locals object as second argument. This can be used to pass data +between middlewares.

+

Returns

+

AbstractRouter

+

This router.

+

Throws

+

Thrown if a middleware with the same name already exists.

+

Overrides

+

Router.use

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Bootstrap/index.html b/api/@ima/core/classes/Bootstrap/index.html new file mode 100644 index 000000000..a06e3b166 --- /dev/null +++ b/api/@ima/core/classes/Bootstrap/index.html @@ -0,0 +1,171 @@ + + + + + +Class: Bootstrap | IMA.js + + + + +
Skip to main content

Class: Bootstrap

+

Defined in: packages/core/src/Bootstrap.ts:123

+

Application bootstrap used to initialize the environment and the application +itself.

+

Constructors

+

new Bootstrap()

+
+

new Bootstrap(oc): Bootstrap

+
+

Defined in: packages/core/src/Bootstrap.ts:133

+

Initializes the bootstrap.

+

Parameters

+
oc
+

ObjectContainer

+

The application's object container to use +for managing dependencies.

+

Returns

+

Bootstrap

+

Properties

+

_config

+
+

protected _config: BootConfig

+
+

Defined in: packages/core/src/Bootstrap.ts:125

+
+

_oc

+
+

protected _oc: ObjectContainer

+
+

Defined in: packages/core/src/Bootstrap.ts:124

+

Methods

+

_bindDependencies()

+
+

_bindDependencies(): void

+
+

Defined in: packages/core/src/Bootstrap.ts:266

+

Binds the constants, service providers and class dependencies to the +object container.

+

Returns

+

void

+
+

_bindPluginDependencies()

+
+

_bindPluginDependencies(name, plugin): void

+
+

Defined in: packages/core/src/Bootstrap.ts:298

+

Binds the constants, service providers and class dependencies to the +object container for dynamically imported plugins.

+

Parameters

+
name
+

string

+

Plugin name.

+
plugin
+

InitPluginConfig

+

Plugin interface (object with init functions).

+

Returns

+

void

+
+

_initPluginServices()

+
+

_initPluginServices(plugin): void

+
+

Defined in: packages/core/src/Bootstrap.ts:336

+

Service initialization for the dynamically loaded plugins.

+

Parameters

+
plugin
+

InitPluginConfig

+

Plugin interface (object with init functions).

+

Returns

+

void

+
+

_initPluginSettings()

+
+

_initPluginSettings(name, plugin): void

+
+

Defined in: packages/core/src/Bootstrap.ts:230

+

Initializes dynamically loaded plugin settings (if the init +function is provided). The settings are merged into the application +the same way as with non-dynamic import, meaning the app setting overrides +are prioritized over the default plugin settings.

+

Parameters

+
name
+

string

+

Plugin name.

+
plugin
+

InitPluginConfig

+

Plugin interface (object with init functions).

+

Returns

+

void

+
+

_initRoutes()

+
+

_initRoutes(): void

+
+

Defined in: packages/core/src/Bootstrap.ts:311

+

Initializes the routes.

+

Returns

+

void

+
+

_initServices()

+
+

_initServices(): void

+
+

Defined in: packages/core/src/Bootstrap.ts:319

+

Initializes the basic application services.

+

Returns

+

void

+
+

_initSettings()

+
+

_initSettings(): void

+
+

Defined in: packages/core/src/Bootstrap.ts:186

+

Initializes the application settings. The method loads the settings for +all environments and then picks the settings for the current environment.

+

The method also handles using the values in the production environment +as default values for configuration items in other environments.

+

Returns

+

void

+
+

initPlugin()

+
+

initPlugin(name, plugin?): void

+
+

Defined in: packages/core/src/Bootstrap.ts:169

+

Initializes dynamically loaded plugin. This is explicitly called from +within the Plugin Loader instance.

+

Parameters

+
name
+

string

+

Plugin name.

+
plugin?
+

InitPluginConfig

+

Plugin interface (object with init functions).

+

Returns

+

void

+
+

run()

+
+

run(config): void

+
+

Defined in: packages/core/src/Bootstrap.ts:153

+

Initializes the application by running the bootstrap sequence. The +sequence initializes the components of the application in the following +order:

+
    +
  • application settings
  • +
  • constants, service providers and class dependencies configuration
  • +
  • services
  • +
  • UI components
  • +
  • routing
  • +
+

Parameters

+
config
+

BootConfig

+

The application environment +configuration for the current environment.

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Cache/index.html b/api/@ima/core/classes/Cache/index.html new file mode 100644 index 000000000..6de03413f --- /dev/null +++ b/api/@ima/core/classes/Cache/index.html @@ -0,0 +1,166 @@ + + + + + +Class: abstract Cache\<V\> | IMA.js + + + + +
Skip to main content

Class: abstract Cache<V>

+

Defined in: packages/core/src/cache/Cache.ts:11

+

The cache provides a temporary storage for expirable information. The +primary use of a cache is caching information obtained via costly means +(CPU-heavy computation or networking) to speed up the application's +performance when the same information needs to be retrieved multiple times.

+

Extended by

+ +

Type Parameters

+

V = unknown

+

Constructors

+

new Cache()

+
+

new Cache<V>(): Cache<V>

+
+

Returns

+

Cache<V>

+

Methods

+

clear()

+
+

clear(): void

+
+

Defined in: packages/core/src/cache/Cache.ts:15

+

Clears the cache by deleting all entries.

+

Returns

+

void

+
+

delete()

+
+

delete(key): void

+
+

Defined in: packages/core/src/cache/Cache.ts:69

+

Deletes the specified cache entry. The method has no effect if the entry +does not exist.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+

Returns

+

void

+
+

deserialize()

+
+

deserialize(serializedData): void

+
+

Defined in: packages/core/src/cache/Cache.ts:118

+

Loads the provided serialized cache data into this cache. Entries +present in this cache but not specified in the provided data will remain +in this cache intact.

+

Parameters

+
serializedData
+

SerializedData<V>

+

An +object representing the state of the cache to load, obtained by +parsing the JSON string returned by the Cache#serialize +method.

+

Returns

+

void

+
+

disable()

+
+

disable(): void

+
+

Defined in: packages/core/src/cache/Cache.ts:83

+

Disables the cache, preventing the retrieval of any cached entries and +reporting all cache entries as non-existing. Disabling the cache does +not however prevent modifying the existing or creating new cache +entries.

+

Disabling the cache also clears all of its current entries.

+

The method has no effect if the cache is already disabled.

+

Returns

+

void

+
+

enable()

+
+

enable(): void

+
+

Defined in: packages/core/src/cache/Cache.ts:92

+

Enables the cache, allowing the retrieval of cache entries.

+

The method has no effect if the cache is already enabled.

+

Returns

+

void

+
+

get()

+
+

get(key): null | V

+
+

Defined in: packages/core/src/cache/Cache.ts:43

+

Returns the value of the entry identified by the specified key.

+

The method returns null if the specified entry does not exist, has +already expired, or the cache is currently disabled.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+

Returns

+

null | V

+

The value of the specified cache entry, or null if the entry +is not available.

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/cache/Cache.ts:29

+

Tests whether the cache contains a fresh entry for the specified key. A +cache entry is fresh if the has not expired its TTL (time to live).

+

The method always returns false if the cache is currently disabled.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+

Returns

+

boolean

+

true if the cache is enabled, the entry exists and has +not expired yet.

+
+

serialize()

+
+

serialize(): string

+
+

Defined in: packages/core/src/cache/Cache.ts:104

+

Exports the state of this cache to an HTML-safe JSON string. The data +obtained by parsing the result of this method are compatible with the +Cache#deserialize method.

+

Returns

+

string

+

A JSON string containing an object representing of the +current state of this cache.

+
+

set()

+
+

set(key, value, ttl?): void

+
+

Defined in: packages/core/src/cache/Cache.ts:59

+

Sets the cache entry identified by the specified key to the provided +value. The entry is created if it does not exist yet.

+

The method has no effect if the cache is currently disabled.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+
value
+

V

+

The cache entry value.

+
ttl?
+

Cache entry time to live in milliseconds. The +entry will expire after the specified amount of milliseconds. Use +null or omit the parameter to use the default TTL of this cache.

+

string | number

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/CacheEntry/index.html b/api/@ima/core/classes/CacheEntry/index.html new file mode 100644 index 000000000..704da8d13 --- /dev/null +++ b/api/@ima/core/classes/CacheEntry/index.html @@ -0,0 +1,86 @@ + + + + + +Class: CacheEntry\<V\> | IMA.js + + + + +
Skip to main content

Class: CacheEntry<V>

+

Defined in: packages/core/src/cache/CacheEntry.ts:10

+

The cache entry is a typed container of cache data used to track the +creation and expiration of cache entries.

+

Type Parameters

+

V

+

Constructors

+

new CacheEntry()

+
+

new CacheEntry<V>(value, ttl): CacheEntry<V>

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:33

+

Initializes the cache entry.

+

Parameters

+
value
+

V

+

The cache entry value.

+
ttl
+

The time to live in milliseconds.

+

string | number

+

Returns

+

CacheEntry<V>

+

Properties

+

_created

+
+

protected _created: number

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:25

+

The timestamp of creation of this cache entry.

+
+

_ttl

+
+

protected _ttl: string | number

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:20

+

The time to live in milliseconds. The cache entry is considered +expired after this time.

+
+

_value

+
+

protected _value: V

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:14

+

Cache entry value.

+

Methods

+

getValue()

+
+

getValue(): V

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:61

+

Returns the entry value.

+

Returns

+

V

+
+

isExpired()

+
+

isExpired(): boolean

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:43

+

Returns true if this entry has expired.

+

Returns

+

boolean

+

true if this entry has expired.

+
+

serialize()

+
+

serialize(): SerializedCacheEntry<V>

+
+

Defined in: packages/core/src/cache/CacheEntry.ts:54

+

Exports this cache entry into a JSON-serializable object.

+

This entry exported to a +JSON-serializable object.

+

Returns

+

SerializedCacheEntry<V>

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/CacheFactory/index.html b/api/@ima/core/classes/CacheFactory/index.html new file mode 100644 index 000000000..bdef73511 --- /dev/null +++ b/api/@ima/core/classes/CacheFactory/index.html @@ -0,0 +1,51 @@ + + + + + +Class: CacheFactory\<V\> | IMA.js + + + + +
Skip to main content

Class: CacheFactory<V>

+

Defined in: packages/core/src/cache/CacheFactory.ts:7

+

Factory for creating instances of CacheEntry.

+

Type Parameters

+

V

+

Constructors

+

new CacheFactory()

+
+

new CacheFactory<V>(): CacheFactory<V>

+
+

Returns

+

CacheFactory<V>

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/cache/CacheFactory.ts:8

+
Returns
+

Dependencies

+

Methods

+

createCacheEntry()

+
+

createCacheEntry(value, ttl): CacheEntry<V>

+
+

Defined in: packages/core/src/cache/CacheFactory.ts:21

+

Create a new instance of CacheEntry with value and ttl.

+

Parameters

+
value
+

V

+

The cache entry value.

+
ttl
+

Cache entry time to live in milliseconds. The +entry will expire after the specified amount of milliseconds.

+

string | number

+

Returns

+

CacheEntry<V>

+

The created cache entry.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/CacheImpl/index.html b/api/@ima/core/classes/CacheImpl/index.html new file mode 100644 index 000000000..04aafe96c --- /dev/null +++ b/api/@ima/core/classes/CacheImpl/index.html @@ -0,0 +1,232 @@ + + + + + +Class: CacheImpl\<V\> | IMA.js + + + + +
Skip to main content

Class: CacheImpl<V>

+

Defined in: packages/core/src/cache/CacheImpl.ts:21

+

Configurable generic implementation of the Cache interface.

+

Example

+
if (cache.has('model.articles')) {
return cache.get('model.articles');
} else {
let articles = getArticlesFromStorage();
// cache for an hour
cache.set('model.articles', articles, 60 * 60 * 1000);
}
+

Extends

+ +

Type Parameters

+

V

+

Constructors

+

new CacheImpl()

+
+

new CacheImpl<V>(cacheStorage, factory, Helper, config): CacheImpl<V>

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:36

+

Initializes the cache.

+

Parameters

+
cacheStorage
+

Storage<CacheEntry<V>>

+

The cache entry storage to use.

+
factory
+

CacheFactory<V>

+

Which create new instance of cache entry.

+
Helper
+

__module

+

The IMA.js helper methods.

+
config
+

The cache configuration.

+
enabled
+

boolean = false

+
ttl
+

number = 30000

+

Returns

+

CacheImpl<V>

+

Overrides

+

Cache.constructor

+

Properties

+

_cache

+
+

protected _cache: Storage<CacheEntry<V>>

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:22

+
+

_enabled

+
+

protected _enabled: boolean

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:26

+
+

_factory

+
+

protected _factory: CacheFactory<V>

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:23

+
+

_Helper

+
+

protected _Helper: __module

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:24

+
+

_ttl

+
+

protected _ttl: number

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:25

+

Methods

+

clear()

+
+

clear(): void

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:66

+

Clears the cache by deleting all entries.

+

Returns

+

void

+

Overrides

+

Cache.clear

+
+

delete()

+
+

delete(key): void

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:122

+

Deletes the specified cache entry. The method has no effect if the entry +does not exist.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+

Returns

+

void

+

Overrides

+

Cache.delete

+
+

deserialize()

+
+

deserialize(serializedData): void

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:181

+

Loads the provided serialized cache data into this cache. Entries +present in this cache but not specified in the provided data will remain +in this cache intact.

+

Parameters

+
serializedData
+

An +object representing the state of the cache to load, obtained by +parsing the JSON string returned by the Cache#serialize +method.

+

Returns

+

void

+

Overrides

+

Cache.deserialize

+
+

disable()

+
+

disable(): void

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:129

+

Disables the cache, preventing the retrieval of any cached entries and +reporting all cache entries as non-existing. Disabling the cache does +not however prevent modifying the existing or creating new cache +entries.

+

Disabling the cache also clears all of its current entries.

+

The method has no effect if the cache is already disabled.

+

Returns

+

void

+

Overrides

+

Cache.disable

+
+

enable()

+
+

enable(): void

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:137

+

Enables the cache, allowing the retrieval of cache entries.

+

The method has no effect if the cache is already enabled.

+

Returns

+

void

+

Overrides

+

Cache.enable

+
+

get()

+
+

get(key): null | V

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:92

+

Returns the value of the entry identified by the specified key.

+

The method returns null if the specified entry does not exist, has +already expired, or the cache is currently disabled.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+

Returns

+

null | V

+

The value of the specified cache entry, or null if the entry +is not available.

+

Overrides

+

Cache.get

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:73

+

Tests whether the cache contains a fresh entry for the specified key. A +cache entry is fresh if the has not expired its TTL (time to live).

+

The method always returns false if the cache is currently disabled.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+

Returns

+

boolean

+

true if the cache is enabled, the entry exists and has +not expired yet.

+

Overrides

+

Cache.has

+
+

serialize()

+
+

serialize(): string

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:144

+

Exports the state of this cache to an HTML-safe JSON string. The data +obtained by parsing the result of this method are compatible with the +Cache#deserialize method.

+

Returns

+

string

+

A JSON string containing an object representing of the +current state of this cache.

+

Overrides

+

Cache.serialize

+
+

set()

+
+

set(key, value, ttl): void

+
+

Defined in: packages/core/src/cache/CacheImpl.ts:106

+

Sets the cache entry identified by the specified key to the provided +value. The entry is created if it does not exist yet.

+

The method has no effect if the cache is currently disabled.

+

Parameters

+
key
+

string

+

The identifier of the cache entry.

+
value
+

V

+

The cache entry value.

+
ttl
+

Cache entry time to live in milliseconds. The +entry will expire after the specified amount of milliseconds. Use +null or omit the parameter to use the default TTL of this cache.

+

string | number

+

Returns

+

void

+

Overrides

+

Cache.set

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/CancelError/index.html b/api/@ima/core/classes/CancelError/index.html new file mode 100644 index 000000000..2539ba950 --- /dev/null +++ b/api/@ima/core/classes/CancelError/index.html @@ -0,0 +1,183 @@ + + + + + +Class: CancelError | IMA.js + + + + +
Skip to main content

Class: CancelError

+

Defined in: packages/core/src/error/CancelError.ts:7

+

Extension of GenericError which is used in route handling ot cancel +currently managed route before proceeding with execution with new one.

+

Extends

+ +

Constructors

+

new CancelError()

+
+

new CancelError(message): CancelError

+
+

Defined in: packages/core/src/error/CancelError.ts:8

+

Parameters

+
message
+

string = 'Canceled'

+

Returns

+

CancelError

+

Overrides

+

GenericError.constructor

+

Properties

+

_params

+
+

protected _params: object & GenericErrorParams

+
+

Defined in: packages/core/src/error/GenericError.ts:16

+

Type declaration

+
status
+
+

status: 409

+
+

Inherited from

+

GenericError._params

+
+

cause?

+
+

optional cause: unknown

+
+

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26

+

Inherited from

+

GenericError.cause

+
+

message

+
+

message: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

+

Inherited from

+

GenericError.message

+
+

name

+
+

name: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

+

Inherited from

+

GenericError.name

+
+

stack?

+
+

optional stack: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

+

Inherited from

+

GenericError.stack

+
+

prepareStackTrace()?

+
+

static optional prepareStackTrace: (err, stackTraces) => any

+
+

Defined in: node_modules/@types/node/globals.d.ts:98

+

Optional override for formatting stack traces

+

Parameters

+
err
+

Error

+
stackTraces
+

CallSite[]

+

Returns

+

any

+

See

+

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

+

Inherited from

+

GenericError.prepareStackTrace

+
+

stackTraceLimit

+
+

static stackTraceLimit: number

+
+

Defined in: node_modules/@types/node/globals.d.ts:100

+

Inherited from

+

GenericError.stackTraceLimit

+

Methods

+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/error/GenericError.ts:39

+

Returns the HTTP status to send to the client.

+

If the error has occurred at the client-side, the status code is used to +determine the error page to show to the user.

+

This method is a shorthand for the following code snippet: +this.getParams().status || 500.

+

Returns

+

number

+

The HTTP status to send to the client.

+

See

+

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+

Inherited from

+

GenericError.getHttpStatus

+
+

getParams()

+
+

getParams(): object & GenericErrorParams

+
+

Defined in: packages/core/src/error/GenericError.ts:46

+

Returns the error parameters providing additional details about the +error. The structure of the returned object is always +situation-dependent, but the returned object usually contains the +status: number field which represents the HTTP status to send to +the client.

+

Returns

+

object & GenericErrorParams

+

The route parameters of the route at which +the error has occurred.

+

See

+

Error#getHttpStatus

+

Inherited from

+

GenericError.getParams

+
+

isClientError()

+
+

isClientError(): boolean

+
+

Defined in: packages/core/src/error/GenericError.ts:53

+

Tests, whether the specified error was caused by the +client's action (for example wrong URL or request encoding).

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+

Inherited from

+

GenericError.isClientError

+
+

isRedirection()

+
+

isRedirection(): boolean

+
+

Defined in: packages/core/src/error/GenericError.ts:60

+

Tests, whether the specified error should lead to a redirect.

+

Returns

+

boolean

+

true if the error should cause a redirect.

+

Inherited from

+

GenericError.isRedirection

+
+

captureStackTrace()

+
+

static captureStackTrace(targetObject, constructorOpt?): void

+
+

Defined in: node_modules/@types/node/globals.d.ts:91

+

Create .stack property on a target object

+

Parameters

+
targetObject
+

object

+
constructorOpt?
+

Function

+

Returns

+

void

+

Inherited from

+

GenericError.captureStackTrace

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ClientPageManager/index.html b/api/@ima/core/classes/ClientPageManager/index.html new file mode 100644 index 000000000..39c632c10 --- /dev/null +++ b/api/@ima/core/classes/ClientPageManager/index.html @@ -0,0 +1,738 @@ + + + + + +Class: ClientPageManager | IMA.js + + + + +
Skip to main content

Class: ClientPageManager

+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:23

+

Page manager for controller on the client side.

+

Extends

+ +

Constructors

+

new ClientPageManager()

+
+

new ClientPageManager(pageFactory, pageRenderer, pageStateManager, handlerRegistry, dispatcher, window, eventBus): ClientPageManager

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:70

+

Initializes the client-side page manager.

+

Parameters

+
pageFactory
+

PageFactory

+

Factory used by the page manager to +create instances of the controller for the current route, and +decorate the controllers and page state managers.

+
pageRenderer
+

PageRenderer

+

The current renderer of the page.

+
pageStateManager
+

PageStateManager

+
handlerRegistry
+

PageHandlerRegistry

+

Instance of HandlerRegistry that +holds a list of pre-manage and post-manage handlers.

+
dispatcher
+

Dispatcher

+

IMA Dispatcher.

+
window
+

Window

+

The utility for manipulating the global context +and global client-side-specific APIs.

+
eventBus
+

EventBus

+

The event bus for dispatching and listening +for custom IMA events propagated through the DOM.

+

Returns

+

ClientPageManager

+

Overrides

+

AbstractPageManager.constructor

+

Properties

+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:81

+

Inherited from

+

AbstractPageManager._dispatcher

+
+

_managedPage

+
+

protected _managedPage: ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:68

+

Details of the currently managed page.

+

Inherited from

+

AbstractPageManager._managedPage

+
+

_pageFactory

+
+

protected _pageFactory: PageFactory

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:63

+

Factory used by the page manager to create instances of the +controller for the current route, and decorate the controllers and +page state managers.

+

Inherited from

+

AbstractPageManager._pageFactory

+
+

_pageHandlerRegistry

+
+

protected _pageHandlerRegistry: PageHandlerRegistry

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:80

+

A registry that holds a list of pre-manage and post-manage handlers.

+

Inherited from

+

AbstractPageManager._pageHandlerRegistry

+
+

_pageRenderer

+
+

protected _pageRenderer: PageRenderer

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:72

+

The current renderer of the page.

+

Inherited from

+

AbstractPageManager._pageRenderer

+
+

_pageStateManager

+
+

protected _pageStateManager: PageStateManager

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:76

+

The current page state manager.

+

Inherited from

+

AbstractPageManager._pageStateManager

+
+

_previousManagedPage

+
+

protected _previousManagedPage: ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:57

+

Snapshot of the previously managed page before it was replaced with +a new one

+

Inherited from

+

AbstractPageManager._previousManagedPage

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:42

+
Returns
+

Dependencies

+

Methods

+

_activateController()

+
+

protected _activateController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:549

+

Activate managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._activateController

+
+

_activateExtensions()

+
+

protected _activateExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:563

+

Activate extensions for managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._activateExtensions

+
+

_activatePageSource()

+
+

protected _activatePageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:529

+

Activate page source so call activate method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._activatePageSource

+
+

_clearComponentState()

+
+

_clearComponentState(options): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:753

+

The method clear state on current rendered component to DOM.

+

Parameters

+
options
+

RouteOptions

+

The current route options.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._clearComponentState

+
+

_constructManagedPageValue()

+
+

protected _constructManagedPageValue(controller, view, route, options, params, controllerInstance, decoratedController, viewInstance): ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:245

+

Parameters

+
controller
+

RouteController

+
view
+

unknown

+
route
+

AbstractRoute<string | RoutePathExpression>

+
options
+

RouteOptions

+
params
+

RouteParams

+
controllerInstance
+

Controller<PageState, RouteParams, PageState>

+
decoratedController
+

ControllerDecorator

+
viewInstance
+

unknown

+

Returns

+

ManagedPage

+

Inherited from

+

AbstractPageManager._constructManagedPageValue

+
+

_deactivateController()

+
+

protected _deactivateController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:691

+

Deactivate last managed instance of controller only If controller was +activated.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._deactivateController

+
+

_deactivateExtensions()

+
+

protected _deactivateExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:702

+

Deactivate extensions for last managed instance of controller only if +they were activated.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._deactivateExtensions

+
+

_deactivatePageSource()

+
+

protected _deactivatePageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:677

+

Deactivate page source so call deactivate method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._deactivatePageSource

+
+

_destroyController()

+
+

protected _destroyController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:726

+

Destroy last managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._destroyController

+
+

_destroyExtensions()

+
+

protected _destroyExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:739

+

Destroy extensions for last managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._destroyExtensions

+
+

_destroyPageSource()

+
+

protected _destroyPageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:714

+

Destroy page source so call destroy method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._destroyPageSource

+
+

_getInitialManagedPage()

+
+

protected _getInitialManagedPage(): ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:302

+

Clear value from managed page.

+

Returns

+

ManagedPage

+

Inherited from

+

AbstractPageManager._getInitialManagedPage

+
+

_getLoadedControllerState()

+
+

protected _getLoadedControllerState(): Promise<{}>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:485

+

Load controller state from managed instance of controller.

+

Returns

+

Promise<{}>

+

Inherited from

+

AbstractPageManager._getLoadedControllerState

+
+

_getLoadedExtensionsState()

+
+

protected _getLoadedExtensionsState(controllerState?): Promise<UnknownParameters>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:501

+

Load extensions state from managed instance of controller.

+

Parameters

+
controllerState?
+

UnknownParameters

+

Returns

+

Promise<UnknownParameters>

+

Inherited from

+

AbstractPageManager._getLoadedExtensionsState

+
+

_getUpdatedControllerState()

+
+

protected _getUpdatedControllerState(): {} | Promise<{}>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:621

+

Return updated controller state for current page controller.

+

Returns

+

{} | Promise<{}>

+

Inherited from

+

AbstractPageManager._getUpdatedControllerState

+
+

_getUpdatedExtensionsState()

+
+

protected _getUpdatedExtensionsState(controllerState?): Promise<UnknownParameters>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:637

+

Return updated extensions state for current page controller.

+

Parameters

+
controllerState?
+

UnknownParameters

+

Returns

+

Promise<UnknownParameters>

+

Inherited from

+

AbstractPageManager._getUpdatedExtensionsState

+
+

_handleEventWithController()

+
+

_handleEventWithController(prefix, method, data): boolean

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:215

+

Attempts to handle the currently processed event bus custom DOM event +using the current controller. The method returns true if the +event is handled by the controller.

+

Parameters

+
prefix
+

string

+
method
+

string

+

The name of the method the current controller +should use to process the currently processed event bus custom +DOM event.

+
data
+

UnknownParameters

+

The custom event's data.

+

Returns

+

boolean

+

true if the event has been handled by the +controller, false if the controller does not have a +method for processing the event.

+
+

_handleEventWithExtensions()

+
+

_handleEventWithExtensions(prefix, method, data): boolean

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:251

+

Attempts to handle the currently processed event bus custom DOM event +using the registered extensions of the current controller. The method +returns true if the event is handled by the controller.

+

Parameters

+
prefix
+

string

+
method
+

string

+

The name of the method the current controller +should use to process the currently processed event bus custom +DOM event.

+
data
+

UnknownParameters

+

The custom event's data.

+

Returns

+

boolean

+

true if the event has been handled by one of +the controller's extensions, false if none of the +controller's extensions has a method for processing the event.

+
+

_hasOnlyUpdate()

+
+

protected _hasOnlyUpdate(controller, view, options): boolean

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:769

+

Return true if manager has to update last managed controller and view.

+

Parameters

+
controller
+

RouteController

+
view
+

unknown

+
options
+

RouteOptions

+

Returns

+

boolean

+

Inherited from

+

AbstractPageManager._hasOnlyUpdate

+
+

_initController()

+
+

protected _initController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:398

+

Initializes managed instance of controller with the provided parameters.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._initController

+
+

_initExtensions()

+
+

protected _initExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:413

+

Initialize extensions for managed instance of controller with the +provided parameters.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._initExtensions

+
+

_initPageSource()

+
+

protected _initPageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:383

+

Initialize page source so call init method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._initPageSource

+
+

_loadPageSource()

+
+

protected _loadPageSource(): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:443

+

Load page source so call load method on controller and his extensions. +Merge loaded state and render it.

+

Returns

+

Promise<void | PageData>

+

Inherited from

+

AbstractPageManager._loadPageSource

+
+

_onChangeStateHandler()

+
+

_onChangeStateHandler(state): void

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:276

+

On change event handler set state to view.

+

Parameters

+
state
+

UnknownParameters

+

Returns

+

void

+
+

_onCustomEventHandler()

+
+

_onCustomEventHandler(event): void

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:151

+

Custom DOM event handler.

+

The handler invokes the event listener in the active controller, if such +listener is present. The name of the controller's listener method is +created by turning the first symbol of the event's name to upper case, +and then prefixing the result with the 'on' prefix.

+

For example: for an event named 'toggle' the controller's listener +would be named 'onToggle'.

+

The controller's listener will be invoked with the event's data as an +argument.

+

Parameters

+
event
+

CustomEvent

+

The encountered event bus DOM event.

+

Returns

+

void

+
+

_parseCustomEvent()

+
+

_parseCustomEvent(event): object

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:188

+

Extracts the details of the provided event bus custom DOM event, along +with the expected name of the current controller's method for +intercepting the event.

+

Parameters

+
event
+

CustomEvent

+

The encountered event bus custom DOM event.

+

Returns

+

object

+

The event's +details.

+
data
+
+

data: any

+
+
eventName
+
+

eventName: string

+
+
method
+
+

method: string

+
+
prefix
+
+

prefix: string

+
+
+

_runPostManageHandlers()

+
+

protected _runPostManageHandlers(previousManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:809

+

Parameters

+
previousManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+

Inherited from

+

AbstractPageManager._runPostManageHandlers

+
+

_runPreManageHandlers()

+
+

protected _runPreManageHandlers(actualManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:788

+

Parameters

+
actualManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+

Inherited from

+

AbstractPageManager._runPreManageHandlers

+
+

_setRestrictedPageStateManager()

+
+

_setRestrictedPageStateManager(extension, extensionState): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:342

+

Set page state manager to extension which has restricted rights to set +global state.

+

Parameters

+
extension
+

Extension

+
extensionState
+

UnknownParameters

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._setRestrictedPageStateManager

+
+

_storeManagedPageSnapshot()

+
+

protected _storeManagedPageSnapshot(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:281

+

Creates a cloned version of currently managed page and stores it in +a helper property. +Snapshot is used in manager handlers to easily determine differences +between the current and the previous state.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._storeManagedPageSnapshot

+
+

_stripManagedPageValueForPublic()

+
+

protected _stripManagedPageValueForPublic(value): object

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:332

+

Removes properties we do not want to propagate outside of the page manager

+

Parameters

+
value
+

ManagedPage

+

The managed page object to strip down

+

Returns

+

object

+
controller
+
+

controller: RouteController

+
+
options
+
+

options: RouteOptions

+
+
params
+
+

params: RouteParams

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+
view
+
+

view: unknown

+
+

Inherited from

+

AbstractPageManager._stripManagedPageValueForPublic

+
+

_switchToPageStateManager()

+
+

protected _switchToPageStateManager(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:430

+

Iterates over extensions of current controller and switches each one to +pageStateManager and clears their partial state.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._switchToPageStateManager

+
+

_switchToPageStateManagerAfterLoaded()

+
+

_switchToPageStateManagerAfterLoaded(extension, extensionState): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:363

+

For defined extension switches to pageStageManager and clears partial state +after extension state is loaded.

+

Parameters

+
extension
+

Extension

+
extensionState
+

UnknownParameters

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._switchToPageStateManagerAfterLoaded

+
+

_updatePageSource()

+
+

protected _updatePageSource(): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:580

+

Update page source so call update method on controller and his +extensions. Merge updated state and render it.

+

Returns

+

Promise<void | PageData>

+

Inherited from

+

AbstractPageManager._updatePageSource

+
+

destroy()

+
+

destroy(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:126

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

Promise<void>

+

Overrides

+

AbstractPageManager.destroy

+
+

getViewController()

+
+

protected getViewController(route): Promise<{ controller: RouteController; view: RouteView; }>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:833

+

Parameters

+
route
+

AbstractRoute<string | RoutePathExpression>

+

Returns

+

Promise<{ controller: RouteController; view: RouteView; }>

+

Inherited from

+

AbstractPageManager.getViewController

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:95

+

Initializes the page manager.

+

Returns

+

void

+

Overrides

+

AbstractPageManager.init

+
+

manage()

+
+

manage(__namedParameters): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/ClientPageManager.ts:109

+

Starts to manage the provided controller and its view. The manager +stops the management of any previously managed controller and view.

+

The controller and view will be initialized and rendered either into the +UI (at the client-side) or to the response to send to the client (at the +server-side).

+

Parameters

+
__namedParameters
+

ManageArgs

+

Returns

+

Promise<void | PageData>

+

A promise that will resolve to information about the rendered page. +The status will contain the HTTP status code to send to the +client (at the server side) or determine the type of error page +to navigate to (at the client side).

+

Overrides

+

AbstractPageManager.manage

+
+

postManage()

+
+

postManage(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:223

+

Called by router after currently managed route is resolved.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager.postManage

+
+

preManage()

+
+

preManage(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:123

+

Pre manage handler, should be called and awaited before tryint to handle +new route handler. This pre manage takes care of canceling any currently +executed route handlers and returns promise which is resolved when previous +page finished loading (even if it got canceled).

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager.preManage

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ClientRouter/index.html b/api/@ima/core/classes/ClientRouter/index.html new file mode 100644 index 000000000..5856399de --- /dev/null +++ b/api/@ima/core/classes/ClientRouter/index.html @@ -0,0 +1,893 @@ + + + + + +Class: ClientRouter | IMA.js + + + + +
Skip to main content

Class: ClientRouter

+

Defined in: packages/core/src/router/ClientRouter.ts:43

+

The client-side implementation of the Router interface.

+

Extends

+ +

Constructors

+

new ClientRouter()

+
+

new ClientRouter(pageManager, factory, dispatcher, window, settings): ClientRouter

+
+

Defined in: packages/core/src/router/ClientRouter.ts:79

+

Initializes the client-side router.

+

Parameters

+
pageManager
+

PageManager

+

The page manager handling UI rendering, +and transitions between pages if at the client side.

+
factory
+

RouteFactory

+

Factory for routes.

+
dispatcher
+

Dispatcher

+

Dispatcher fires events to app.

+
window
+

Window

+

The current global client-side APIs provider.

+
settings
+

$Router settings.

+

undefined | number | { isSPARouted: (url, action?) => boolean; middlewareTimeout: number; }

+

Returns

+

ClientRouter

+

Overrides

+

AbstractRouter.constructor

+

Properties

+

_currentlyRoutedPath

+
+

protected _currentlyRoutedPath: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:93

+

Inherited from

+

AbstractRouter._currentlyRoutedPath

+
+

_currentMiddlewareId

+
+

protected _currentMiddlewareId: number = 0

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:92

+

Middleware ID counter which is used to auto-generate unique middleware +names when adding them to routeHandlers map.

+

Inherited from

+

AbstractRouter._currentMiddlewareId

+
+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:62

+

Dispatcher fires events to app.

+

Inherited from

+

AbstractRouter._dispatcher

+
+

_factory

+
+

protected _factory: RouteFactory

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:58

+

Factory for routes.

+

Inherited from

+

AbstractRouter._factory

+
+

_host

+
+

protected _host: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:71

+

The application's host.

+

Inherited from

+

AbstractRouter._host

+
+

_isSPARouted

+
+

protected _isSPARouted: undefined | (url, action?) => boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:95

+

Inherited from

+

AbstractRouter._isSPARouted

+
+

_languagePartPath

+
+

protected _languagePartPath: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:80

+

The URL path fragment used as a suffix to the _root field +that specifies the current language.

+

Inherited from

+

AbstractRouter._languagePartPath

+
+

_middlewareTimeout

+
+

protected _middlewareTimeout: number

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:94

+

Inherited from

+

AbstractRouter._middlewareTimeout

+
+

_mountedPromise

+
+

protected _mountedPromise: null | { promise: Promise<void>; reject: () => void; resolve: () => void; } = null

+
+

Defined in: packages/core/src/router/ClientRouter.ts:53

+

Mounted promise to prevent routing until app is fully mounted.

+
+

_pageManager

+
+

protected _pageManager: PageManager

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:54

+

The page manager handling UI rendering, and transitions between +pages if at the client side.

+

Inherited from

+

AbstractRouter._pageManager

+
+

_protocol

+
+

protected _protocol: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:67

+

The current protocol used to access the application, terminated by a +colon (for example https:).

+

Inherited from

+

AbstractRouter._protocol

+
+

_root

+
+

protected _root: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:75

+

The URL path pointing to the application's root.

+

Inherited from

+

AbstractRouter._root

+
+

_routeHandlers

+
+

protected _routeHandlers: Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:84

+

Storage of all known routes and middlewares. The key are their names.

+

Inherited from

+

AbstractRouter._routeHandlers

+
+

_window

+
+

protected _window: Window

+
+

Defined in: packages/core/src/router/ClientRouter.ts:44

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/router/ClientRouter.ts:59

+
Returns
+

Dependencies

+

Methods

+

_boundHandleClick()

+
+

protected _boundHandleClick(event): void

+
+

Defined in: packages/core/src/router/ClientRouter.ts:45

+

Parameters

+
event
+

Event

+

Returns

+

void

+
+

_boundHandlePopState()

+
+

protected _boundHandlePopState(event): void

+
+

Defined in: packages/core/src/router/ClientRouter.ts:47

+

Parameters

+
event
+

Event

+

Returns

+

void

+
+

_extractRoutePath()

+
+

protected _extractRoutePath(path): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:526

+

Strips the URL path part that points to the application's root (base +URL) from the provided path.

+

Parameters

+
path
+

string

+

Relative or absolute URL path.

+

Returns

+

string

+

URL path relative to the application's base URL.

+

Inherited from

+

AbstractRouter._extractRoutePath

+
+

_getAnchorElement()

+
+

_getAnchorElement(target): Node

+
+

Defined in: packages/core/src/router/ClientRouter.ts:408

+

The method determines whether an anchor element or a child of an anchor +element has been clicked, and if it was, the method returns anchor +element else null.

+

Parameters

+
target
+

Node

+

Returns

+

Node

+
+

_getCurrentlyRoutedPath()

+
+

_getCurrentlyRoutedPath(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:664

+

Returns path that is stored in private property when a route +method is called.

+

Returns

+

string

+

Inherited from

+

AbstractRouter._getCurrentlyRoutedPath

+
+

_getMiddlewaresForRoute()

+
+

_getMiddlewaresForRoute(routeName): RouterMiddleware[]

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:642

+

Returns middlewares preceding given route name.

+

Parameters

+
routeName
+

string

+

Returns

+

RouterMiddleware[]

+

Inherited from

+

AbstractRouter._getMiddlewaresForRoute

+
+

_handle()

+
+

_handle(route, params, options?, action?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:549

+

Handles the provided route and parameters by initializing the route's +controller and rendering its state via the route's view.

+

The result is then sent to the client if used at the server side, or +displayed if used as the client side.

+

Parameters

+
route
+

AbstractRoute<string | RoutePathExpression>

+

The route that should have its +associated controller rendered via the associated view.

+
params
+

RouteParams

+

Parameters extracted from +the URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in the +routes.js configuration file.

+
action?
+

RouteAction

+

An action +object describing what triggered this routing.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise that resolves when the +page is rendered and the result is sent to the client, or +displayed if used at the client side.

+

Inherited from

+

AbstractRouter._handle

+
+

_handleClick()

+
+

_handleClick(event): void

+
+

Defined in: packages/core/src/router/ClientRouter.ts:350

+

Handles a click event. The method performs navigation to the target +location of the anchor (if it has one).

+

The navigation will be handled by the router if the protocol and domain +of the anchor's target location (href) is the same as the current, +otherwise the method results in a hard redirect.

+

Parameters

+
event
+

MouseEvent

+

The click event.

+

Returns

+

void

+
+

_handleFatalError()

+
+

_handleFatalError(error): void

+
+

Defined in: packages/core/src/router/ClientRouter.ts:305

+

Handle a fatal error application state. IMA handle fatal error when IMA +handle error.

+

Parameters

+
error
+

Error

+

Returns

+

void

+
+

_handlePopState()

+
+

_handlePopState(event): void

+
+

Defined in: packages/core/src/router/ClientRouter.ts:326

+

Handles a popstate event. The method is performed when the active history +entry changes.

+

The navigation will be handled by the router if the event state is defined +and event is not defaultPrevented.

+

Parameters

+
event
+

PopStateEvent

+

The popstate event.

+

Returns

+

void

+
+ +
+

_isHashLink(targetUrl): boolean

+
+

Defined in: packages/core/src/router/ClientRouter.ts:436

+

Tests whether the provided target URL contains only an update of the +hash fragment of the current URL.

+

Parameters

+
targetUrl
+

string

+

The target URL.

+

Returns

+

boolean

+

true if the navigation to target URL would +result only in updating the hash fragment of the current URL.

+
+

_isSameDomain()

+
+

_isSameDomain(url?): boolean

+
+

Defined in: packages/core/src/router/ClientRouter.ts:459

+

Tests whether the the protocol and domain of the provided URL are the +same as the current.

+

Parameters

+
url?
+

string = ''

+

The URL.

+

Returns

+

boolean

+

true if the protocol and domain of the +provided URL are the same as the current.

+
+

_runMiddlewares()

+
+

_runMiddlewares(middlewares, params, locals): Promise<void>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:677

+

Runs provided middlewares in sequence.

+

Parameters

+
middlewares
+

Array of middlewares.

+

undefined | RouterMiddleware[]

+
params
+

RouteParams

+

Router params that can be +mutated by middlewares.

+
locals
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractRouter._runMiddlewares

+
+

add()

+
+

add(name, pathExpression, controller, view, options?): ClientRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:167

+

Adds a new route to router.

+

Parameters

+
name
+

string

+

The unique name of this route, identifying it among +the rest of the routes in the application.

+
pathExpression
+

string

+

A path expression specifying the URL path +part matching this route (must not contain a query string), +optionally containing named parameter placeholders specified as +:parameterName. The name of the parameter is terminated +by a forward slash (/) or the end of the path expression +string. +The path expression may also contain optional parameters, which +are specified as :?parameterName. It is recommended to +specify the optional parameters at the end of the path +expression.

+
controller
+

AsyncRouteController

+

The full name of Object Container alias +identifying the controller associated with this route.

+
view
+

AsyncRouteView

+

The full name or Object Container alias identifying +the view class associated with this route.

+
options?
+

Partial<RouteOptions>

+

Additional route options, specified how the navigation to the +route will be handled. +The onlyUpdate can be either a flag signalling whether +the current controller and view instances should be kept if they +match the ones used by the previous route; or a callback function +that will receive the previous controller and view identifiers +used in the previously matching route, and returns a +boolean representing the value of the flag. This flag is +disabled by default. +The autoScroll flag signals whether the page should be +scrolled to the top when the navigation takes place. This flag is +enabled by default.

+

Returns

+

ClientRouter

+

This router.

+

Throws

+

Thrown if a route with the same name already exists.

+

Inherited from

+

AbstractRouter.add

+
+

getBaseUrl()

+
+

getBaseUrl(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:243

+

Returns the application's absolute base URL, pointing to the public root +of the application.

+

Returns

+

string

+

The application's base URL.

+

Inherited from

+

AbstractRouter.getBaseUrl

+
+

getCurrentRouteInfo()

+
+

getCurrentRouteInfo(): object

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:271

+

Returns the information about the currently active route.

+

Returns

+

object

+
params
+
+

params: RouteParams<{}>

+
+
path
+
+

path: string

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+

Throws

+

Thrown if a route is not define for current path.

+

Inherited from

+

AbstractRouter.getCurrentRouteInfo

+
+

getDomain()

+
+

getDomain(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:250

+

Returns the application's domain in the following form +${protocol}//${host}.

+

Returns

+

string

+

The current application's domain.

+

Inherited from

+

AbstractRouter.getDomain

+
+

getHost()

+
+

getHost(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:257

+

Returns application's host (domain and, if necessary, the port number).

+

Returns

+

string

+

The current application's host.

+

Inherited from

+

AbstractRouter.getHost

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/router/ClientRouter.ts:120

+

Returns the current path part of the current URL, including the query +string (if any).

+

Returns

+

string

+

The path and query parts of the current URL.

+

Overrides

+

AbstractRouter.getPath

+
+

getProtocol()

+
+

getProtocol(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:264

+

Returns the current protocol used to access the application, terminated +by a colon (for example https:).

+

Returns

+

string

+

The current application protocol used to access the +application.

+

Inherited from

+

AbstractRouter.getProtocol

+
+

getRouteHandler()

+
+

getRouteHandler(name): undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:220

+

Returns specified handler from registered route handlers.

+

Parameters

+
name
+

string

+

The route's unique name.

+

Returns

+

undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+

Route with given name or undefined.

+

Inherited from

+

AbstractRouter.getRouteHandler

+
+

getRouteHandlers()

+
+

getRouteHandlers(): Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:297

+

Returns

+

Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+

Inherit Doc

+

Inherited from

+

AbstractRouter.getRouteHandlers

+
+

getRouteHandlersByPath()

+
+

getRouteHandlersByPath(path): object

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:615

+

Returns the route matching the provided URL path part (the path may +contain a query) and all middlewares preceding this route definition.

+

Parameters

+
path
+

string

+

The URL path.

+

Returns

+

object

+

The route +matching the path and middlewares preceding it or {} +(empty object) if no such route exists.

+
middlewares
+
+

middlewares: RouterMiddleware[]

+
+
route?
+
+

optional route: AbstractRoute<string | RoutePathExpression>

+
+

Inherited from

+

AbstractRouter.getRouteHandlersByPath

+
+

getUrl()

+
+

getUrl(): string

+
+

Defined in: packages/core/src/router/ClientRouter.ts:113

+

Returns the current absolute URL (including protocol, host, query, etc).

+

Returns

+

string

+

The current absolute URL.

+

Overrides

+

AbstractRouter.getUrl

+
+

handleError()

+
+

handleError(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/ClientRouter.ts:233

+

Handles an internal server error by responding with the appropriate +"internal server error" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved when the error +has been handled and the response has been sent to the client, +or displayed if used at the client side.

+

Overrides

+

AbstractRouter.handleError

+
+

handleNotFound()

+
+

handleNotFound(params, options, locals): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/ClientRouter.ts:293

+

Handles a "not found" error by responding with the appropriate "not +found" error page.

+

Parameters

+
params
+

StringParameters

+

Parameters extracted from +the current URL path and query.

+
options
+

The options overrides route options defined in +the routes.js configuration file.

+
locals
+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+

Overrides

+

AbstractRouter.handleNotFound

+
+

init()

+
+

init(config): ClientRouter

+
+

Defined in: packages/core/src/router/ClientRouter.ts:97

+

Initializes the router with the provided configuration.

+

Parameters

+
config
+

Router configuration. +The $Protocol field must be the current protocol used to +access the application, terminated by a colon (for example +https:). +The $Root field must specify the URL path pointing to the +application's root. +The $LanguagePartPath field must be the URL path fragment +used as a suffix to the $Root field that specifies the +current language. +The $Host field must be the application's domain (and the +port number if other than the default is used) in the following +form: ${protocol}//${host}.

+
$Host
+

string

+
$LanguagePartPath
+

string

+
$Protocol
+

string

+
$Root
+

string

+

Returns

+

ClientRouter

+

Overrides

+

AbstractRouter.init

+
+

isClientError()

+
+

isClientError(reason): boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:507

+

Tests, if possible, whether the specified error was caused by the +client's action (for example wrong URL or request encoding) or by a +failure at the server side.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+

Inherited from

+

AbstractRouter.isClientError

+
+

isRedirection()

+
+

isRedirection(reason): boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:514

+

Tests, if possible, whether the specified error lead to redirection.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +redirection.

+

Inherited from

+

AbstractRouter.isRedirection

+
+ +
+

link(routeName, params): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:338

+

Generates an absolute URL (including protocol, domain, etc) for the +specified route by substituting the route's parameter placeholders with +the provided parameter values.

+

Parameters

+
routeName
+

string

+

The unique name of the route, identifying the +route to use.

+
params
+

RouteParams

+

Parameter values for the route's +parameter placeholders. Extraneous parameters will be added as +URL query.

+

Returns

+

string

+

An absolute URL for the specified route and parameters.

+

Inherited from

+

AbstractRouter.link

+
+

listen()

+
+

listen(): ClientRouter

+
+

Defined in: packages/core/src/router/ClientRouter.ts:127

+

Registers event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will start processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This +method has no effect at the server side.

+

Returns

+

ClientRouter

+

This router.

+

Overrides

+

AbstractRouter.listen

+
+

redirect()

+
+

redirect(url, options?, action?, locals?): void

+
+

Defined in: packages/core/src/router/ClientRouter.ts:169

+

Redirects the client to the specified location.

+

At the server side the method results in responding to the client with a +redirect HTTP status code and the Location header.

+

At the client side the method updates the current URL by manipulating +the browser history (if the target URL is at the same domain and +protocol as the current one) or performs a hard redirect (if the target +URL points to a different protocol or domain).

+

The method will result in the router handling the new URL and routing +the client to the related page if the URL is set at the client side and +points to the same domain and protocol.

+

Parameters

+
url
+

string

+

The URL to which the client should be redirected.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

void

+

Overrides

+

AbstractRouter.redirect

+
+

remove()

+
+

remove(name): ClientRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:211

+

Removes the specified route from the router's known routes.

+

Parameters

+
name
+

string

+

The route's unique name, identifying the route to remove.

+

Returns

+

ClientRouter

+

This router.

+

Inherited from

+

AbstractRouter.remove

+
+

route()

+
+

route(path, options?, action?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/ClientRouter.ts:198

+

Routes the application to the route matching the providing path, renders +the route page and sends the result to the client.

+

Parameters

+
path
+

string

+

The URL path part received from the client, with +optional query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+

Overrides

+

AbstractRouter.route

+
+

unlisten()

+
+

unlisten(): ClientRouter

+
+

Defined in: packages/core/src/router/ClientRouter.ts:148

+

Unregisters event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will stop processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This method has no effect +at the server side.

+

Returns

+

ClientRouter

+

This router.

+

Overrides

+

AbstractRouter.unlisten

+
+

use()

+
+

use(middleware): ClientRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:199

+

Adds a new middleware to router.

+

Parameters

+
middleware
+

RouterMiddleware

+

Middleware +function accepting routeParams as a first argument, which can be mutated +and locals object as second argument. This can be used to pass data +between middlewares.

+

Returns

+

ClientRouter

+

This router.

+

Throws

+

Thrown if a middleware with the same name already exists.

+

Inherited from

+

AbstractRouter.use

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ClientWindow/index.html b/api/@ima/core/classes/ClientWindow/index.html new file mode 100644 index 000000000..e4dbd0650 --- /dev/null +++ b/api/@ima/core/classes/ClientWindow/index.html @@ -0,0 +1,453 @@ + + + + + +Class: ClientWindow | IMA.js + + + + +
Skip to main content

Class: ClientWindow

+

Defined in: packages/core/src/window/ClientWindow.ts:9

+

Client-side implementation of the Window utility API.

+

Extends

+ +

Constructors

+

new ClientWindow()

+
+

new ClientWindow(): ClientWindow

+
+

Returns

+

ClientWindow

+

Inherited from

+

Window.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/window/ClientWindow.ts:12

+
Returns
+

never[]

+

Methods

+

bindEventListener()

+
+

bindEventListener<T, E, S>(eventTarget, event, listener, options, scope?): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:213

+

Registers the provided event listener to be executed when the specified +event occurs on the specified event target.

+

Registering the same event listener for the same event on the same event +target with the same useCapture flag value repeatedly has no +effect.

+

Type Parameters

+

T extends EventTarget

+

E extends Event

+

S

+

Parameters

+
eventTarget
+

T

+

The event target.

+
event
+

string

+

The name of the event.

+
listener
+

(event) => void

+

The event listener.

+
options
+

boolean | EventListenerOptions

+
scope?
+

S

+

Returns

+

void

+

Overrides

+

Window.bindEventListener

+
+

createCustomEvent()

+
+

createCustomEvent<T>(name, options): CustomEvent<T>

+
+

Defined in: packages/core/src/window/ClientWindow.ts:203

+

Create new instance of CustomEvent of the specified name and using the +provided options.

+

Type Parameters

+

T

+

Parameters

+
name
+

string

+

Custom event's name (sometimes referred to as the +event's type).

+
options
+

CustomEventInit<T>

+

The custom event's options.

+

Returns

+

CustomEvent<T>

+

The created custom event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

+

Overrides

+

Window.createCustomEvent

+
+

getBody()

+
+

getBody(): undefined | HTMLElement

+
+

Defined in: packages/core/src/window/ClientWindow.ts:141

+

Returns the document's body element. The method returns +undefined if invoked at the server-side.

+

Returns

+

undefined | HTMLElement

+

The document's body element, or +undefined if invoked at the server side.

+

Overrides

+

Window.getBody

+
+

getDocument()

+
+

getDocument(): Document

+
+

Defined in: packages/core/src/window/ClientWindow.ts:69

+

Returns the native document object representing any web page loaded +in the browser and serves as an entry point into the web page's content +which is the DOM tree at the client-side. The method returns undefined +if used at the server-side.

+

Returns

+

Document

+

The document object at the +client-side, or undefined at the server-side.

+

Overrides

+

Window.getDocument

+
+

getDomain()

+
+

getDomain(): string

+
+

Defined in: packages/core/src/window/ClientWindow.ts:113

+

Returns the domain of the current document's URL as +${protocol}://${host}.

+

Returns

+

string

+

The current domain.

+

Overrides

+

Window.getDomain

+
+

getElementById()

+
+

getElementById(id): null | HTMLElement

+
+

Defined in: packages/core/src/window/ClientWindow.ts:148

+

Returns the HTML element with the specified id attribute value.

+

Parameters

+
id
+

string

+

The value of the id attribute to look for.

+

Returns

+

null | HTMLElement

+

The element with the specified id, or +null if no such element exists.

+

Overrides

+

Window.getElementById

+
+

getHistoryState()

+
+

getHistoryState(): any

+
+

Defined in: packages/core/src/window/ClientWindow.ts:155

+

Returns the history state.

+

Returns

+

any

+

The current history state

+

Overrides

+

Window.getHistoryState

+
+

getHost()

+
+

getHost(): string

+
+

Defined in: packages/core/src/window/ClientWindow.ts:120

+

Returns

+

string

+

The current host.

+

Overrides

+

Window.getHost

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/window/ClientWindow.ts:127

+

Returns the path part of the current URL, including the query string.

+

Returns

+

string

+

The path and query string parts of the current URL.

+

Overrides

+

Window.getPath

+
+

getScrollX()

+
+

getScrollX(): number

+
+

Defined in: packages/core/src/window/ClientWindow.ts:76

+

Returns the number of pixels the viewport is scrolled horizontally.

+

Returns

+

number

+

The number of pixels the viewport is scrolled +horizontally.

+

Overrides

+

Window.getScrollX

+
+

getScrollY()

+
+

getScrollY(): number

+
+

Defined in: packages/core/src/window/ClientWindow.ts:91

+

Returns the number of pixels the document is scrolled vertically.

+

Returns

+

number

+

The number of pixels the document is scrolled +vertically.

+

Overrides

+

Window.getScrollY

+
+

getUrl()

+
+

getUrl(): string

+
+

Defined in: packages/core/src/window/ClientWindow.ts:134

+

Returns

+

string

+

The current document's URL.

+

Overrides

+

Window.getUrl

+
+

getWindow()

+
+

getWindow(): Window

+
+

Defined in: packages/core/src/window/ClientWindow.ts:62

+

Returns the native window object representing the global context +at the client-side. The method returns undefined if used at the +server-side.

+

Returns

+

Window

+

The window object at the +client-side, or undefined at the server-side.

+

Overrides

+

Window.getWindow

+
+

hasSessionStorage()

+
+

hasSessionStorage(): boolean

+
+

Defined in: packages/core/src/window/ClientWindow.ts:33

+

Returns true if the session storage is supported.

+

Returns

+

boolean

+

true if the session storage is supported.

+

Overrides

+

Window.hasSessionStorage

+
+

isClient()

+
+

isClient(): boolean

+
+

Defined in: packages/core/src/window/ClientWindow.ts:19

+

Returns

+

boolean

+

true if invoked at the client side.

+

Overrides

+

Window.isClient

+
+

isCookieEnabled()

+
+

isCookieEnabled(): boolean

+
+

Defined in: packages/core/src/window/ClientWindow.ts:26

+

Returns true if the cookies are set and processed with every +HTTP request and response automatically by the environment.

+

Returns

+

boolean

+

true if cookies are handled automatically by +the environment.

+

Overrides

+

Window.isCookieEnabled

+
+

pushState()

+
+

pushState<T>(state, title, url?): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:185

+

Pushes a new state to the browser history. The method has no effect if +the current browser does not support the history API (IE9).

+

Type Parameters

+

T

+

Parameters

+
state
+

T

+

A state object associated with the +history item, preferably representing the page state.

+
title
+

string

+

The page title related to the state. Note that +this parameter is ignored by some browsers.

+
url?
+

string

+

The new URL at which the state is available.

+

Returns

+

void

+

Overrides

+

Window.pushState

+
+

querySelector()

+
+

querySelector<E>(selector): null | E

+
+

Defined in: packages/core/src/window/ClientWindow.ts:162

+

Returns the first element matching the specified CSS 3 selector.

+

Type Parameters

+

E extends Element = Element

+

Parameters

+
selector
+

string

+

The CSS selector.

+

Returns

+

null | E

+

The first element matching the CSS selector or +null if no such element exists.

+

Overrides

+

Window.querySelector

+
+

querySelectorAll()

+
+

querySelectorAll<E>(selector): NodeListOf<E>

+
+

Defined in: packages/core/src/window/ClientWindow.ts:169

+

Returns a node list of all elements matching the specified CSS 3 +selector.

+

Type Parameters

+

E extends Element = Element

+

Parameters

+
selector
+

string

+

The CSS selector.

+

Returns

+

NodeListOf<E>

+

A node list containing all elements matching the +specified CSS selector.

+

Overrides

+

Window.querySelectorAll

+
+

redirect()

+
+

redirect(url): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:178

+

Performs a hard redirect (discarding the current JavaScript state) to +the specified URL.

+

Parameters

+
url
+

string

+

The URL to which the browser will be redirected.

+

Returns

+

void

+

Overrides

+

Window.redirect

+
+

replaceState()

+
+

replaceState<T>(state, title, url?): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:194

+

Replaces the current history entry. The method has no effect if the +current browser does not support the history API (IE9).

+

Type Parameters

+

T

+

Parameters

+
state
+

T

+

A state object associated with the +history item, preferably representing the page state.

+
title
+

string

+

The page title related to the state. Note that +this parameter is ignored by some browsers.

+
url?
+

string

+

The new URL at which the state is available.

+

Returns

+

void

+

Overrides

+

Window.replaceState

+
+

scrollTo()

+
+

scrollTo(x, y): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:106

+

Scrolls the viewport to the specified location (if possible).

+

Parameters

+
x
+

number

+

Horizontal scroll offset in pixels.

+
y
+

number

+

Vertical scroll offset in pixels.

+

Returns

+

void

+

Overrides

+

Window.scrollTo

+
+

setTitle()

+
+

setTitle(title): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:55

+

Sets the new page title of the document.

+

Parameters

+
title
+

string

+

The new page title.

+

Returns

+

void

+

Overrides

+

Window.setTitle

+
+

unbindEventListener()

+
+

unbindEventListener<T, E, S>(eventTarget, event, listener, options, scope?): void

+
+

Defined in: packages/core/src/window/ClientWindow.ts:254

+

Deregister the provided event listener, so it will no longer we +executed when the specified event occurs on the specified event target.

+

The method has no effect if the provided event listener is not +registered to be executed at the specified event.

+

Type Parameters

+

T extends EventTarget

+

E extends Event = Event

+

S = any

+

Parameters

+
eventTarget
+

T

+

The event target.

+
event
+

string

+

The name of the event.

+
listener
+

(event) => void

+

The event listener.

+
options
+

The useCapture flag value that was used when the +listener was registered, or provide capture option through object options.

+

boolean | EventListenerOptions

+
scope?
+

S

+

Returns

+

void

+

Overrides

+

Window.unbindEventListener

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ComponentUtils/index.html b/api/@ima/core/classes/ComponentUtils/index.html new file mode 100644 index 000000000..874ca35cc --- /dev/null +++ b/api/@ima/core/classes/ComponentUtils/index.html @@ -0,0 +1,76 @@ + + + + + +Class: ComponentUtils | IMA.js + + + + +
Skip to main content

Class: ComponentUtils

+

Defined in: packages/core/src/page/renderer/ComponentUtils.ts:4

+

Constructors

+

new ComponentUtils()

+
+

new ComponentUtils(oc): ComponentUtils

+
+

Defined in: packages/core/src/page/renderer/ComponentUtils.ts:31

+

Initializes the registry used for managing component utils.

+

Parameters

+
oc
+

ObjectContainer

+

The application's dependency injector - the +object container.

+

Returns

+

ComponentUtils

+

Methods

+

_createUtilityInstance()

+
+

_createUtilityInstance(alias, utilityClass): any

+
+

Defined in: packages/core/src/page/renderer/ComponentUtils.ts:104

+

Parameters

+
alias
+

string

+
utilityClass
+

Dependency<any>

+

Returns

+

any

+
+

getReferrers()

+
+

getReferrers(): StringParameters

+
+

Defined in: packages/core/src/page/renderer/ComponentUtils.ts:100

+

Returns

+

StringParameters

+
+

getUtils()

+
+

getUtils(): Utils

+
+

Defined in: packages/core/src/page/renderer/ComponentUtils.ts:80

+

Returns object containing all registered utilities

+

Returns

+

Utils

+
+

register()

+
+

register<T>(name, componentUtilityClass?, referrer?): void

+
+

Defined in: packages/core/src/page/renderer/ComponentUtils.ts:38

+

Registers single utility class or multiple classes in alias->class mapping.

+

Type Parameters

+

T

+

Parameters

+
name
+

string | {} | Constructor<T> & WithDependencies | AbstractConstructor<T> & Partial<WithDependencies> | Function & object & Partial<WithDependencies> | [OCInjectable<T>, { optional: boolean; }]

+
componentUtilityClass?
+

Dependency<any>

+
referrer?
+

string

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Controller/index.html b/api/@ima/core/classes/Controller/index.html new file mode 100644 index 000000000..d8dfabaad --- /dev/null +++ b/api/@ima/core/classes/Controller/index.html @@ -0,0 +1,364 @@ + + + + + +Class: abstract Controller\<S, R, SS\> | IMA.js + + + + +
Skip to main content

Class: abstract Controller<S, R, SS>

+

Defined in: packages/core/src/controller/Controller.ts:38

+

Interface defining the common API of page controllers. A page controller is +used to manage the overall state and view of a single application page, and +updates the page state according to the events submitted to it by components +on the page (or other input).

+

Extended by

+ +

Type Parameters

+

S extends PageState = {}

+

R extends RouteParams = {}

+

SS extends S = S

+

Indexable

+

[key: string | number | symbol]: any

+

Constructors

+

new Controller()

+
+

new Controller<S, R, SS>(): Controller<R, SS>

+
+

Returns

+

Controller<R, SS>

+

Properties

+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/controller/Controller.ts:44

+
+

$extensions?

+
+

static optional $extensions: Dependencies<Extension>

+
+

Defined in: packages/core/src/controller/Controller.ts:45

+
+

$name?

+
+

static optional $name: string

+
+

Defined in: packages/core/src/controller/Controller.ts:43

+

Methods

+

activate()

+
+

activate(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:84

+

Callback for activating the controller in the UI. This is the last +method invoked during controller initialization, called after all the +promises returned from the Controller#load method have been +resolved and the controller has configured the meta manager.

+

The controller may register any React and DOM event listeners in this +method. The controller may start receiving event bus event after this +method completes.

+

Returns

+

void | Promise<void>

+
+

addExtension()

+
+

addExtension(extension, extensionInstance?): void

+
+

Defined in: packages/core/src/controller/Controller.ts:232

+

Adds the provided extension to this controller. All extensions should be +added to the controller before the Controller#init method is +invoked.

+

Parameters

+
extension
+

keyof OCAliasMap | Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>> | Extension<PageState, RouteParams, PageState>

+
extensionInstance?
+

Extension<PageState, RouteParams, PageState>

+

Returns

+

void

+
+

beginStateTransaction()

+
+

beginStateTransaction(): void

+
+

Defined in: packages/core/src/controller/Controller.ts:208

+

Starts queueing state patches off the controller state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+
+

cancelStateTransaction()

+
+

cancelStateTransaction(): void

+
+

Defined in: packages/core/src/controller/Controller.ts:223

+

Cancels ongoing state transaction. Uncommitted state changes are lost.

+

Returns

+

void

+
+

commitStateTransaction()

+
+

commitStateTransaction(): void

+
+

Defined in: packages/core/src/controller/Controller.ts:216

+

Applies queued state patches to the controller state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+
+

deactivate()

+
+

deactivate(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:99

+

Callback for deactivating the controller in the UI. This is the first +method invoked during controller deinitialization. This usually happens +when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the +Controller#activate method.

+

The controller should deregister listeners registered and release all +resources obtained in the Controller#activate method.

+

Returns

+

void | Promise<void>

+
+

destroy()

+
+

destroy(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:70

+

Finalization callback, called when the controller is being discarded by +the application. This usually happens when the user navigates to a +different URL.

+

This method is the lifecycle counterpart of the Controller#init +method.

+

The controller should release all resources obtained in the +Controller#init method. The controller must release any resources +that might not be released automatically when the controller's instance +is destroyed by the garbage collector.

+

Returns

+

void | Promise<void>

+
+

getExtension()

+
+

getExtension(extension): undefined | Extension<PageState, RouteParams, PageState>

+
+

Defined in: packages/core/src/controller/Controller.ts:247

+

Returns extension instance defined by it's class constructor +from controller's extension intance map.

+

Parameters

+
extension
+

typeof Extension

+

Returns

+

undefined | Extension<PageState, RouteParams, PageState>

+
+

getExtensions()

+
+

getExtensions(): Extension[]

+
+

Defined in: packages/core/src/controller/Controller.ts:261

+

Returns the controller's extensions.

+

Returns

+

Extension[]

+

The extensions added to this controller.

+
+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/controller/Controller.ts:329

+

Returns the HTTP status code to send to the client, should the +controller be used at the server-side.

+

Returns

+

number

+

The HTTP status code to send to the client.

+
+

getRouteParams()

+
+

getRouteParams(): R

+
+

Defined in: packages/core/src/controller/Controller.ts:305

+

Returns the current route parameters.

+

Returns

+

R

+

The current route parameters.

+
+

getState()

+
+

getState(): SS

+
+

Defined in: packages/core/src/controller/Controller.ts:197

+

Returns the controller's current state.

+

Returns

+

SS

+

The current state of this controller.

+
+

init()

+
+

init(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/Controller.ts:53

+

Callback for initializing the controller after the route parameters have +been set on this controller.

+

Returns

+

void | Promise<void>

+
+

load()

+
+

load(): S | Promise<S>

+
+

Defined in: packages/core/src/controller/Controller.ts:138

+

Callback the controller uses to request the resources it needs to render +its view. This method is invoked after the Controller#init +method.

+

The controller should request all resources it needs in this method, and +represent each resource request as a promise that will resolve once the +resource is ready for use (these can be data fetched over HTTP(S), +database connections, etc).

+

The method must return a plain flat object. The field names of the +object identify the resources being fetched and prepared, each value +must be either the resource (e.g. view configuration or a value +retrieved synchronously) or a Promise that will resolve to the resource.

+

The IMA will use the object to set the state of the controller.

+

If at the server side, the IMA will wait for all the promises to +resolve, replaces the promises with the resolved values and sets the +resulting object as the controller's state.

+

If at the client side, the IMA will first set the controller's state to +an object containing only the fields of the returned object that were +not promises. IMA will then update the controller's state every time a +promise of the returned object resolves. IMA will update the state by +adding the resolved resource to the controller's state.

+

Any returned promise that gets rejected will redirect the application to +the error page. The error page that will be used depends on the status +code of the error.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+
+

setMetaParams()

+
+

setMetaParams(loadedResources, metaManager, router, dictionary, settings): void

+
+

Defined in: packages/core/src/controller/Controller.ts:280

+

Callback used to configure the meta attribute manager. The method is +called after the the controller's state has been patched with the all +loaded resources and the view has been rendered.

+

Parameters

+
loadedResources
+

Intersection<Partial<Pick<SS, Matching<SS, Promise<any>>>>, Required<Pick<SS, NonMatching<SS, Promise<any>>>>>

+

A plain object representing a +map of resource names to resources loaded by the +Controller#load method. This is the same object as the one +passed to the Controller#setState method.

+
metaManager
+

MetaManager

+

Meta attributes manager to configure.

+
router
+

Router

+

The current application router.

+
dictionary
+

Dictionary

+

The current localization dictionary.

+
settings
+

Settings

+

The application settings for the +current application environment.

+

Returns

+

void

+
+

setPageStateManager()

+
+

setPageStateManager(pageStateManager?): void

+
+

Defined in: packages/core/src/controller/Controller.ts:319

+

Sets the page state manager. The page state manager manages the +controller's state. The state manager can be set to null if this +controller loses the right to modify the state of the current page (e.g. +the user has navigated to a different route using a different +controller).

+

Parameters

+
pageStateManager?
+

PageStateManager<SS>

+

The current state manager to +use.

+

Returns

+

void

+
+

setRouteParams()

+
+

setRouteParams(params): void

+
+

Defined in: packages/core/src/controller/Controller.ts:296

+

Sets the current route parameters. This method is invoked before the +Controller#init method.

+

Parameters

+
params
+

R = ...

+

The current route parameters.

+

Returns

+

void

+
+

setState()

+
+

setState<K>(statePatch): void

+
+

Defined in: packages/core/src/controller/Controller.ts:188

+

Patches the state of this controller using the provided object by +copying the provided patch object fields to the controller's state +object.

+

You can use this method to modify the state partially or add new fields +to the state object.

+

Note that the state is not patched recursively but by replacing the +values of the top-level fields of the state object.

+

Once the promises returned by the Controller#load method are +resolved, this method is called with the an object containing the +resolved values. The field names of the passed object will match the +field names in the object returned from the Controller#load +method.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
statePatch
+

Patch of the controller's state to +apply.

+

null | S | Pick<S, K>

+

Returns

+

void

+
+

update()

+
+

update(prevParams): S | Promise<S>

+
+

Defined in: packages/core/src/controller/Controller.ts:164

+

Callback for updating the controller after a route update. This method +is invoked if the current route has the onlyUpdate flag set to true and +the current controller and view match those used by the previously active +route, or, the onlyUpdate option of the current route is a callback and +returned true.

+

The method must return an object with the same semantics as the result +of the Controller#load method. The controller's state will only +be patched by the returned object instead of replacing it completely.

+

The other controller lifecycle callbacks (Controller#init, +Controller#load, Controller#activate, +Controller#deactivate, Controller#deinit) are not call +in case this method is used.

+

Parameters

+
prevParams
+

R = ...

+

Previous route +parameters.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ControllerDecorator/index.html b/api/@ima/core/classes/ControllerDecorator/index.html new file mode 100644 index 000000000..6885b68c6 --- /dev/null +++ b/api/@ima/core/classes/ControllerDecorator/index.html @@ -0,0 +1,461 @@ + + + + + +Class: ControllerDecorator\<S, R, SS\> | IMA.js + + + + +
Skip to main content

Class: ControllerDecorator<S, R, SS>

+

Defined in: packages/core/src/controller/ControllerDecorator.ts:18

+

Decorator for page controllers. The decorator manages references to the meta +attributes manager and other utilities so these can be easily provided to +the decorated page controller when needed.

+

Extends

+ +

Type Parameters

+

S extends PageState = {}

+

R extends RouteParams = {}

+

SS extends S = S

+

Indexable

+

[key: string | number | symbol]: any

+

Constructors

+

new ControllerDecorator()

+
+

new ControllerDecorator<S, R, SS>(controller, metaManager, router, dictionary, settings): ControllerDecorator<R, SS>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:54

+

Initializes the controller decorator.

+

Parameters

+
controller
+

Controller<S, R, SS>

+

The controller being decorated.

+
metaManager
+

MetaManager

+

The meta page attributes manager.

+
router
+

Router

+

The application router.

+
dictionary
+

Dictionary

+

Localization phrases dictionary.

+
settings
+

Settings

+

Application settings for the +current application environment.

+

Returns

+

ControllerDecorator<R, SS>

+

Overrides

+

Controller.constructor

+

Properties

+

_controller

+
+

protected _controller: Controller<S, R, SS>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:26

+

The controller being decorated.

+
+

_dictionary

+
+

protected _dictionary: Dictionary

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:38

+

Localization phrases dictionary.

+
+

_metaManager

+
+

protected _metaManager: MetaManager

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:30

+

The meta page attributes manager.

+
+

_router

+
+

protected _router: Router

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:34

+

The application router.

+
+

_settings

+
+

protected _settings: Settings

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:42

+

Application settings for the current application environment.

+
+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/controller/Controller.ts:44

+

Inherited from

+

Controller.$dependencies

+
+

$extensions?

+
+

static optional $extensions: Dependencies<Extension>

+
+

Defined in: packages/core/src/controller/Controller.ts:45

+

Inherited from

+

Controller.$extensions

+
+

$name?

+
+

static optional $name: string

+
+

Defined in: packages/core/src/controller/Controller.ts:43

+

Inherited from

+

Controller.$name

+

Methods

+

activate()

+
+

activate(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:87

+

Callback for activating the controller in the UI. This is the last +method invoked during controller initialization, called after all the +promises returned from the Controller#load method have been +resolved and the controller has configured the meta manager.

+

The controller may register any React and DOM event listeners in this +method. The controller may start receiving event bus event after this +method completes.

+

Returns

+

void | Promise<void>

+

Overrides

+

Controller.activate

+
+

addExtension()

+
+

addExtension(extension, extensionInstance?): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:150

+

Adds the provided extension to this controller. All extensions should be +added to the controller before the Controller#init method is +invoked.

+

Parameters

+
extension
+

keyof OCAliasMap | Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>> | Extension<PageState, RouteParams, PageState>

+
extensionInstance?
+

Extension<PageState, RouteParams, PageState>

+

Returns

+

void

+

Overrides

+

Controller.addExtension

+
+

beginStateTransaction()

+
+

beginStateTransaction(): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:129

+

Starts queueing state patches off the controller state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+

Overrides

+

Controller.beginStateTransaction

+
+

cancelStateTransaction()

+
+

cancelStateTransaction(): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:143

+

Cancels ongoing state transaction. Uncommitted state changes are lost.

+

Returns

+

void

+

Overrides

+

Controller.cancelStateTransaction

+
+

commitStateTransaction()

+
+

commitStateTransaction(): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:136

+

Applies queued state patches to the controller state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+

Overrides

+

Controller.commitStateTransaction

+
+

deactivate()

+
+

deactivate(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:94

+

Callback for deactivating the controller in the UI. This is the first +method invoked during controller deinitialization. This usually happens +when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the +Controller#activate method.

+

The controller should deregister listeners registered and release all +resources obtained in the Controller#activate method.

+

Returns

+

void | Promise<void>

+

Overrides

+

Controller.deactivate

+
+

destroy()

+
+

destroy(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:80

+

Finalization callback, called when the controller is being discarded by +the application. This usually happens when the user navigates to a +different URL.

+

This method is the lifecycle counterpart of the Controller#init +method.

+

The controller should release all resources obtained in the +Controller#init method. The controller must release any resources +that might not be released automatically when the controller's instance +is destroyed by the garbage collector.

+

Returns

+

void | Promise<void>

+

Overrides

+

Controller.destroy

+
+

getExtension()

+
+

getExtension(extension): undefined | Extension<PageState, RouteParams, PageState>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:164

+

Returns extension instance defined by it's class constructor +from controller's extension intance map.

+

Parameters

+
extension
+

typeof Extension

+

Returns

+

undefined | Extension<PageState, RouteParams, PageState>

+

Overrides

+

Controller.getExtension

+
+

getExtensions()

+
+

getExtensions(): Extension[]

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:173

+

Returns the controller's extensions.

+

Returns

+

Extension[]

+

The extensions added to this controller.

+

Overrides

+

Controller.getExtensions

+
+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:214

+

Returns the HTTP status code to send to the client, should the +controller be used at the server-side.

+

Returns

+

number

+

The HTTP status code to send to the client.

+

Overrides

+

Controller.getHttpStatus

+
+

getMetaManager()

+
+

getMetaManager(): MetaManager

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:225

+

Returns the meta attributes manager configured by the decorated +controller.

+

Returns

+

MetaManager

+

The Meta attributes manager configured by the +decorated controller.

+
+

getRouteParams()

+
+

getRouteParams(): R

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:200

+

Returns the current route parameters.

+

Returns

+

R

+

The current route parameters.

+

Overrides

+

Controller.getRouteParams

+
+

getState()

+
+

getState(): SS

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:122

+

Returns the controller's current state.

+

Returns

+

SS

+

The current state of this controller.

+

Overrides

+

Controller.getState

+
+

init()

+
+

init(): void | Promise<void>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:73

+

Callback for initializing the controller after the route parameters have +been set on this controller.

+

Returns

+

void | Promise<void>

+

Overrides

+

Controller.init

+
+

load()

+
+

load(): S | Promise<S>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:101

+

Callback the controller uses to request the resources it needs to render +its view. This method is invoked after the Controller#init +method.

+

The controller should request all resources it needs in this method, and +represent each resource request as a promise that will resolve once the +resource is ready for use (these can be data fetched over HTTP(S), +database connections, etc).

+

The method must return a plain flat object. The field names of the +object identify the resources being fetched and prepared, each value +must be either the resource (e.g. view configuration or a value +retrieved synchronously) or a Promise that will resolve to the resource.

+

The IMA will use the object to set the state of the controller.

+

If at the server side, the IMA will wait for all the promises to +resolve, replaces the promises with the resolved values and sets the +resulting object as the controller's state.

+

If at the client side, the IMA will first set the controller's state to +an object containing only the fields of the returned object that were +not promises. IMA will then update the controller's state every time a +promise of the returned object resolves. IMA will update the state by +adding the resolved resource to the controller's state.

+

Any returned promise that gets rejected will redirect the application to +the error page. The error page that will be used depends on the status +code of the error.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+

Overrides

+

Controller.load

+
+

setMetaParams()

+
+

setMetaParams(loadedResources): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:180

+

Callback used to configure the meta attribute manager. The method is +called after the the controller's state has been patched with the all +loaded resources and the view has been rendered.

+

Parameters

+
loadedResources
+

Intersection<Partial<Pick<SS, Matching<SS, Promise<any>>>>, Required<Pick<SS, NonMatching<SS, Promise<any>>>>>

+

A plain object representing a +map of resource names to resources loaded by the +Controller#load method. This is the same object as the one +passed to the Controller#setState method.

+

Returns

+

void

+

Overrides

+

Controller.setMetaParams

+
+

setPageStateManager()

+
+

setPageStateManager(pageStateManager?): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:207

+

Sets the page state manager. The page state manager manages the +controller's state. The state manager can be set to null if this +controller loses the right to modify the state of the current page (e.g. +the user has navigated to a different route using a different +controller).

+

Parameters

+
pageStateManager?
+

PageStateManager<SS>

+

The current state manager to +use.

+

Returns

+

void

+

Overrides

+

Controller.setPageStateManager

+
+

setRouteParams()

+
+

setRouteParams(params): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:193

+

Sets the current route parameters. This method is invoked before the +Controller#init method.

+

Parameters

+
params
+

R = ...

+

The current route parameters.

+

Returns

+

void

+

Overrides

+

Controller.setRouteParams

+
+

setState()

+
+

setState<K>(statePatch): void

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:115

+

Patches the state of this controller using the provided object by +copying the provided patch object fields to the controller's state +object.

+

You can use this method to modify the state partially or add new fields +to the state object.

+

Note that the state is not patched recursively but by replacing the +values of the top-level fields of the state object.

+

Once the promises returned by the Controller#load method are +resolved, this method is called with the an object containing the +resolved values. The field names of the passed object will match the +field names in the object returned from the Controller#load +method.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
statePatch
+

Patch of the controller's state to +apply.

+

null | S | Pick<S, K>

+

Returns

+

void

+

Overrides

+

Controller.setState

+
+

update()

+
+

update(prevParams): S | Promise<S>

+
+

Defined in: packages/core/src/controller/ControllerDecorator.ts:108

+

Callback for updating the controller after a route update. This method +is invoked if the current route has the onlyUpdate flag set to true and +the current controller and view match those used by the previously active +route, or, the onlyUpdate option of the current route is a callback and +returned true.

+

The method must return an object with the same semantics as the result +of the Controller#load method. The controller's state will only +be patched by the returned object instead of replacing it completely.

+

The other controller lifecycle callbacks (Controller#init, +Controller#load, Controller#activate, +Controller#deactivate, Controller#deinit) are not call +in case this method is used.

+

Parameters

+
prevParams
+

R = ...

+

Previous route +parameters.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+

Overrides

+

Controller.update

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/CookieStorage/index.html b/api/@ima/core/classes/CookieStorage/index.html new file mode 100644 index 000000000..9c24a1b77 --- /dev/null +++ b/api/@ima/core/classes/CookieStorage/index.html @@ -0,0 +1,316 @@ + + + + + +Class: CookieStorage | IMA.js + + + + +
Skip to main content

Class: CookieStorage

+

Defined in: packages/core/src/storage/CookieStorage.ts:43

+

Storage of cookies, mirroring the cookies to the current request / response +at the server side and the document.cookie property at the client +side. The storage caches the cookies internally.

+

Extends

+ +

Constructors

+

new CookieStorage()

+
+

new CookieStorage(window, request, response): CookieStorage

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:182

+

Initializes the cookie storage.

+

Parameters

+
window
+

Window

+

The window utility.

+
request
+

Request

+

The current HTTP request.

+
response
+

Response

+

The current HTTP response.

+

Returns

+

CookieStorage

+

Example

+
cookie.set('cookie', 'value', { expires: 10 }); // cookie expires
// after 10s
cookie.set('cookie'); // delete cookie
+

Overrides

+

Storage.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:95

+
Returns
+

Dependencies

+

Methods

+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:280

+

Clears the storage of all entries.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.clear

+
+

delete()

+
+

delete(name, options): this

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:268

+

Deletes the cookie identified by the specified name.

+

Parameters

+
name
+

string

+

Name identifying the cookie.

+
options
+

CookieOptions = {}

+

The cookie options. The domain and +path specify the cookie's domain and path. The +httpOnly and secure flags set the flags of the +same name of the cookie.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.delete

+
+

get()

+
+

get(name): undefined | string | number | boolean | Date

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:216

+

Retrieves the value of the entry identified by the specified . The +method returns undefined if the entry does not exists.

+

Entries set to the undefined value can be tested for existence +using the link has method.

+

Parameters

+
name
+

string

+

The key identifying the storage entry.

+

Returns

+

undefined | string | number | boolean | Date

+

The value of the storage entry.

+

Overrides

+

Storage.get

+
+

getCookiesStringForCookieHeader()

+
+

getCookiesStringForCookieHeader(url?): string

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:318

+

Returns all cookies in this storage serialized to a string compatible +with the Cookie HTTP header.

+

When url is provided, the method validates the cookie security based on +the url and the cookie's domain, path, and secure attributes.

+

Parameters

+
url?
+

string

+

Returns

+

string

+

All cookies in this storage serialized to a string +compatible with the Cookie HTTP header.

+
+

getExpirationAsDate()

+
+

getExpirationAsDate(expiration): Date

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:481

+

Converts the provided cookie expiration to a Date instance.

+

Parameters

+
expiration
+

Cookie expiration in seconds +from now, or as a string compatible with the Date +constructor.

+

string | number | Date

+

Returns

+

Date

+

Cookie expiration as a Date instance.

+
+

has()

+
+

has(name): boolean

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:207

+

Returns true if the entry identified by the specified key exists +in this storage.

+

Parameters

+
name
+

string

+

The key identifying the storage entry.

+

Returns

+

boolean

+

true if the storage entry exists.

+

Overrides

+

Storage.has

+
+

init()

+
+

init(options, transformFunction): this

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:193

+

This method is used to finalize the initialization of the storage after +the dependencies provided through the constructor have been prepared for +use.

+

This method must be invoked only once and it must be the first method +invoked on this instance.

+

Parameters

+
options
+

CookieOptions = {}

+
transformFunction
+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.init

+
+

keys()

+
+

keys(): Iterable<string>

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:293

+

Returns an iterator for traversing the keys in this storage. The order +in which the keys are traversed is undefined.

+

Returns

+

Iterable<string>

+

An iterator for traversing the keys in this +storage. The iterator also implements the iterable protocol, +returning itself as its own iterator, allowing it to be used in +a for..of loop.

+

Overrides

+

Storage.keys

+
+

parse()

+
+

parse(): void

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:393

+

Parses cookies from a cookie string and sets the parsed cookies to the +internal storage.

+

The method obtains the cookie string from the request's Cookie +HTTP header when used at the server side, and the document.cookie +property at the client side.

+

Returns

+

void

+
+

parseFromSetCookieHeader()

+
+

parseFromSetCookieHeader(cookiesString, url?): void

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:357

+

Parses cookies from the provided Set-Cookie HTTP header value.

+

When url is provided, the method validates the cookie security based on +the url and the cookie's domain, path, and secure attributes.

+

The parsed cookies will be set to the internal storage, and the current +HTTP response (via the Set-Cookie HTTP header) if at the server +side, or the browser (via the document.cookie property).

+

Parameters

+
cookiesString
+

The value of the Set-Cookie HTTP +header. When there are multiple cookies, the value can be +provided as an array of strings.

+

string | string[]

+
url?
+

string

+

Returns

+

void

+
+

recomputeCookieMaxAgeAndExpires()

+
+

recomputeCookieMaxAgeAndExpires(options): void

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:459

+

Recomputes cookie's attributes maxAge and expires between each other.

+

Parameters

+
options
+

CookieOptions

+

Cookie attributes. Only the attributes listed in the +type annotation of this field are supported. For documentation +and full list of cookie attributes see +http://tools.ietf.org/html/rfc2965#page-5

+

Returns

+

void

+
+

sanitizeCookieValue()

+
+

sanitizeCookieValue(value): string

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:417

+

Sanitize cookie value by rules in +(@see http://tools.ietf.org/html/rfc6265#section-4r.1.1). Erase all +invalid characters from cookie value.

+

Parameters

+
value
+

Cookie value

+

undefined | string | number | boolean | Date

+

Returns

+

string

+

Sanitized value

+
+

set()

+
+

set(name, value, options): this

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:234

+

Sets the storage entry identified by the specified key to the provided +value. The method creates the entry if it does not exist already.

+

Parameters

+
name
+

string

+

The key identifying the storage entry.

+
value
+

The storage entry value.

+

undefined | string | number | boolean | Date

+
options
+

CookieOptions = {}

+

The cookie options. The maxAge is the maximum +age in seconds of the cookie before it will be deleted, the +expires is an alternative to that, specifying the moment +at which the cookie will be discarded. The domain and +path specify the cookie's domain and path. The +httpOnly and secure flags set the flags of the +same name of the cookie.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.set

+
+

size()

+
+

size(): number

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:302

+

Returns the number of entries in this storage.

+

Returns

+

number

+

The number of entries in this storage.

+

Overrides

+

Storage.size

+
+

validateCookieSecurity()

+
+

static validateCookieSecurity(cookie, url): boolean

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:104

+

Filters invalid cookies based on the provided url. +We try to check validity of the domain based on secure, path and +domain definitions.

+

Parameters

+ +

Cookie

+
url
+

string

+

Returns

+

boolean

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Dictionary/index.html b/api/@ima/core/classes/Dictionary/index.html new file mode 100644 index 000000000..b8bb67395 --- /dev/null +++ b/api/@ima/core/classes/Dictionary/index.html @@ -0,0 +1,92 @@ + + + + + +Class: abstract Dictionary | IMA.js + + + + +
Skip to main content

Class: abstract Dictionary

+

Defined in: packages/core/src/dictionary/Dictionary.ts:21

+

The Dictionary is a manager and preprocessor of localization phrases for a +single language. The format of the localization phrases depends on the +implementation of this interface.

+

Extended by

+ +

Constructors

+

new Dictionary()

+
+

new Dictionary(): Dictionary

+
+

Returns

+

Dictionary

+

Methods

+

get()

+
+

get(key, parameters?): string

+
+

Defined in: packages/core/src/dictionary/Dictionary.ts:59

+

Retrieves the localization phrase identified by the specified key, +evaluates the phrase's placeholder expressions using the provided +parameters and returns the result.

+

Parameters

+
key
+

never

+

The key identifying the localization phrase.

+
parameters?
+

ObjectParameters

+

The +map of parameter names to the parameter values to use. +Defaults to an empty plain object.

+

Returns

+

string

+

The specified localization phrase with its placeholders +evaluated using the provided parameters.

+
+

getLanguage()

+
+

getLanguage(): string

+
+

Defined in: packages/core/src/dictionary/Dictionary.ts:43

+

Returns the ISO 639-1 language code of the language this dictionary was +initialized with.

+

Returns

+

string

+

The language code representing the language of the +localization phrases in this dictionary.

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/dictionary/Dictionary.ts:71

+

Tests whether the specified localization phrase exists in the +dictionary.

+

Parameters

+
key
+

string

+

The key identifying the localization phrase. +@returntrue if the key exists and denotes a single +localization phrase, otherwise false.

+

Returns

+

boolean

+
+

init()

+
+

init(config): void

+
+

Defined in: packages/core/src/dictionary/Dictionary.ts:32

+

Initializes this dictionary with the provided language and localization +phrases.

+

Parameters

+
config
+

DictionaryConfig

+

The dictionary configuration.

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Dispatcher/index.html b/api/@ima/core/classes/Dispatcher/index.html new file mode 100644 index 000000000..dec345f79 --- /dev/null +++ b/api/@ima/core/classes/Dispatcher/index.html @@ -0,0 +1,283 @@ + + + + + +Class: abstract Dispatcher | IMA.js + + + + +
Skip to main content

Class: abstract Dispatcher

+

Defined in: packages/core/src/event/Dispatcher.ts:26

+

A Dispatcher is a utility that manager event listeners registered for events +and allows distributing (firing) events to the listeners registered for the +given event.

+

The dispatcher provides a single-node event bus and is usually used to +propagate events from controllers to UI components when modifying/passing +the state is impractical for any reason.

+

Extended by

+ +

Constructors

+

new Dispatcher()

+
+

new Dispatcher(): Dispatcher

+
+

Returns

+

Dispatcher

+

Methods

+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:31

+

Deregisters all event listeners currently registered with this +dispatcher.

+

Returns

+

this

+
+

fire()

+

Call Signature

+
+

fire<E>(event, data): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:158

+

Fires a new event of the specified name, carrying the provided data.

+

The method will synchronously execute all event listeners registered for +the specified event, passing the provided data to them as the first +argument.

+

It will also execute all event listeners registered to listen to all events.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+
Type Parameters
+

E extends keyof DispatcherEventsMap

+
Parameters
+
event
+

E

+

The name of the event to fire.

+
data
+

DispatcherEventsMap[E]

+

The data to pass to the event listeners.

+
Returns
+

this

+

This dispatcher.

+

Call Signature

+
+

fire(event, data): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:162

+

Fires a new event of the specified name, carrying the provided data.

+

The method will synchronously execute all event listeners registered for +the specified event, passing the provided data to them as the first +argument.

+

It will also execute all event listeners registered to listen to all events.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+
Parameters
+
event
+

string

+

The name of the event to fire.

+
data
+

any

+

The data to pass to the event listeners.

+
Returns
+

this

+

This dispatcher.

+
+

listen()

+

Call Signature

+
+

listen<E>(event, listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:52

+

Registers the provided event listener to be executed when the specified +event is fired on this dispatcher.

+

When the specified event is fired, the event listener will be executed +with the data passed with the event as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon. Registering the same listener for the +same event and with the same scope multiple times has no effect.

+
Type Parameters
+

E extends keyof DispatcherEventsMap

+
Parameters
+
event
+

E

+

The name of the event to listen for.

+
listener
+

DispatcherListener<DispatcherEventsMap[E]>

+

The event listener to register.

+
scope?
+

unknown

+

The object to which the this keyword +will be bound in the event listener.

+
Returns
+

this

+

This dispatcher.

+

Call Signature

+
+

listen(event, listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:57

+

Registers the provided event listener to be executed when the specified +event is fired on this dispatcher.

+

When the specified event is fired, the event listener will be executed +with the data passed with the event as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon. Registering the same listener for the +same event and with the same scope multiple times has no effect.

+
Parameters
+
event
+

string

+

The name of the event to listen for.

+
listener
+

DispatcherListener<any>

+

The event listener to register.

+
scope?
+

unknown

+

The object to which the this keyword +will be bound in the event listener.

+
Returns
+

this

+

This dispatcher.

+
+

listenAll()

+

Call Signature

+
+

listenAll<E>(listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:86

+

Registers the provided event listener to be executed when any event is fired +on this dispatcher.

+

When any event is fired, the event listener will be executed with the data +passed with the event as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon. Registering the same listener with the same +scope multiple times has no effect.

+
Type Parameters
+

E extends keyof DispatcherEventsMap

+
Parameters
+
listener
+

DispatcherListenerAll<DispatcherEventsMap[E]>

+

The event listener to register.

+
scope?
+

unknown

+

The object to which the this keyword +will be bound in the event listener.

+
Returns
+

this

+

This dispatcher.

+

Call Signature

+
+

listenAll(listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:90

+

Registers the provided event listener to be executed when any event is fired +on this dispatcher.

+

When any event is fired, the event listener will be executed with the data +passed with the event as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon. Registering the same listener with the same +scope multiple times has no effect.

+
Parameters
+
listener
+

DispatcherListenerAll<any>

+

The event listener to register.

+
scope?
+

unknown

+

The object to which the this keyword +will be bound in the event listener.

+
Returns
+

this

+

This dispatcher.

+
+

unlisten()

+

Call Signature

+
+

unlisten<E>(event, listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:106

+

Deregisters the provided event listener, so it will no longer be +executed with the specified scope when the specified event is fired.

+
Type Parameters
+

E extends keyof DispatcherEventsMap

+
Parameters
+
event
+

E

+

The name of the event for which the listener +should be deregistered.

+
listener
+

DispatcherListener<DispatcherEventsMap[E]>

+

The event listener to deregister.

+
scope?
+

unknown

+

The object to which the this keyword +would be bound in the event listener.

+
Returns
+

this

+

This dispatcher.

+

Call Signature

+
+

unlisten(event, listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:111

+

Deregisters the provided event listener, so it will no longer be +executed with the specified scope when the specified event is fired.

+
Parameters
+
event
+

string

+

The name of the event for which the listener +should be deregistered.

+
listener
+

DispatcherListener<any>

+

The event listener to deregister.

+
scope?
+

unknown

+

The object to which the this keyword +would be bound in the event listener.

+
Returns
+

this

+

This dispatcher.

+
+

unlistenAll()

+

Call Signature

+
+

unlistenAll<E>(listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:132

+

Deregisters the provided event listener, so it will no longer be +executed when any event is fired.

+
Type Parameters
+

E extends keyof DispatcherEventsMap

+
Parameters
+
listener
+

DispatcherListenerAll<DispatcherEventsMap[E]>

+

The event listener function to deregister for all events.

+
scope?
+

unknown

+

Optional. The object to which the this keyword would be bound in the event listener.

+
Returns
+

this

+

This dispatcher instance.

+

Call Signature

+
+

unlistenAll(listener, scope?): this

+
+

Defined in: packages/core/src/event/Dispatcher.ts:136

+

Deregisters the provided event listener, so it will no longer be +executed when any event is fired.

+
Parameters
+
listener
+

DispatcherListenerAll<any>

+

The event listener function to deregister for all events.

+
scope?
+

unknown

+

Optional. The object to which the this keyword would be bound in the event listener.

+
Returns
+

this

+

This dispatcher instance.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/DispatcherImpl/index.html b/api/@ima/core/classes/DispatcherImpl/index.html new file mode 100644 index 000000000..1419ece69 --- /dev/null +++ b/api/@ima/core/classes/DispatcherImpl/index.html @@ -0,0 +1,259 @@ + + + + + +Class: DispatcherImpl | IMA.js + + + + +
Skip to main content

Class: DispatcherImpl

+

Defined in: packages/core/src/event/DispatcherImpl.ts:26

+

Default implementation of the Dispatcher interface.

+

Extends

+ +

Constructors

+

new DispatcherImpl()

+
+

new DispatcherImpl(): DispatcherImpl

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:39

+

Initializes the dispatcher.

+

Returns

+

DispatcherImpl

+

Overrides

+

Dispatcher.constructor

+

Properties

+

_eventListeners

+
+

protected _eventListeners: Map<string, Map<DispatcherListener<any>, Set<unknown>>>

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:27

+
+

_eventListenersAll

+
+

protected _eventListenersAll: Map<DispatcherListenerAll<any>, Set<unknown>>

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:32

+
+

$dependencies

+
+

static $dependencies: Dependencies = []

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:34

+

Methods

+

_createNewEvent()

+
+

_createNewEvent(event): void

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:210

+

Create new Map storage of listeners for the specified event.

+

Parameters

+
event
+

string

+

The name of the event.

+

Returns

+

void

+
+

_createNewListener()

+
+

_createNewListener<L>(event, listener): void

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:221

+

Create new Set storage of scopes for the specified event and listener.

+

Type Parameters

+

L extends DispatcherListener<any>

+

Parameters

+
event
+

string

+

The name of the event.

+
listener
+

L

+

The event listener.

+

Returns

+

void

+
+

_getListenersOf()

+
+

_getListenersOf(event): Readonly<Map<DispatcherListener<any>, Set<unknown>>>

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:266

+

Retrieves the map of event listeners to scopes they are bound to.

+

Parameters

+
event
+

string

+

The name of the event.

+

Returns

+

Readonly<Map<DispatcherListener<any>, Set<unknown>>>

+

A map of event listeners to the +scopes in which they should be executed. The returned map is an +unmodifiable empty map if no listeners are registered for the +event.

+
+

_getScopesOf()

+
+

_getScopesOf<L>(event, listener): Readonly<Set<unknown>>

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:244

+

Retrieves the scopes in which the specified event listener should be +executed for the specified event.

+

Type Parameters

+

L extends DispatcherListener<any>

+

Parameters

+
event
+

string

+

The name of the event.

+
listener
+

L

+

The event listener.

+

Returns

+

Readonly<Set<unknown>>

+

The scopes in which the specified listeners +should be executed in case of the specified event. The returned +set is an unmodifiable empty set if no listeners are registered +for the event.

+
+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:54

+

Deregisters all event listeners currently registered with this +dispatcher.

+

Returns

+

this

+

Overrides

+

Dispatcher.clear

+
+

fire()

+
+

fire<E>(event, data): this

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:184

+

Fires a new event of the specified name, carrying the provided data.

+

The method will synchronously execute all event listeners registered for +the specified event, passing the provided data to them as the first +argument.

+

It will also execute all event listeners registered to listen to all events.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Type Parameters

+

E extends string

+

Parameters

+
event
+

E

+

The name of the event to fire.

+
data
+

any

+

The data to pass to the event listeners.

+

Returns

+

this

+

This dispatcher.

+

Overrides

+

Dispatcher.fire

+
+

listen()

+
+

listen(event, listener, scope?): this

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:63

+

Registers the provided event listener to be executed when the specified +event is fired on this dispatcher.

+

When the specified event is fired, the event listener will be executed +with the data passed with the event as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon. Registering the same listener for the +same event and with the same scope multiple times has no effect.

+

Parameters

+
event
+

string

+

The name of the event to listen for.

+
listener
+

DispatcherListener<any>

+

The event listener to register.

+
scope?
+

unknown

+

The object to which the this keyword +will be bound in the event listener.

+

Returns

+

this

+

This dispatcher.

+

Overrides

+

Dispatcher.listen

+
+

listenAll()

+
+

listenAll(listener, scope?): DispatcherImpl

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:94

+

Registers the provided event listener to be executed when any event is fired +on this dispatcher.

+

When any event is fired, the event listener will be executed with the data +passed with the event as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon. Registering the same listener with the same +scope multiple times has no effect.

+

Parameters

+
listener
+

DispatcherListenerAll<any>

+

The event listener to register.

+
scope?
+

unknown

+

The object to which the this keyword +will be bound in the event listener.

+

Returns

+

DispatcherImpl

+

This dispatcher.

+

Overrides

+

Dispatcher.listenAll

+
+

unlisten()

+
+

unlisten(event, listener, scope?): this

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:117

+

Deregisters the provided event listener, so it will no longer be +executed with the specified scope when the specified event is fired.

+

Parameters

+
event
+

string

+

The name of the event for which the listener +should be deregistered.

+
listener
+

DispatcherListener<any>

+

The event listener to deregister.

+
scope?
+

unknown

+

The object to which the this keyword +would be bound in the event listener.

+

Returns

+

this

+

This dispatcher.

+

Overrides

+

Dispatcher.unlisten

+
+

unlistenAll()

+
+

unlistenAll(listener, scope?): DispatcherImpl

+
+

Defined in: packages/core/src/event/DispatcherImpl.ts:154

+

Deregisters the provided event listener, so it will no longer be +executed when any event is fired.

+

Parameters

+
listener
+

DispatcherListenerAll<any>

+

The event listener function to deregister for all events.

+
scope?
+

unknown

+

Optional. The object to which the this keyword would be bound in the event listener.

+

Returns

+

DispatcherImpl

+

This dispatcher instance.

+

Overrides

+

Dispatcher.unlistenAll

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/DynamicRoute/index.html b/api/@ima/core/classes/DynamicRoute/index.html new file mode 100644 index 000000000..3f28ce140 --- /dev/null +++ b/api/@ima/core/classes/DynamicRoute/index.html @@ -0,0 +1,313 @@ + + + + + +Class: DynamicRoute | IMA.js + + + + +
Skip to main content

Class: DynamicRoute

+

Defined in: packages/core/src/router/DynamicRoute.ts:51

+

Utility for representing and manipulating a single dynamic route in the +router's configuration. Dynamic route is defined by regExp used for route +matching and overrides for toPath and extractParameters functions to generate +and put together valid path.

+

Extends

+ +

Constructors

+

new DynamicRoute()

+
+

new DynamicRoute(name, pathExpression, controller, view, options?): DynamicRoute

+
+

Defined in: packages/core/src/router/DynamicRoute.ts:58

+

Initializes the route.

+

Parameters

+
name
+

string

+
pathExpression
+

RoutePathExpression

+

Path expression used in route matching, +to generate valid path with provided params and parsing params from current path.

+
controller
+

AsyncRouteController

+
view
+

AsyncRouteView

+
options?
+

Partial<RouteFactoryOptions>

+

Returns

+

DynamicRoute

+

Overrides

+

AbstractRoute.constructor

+

Properties

+

_controller

+
+

protected _controller: object

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:58

+

The full name of Object Container alias identifying the controller +associated with this route.

+

cached

+
+

cached: null | RouteController | Promise<RouteController>

+
+

controller

+
+

controller: AsyncRouteController

+
+

resolved

+
+

resolved: boolean

+
+

Inherited from

+

AbstractRoute._controller

+
+

_name

+
+

protected _name: string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:48

+

The unique name of this route, identifying it among the rest of the +routes in the application.

+

Inherited from

+

AbstractRoute._name

+
+

_options

+
+

protected _options: RouteFactoryOptions

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:76

+

The route additional options.

+

Inherited from

+

AbstractRoute._options

+
+

_pathExpression

+
+

protected _pathExpression: RoutePathExpression

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:53

+

Path expression used in route matching, to generate valid path with +provided params and parsing params from current path.

+

Inherited from

+

AbstractRoute._pathExpression

+
+

_view

+
+

protected _view: object

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:67

+

The full name or Object Container alias identifying the view class +associated with this route.

+

cached

+
+

cached: null | RouteView | Promise<RouteView>

+
+

resolved

+
+

resolved: boolean

+
+

view

+
+

view: AsyncRouteView

+
+

Inherited from

+

AbstractRoute._view

+

Methods

+

extractParameters()

+
+

extractParameters(path, baseUrl): RouteParams

+
+

Defined in: packages/core/src/router/DynamicRoute.ts:112

+

Extracts the parameter values from the provided path. The method +extracts both the in-path parameters and parses the query, allowing the +query parameters to override the in-path parameters.

+

The method returns an empty hash object if the path does not match this +route.

+

Parameters

+
path
+

string

+

Currently routed path.

+
baseUrl
+

string

+

Currently routed baseUrl.

+

Returns

+

RouteParams

+

Map of parameter names to parameter +values.

+

Overrides

+

AbstractRoute.extractParameters

+
+

getController()

+
+

getController(): RouteController | Promise<RouteController>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:153

+

Returns Controller class/alias/constant associated with this route. +Internally caches async calls for dynamically imported controllers, +meaning that once they're loaded, you get the same promise for +subsequent calls.

+

Returns

+

RouteController | Promise<RouteController>

+

The Controller class/alias/constant.

+

Inherited from

+

AbstractRoute.getController

+
+

getName()

+
+

getName(): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:132

+

Returns the unique identifying name of this route.

+

Returns

+

string

+

The name of the route, identifying it.

+

Inherited from

+

AbstractRoute.getName

+
+

getOptions()

+
+

getOptions(): RouteFactoryOptions

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:210

+

Return route additional options.

+

Returns

+

RouteFactoryOptions

+

Inherited from

+

AbstractRoute.getOptions

+
+

getPathExpression()

+
+

getPathExpression(): RoutePathExpression

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:220

+

Path expression used in route matching, to generate valid path with +provided params and parsing params from current path.

+

Returns

+

RoutePathExpression

+

The path expression.

+

Inherited from

+

AbstractRoute.getPathExpression

+
+

getTrimmedPath()

+
+

getTrimmedPath(path): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:230

+

Trims the trailing forward slash from the provided URL path.

+

Parameters

+
path
+

string

+

The path to trim.

+

Returns

+

string

+

Trimmed path.

+

Inherited from

+

AbstractRoute.getTrimmedPath

+
+

getView()

+
+

getView(): RouteView | Promise<RouteView>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:185

+

Returns View class/alias/constant associated with this route. +Internally caches async calls for dynamically imported views, +meaning that once they're loaded, you get the same promise for +subsequent calls.

+

Returns

+

RouteView | Promise<RouteView>

+

The View class/alias/constant.

+

Inherited from

+

AbstractRoute.getView

+
+

isAsync()

+
+

isAsync(module): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:139

+

Checks if given argument is an async handler.

+

Parameters

+
module
+

unknown

+

Returns

+

boolean

+

Inherited from

+

AbstractRoute.isAsync

+
+

isControllerResolved()

+
+

isControllerResolved(): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:173

+

Returns true for resolved controller. This is always true +for sync route views.

+

Returns

+

boolean

+

Inherited from

+

AbstractRoute.isControllerResolved

+
+

isViewResolved()

+
+

isViewResolved(): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:203

+

Returns true for resolved view. This is always true +for sync route views.

+

Returns

+

boolean

+

Inherited from

+

AbstractRoute.isViewResolved

+
+

matches()

+
+

matches(path): boolean

+
+

Defined in: packages/core/src/router/DynamicRoute.ts:105

+

Tests whether the provided URL path matches this route. The provided +path may contain the query.

+

Parameters

+
path
+

string

+

The URL path.

+

Returns

+

boolean

+

true if the provided path matches this route.

+

Overrides

+

AbstractRoute.matches

+
+

preload()

+
+

preload(): Promise<[RouteController, RouteView]>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:239

+

Preloads dynamically imported view and controller.

+

Returns

+

Promise<[RouteController, RouteView]>

+

Promise.All resolving to [view, controller] tuple.

+

Inherited from

+

AbstractRoute.preload

+
+

toPath()

+
+

toPath(params): string

+
+

Defined in: packages/core/src/router/DynamicRoute.ts:98

+

Creates the URL and query parts of a URL by substituting the route's +parameter placeholders by the provided parameter value.

+

The extraneous parameters that do not match any of the route's +placeholders will be appended as the query string.

+

Parameters

+
params
+

The route +parameter values.

+

Returns

+

string

+

Path and, if necessary, query parts of the URL +representing this route with its parameters replaced by the +provided parameter values.

+

Overrides

+

AbstractRoute.toPath

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Entry/index.html b/api/@ima/core/classes/Entry/index.html new file mode 100644 index 000000000..d78ebdc93 --- /dev/null +++ b/api/@ima/core/classes/Entry/index.html @@ -0,0 +1,117 @@ + + + + + +Class: Entry\<T\> | IMA.js + + + + +
Skip to main content

Class: Entry<T>

+

Defined in: packages/core/src/oc/Entry.ts:15

+

Object container entry, representing either a class, interface, constant or +an alias.

+

Type Parameters

+

T = any

+

Constructors

+

new Entry()

+
+

new Entry<T>(classConstructor, dependencies?, referrer?, options?): Entry<T>

+
+

Defined in: packages/core/src/oc/Entry.ts:60

+

Initializes the entry.

+

Parameters

+
classConstructor
+

EntryConstructor<T>

+

The +class constructor or constant value getter.

+
dependencies?
+

any[]

+

The dependencies to pass into the +constructor function.

+
referrer?
+

string

+

Reference to part of application that created +this entry.

+
options?
+

EntryOptions

+

The Entry options.

+

Returns

+

Entry<T>

+

Properties

+

classConstructor

+
+

classConstructor: EntryConstructor<T>

+
+

Defined in: packages/core/src/oc/Entry.ts:20

+

The constructor of the class represented by this entry, or the +getter of the value of the constant represented by this entry.

+
+

sharedInstance

+
+

sharedInstance: null | EntrySharedInstance<T> = null

+
+

Defined in: packages/core/src/oc/Entry.ts:25

+

The shared instance of the class represented by this entry.

+

Accessors

+

dependencies

+

Get Signature

+
+

get dependencies(): any[]

+
+

Defined in: packages/core/src/oc/Entry.ts:95

+
Returns
+

any[]

+

Set Signature

+
+

set dependencies(dependencies): void

+
+

Defined in: packages/core/src/oc/Entry.ts:74

+
Parameters
+
dependencies
+

any[]

+
Returns
+

void

+
+

options

+

Get Signature

+
+

get options(): EntryOptions

+
+

Defined in: packages/core/src/oc/Entry.ts:107

+
Returns
+

EntryOptions

+
+

referrer

+

Get Signature

+
+

get referrer(): undefined | string

+
+

Defined in: packages/core/src/oc/Entry.ts:99

+
Returns
+

undefined | string

+
+

writeable

+

Get Signature

+
+

get writeable(): boolean

+
+

Defined in: packages/core/src/oc/Entry.ts:103

+
Returns
+

boolean

+

Methods

+

from()

+
+

static from<TInfer>(entry): Entry<TInfer>

+
+

Defined in: packages/core/src/oc/Entry.ts:111

+

Type Parameters

+

TInfer

+

Parameters

+
entry
+

Entry<TInfer>

+

Returns

+

Entry<TInfer>

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Error/index.html b/api/@ima/core/classes/Error/index.html new file mode 100644 index 000000000..da3d6840b --- /dev/null +++ b/api/@ima/core/classes/Error/index.html @@ -0,0 +1,169 @@ + + + + + +Class: abstract Error | IMA.js + + + + +
Skip to main content

Class: abstract Error

+

Defined in: packages/core/src/error/Error.ts:7

+

The IMA application error extends the native Error with additional details +that lead to the error and the HTTP status code to send to the client.

+

Extends

+
    +
  • Error
  • +
+

Extended by

+ +

Constructors

+

new Error()

+
+

new Error(message, params?): Error

+
+

Defined in: packages/core/src/error/Error.ts:8

+

Parameters

+
message
+

string

+
params?
+
cause
+

string | Error

+

Returns

+

Error

+

Overrides

+

Error.constructor

+

Properties

+

cause?

+
+

optional cause: unknown

+
+

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26

+

Inherited from

+

Error.cause

+
+

message

+
+

message: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

+

Inherited from

+

Error.message

+
+

name

+
+

name: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

+

Inherited from

+

Error.name

+
+

stack?

+
+

optional stack: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

+

Inherited from

+

Error.stack

+
+

prepareStackTrace()?

+
+

static optional prepareStackTrace: (err, stackTraces) => any

+
+

Defined in: node_modules/@types/node/globals.d.ts:98

+

Optional override for formatting stack traces

+

Parameters

+
err
+

Error

+
stackTraces
+

CallSite[]

+

Returns

+

any

+

See

+

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

+

Inherited from

+

Error.prepareStackTrace

+
+

stackTraceLimit

+
+

static stackTraceLimit: number

+
+

Defined in: node_modules/@types/node/globals.d.ts:100

+

Inherited from

+

Error.stackTraceLimit

+

Methods

+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/error/Error.ts:24

+

Returns the HTTP status to send to the client.

+

If the error has occurred at the client-side, the status code is used to +determine the error page to show to the user.

+

This method is a shorthand for the following code snippet: +this.getParams().status || 500.

+

Returns

+

number

+

The HTTP status to send to the client.

+

See

+

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+
+

getParams()

+
+

getParams(): UnknownParameters

+
+

Defined in: packages/core/src/error/Error.ts:39

+

Returns the error parameters providing additional details about the +error. The structure of the returned object is always +situation-dependent, but the returned object usually contains the +status: number field which represents the HTTP status to send to +the client.

+

Returns

+

UnknownParameters

+

The route parameters of the route at which +the error has occurred.

+

See

+

Error#getHttpStatus

+
+

isClientError()

+
+

isClientError(): boolean

+
+

Defined in: packages/core/src/error/Error.ts:50

+

Tests, whether the specified error was caused by the +client's action (for example wrong URL or request encoding).

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+
+

isRedirection()

+
+

isRedirection(): boolean

+
+

Defined in: packages/core/src/error/Error.ts:59

+

Tests, whether the specified error should lead to a redirect.

+

Returns

+

boolean

+

true if the error should cause a redirect.

+
+

captureStackTrace()

+
+

static captureStackTrace(targetObject, constructorOpt?): void

+
+

Defined in: node_modules/@types/node/globals.d.ts:91

+

Create .stack property on a target object

+

Parameters

+
targetObject
+

object

+
constructorOpt?
+

Function

+

Returns

+

void

+

Inherited from

+

Error.captureStackTrace

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/EventBus/index.html b/api/@ima/core/classes/EventBus/index.html new file mode 100644 index 000000000..01a017182 --- /dev/null +++ b/api/@ima/core/classes/EventBus/index.html @@ -0,0 +1,177 @@ + + + + + +Class: abstract EventBus | IMA.js + + + + +
Skip to main content

Class: abstract EventBus

+

Defined in: packages/core/src/event/EventBus.ts:28

+

Utility for sending and intercepting wrapped custom DOM events on the DOM or +propagating them to the current controller.

+

As with native events, the event fired by this event bus always propagate up +the DOM tree until they reach the window.

+

Note that the events fired by this event bus are wrapped in custom DOM +events which always bear an obscure name set by the implementation of this +interface, preventing custom event name collisions, and allowing observation +and capture of all fired events. The actual event name is always consistent +by the implementation.

+

Extended by

+ +

Constructors

+

new EventBus()

+
+

new EventBus(): EventBus

+
+

Returns

+

EventBus

+

Methods

+

fire()

+
+

fire(eventTarget, eventName, data?, options?): EventBus

+
+

Defined in: packages/core/src/event/EventBus.ts:56

+

Fires a new custom event of the specified name, carrying the provided +data.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Note that the default options are +{ bubbles: true, cancelable: true }, which is different from the +default values used in the native custom events +({ bubbles: false, cancelable: false }).

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the event +will be dispatched (e.g. element/document/window).

+
eventName
+

string

+

The name of the event to fire.

+
data?
+

any

+

The data to pass to the event listeners.

+
options?
+

EventBusOptions

+

The +override of the default options passed to the constructor of the +custom event fired by this event bus. +The default options passed to the custom event constructor are +{ bubbles: true, cancelable: true }.

+

Returns

+

EventBus

+

This custom event bus.

+

Throws

+

Thrown if the provided event target cannot be used to +fire the event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

+
+

listen()

+
+

listen(eventTarget, eventName, listener): EventBus

+
+

Defined in: packages/core/src/event/EventBus.ts:104

+

Registers the provided event listener to be executed when the specific +custom event is fired by the same implementation of the event bus and +passes through the specified event target.

+

When the specified event is fired, the event listener will be executed +with the event passed as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +should listen for the specified event.

+
eventName
+

string

+

The name of the event to listen for.

+
listener
+

EventBusListener

+

The event listener to +register.

+

Returns

+

EventBus

+

This event bus.

+
+

listenAll()

+
+

listenAll(eventTarget, listener): EventBus

+
+

Defined in: packages/core/src/event/EventBus.ts:82

+

Registers the provided event listener to be executed when any custom +event is fired using the same implementation of the event bus and passes +through the specified event target.

+

When the specified event is fired, the event listener will be executed +with the event passed as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +should listen for all event bus events.

+
listener
+

EventBusListener

+

The event listener to +register.

+

Returns

+

EventBus

+

This event bus.

+
+

unlisten()

+
+

unlisten(eventTarget, eventName, listener): EventBus

+
+

Defined in: packages/core/src/event/EventBus.ts:145

+

Removes the provided event listener from the set of event listeners +executed when the specified custom event fired by the same +implementation passes through the specified event target.

+

The method has no effect if the listener is not registered for the +specified event at the specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +is listening for the event.

+
eventName
+

string

+

The name of the event listened for.

+
listener
+

EventBusListener

+

The event listener to +deregister.

+

Returns

+

EventBus

+

This event bus.

+
+

unlistenAll()

+
+

unlistenAll(eventTarget, listener): EventBus

+
+

Defined in: packages/core/src/event/EventBus.ts:126

+

Removes the provided event listener from the set of event listeners +executed when the any custom event fired by the same implementation +passes through the specified event target.

+

The method has no effect if the listener is not registered at the +specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the event +listener listens for events.

+
listener
+

EventBusListener

+

The event listener to +deregister.

+

Returns

+

EventBus

+

This event bus.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/EventBusImpl/index.html b/api/@ima/core/classes/EventBusImpl/index.html new file mode 100644 index 000000000..1a0745882 --- /dev/null +++ b/api/@ima/core/classes/EventBusImpl/index.html @@ -0,0 +1,198 @@ + + + + + +Class: EventBusImpl | IMA.js + + + + +
Skip to main content

Class: EventBusImpl

+

Defined in: packages/core/src/event/EventBusImpl.ts:27

+

Helper for custom events.

+

It offers public methods for firing custom events and two methods for +catching events (e.g. inside view components).

+

Extends

+ +

Constructors

+

new EventBusImpl()

+
+

new EventBusImpl(window): EventBusImpl

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:54

+

Initializes the custom event helper.

+

Parameters

+
window
+

Window

+

The IMA window helper.

+

Returns

+

EventBusImpl

+

Overrides

+

EventBus.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): typeof Window[]

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:45

+
Returns
+

typeof Window[]

+

Methods

+

fire()

+
+

fire(eventTarget, eventName, data, options): EventBusImpl

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:66

+

Fires a new custom event of the specified name, carrying the provided +data.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Note that the default options are +{ bubbles: true, cancelable: true }, which is different from the +default values used in the native custom events +({ bubbles: false, cancelable: false }).

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the event +will be dispatched (e.g. element/document/window).

+
eventName
+

string

+

The name of the event to fire.

+
data
+

any

+

The data to pass to the event listeners.

+
options
+

EventBusOptions = {}

+

The +override of the default options passed to the constructor of the +custom event fired by this event bus. +The default options passed to the custom event constructor are +{ bubbles: true, cancelable: true }.

+

Returns

+

EventBusImpl

+

This custom event bus.

+

Throws

+

Thrown if the provided event target cannot be used to +fire the event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

+

Overrides

+

EventBus.fire

+
+

listen()

+
+

listen(eventTarget, eventName, listener): EventBusImpl

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:127

+

Registers the provided event listener to be executed when the specific +custom event is fired by the same implementation of the event bus and +passes through the specified event target.

+

When the specified event is fired, the event listener will be executed +with the event passed as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +should listen for the specified event.

+
eventName
+

string

+

The name of the event to listen for.

+
listener
+

EventBusListener

+

The event listener to +register.

+

Returns

+

EventBusImpl

+

This event bus.

+

Overrides

+

EventBus.listen

+
+

listenAll()

+
+

listenAll(eventTarget, listener): this

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:99

+

Registers the provided event listener to be executed when any custom +event is fired using the same implementation of the event bus and passes +through the specified event target.

+

When the specified event is fired, the event listener will be executed +with the event passed as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +should listen for all event bus events.

+
listener
+

EventBusListener

+

The event listener to +register.

+

Returns

+

this

+

This event bus.

+

Overrides

+

EventBus.listenAll

+
+

unlisten()

+
+

unlisten(eventTarget, eventName, listener): EventBusImpl

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:222

+

Removes the provided event listener from the set of event listeners +executed when the specified custom event fired by the same +implementation passes through the specified event target.

+

The method has no effect if the listener is not registered for the +specified event at the specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +is listening for the event.

+
eventName
+

string

+

The name of the event listened for.

+
listener
+

EventBusListener

+

The event listener to +deregister.

+

Returns

+

EventBusImpl

+

This event bus.

+

Overrides

+

EventBus.unlisten

+
+

unlistenAll()

+
+

unlistenAll(eventTarget, listener): EventBusImpl

+
+

Defined in: packages/core/src/event/EventBusImpl.ts:181

+

Removes the provided event listener from the set of event listeners +executed when the any custom event fired by the same implementation +passes through the specified event target.

+

The method has no effect if the listener is not registered at the +specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the event +listener listens for events.

+
listener
+

EventBusListener

+

The event listener to +deregister.

+

Returns

+

EventBusImpl

+

This event bus.

+

Overrides

+

EventBus.unlistenAll

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Execution/index.html b/api/@ima/core/classes/Execution/index.html new file mode 100644 index 000000000..90a458a34 --- /dev/null +++ b/api/@ima/core/classes/Execution/index.html @@ -0,0 +1,65 @@ + + + + + +Class: abstract Execution | IMA.js + + + + +
Skip to main content

Class: abstract Execution

+

Defined in: packages/core/src/execution/Execution.ts:18

+

Execution is an abstract class that defines a standard for executing jobs. +The execution can be either done in serial or in parallel way.

+

When executing jobs in parallel an option should define how to deal with +a result of each individual job execution. One option would be to return the +result of a job that completes first. Second option is to return result of +all jobs once they're all complete.

+

For serial execution you should define an option that affects how arguments +passed to the execute method are distributed. They could be either +supplied to each job individually (thus meaning one job's mutation won't +affect another job) or they could be supplied to the first job and then +piped through other jobs.

+

Extended by

+ +

Constructors

+

new Execution()

+
+

new Execution(): Execution

+
+

Returns

+

Execution

+

Methods

+

append()

+
+

append(jobs): void

+
+

Defined in: packages/core/src/execution/Execution.ts:25

+

Adds a new job to be executed. The job is appended at the end of the +list of current jobs therefore is executed last.

+

Parameters

+
jobs
+

ExecutionJob[]

+

The jobs to be executed.

+

Returns

+

void

+
+

execute()

+
+

execute(...args): Promise<unknown>

+
+

Defined in: packages/core/src/execution/Execution.ts:36

+

Start executing collected jobs. In the end a Promise is returned +with a resulting value. On the returned Promise a catch +method can be called to prevent any unwanted interruption.

+

Parameters

+
args
+

...unknown[]

+

Arguments to be passed when executing jobs

+

Returns

+

Promise<unknown>

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Extension/index.html b/api/@ima/core/classes/Extension/index.html new file mode 100644 index 000000000..bec2033b3 --- /dev/null +++ b/api/@ima/core/classes/Extension/index.html @@ -0,0 +1,329 @@ + + + + + +Class: abstract Extension\<S, R, SS\> | IMA.js + + + + +
Skip to main content

Class: abstract Extension<S, R, SS>

+

Defined in: packages/core/src/extension/Extension.ts:21

+

Extensions provide means of extending the page controllers with additional +managed state and logic.

+

An extension has access to the current route parameters, specify the +resources to load when the page is loading or being updated, may intercept +event bus events and modify the state of the page just like an ordinary +controller, except that the modifications are restricted to the state fields +which the extension explicitly specifies using its +Extension#getAllowedStateKeys method.

+

All extensions to be used on a page must be added to the current controller +before the controller is initialized. After that, the extensions will go +through the same lifecycle as the controller.

+

Extended by

+ +

Type Parameters

+

S extends PageState = {}

+

R extends RouteParams = {}

+

SS extends S = S

+

Indexable

+

[key: string | number | symbol]: any

+

Constructors

+

new Extension()

+
+

new Extension<S, R, SS>(): Extension<R, SS>

+
+

Returns

+

Extension<R, SS>

+

Properties

+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/extension/Extension.ts:27

+
+

$name?

+
+

static optional $name: string

+
+

Defined in: packages/core/src/extension/Extension.ts:26

+

Methods

+

activate()

+
+

activate(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/Extension.ts:66

+

Callback for activating the extension in the UI. This is the last +method invoked during controller (and extensions) initialization, called +after all the promises returned from the Extension#load method have +been resolved and the controller has configured the meta manager.

+

The extension may register any React and DOM event listeners in this +method. The extension may start receiving event bus event after this +method completes.

+

Returns

+

void | Promise<void>

+
+

beginStateTransaction()

+
+

beginStateTransaction(): void

+
+

Defined in: packages/core/src/extension/Extension.ts:173

+

Starts queueing state patches off the controller state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+
+

cancelStateTransaction()

+
+

cancelStateTransaction(): void

+
+

Defined in: packages/core/src/extension/Extension.ts:188

+

Cancels ongoing state transaction. Uncommitted state changes are lost.

+

Returns

+

void

+
+

clearPartialState()

+
+

clearPartialState(): void

+
+

Defined in: packages/core/src/extension/Extension.ts:215

+

Clears the current partial state of the extension and sets it value to empty object.

+

Returns

+

void

+
+

commitStateTransaction()

+
+

commitStateTransaction(): void

+
+

Defined in: packages/core/src/extension/Extension.ts:181

+

Applies queued state patches to the controller state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+
+

deactivate()

+
+

deactivate(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/Extension.ts:81

+

Callback for deactivating the extension in the UI. This is the first +method invoked during extension deinitialization. This usually happens +when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the Extension#activate +method.

+

The extension should deregister listeners registered and release all +resources obtained in the Extension#activate method.

+

Returns

+

void | Promise<void>

+
+

destroy()

+
+

destroy(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/Extension.ts:52

+

Finalization callback, called when the controller is being discarded by +the application. This usually happens when the user navigates to a +different URL.

+

This method is the lifecycle counterpart of the Extension#init +method.

+

The extension should release all resources obtained in the +Extension#init method. The extension must release any resources +that might not be released automatically when the extensions's instance +is destroyed by the garbage collector.

+

Returns

+

void | Promise<void>

+
+

getAllowedStateKeys()

+
+

getAllowedStateKeys(): keyof S[]

+
+

Defined in: packages/core/src/extension/Extension.ts:269

+

Returns the names of the state fields that may be manipulated by this +extension. Manipulations of other fields of the state will be ignored.

+

Returns

+

keyof S[]

+

The names of the state fields that may be manipulated +by this extension.

+
+

getPartialState()

+
+

getPartialState(): Partial<S>

+
+

Defined in: packages/core/src/extension/Extension.ts:208

+

Returns the current partial state of the extension.

+

Returns

+

Partial<S>

+

The current partial state of the extension.

+
+

getRouteParams()

+
+

getRouteParams(): R

+
+

Defined in: packages/core/src/extension/Extension.ts:258

+

Returns the current route parameters.

+

Returns

+

R

+

The current route parameters.

+
+

getState()

+
+

getState(): SS

+
+

Defined in: packages/core/src/extension/Extension.ts:162

+

Returns the current state of the controller using this extension.

+

Returns

+

SS

+

The current state of the controller.

+
+

init()

+
+

init(): void | Promise<void>

+
+

Defined in: packages/core/src/extension/Extension.ts:35

+

Callback for initializing the controller extension after the route +parameters have been set on this extension.

+

Returns

+

void | Promise<void>

+
+

load()

+
+

load(): S | Promise<S>

+
+

Defined in: packages/core/src/extension/Extension.ts:110

+

Callback the extension uses to request the resources it needs to render +its related parts of the view. This method is invoked after the +Extension#init method.

+

The extension should request all resources it needs in this method, and +represent each resource request as a promise that will resolve once the +resource is ready for use (these can be data fetched over HTTP(S), +database connections, etc).

+

The method must return a plain flat object. The field names of the +object identify the resources being fetched and prepared, each value +must be either the resource (e.g. view configuration or a value +retrieved synchronously) or a Promise that will resolve to the resource.

+

The IMA will use the object to set the state of the controller.

+

Any returned promise that gets rejected will redirect the application to +the error page. The error page that will be used depends on the status +code of the error.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+
+

setPageStateManager()

+
+

setPageStateManager(pageStateManager?): void

+
+

Defined in: packages/core/src/extension/Extension.ts:225

+

Sets the state manager used to manage the controller's state..

+

Parameters

+
pageStateManager?
+

PageStateManager<SS>

+

The current state manager to +use.

+

Returns

+

void

+
+

setPartialState()

+
+

setPartialState(partialStatePatch): void

+
+

Defined in: packages/core/src/extension/Extension.ts:199

+

Patches the partial state of the extension. The extension is able +during its load and update phase receive state from active controller +using this extension and from previously loaded/updated extensions.

+

Parameters

+
partialStatePatch
+

S

+

Patch of the controller's state to apply.

+

Returns

+

void

+
+

setRouteParams()

+
+

setRouteParams(params): void

+
+

Defined in: packages/core/src/extension/Extension.ts:249

+

Sets the current route parameters. This method is invoked before the +Extension#init method.

+

Parameters

+
params
+

R

+

The current route parameters.

+

Returns

+

void

+
+

setState()

+
+

setState<K>(statePatch): void

+
+

Defined in: packages/core/src/extension/Extension.ts:153

+

Patches the state of the controller using this extension by using the +provided object by copying the provided patch object fields to the +controller's state object.

+

Note that the state is not patched recursively but by replacing the +values of the top-level fields of the state object.

+

Note that the extension may modify only the fields of the state that it +has specified by its Extension#getAllowedStateKeys method.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
statePatch
+

Patch of the controller's state to apply.

+

null | S | Pick<S, K>

+

Returns

+

void

+
+

switchToPartialState()

+
+

switchToPartialState(): void

+
+

Defined in: packages/core/src/extension/Extension.ts:239

+

Disables using PageStateManager for getting state.

+

Returns

+

void

+
+

switchToStateManager()

+
+

switchToStateManager(): void

+
+

Defined in: packages/core/src/extension/Extension.ts:232

+

Enables using PageStateManager for getting state.

+

Returns

+

void

+
+

update()

+
+

update(prevParams): S | Promise<S>

+
+

Defined in: packages/core/src/extension/Extension.ts:136

+

Callback for updating the extension after a route update. This method +is invoked if the current route has the onlyUpdate flag set to true and +the current controller and view match those used by the previously active +route, or, the onlyUpdate option of the current route is a callback and +returned true.

+

The method must return an object with the same semantics as the result +of the Extension#load method. The controller's state will then be +patched by the returned object.

+

The other extension lifecycle callbacks (Extension#init, +Extension#load, Extension#activate, +Extension#deactivate, Extension#deinit) are not call in +case this method is used.

+

Parameters

+
prevParams
+

R = ...

+

Previous route +parameters.

+

Returns

+

S | Promise<S>

+

A map object of promises resolved when all resources the controller +requires are ready. The resolved values will be pushed to the +controller's state.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/GenericError/index.html b/api/@ima/core/classes/GenericError/index.html new file mode 100644 index 000000000..0a99dcd12 --- /dev/null +++ b/api/@ima/core/classes/GenericError/index.html @@ -0,0 +1,190 @@ + + + + + +Class: GenericError\<T\> | IMA.js + + + + +
Skip to main content

Class: GenericError<T>

+

Defined in: packages/core/src/error/GenericError.ts:15

+

Implementation of the Error interface, providing more advanced +error API.

+

Extends

+ +

Extended by

+ +

Type Parameters

+

T = unknown

+

Constructors

+

new GenericError()

+
+

new GenericError<T>(message, params?): GenericError<T>

+
+

Defined in: packages/core/src/error/GenericError.ts:27

+

Initializes the generic IMA error.

+

Parameters

+
message
+

string

+

The message describing the cause of the error.

+
params?
+

T & GenericErrorParams

+

A data map providing additional +details related to the error. It is recommended to set the +status field to the HTTP response code that should be sent +to the client.

+

Returns

+

GenericError<T>

+

Overrides

+

Error.constructor

+

Properties

+

_params

+
+

protected _params: T & GenericErrorParams

+
+

Defined in: packages/core/src/error/GenericError.ts:16

+
+

cause?

+
+

optional cause: unknown

+
+

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26

+

Inherited from

+

Error.cause

+
+

message

+
+

message: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

+

Inherited from

+

Error.message

+
+

name

+
+

name: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

+

Inherited from

+

Error.name

+
+

stack?

+
+

optional stack: string

+
+

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

+

Inherited from

+

Error.stack

+
+

prepareStackTrace()?

+
+

static optional prepareStackTrace: (err, stackTraces) => any

+
+

Defined in: node_modules/@types/node/globals.d.ts:98

+

Optional override for formatting stack traces

+

Parameters

+
err
+

Error

+
stackTraces
+

CallSite[]

+

Returns

+

any

+

See

+

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

+

Inherited from

+

Error.prepareStackTrace

+
+

stackTraceLimit

+
+

static stackTraceLimit: number

+
+

Defined in: node_modules/@types/node/globals.d.ts:100

+

Inherited from

+

Error.stackTraceLimit

+

Methods

+

getHttpStatus()

+
+

getHttpStatus(): number

+
+

Defined in: packages/core/src/error/GenericError.ts:39

+

Returns the HTTP status to send to the client.

+

If the error has occurred at the client-side, the status code is used to +determine the error page to show to the user.

+

This method is a shorthand for the following code snippet: +this.getParams().status || 500.

+

Returns

+

number

+

The HTTP status to send to the client.

+

See

+

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+

Overrides

+

Error.getHttpStatus

+
+

getParams()

+
+

getParams(): T & GenericErrorParams

+
+

Defined in: packages/core/src/error/GenericError.ts:46

+

Returns the error parameters providing additional details about the +error. The structure of the returned object is always +situation-dependent, but the returned object usually contains the +status: number field which represents the HTTP status to send to +the client.

+

Returns

+

T & GenericErrorParams

+

The route parameters of the route at which +the error has occurred.

+

See

+

Error#getHttpStatus

+

Overrides

+

Error.getParams

+
+

isClientError()

+
+

isClientError(): boolean

+
+

Defined in: packages/core/src/error/GenericError.ts:53

+

Tests, whether the specified error was caused by the +client's action (for example wrong URL or request encoding).

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+

Overrides

+

Error.isClientError

+
+

isRedirection()

+
+

isRedirection(): boolean

+
+

Defined in: packages/core/src/error/GenericError.ts:60

+

Tests, whether the specified error should lead to a redirect.

+

Returns

+

boolean

+

true if the error should cause a redirect.

+

Overrides

+

Error.isRedirection

+
+

captureStackTrace()

+
+

static captureStackTrace(targetObject, constructorOpt?): void

+
+

Defined in: node_modules/@types/node/globals.d.ts:91

+

Create .stack property on a target object

+

Parameters

+
targetObject
+

object

+
constructorOpt?
+

Function

+

Returns

+

void

+

Inherited from

+

Error.captureStackTrace

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/HttpAgent/index.html b/api/@ima/core/classes/HttpAgent/index.html new file mode 100644 index 000000000..0db3f7df7 --- /dev/null +++ b/api/@ima/core/classes/HttpAgent/index.html @@ -0,0 +1,230 @@ + + + + + +Class: abstract HttpAgent | IMA.js + + + + +
Skip to main content

Class: abstract HttpAgent

+

Defined in: packages/core/src/http/HttpAgent.ts:68

+

The HttpAgent defines unifying API for sending HTTP requests at +both client-side and server-side.

+

Extended by

+ +

Constructors

+

new HttpAgent()

+
+

new HttpAgent(): HttpAgent

+
+

Returns

+

HttpAgent

+

Methods

+

clearDefaultHeaders()

+
+

clearDefaultHeaders(): this

+
+

Defined in: packages/core/src/http/HttpAgent.ts:214

+

Clears all configured default headers.

+

Returns

+

this

+

This HTTP agent.

+
+

delete()

+
+

delete<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgent.ts:164

+

Sends an HTTP DELETE request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+
+

get()

+
+

get<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgent.ts:80

+

Sends an HTTP GET request to the specified URL, sending the provided +data as query parameters.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send +to the server as query parameters.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+
+

getCacheKey()

+
+

getCacheKey(method, url, data): string

+
+

Defined in: packages/core/src/http/HttpAgent.ts:184

+

Generates a cache key to use for identifying a request to the specified +URL using the specified HTTP method, submitting the provided data.

+

Parameters

+
method
+

string

+

The HTTP method used by the request.

+
url
+

string

+

The URL to which the request is sent.

+
data
+

UnknownParameters

+

The data associated with the +request. These can be either the query parameters or request body +data.

+

Returns

+

string

+

The key to use for identifying such a request in the +cache.

+
+

invalidateCache()

+
+

invalidateCache(method, url, data): void

+
+

Defined in: packages/core/src/http/HttpAgent.ts:191

+

Method invalidate cache for given params

+

Parameters

+
method
+

string

+
url
+

string

+
data
+

UnknownParameters

+

Returns

+

void

+
+

patch()

+
+

patch<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgent.ts:143

+

Sends an HTTP PATCH request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+
+

post()

+
+

post<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgent.ts:101

+

Sends an HTTP POST request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+
+

put()

+
+

put<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgent.ts:122

+

Sends an HTTP PUT request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+
+

setDefaultHeader()

+
+

setDefaultHeader(header, value): this

+
+

Defined in: packages/core/src/http/HttpAgent.ts:205

+

Sets the specified header to be sent with every subsequent HTTP request, +unless explicitly overridden by request options.

+

Parameters

+ +

string

+

The name of the header.

+
value
+

string

+

The header value. To provide multiple values, +separate them with commas +(see http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2).

+

Returns

+

this

+

This HTTP agent.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/HttpAgentImpl/index.html b/api/@ima/core/classes/HttpAgentImpl/index.html new file mode 100644 index 000000000..f1a4789c6 --- /dev/null +++ b/api/@ima/core/classes/HttpAgentImpl/index.html @@ -0,0 +1,553 @@ + + + + + +Class: HttpAgentImpl | IMA.js + + + + +
Skip to main content

Class: HttpAgentImpl

+

Defined in: packages/core/src/http/HttpAgentImpl.ts:27

+

Implementation of the HttpAgent interface with internal caching +of completed and ongoing HTTP requests and cookie storage.

+

Extends

+ +

Constructors

+

new HttpAgentImpl()

+
+

new HttpAgentImpl(proxy, cache, cookie, config, Helper): HttpAgentImpl

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:69

+

Initializes the HTTP handler.

+

Parameters

+
proxy
+

HttpProxy

+

The low-level HTTP proxy for sending the HTTP +requests.

+
cache
+

Cache<HttpAgentResponse<unknown>>

+

Cache to use for caching ongoing and completed +requests.

+ +

CookieStorage

+

The cookie storage to use internally.

+
config
+

HttpAgentImplConfig

+

Configuration of the HTTP handler for +the current application environment, specifying the various +default request option values and cache option values.

+
Helper
+

__module

+

The IMA.js helper methods.

+

Returns

+

HttpAgentImpl

+

Examples

+
http
.get('url', { data: data }, {
ttl: 2000,
repeatRequest: 1,
withCredentials: true,
timeout: 2000,
accept: 'application/json',
language: 'en'
})
.then((response) => {
//resolve
}
.catch((error) => {
//catch
});
+
http
.setDefaultHeader('Accept-Language', 'en')
.clearDefaultHeaders();
+

Overrides

+

HttpAgent.constructor

+

Properties

+

_cache

+
+

protected _cache: Cache<HttpAgentResponse<unknown>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:29

+
+

_cacheOptions

+
+

protected _cacheOptions: HttpAgentImplCacheOptions

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:31

+
+ +
+

protected _cookie: CookieStorage

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:30

+
+

_defaultRequestOptions

+
+

protected _defaultRequestOptions: HttpAgentRequestOptions

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:32

+
+

_Helper

+
+

protected _Helper: __module

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:33

+
+

_internalCacheOfPromises

+
+

protected _internalCacheOfPromises: Map<any, any>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:34

+
+

_proxy

+
+

protected _proxy: HttpProxy

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:28

+

Methods

+

_cleanResponse()

+
+

_cleanResponse<B>(response): HttpAgentResponse<B>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:540

+

Cleans cache response from data (abort controller, postProcessors), that cannot be persisted, +before saving the data to the cache.

+

Type Parameters

+

B

+

Parameters

+
response
+

HttpAgentResponse<B>

+

Returns

+

HttpAgentResponse<B>

+
+

_clone()

+
+

_clone<V>(value): V

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:221

+

Attempts to clone the provided value, if possible. Values that cannot be +cloned (e.g. promises) will be simply returned.

+

Type Parameters

+

V

+

Parameters

+
value
+

V

+

The value to clone.

+

Returns

+

V

+

The created clone, or the provided value if the value cannot be +cloned.

+
+

_getCachedData()

+
+

_getCachedData<B>(method, url, data?): null | Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:278

+

Tests whether an ongoing or completed HTTP request for the specified URL +and data is present in the internal cache and, if it is, the method +returns a promise that resolves to the response body parsed as JSON.

+

The method returns null if no such request is present in the +cache.

+

Type Parameters

+

B

+

Parameters

+
method
+

string

+

The HTTP method used by the request.

+
url
+

string

+

The URL to which the request was made.

+
data?
+

UnknownParameters

+

The data sent +to the server with the request.

+

Returns

+

null | Promise<HttpAgentResponse<B>>

+

A promise that will resolve to the +server response with the body parsed as JSON, or null if +no such request is present in the cache.

+
+

_getCacheKeySuffix()

+
+

_getCacheKeySuffix(method, url, data?): string

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:478

+

Generates cache key suffix for an HTTP request to the specified URL with +the specified data.

+

Parameters

+
method
+

string

+

The HTTP method used by the request.

+
url
+

string

+

The URL to which the request is sent.

+
data?
+

UnknownParameters

+

The data sent +with the request.

+

Returns

+

string

+

The suffix of a cache key to use for a request to the +specified URL, carrying the specified data.

+
+

_prepareOptions()

+
+

_prepareOptions(options, url): HttpAgentRequestOptions

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:435

+

Prepares the provided request options object by filling in missing +options with default values and adding extra options used internally.

+

Parameters

+
options
+

Partial<HttpAgentRequestOptions> = {}

+

Optional request options.

+
url
+

string

+

Returns

+

HttpAgentRequestOptions

+

Request options with set filled-in +default values for missing fields, and extra options used +internally.

+
+

_proxyRejected()

+
+

_proxyRejected<B>(error): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:398

+

Handles rejection of the HTTP request by the HTTP proxy. The method +tests whether there are any remaining tries for the request, and if +there are any, it attempts re-send the request.

+

The method rejects the internal request promise if there are no tries +left.

+

Type Parameters

+

B

+

Parameters

+
error
+

GenericError<HttpProxyErrorParams>

+

The error provided by the HttpProxy, +carrying the error parameters, such as the request url, data, +method, options and other useful data.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that will either resolve to a +server's response (with the body parsed as JSON) if there are +any tries left and the re-tried request succeeds, or rejects +with an error containing details of the cause of the request's +failure.

+
+

_proxyResolved()

+
+

_proxyResolved<B>(response): HttpAgentResponse<B>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:343

+

Handles successful completion of an HTTP request by the HTTP proxy.

+

The method also updates the internal cookie storage with the cookies +received from the server.

+

Type Parameters

+

B

+

Parameters

+
response
+

HttpAgentResponse<B>

+

Server response.

+

Returns

+

HttpAgentResponse<B>

+

The post-processed server response.

+
+

_request()

+
+

_request<B>(method, url, data, options): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:314

+

Sends a new HTTP request using the specified method to the specified +url. The request will carry the provided data as query parameters if the +HTTP method is GET, but the data will be sent as request body for any +other request method.

+

Type Parameters

+

B

+

Parameters

+
method
+

string

+

HTTP method to use.

+
url
+

string

+

The URL to which the request is sent.

+
data
+

The data sent +with the request.

+

undefined | UnknownParameters

+
options
+

HttpAgentRequestOptions

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the response +with the body parsed as JSON.

+
+

_requestWithCheckCache()

+
+

_requestWithCheckCache<B>(method, url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:243

+

Check cache and if data isn’t available then make real request.

+

Type Parameters

+

B

+

Parameters

+
method
+

string

+

The HTTP method to use.

+
url
+

string

+

The URL to which the request should be sent.

+
data?
+

UnknownParameters

+

The data to send with the request.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the response +with body parsed as JSON.

+
+

_saveAgentResponseToCache()

+
+

_saveAgentResponseToCache<B>(agentResponse): void

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:522

+

Saves the server response to the cache to be used as the result of the +next request of the same properties.

+

Type Parameters

+

B

+

Parameters

+
agentResponse
+

HttpAgentResponse<B>

+

The response of the server.

+

Returns

+

void

+
+

_setCookiesFromResponse()

+
+

_setCookiesFromResponse<B>(agentResponse): void

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:501

+

Sets all cookies from the Set-Cookie response header to the +cookie storage.

+

Type Parameters

+

B

+

Parameters

+
agentResponse
+

HttpAgentResponse<B>

+

The response of the server.

+

Returns

+

void

+
+

clearDefaultHeaders()

+
+

clearDefaultHeaders(): this

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:207

+

Clears all configured default headers.

+

Returns

+

this

+

This HTTP agent.

+

Overrides

+

HttpAgent.clearDefaultHeaders

+
+

delete()

+
+

delete<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:164

+

Sends an HTTP DELETE request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+

Overrides

+

HttpAgent.delete

+
+

get()

+
+

get<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:105

+

Sends an HTTP GET request to the specified URL, sending the provided +data as query parameters.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send +to the server as query parameters.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+

Overrides

+

HttpAgent.get

+
+

getCacheKey()

+
+

getCacheKey(method, url, data?): string

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:180

+

Generates a cache key to use for identifying a request to the specified +URL using the specified HTTP method, submitting the provided data.

+

Parameters

+
method
+

string

+

The HTTP method used by the request.

+
url
+

string

+

The URL to which the request is sent.

+
data?
+

UnknownParameters

+

The data associated with the +request. These can be either the query parameters or request body +data.

+

Returns

+

string

+

The key to use for identifying such a request in the +cache.

+

Overrides

+

HttpAgent.getCacheKey

+
+

invalidateCache()

+
+

invalidateCache(method, url, data?): void

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:189

+

Method invalidate cache for given params

+

Parameters

+
method
+

string

+
url
+

string

+
data?
+

UnknownParameters

+

Returns

+

void

+

Overrides

+

HttpAgent.invalidateCache

+
+

patch()

+
+

patch<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:148

+

Sends an HTTP PATCH request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+

Overrides

+

HttpAgent.patch

+
+

post()

+
+

post<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:116

+

Sends an HTTP POST request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+

Overrides

+

HttpAgent.post

+
+

put()

+
+

put<B>(url, data?, options?): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:132

+

Sends an HTTP PUT request to the specified URL, sending the provided +data as the request body. If an object is provided as the request data, +the data will be JSON-encoded. Sending other primitive non-string values +as the request body is not supported.

+

Type Parameters

+

B = unknown

+

Parameters

+
url
+

string

+

The URL to which the request should be made.

+
data?
+

UnknownParameters

+

The data to send to the server +as the request body.

+
options?
+

Partial<HttpAgentRequestOptions>

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the +response.

+

Overrides

+

HttpAgent.put

+
+

setDefaultHeader()

+
+

setDefaultHeader(header, value): this

+
+

Defined in: packages/core/src/http/HttpAgentImpl.ts:198

+

Sets the specified header to be sent with every subsequent HTTP request, +unless explicitly overridden by request options.

+

Parameters

+ +

string

+

The name of the header.

+
value
+

string

+

The header value. To provide multiple values, +separate them with commas +(see http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2).

+

Returns

+

this

+

This HTTP agent.

+

Overrides

+

HttpAgent.setDefaultHeader

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/HttpProxy/index.html b/api/@ima/core/classes/HttpProxy/index.html new file mode 100644 index 000000000..574d62ef0 --- /dev/null +++ b/api/@ima/core/classes/HttpProxy/index.html @@ -0,0 +1,364 @@ + + + + + +Class: HttpProxy | IMA.js + + + + +
Skip to main content

Class: HttpProxy

+

Defined in: packages/core/src/http/HttpProxy.ts:63

+

Middleware proxy between HttpAgent implementations and the +Fetch API, +providing a Promise-oriented API for sending requests.

+

Constructors

+

new HttpProxy()

+
+

new HttpProxy(transformer, window): HttpProxy

+
+

Defined in: packages/core/src/http/HttpProxy.ts:76

+

Initializes the HTTP proxy.

+

Parameters

+
transformer
+

UrlTransformer

+

A transformer of URLs to which +requests are made.

+
window
+

Window

+

Helper for manipulating the global object window +regardless of the client/server-side environment.

+

Returns

+

HttpProxy

+

Properties

+

_defaultHeaders

+
+

protected _defaultHeaders: Map<string, string>

+
+

Defined in: packages/core/src/http/HttpProxy.ts:66

+
+

_transformer

+
+

protected _transformer: UrlTransformer

+
+

Defined in: packages/core/src/http/HttpProxy.ts:64

+
+

_window

+
+

protected _window: Window

+
+

Defined in: packages/core/src/http/HttpProxy.ts:65

+

Methods

+

_composeRequestInit()

+
+

_composeRequestInit(method, data, options): ImaRequestInit

+
+

Defined in: packages/core/src/http/HttpProxy.ts:459

+

Composes an init object, which can be used as a second argument of +window.fetch method.

+

Parameters

+
method
+

string

+

The HTTP method to use.

+
data
+

The data to +be send with a request.

+

undefined | UnknownParameters

+
options
+

HttpAgentRequestOptions

+

Options provided by the HTTP +agent.

+

Returns

+

ImaRequestInit

+

An ImaRequestInit object (extended from RequestInit of the Fetch API).

+
+

_composeRequestParams()

+
+

_composeRequestParams(method, url, data, options): HttpProxyRequestParams

+
+

Defined in: packages/core/src/http/HttpProxy.ts:433

+

Composes an object representing the HTTP request parameters from the +provided arguments.

+

Parameters

+
method
+

string

+

The HTTP method to use.

+
url
+

string

+

The URL to which the request should be sent.

+
data
+

The data to +send with the request.

+

undefined | UnknownParameters

+
options
+

HttpAgentRequestOptions

+

Optional request options.

+

Returns

+

HttpProxyRequestParams

+

An object representing the complete request parameters used to create and +send the HTTP request.

+
+

_composeRequestUrl()

+
+

_composeRequestUrl(url, data): string

+
+

Defined in: packages/core/src/http/HttpProxy.ts:540

+

Transforms the provided URL using the current URL transformer and adds +the provided data to the URL's query string.

+

Parameters

+
url
+

string

+

The URL to prepare for use with the fetch API.

+
data
+

The data to be attached to the query string.

+

undefined | StringParameters

+

Returns

+

string

+

The transformed URL with the provided data attached to +its query string.

+
+

_createError()

+
+

_createError(cause, requestParams, status, responseBody): GenericError

+
+

Defined in: packages/core/src/http/HttpProxy.ts:401

+

Creates an error that represents a failed HTTP request.

+

Parameters

+
cause
+

The error's message.

+

Error | GenericError

+
requestParams
+

HttpProxyRequestParams

+

An object representing the +complete request parameters used to create and send the HTTP +request.

+
status
+

number

+

Server's response HTTP status code.

+
responseBody
+

unknown = null

+

The body of the server's response, if any.

+

Returns

+

GenericError

+

The error representing a failed HTTP request.

+
+

_getContentType()

+
+

_getContentType(method, data, headers): null | string

+
+

Defined in: packages/core/src/http/HttpProxy.ts:512

+

Gets a Content-Type header value for defined method, data and options.

+

Parameters

+
method
+

string

+

The HTTP method to use.

+
data
+

The data to +be send with a request.

+

undefined | UnknownParameters

+
headers
+

Record<string, string>

+

Returns

+

null | string

+

A Content-Type header value, null for requests +with no body.

+
+

_headersToPlainObject()

+
+

_headersToPlainObject(headers): StringParameters

+
+

Defined in: packages/core/src/http/HttpProxy.ts:355

+

Converts the provided Fetch API's Headers object to a plain object.

+

Parameters

+
headers
+

Headers

+

The headers to convert.

+

Returns

+

StringParameters

+

Converted headers.

+
+

_processError()

+
+

_processError(fetchError, requestParams): GenericError

+
+

Defined in: packages/core/src/http/HttpProxy.ts:375

+

Processes the provided Fetch API or internal error and creates an error +to expose to the calling API.

+

Parameters

+
fetchError
+

The internal error to process.

+

Error | GenericError

+
requestParams
+

HttpProxyRequestParams

+

An object representing the +complete request parameters used to create and send the HTTP +request.

+

Returns

+

GenericError

+

The error to provide to the calling API.

+
+

_processResponse()

+
+

_processResponse<B>(requestParams, response, responseBody): HttpAgentResponse<B>

+
+

Defined in: packages/core/src/http/HttpProxy.ts:326

+

Processes the response received from the server.

+

Type Parameters

+

B

+

Parameters

+
requestParams
+

HttpProxyRequestParams

+

The original request's +parameters.

+
response
+

Response

+

The Fetch API's Response object representing +the server's response.

+
responseBody
+

B

+

The server's response body.

+

Returns

+

HttpAgentResponse<B>

+

The server's response along with all related +metadata.

+
+

_shouldRequestHaveBody()

+
+

_shouldRequestHaveBody(method, data): boolean

+
+

Defined in: packages/core/src/http/HttpProxy.ts:561

+

Checks if a request should have a body (GET and HEAD requests don't +have a body).

+

Parameters

+
method
+

string

+

The HTTP method.

+
data
+

The data to +be send with a request.

+

undefined | UnknownParameters

+

Returns

+

boolean

+

true if a request has a body, otherwise false.

+
+

clearDefaultHeaders()

+
+

clearDefaultHeaders(): this

+
+

Defined in: packages/core/src/http/HttpProxy.ts:228

+

Clears all defaults headers sent with all requests.

+

Returns

+

this

+

this

+
+

getErrorParams()

+
+

getErrorParams<B>(method, url, data, options, status, body, cause): HttpProxyErrorParams<B>

+
+

Defined in: packages/core/src/http/HttpProxy.ts:251

+

Gets an object that describes a failed HTTP request, providing +information about both the failure reported by the server and how the +request has been sent to the server.

+

Type Parameters

+

B = unknown

+

Parameters

+
method
+

string

+

The HTTP method used to make the request.

+
url
+

string

+

The URL to which the request has been made.

+
data
+

The data sent +with the request.

+

undefined | UnknownParameters

+
options
+

HttpAgentRequestOptions

+

Optional request options.

+
status
+

number

+

The HTTP response status code send by the server.

+
body
+

The body of HTTP error response (detailed +information).

+

undefined | B

+
cause
+

Error

+

The low-level cause error.

+

Returns

+

HttpProxyErrorParams<B>

+

An object containing both the details of +the error and the request that lead to it.

+
+

haveToSetCookiesManually()

+
+

haveToSetCookiesManually(): boolean

+
+

Defined in: packages/core/src/http/HttpProxy.ts:311

+

Returns true if cookies have to be processed manually by setting +Cookie HTTP header on requests and parsing the Set-Cookie HTTP +response header.

+

The result of this method depends on the current application +environment, the client-side usually handles cookie processing +automatically, leading this method returning false.

+

At the client-side, the method tests whether the client has cookies +enabled (which results in cookies being automatically processed by the +browser), and returns true or false accordingly.

+

true if cookies are not processed automatically by +the environment and have to be handled manually by parsing +response headers and setting request headers, otherwise false.

+

Returns

+

boolean

+
+

request()

+
+

request<B>(method, url, data, options): Promise<HttpAgentResponse<B>>

+
+

Defined in: packages/core/src/http/HttpProxy.ts:109

+

Executes a HTTP request to the specified URL using the specified HTTP +method, carrying the provided data.

+

Type Parameters

+

B

+

Parameters

+
method
+

string

+

The HTTP method to use.

+
url
+

string

+

The URL to which the request should be made.

+
data
+

The data to +be send to the server. The data will be included as query +parameters if the request method is GET or HEAD, and as +a request body for any other request method.

+

undefined | UnknownParameters

+
options
+

HttpAgentRequestOptions

+

Optional request options.

+

Returns

+

Promise<HttpAgentResponse<B>>

+

A promise that resolves to the server +response.

+
+

setDefaultHeader()

+
+

setDefaultHeader(header, value): this

+
+

Defined in: packages/core/src/http/HttpProxy.ts:217

+

Sets the specified default HTTP header. The header will be sent with all +subsequent HTTP requests unless reconfigured using this method, +overridden by request options, or cleared by +HttpProxy#clearDefaultHeaders method.

+

Parameters

+ +

string

+

A header name.

+
value
+

string

+

A header value.

+

Returns

+

this

+

this

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/MapStorage/index.html b/api/@ima/core/classes/MapStorage/index.html new file mode 100644 index 000000000..fc390a733 --- /dev/null +++ b/api/@ima/core/classes/MapStorage/index.html @@ -0,0 +1,168 @@ + + + + + +Class: MapStorage\<V\> | IMA.js + + + + +
Skip to main content

Class: MapStorage<V>

+

Defined in: packages/core/src/storage/MapStorage.ts:8

+

Implementation of the link Storage interface that relies on the +native Map for storage.

+

Extends

+ +

Type Parameters

+

V

+

Constructors

+

new MapStorage()

+
+

new MapStorage<V>(): MapStorage<V>

+
+

Returns

+

MapStorage<V>

+

Inherited from

+

Storage.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/storage/MapStorage.ts:14

+
Returns
+

Dependencies

+

Methods

+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/storage/MapStorage.ts:60

+

Clears the storage of all entries.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.clear

+
+

delete()

+
+

delete(key): this

+
+

Defined in: packages/core/src/storage/MapStorage.ts:51

+

Deletes the entry identified by the specified key from this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.delete

+
+

get()

+
+

get(key): undefined | V

+
+

Defined in: packages/core/src/storage/MapStorage.ts:35

+

Retrieves the value of the entry identified by the specified . The +method returns undefined if the entry does not exists.

+

Entries set to the undefined value can be tested for existence +using the link has method.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

undefined | V

+

The value of the storage entry.

+

Overrides

+

Storage.get

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/storage/MapStorage.ts:28

+

Returns true if the entry identified by the specified key exists +in this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

boolean

+

true if the storage entry exists.

+

Overrides

+

Storage.has

+
+

init()

+
+

init(): this

+
+

Defined in: packages/core/src/storage/MapStorage.ts:21

+

This method is used to finalize the initialization of the storage after +the dependencies provided through the constructor have been prepared for +use.

+

This method must be invoked only once and it must be the first method +invoked on this instance.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.init

+
+

keys()

+
+

keys(): Iterable<string>

+
+

Defined in: packages/core/src/storage/MapStorage.ts:69

+

Returns an iterator for traversing the keys in this storage. The order +in which the keys are traversed is undefined.

+

Returns

+

Iterable<string>

+

An iterator for traversing the keys in this +storage. The iterator also implements the iterable protocol, +returning itself as its own iterator, allowing it to be used in +a for..of loop.

+

Overrides

+

Storage.keys

+
+

set()

+
+

set(key, value): this

+
+

Defined in: packages/core/src/storage/MapStorage.ts:42

+

Sets the storage entry identified by the specified key to the provided +value. The method creates the entry if it does not exist already.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+
value
+

V

+

The storage entry value.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.set

+
+

size()

+
+

size(): number

+
+

Defined in: packages/core/src/storage/MapStorage.ts:76

+

Returns the number of entries in this storage.

+

Returns

+

number

+

The number of entries in this storage.

+

Overrides

+

Storage.size

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/MessageFormatDictionary/index.html b/api/@ima/core/classes/MessageFormatDictionary/index.html new file mode 100644 index 000000000..88cd9ebda --- /dev/null +++ b/api/@ima/core/classes/MessageFormatDictionary/index.html @@ -0,0 +1,134 @@ + + + + + +Class: MessageFormatDictionary | IMA.js + + + + +
Skip to main content

Class: MessageFormatDictionary

+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:16

+

Implementation of the Dictionary interface that relies on +compiled MessageFormat localization messages for its dictionary.

+

Extends

+ +

Constructors

+

new MessageFormatDictionary()

+
+

new MessageFormatDictionary(): MessageFormatDictionary

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:30

+

Initializes the dictionary.

+

Returns

+

MessageFormatDictionary

+

Example

+
dictionary.get('home.hello', {GENDER: 'UNSPECIFIED'});
+

Overrides

+

Dictionary.constructor

+

Properties

+

_dictionary

+
+

protected _dictionary: DictionaryData

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:18

+
+

_language

+
+

protected _language: string

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:17

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:20

+
Returns
+

never[]

+

Methods

+

get()

+
+

get(key, parameters?): string

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:89

+

Retrieves the localization phrase identified by the specified key, +evaluates the phrase's placeholder expressions using the provided +parameters and returns the result.

+

Parameters

+
key
+

string

+

The key identifying the localization phrase. The key +consists of at least two parts separated by dots. The first part +denotes the name of the source JSON localization file, while the +rest denote a field path within the localization object within +the given localization file.

+
parameters?
+

ObjectParameters

+

The +map of parameter names to the parameter values to use. +Defaults to an empty plain object.

+

Returns

+

string

+

The specified localization phrase with its placeholders +evaluated using the provided parameters.

+

Overrides

+

Dictionary.get

+
+

getLanguage()

+
+

getLanguage(): string

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:69

+

Returns the ISO 639-1 language code of the language this dictionary was +initialized with.

+

Returns

+

string

+

The language code representing the language of the +localization phrases in this dictionary.

+

Overrides

+

Dictionary.getLanguage

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:115

+

Tests whether the specified localization phrase exists in the +dictionary.

+

Parameters

+
key
+

string

+

The key identifying the localization phrase. The key +consists of at least two parts separated by dots. The first part +denotes the name of the source JSON localization file, while the +rest denote a field path within the localization object within +the given localization file.

+

Returns

+

boolean

+

true if the key exists and denotes a single +localization phrase, otherwise false.

+

Overrides

+

Dictionary.has

+
+

init()

+
+

init(config): void

+
+

Defined in: packages/core/src/dictionary/MessageFormatDictionary.ts:61

+

Initializes this dictionary with the provided language and localization +phrases.

+

Parameters

+
config
+

DictionaryConfig

+

The dictionary configuration.

+

Returns

+

void

+

Overrides

+

Dictionary.init

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/MetaManager/index.html b/api/@ima/core/classes/MetaManager/index.html new file mode 100644 index 000000000..dec80b5e4 --- /dev/null +++ b/api/@ima/core/classes/MetaManager/index.html @@ -0,0 +1,254 @@ + + + + + +Class: abstract MetaManager | IMA.js + + + + +
Skip to main content

Class: abstract MetaManager

+

Defined in: packages/core/src/meta/MetaManager.ts:25

+

The Meta manager is a utility for managing various page attributes related +to the SEO (search engine optimization) and social network integration.

+

The Meta manager is used to manage the following:

+
    +
  • page title, set using the contents of the &lt;title&gt; element
  • +
  • page links, linking related documents and meta-information, added to the +using &lt;link&gt; elements
  • +
  • page meta information: +
      +
    • the generic named meta information added to the page via +&lt;meta&gt;} elements with the nameattribute, for example thekeywords`.
    • +
    • specialized meta information added to the page via &lt;meta&gt; +elements with the property attribute, for example the OG meta +tags (og:type, og:image, etc.).
    • +
    +
  • +
+

Extended by

+ +

Constructors

+

new MetaManager()

+
+

new MetaManager(): MetaManager

+
+

Returns

+

MetaManager

+

Methods

+

clearMetaAttributes()

+
+

clearMetaAttributes(): void

+
+

Defined in: packages/core/src/meta/MetaManager.ts:195

+

Resets the stored meta names, properties and links.

+

Returns

+

void

+
+ +
+

getLink(relation): MetaManagerRecord<"href">

+
+

Defined in: packages/core/src/meta/MetaManager.ts:169

+

Return the reference to the specified related linked document. The +method returns an empty string for missing meta information (to make the +returned value React-friendly).

+

Parameters

+
relation
+

string

+

The relation of the link target to the current +page.

+

Returns

+

MetaManagerRecord<"href">

+

The reference to the location of the related document, +e.g. a URL.

+
+ +
+

getLinks(): string[]

+
+

Defined in: packages/core/src/meta/MetaManager.ts:177

+

Returns the relations of the currently set related documents linked to +the current page.

+

Returns

+

string[]

+
+

getLinksIterator()

+
+

getLinksIterator(): never[] | IterableIterator<[string, MetaManagerRecord<"href">]>

+
+

Defined in: packages/core/src/meta/MetaManager.ts:186

+

Return [key, value] pairs of currently set links.

+

Returns

+

never[] | IterableIterator<[string, MetaManagerRecord<"href">]>

+

[key, value] pairs of currently set links.

+
+

getMetaName()

+
+

getMetaName(name): MetaManagerRecord<"content">

+
+

Defined in: packages/core/src/meta/MetaManager.ts:69

+

Returns the value of the specified named meta information property. The +method returns an empty string for missing meta information (to make the +returned value React-friendly).

+

Parameters

+
name
+

string

+

The name of the named meta information property.

+

Returns

+

MetaManagerRecord<"content">

+

The value of the generic meta information, or an empty string.

+
+

getMetaNames()

+
+

getMetaNames(): string[]

+
+

Defined in: packages/core/src/meta/MetaManager.ts:80

+

Returns the names of the currently specified named meta information +properties.

+

Returns

+

string[]

+

The names of the currently specified named meta +information properties.

+
+

getMetaNamesIterator()

+
+

getMetaNamesIterator(): never[] | IterableIterator<[string, MetaManagerRecord<"content">]>

+
+

Defined in: packages/core/src/meta/MetaManager.ts:89

+

Return [key, value] pairs of named meta information.

+

Returns

+

never[] | IterableIterator<[string, MetaManagerRecord<"content">]>

+

[key, value] pairs of named meta information.

+
+

getMetaProperties()

+
+

getMetaProperties(): string[]

+
+

Defined in: packages/core/src/meta/MetaManager.ts:131

+

Returns the names of the currently specified specialized meta +information properties.

+

Returns

+

string[]

+

The names of the currently specified specialized meta +information properties.

+
+

getMetaPropertiesIterator()

+
+

getMetaPropertiesIterator(): never[] | IterableIterator<[string, MetaManagerRecord<"content">]>

+
+

Defined in: packages/core/src/meta/MetaManager.ts:140

+

Return [key, value] pairs of meta information properties.

+

Returns

+

never[] | IterableIterator<[string, MetaManagerRecord<"content">]>

+

[key, value] pairs of meta information properties.

+
+

getMetaProperty()

+
+

getMetaProperty(property): MetaManagerRecord<"content">

+
+

Defined in: packages/core/src/meta/MetaManager.ts:120

+

Returns the value of the specified specialized meta information +property. The method returns an empty string for missing meta +information (to make the returned value React-friendly).

+

Parameters

+
property
+

string

+

Returns

+

MetaManagerRecord<"content">

+

The value of the specified meta information, or an +empty string.

+
+

getTitle()

+
+

getTitle(): string

+
+

Defined in: packages/core/src/meta/MetaManager.ts:45

+

Returns the page title. The method returns an empty string if no page +title has been set yet.

+

Note that the page title is cached internally by the meta manager and +may therefore differ from the current document title if it has been +modified by a 3rd party code.

+

Returns

+

string

+

The current page title.

+
+ +
+

setLink(relation, href, attr?): this

+
+

Defined in: packages/core/src/meta/MetaManager.ts:155

+

Sets the specified specialized link information.

+

Parameters

+
relation
+

string

+

The relation of the link target to the current +page.

+
href
+

MetaValue

+

The reference to the location of the related +document, e.g. a URL.

+
attr?
+

MetaAttributes

+

Returns

+

this

+

Parram

+

attr Additional optional link attributes.

+
+

setMetaName()

+
+

setMetaName(name, content, attr?): this

+
+

Defined in: packages/core/src/meta/MetaManager.ts:57

+

Set the specified named meta information property.

+

Parameters

+
name
+

string

+

Meta information property name, for example +keywords.

+
content
+

MetaValue

+

The meta information content.

+
attr?
+

MetaAttributes

+

Returns

+

this

+

Parram

+

attr Additional optional meta attributes.

+
+

setMetaProperty()

+
+

setMetaProperty(property, content, attr?): this

+
+

Defined in: packages/core/src/meta/MetaManager.ts:102

+

Sets the specified specialized meta information property.

+

Parameters

+
property
+

string

+

The value of the meta information property.

+
content
+

MetaValue

+
attr?
+

MetaAttributes

+

Returns

+

this

+

Parram

+

attr Additional optional meta attributes.

+
+

setTitle()

+
+

setTitle(title): this

+
+

Defined in: packages/core/src/meta/MetaManager.ts:31

+

Sets the page title.

+

Parameters

+
title
+

string

+

The new page title.

+

Returns

+

this

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/MetaManagerImpl/index.html b/api/@ima/core/classes/MetaManagerImpl/index.html new file mode 100644 index 000000000..24fea5232 --- /dev/null +++ b/api/@ima/core/classes/MetaManagerImpl/index.html @@ -0,0 +1,305 @@ + + + + + +Class: MetaManagerImpl | IMA.js + + + + +
Skip to main content

Class: MetaManagerImpl

+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:11

+

Default implementation of the MetaManager interface.

+

Extends

+ +

Constructors

+

new MetaManagerImpl()

+
+

new MetaManagerImpl(): MetaManagerImpl

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:24

+

Initializes the meta page attributes manager.

+

Returns

+

MetaManagerImpl

+

Overrides

+

MetaManager.constructor

+

Properties

+ +
+

protected _link: Map<string, MetaManagerRecord<"href">>

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:15

+
+

_metaName

+
+

protected _metaName: Map<string, MetaManagerRecord<"content">>

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:13

+
+

_metaProperty

+
+

protected _metaProperty: Map<string, MetaManagerRecord<"content">>

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:14

+
+

_title

+
+

protected _title: string

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:12

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:17

+
Returns
+

never[]

+

Methods

+

clearMetaAttributes()

+
+

clearMetaAttributes(): void

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:166

+

Resets the stored meta names, properties and links.

+

Returns

+

void

+

Overrides

+

MetaManager.clearMetaAttributes

+
+ +
+

getLink(relation): MetaManagerRecord<"href">

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:145

+

Return the reference to the specified related linked document. The +method returns an empty string for missing meta information (to make the +returned value React-friendly).

+

Parameters

+
relation
+

string

+

The relation of the link target to the current +page.

+

Returns

+

MetaManagerRecord<"href">

+

The reference to the location of the related document, +e.g. a URL.

+

Overrides

+

MetaManager.getLink

+
+ +
+

getLinks(): string[]

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:152

+

Returns the relations of the currently set related documents linked to +the current page.

+

Returns

+

string[]

+

Overrides

+

MetaManager.getLinks

+
+

getLinksIterator()

+
+

getLinksIterator(): IterableIterator<[string, MetaManagerRecord<"href">]>

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:159

+

Return [key, value] pairs of currently set links.

+

Returns

+

IterableIterator<[string, MetaManagerRecord<"href">]>

+

[key, value] pairs of currently set links.

+

Overrides

+

MetaManager.getLinksIterator

+
+

getMetaName()

+
+

getMetaName(name): MetaManagerRecord<"content">

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:76

+

Returns the value of the specified named meta information property. The +method returns an empty string for missing meta information (to make the +returned value React-friendly).

+

Parameters

+
name
+

string

+

The name of the named meta information property.

+

Returns

+

MetaManagerRecord<"content">

+

The value of the generic meta information, or an empty string.

+

Overrides

+

MetaManager.getMetaName

+
+

getMetaNames()

+
+

getMetaNames(): string[]

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:83

+

Returns the names of the currently specified named meta information +properties.

+

Returns

+

string[]

+

The names of the currently specified named meta +information properties.

+

Overrides

+

MetaManager.getMetaNames

+
+

getMetaNamesIterator()

+
+

getMetaNamesIterator(): IterableIterator<[string, MetaManagerRecord<"content">]>

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:90

+

Return [key, value] pairs of named meta information.

+

Returns

+

IterableIterator<[string, MetaManagerRecord<"content">]>

+

[key, value] pairs of named meta information.

+

Overrides

+

MetaManager.getMetaNamesIterator

+
+

getMetaProperties()

+
+

getMetaProperties(): string[]

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:120

+

Returns the names of the currently specified specialized meta +information properties.

+

Returns

+

string[]

+

The names of the currently specified specialized meta +information properties.

+

Overrides

+

MetaManager.getMetaProperties

+
+

getMetaPropertiesIterator()

+
+

getMetaPropertiesIterator(): IterableIterator<[string, MetaManagerRecord<"content">]>

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:127

+

Return [key, value] pairs of meta information properties.

+

Returns

+

IterableIterator<[string, MetaManagerRecord<"content">]>

+

[key, value] pairs of meta information properties.

+

Overrides

+

MetaManager.getMetaPropertiesIterator

+
+

getMetaProperty()

+
+

getMetaProperty(property): MetaManagerRecord<"content">

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:112

+

Returns the value of the specified specialized meta information +property. The method returns an empty string for missing meta +information (to make the returned value React-friendly).

+

Parameters

+
property
+

string

+

Returns

+

MetaManagerRecord<"content">

+

The value of the specified meta information, or an +empty string.

+

Overrides

+

MetaManager.getMetaProperty

+
+

getTitle()

+
+

getTitle(): string

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:60

+

Returns the page title. The method returns an empty string if no page +title has been set yet.

+

Note that the page title is cached internally by the meta manager and +may therefore differ from the current document title if it has been +modified by a 3rd party code.

+

Returns

+

string

+

The current page title.

+

Overrides

+

MetaManager.getTitle

+
+ +
+

setLink(relation, href, attr?): this

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:136

+

Sets the specified specialized link information.

+

Parameters

+
relation
+

string

+

The relation of the link target to the current +page.

+
href
+

MetaValue

+

The reference to the location of the related +document, e.g. a URL.

+
attr?
+

MetaAttributes

+

Returns

+

this

+

Parram

+

attr Additional optional link attributes.

+

Overrides

+

MetaManager.setLink

+
+

setMetaName()

+
+

setMetaName(name, content, attr?): this

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:67

+

Set the specified named meta information property.

+

Parameters

+
name
+

string

+

Meta information property name, for example +keywords.

+
content
+

MetaValue

+

The meta information content.

+
attr?
+

MetaAttributes

+

Returns

+

this

+

Parram

+

attr Additional optional meta attributes.

+

Overrides

+

MetaManager.setMetaName

+
+

setMetaProperty()

+
+

setMetaProperty(property, content, attr?): this

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:99

+

Sets the specified specialized meta information property.

+

Parameters

+
property
+

string

+

The value of the meta information property.

+
content
+

MetaValue

+
attr?
+

MetaAttributes

+

Returns

+

this

+

Parram

+

attr Additional optional meta attributes.

+

Overrides

+

MetaManager.setMetaProperty

+
+

setTitle()

+
+

setTitle(title): this

+
+

Defined in: packages/core/src/meta/MetaManagerImpl.ts:51

+

Sets the page title.

+

Parameters

+
title
+

string

+

The new page title.

+

Returns

+

this

+

Overrides

+

MetaManager.setTitle

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Namespace/index.html b/api/@ima/core/classes/Namespace/index.html new file mode 100644 index 000000000..10b73c8eb --- /dev/null +++ b/api/@ima/core/classes/Namespace/index.html @@ -0,0 +1,98 @@ + + + + + +Class: Namespace | IMA.js + + + + +
Skip to main content

Class: Namespace

+

Defined in: packages/core/src/Namespace.ts:7

+

Namespace creation, manipulation and traversal utility. This utility is used +to create semi-global shared namespaces for registering references to +interfaces, classes and constants of the application to provide access to +each other more easily than by using the ES6 import/export mechanism.

+

Indexable

+

[key: string | number | symbol]: any

+

Constructors

+

new Namespace()

+
+

new Namespace(): Namespace

+
+

Returns

+

Namespace

+

Methods

+

get()

+
+

get<V>(path): undefined | V

+
+

Defined in: packages/core/src/Namespace.ts:77

+

Return value for the specified namespace path point or undefined if path is not type of string

+

Type Parameters

+

V = any

+

Parameters

+
path
+

string

+

The namespace path to get.

+

Returns

+

undefined | V

+

The value at the specified path in the namespace or undefined for any non-string path

+
+

has()

+
+

has(path): boolean

+
+

Defined in: packages/core/src/Namespace.ts:60

+

Verifies that the specified namespace path point to an existing +namespace or terminal value.

+

Parameters

+
path
+

string

+

The namespace path to test.

+

Returns

+

boolean

+

true if the namespace or terminal value exists +at the specified path.

+
+

namespace()

+
+

namespace<V>(path): V

+
+

Defined in: packages/core/src/Namespace.ts:36

+

Verifies that the specified path in namespace exists, creates it if it +does not, and returns the value at the specified path in the namespace.

+

The method recursively creates all path parts in the namespaces as empty +plain objects for all path parts that do not exist yet, including the +last one. This means, that if called with a non-existing namespace path +as an argument, the return value will be the last created namespace +object.

+

Type Parameters

+

V = any

+

Parameters

+
path
+

string

+

The namespace path.

+

Returns

+

V

+

The value at the specified path in the namespace.

+
+

set()

+
+

set<V>(path, value): void

+
+

Defined in: packages/core/src/Namespace.ts:99

+

Set value for the specified namespace path point.

+

Type Parameters

+

V

+

Parameters

+
path
+

string

+

The namespace path to set.

+
value
+

V

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ObjectContainer/index.html b/api/@ima/core/classes/ObjectContainer/index.html new file mode 100644 index 000000000..e0e421e5a --- /dev/null +++ b/api/@ima/core/classes/ObjectContainer/index.html @@ -0,0 +1,469 @@ + + + + + +Class: ObjectContainer | IMA.js + + + + +
Skip to main content

Class: ObjectContainer

+

Defined in: packages/core/src/oc/ObjectContainer.ts:61

+

The Object Container is an enhanced dependency injector with support for +aliases and constants, and allowing to reference classes in the application +namespace by specifying their fully qualified names.

+

Constructors

+

new ObjectContainer()

+
+

new ObjectContainer(namespace): ObjectContainer

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:91

+

Initializes the object container.

+

Parameters

+
namespace
+

Namespace

+

The namespace container, used to +access classes and values using their fully qualified names.

+

Returns

+

ObjectContainer

+

Methods

+

_createEntry()

+
+

_createEntry<T>(classConstructor, dependencies?, options?): Entry<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:648

+

Creates a new entry for the provided class or factory function, the +provided dependencies and entry options.

+

Type Parameters

+

T

+

Parameters

+
classConstructor
+

EntryConstructor<T>

+

The +class constructor or factory function.

+
dependencies?
+

any[]

+

The dependencies to pass into the +constructor or factory function.

+
options?
+

EntryOptions

+

Returns

+

Entry<T>

+

Created instance or generated value.

+
+

_createInstanceFromEntry()

+
+

_createInstanceFromEntry<T, E>(entry, dependencies): T

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:687

+

Creates a new instance of the class or retrieves the value generated by +the factory function represented by the provided entry, passing in the +provided dependencies.

+

The method uses the dependencies specified by the entry if no custom +dependencies are provided.

+

Type Parameters

+

T

+

E extends Entry<T>

+

Parameters

+
entry
+

E

+

The entry representing the class that should +have its instance created or factory faction to use to create a +value.

+
dependencies
+

any[] = []

+

The dependencies to pass into the +constructor or factory function.

+

Returns

+

T

+

Created instance or generated value.

+
+

_getEntry()

+
+

_getEntry<T>(name): null | Entry<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:536

+

Retrieves the entry for the specified constant, alias, class or factory +function, interface, or fully qualified namespace path (the method +checks these in this order in case of a name clash).

+

The method retrieves an existing entry even if a qualified namespace +path is provided (if the target class or interface has been configured +in this object container).

+

The method throws an Error if no such constant, alias, +registry, interface implementation is known to this object container and +the provided identifier is not a valid namespace path specifying an +existing class, interface or value.

+

Type Parameters

+

T

+

Parameters

+
name
+

Dependency<T>

+

Name of a constant or alias, +factory function, class or interface constructor, or a fully +qualified namespace path.

+

Returns

+

null | Entry<T>

+

The retrieved entry.

+

Throws

+

If no such constant, alias, registry, interface +implementation is known to this object container.

+
+

_getEntryFromClassConstructor()

+
+

_getEntryFromClassConstructor<T>(classConstructor): null | Entry<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:842

+

Retrieves the class denoted by the provided class constructor.

+

The method then checks whether there are defined $dependencies +property for class. Then the class is registered to this object +container.

+

The method returns the entry for the class if the specified class +does not have defined $dependencies property return +null.

+

Type Parameters

+

T

+

Parameters

+
classConstructor
+

OCInjectable<T>

+

Returns

+

null | Entry<T>

+

An entry representing the value at the specified +classConstructor. The method returns null +if the specified classConstructor does not have defined +$dependencies.

+
+

_getEntryFromConstant()

+
+

_getEntryFromConstant<T>(compositionName): null | Entry<() => T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:748

+

Retrieves the constant value denoted by the provided fully qualified +composition name.

+

The method returns the entry for the constant if the constant is registered +with this object container, otherwise return null.

+

Finally, if the constant composition name does not resolve to value, +the method return null.

+

Type Parameters

+

T

+

Parameters

+
compositionName
+

string

+

Returns

+

null | Entry<() => T>

+

An entry representing the value at the specified +composition name in the constants. The method returns null +if the specified composition name does not exist in the constants.

+
+

_getEntryFromNamespace()

+
+

_getEntryFromNamespace<T>(path): null | Entry<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:804

+

Retrieves the class denoted by the provided fully qualified name within +the application namespace.

+

The method then checks whether there are dependencies configured for the +class, no matter whether the class is an implementation class or an +"interface" class.

+

The method returns the entry for the class if the class is registered +with this object container, otherwise an unregistered entry is created +and returned.

+

Finally, if the namespace path does not resolve to a class, the method +return an unregistered entry resolved to the value denoted by the +namespace path.

+

Alternatively, if a constructor function is passed in instead of a +namespace path, the method returns null.

+

Type Parameters

+

T

+

Parameters

+
path
+

string

+

Namespace path pointing to +a class or a value in the application namespace, or a constructor +function.

+

Returns

+

null | Entry<T>

+

An entry representing the value or class at the +specified path in the namespace. The method returns null +if the specified path does not exist in the namespace.

+
+

_isOptional()

+
+

_isOptional<T>(name): boolean

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:594

+

Checks whether the name is marked as optional.

+

Type Parameters

+

T

+

Parameters

+
name
+

Dependency<T>

+

Name of a constant or alias, +factory function, class or interface constructor, or a fully +qualified namespace path.

+

Returns

+

boolean

+
+

_isSpread()

+
+

_isSpread<T>(name): boolean

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:608

+

Checks whether the name is marked as spread.

+

Type Parameters

+

T

+

Parameters

+
name
+

Dependency<T>

+

Name of a constant or alias, +factory function, class or interface constructor, or a fully +qualified namespace path.

+

Returns

+

boolean

+
+

_updateEntryValues()

+
+

_updateEntryValues<T, E>(entry, classConstructor, dependencies): void

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:627

+

The method update classConstructor and dependencies for defined entry. +The entry throw Error for constants and if you try override dependencies +more than once.

+

Type Parameters

+

T

+

E extends Entry<T>

+

Parameters

+
entry
+

E

+

The entry representing the class that should +have its instance created or factory faction to use to create a +value.

+
classConstructor
+

OCInjectable<T>

+

The +class constructor or factory function.

+
dependencies
+

any[]

+

The dependencies to pass into the +constructor or factory function.

+

Returns

+

void

+
+

bind()

+
+

bind<T, C>(name, classConstructor, dependencies?): this

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:115

+

Binds the specified class or factory function and dependencies to the +specified alias. Binding a class or factory function to an alias allows +the class or function to be specified as a dependency by specifying the +alias and creating new instances by referring to the class or function +by the alias.

+

Also note that the same class or function may be bound to several +aliases and each may use different dependencies.

+

The alias will use the default dependencies bound for the class if no +dependencies are provided.

+

Type Parameters

+

T extends keyof OCAliasMap

+

C

+

Parameters

+
name
+

T

+

Alias name.

+
classConstructor
+

OCInjectable<C>

+

The +class constructor or a factory function.

+
dependencies?
+

any[]

+

The dependencies to pass into the +constructor or factory function.

+

Returns

+

this

+

This object container.

+
+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:486

+

Clears all entries from this object container and resets the locking +mechanism of this object container.

+

Returns

+

this

+

This object container.

+
+

constant()

+
+

constant<T, V>(name, value): this

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:201

+

Defines a new constant registered with this object container. Note that +this is the only way of passing string values to constructors +because the object container treats strings as class, interface, alias +or constant names.

+

Type Parameters

+

T extends keyof OCAliasMap

+

V

+

Parameters

+
name
+

T

+

The constant name.

+
value
+

V

+

The constant value.

+

Returns

+

this

+

This object container.

+
+

create()

+
+

create<T>(name, dependencies): OCInstance<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:464

+

Creates a new instance of the class or retrieves the value generated by +the factory function identified by the provided name, class, interface, +or factory function, passing in the provided dependencies.

+

The method uses the dependencies specified when the class, interface or +factory function has been registered with the object container if no +custom dependencies are provided.

+

Type Parameters

+

T extends OCInstanceConstrain<any>

+

Parameters

+
name
+

T

+

The name +of the alias, class, interface, or the class, interface or a +factory function to use.

+
dependencies
+

any[] = []

+

The dependencies to pass into the +constructor or factory function.

+

Returns

+

OCInstance<T>

+

Created instance or generated value.

+
+

get()

+
+

get<T>(name): OCInstance<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:401

+

Retrieves the shared instance or value of the specified constant, alias, +class or factory function, interface, or fully qualified namespace path +(the method checks these in this order in case of a name clash).

+

The instance or value is created lazily the first time it is requested.

+

Type Parameters

+

T extends OCInstanceConstrain<any>

+

Parameters

+
name
+

T

+

The name +of the alias, class, interface, or the class, interface or a +factory function.

+

Returns

+

OCInstance<T>

+

The shared instance or value.

+
+

getConstructorOf()

+
+

getConstructorOf<T>(name): null | Constructor<T>

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:419

+

Returns the class constructor function of the specified class.

+

Type Parameters

+

T extends keyof OCAliasMap | Constructor<any>

+

Parameters

+
name
+

T

+

The name by which the class +is registered with this object container.

+

Returns

+

null | Constructor<T>

+

The constructor function.

+
+

has()

+
+

has<T>(name): boolean

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:439

+

Returns true if the specified object, class or resource is +registered with this object container.

+

Type Parameters

+

T

+

Parameters

+
name
+

The resource name.

+

keyof OCAliasMap | OCInjectable<T>

+

Returns

+

boolean

+

true if the specified object, class or +resource is registered with this object container.

+
+

inject()

+
+

inject<T>(classConstructor, dependencies): this

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:245

+

Configures the object loader with the specified default dependencies for +the specified class.

+

New instances of the class created by this object container will receive +the provided dependencies into constructor unless custom dependencies +are provided.

+

Type Parameters

+

T

+

Parameters

+
classConstructor
+

Constructor<T>

+

The class constructor.

+
dependencies
+

any[]

+

The dependencies to pass into the +constructor function.

+

Returns

+

this

+

This object container.

+
+

provide()

+
+

provide<T, I>(interfaceConstructor, implementationConstructor, dependencies?): this

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:320

+

Configures the default implementation of the specified interface to use +when an implementation provider of the specified interface is requested +from this object container.

+

The implementation constructor will obtain the provided default +dependencies or the dependencies provided to the () +method.

+

Type Parameters

+

T

+

I

+

Parameters

+
interfaceConstructor
+

The constructor +of the interface representing the service.

+

Constructor<I> | AbstractConstructor<I>

+
implementationConstructor
+

Constructor<T>

+

The constructor of the class implementing the service interface.

+
dependencies?
+

any[]

+

The dependencies to pass into the +constructor function.

+

Returns

+

this

+

This object container.

+
+

setBindingState()

+
+

setBindingState(bindingState, bindingPluginName?): void

+
+

Defined in: packages/core/src/oc/ObjectContainer.ts:494

+

Parameters

+
bindingState
+

BindingState

+
bindingPluginName?
+

string

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Observable/index.html b/api/@ima/core/classes/Observable/index.html new file mode 100644 index 000000000..d14d0d9a9 --- /dev/null +++ b/api/@ima/core/classes/Observable/index.html @@ -0,0 +1,125 @@ + + + + + +Class: abstract Observable | IMA.js + + + + +
Skip to main content

Class: abstract Observable

+

Defined in: packages/core/src/event/Observable.ts:8

+

An Observable is a class that manages event listeners and allows distributing +events to the registered listeners. It maintains a history of events and supports +persistent events that are not cleared during route changes.

+

Extended by

+ +

Constructors

+

new Observable()

+
+

new Observable(): Observable

+
+

Returns

+

Observable

+

Methods

+

clear()

+
+

clear(): Observable

+
+

Defined in: packages/core/src/event/Observable.ts:35

+

Clears all persistent events, observers, and activity history from the observable.

+

This method will remove all stored events, registered observers, and any recorded +activity history, effectively resetting the observable to its initial state.

+

Returns

+

Observable

+

The instance of the Observable for chaining.

+
+

destroy()

+
+

destroy(): Observable

+
+

Defined in: packages/core/src/event/Observable.ts:23

+

Destroys the observable by clearing its internal state and removing all event listeners.

+

Returns

+

Observable

+

The instance of the Observable for chaining.

+
+

init()

+
+

init(): Observable

+
+

Defined in: packages/core/src/event/Observable.ts:14

+

Initializes the observable.

+

Returns

+

Observable

+

The instance of the Observable for chaining.

+
+

registerPersistenEvent()

+
+

registerPersistenEvent<E>(event): this

+
+

Defined in: packages/core/src/event/Observable.ts:45

+

Registers an event as persistent, meaning its history won't be cleared upon calling the clear method (route change).

+

Type Parameters

+

E extends keyof DispatcherEventsMap

+

Parameters

+
event
+

E

+

The name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string.

+

Returns

+

this

+

The instance of the Observable for chaining.

+
+

subscribe()

+
+

subscribe<E>(event, observer, scope?): this

+
+

Defined in: packages/core/src/event/Observable.ts:63

+

Subscribes an observer to a specific event. When the event is dispatched, +the observer will be notified and executed within the provided scope. +If the event has already occurred, the observer will be immediately +invoked with the historical data.

+

Type Parameters

+

E extends keyof DispatcherEventsMap

+

Parameters

+
event
+

E

+

The event to subscribe to.

+
observer
+

DispatcherListener<any>

+

The observer function to be called when the event is +dispatched.

+
scope?
+

unknown

+

The scope in which the observer function should be executed. +This is optional.

+

Returns

+

this

+

The instance of the Observable for chaining.

+
+

unsubscribe()

+
+

unsubscribe<E>(event, observer, scope?): this

+
+

Defined in: packages/core/src/event/Observable.ts:80

+

Unsubscribes an observer from a specific event.

+

Type Parameters

+

E extends keyof DispatcherEventsMap

+

Parameters

+
event
+

E

+

The event name or key from the DispatcherEventsMap.

+
observer
+

DispatcherListener<any>

+

The observer (listener) to be unsubscribed.

+
scope?
+

unknown

+

Optional scope to be used for the observer.

+

Returns

+

this

+

The current instance for chaining.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ObservableImpl/index.html b/api/@ima/core/classes/ObservableImpl/index.html new file mode 100644 index 000000000..680daf6d6 --- /dev/null +++ b/api/@ima/core/classes/ObservableImpl/index.html @@ -0,0 +1,201 @@ + + + + + +Class: ObservableImpl | IMA.js + + + + +
Skip to main content

Class: ObservableImpl

+

Defined in: packages/core/src/event/ObservableImpl.ts:22

+

An Observable is a class that manages event listeners and allows distributing +events to the registered listeners. It maintains a history of events and supports +persistent events that are not cleared during route changes.

+

Remarks

+
    +
  • The Observable class relies on a Dispatcher to handle the actual event distribution.
  • +
  • It maintains a history of events, which can be limited by a maximum history length.
  • +
+

Extends

+ +

Constructors

+

new ObservableImpl()

+
+

new ObservableImpl(dispatcher, settings?): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:40

+

Creates an instance of Observable.

+

Parameters

+
dispatcher
+

Dispatcher

+

The dispatcher responsible for managing event listeners.

+
settings?
+

Optional settings for the Observable instance.

+
maxHistoryLength
+

number

+

Returns

+

ObservableImpl

+

Overrides

+

Observable.constructor

+

Properties

+

_activityHistory

+
+

protected _activityHistory: Map<string, unknown[]>

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:25

+
+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:23

+
+

_observers

+
+

protected _observers: Map<string, Map<DispatcherListener<any>, Set<unknown>>>

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:24

+
+

_persistentEvents

+
+

protected _persistentEvents: Set<string>

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:26

+
+

_settings

+
+

protected _settings: undefined | { maxHistoryLength: number; }

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:27

+
+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:29

+

Methods

+

_handleDispatcherEvent()

+
+

_handleDispatcherEvent(event, data): void

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:148

+

Handles dispatcher events by updating the activity history and notifying observers. +It also resets the activity history for non-persistent events on BEFORE_HANDLE_ROUTE ecvent.

+

Parameters

+
event
+

string

+

The name of the event being dispatched.

+
data
+

any

+

The data associated with the event.

+

Returns

+

void

+
+

clear()

+
+

clear(): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:72

+

Clears all persistent events, observers, and activity history from the observable.

+

This method will remove all stored events, registered observers, and any recorded +activity history, effectively resetting the observable to its initial state.

+

Returns

+

ObservableImpl

+

The instance of the Observable for chaining.

+

Overrides

+

Observable.clear

+
+

destroy()

+
+

destroy(): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:62

+

Destroys the observable by clearing its internal state and removing all event listeners.

+

Returns

+

ObservableImpl

+

The instance of the Observable for chaining.

+

Overrides

+

Observable.destroy

+
+

init()

+
+

init(): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:52

+

Initializes the observable.

+

Returns

+

ObservableImpl

+

The instance of the Observable for chaining.

+

Overrides

+

Observable.init

+
+

registerPersistenEvent()

+
+

registerPersistenEvent(event): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:83

+

Registers an event as persistent, meaning its history won't be cleared upon calling the clear method (route change).

+

Parameters

+
event
+

string

+

The name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string.

+

Returns

+

ObservableImpl

+

The instance of the Observable for chaining.

+

Overrides

+

Observable.registerPersistenEvent

+
+

subscribe()

+
+

subscribe(event, observer, scope?): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:92

+

Subscribes an observer to a specific event. When the event is dispatched, +the observer will be notified and executed within the provided scope. +If the event has already occurred, the observer will be immediately +invoked with the historical data.

+

Parameters

+
event
+

string

+

The event to subscribe to.

+
observer
+

DispatcherListener<any>

+

The observer function to be called when the event is +dispatched.

+
scope?
+

unknown

+

The scope in which the observer function should be executed. +This is optional.

+

Returns

+

ObservableImpl

+

The instance of the Observable for chaining.

+

Overrides

+

Observable.subscribe

+
+

unsubscribe()

+
+

unsubscribe(event, observer, scope?): ObservableImpl

+
+

Defined in: packages/core/src/event/ObservableImpl.ts:119

+

Unsubscribes an observer from a specific event.

+

Parameters

+
event
+

string

+

The event name or key from the DispatcherEventsMap.

+
observer
+

DispatcherListener<any>

+

The observer (listener) to be unsubscribed.

+
scope?
+

unknown

+

Optional scope to be used for the observer.

+

Returns

+

ObservableImpl

+

The current instance for chaining.

+

Overrides

+

Observable.unsubscribe

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageFactory/index.html b/api/@ima/core/classes/PageFactory/index.html new file mode 100644 index 000000000..455c95e5a --- /dev/null +++ b/api/@ima/core/classes/PageFactory/index.html @@ -0,0 +1,93 @@ + + + + + +Class: PageFactory | IMA.js + + + + +
Skip to main content

Class: PageFactory

+

Defined in: packages/core/src/page/PageFactory.ts:15

+

Factory for page.

+

Constructors

+

new PageFactory()

+
+

new PageFactory(oc): PageFactory

+
+

Defined in: packages/core/src/page/PageFactory.ts:24

+

Factory used by page management classes.

+

Parameters

+
oc
+

ObjectContainer

+

Returns

+

PageFactory

+

Properties

+

_oc

+
+

_oc: ObjectContainer

+
+

Defined in: packages/core/src/page/PageFactory.ts:19

+

The current application object container.

+

Methods

+

createController()

+
+

createController(controller, options): Controller

+
+

Defined in: packages/core/src/page/PageFactory.ts:31

+

Create new instance of Controller.

+

Parameters

+
controller
+

RouteController

+
options
+

RouteOptions

+

Returns

+

Controller

+
+

createView()

+
+

createView<V>(view): Constructor<keyof OCAliasMap | Constructor<any>> | V & Function

+
+

Defined in: packages/core/src/page/PageFactory.ts:84

+

Retrieves the specified react component class.

+

Type Parameters

+

V extends keyof OCAliasMap | Constructor<any> | (...args) => any

+

Parameters

+
view
+

V

+

The namespace +referring to a react component class, or a react component class +constructor.

+

Returns

+

Constructor<keyof OCAliasMap | Constructor<any>> | V & Function

+

The react component class +constructor.

+
+

decorateController()

+
+

decorateController(controller): ControllerDecorator

+
+

Defined in: packages/core/src/page/PageFactory.ts:105

+

Returns decorated controller for ease setting seo params in controller.

+

Parameters

+
controller
+

Controller

+

Returns

+

ControllerDecorator

+
+

decoratePageStateManager()

+
+

decoratePageStateManager(pageStateManager, allowedStateKeys): PageStateManagerDecorator

+
+

Defined in: packages/core/src/page/PageFactory.ts:124

+

Returns decorated page state manager for extension.

+

Parameters

+
pageStateManager
+

PageStateManager

+
allowedStateKeys
+

string[]

+

Returns

+

PageStateManagerDecorator

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageHandler/index.html b/api/@ima/core/classes/PageHandler/index.html new file mode 100644 index 000000000..27f1fffcd --- /dev/null +++ b/api/@ima/core/classes/PageHandler/index.html @@ -0,0 +1,89 @@ + + + + + +Class: abstract PageHandler | IMA.js + + + + +
Skip to main content

Class: abstract PageHandler

+

Defined in: packages/core/src/page/handler/PageHandler.ts:3

+

Extended by

+ +

Constructors

+

new PageHandler()

+
+

new PageHandler(): PageHandler

+
+

Returns

+

PageHandler

+

Methods

+

destroy()

+
+

destroy(): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:50

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

void

+
+

handlePostManagedState()

+
+

handlePostManagedState(managedPage, previousManagedPage, action): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:38

+

Called after a PageManager finishes transition from previous page to +a new one.

+

Parameters

+
managedPage
+

The currently managed page.

+

null | ManagedPage

+
previousManagedPage
+

ManagedPage

+

The data of the page that was +previously managed.

+
action
+

PageAction

+

An action object describing what triggered the routing.

+

Returns

+

void

+
+

handlePreManagedState()

+
+

handlePreManagedState(managedPage, nextManagedPage, action): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:21

+

Called before a PageManager starts to transition from previous page to +a new one.

+

Parameters

+
managedPage
+

The currently managed page - soon-to-be +previously managed page.

+

null | ManagedPage

+
nextManagedPage
+

ManagedPage

+

The data of the page that's about to +be managed.

+
action
+

PageAction

+

An action object describing what triggered the routing.

+

Returns

+

void

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:7

+

Initializes the page handler.

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageHandlerRegistry/index.html b/api/@ima/core/classes/PageHandlerRegistry/index.html new file mode 100644 index 000000000..5d822bfbd --- /dev/null +++ b/api/@ima/core/classes/PageHandlerRegistry/index.html @@ -0,0 +1,118 @@ + + + + + +Class: PageHandlerRegistry | IMA.js + + + + +
Skip to main content

Class: PageHandlerRegistry

+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:7

+

Extends

+ +

Constructors

+

new PageHandlerRegistry()

+
+

new PageHandlerRegistry(...pageHandlers): PageHandlerRegistry

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:19

+

Creates an instance of HandlerRegistry and creates SerialBatch +instance for pre-handlers and post-handlers.

+

Parameters

+
pageHandlers
+

...PageHandler[]

+

Returns

+

PageHandlerRegistry

+

Memberof

+

HandlerRegistry

+

Overrides

+

PageHandler.constructor

+

Properties

+

_pageHandlers

+
+

protected _pageHandlers: PageHandler[]

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:8

+
+

_postManageHandlers?

+
+

protected optional _postManageHandlers: Execution

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:10

+
+

_preManageHandlers?

+
+

protected optional _preManageHandlers: Execution

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:9

+
+

ExecutionMethod

+
+

static ExecutionMethod: typeof SerialBatch = SerialBatch

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:12

+

Methods

+

destroy()

+
+

destroy(): void

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:87

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

void

+

Overrides

+

PageHandler.destroy

+
+

handlePostManagedState()

+
+

handlePostManagedState(managedPage, previousManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:72

+

Executes the post-manage handlers with given arguments

+

Parameters

+
managedPage
+

null | ManagedPage

+
previousManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+

Overrides

+

PageHandler.handlePostManagedState

+
+

handlePreManagedState()

+
+

handlePreManagedState(managedPage, nextManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:53

+

Executes the pre-manage handlers with given arguments

+

Parameters

+
managedPage
+

null | ManagedPage

+
nextManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+

Overrides

+

PageHandler.handlePreManagedState

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/handler/PageHandlerRegistry.ts:28

+

Initializes the page handler.

+

Returns

+

void

+

Overrides

+

PageHandler.init

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageManager/index.html b/api/@ima/core/classes/PageManager/index.html new file mode 100644 index 000000000..3e5726a94 --- /dev/null +++ b/api/@ima/core/classes/PageManager/index.html @@ -0,0 +1,87 @@ + + + + + +Class: abstract PageManager | IMA.js + + + + +
Skip to main content

Class: abstract PageManager

+

Defined in: packages/core/src/page/manager/PageManager.ts:16

+

The page manager is a utility for managing the current controller and its +view.

+

Extended by

+ +

Constructors

+

new PageManager()

+
+

new PageManager(): PageManager

+
+

Returns

+

PageManager

+

Methods

+

destroy()

+
+

destroy(): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/PageManager.ts:68

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

Promise<unknown>

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/manager/PageManager.ts:20

+

Initializes the page manager.

+

Returns

+

void

+
+

manage()

+
+

manage(args): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/PageManager.ts:53

+

Starts to manage the provided controller and its view. The manager +stops the management of any previously managed controller and view.

+

The controller and view will be initialized and rendered either into the +UI (at the client-side) or to the response to send to the client (at the +server-side).

+

Parameters

+
args
+

ManageArgs

+

Returns

+

Promise<unknown>

+

A promise that will resolve to information about the rendered page. +The status will contain the HTTP status code to send to the +client (at the server side) or determine the type of error page +to navigate to (at the client side).

+
+

postManage()

+
+

postManage(): void

+
+

Defined in: packages/core/src/page/manager/PageManager.ts:60

+

Called by router after currently managed route is resolved.

+

Returns

+

void

+
+

preManage()

+
+

preManage(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/PageManager.ts:30

+

Pre manage handler, should be called and awaited before tryint to handle +new route handler. This pre manage takes care of canceling any currently +executed route handlers and returns promise which is resolved when previous +page finished loading (even if it got canceled).

+

Returns

+

Promise<void>

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageMetaHandler/index.html b/api/@ima/core/classes/PageMetaHandler/index.html new file mode 100644 index 000000000..d9a0d6abf --- /dev/null +++ b/api/@ima/core/classes/PageMetaHandler/index.html @@ -0,0 +1,89 @@ + + + + + +Class: PageMetaHandler | IMA.js + + + + +
Skip to main content

Class: PageMetaHandler

+

Defined in: packages/core/src/page/handler/PageMetaHandler.ts:12

+

Extends

+ +

Constructors

+

new PageMetaHandler()

+
+

new PageMetaHandler(window, metaManager): PageMetaHandler

+
+

Defined in: packages/core/src/page/handler/PageMetaHandler.ts:21

+

Parameters

+
window
+

Window

+
metaManager
+

MetaManager

+

Returns

+

PageMetaHandler

+

Overrides

+

PageHandler.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): (typeof Window | typeof MetaManager)[]

+
+

Defined in: packages/core/src/page/handler/PageMetaHandler.ts:17

+
Returns
+

(typeof Window | typeof MetaManager)[]

+

Methods

+

destroy()

+
+

destroy(): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:50

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

void

+

Inherited from

+

PageHandler.destroy

+
+

handlePostManagedState()

+
+

handlePostManagedState(): void

+
+

Defined in: packages/core/src/page/handler/PageMetaHandler.ts:38

+

Called after a PageManager finishes transition from previous page to +a new one.

+

Returns

+

void

+

Overrides

+

PageHandler.handlePostManagedState

+
+

handlePreManagedState()

+
+

handlePreManagedState(): void

+
+

Defined in: packages/core/src/page/handler/PageMetaHandler.ts:31

+

Called before a PageManager starts to transition from previous page to +a new one.

+

Returns

+

void

+

Overrides

+

PageHandler.handlePreManagedState

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:7

+

Initializes the page handler.

+

Returns

+

void

+

Inherited from

+

PageHandler.init

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageNavigationHandler/index.html b/api/@ima/core/classes/PageNavigationHandler/index.html new file mode 100644 index 000000000..09d17d975 --- /dev/null +++ b/api/@ima/core/classes/PageNavigationHandler/index.html @@ -0,0 +1,161 @@ + + + + + +Class: PageNavigationHandler | IMA.js + + + + +
Skip to main content

Class: PageNavigationHandler

+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:7

+

Extends

+ +

Constructors

+

new PageNavigationHandler()

+
+

new PageNavigationHandler(window): PageNavigationHandler

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:18

+

Parameters

+
window
+

Window

+

The utility for manipulating the global context +and global client-side-specific APIs.

+

Returns

+

PageNavigationHandler

+

Overrides

+

PageHandler.constructor

+

Properties

+

_window

+
+

protected _window: Window

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:8

+
+

$dependencies

+
+

static $dependencies: Dependencies

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:12

+

Methods

+

_saveScrollHistory()

+
+

_saveScrollHistory(): void

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:104

+

Save user's scroll state to history.

+

Replace scroll values in current state for actual scroll values in +document.

+

Returns

+

void

+
+

_scrollTo()

+
+

_scrollTo(__namedParameters): void

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:121

+

Scrolls to give coordinates on a page.

+

Parameters

+
__namedParameters
+
x
+

number = 0

+
y
+

number = 0

+

Returns

+

void

+
+

_setAddressBar()

+
+

_setAddressBar(url, isRedirection): void

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:138

+

Sets the provided URL to the browser's address bar by pushing or replacing a new +state to the history.

+

The state object pushed to or replaced in the history will be an object with the +following structure: {url: string}. The url field will +be set to the provided URL.

+

Parameters

+
url
+

string

+

The URL.

+
isRedirection
+

boolean

+

If replaceState should be used instead of pushState.

+

Returns

+

void

+
+

destroy()

+
+

destroy(): void

+
+

Defined in: packages/core/src/page/handler/PageHandler.ts:50

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

void

+

Inherited from

+

PageHandler.destroy

+
+

handlePostManagedState()

+
+

handlePostManagedState(managedPage, previousManagedPage, action): void

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:84

+

Called after a PageManager finishes transition from previous page to +a new one.

+

Parameters

+
managedPage
+

ManagedPage

+

The currently managed page.

+
previousManagedPage
+

ManagedPage

+

The data of the page that was +previously managed.

+
action
+

PageAction

+

An action object describing what triggered the routing.

+

Returns

+

void

+

Overrides

+

PageHandler.handlePostManagedState

+
+

handlePreManagedState()

+
+

handlePreManagedState(managedPage, nextManagedPage, action): void

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:43

+

Called before a PageManager starts to transition from previous page to +a new one.

+

Parameters

+
managedPage
+

ManagedPage

+

The currently managed page - soon-to-be +previously managed page.

+
nextManagedPage
+

ManagedPage

+

The data of the page that's about to +be managed.

+
action
+

PageAction

+

An action object describing what triggered the routing.

+

Returns

+

void

+

Overrides

+

PageHandler.handlePreManagedState

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/handler/PageNavigationHandler.ts:31

+

Initializes the page handler.

+

Returns

+

void

+

Overrides

+

PageHandler.init

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageRenderer/index.html b/api/@ima/core/classes/PageRenderer/index.html new file mode 100644 index 000000000..e63734901 --- /dev/null +++ b/api/@ima/core/classes/PageRenderer/index.html @@ -0,0 +1,123 @@ + + + + + +Class: abstract PageRenderer | IMA.js + + + + +
Skip to main content

Class: abstract PageRenderer

+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:32

+

The page renderer is a utility for rendering the page at either the +client-side or the server-side, handling the differences in the environment.

+

Constructors

+

new PageRenderer()

+
+

new PageRenderer(): PageRenderer

+
+

Returns

+

PageRenderer

+

Methods

+

mount()

+
+

mount(controller, view, pageResources, routeOptions): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:62

+

Renders the page using the provided controller and view. The actual +behavior of this method differs at the client-side and the at +server-side in the following way:

+

At the server, the method first waits for all the resources to load, and +then renders the page to a string containing HTML markup to send to the +client.

+

At the client, the method uses the already available resources to render +the page into DOM, re-using the DOM created from the HTML markup send by +the server if possible. After this the method will re-render the page +every time another resource being loaded finishes its loading and +becomes available.

+

Note that the method renders the page at the client-side only after all +resources have been loaded if this is the first time this method is +invoked at the client.

+

Parameters

+
controller
+

Controller

+

The current page controller.

+
view
+

unknown

+

The page's view.

+
pageResources
+

UnknownPromiseParameters

+

The resources for +the view loaded by the controller.

+
routeOptions
+

RouteOptions

+

The current route options.

+

Returns

+

Promise<void | PageData>

+

A promise that will resolve to information about the +rendered page. The status will contain the HTTP status +code to send to the client (at the server side) or determine the +type of error page to navigate to (at the client side).

+
+

setState()

+
+

setState(state): Promise<void>

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:119

+

Sets the provided state to the currently rendered view.

+

This method has no effect at the server-side.

+

Parameters

+
state
+

UnknownParameters

+

The state to set to the currently +rendered view.

+

Returns

+

Promise<void>

+
+

unmount()

+
+

unmount(): void

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:107

+

Unmounts the view from the DOM.

+

This method has no effect at the server-side.

+

Returns

+

void

+
+

update()

+
+

update(controller, view, resourcesUpdate, routeOptions): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:93

+

Handles update of the current route that does not replace the current +controller and view.

+

The method will use the already available resource to update the +controller's state and the view immediately. After that, the method will +update the controller's state and view with every resource that becomes +resolved.

+

Parameters

+
controller
+

Controller

+

The current page controller.

+
view
+

unknown

+

The page's view.

+
resourcesUpdate
+

UnknownPromiseParameters

+

The resources +that represent the update the of current state according to the +current route and its parameters.

+
routeOptions
+

RouteOptions

+

The current route options.

+

Returns

+

Promise<void | PageData>

+

A promise that will resolve to information about the +rendered page. The status will contain the HTTP status +code to send to the client (at the server side) or determine the +type of error page to navigate to (at the client side). +The content field will contain the rendered markup of +the page at the server-side, or null at the client-side.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageStateManager/index.html b/api/@ima/core/classes/PageStateManager/index.html new file mode 100644 index 000000000..ce2fef765 --- /dev/null +++ b/api/@ima/core/classes/PageStateManager/index.html @@ -0,0 +1,128 @@ + + + + + +Class: abstract PageStateManager\<S\> | IMA.js + + + + +
Skip to main content

Class: abstract PageStateManager<S>

+

Defined in: packages/core/src/page/state/PageStateManager.ts:6

+

Manager of the current page state and state history.

+

Extended by

+ +

Type Parameters

+

S extends PageState = {}

+

Constructors

+

new PageStateManager()

+
+

new PageStateManager<S>(): PageStateManager<S>

+
+

Returns

+

PageStateManager<S>

+

Properties

+

onChange()?

+
+

optional onChange: (newState) => void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:7

+

Parameters

+
newState
+

S

+

Returns

+

void

+

Methods

+

beginTransaction()

+
+

beginTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:64

+

Starts queueing state patches off the main state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+
+

cancelTransaction()

+
+

cancelTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:79

+

Cancels ongoing transaction. Uncommitted state changes are lost.

+

Returns

+

void

+
+

clear()

+
+

clear(): void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:12

+

Clears the state history.

+

Returns

+

void

+
+

commitTransaction()

+
+

commitTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:72

+

Applies queued state patches to the main state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+
+

getAllStates()

+
+

getAllStates(): S[]

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:44

+

Returns the recorded history of page states. The states will be +chronologically sorted from the oldest to the newest.

+

Note that the implementation may limit the size of the recorded history, +therefore the complete history may not be available.

+

Returns

+

S[]

+

The recorded history of page states.

+
+

getState()

+
+

getState(): S

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:31

+

Returns the current page state.

+

Returns

+

S

+

The current page state.

+
+

getTransactionStatePatches()

+
+

getTransactionStatePatches(): (null | S | Pick<S, any>)[]

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:53

+

Returns queueing state patches off the main state from the begin of transaction.

+

Returns

+

(null | S | Pick<S, any>)[]

+

State patches from the begin of transaction.

+
+

setState()

+
+

setState<K>(patchState): void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:22

+

Sets a new page state by applying the provided patch to the current +state.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
patchState
+

null | S | Pick<S, K>

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageStateManagerDecorator/index.html b/api/@ima/core/classes/PageStateManagerDecorator/index.html new file mode 100644 index 000000000..4ef3d8824 --- /dev/null +++ b/api/@ima/core/classes/PageStateManagerDecorator/index.html @@ -0,0 +1,150 @@ + + + + + +Class: PageStateManagerDecorator | IMA.js + + + + +
Skip to main content

Class: PageStateManagerDecorator

+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:9

+

Decorator for page state manager, which add logic for limiting Extension +competence.

+

Extends

+ +

Constructors

+

new PageStateManagerDecorator()

+
+

new PageStateManagerDecorator(pageStateManager, allowedStateKeys): PageStateManagerDecorator

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:25

+

Initializes the page state manager decorator.

+

Parameters

+
pageStateManager
+

PageStateManager

+
allowedStateKeys
+

string[]

+

Returns

+

PageStateManagerDecorator

+

Overrides

+

PageStateManager.constructor

+

Properties

+

onChange()?

+
+

optional onChange: (newState) => void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:7

+

Parameters

+
newState
+

Returns

+

void

+

Inherited from

+

PageStateManager.onChange

+

Methods

+

beginTransaction()

+
+

beginTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:89

+

Starts queueing state patches off the main state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+

Overrides

+

PageStateManager.beginTransaction

+
+

cancelTransaction()

+
+

cancelTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:103

+

Cancels ongoing transaction. Uncommitted state changes are lost.

+

Returns

+

void

+

Overrides

+

PageStateManager.cancelTransaction

+
+

clear()

+
+

clear(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:39

+

Clears the state history.

+

Returns

+

void

+

Overrides

+

PageStateManager.clear

+
+

commitTransaction()

+
+

commitTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:96

+

Applies queued state patches to the main state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+

Overrides

+

PageStateManager.commitTransaction

+
+

getAllStates()

+
+

getAllStates(): object[]

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:75

+

Returns the recorded history of page states. The states will be +chronologically sorted from the oldest to the newest.

+

Note that the implementation may limit the size of the recorded history, +therefore the complete history may not be available.

+

Returns

+

object[]

+

The recorded history of page states.

+

Overrides

+

PageStateManager.getAllStates

+
+

getState()

+
+

getState(): object

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:68

+

Returns the current page state.

+

Returns

+

object

+

The current page state.

+

Overrides

+

PageStateManager.getState

+
+

getTransactionStatePatches()

+
+

getTransactionStatePatches(): (null | {} | Pick<{}, any>)[]

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:82

+

Returns queueing state patches off the main state from the begin of transaction.

+

Returns

+

(null | {} | Pick<{}, any>)[]

+

State patches from the begin of transaction.

+

Overrides

+

PageStateManager.getTransactionStatePatches

+
+

setState()

+
+

setState(statePatch): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerDecorator.ts:46

+

Sets a new page state by applying the provided patch to the current +state.

+

Parameters

+
statePatch
+

UnknownParameters

+

Returns

+

void

+

Overrides

+

PageStateManager.setState

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PageStateManagerImpl/index.html b/api/@ima/core/classes/PageStateManagerImpl/index.html new file mode 100644 index 000000000..aa45958fb --- /dev/null +++ b/api/@ima/core/classes/PageStateManagerImpl/index.html @@ -0,0 +1,196 @@ + + + + + +Class: PageStateManagerImpl\<S\> | IMA.js + + + + +
Skip to main content

Class: PageStateManagerImpl<S>

+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:22

+

The implementation of the PageStateManager interface.

+

Extends

+ +

Type Parameters

+

S extends PageState = {}

+

Constructors

+

new PageStateManagerImpl()

+
+

new PageStateManagerImpl<S>(dispatcher): PageStateManagerImpl<S>

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:40

+

Initializes the page state manager.

+

Parameters

+
dispatcher
+

Dispatcher

+

Dispatcher fires events to app.

+

Returns

+

PageStateManagerImpl<S>

+

Overrides

+

PageStateManager.constructor

+

Properties

+

onChange()?

+
+

optional onChange: (newState) => void

+
+

Defined in: packages/core/src/page/state/PageStateManager.ts:7

+

Parameters

+
newState
+

S

+

Returns

+

void

+

Inherited from

+

PageStateManager.onChange

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): typeof Dispatcher[]

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:31

+
Returns
+

typeof Dispatcher[]

+

Methods

+

_callOnChangeCallback()

+
+

_callOnChangeCallback(newState): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:175

+

Call registered callback function on (@link onChange) with newState.

+

Parameters

+
newState
+

S

+

Returns

+

void

+
+

_eraseExcessHistory()

+
+

_eraseExcessHistory(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:157

+

Erase the oldest state from storage only if it exceed max +defined size of history.

+

Returns

+

void

+
+

_pushToHistory()

+
+

_pushToHistory(newState): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:167

+

Push new state to history storage.

+

Parameters

+
newState
+

S

+

Returns

+

void

+
+

beginTransaction()

+
+

beginTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:106

+

Starts queueing state patches off the main state. While the transaction +is active every setState call has no effect on the current state.

+

Note that call to getState after the transaction has begun will +return state as it was before the transaction.

+

Returns

+

void

+

Overrides

+

PageStateManager.beginTransaction

+
+

cancelTransaction()

+
+

cancelTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:148

+

Cancels ongoing transaction. Uncommitted state changes are lost.

+

Returns

+

void

+

Overrides

+

PageStateManager.cancelTransaction

+
+

clear()

+
+

clear(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:49

+

Clears the state history.

+

Returns

+

void

+

Overrides

+

PageStateManager.clear

+
+

commitTransaction()

+
+

commitTransaction(): void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:123

+

Applies queued state patches to the main state. All patches are squashed +and applied with one setState call.

+

Returns

+

void

+

Overrides

+

PageStateManager.commitTransaction

+
+

getAllStates()

+
+

getAllStates(): S[]

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:92

+

Returns the recorded history of page states. The states will be +chronologically sorted from the oldest to the newest.

+

Note that the implementation may limit the size of the recorded history, +therefore the complete history may not be available.

+

Returns

+

S[]

+

The recorded history of page states.

+

Overrides

+

PageStateManager.getAllStates

+
+

getState()

+
+

getState(): S

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:85

+

Returns the current page state.

+

Returns

+

S

+

The current page state.

+

Overrides

+

PageStateManager.getState

+
+

getTransactionStatePatches()

+
+

getTransactionStatePatches(): (null | S | Pick<S, any>)[]

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:99

+

Returns queueing state patches off the main state from the begin of transaction.

+

Returns

+

(null | S | Pick<S, any>)[]

+

State patches from the begin of transaction.

+

Overrides

+

PageStateManager.getTransactionStatePatches

+
+

setState()

+
+

setState<K>(patchState): number | void

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:59

+

Sets a new page state by applying the provided patch to the current +state.

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
patchState
+

null | S | Pick<S, K>

+

Returns

+

number | void

+

Overrides

+

PageStateManager.setState

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/PluginLoader/index.html b/api/@ima/core/classes/PluginLoader/index.html new file mode 100644 index 000000000..0d72685f0 --- /dev/null +++ b/api/@ima/core/classes/PluginLoader/index.html @@ -0,0 +1,71 @@ + + + + + +Class: PluginLoader | IMA.js + + + + +
Skip to main content

Class: PluginLoader

+

Defined in: packages/core/src/pluginLoader.ts:9

+

Plugin loader utility used to register external IMA.js plugins. This +adds ability for external packages to automatically hook into several +IMA.js application parts and automatically bootstrap certain settings.

+

Properties

+

_bootstrap?

+
+

protected optional _bootstrap: Bootstrap

+
+

Defined in: packages/core/src/pluginLoader.ts:14

+
+

_plugins

+
+

protected _plugins: Record<string, { name: string; plugin: InitPluginConfig; }>

+
+

Defined in: packages/core/src/pluginLoader.ts:10

+

Methods

+

getPlugins()

+
+

getPlugins(): object[]

+
+

Defined in: packages/core/src/pluginLoader.ts:88

+

Returns array of registered IMA.js plugins.

+

Returns

+

object[]

+

Array of IMA.js plugins.

+
+

init()

+
+

init(bootstrap): void

+
+

Defined in: packages/core/src/pluginLoader.ts:36

+

Initializes the plugin loader with bootstrap instance. Which is later used +to handle dynamically loaded IMA.js plugins.

+

Parameters

+
bootstrap
+

Bootstrap

+

App bootstrap instance.

+

Returns

+

void

+
+

register()

+
+

register(name, registerFn): void

+
+

Defined in: packages/core/src/pluginLoader.ts:57

+

Registers plugin into IMA.js bootstrap sequence.

+

Parameters

+
name
+

string

+

Plugin name.

+
registerFn
+

(ns) => void | InitPluginConfig

+

Plugin initialization function.

+

Returns

+

void

+

Example

+
pluginLoader.register('@ima/plugin-logger', ns => {
ns.set('ima.plugin.logger', logger);

return {
initSettings,
initServices,
initBind,
};
});
+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Request/index.html b/api/@ima/core/classes/Request/index.html new file mode 100644 index 000000000..3fa4b11c4 --- /dev/null +++ b/api/@ima/core/classes/Request/index.html @@ -0,0 +1,140 @@ + + + + + +Class: Request | IMA.js + + + + +
Skip to main content

Class: Request

+

Defined in: packages/core/src/router/Request.ts:9

+

Wrapper for the ExpressJS request, exposing only the necessary minimum.

+

Constructors

+

new Request()

+
+

new Request(): Request

+
+

Returns

+

Request

+

Properties

+

_request?

+
+

protected optional _request: Request

+
+

Defined in: packages/core/src/router/Request.ts:14

+

The current ExpressJS request object, or null if running at +the client side.

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/router/Request.ts:16

+
Returns
+

never[]

+

Methods

+

getBody()

+
+

getBody(): any

+
+

Defined in: packages/core/src/router/Request.ts:68

+

Returns body of request.

+

Returns

+

any

+
+

getCookieHeader()

+
+

getCookieHeader(): undefined | string

+
+

Defined in: packages/core/src/router/Request.ts:45

+

Returns the Cookie HTTP header value.

+

Returns

+

undefined | string

+

The value of the Cookie header.

+
+

getFile()

+
+

getFile(): any

+
+

Defined in: packages/core/src/router/Request.ts:52

+

Returns uploaded file to server and meta information.

+

Returns

+

any

+
+

getFiles()

+
+

getFiles(): any

+
+

Defined in: packages/core/src/router/Request.ts:60

+

Returns uploaded files to server with their meta information.

+

Returns

+

any

+
+

getHeader()

+
+

getHeader(header): null | string

+
+

Defined in: packages/core/src/router/Request.ts:75

+

Returns the specified HTTP request header.

+

Parameters

+ +

string

+

Returns

+

null | string

+
+

getIP()

+
+

getIP(): null | string

+
+

Defined in: packages/core/src/router/Request.ts:82

+

Returns the remote IP address of the request.

+

Returns

+

null | string

+
+

getIPs()

+
+

getIPs(): string[]

+
+

Defined in: packages/core/src/router/Request.ts:90

+

Returns array of IP addresses specified in the “X-Forwarded-For” +request header.

+

Returns

+

string[]

+
+

getMethod()

+
+

getMethod(): string

+
+

Defined in: packages/core/src/router/Request.ts:94

+

Returns

+

string

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/router/Request.ts:36

+

Returns the path part of the URL to which the request was made.

+

Returns

+

string

+

The path to which the request was made.

+
+

init()

+
+

init(request): void

+
+

Defined in: packages/core/src/router/Request.ts:27

+

Initializes the request using the provided ExpressJS request object.

+

Parameters

+
request
+

Request

+

The ExpressJS request object +representing the current request. Use null at the client +side.

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Response/index.html b/api/@ima/core/classes/Response/index.html new file mode 100644 index 000000000..bb2a5d7ad --- /dev/null +++ b/api/@ima/core/classes/Response/index.html @@ -0,0 +1,156 @@ + + + + + +Class: Response | IMA.js + + + + +
Skip to main content

Class: Response

+

Defined in: packages/core/src/router/Response.ts:18

+

Wrapper for the ExpressJS response, exposing only the necessary minimum.

+

Constructors

+

new Response()

+
+

new Response(): Response

+
+

Returns

+

Response

+

Properties

+

_cookieTransformFunction

+
+

protected _cookieTransformFunction: CookieTransformFunction

+
+

Defined in: packages/core/src/router/Response.ts:35

+

Transform function for cookie value.

+
+

_internalCookieStorage

+
+

protected _internalCookieStorage: Map<string, { options: CookieOptions; value: string; }>

+
+

Defined in: packages/core/src/router/Response.ts:27

+

Internal cookie storage for Set-Cookie header.

+
+

_internalHeadersStorage

+
+

protected _internalHeadersStorage: UnknownParameters = {}

+
+

Defined in: packages/core/src/router/Response.ts:31

+
+

_response?

+
+

protected optional _response: Response

+
+

Defined in: packages/core/src/router/Response.ts:23

+

The ExpressJS response object, or undefined if running at the +client side.

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/router/Response.ts:40

+
Returns
+

never[]

+

Methods

+

getResponseParams()

+
+

getResponseParams(): object

+
+

Defined in: packages/core/src/router/Response.ts:172

+

Return object which contains response headers and cookie.

+

Returns

+

object

+ +
+

cookie: Map<string, { options: CookieOptions; value: string; }>

+
+
headers
+
+

headers: UnknownParameters

+
+
+

init()

+
+

init(response, cookieTransformFunction): Response

+
+

Defined in: packages/core/src/router/Response.ts:53

+

Initializes this response wrapper with the provided ExpressJS response +object.

+

Parameters

+
response
+

Response

+

The ExpressJS response, or +null if the code is running at the client side.

+
cookieTransformFunction
+

Returns

+

Response

+

This response.

+
+

redirect()

+
+

redirect(url, options): void

+
+

Defined in: packages/core/src/router/Response.ts:80

+

Redirects the client to the specified location, with the specified +redirect HTTP response code.

+

For full list of HTTP response status codes see +http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+

Use this method only at the server side.

+

Parameters

+
url
+

string

+

The URL to which the client should be redirected. +@param[status=302] The HTTP status code to send to the +client.

+
options
+

Partial<RouteOptions> = ...

+

Returns

+

void

+

This response.

+
+

setCookie()

+
+

setCookie(name, value, options): this

+
+

Defined in: packages/core/src/router/Response.ts:117

+

Sets a cookie, which will be sent to the client with the response.

+

Parameters

+
name
+

string

+

The cookie name.

+
value
+

The cookie value, will be +converted to string.

+

string | number | boolean

+
options
+

CookieOptions = {}

+

Cookie attributes. Only the attributes listed in the type +annotation of this field are supported. For documentation and full +list of cookie attributes +see http://tools.ietf.org/html/rfc2965#page-5

+

Returns

+

this

+

This response.

+
+

setHeader()

+
+

setHeader(name, value): Response

+
+

Defined in: packages/core/src/router/Response.ts:153

+

Sets a header, which will be sent to the client with the response.

+

Parameters

+
name
+

string

+

The header name.

+
value
+

unknown

+

The header value, will be

+

Returns

+

Response

+

This response.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/RouteFactory/index.html b/api/@ima/core/classes/RouteFactory/index.html new file mode 100644 index 000000000..fc492f7c3 --- /dev/null +++ b/api/@ima/core/classes/RouteFactory/index.html @@ -0,0 +1,65 @@ + + + + + +Class: RouteFactory | IMA.js + + + + +
Skip to main content

Class: RouteFactory

+

Defined in: packages/core/src/router/RouteFactory.ts:9

+

Utility factory used by router to create routes.

+

Constructors

+

new RouteFactory()

+
+

new RouteFactory(): RouteFactory

+
+

Returns

+

RouteFactory

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/router/RouteFactory.ts:10

+
Returns
+

never[]

+

Methods

+

createRoute()

+
+

createRoute(name, pathExpression, controller, view, options?): DynamicRoute | StaticRoute

+
+

Defined in: packages/core/src/router/RouteFactory.ts:32

+

Create new instance of ima.core.router.AbstractRoute.

+

Parameters

+
name
+

string

+

The unique name of this route, identifying it among +the rest of the routes in the application.

+
pathExpression
+

A path expression +specifying either the URL path part matching this route (must not
+contain a query string) with optionally containing named parameter +placeholders specified as :parameterName. Or object defining +matcher in form of regular expression and toPath and extractParameters +function overrides.

+

string | RoutePathExpression

+
controller
+

AsyncRouteController

+

The full name of Object Container alias +identifying the controller associated with this route.

+
view
+

AsyncRouteView

+

The full name or Object Container alias identifying +the view class associated with this route.

+
options?
+

Partial<RouteFactoryOptions>

+

The route additional options.

+

Returns

+

DynamicRoute | StaticRoute

+

The constructed route.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Router/index.html b/api/@ima/core/classes/Router/index.html new file mode 100644 index 000000000..3b0824dde --- /dev/null +++ b/api/@ima/core/classes/Router/index.html @@ -0,0 +1,450 @@ + + + + + +Class: abstract Router | IMA.js + + + + +
Skip to main content

Class: abstract Router

+

Defined in: packages/core/src/router/Router.ts:67

+

The router manages the application's routing configuration and dispatches +controllers and views according to the current URL and the route it matches.

+

Extended by

+ +

Constructors

+

new Router()

+
+

new Router(): Router

+
+

Returns

+

Router

+

Methods

+

add()

+
+

add(name, pathExpression, controller, view, options?): Router

+
+

Defined in: packages/core/src/router/Router.ts:128

+

Adds a new route to router.

+

Parameters

+
name
+

string

+

The unique name of this route, identifying it among +the rest of the routes in the application.

+
pathExpression
+

string

+

A path expression specifying the URL path +part matching this route (must not contain a query string), +optionally containing named parameter placeholders specified as +:parameterName. The name of the parameter is terminated +by a forward slash (/) or the end of the path expression +string. +The path expression may also contain optional parameters, which +are specified as :?parameterName. It is recommended to +specify the optional parameters at the end of the path +expression.

+
controller
+

AsyncRouteController

+

The full name of Object Container alias +identifying the controller associated with this route.

+
view
+

AsyncRouteView

+

The full name or Object Container alias identifying +the view class associated with this route.

+
options?
+

Partial<RouteOptions>

+

Additional route options, specified how the navigation to the +route will be handled. +The onlyUpdate can be either a flag signalling whether +the current controller and view instances should be kept if they +match the ones used by the previous route; or a callback function +that will receive the previous controller and view identifiers +used in the previously matching route, and returns a +boolean representing the value of the flag. This flag is +disabled by default. +The autoScroll flag signals whether the page should be +scrolled to the top when the navigation takes place. This flag is +enabled by default.

+

Returns

+

Router

+

This router.

+

Throws

+

Thrown if a route with the same name already exists.

+
+

getBaseUrl()

+
+

getBaseUrl(): string

+
+

Defined in: packages/core/src/router/Router.ts:199

+

Returns the application's absolute base URL, pointing to the public root +of the application.

+

Returns

+

string

+

The application's base URL.

+
+

getCurrentRouteInfo()

+
+

getCurrentRouteInfo(): object

+
+

Defined in: packages/core/src/router/Router.ts:237

+

Returns the information about the currently active route.

+

Returns

+

object

+
params
+
+

params: RouteParams

+
+
path
+
+

path: string

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+

Throws

+

Thrown if a route is not define for current path.

+
+

getDomain()

+
+

getDomain(): string

+
+

Defined in: packages/core/src/router/Router.ts:209

+

Returns the application's domain in the following form +${protocol}//${host}.

+

Returns

+

string

+

The current application's domain.

+
+

getHost()

+
+

getHost(): string

+
+

Defined in: packages/core/src/router/Router.ts:218

+

Returns application's host (domain and, if necessary, the port number).

+

Returns

+

string

+

The current application's host.

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/router/Router.ts:180

+

Returns the current path part of the current URL, including the query +string (if any).

+

Returns

+

string

+

The path and query parts of the current URL.

+
+

getProtocol()

+
+

getProtocol(): string

+
+

Defined in: packages/core/src/router/Router.ts:229

+

Returns the current protocol used to access the application, terminated +by a colon (for example https:).

+

Returns

+

string

+

The current application protocol used to access the +application.

+
+

getRouteHandler()

+
+

getRouteHandler(name): undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+
+

Defined in: packages/core/src/router/Router.ts:168

+

Returns specified handler from registered route handlers.

+

Parameters

+
name
+

string

+

The route's unique name.

+

Returns

+

undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+

Route with given name or undefined.

+
+

getUrl()

+
+

getUrl(): string

+
+

Defined in: packages/core/src/router/Router.ts:189

+

Returns the current absolute URL (including protocol, host, query, etc).

+

Returns

+

string

+

The current absolute URL.

+
+

handleError()

+
+

handleError(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/Router.ts:374

+

Handles an internal server error by responding with the appropriate +"internal server error" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved when the error +has been handled and the response has been sent to the client, +or displayed if used at the client side.

+
+

handleNotFound()

+
+

handleNotFound(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/Router.ts:396

+

Handles a "not found" error by responding with the appropriate "not +found" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+
+

init()

+
+

init(config): void

+
+

Defined in: packages/core/src/router/Router.ts:84

+

Initializes the router with the provided configuration.

+

Parameters

+
config
+

Router configuration. +The $Protocol field must be the current protocol used to +access the application, terminated by a colon (for example +https:). +The $Root field must specify the URL path pointing to the +application's root. +The $LanguagePartPath field must be the URL path fragment +used as a suffix to the $Root field that specifies the +current language. +The $Host field must be the application's domain (and the +port number if other than the default is used) in the following +form: ${protocol}//${host}.

+
$Host
+

string

+
$LanguagePartPath
+

string

+
$Protocol
+

string

+
$Root
+

string

+

Returns

+

void

+
+

isClientError()

+
+

isClientError(reason): boolean

+
+

Defined in: packages/core/src/router/Router.ts:413

+

Tests, if possible, whether the specified error was caused by the +client's action (for example wrong URL or request encoding) or by a +failure at the server side.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+
+

isRedirection()

+
+

isRedirection(reason): boolean

+
+

Defined in: packages/core/src/router/Router.ts:424

+

Tests, if possible, whether the specified error lead to redirection.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +redirection.

+
+ +
+

link(routeName, params): string

+
+

Defined in: packages/core/src/router/Router.ts:332

+

Generates an absolute URL (including protocol, domain, etc) for the +specified route by substituting the route's parameter placeholders with +the provided parameter values.

+

Parameters

+
routeName
+

string

+

The unique name of the route, identifying the +route to use.

+
params
+

RouteParams

+

Parameter values for the route's +parameter placeholders. Extraneous parameters will be added as +URL query.

+

Returns

+

string

+

An absolute URL for the specified route and parameters.

+
+

listen()

+
+

listen(): Router

+
+

Defined in: packages/core/src/router/Router.ts:264

+

Registers event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will start processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This +method has no effect at the server side.

+

Returns

+

Router

+

This router.

+
+

redirect()

+
+

redirect(url, options?, action?, locals?): void

+
+

Defined in: packages/core/src/router/Router.ts:311

+

Redirects the client to the specified location.

+

At the server side the method results in responding to the client with a +redirect HTTP status code and the Location header.

+

At the client side the method updates the current URL by manipulating +the browser history (if the target URL is at the same domain and +protocol as the current one) or performs a hard redirect (if the target +URL points to a different protocol or domain).

+

The method will result in the router handling the new URL and routing +the client to the related page if the URL is set at the client side and +points to the same domain and protocol.

+

Parameters

+
url
+

string

+

The URL to which the client should be redirected.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

void

+
+

remove()

+
+

remove(name): Router

+
+

Defined in: packages/core/src/router/Router.ts:158

+

Removes the specified route from the router's known routes.

+

Parameters

+
name
+

string

+

The route's unique name, identifying the route to remove.

+

Returns

+

Router

+

This router.

+
+

route()

+
+

route(path, options?, action?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/Router.ts:351

+

Routes the application to the route matching the providing path, renders +the route page and sends the result to the client.

+

Parameters

+
path
+

string

+

The URL path part received from the client, with +optional query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+
+

unlisten()

+
+

unlisten(): Router

+
+

Defined in: packages/core/src/router/Router.ts:285

+

Unregisters event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will stop processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This method has no effect +at the server side.

+

Returns

+

Router

+

This router.

+
+

use()

+
+

use(middleware): Router

+
+

Defined in: packages/core/src/router/Router.ts:148

+

Adds a new middleware to router.

+

Parameters

+
middleware
+

RouterMiddleware

+

Middleware +function accepting routeParams as a first argument, which can be mutated +and locals object as second argument. This can be used to pass data +between middlewares.

+

Returns

+

Router

+

This router.

+

Throws

+

Thrown if a middleware with the same name already exists.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/SerialBatch/index.html b/api/@ima/core/classes/SerialBatch/index.html new file mode 100644 index 000000000..b7bdb6b91 --- /dev/null +++ b/api/@ima/core/classes/SerialBatch/index.html @@ -0,0 +1,101 @@ + + + + + +Class: SerialBatch | IMA.js + + + + +
Skip to main content

Class: SerialBatch

+

Defined in: packages/core/src/execution/SerialBatch.ts:4

+

Basic implementation of the Execution interface. Provides the basic +functionality for appending and validating jobs.

+

Extends

+ +

Constructors

+

new SerialBatch()

+
+

new SerialBatch(jobs): SerialBatch

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:13

+

Parameters

+
jobs
+

ExecutionJob[] = []

+

Returns

+

SerialBatch

+

Inherited from

+

AbstractExecution.constructor

+

Properties

+

_jobs

+
+

protected _jobs: ExecutionJob[]

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:11

+

Inherited from

+

AbstractExecution._jobs

+

Methods

+

_executeJob()

+
+

_executeJob(stage, args): Promise<unknown>

+
+

Defined in: packages/core/src/execution/SerialBatch.ts:22

+

Parameters

+
stage
+

ExecutionJob

+
args
+

unknown[]

+

Returns

+

Promise<unknown>

+
+

_validateJob()

+
+

_validateJob(job): boolean

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:44

+

Return true if the given job can be executed

+

Parameters

+
job
+

ExecutionJob

+

Returns

+

boolean

+

Inherited from

+

AbstractExecution._validateJob

+
+

append()

+
+

append(jobs): void

+
+

Defined in: packages/core/src/execution/AbstractExecution.ts:22

+

Adds a new job to be executed. The job is appended at the end of the +list of current jobs therefore is executed last.

+

Parameters

+
jobs
+

The jobs to be executed.

+

ExecutionJob | ExecutionJob[]

+

Returns

+

void

+

Inherited from

+

AbstractExecution.append

+
+

execute()

+
+

execute(...args): Promise<unknown>

+
+

Defined in: packages/core/src/execution/SerialBatch.ts:8

+

Start executing collected jobs. In the end a Promise is returned +with a resulting value. On the returned Promise a catch +method can be called to prevent any unwanted interruption.

+

Parameters

+
args
+

...unknown[]

+

Arguments to be passed when executing jobs

+

Returns

+

Promise<unknown>

+

Overrides

+

AbstractExecution.execute

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ServerPageManager/index.html b/api/@ima/core/classes/ServerPageManager/index.html new file mode 100644 index 000000000..2cc6dde9c --- /dev/null +++ b/api/@ima/core/classes/ServerPageManager/index.html @@ -0,0 +1,615 @@ + + + + + +Class: ServerPageManager | IMA.js + + + + +
Skip to main content

Class: ServerPageManager

+

Defined in: packages/core/src/page/manager/ServerPageManager.ts:14

+

Page manager for controller on the server side.

+

Extends

+ +

Constructors

+

new ServerPageManager()

+
+

new ServerPageManager(pageFactory, pageRenderer, pageStateManager, pageHandlerRegistry, dispatcher): ServerPageManager

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:95

+

Initializes the page manager.

+

Parameters

+
pageFactory
+

PageFactory

+

Factory used by the page manager to +create instances of the controller for the current route, and +decorate the controllers and page state managers.

+
pageRenderer
+

PageRenderer

+

The current renderer of the page.

+
pageStateManager
+

PageStateManager

+

The current page state +manager.

+
pageHandlerRegistry
+

PageHandlerRegistry

+

Instance of HandlerRegistry that +holds a list of pre-manage and post-manage handlers.

+
dispatcher
+

Dispatcher

+

Returns

+

ServerPageManager

+

Inherited from

+

AbstractPageManager.constructor

+

Properties

+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:81

+

Inherited from

+

AbstractPageManager._dispatcher

+
+

_managedPage

+
+

protected _managedPage: ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:68

+

Details of the currently managed page.

+

Inherited from

+

AbstractPageManager._managedPage

+
+

_pageFactory

+
+

protected _pageFactory: PageFactory

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:63

+

Factory used by the page manager to create instances of the +controller for the current route, and decorate the controllers and +page state managers.

+

Inherited from

+

AbstractPageManager._pageFactory

+
+

_pageHandlerRegistry

+
+

protected _pageHandlerRegistry: PageHandlerRegistry

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:80

+

A registry that holds a list of pre-manage and post-manage handlers.

+

Inherited from

+

AbstractPageManager._pageHandlerRegistry

+
+

_pageRenderer

+
+

protected _pageRenderer: PageRenderer

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:72

+

The current renderer of the page.

+

Inherited from

+

AbstractPageManager._pageRenderer

+
+

_pageStateManager

+
+

protected _pageStateManager: PageStateManager

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:76

+

The current page state manager.

+

Inherited from

+

AbstractPageManager._pageStateManager

+
+

_previousManagedPage

+
+

protected _previousManagedPage: ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:57

+

Snapshot of the previously managed page before it was replaced with +a new one

+

Inherited from

+

AbstractPageManager._previousManagedPage

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/page/manager/ServerPageManager.ts:15

+
Returns
+

Dependencies

+

Methods

+

_activateController()

+
+

protected _activateController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:549

+

Activate managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._activateController

+
+

_activateExtensions()

+
+

protected _activateExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:563

+

Activate extensions for managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._activateExtensions

+
+

_activatePageSource()

+
+

protected _activatePageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:529

+

Activate page source so call activate method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._activatePageSource

+
+

_clearComponentState()

+
+

_clearComponentState(options): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:753

+

The method clear state on current rendered component to DOM.

+

Parameters

+
options
+

RouteOptions

+

The current route options.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._clearComponentState

+
+

_constructManagedPageValue()

+
+

protected _constructManagedPageValue(controller, view, route, options, params, controllerInstance, decoratedController, viewInstance): ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:245

+

Parameters

+
controller
+

RouteController

+
view
+

unknown

+
route
+

AbstractRoute<string | RoutePathExpression>

+
options
+

RouteOptions

+
params
+

RouteParams

+
controllerInstance
+

Controller<PageState, RouteParams, PageState>

+
decoratedController
+

ControllerDecorator

+
viewInstance
+

unknown

+

Returns

+

ManagedPage

+

Inherited from

+

AbstractPageManager._constructManagedPageValue

+
+

_deactivateController()

+
+

protected _deactivateController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:691

+

Deactivate last managed instance of controller only If controller was +activated.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._deactivateController

+
+

_deactivateExtensions()

+
+

protected _deactivateExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:702

+

Deactivate extensions for last managed instance of controller only if +they were activated.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._deactivateExtensions

+
+

_deactivatePageSource()

+
+

protected _deactivatePageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:677

+

Deactivate page source so call deactivate method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._deactivatePageSource

+
+

_destroyController()

+
+

protected _destroyController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:726

+

Destroy last managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._destroyController

+
+

_destroyExtensions()

+
+

protected _destroyExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:739

+

Destroy extensions for last managed instance of controller.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._destroyExtensions

+
+

_destroyPageSource()

+
+

protected _destroyPageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:714

+

Destroy page source so call destroy method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._destroyPageSource

+
+

_getInitialManagedPage()

+
+

protected _getInitialManagedPage(): ManagedPage

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:302

+

Clear value from managed page.

+

Returns

+

ManagedPage

+

Inherited from

+

AbstractPageManager._getInitialManagedPage

+
+

_getLoadedControllerState()

+
+

protected _getLoadedControllerState(): Promise<{}>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:485

+

Load controller state from managed instance of controller.

+

Returns

+

Promise<{}>

+

Inherited from

+

AbstractPageManager._getLoadedControllerState

+
+

_getLoadedExtensionsState()

+
+

protected _getLoadedExtensionsState(controllerState?): Promise<UnknownParameters>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:501

+

Load extensions state from managed instance of controller.

+

Parameters

+
controllerState?
+

UnknownParameters

+

Returns

+

Promise<UnknownParameters>

+

Inherited from

+

AbstractPageManager._getLoadedExtensionsState

+
+

_getUpdatedControllerState()

+
+

protected _getUpdatedControllerState(): {} | Promise<{}>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:621

+

Return updated controller state for current page controller.

+

Returns

+

{} | Promise<{}>

+

Inherited from

+

AbstractPageManager._getUpdatedControllerState

+
+

_getUpdatedExtensionsState()

+
+

protected _getUpdatedExtensionsState(controllerState?): Promise<UnknownParameters>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:637

+

Return updated extensions state for current page controller.

+

Parameters

+
controllerState?
+

UnknownParameters

+

Returns

+

Promise<UnknownParameters>

+

Inherited from

+

AbstractPageManager._getUpdatedExtensionsState

+
+

_hasOnlyUpdate()

+
+

protected _hasOnlyUpdate(controller, view, options): boolean

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:769

+

Return true if manager has to update last managed controller and view.

+

Parameters

+
controller
+

RouteController

+
view
+

unknown

+
options
+

RouteOptions

+

Returns

+

boolean

+

Inherited from

+

AbstractPageManager._hasOnlyUpdate

+
+

_initController()

+
+

protected _initController(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:398

+

Initializes managed instance of controller with the provided parameters.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._initController

+
+

_initExtensions()

+
+

protected _initExtensions(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:413

+

Initialize extensions for managed instance of controller with the +provided parameters.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._initExtensions

+
+

_initPageSource()

+
+

protected _initPageSource(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:383

+

Initialize page source so call init method on controller and his +extensions.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager._initPageSource

+
+

_loadPageSource()

+
+

protected _loadPageSource(): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:443

+

Load page source so call load method on controller and his extensions. +Merge loaded state and render it.

+

Returns

+

Promise<void | PageData>

+

Inherited from

+

AbstractPageManager._loadPageSource

+
+

_runPostManageHandlers()

+
+

protected _runPostManageHandlers(previousManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:809

+

Parameters

+
previousManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+

Inherited from

+

AbstractPageManager._runPostManageHandlers

+
+

_runPreManageHandlers()

+
+

protected _runPreManageHandlers(actualManagedPage, action): Promise<unknown>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:788

+

Parameters

+
actualManagedPage
+

ManagedPage

+
action
+

PageAction

+

Returns

+

Promise<unknown>

+

Inherited from

+

AbstractPageManager._runPreManageHandlers

+
+

_setRestrictedPageStateManager()

+
+

_setRestrictedPageStateManager(extension, extensionState): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:342

+

Set page state manager to extension which has restricted rights to set +global state.

+

Parameters

+
extension
+

Extension

+
extensionState
+

UnknownParameters

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._setRestrictedPageStateManager

+
+

_storeManagedPageSnapshot()

+
+

protected _storeManagedPageSnapshot(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:281

+

Creates a cloned version of currently managed page and stores it in +a helper property. +Snapshot is used in manager handlers to easily determine differences +between the current and the previous state.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._storeManagedPageSnapshot

+
+

_stripManagedPageValueForPublic()

+
+

protected _stripManagedPageValueForPublic(value): object

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:332

+

Removes properties we do not want to propagate outside of the page manager

+

Parameters

+
value
+

ManagedPage

+

The managed page object to strip down

+

Returns

+

object

+
controller
+
+

controller: RouteController

+
+
options
+
+

options: RouteOptions

+
+
params
+
+

params: RouteParams

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+
view
+
+

view: unknown

+
+

Inherited from

+

AbstractPageManager._stripManagedPageValueForPublic

+
+

_switchToPageStateManager()

+
+

protected _switchToPageStateManager(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:430

+

Iterates over extensions of current controller and switches each one to +pageStateManager and clears their partial state.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._switchToPageStateManager

+
+

_switchToPageStateManagerAfterLoaded()

+
+

_switchToPageStateManagerAfterLoaded(extension, extensionState): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:363

+

For defined extension switches to pageStageManager and clears partial state +after extension state is loaded.

+

Parameters

+
extension
+

Extension

+
extensionState
+

UnknownParameters

+

Returns

+

void

+

Inherited from

+

AbstractPageManager._switchToPageStateManagerAfterLoaded

+
+

_updatePageSource()

+
+

protected _updatePageSource(): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:580

+

Update page source so call update method on controller and his +extensions. Merge updated state and render it.

+

Returns

+

Promise<void | PageData>

+

Inherited from

+

AbstractPageManager._updatePageSource

+
+

destroy()

+
+

destroy(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:232

+

Finalization callback, called when the page manager is being discarded. +This usually happens when the page is hot-reloaded at the client side.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager.destroy

+
+

getViewController()

+
+

protected getViewController(route): Promise<{ controller: RouteController; view: RouteView; }>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:833

+

Parameters

+
route
+

AbstractRoute<string | RoutePathExpression>

+

Returns

+

Promise<{ controller: RouteController; view: RouteView; }>

+

Inherited from

+

AbstractPageManager.getViewController

+
+

init()

+
+

init(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:114

+

Initializes the page manager.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager.init

+
+

manage()

+
+

manage(__namedParameters): Promise<void | PageData>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:133

+

Starts to manage the provided controller and its view. The manager +stops the management of any previously managed controller and view.

+

The controller and view will be initialized and rendered either into the +UI (at the client-side) or to the response to send to the client (at the +server-side).

+

Parameters

+
__namedParameters
+

ManageArgs

+

Returns

+

Promise<void | PageData>

+

A promise that will resolve to information about the rendered page. +The status will contain the HTTP status code to send to the +client (at the server side) or determine the type of error page +to navigate to (at the client side).

+

Inherited from

+

AbstractPageManager.manage

+
+

postManage()

+
+

postManage(): void

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:223

+

Called by router after currently managed route is resolved.

+

Returns

+

void

+

Inherited from

+

AbstractPageManager.postManage

+
+

preManage()

+
+

preManage(): Promise<void>

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:123

+

Pre manage handler, should be called and awaited before tryint to handle +new route handler. This pre manage takes care of canceling any currently +executed route handlers and returns promise which is resolved when previous +page finished loading (even if it got canceled).

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractPageManager.preManage

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ServerRouter/index.html b/api/@ima/core/classes/ServerRouter/index.html new file mode 100644 index 000000000..6ba9c85a1 --- /dev/null +++ b/api/@ima/core/classes/ServerRouter/index.html @@ -0,0 +1,763 @@ + + + + + +Class: ServerRouter | IMA.js + + + + +
Skip to main content

Class: ServerRouter

+

Defined in: packages/core/src/router/ServerRouter.ts:17

+

The server-side implementation of the Router interface.

+

Extends

+ +

Constructors

+

new ServerRouter()

+
+

new ServerRouter(pageManager, factory, dispatcher, request, response, settings): ServerRouter

+
+

Defined in: packages/core/src/router/ServerRouter.ts:42

+

Initializes the router.

+

Parameters

+
pageManager
+

PageManager

+

The current page manager.

+
factory
+

RouteFactory

+

The router factory used to create routes.

+
dispatcher
+

Dispatcher

+

Dispatcher fires events to app.

+
request
+

Request

+

The current HTTP request.

+
response
+

Response

+

The current HTTP response.

+
settings
+

$Router settings.

+

undefined | number | { isSPARouted: (url, action?) => boolean; middlewareTimeout: number; }

+

Returns

+

ServerRouter

+

Overrides

+

AbstractRouter.constructor

+

Properties

+

_currentlyRoutedPath

+
+

protected _currentlyRoutedPath: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:93

+

Inherited from

+

AbstractRouter._currentlyRoutedPath

+
+

_currentMiddlewareId

+
+

protected _currentMiddlewareId: number = 0

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:92

+

Middleware ID counter which is used to auto-generate unique middleware +names when adding them to routeHandlers map.

+

Inherited from

+

AbstractRouter._currentMiddlewareId

+
+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:62

+

Dispatcher fires events to app.

+

Inherited from

+

AbstractRouter._dispatcher

+
+

_factory

+
+

protected _factory: RouteFactory

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:58

+

Factory for routes.

+

Inherited from

+

AbstractRouter._factory

+
+

_host

+
+

protected _host: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:71

+

The application's host.

+

Inherited from

+

AbstractRouter._host

+
+

_isSPARouted

+
+

protected _isSPARouted: undefined | (url, action?) => boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:95

+

Inherited from

+

AbstractRouter._isSPARouted

+
+

_languagePartPath

+
+

protected _languagePartPath: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:80

+

The URL path fragment used as a suffix to the _root field +that specifies the current language.

+

Inherited from

+

AbstractRouter._languagePartPath

+
+

_middlewareTimeout

+
+

protected _middlewareTimeout: number

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:94

+

Inherited from

+

AbstractRouter._middlewareTimeout

+
+

_pageManager

+
+

protected _pageManager: PageManager

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:54

+

The page manager handling UI rendering, and transitions between +pages if at the client side.

+

Inherited from

+

AbstractRouter._pageManager

+
+

_protocol

+
+

protected _protocol: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:67

+

The current protocol used to access the application, terminated by a +colon (for example https:).

+

Inherited from

+

AbstractRouter._protocol

+
+

_root

+
+

protected _root: string = ''

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:75

+

The URL path pointing to the application's root.

+

Inherited from

+

AbstractRouter._root

+
+

_routeHandlers

+
+

protected _routeHandlers: Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:84

+

Storage of all known routes and middlewares. The key are their names.

+

Inherited from

+

AbstractRouter._routeHandlers

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/router/ServerRouter.ts:21

+
Returns
+

Dependencies

+

Methods

+

_extractRoutePath()

+
+

protected _extractRoutePath(path): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:526

+

Strips the URL path part that points to the application's root (base +URL) from the provided path.

+

Parameters

+
path
+

string

+

Relative or absolute URL path.

+

Returns

+

string

+

URL path relative to the application's base URL.

+

Inherited from

+

AbstractRouter._extractRoutePath

+
+

_getCurrentlyRoutedPath()

+
+

_getCurrentlyRoutedPath(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:664

+

Returns path that is stored in private property when a route +method is called.

+

Returns

+

string

+

Inherited from

+

AbstractRouter._getCurrentlyRoutedPath

+
+

_getMiddlewaresForRoute()

+
+

_getMiddlewaresForRoute(routeName): RouterMiddleware[]

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:642

+

Returns middlewares preceding given route name.

+

Parameters

+
routeName
+

string

+

Returns

+

RouterMiddleware[]

+

Inherited from

+

AbstractRouter._getMiddlewaresForRoute

+
+

_handle()

+
+

_handle(route, params, options?, action?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:549

+

Handles the provided route and parameters by initializing the route's +controller and rendering its state via the route's view.

+

The result is then sent to the client if used at the server side, or +displayed if used as the client side.

+

Parameters

+
route
+

AbstractRoute<string | RoutePathExpression>

+

The route that should have its +associated controller rendered via the associated view.

+
params
+

RouteParams

+

Parameters extracted from +the URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in the +routes.js configuration file.

+
action?
+

RouteAction

+

An action +object describing what triggered this routing.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise that resolves when the +page is rendered and the result is sent to the client, or +displayed if used at the client side.

+

Inherited from

+

AbstractRouter._handle

+
+

_runMiddlewares()

+
+

_runMiddlewares(middlewares, params, locals): Promise<void>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:677

+

Runs provided middlewares in sequence.

+

Parameters

+
middlewares
+

Array of middlewares.

+

undefined | RouterMiddleware[]

+
params
+

RouteParams

+

Router params that can be +mutated by middlewares.

+
locals
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void>

+

Inherited from

+

AbstractRouter._runMiddlewares

+
+

add()

+
+

add(name, pathExpression, controller, view, options?): ServerRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:167

+

Adds a new route to router.

+

Parameters

+
name
+

string

+

The unique name of this route, identifying it among +the rest of the routes in the application.

+
pathExpression
+

string

+

A path expression specifying the URL path +part matching this route (must not contain a query string), +optionally containing named parameter placeholders specified as +:parameterName. The name of the parameter is terminated +by a forward slash (/) or the end of the path expression +string. +The path expression may also contain optional parameters, which +are specified as :?parameterName. It is recommended to +specify the optional parameters at the end of the path +expression.

+
controller
+

AsyncRouteController

+

The full name of Object Container alias +identifying the controller associated with this route.

+
view
+

AsyncRouteView

+

The full name or Object Container alias identifying +the view class associated with this route.

+
options?
+

Partial<RouteOptions>

+

Additional route options, specified how the navigation to the +route will be handled. +The onlyUpdate can be either a flag signalling whether +the current controller and view instances should be kept if they +match the ones used by the previous route; or a callback function +that will receive the previous controller and view identifiers +used in the previously matching route, and returns a +boolean representing the value of the flag. This flag is +disabled by default. +The autoScroll flag signals whether the page should be +scrolled to the top when the navigation takes place. This flag is +enabled by default.

+

Returns

+

ServerRouter

+

This router.

+

Throws

+

Thrown if a route with the same name already exists.

+

Inherited from

+

AbstractRouter.add

+
+

getBaseUrl()

+
+

getBaseUrl(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:243

+

Returns the application's absolute base URL, pointing to the public root +of the application.

+

Returns

+

string

+

The application's base URL.

+

Inherited from

+

AbstractRouter.getBaseUrl

+
+

getCurrentRouteInfo()

+
+

getCurrentRouteInfo(): object

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:271

+

Returns the information about the currently active route.

+

Returns

+

object

+
params
+
+

params: RouteParams<{}>

+
+
path
+
+

path: string

+
+
route
+
+

route: AbstractRoute<string | RoutePathExpression>

+
+

Throws

+

Thrown if a route is not define for current path.

+

Inherited from

+

AbstractRouter.getCurrentRouteInfo

+
+

getDomain()

+
+

getDomain(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:250

+

Returns the application's domain in the following form +${protocol}//${host}.

+

Returns

+

string

+

The current application's domain.

+

Inherited from

+

AbstractRouter.getDomain

+
+

getHost()

+
+

getHost(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:257

+

Returns application's host (domain and, if necessary, the port number).

+

Returns

+

string

+

The current application's host.

+

Inherited from

+

AbstractRouter.getHost

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/router/ServerRouter.ts:59

+

Returns the current path part of the current URL, including the query +string (if any).

+

Returns

+

string

+

The path and query parts of the current URL.

+

Overrides

+

AbstractRouter.getPath

+
+

getProtocol()

+
+

getProtocol(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:264

+

Returns the current protocol used to access the application, terminated +by a colon (for example https:).

+

Returns

+

string

+

The current application protocol used to access the +application.

+

Inherited from

+

AbstractRouter.getProtocol

+
+

getRouteHandler()

+
+

getRouteHandler(name): undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:220

+

Returns specified handler from registered route handlers.

+

Parameters

+
name
+

string

+

The route's unique name.

+

Returns

+

undefined | AbstractRoute<string | RoutePathExpression> | RouterMiddleware

+

Route with given name or undefined.

+

Inherited from

+

AbstractRouter.getRouteHandler

+
+

getRouteHandlers()

+
+

getRouteHandlers(): Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:297

+

Returns

+

Map<string, AbstractRoute<string | RoutePathExpression> | RouterMiddleware>

+

Inherit Doc

+

Inherited from

+

AbstractRouter.getRouteHandlers

+
+

getRouteHandlersByPath()

+
+

getRouteHandlersByPath(path): object

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:615

+

Returns the route matching the provided URL path part (the path may +contain a query) and all middlewares preceding this route definition.

+

Parameters

+
path
+

string

+

The URL path.

+

Returns

+

object

+

The route +matching the path and middlewares preceding it or {} +(empty object) if no such route exists.

+
middlewares
+
+

middlewares: RouterMiddleware[]

+
+
route?
+
+

optional route: AbstractRoute<string | RoutePathExpression>

+
+

Inherited from

+

AbstractRouter.getRouteHandlersByPath

+
+

getUrl()

+
+

getUrl(): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:236

+

Returns the current absolute URL (including protocol, host, query, etc).

+

Returns

+

string

+

The current absolute URL.

+

Inherited from

+

AbstractRouter.getUrl

+
+

handleError()

+
+

handleError(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:402

+

Handles an internal server error by responding with the appropriate +"internal server error" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved when the error +has been handled and the response has been sent to the client, +or displayed if used at the client side.

+

Inherited from

+

AbstractRouter.handleError

+
+

handleNotFound()

+
+

handleNotFound(params, options?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:454

+

Handles a "not found" error by responding with the appropriate "not +found" error page.

+

Parameters

+
params
+

RouteParams

+

Parameters extracted from +the current URL path and query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+

Inherited from

+

AbstractRouter.handleNotFound

+
+

init()

+
+

init(config): void

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:151

+

Initializes the router with the provided configuration.

+

Parameters

+
config
+

Router configuration. +The $Protocol field must be the current protocol used to +access the application, terminated by a colon (for example +https:). +The $Root field must specify the URL path pointing to the +application's root. +The $LanguagePartPath field must be the URL path fragment +used as a suffix to the $Root field that specifies the +current language. +The $Host field must be the application's domain (and the +port number if other than the default is used) in the following +form: ${protocol}//${host}.

+
$Host
+

string

+
$LanguagePartPath
+

string

+
$Protocol
+

string

+
$Root
+

string

+

Returns

+

void

+

Inherited from

+

AbstractRouter.init

+
+

isClientError()

+
+

isClientError(reason): boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:507

+

Tests, if possible, whether the specified error was caused by the +client's action (for example wrong URL or request encoding) or by a +failure at the server side.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +client.

+

Inherited from

+

AbstractRouter.isClientError

+
+

isRedirection()

+
+

isRedirection(reason): boolean

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:514

+

Tests, if possible, whether the specified error lead to redirection.

+

Parameters

+
reason
+

The encountered error.

+

Error | Error

+

Returns

+

boolean

+

true if the error was caused the action of the +redirection.

+

Inherited from

+

AbstractRouter.isRedirection

+
+ +
+

link(routeName, params): string

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:338

+

Generates an absolute URL (including protocol, domain, etc) for the +specified route by substituting the route's parameter placeholders with +the provided parameter values.

+

Parameters

+
routeName
+

string

+

The unique name of the route, identifying the +route to use.

+
params
+

RouteParams

+

Parameter values for the route's +parameter placeholders. Extraneous parameters will be added as +URL query.

+

Returns

+

string

+

An absolute URL for the specified route and parameters.

+

Inherited from

+

AbstractRouter.link

+
+

listen()

+
+

listen(): ServerRouter

+
+

Defined in: packages/core/src/router/ServerRouter.ts:66

+

Registers event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will start processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This +method has no effect at the server side.

+

Returns

+

ServerRouter

+

This router.

+

Overrides

+

AbstractRouter.listen

+
+

redirect()

+
+

redirect(url, options?): void

+
+

Defined in: packages/core/src/router/ServerRouter.ts:80

+

Redirects the client to the specified location.

+

At the server side the method results in responding to the client with a +redirect HTTP status code and the Location header.

+

At the client side the method updates the current URL by manipulating +the browser history (if the target URL is at the same domain and +protocol as the current one) or performs a hard redirect (if the target +URL points to a different protocol or domain).

+

The method will result in the router handling the new URL and routing +the client to the related page if the URL is set at the client side and +points to the same domain and protocol.

+

Parameters

+
url
+

string = '/'

+

The URL to which the client should be redirected.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+

Returns

+

void

+

Overrides

+

AbstractRouter.redirect

+
+

remove()

+
+

remove(name): ServerRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:211

+

Removes the specified route from the router's known routes.

+

Parameters

+
name
+

string

+

The route's unique name, identifying the route to remove.

+

Returns

+

ServerRouter

+

This router.

+

Inherited from

+

AbstractRouter.remove

+
+

route()

+
+

route(path, options?, action?, locals?): Promise<void | UnknownParameters>

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:363

+

Routes the application to the route matching the providing path, renders +the route page and sends the result to the client.

+

Parameters

+
path
+

string

+

The URL path part received from the client, with +optional query.

+
options?
+

Partial<RouteOptions>

+

The options overrides route options defined in +the routes.js configuration file.

+
action?
+

RouteAction

+

An action object describing what triggered this routing.

+
locals?
+

RouteLocals

+

The locals param is used to pass local data +between middlewares.

+

Returns

+

Promise<void | UnknownParameters>

+

A promise resolved +when the error has been handled and the response has been sent +to the client, or displayed if used at the client side.

+

Inherited from

+

AbstractRouter.route

+
+

unlisten()

+
+

unlisten(): ServerRouter

+
+

Defined in: packages/core/src/router/ServerRouter.ts:73

+

Unregisters event listeners at the client side window object allowing the +router to capture user's history (history pop state - going "back") and +page (clicking links) navigation.

+

The router will stop processing the navigation internally, handling the +user's navigation to display the page related to the URL resulting from +the user's action.

+

Note that the router will not prevent forms from being submitted to the +server.

+

The effects of this method can be reverted with unlisten. This method has no effect +at the server side.

+

Returns

+

ServerRouter

+

This router.

+

Overrides

+

AbstractRouter.unlisten

+
+

use()

+
+

use(middleware): ServerRouter

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:199

+

Adds a new middleware to router.

+

Parameters

+
middleware
+

RouterMiddleware

+

Middleware +function accepting routeParams as a first argument, which can be mutated +and locals object as second argument. This can be used to pass data +between middlewares.

+

Returns

+

ServerRouter

+

This router.

+

Throws

+

Thrown if a middleware with the same name already exists.

+

Inherited from

+

AbstractRouter.use

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/ServerWindow/index.html b/api/@ima/core/classes/ServerWindow/index.html new file mode 100644 index 000000000..38d955914 --- /dev/null +++ b/api/@ima/core/classes/ServerWindow/index.html @@ -0,0 +1,362 @@ + + + + + +Class: ServerWindow | IMA.js + + + + +
Skip to main content

Class: ServerWindow

+

Defined in: packages/core/src/window/ServerWindow.ts:10

+

Server-side implementation of the Window utility API.

+

Extends

+ +

Constructors

+

new ServerWindow()

+
+

new ServerWindow(): ServerWindow

+
+

Returns

+

ServerWindow

+

Inherited from

+

Window.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/window/ServerWindow.ts:11

+
Returns
+

never[]

+

Methods

+

bindEventListener()

+
+

bindEventListener(): void

+
+

Defined in: packages/core/src/window/ServerWindow.ts:194

+

Registers the provided event listener to be executed when the specified +event occurs on the specified event target.

+

Registering the same event listener for the same event on the same event +target with the same useCapture flag value repeatedly has no +effect.

+

Returns

+

void

+

Overrides

+

Window.bindEventListener

+
+

createCustomEvent()

+
+

createCustomEvent<T>(name, options): CustomEvent<T>

+
+

Defined in: packages/core/src/window/ServerWindow.ts:179

+

Create new instance of CustomEvent of the specified name and using the +provided options.

+

Type Parameters

+

T

+

Parameters

+
name
+

string

+

Custom event's name (sometimes referred to as the +event's type).

+
options
+

CustomEventInit<T>

+

The custom event's options.

+

Returns

+

CustomEvent<T>

+

The created custom event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

+

Overrides

+

Window.createCustomEvent

+
+

getBody()

+
+

getBody(): undefined

+
+

Defined in: packages/core/src/window/ServerWindow.ts:109

+

Returns the document's body element. The method returns +undefined if invoked at the server-side.

+

Returns

+

undefined

+

The document's body element, or +undefined if invoked at the server side.

+

Overrides

+

Window.getBody

+
+

getDocument()

+
+

getDocument(): undefined

+
+

Defined in: packages/core/src/window/ServerWindow.ts:53

+

Returns the native document object representing any web page loaded +in the browser and serves as an entry point into the web page's content +which is the DOM tree at the client-side. The method returns undefined +if used at the server-side.

+

Returns

+

undefined

+

The document object at the +client-side, or undefined at the server-side.

+

Overrides

+

Window.getDocument

+
+

getDomain()

+
+

getDomain(): ""

+
+

Defined in: packages/core/src/window/ServerWindow.ts:81

+

Returns the domain of the current document's URL as +${protocol}://${host}.

+

Returns

+

""

+

The current domain.

+

Overrides

+

Window.getDomain

+
+

getElementById()

+
+

getElementById(): null

+
+

Defined in: packages/core/src/window/ServerWindow.ts:116

+

Returns the HTML element with the specified id attribute value.

+

Returns

+

null

+

The element with the specified id, or +null if no such element exists.

+

Overrides

+

Window.getElementById

+
+

getHistoryState()

+
+

getHistoryState(): undefined

+
+

Defined in: packages/core/src/window/ServerWindow.ts:123

+

Returns the history state.

+

Returns

+

undefined

+

The current history state

+

Overrides

+

Window.getHistoryState

+
+

getHost()

+
+

getHost(): ""

+
+

Defined in: packages/core/src/window/ServerWindow.ts:88

+

Returns

+

""

+

The current host.

+

Overrides

+

Window.getHost

+
+

getPath()

+
+

getPath(): ""

+
+

Defined in: packages/core/src/window/ServerWindow.ts:95

+

Returns the path part of the current URL, including the query string.

+

Returns

+

""

+

The path and query string parts of the current URL.

+

Overrides

+

Window.getPath

+
+

getScrollX()

+
+

getScrollX(): 0

+
+

Defined in: packages/core/src/window/ServerWindow.ts:60

+

Returns the number of pixels the viewport is scrolled horizontally.

+

Returns

+

0

+

The number of pixels the viewport is scrolled +horizontally.

+

Overrides

+

Window.getScrollX

+
+

getScrollY()

+
+

getScrollY(): 0

+
+

Defined in: packages/core/src/window/ServerWindow.ts:67

+

Returns the number of pixels the document is scrolled vertically.

+

Returns

+

0

+

The number of pixels the document is scrolled +vertically.

+

Overrides

+

Window.getScrollY

+
+

getUrl()

+
+

getUrl(): ""

+
+

Defined in: packages/core/src/window/ServerWindow.ts:102

+

Returns

+

""

+

The current document's URL.

+

Overrides

+

Window.getUrl

+
+

getWindow()

+
+

getWindow(): undefined

+
+

Defined in: packages/core/src/window/ServerWindow.ts:46

+

Returns the native window object representing the global context +at the client-side. The method returns undefined if used at the +server-side.

+

Returns

+

undefined

+

The window object at the +client-side, or undefined at the server-side.

+

Overrides

+

Window.getWindow

+
+

hasSessionStorage()

+
+

hasSessionStorage(): false

+
+

Defined in: packages/core/src/window/ServerWindow.ts:32

+

Returns true if the session storage is supported.

+

Returns

+

false

+

true if the session storage is supported.

+

Overrides

+

Window.hasSessionStorage

+
+

isClient()

+
+

isClient(): false

+
+

Defined in: packages/core/src/window/ServerWindow.ts:18

+

Returns

+

false

+

true if invoked at the client side.

+

Overrides

+

Window.isClient

+
+

isCookieEnabled()

+
+

isCookieEnabled(): false

+
+

Defined in: packages/core/src/window/ServerWindow.ts:25

+

Returns true if the cookies are set and processed with every +HTTP request and response automatically by the environment.

+

Returns

+

false

+

true if cookies are handled automatically by +the environment.

+

Overrides

+

Window.isCookieEnabled

+
+

pushState()

+
+

pushState(): void

+
+

Defined in: packages/core/src/window/ServerWindow.ts:165

+

Pushes a new state to the browser history. The method has no effect if +the current browser does not support the history API (IE9).

+

Returns

+

void

+

Overrides

+

Window.pushState

+
+

querySelector()

+
+

querySelector(): null

+
+

Defined in: packages/core/src/window/ServerWindow.ts:130

+

Returns the first element matching the specified CSS 3 selector.

+

Returns

+

null

+

The first element matching the CSS selector or +null if no such element exists.

+

Overrides

+

Window.querySelector

+
+

querySelectorAll()

+
+

querySelectorAll<E>(selector): NodeListOf<E>

+
+

Defined in: packages/core/src/window/ServerWindow.ts:137

+

Returns a node list of all elements matching the specified CSS 3 +selector.

+

Type Parameters

+

E extends Element = Element

+

Parameters

+
selector
+

string

+

The CSS selector.

+

Returns

+

NodeListOf<E>

+

A node list containing all elements matching the +specified CSS selector.

+

Overrides

+

Window.querySelectorAll

+
+

redirect()

+
+

redirect(): void

+
+

Defined in: packages/core/src/window/ServerWindow.ts:158

+

Performs a hard redirect (discarding the current JavaScript state) to +the specified URL.

+

Returns

+

void

+

Overrides

+

Window.redirect

+
+

replaceState()

+
+

replaceState(): void

+
+

Defined in: packages/core/src/window/ServerWindow.ts:172

+

Replaces the current history entry. The method has no effect if the +current browser does not support the history API (IE9).

+

Returns

+

void

+

Overrides

+

Window.replaceState

+
+

scrollTo()

+
+

scrollTo(): void

+
+

Defined in: packages/core/src/window/ServerWindow.ts:74

+

Scrolls the viewport to the specified location (if possible).

+

Returns

+

void

+

Overrides

+

Window.scrollTo

+
+

setTitle()

+
+

setTitle(): never

+
+

Defined in: packages/core/src/window/ServerWindow.ts:39

+

Sets the new page title of the document.

+

Returns

+

never

+

Overrides

+

Window.setTitle

+
+

unbindEventListener()

+
+

unbindEventListener(): void

+
+

Defined in: packages/core/src/window/ServerWindow.ts:201

+

Deregister the provided event listener, so it will no longer we +executed when the specified event occurs on the specified event target.

+

The method has no effect if the provided event listener is not +registered to be executed at the specified event.

+

Returns

+

void

+

Overrides

+

Window.unbindEventListener

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/SessionMapStorage/index.html b/api/@ima/core/classes/SessionMapStorage/index.html new file mode 100644 index 000000000..5ec15caea --- /dev/null +++ b/api/@ima/core/classes/SessionMapStorage/index.html @@ -0,0 +1,178 @@ + + + + + +Class: SessionMapStorage\<V\> | IMA.js + + + + +
Skip to main content

Class: SessionMapStorage<V>

+

Defined in: packages/core/src/storage/SessionMapStorage.ts:12

+

The link SessionMap storage is an implementation of the +link Storage interface acting as a synchronization proxy between +the underlying map storage and the sessionStorage DOM storage.

+

Extends

+ +

Type Parameters

+

V

+

Constructors

+

new SessionMapStorage()

+
+

new SessionMapStorage<V>(map, session): SessionMapStorage<V>

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:32

+

Initializes the storage.

+

Parameters

+
map
+

MapStorage<V>

+

The map storage to use.

+
session
+

SessionStorage<V>

+

The session storage to use.

+

Returns

+

SessionMapStorage<V>

+

Overrides

+

Storage.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:22

+
Returns
+

Dependencies

+

Methods

+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:106

+

Clears the storage of all entries.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.clear

+
+

delete()

+
+

delete(key): this

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:96

+

Deletes the entry identified by the specified key from this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.delete

+
+

get()

+
+

get(key): undefined | V

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:71

+

Retrieves the value of the entry identified by the specified . The +method returns undefined if the entry does not exists.

+

Entries set to the undefined value can be tested for existence +using the link has method.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

undefined | V

+

The value of the storage entry.

+

Overrides

+

Storage.get

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:64

+

Returns true if the entry identified by the specified key exists +in this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

boolean

+

true if the storage entry exists.

+

Overrides

+

Storage.has

+
+

init()

+
+

init(): this

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:43

+

This method is used to finalize the initialization of the storage after +the dependencies provided through the constructor have been prepared for +use.

+

This method must be invoked only once and it must be the first method +invoked on this instance.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.init

+
+

keys()

+
+

keys(): Iterable<string>

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:116

+

Returns an iterator for traversing the keys in this storage. The order +in which the keys are traversed is undefined.

+

Returns

+

Iterable<string>

+

An iterator for traversing the keys in this +storage. The iterator also implements the iterable protocol, +returning itself as its own iterator, allowing it to be used in +a for..of loop.

+

Overrides

+

Storage.keys

+
+

set()

+
+

set(key, value): this

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:78

+

Sets the storage entry identified by the specified key to the provided +value. The method creates the entry if it does not exist already.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+
value
+

V

+

The storage entry value.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.set

+
+

size()

+
+

size(): number

+
+

Defined in: packages/core/src/storage/SessionMapStorage.ts:123

+

Returns the number of entries in this storage.

+

Returns

+

number

+

The number of entries in this storage.

+

Overrides

+

Storage.size

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/SessionStorage/index.html b/api/@ima/core/classes/SessionStorage/index.html new file mode 100644 index 000000000..0dbc6f502 --- /dev/null +++ b/api/@ima/core/classes/SessionStorage/index.html @@ -0,0 +1,182 @@ + + + + + +Class: SessionStorage\<V\> | IMA.js + + + + +
Skip to main content

Class: SessionStorage<V>

+

Defined in: packages/core/src/storage/SessionStorage.ts:11

+

Implementation of the link Storage interface that relies on the +native sessionStorage DOM storage for storing its entries.

+

Extends

+ +

Type Parameters

+

V

+

Constructors

+

new SessionStorage()

+
+

new SessionStorage<V>(window): SessionStorage<V>

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:24

+

Initializes the session storage.

+

Parameters

+
window
+

ClientWindow

+

Returns

+

SessionStorage<V>

+

Overrides

+

Storage.constructor

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): Dependencies

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:17

+
Returns
+

Dependencies

+

Methods

+

_deleteOldestEntry()

+
+

_deleteOldestEntry(): void

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:123

+

Deletes the oldest entry in this storage.

+

Returns

+

void

+
+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:100

+

Clears the storage of all entries.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.clear

+
+

delete()

+
+

delete(key): this

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:91

+

Deletes the entry identified by the specified key from this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.delete

+
+

get()

+
+

get(key): undefined | V

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:47

+

Retrieves the value of the entry identified by the specified . The +method returns undefined if the entry does not exists.

+

Entries set to the undefined value can be tested for existence +using the link has method.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

undefined | V

+

The value of the storage entry.

+

Overrides

+

Storage.get

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:40

+

Returns true if the entry identified by the specified key exists +in this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

boolean

+

true if the storage entry exists.

+

Overrides

+

Storage.has

+
+

init()

+
+

init(): this

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:33

+

This method is used to finalize the initialization of the storage after +the dependencies provided through the constructor have been prepared for +use.

+

This method must be invoked only once and it must be the first method +invoked on this instance.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.init

+
+

keys()

+
+

keys(): Iterable<string>

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:109

+

Returns an iterator for traversing the keys in this storage. The order +in which the keys are traversed is undefined.

+

Returns

+

Iterable<string>

+

An iterator for traversing the keys in this +storage. The iterator also implements the iterable protocol, +returning itself as its own iterator, allowing it to be used in +a for..of loop.

+

Overrides

+

Storage.keys

+
+

set()

+
+

set(key, value): this

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:62

+

Sets the storage entry identified by the specified key to the provided +value. The method creates the entry if it does not exist already.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+
value
+

V

+

The storage entry value.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.set

+
+

size()

+
+

size(): number

+
+

Defined in: packages/core/src/storage/SessionStorage.ts:116

+

Returns the number of entries in this storage.

+

Returns

+

number

+

The number of entries in this storage.

+

Overrides

+

Storage.size

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/StaticRoute/index.html b/api/@ima/core/classes/StaticRoute/index.html new file mode 100644 index 000000000..e2fdf5f23 --- /dev/null +++ b/api/@ima/core/classes/StaticRoute/index.html @@ -0,0 +1,599 @@ + + + + + +Class: StaticRoute | IMA.js + + + + +
Skip to main content

Class: StaticRoute

+

Defined in: packages/core/src/router/StaticRoute.ts:84

+

Utility for representing and manipulating a single static route in the +router's configuration using string representation of the path expression +with special param fields identified by :paramName prefix.

+

Extends

+ +

Constructors

+

new StaticRoute()

+
+

new StaticRoute(name, pathExpression, controller, view, options?): StaticRoute

+
+

Defined in: packages/core/src/router/StaticRoute.ts:97

+

Parameters

+
name
+

string

+
pathExpression
+

string

+

A path expression specifying the URL path +part matching this route (must not contain a query string), +optionally containing named parameter placeholders specified as +:parameterName.

+
controller
+

AsyncRouteController

+
view
+

AsyncRouteView

+
options?
+

Partial<RouteFactoryOptions>

+

Returns

+

StaticRoute

+

Inherit Doc

+

Overrides

+

AbstractRoute.constructor

+

Properties

+

_controller

+
+

protected _controller: object

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:58

+

The full name of Object Container alias identifying the controller +associated with this route.

+

cached

+
+

cached: null | RouteController | Promise<RouteController>

+
+

controller

+
+

controller: AsyncRouteController

+
+

resolved

+
+

resolved: boolean

+
+

Inherited from

+

AbstractRoute._controller

+
+

_hasParameters

+
+

protected _hasParameters: boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:87

+
+

_matcher

+
+

protected _matcher: RegExp

+
+

Defined in: packages/core/src/router/StaticRoute.ts:88

+
+

_name

+
+

protected _name: string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:48

+

The unique name of this route, identifying it among the rest of the +routes in the application.

+

Inherited from

+

AbstractRoute._name

+
+

_options

+
+

protected _options: RouteFactoryOptions

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:76

+

The route additional options.

+

Inherited from

+

AbstractRoute._options

+
+

_parameterNames

+
+

protected _parameterNames: string[]

+
+

Defined in: packages/core/src/router/StaticRoute.ts:86

+
+

_pathExpression

+
+

protected _pathExpression: string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:53

+

Path expression used in route matching, to generate valid path with +provided params and parsing params from current path.

+

Inherited from

+

AbstractRoute._pathExpression

+
+

_trimmedPathExpression

+
+

protected _trimmedPathExpression: string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:85

+
+

_view

+
+

protected _view: object

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:67

+

The full name or Object Container alias identifying the view class +associated with this route.

+

cached

+
+

cached: null | RouteView | Promise<RouteView>

+
+

resolved

+
+

resolved: boolean

+
+

view

+
+

view: AsyncRouteView

+
+

Inherited from

+

AbstractRoute._view

+

Methods

+

_checkOptionalParamsOrder()

+
+

_checkOptionalParamsOrder(allMainParams): boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:275

+

Check if all optional params are below required ones

+

Parameters

+
allMainParams
+

string[]

+

Returns

+

boolean

+
+

_checkParametersOrder()

+
+

_checkParametersOrder(clearedPathExpr): boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:301

+

Check if main parameters have correct order. +It means that required param cannot follow optional one.

+

Parameters

+
clearedPathExpr
+

string

+

The cleared URL path (removed first and last slash, ...).

+

Returns

+

boolean

+

Returns TRUE if order is correct.

+
+

_cleanOptParamName()

+
+

_cleanOptParamName(paramName): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:524

+

Returns optional param name without "?"

+

Parameters

+
paramName
+

string

+

Full param name with "?"

+

Returns

+

string

+

Strict param name without "?"

+
+

_cleanUnusedOptionalParams()

+
+

_cleanUnusedOptionalParams(path): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:219

+

Remove unused optional param placeholders in path.

+

Parameters

+
path
+

string

+

Returns

+

string

+
+

_compileToRegExp()

+
+

_compileToRegExp(pathExpression): RegExp

+
+

Defined in: packages/core/src/router/StaticRoute.ts:402

+

Compiles the path expression to a regular expression that can be used +for easier matching of URL paths against this route, and extracting the +path parameter values from the URL path.

+

Parameters

+
pathExpression
+

string

+

The path expression to compile.

+

Returns

+

RegExp

+

The compiled regular expression.

+
+

_extractParameters()

+
+

_extractParameters(parameterValues): StringParameters

+
+

Defined in: packages/core/src/router/StaticRoute.ts:490

+

Extract parameters from given path.

+

Parameters

+
parameterValues
+

string[]

+

Returns

+

StringParameters

+
+

_getClearParamName()

+
+

_getClearParamName(rawParam): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:255

+

Extract clear parameter name, e.q. '?name' or 'name'

+

Parameters

+
rawParam
+

string

+

Returns

+

string

+
+

_getParameterNames()

+
+

_getParameterNames(pathExpression): string[]

+
+

Defined in: packages/core/src/router/StaticRoute.ts:545

+

Extracts the parameter names from the provided path expression.

+

Parameters

+
pathExpression
+

string

+

The path expression.

+

Returns

+

string[]

+

The names of the parameters defined in the provided +path expression.

+
+

_getParameters()

+
+

_getParameters(path): StringParameters

+
+

Defined in: packages/core/src/router/StaticRoute.ts:472

+

Parses the provided path and extract the in-path parameters. The method +decodes the parameters and returns them in a hash object.

+

Parameters

+
path
+

string

+

Returns

+

StringParameters

+
+

_getSubparamPattern()

+
+

_getSubparamPattern(delimiter): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:266

+

Get pattern for subparameter.

+

Parameters

+
delimiter
+

string

+

Returns

+

string

+
+

_isOptionalParamInPath()

+
+

_isOptionalParamInPath(path, paramName): boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:237

+

Returns true, if paramName is placed in path.

+

Parameters

+
path
+

string

+
paramName
+

string

+

Returns

+

boolean

+
+

_isParamOptional()

+
+

_isParamOptional(paramName): boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:534

+

Checks if parameter is optional or not.

+

Parameters

+
paramName
+

string

+

Returns

+

boolean

+

return true if is optional, otherwise false

+
+

_isRequiredParamInPath()

+
+

_isRequiredParamInPath(path, paramName): boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:246

+

Returns true, if paramName is placed in path and it's required.

+

Parameters

+
path
+

string

+
paramName
+

string

+

Returns

+

boolean

+
+

_replaceOptionalParametersInPath()

+
+

_replaceOptionalParametersInPath(path, optionalParams): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:319

+

Convert main optional parameters to capture sequences

+

Parameters

+
path
+

string

+

The URL path.

+
optionalParams
+

string[]

+

List of main optimal parameter expressions

+

Returns

+

string

+

RegExp pattern.

+
+

_replaceOptionalSubParametersInPath()

+
+

_replaceOptionalSubParametersInPath(path, optionalSubparamsOthers, optionalSubparamsLast): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:370

+

Convert optional subparameters to capture sequences

+

Parameters

+
path
+

string

+

The URL path (route definition).

+
optionalSubparamsOthers
+

string[]

+

List of all subparam. expressions but last ones

+
optionalSubparamsLast
+

string[]

+

List of last subparam. expressions

+

Returns

+

string

+

RegExp pattern.

+
+

_replaceRequiredSubParametersInPath()

+
+

_replaceRequiredSubParametersInPath(path, clearedPathExpr): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:337

+

Convert required subparameters to capture sequences

+

Parameters

+
path
+

string

+

The URL path (route definition).

+
clearedPathExpr
+

string

+

The original cleared URL path.

+

Returns

+

string

+

RegExp pattern.

+
+

_substituteOptionalParamInPath()

+
+

_substituteOptionalParamInPath(path, paramName, paramValue): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:204

+

Replace optional param placeholder in path with parameter value.

+

Parameters

+
path
+

string

+
paramName
+

string

+
paramValue
+

string

+

Returns

+

string

+
+

_substituteRequiredParamInPath()

+
+

_substituteRequiredParamInPath(path, paramName, paramValue): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:190

+

Replace required parameter placeholder in path with parameter value.

+

Parameters

+
path
+

string

+
paramName
+

string

+
paramValue
+

string

+

Returns

+

string

+
+

extractParameters()

+
+

extractParameters(path, baseUrl): object

+
+

Defined in: packages/core/src/router/StaticRoute.ts:177

+

Extracts the parameter values from the provided path. The method +extracts both the in-path parameters and parses the query, allowing the +query parameters to override the in-path parameters.

+

The method returns an empty hash object if the path does not match this +route.

+

Parameters

+
path
+

string

+

Currently routed path.

+
baseUrl
+

string

+

Currently routed baseUrl.

+

Returns

+

object

+

Map of parameter names to parameter +values.

+

Overrides

+

AbstractRoute.extractParameters

+
+

getController()

+
+

getController(): RouteController | Promise<RouteController>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:153

+

Returns Controller class/alias/constant associated with this route. +Internally caches async calls for dynamically imported controllers, +meaning that once they're loaded, you get the same promise for +subsequent calls.

+

Returns

+

RouteController | Promise<RouteController>

+

The Controller class/alias/constant.

+

Inherited from

+

AbstractRoute.getController

+
+

getName()

+
+

getName(): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:132

+

Returns the unique identifying name of this route.

+

Returns

+

string

+

The name of the route, identifying it.

+

Inherited from

+

AbstractRoute.getName

+
+

getOptions()

+
+

getOptions(): RouteFactoryOptions

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:210

+

Return route additional options.

+

Returns

+

RouteFactoryOptions

+

Inherited from

+

AbstractRoute.getOptions

+
+

getPathExpression()

+
+

getPathExpression(): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:220

+

Path expression used in route matching, to generate valid path with +provided params and parsing params from current path.

+

Returns

+

string

+

The path expression.

+

Inherited from

+

AbstractRoute.getPathExpression

+
+

getTrimmedPath()

+
+

getTrimmedPath(path): string

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:230

+

Trims the trailing forward slash from the provided URL path.

+

Parameters

+
path
+

string

+

The path to trim.

+

Returns

+

string

+

Trimmed path.

+

Inherited from

+

AbstractRoute.getTrimmedPath

+
+

getView()

+
+

getView(): RouteView | Promise<RouteView>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:185

+

Returns View class/alias/constant associated with this route. +Internally caches async calls for dynamically imported views, +meaning that once they're loaded, you get the same promise for +subsequent calls.

+

Returns

+

RouteView | Promise<RouteView>

+

The View class/alias/constant.

+

Inherited from

+

AbstractRoute.getView

+
+

isAsync()

+
+

isAsync(module): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:139

+

Checks if given argument is an async handler.

+

Parameters

+
module
+

unknown

+

Returns

+

boolean

+

Inherited from

+

AbstractRoute.isAsync

+
+

isControllerResolved()

+
+

isControllerResolved(): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:173

+

Returns true for resolved controller. This is always true +for sync route views.

+

Returns

+

boolean

+

Inherited from

+

AbstractRoute.isControllerResolved

+
+

isViewResolved()

+
+

isViewResolved(): boolean

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:203

+

Returns true for resolved view. This is always true +for sync route views.

+

Returns

+

boolean

+

Inherited from

+

AbstractRoute.isViewResolved

+
+

matches()

+
+

matches(path): boolean

+
+

Defined in: packages/core/src/router/StaticRoute.ts:168

+

Tests whether the provided URL path matches this route. The provided +path may contain the query.

+

Parameters

+
path
+

string

+

The URL path.

+

Returns

+

boolean

+

true if the provided path matches this route.

+

Overrides

+

AbstractRoute.matches

+
+

preload()

+
+

preload(): Promise<[RouteController, RouteView]>

+
+

Defined in: packages/core/src/router/AbstractRoute.ts:239

+

Preloads dynamically imported view and controller.

+

Returns

+

Promise<[RouteController, RouteView]>

+

Promise.All resolving to [view, controller] tuple.

+

Inherited from

+

AbstractRoute.preload

+
+

toPath()

+
+

toPath(params): string

+
+

Defined in: packages/core/src/router/StaticRoute.ts:132

+

Creates the URL and query parts of a URL by substituting the route's +parameter placeholders by the provided parameter value.

+

The extraneous parameters that do not match any of the route's +placeholders will be appended as the query string.

+

Parameters

+
params
+

RouteParams = {}

+

The route +parameter values.

+

Returns

+

string

+

Path and, if necessary, query parts of the URL +representing this route with its parameters replaced by the +provided parameter values.

+

Overrides

+

AbstractRoute.toPath

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Storage/index.html b/api/@ima/core/classes/Storage/index.html new file mode 100644 index 000000000..a58e9817a --- /dev/null +++ b/api/@ima/core/classes/Storage/index.html @@ -0,0 +1,146 @@ + + + + + +Class: abstract Storage\<V\> | IMA.js + + + + +
Skip to main content

Class: abstract Storage<V>

+

Defined in: packages/core/src/storage/Storage.ts:6

+

The Storage is an unordered collection of named values of any +type. Values in the storage are named using string keys. The storage +can be therefore thought of as a Map<string, *>.....

+

Extended by

+ +

Type Parameters

+

V

+

Constructors

+

new Storage()

+
+

new Storage<V>(): Storage<V>

+
+

Returns

+

Storage<V>

+

Methods

+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/storage/Storage.ts:73

+

Clears the storage of all entries.

+

Returns

+

this

+

This storage.

+
+

delete()

+
+

delete(key): this

+
+

Defined in: packages/core/src/storage/Storage.ts:64

+

Deletes the entry identified by the specified key from this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

this

+

This storage.

+
+

get()

+
+

get(key): undefined | V

+
+

Defined in: packages/core/src/storage/Storage.ts:42

+

Retrieves the value of the entry identified by the specified . The +method returns undefined if the entry does not exists.

+

Entries set to the undefined value can be tested for existence +using the link has method.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

undefined | V

+

The value of the storage entry.

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/storage/Storage.ts:28

+

Returns true if the entry identified by the specified key exists +in this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

boolean

+

true if the storage entry exists.

+
+

init()

+
+

init(): this

+
+

Defined in: packages/core/src/storage/Storage.ts:17

+

This method is used to finalize the initialization of the storage after +the dependencies provided through the constructor have been prepared for +use.

+

This method must be invoked only once and it must be the first method +invoked on this instance.

+

Returns

+

this

+

This storage.

+
+

keys()

+
+

keys(): Iterable<string>

+
+

Defined in: packages/core/src/storage/Storage.ts:86

+

Returns an iterator for traversing the keys in this storage. The order +in which the keys are traversed is undefined.

+

Returns

+

Iterable<string>

+

An iterator for traversing the keys in this +storage. The iterator also implements the iterable protocol, +returning itself as its own iterator, allowing it to be used in +a for..of loop.

+
+

set()

+
+

set(key, value): this

+
+

Defined in: packages/core/src/storage/Storage.ts:54

+

Sets the storage entry identified by the specified key to the provided +value. The method creates the entry if it does not exist already.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+
value
+

V

+

The storage entry value.

+

Returns

+

this

+

This storage.

+
+

size()

+
+

size(): number

+
+

Defined in: packages/core/src/storage/Storage.ts:95

+

Returns the number of entries in this storage.

+

Returns

+

number

+

The number of entries in this storage.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/UrlTransformer/index.html b/api/@ima/core/classes/UrlTransformer/index.html new file mode 100644 index 000000000..00391bd20 --- /dev/null +++ b/api/@ima/core/classes/UrlTransformer/index.html @@ -0,0 +1,84 @@ + + + + + +Class: UrlTransformer | IMA.js + + + + +
Skip to main content

Class: UrlTransformer

+

Defined in: packages/core/src/http/UrlTransformer.ts:6

+

Utility for transforming URLs according to the configured replacement rules.

+

Constructors

+

new UrlTransformer()

+
+

new UrlTransformer(): UrlTransformer

+
+

Defined in: packages/core/src/http/UrlTransformer.ts:16

+

Initializes the URL transformer.

+

Returns

+

UrlTransformer

+

Properties

+

_rules

+
+

protected _rules: StringParameters

+
+

Defined in: packages/core/src/http/UrlTransformer.ts:7

+

Accessors

+

$dependencies

+

Get Signature

+
+

get static $dependencies(): never[]

+
+

Defined in: packages/core/src/http/UrlTransformer.ts:9

+
Returns
+

never[]

+

Methods

+

addRule()

+
+

addRule(pattern, replacement): UrlTransformer

+
+

Defined in: packages/core/src/http/UrlTransformer.ts:30

+

Adds the provided replacement rule to the rules used by this URL +transformer.

+

Parameters

+
pattern
+

string

+

Regexp patter to look for (must be escaped as if +for use in the Regexp constructor).

+
replacement
+

string

+

The replacement of the matched patter in any +matched URL.

+

Returns

+

UrlTransformer

+

This transformer.

+
+

clear()

+
+

clear(): UrlTransformer

+
+

Defined in: packages/core/src/http/UrlTransformer.ts:39

+

Clears all rules.

+

Returns

+

UrlTransformer

+
+

transform()

+
+

transform(url): string

+
+

Defined in: packages/core/src/http/UrlTransformer.ts:53

+

Applies all rules registered with this URL transformer to the provided +URL and returns the result. The rules will be applied in the order they +were registered.

+

Parameters

+
url
+

string

+

The URL for transformation.

+

Returns

+

string

+

Transformed URL.

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/WeakMapStorage/index.html b/api/@ima/core/classes/WeakMapStorage/index.html new file mode 100644 index 000000000..466fde121 --- /dev/null +++ b/api/@ima/core/classes/WeakMapStorage/index.html @@ -0,0 +1,180 @@ + + + + + +Class: WeakMapStorage\<V\> | IMA.js + + + + +
Skip to main content

Class: WeakMapStorage<V>

+

Defined in: packages/core/src/storage/WeakMapStorage.ts:8

+

A specialization of the link MapStorage storage mimicking the native +WeakMap using its internal garbage collector used once the size of +the storage reaches the configured threshold.

+

Extends

+ +

Type Parameters

+

V = object

+

Constructors

+

new WeakMapStorage()

+
+

new WeakMapStorage<V>(config): WeakMapStorage<V>

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:26

+

Initializes the storage.

+

Parameters

+
config
+

Weak map storage configuration. The +fields have the following meaning:

+
    +
  • entryTtl The time-to-live of a storage entry in milliseconds.
  • +
+
entryTtl
+

number

+

Returns

+

WeakMapStorage<V>

+

Overrides

+

Storage.constructor

+

Methods

+

_discardExpiredEntries()

+
+

_discardExpiredEntries(): void

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:101

+

Deletes all expired entries from this storage.

+

Returns

+

void

+
+

clear()

+
+

clear(): this

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:74

+

Clears the storage of all entries.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.clear

+
+

delete()

+
+

delete(key): this

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:67

+

Deletes the entry identified by the specified key from this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.delete

+
+

get()

+
+

get(key): undefined | V

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:44

+

Retrieves the value of the entry identified by the specified . The +method returns undefined if the entry does not exists.

+

Entries set to the undefined value can be tested for existence +using the link has method.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

undefined | V

+

The value of the storage entry.

+

Overrides

+

Storage.get

+
+

has()

+
+

has(key): boolean

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:35

+

Returns true if the entry identified by the specified key exists +in this storage.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+

Returns

+

boolean

+

true if the storage entry exists.

+

Overrides

+

Storage.has

+
+

init()

+
+

init(): this

+
+

Defined in: packages/core/src/storage/Storage.ts:17

+

This method is used to finalize the initialization of the storage after +the dependencies provided through the constructor have been prepared for +use.

+

This method must be invoked only once and it must be the first method +invoked on this instance.

+

Returns

+

this

+

This storage.

+

Inherited from

+

Storage.init

+
+

keys()

+
+

keys(): Iterable<string>

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:83

+

Returns an iterator for traversing the keys in this storage. The order +in which the keys are traversed is undefined.

+

Returns

+

Iterable<string>

+

An iterator for traversing the keys in this +storage. The iterator also implements the iterable protocol, +returning itself as its own iterator, allowing it to be used in +a for..of loop.

+

Overrides

+

Storage.keys

+
+

set()

+
+

set(key, value): this

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:57

+

Sets the storage entry identified by the specified key to the provided +value. The method creates the entry if it does not exist already.

+

Parameters

+
key
+

string

+

The key identifying the storage entry.

+
value
+

V

+

The storage entry value.

+

Returns

+

this

+

This storage.

+

Overrides

+

Storage.set

+
+

size()

+
+

size(): number

+
+

Defined in: packages/core/src/storage/WeakMapStorage.ts:92

+

Returns the number of entries in this storage.

+

Returns

+

number

+

The number of entries in this storage.

+

Overrides

+

Storage.size

+ + \ No newline at end of file diff --git a/api/@ima/core/classes/Window/index.html b/api/@ima/core/classes/Window/index.html new file mode 100644 index 000000000..8bff3b95e --- /dev/null +++ b/api/@ima/core/classes/Window/index.html @@ -0,0 +1,460 @@ + + + + + +Class: abstract Window | IMA.js + + + + +
Skip to main content

Class: abstract Window

+

Defined in: packages/core/src/window/Window.ts:36

+

The Window interface defines various utility API for easier +cross-environment usage of various low-level client-side JavaScript APIs +available through various global objects.

+

Extended by

+ +

Constructors

+

new Window()

+
+

new Window(): Window

+
+

Returns

+

Window

+

Methods

+

bindEventListener()

+

Call Signature

+
+

bindEventListener<T, K, S>(eventTarget, event, listener, options?, scope?): void

+
+

Defined in: packages/core/src/window/Window.ts:310

+

Registers the provided event listener to be executed when the specified +event occurs on the specified event target.

+

Registering the same event listener for the same event on the same event +target with the same useCapture flag value repeatedly has no +effect.

+
Type Parameters
+

T extends WindowEventTargets

+

K extends string | number | symbol

+

S = any

+
Parameters
+
eventTarget
+

T

+

The event target.

+
event
+

K

+

The name of the event.

+
listener
+

(event) => void

+

The event listener.

+
options?
+

boolean | EventListenerOptions

+
scope?
+

S

+
Returns
+

void

+

Call Signature

+
+

bindEventListener<T, E, S>(eventTarget, event, listener, options?, scope?): void

+
+

Defined in: packages/core/src/window/Window.ts:321

+

Registers the provided event listener to be executed when the specified +event occurs on the specified event target.

+

Registering the same event listener for the same event on the same event +target with the same useCapture flag value repeatedly has no +effect.

+
Type Parameters
+

T extends EventTarget

+

E extends Event = Event

+

S = any

+
Parameters
+
eventTarget
+

T

+

The event target.

+
event
+

string

+

The name of the event.

+
listener
+

(event) => void

+

The event listener.

+
options?
+

boolean | EventListenerOptions

+
scope?
+

S

+
Returns
+

void

+
+

createCustomEvent()

+
+

createCustomEvent<T>(name, options): CustomEvent<T>

+
+

Defined in: packages/core/src/window/Window.ts:265

+

Create new instance of CustomEvent of the specified name and using the +provided options.

+

Type Parameters

+

T

+

Parameters

+
name
+

string

+

Custom event's name (sometimes referred to as the +event's type).

+
options
+

CustomEventInit<T>

+

The custom event's options.

+

Returns

+

CustomEvent<T>

+

The created custom event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

+
+

getBody()

+
+

getBody(): undefined | HTMLElement

+
+

Defined in: packages/core/src/window/Window.ts:168

+

Returns the document's body element. The method returns +undefined if invoked at the server-side.

+

Returns

+

undefined | HTMLElement

+

The document's body element, or +undefined if invoked at the server side.

+
+

getDocument()

+
+

getDocument(): undefined | Document

+
+

Defined in: packages/core/src/window/Window.ts:94

+

Returns the native document object representing any web page loaded +in the browser and serves as an entry point into the web page's content +which is the DOM tree at the client-side. The method returns undefined +if used at the server-side.

+

Returns

+

undefined | Document

+

The document object at the +client-side, or undefined at the server-side.

+
+

getDomain()

+
+

getDomain(): string

+
+

Defined in: packages/core/src/window/Window.ts:134

+

Returns the domain of the current document's URL as +${protocol}://${host}.

+

Returns

+

string

+

The current domain.

+
+

getElementById()

+
+

getElementById(id): null | HTMLElement

+
+

Defined in: packages/core/src/window/Window.ts:179

+

Returns the HTML element with the specified id attribute value.

+

Parameters

+
id
+

string

+

The value of the id attribute to look for.

+

Returns

+

null | HTMLElement

+

The element with the specified id, or +null if no such element exists.

+
+

getHistoryState()

+
+

getHistoryState(): any

+
+

Defined in: packages/core/src/window/Window.ts:188

+

Returns the history state.

+

Returns

+

any

+

The current history state

+
+

getHost()

+
+

getHost(): string

+
+

Defined in: packages/core/src/window/Window.ts:141

+

Returns

+

string

+

The current host.

+
+

getPath()

+
+

getPath(): string

+
+

Defined in: packages/core/src/window/Window.ts:150

+

Returns the path part of the current URL, including the query string.

+

Returns

+

string

+

The path and query string parts of the current URL.

+
+

getScrollX()

+
+

getScrollX(): number

+
+

Defined in: packages/core/src/window/Window.ts:104

+

Returns the number of pixels the viewport is scrolled horizontally.

+

Returns

+

number

+

The number of pixels the viewport is scrolled +horizontally.

+
+

getScrollY()

+
+

getScrollY(): number

+
+

Defined in: packages/core/src/window/Window.ts:114

+

Returns the number of pixels the document is scrolled vertically.

+

Returns

+

number

+

The number of pixels the document is scrolled +vertically.

+
+

getUrl()

+
+

getUrl(): string

+
+

Defined in: packages/core/src/window/Window.ts:157

+

Returns

+

string

+

The current document's URL.

+
+

getWindow()

+
+

getWindow(): undefined | Window

+
+

Defined in: packages/core/src/window/Window.ts:81

+

Returns the native window object representing the global context +at the client-side. The method returns undefined if used at the +server-side.

+

Returns

+

undefined | Window

+

The window object at the +client-side, or undefined at the server-side.

+
+

hasSessionStorage()

+
+

hasSessionStorage(): boolean

+
+

Defined in: packages/core/src/window/Window.ts:60

+

Returns true if the session storage is supported.

+

Returns

+

boolean

+

true if the session storage is supported.

+
+

isClient()

+
+

isClient(): boolean

+
+

Defined in: packages/core/src/window/Window.ts:40

+

Returns

+

boolean

+

true if invoked at the client side.

+
+

isCookieEnabled()

+
+

isCookieEnabled(): boolean

+
+

Defined in: packages/core/src/window/Window.ts:51

+

Returns true if the cookies are set and processed with every +HTTP request and response automatically by the environment.

+

Returns

+

boolean

+

true if cookies are handled automatically by +the environment.

+
+

pushState()

+
+

pushState<T>(state, title, url?): void

+
+

Defined in: packages/core/src/window/Window.ts:237

+

Pushes a new state to the browser history. The method has no effect if +the current browser does not support the history API (IE9).

+

Type Parameters

+

T

+

Parameters

+
state
+

T

+

A state object associated with the +history item, preferably representing the page state.

+
title
+

string

+

The page title related to the state. Note that +this parameter is ignored by some browsers.

+
url?
+

string

+

The new URL at which the state is available.

+

Returns

+

void

+
+

querySelector()

+
+

querySelector<E>(selector): null | E

+
+

Defined in: packages/core/src/window/Window.ts:199

+

Returns the first element matching the specified CSS 3 selector.

+

Type Parameters

+

E extends Element = Element

+

Parameters

+
selector
+

string

+

The CSS selector.

+

Returns

+

null | E

+

The first element matching the CSS selector or +null if no such element exists.

+
+

querySelectorAll()

+
+

querySelectorAll<E>(selector): NodeListOf<E>

+
+

Defined in: packages/core/src/window/Window.ts:211

+

Returns a node list of all elements matching the specified CSS 3 +selector.

+

Type Parameters

+

E extends Element = Element

+

Parameters

+
selector
+

string

+

The CSS selector.

+

Returns

+

NodeListOf<E>

+

A node list containing all elements matching the +specified CSS selector.

+
+

redirect()

+
+

redirect(url): void

+
+

Defined in: packages/core/src/window/Window.ts:223

+

Performs a hard redirect (discarding the current JavaScript state) to +the specified URL.

+

Parameters

+
url
+

string

+

The URL to which the browser will be redirected.

+

Returns

+

void

+
+

replaceState()

+
+

replaceState<T>(state, title, url?): void

+
+

Defined in: packages/core/src/window/Window.ts:251

+

Replaces the current history entry. The method has no effect if the +current browser does not support the history API (IE9).

+

Type Parameters

+

T

+

Parameters

+
state
+

T

+

A state object associated with the +history item, preferably representing the page state.

+
title
+

string

+

The page title related to the state. Note that +this parameter is ignored by some browsers.

+
url?
+

string

+

The new URL at which the state is available.

+

Returns

+

void

+
+

scrollTo()

+
+

scrollTo(x, y): void

+
+

Defined in: packages/core/src/window/Window.ts:124

+

Scrolls the viewport to the specified location (if possible).

+

Parameters

+
x
+

number

+

Horizontal scroll offset in pixels.

+
y
+

number

+

Vertical scroll offset in pixels.

+

Returns

+

void

+
+

setTitle()

+
+

setTitle(title): void

+
+

Defined in: packages/core/src/window/Window.ts:69

+

Sets the new page title of the document.

+

Parameters

+
title
+

string

+

The new page title.

+

Returns

+

void

+
+

unbindEventListener()

+

Call Signature

+
+

unbindEventListener<T, K, S>(eventTarget, event, listener, options?, scope?): void

+
+

Defined in: packages/core/src/window/Window.ts:345

+

Deregister the provided event listener, so it will no longer we +executed when the specified event occurs on the specified event target.

+

The method has no effect if the provided event listener is not +registered to be executed at the specified event.

+
Type Parameters
+

T extends WindowEventTargets

+

K extends string | number | symbol

+

S

+
Parameters
+
eventTarget
+

T

+

The event target.

+
event
+

K

+

The name of the event.

+
listener
+

(event) => void

+

The event listener.

+
options?
+

The useCapture flag value that was used when the +listener was registered, or provide capture option through object options.

+

boolean | EventListenerOptions

+
scope?
+

S

+
Returns
+

void

+

Call Signature

+
+

unbindEventListener<T, E, S>(eventTarget, event, listener, options?, scope?): void

+
+

Defined in: packages/core/src/window/Window.ts:356

+

Deregister the provided event listener, so it will no longer we +executed when the specified event occurs on the specified event target.

+

The method has no effect if the provided event listener is not +registered to be executed at the specified event.

+
Type Parameters
+

T extends EventTarget

+

E extends Event = Event

+

S = any

+
Parameters
+
eventTarget
+

T

+

The event target.

+
event
+

string

+

The name of the event.

+
listener
+

(event) => void

+

The event listener.

+
options?
+

The useCapture flag value that was used when the +listener was registered, or provide capture option through object options.

+

boolean | EventListenerOptions

+
scope?
+

S

+
Returns
+

void

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/ActionTypes/index.html b/api/@ima/core/enumerations/ActionTypes/index.html new file mode 100644 index 000000000..64c8269ac --- /dev/null +++ b/api/@ima/core/enumerations/ActionTypes/index.html @@ -0,0 +1,39 @@ + + + + + +Enumeration: ActionTypes | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/BindingState/index.html b/api/@ima/core/enumerations/BindingState/index.html new file mode 100644 index 000000000..2ba671257 --- /dev/null +++ b/api/@ima/core/enumerations/BindingState/index.html @@ -0,0 +1,64 @@ + + + + + +Enumeration: BindingState | IMA.js + + + + +
Skip to main content

Enumeration: BindingState

+

Defined in: packages/core/src/oc/BindingState.ts:1

+

Enumeration Members

+

App

+
+

App: "app"

+
+

Defined in: packages/core/src/oc/BindingState.ts:49

+

Constant for app binding state.

+

When the object container is in app binding state, it is possible +to register new aliases using the bind() method and register +new constant using the constant() method, or override the +default class dependencies of any already-configured class using the +inject() method (classes that were not configured yet may be +configured using the inject() method or provide() +method).

+
+

IMA

+
+

IMA: "ima.core"

+
+

Defined in: packages/core/src/oc/BindingState.ts:36

+

Constant for IMA binding state.

+

When the object container is in ima binding state, it is possible +to register new aliases using the bind() method and register +new constant using the constant() method, or override the +default class dependencies of any already-configured class using the +inject() method (classes that were not configured yet may be +configured using the inject() method or provide() +method).

+

Returns

+

The IMA binding state.

+
+

Plugin

+
+

Plugin: "plugin"

+
+

Defined in: packages/core/src/oc/BindingState.ts:21

+

Constant for plugin binding state.

+

When the object container is in plugin binding state, it is impossible +to register new aliases using the bind() method and register +new constant using the constant() method, or override the +default class dependencies of any already-configured class using the +inject() method (classes that were not configured yet may be +configured using the inject() method or provide() +method).

+

This prevents the unprivileged code (e.g. 3rd party plugins) from +overriding the default dependency configuration provided by ima, or +overriding the configuration of a 3rd party plugin by another 3rd party +plugin.

+

The application itself has always access to the unlocked object +container.

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/HttpStatusCode/index.html b/api/@ima/core/enumerations/HttpStatusCode/index.html new file mode 100644 index 000000000..943e40309 --- /dev/null +++ b/api/@ima/core/enumerations/HttpStatusCode/index.html @@ -0,0 +1,67 @@ + + + + + +Enumeration: HttpStatusCode | IMA.js + + + + +
Skip to main content

Enumeration: HttpStatusCode

+

Defined in: packages/core/src/http/HttpStatusCode.ts:9

+

HTTP status code constants, representing the HTTP status codes recognized +and processed by this proxy.

+

Const

+

See

+

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+

Enumeration Members

+

BAD_REQUEST

+
+

BAD_REQUEST: 400

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:12

+
+

FORBIDDEN

+
+

FORBIDDEN: 403

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:14

+
+

NO_CONTENT

+
+

NO_CONTENT: 204

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:11

+
+

NOT_FOUND

+
+

NOT_FOUND: 404

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:15

+
+

OK

+
+

OK: 200

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:10

+
+

SERVER_ERROR

+
+

SERVER_ERROR: 500

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:17

+
+

TIMEOUT

+
+

TIMEOUT: 408

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:16

+
+

UNAUTHORIZED

+
+

UNAUTHORIZED: 401

+
+

Defined in: packages/core/src/http/HttpStatusCode.ts:13

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/RendererEvents/index.html b/api/@ima/core/enumerations/RendererEvents/index.html new file mode 100644 index 000000000..61c6cb948 --- /dev/null +++ b/api/@ima/core/enumerations/RendererEvents/index.html @@ -0,0 +1,58 @@ + + + + + +Enumeration: RendererEvents | IMA.js + + + + +
Skip to main content

Enumeration: RendererEvents

+

Defined in: packages/core/src/page/renderer/RendererEvents.ts:4

+

Events constants, which is firing to app.

+

Enumeration Members

+

ERROR

+
+

ERROR: "$IMA.$PageRenderer.error"

+
+

Defined in: packages/core/src/page/renderer/RendererEvents.ts:31

+

PageRenderer fires event $IMA.$PageRenderer.error when there is +no _viewContainer in _renderToDOM method. Event's data contain +{message: string}.

+
+

HYDRATE_ERROR

+
+

HYDRATE_ERROR: "$IMA.$PageRenderer.hydrateError"

+
+

Defined in: packages/core/src/page/renderer/RendererEvents.ts:36

+

Fired when problem occurs during hydratation.

+
+

MOUNTED

+
+

MOUNTED: "$IMA.$PageRenderer.mounted"

+
+

Defined in: packages/core/src/page/renderer/RendererEvents.ts:10

+

PageRenderer fires event $IMA.$PageRenderer.mounted after +current page view is mounted to the DOM. Event's data contain +{type: string}.

+
+

UNMOUNTED

+
+

UNMOUNTED: "$IMA.$PageRenderer.unmounted"

+
+

Defined in: packages/core/src/page/renderer/RendererEvents.ts:24

+

PageRenderer fires event $IMA.$PageRenderer.unmounted after current view is +unmounted from the DOM. Event's data contain +{type: string}.

+
+

UPDATED

+
+

UPDATED: "$IMA.$PageRenderer.updated"

+
+

Defined in: packages/core/src/page/renderer/RendererEvents.ts:17

+

PageRenderer fires event $IMA.$PageRenderer.updated after +current state is updated in the DOM. Event's data contain +{state: Object<string, *>}.

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/RendererTypes/index.html b/api/@ima/core/enumerations/RendererTypes/index.html new file mode 100644 index 000000000..3a61b2ce3 --- /dev/null +++ b/api/@ima/core/enumerations/RendererTypes/index.html @@ -0,0 +1,36 @@ + + + + + +Enumeration: RendererTypes | IMA.js + + + + +
Skip to main content

Enumeration: RendererTypes

+

Defined in: packages/core/src/page/renderer/RendererTypes.ts:4

+

Events constants, which is firing to app.

+

Enumeration Members

+

HYDRATE

+
+

HYDRATE: "$IMA.$PageRenderer.type.hydrate"

+
+

Defined in: packages/core/src/page/renderer/RendererTypes.ts:12

+

The HYDRATE type is set if mounting use React.hydrate method.

+
+

RENDER

+
+

RENDER: "$IMA.$PageRenderer.type.render"

+
+

Defined in: packages/core/src/page/renderer/RendererTypes.ts:8

+

The RENDER type is set if mounting use React.render method.

+
+

UNMOUNT

+
+

UNMOUNT: "$IMA.$PageRenderer.type.unmount"

+
+

Defined in: packages/core/src/page/renderer/RendererTypes.ts:16

+

The UNMOUNT type is set if unmounting use React.unmountComponentAtNode method.

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/RouteNames/index.html b/api/@ima/core/enumerations/RouteNames/index.html new file mode 100644 index 000000000..a5ccd05a0 --- /dev/null +++ b/api/@ima/core/enumerations/RouteNames/index.html @@ -0,0 +1,32 @@ + + + + + +Enumeration: RouteNames | IMA.js + + + + +
Skip to main content

Enumeration: RouteNames

+

Defined in: packages/core/src/router/RouteNames.ts:5

+

HTTP status code constants, representing the HTTP status codes recognized +and processed by this proxy.

+

Enumeration Members

+

ERROR

+
+

ERROR: "error"

+
+

Defined in: packages/core/src/router/RouteNames.ts:16

+

The internal route name used for the error page (the 5XX HTTP status +code error page).

+
+

NOT_FOUND

+
+

NOT_FOUND: "notFound"

+
+

Defined in: packages/core/src/router/RouteNames.ts:10

+

The internal route name used for the "not found" error page (the 4XX +HTTP status code error page).

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/RouterEvents/index.html b/api/@ima/core/enumerations/RouterEvents/index.html new file mode 100644 index 000000000..ff72f055f --- /dev/null +++ b/api/@ima/core/enumerations/RouterEvents/index.html @@ -0,0 +1,57 @@ + + + + + +Enumeration: RouterEvents | IMA.js + + + + +
Skip to main content

Enumeration: RouterEvents

+

Defined in: packages/core/src/router/RouterEvents.ts:4

+

Events constants, which is firing to app.

+

Enumeration Members

+

AFTER_HANDLE_ROUTE

+
+

AFTER_HANDLE_ROUTE: "$IMA.$Router.afterHandleRoute"

+
+

Defined in: packages/core/src/router/RouterEvents.ts:25

+

Router fire event $IMA.$Router.afterHandleRoute after page +manager handle the route. Event's data contain +{response: Object<string, any>, params: Object<string, string>, +route: ima.core.router.AbstractRoute, path: string, options: Object<string, *>}. +The response is page render result. The path is current +path, the params are params extracted from path, the +route is handle route for path and the options is route +additional options.

+
+

AFTER_LOADING_ASYNC_ROUTE

+
+

AFTER_LOADING_ASYNC_ROUTE: "$IMA.$Router.afterLoadingAsyncRoute"

+
+

Defined in: packages/core/src/router/RouterEvents.ts:37

+

Event fired when router finishes loading of async view +and controller. If both are sync this is never fired.

+
+

BEFORE_HANDLE_ROUTE

+
+

BEFORE_HANDLE_ROUTE: "$IMA.$Router.beforeHandleRoute"

+
+

Defined in: packages/core/src/router/RouterEvents.ts:13

+

Router fire event $IMA.$Router.beforeHandleRoute before page +manager handle the route. Event's data contain +{ params: Object<string, string>, route: ima.core.router.AbstractRoute, path: string, options: Object<string, any>}. +The path is current path, the params are params extracted from path, the +route is handle route for path and the options is route +additional options.

+
+

BEFORE_LOADING_ASYNC_ROUTE

+
+

BEFORE_LOADING_ASYNC_ROUTE: "$IMA.$Router.beforeLoadingAsyncRoute"

+
+

Defined in: packages/core/src/router/RouterEvents.ts:31

+

Fired right before loading view and controller when either +view or controller is async (or both).

+ + \ No newline at end of file diff --git a/api/@ima/core/enumerations/StateEvents/index.html b/api/@ima/core/enumerations/StateEvents/index.html new file mode 100644 index 000000000..134b2edce --- /dev/null +++ b/api/@ima/core/enumerations/StateEvents/index.html @@ -0,0 +1,32 @@ + + + + + +Enumeration: StateEvents | IMA.js + + + + +
Skip to main content

Enumeration: StateEvents

+

Defined in: packages/core/src/page/state/StateEvents.ts:4

+

Events constants, which is firing to app.

+

Enumeration Members

+

AFTER_CHANGE_STATE

+
+

AFTER_CHANGE_STATE: "$IMA.$PageStateManager.afterChangeState"

+
+

Defined in: packages/core/src/page/state/StateEvents.ts:17

+

PateStateManager fire event $IMA.$PageStateManager.afterChangeState after state +is patched. Event's data contain {newState: Object<string, *>}.

+
+

BEFORE_CHANGE_STATE

+
+

BEFORE_CHANGE_STATE: "$IMA.$PageStateManager.beforeChangeState"

+
+

Defined in: packages/core/src/page/state/StateEvents.ts:11

+

PateStateManager fire event $IMA.$PageStateManager.beforeChangeState before +state is patched. Event's data contain +{ oldState: Object<string, *>, newState: Object<string, *>, pathState: Object<string, *> }.

+ + \ No newline at end of file diff --git a/api/@ima/core/functions/bootClientApp/index.html b/api/@ima/core/functions/bootClientApp/index.html new file mode 100644 index 000000000..9f39a5497 --- /dev/null +++ b/api/@ima/core/functions/bootClientApp/index.html @@ -0,0 +1,35 @@ + + + + + +Function: bootClientApp() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/createImaApp/index.html b/api/@ima/core/functions/createImaApp/index.html new file mode 100644 index 000000000..7746d6f70 --- /dev/null +++ b/api/@ima/core/functions/createImaApp/index.html @@ -0,0 +1,27 @@ + + + + + +Function: createImaApp() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/getClientBootConfig/index.html b/api/@ima/core/functions/getClientBootConfig/index.html new file mode 100644 index 000000000..7c2bb3a51 --- /dev/null +++ b/api/@ima/core/functions/getClientBootConfig/index.html @@ -0,0 +1,22 @@ + + + + + +Function: getClientBootConfig() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/getInitialImaConfigFunctions/index.html b/api/@ima/core/functions/getInitialImaConfigFunctions/index.html new file mode 100644 index 000000000..e3c3bf381 --- /dev/null +++ b/api/@ima/core/functions/getInitialImaConfigFunctions/index.html @@ -0,0 +1,19 @@ + + + + + +Function: getInitialImaConfigFunctions() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/getInitialPluginConfig/index.html b/api/@ima/core/functions/getInitialPluginConfig/index.html new file mode 100644 index 000000000..7a0b8b17f --- /dev/null +++ b/api/@ima/core/functions/getInitialPluginConfig/index.html @@ -0,0 +1,23 @@ + + + + + +Function: getInitialPluginConfig() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/getNamespace/index.html b/api/@ima/core/functions/getNamespace/index.html new file mode 100644 index 000000000..c8aefb9d3 --- /dev/null +++ b/api/@ima/core/functions/getNamespace/index.html @@ -0,0 +1,19 @@ + + + + + +Function: getNamespace() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/onLoad/index.html b/api/@ima/core/functions/onLoad/index.html new file mode 100644 index 000000000..e87217660 --- /dev/null +++ b/api/@ima/core/functions/onLoad/index.html @@ -0,0 +1,19 @@ + + + + + +Function: onLoad() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/reviveClientApp/index.html b/api/@ima/core/functions/reviveClientApp/index.html new file mode 100644 index 000000000..88d01e4dc --- /dev/null +++ b/api/@ima/core/functions/reviveClientApp/index.html @@ -0,0 +1,22 @@ + + + + + +Function: reviveClientApp() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/functions/routeClientApp/index.html b/api/@ima/core/functions/routeClientApp/index.html new file mode 100644 index 000000000..9c6464265 --- /dev/null +++ b/api/@ima/core/functions/routeClientApp/index.html @@ -0,0 +1,25 @@ + + + + + +Function: routeClientApp() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/globals/index.html b/api/@ima/core/globals/index.html new file mode 100644 index 000000000..0c5d84c4b --- /dev/null +++ b/api/@ima/core/globals/index.html @@ -0,0 +1,200 @@ + + + + + +@ima/core | IMA.js + + + + +
Skip to main content

@ima/core

+

Enumerations

+ +

Classes

+ +

Interfaces

+ +

Type Aliases

+ +

Variables

+ +

Functions

+
+ + \ No newline at end of file diff --git a/api/@ima/core/index.html b/api/@ima/core/index.html new file mode 100644 index 000000000..5b96e0141 --- /dev/null +++ b/api/@ima/core/index.html @@ -0,0 +1,17 @@ + + + + + +@ima/core | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/AppEnvironment/index.html b/api/@ima/core/interfaces/AppEnvironment/index.html new file mode 100644 index 000000000..76ae5aa6e --- /dev/null +++ b/api/@ima/core/interfaces/AppEnvironment/index.html @@ -0,0 +1,39 @@ + + + + + +Interface: AppEnvironment | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/BootConfig/index.html b/api/@ima/core/interfaces/BootConfig/index.html new file mode 100644 index 000000000..aabba0e9d --- /dev/null +++ b/api/@ima/core/interfaces/BootConfig/index.html @@ -0,0 +1,104 @@ + + + + + +Interface: BootConfig | IMA.js + + + + +
Skip to main content

Interface: BootConfig

+

Defined in: packages/core/src/Bootstrap.ts:111

+

Extends

+ +

Properties

+

bind?

+
+

optional bind: Settings & BootSettings

+
+

Defined in: packages/core/src/Bootstrap.ts:113

+
+

initBindApp

+
+

initBindApp: InitBindFunction

+
+

Defined in: packages/core/src/Bootstrap.ts:71

+

Inherited from

+

InitAppConfig.initBindApp

+
+

initBindIma

+
+

initBindIma: InitBindFunction

+
+

Defined in: packages/core/src/Bootstrap.ts:78

+

Inherited from

+

InitImaConfig.initBindIma

+
+

initRoutes

+
+

initRoutes: InitRoutesFunction

+
+

Defined in: packages/core/src/Bootstrap.ts:72

+

Inherited from

+

InitAppConfig.initRoutes

+
+

initServicesApp

+
+

initServicesApp: InitServicesFunction

+
+

Defined in: packages/core/src/Bootstrap.ts:73

+

Inherited from

+

InitAppConfig.initServicesApp

+
+

initServicesIma

+
+

initServicesIma: InitServicesFunction

+
+

Defined in: packages/core/src/Bootstrap.ts:79

+

Inherited from

+

InitImaConfig.initServicesIma

+
+

initSettings

+
+

initSettings: InitSettingsFunction

+
+

Defined in: packages/core/src/Bootstrap.ts:74

+

Inherited from

+

InitAppConfig.initSettings

+
+

plugins

+
+

plugins: object[]

+
+

Defined in: packages/core/src/Bootstrap.ts:114

+

name

+
+

name: string

+
+

plugin

+
+

plugin: InitPluginConfig

+
+
+

routes?

+
+

optional routes: UnknownParameters

+
+

Defined in: packages/core/src/Bootstrap.ts:112

+
+

services

+
+

services: BootServices

+
+

Defined in: packages/core/src/Bootstrap.ts:115

+
+

settings

+
+

settings: BootSettings

+
+

Defined in: packages/core/src/Bootstrap.ts:116

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/BootServices/index.html b/api/@ima/core/interfaces/BootServices/index.html new file mode 100644 index 000000000..4acecd9d7 --- /dev/null +++ b/api/@ima/core/interfaces/BootServices/index.html @@ -0,0 +1,64 @@ + + + + + +Interface: BootServices | IMA.js + + + + +
Skip to main content

Interface: BootServices

+

Defined in: packages/core/src/Bootstrap.ts:97

+

Properties

+

$IMA

+
+

$IMA: GlobalImaObject

+
+

Defined in: packages/core/src/Bootstrap.ts:100

+
+

dictionary

+
+

dictionary: DictionaryConfig

+
+

Defined in: packages/core/src/Bootstrap.ts:101

+
+

request

+
+

request: null | Request

+
+

Defined in: packages/core/src/Bootstrap.ts:99

+
+

response

+
+

response: null | Response

+
+

Defined in: packages/core/src/Bootstrap.ts:98

+
+

router

+
+

router: object

+
+

Defined in: packages/core/src/Bootstrap.ts:102

+

$Host

+
+

$Host: string

+
+

$LanguagePartPath

+
+

$LanguagePartPath: string

+
+

$Path

+
+

$Path: string

+
+

$Protocol

+
+

$Protocol: "http:" | "https:"

+
+

$Root

+
+

$Root: string

+
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/DictionaryMap/index.html b/api/@ima/core/interfaces/DictionaryMap/index.html new file mode 100644 index 000000000..054dc8484 --- /dev/null +++ b/api/@ima/core/interfaces/DictionaryMap/index.html @@ -0,0 +1,14 @@ + + + + + +Interface: DictionaryMap | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/DispatcherEventsMap/index.html b/api/@ima/core/interfaces/DispatcherEventsMap/index.html new file mode 100644 index 000000000..bbea80d88 --- /dev/null +++ b/api/@ima/core/interfaces/DispatcherEventsMap/index.html @@ -0,0 +1,158 @@ + + + + + +Interface: DispatcherEventsMap | IMA.js + + + + +
Skip to main content

Interface: DispatcherEventsMap

+

Defined in: packages/core/src/event/Dispatcher.ts:6

+

Extends

+
    +
  • PageStateDispatcherEvents.PageManagerDispatcherEvents.RouterDispatcherEvents.PageRendererDispatcherEvents
  • +
+

Properties

+

$IMA.$PageRenderer.error

+
+

$IMA.$PageRenderer.error: object

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:13

+

message

+
+

message: string

+
+

Inherited from

+

PageRendererDispatcherEvents.$IMA.$PageRenderer.error

+
+

$IMA.$PageRenderer.hydrateError

+
+

$IMA.$PageRenderer.hydrateError: object

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:14

+

clientNode

+
+

clientNode: Element

+
+

error

+
+

error: Error

+
+

serverNode

+
+

serverNode: Element

+
+

Inherited from

+

PageRendererDispatcherEvents.$IMA.$PageRenderer.hydrateError

+
+

$IMA.$PageRenderer.mounted

+
+

$IMA.$PageRenderer.mounted: object

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:19

+

type

+
+

type: RENDER | HYDRATE

+
+

Inherited from

+

PageRendererDispatcherEvents.$IMA.$PageRenderer.mounted

+
+

$IMA.$PageRenderer.unmounted

+
+

$IMA.$PageRenderer.unmounted: object

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:22

+

type

+
+

type: UNMOUNT

+
+

Inherited from

+

PageRendererDispatcherEvents.$IMA.$PageRenderer.unmounted

+
+

$IMA.$PageRenderer.updated

+
+

$IMA.$PageRenderer.updated: object

+
+

Defined in: packages/core/src/page/renderer/PageRenderer.ts:23

+

pageState

+
+

pageState: AnyParameters

+
+

Inherited from

+

PageRendererDispatcherEvents.$IMA.$PageRenderer.updated

+
+

$IMA.$PageStateManager.afterChangeState

+
+

$IMA.$PageStateManager.afterChangeState: object

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:9

+

newState

+
+

newState: AnyParameters

+
+

Inherited from

+

PageStateDispatcherEvents.$IMA.$PageStateManager.afterChangeState

+
+

$IMA.$PageStateManager.beforeChangeState

+
+

$IMA.$PageStateManager.beforeChangeState: object

+
+

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:12

+

newState

+
+

newState: AnyParameters

+
+

oldState

+
+

oldState: AnyParameters

+
+

patchState

+
+

patchState: null | AnyParameters

+
+

Inherited from

+

PageStateDispatcherEvents.$IMA.$PageStateManager.beforeChangeState

+
+

$IMA.$Router.afterHandleRoute

+
+

$IMA.$Router.afterHandleRoute: AfterHandleRouteEventData

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:41

+

Inherited from

+

RouterDispatcherEvents.$IMA.$Router.afterHandleRoute

+
+

$IMA.$Router.afterLoadingAsyncRoute

+
+

$IMA.$Router.afterLoadingAsyncRoute: object

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:25

+

route

+
+

route: AbstractRoute<string | RoutePathExpression>

+
+

Inherited from

+

PageManagerDispatcherEvents.$IMA.$Router.afterLoadingAsyncRoute

+
+

$IMA.$Router.beforeHandleRoute

+
+

$IMA.$Router.beforeHandleRoute: BeforeHandleRouteEventData

+
+

Defined in: packages/core/src/router/AbstractRouter.ts:42

+

Inherited from

+

RouterDispatcherEvents.$IMA.$Router.beforeHandleRoute

+
+

$IMA.$Router.beforeLoadingAsyncRoute

+
+

$IMA.$Router.beforeLoadingAsyncRoute: object

+
+

Defined in: packages/core/src/page/manager/AbstractPageManager.ts:28

+

route

+
+

route: AbstractRoute<string | RoutePathExpression>

+
+

Inherited from

+

PageManagerDispatcherEvents.$IMA.$Router.beforeLoadingAsyncRoute

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/Environment/index.html b/api/@ima/core/interfaces/Environment/index.html new file mode 100644 index 000000000..f7ac0c928 --- /dev/null +++ b/api/@ima/core/interfaces/Environment/index.html @@ -0,0 +1,148 @@ + + + + + +Interface: Environment | IMA.js + + + + +
Skip to main content

Interface: Environment

+

Defined in: packages/core/src/boot.ts:56

+

App environment for single env key.

+

Indexable

+

[key: string]: unknown

+

Properties

+

$App?

+
+

optional $App: $AppSettings

+
+

Defined in: packages/core/src/boot.ts:61

+
+

$Debug

+
+

$Debug: boolean

+
+

Defined in: packages/core/src/boot.ts:58

+
+

$Language

+
+

$Language: Record<string, string>

+
+

Defined in: packages/core/src/boot.ts:59

+
+

$Resources()?

+
+

optional $Resources: (response, manifest, defaultResources) => Resources

+
+

Defined in: packages/core/src/boot.ts:62

+

Parameters

+
response
+

unknown

+
manifest
+

Manifest

+
defaultResources
+

Resources

+

Returns

+

Resources

+
+

$Server

+
+

$Server: object

+
+

Defined in: packages/core/src/boot.ts:67

+

cache

+
+

cache: object

+
+
cache.cacheKeyGenerator()?
+
+

optional cache.cacheKeyGenerator: (req) => string

+
+
Parameters
+
req
+

Request

+
Returns
+

string

+
cache.enabled
+
+

cache.enabled: boolean | (req) => boolean

+
+
cache.entryTtl
+
+

cache.entryTtl: number

+
+
cache.maxEntries
+
+

cache.maxEntries: number

+
+
cache.unusedEntryTtl
+
+

cache.unusedEntryTtl: number

+
+

clusters

+
+

clusters: null | number

+
+

concurrency

+
+

concurrency: number

+
+

host?

+
+

optional host: string | (__namedParameters) => string

+
+

logger

+
+

logger: object

+
+
logger.formatting
+
+

logger.formatting: "dev" | "simple" | "JSON"

+
+

overloadConcurrency

+
+

overloadConcurrency: number

+
+

port

+
+

port: number

+
+

protocol?

+
+

optional protocol: "http:" | "https:" | (__namedParameters) => "http:" | "https:"

+
+

serveSPA

+
+

serveSPA: object

+
+
serveSPA.allow
+
+

serveSPA.allow: boolean

+
+
serveSPA.blackList()?
+
+

optional serveSPA.blackList: (userAgent) => boolean

+
+
Parameters
+
userAgent
+

string

+
Returns
+

boolean

+

staticConcurrency

+
+

staticConcurrency: number

+
+

staticPath

+
+

staticPath: string

+
+
+

$Version

+
+

$Version: string

+
+

Defined in: packages/core/src/boot.ts:60

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/GlobalImaObject/index.html b/api/@ima/core/interfaces/GlobalImaObject/index.html new file mode 100644 index 000000000..35b14a343 --- /dev/null +++ b/api/@ima/core/interfaces/GlobalImaObject/index.html @@ -0,0 +1,133 @@ + + + + + +Interface: GlobalImaObject | IMA.js + + + + +
Skip to main content

Interface: GlobalImaObject

+

Defined in: packages/core/src/types.ts:51

+

Properties

+

$App

+
+

$App: $AppSettings

+
+

Defined in: packages/core/src/types.ts:54

+
+

$Debug

+
+

$Debug: boolean

+
+

Defined in: packages/core/src/types.ts:56

+
+

$Env

+
+

$Env: keyof AppEnvironment

+
+

Defined in: packages/core/src/types.ts:52

+
+

$Host

+
+

$Host: string

+
+

Defined in: packages/core/src/types.ts:58

+
+

$IMA

+
+

$IMA: GlobalImaObject

+
+

Defined in: packages/core/src/types.ts:65

+
+

$Language

+
+

$Language: string

+
+

Defined in: packages/core/src/types.ts:55

+
+

$LanguagePartPath

+
+

$LanguagePartPath: string

+
+

Defined in: packages/core/src/types.ts:61

+
+

$Path

+
+

$Path: string

+
+

Defined in: packages/core/src/types.ts:59

+
+

$Protocol

+
+

$Protocol: "http:" | "https:"

+
+

Defined in: packages/core/src/types.ts:57

+
+

$PublicPath

+
+

$PublicPath: string

+
+

Defined in: packages/core/src/types.ts:67

+
+

$RequestID

+
+

$RequestID: string

+
+

Defined in: packages/core/src/types.ts:66

+
+

$Root

+
+

$Root: string

+
+

Defined in: packages/core/src/types.ts:60

+
+

$Version

+
+

$Version: string

+
+

Defined in: packages/core/src/types.ts:53

+
+

Cache?

+
+

optional Cache: object

+
+

Defined in: packages/core/src/types.ts:70

+
+

fatalErrorHandler()?

+
+

optional fatalErrorHandler: (error) => void

+
+

Defined in: packages/core/src/types.ts:69

+

Parameters

+
error
+

Error

+

Returns

+

void

+
+

i18n

+
+

i18n: DictionaryData

+
+

Defined in: packages/core/src/types.ts:68

+
+

Runner

+
+

Runner: object

+
+

Defined in: packages/core/src/types.ts:62

+
+

SPA

+
+

SPA: boolean

+
+

Defined in: packages/core/src/types.ts:64

+
+

Test

+
+

Test: boolean

+
+

Defined in: packages/core/src/types.ts:63

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/HttpAgentRequestOptions/index.html b/api/@ima/core/interfaces/HttpAgentRequestOptions/index.html new file mode 100644 index 000000000..db7166cd0 --- /dev/null +++ b/api/@ima/core/interfaces/HttpAgentRequestOptions/index.html @@ -0,0 +1,81 @@ + + + + + +Interface: HttpAgentRequestOptions | IMA.js + + + + +
Skip to main content

Interface: HttpAgentRequestOptions

+

Defined in: packages/core/src/http/HttpAgent.ts:30

+

Properties

+

abortController?

+
+

optional abortController: AbortController

+
+

Defined in: packages/core/src/http/HttpAgent.ts:40

+
+

cache

+
+

cache: boolean

+
+

Defined in: packages/core/src/http/HttpAgent.ts:35

+
+

fetchOptions

+
+

fetchOptions: ImaRequestInit

+
+

Defined in: packages/core/src/http/HttpAgent.ts:34

+
+

keepSensitiveHeaders?

+
+

optional keepSensitiveHeaders: boolean

+
+

Defined in: packages/core/src/http/HttpAgent.ts:41

+
+

postProcessors?

+
+

optional postProcessors: <B>(response) => HttpAgentResponse<B>[]

+
+

Defined in: packages/core/src/http/HttpAgent.ts:37

+

Type Parameters

+

B = unknown

+

Parameters

+
response
+

HttpAgentResponse<B>

+

Returns

+

HttpAgentResponse<B>

+
+

repeatRequest

+
+

repeatRequest: number

+
+

Defined in: packages/core/src/http/HttpAgent.ts:33

+
+

responseType?

+
+

optional responseType: "json" | "blob" | "text" | "arrayBuffer" | "formData"

+
+

Defined in: packages/core/src/http/HttpAgent.ts:36

+
+

timeout

+
+

timeout: number

+
+

Defined in: packages/core/src/http/HttpAgent.ts:31

+
+

ttl

+
+

ttl: number

+
+

Defined in: packages/core/src/http/HttpAgent.ts:32

+
+

validateCookies?

+
+

optional validateCookies: boolean

+
+

Defined in: packages/core/src/http/HttpAgent.ts:42

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/ImaRequestInit/index.html b/api/@ima/core/interfaces/ImaRequestInit/index.html new file mode 100644 index 000000000..7e72929e9 --- /dev/null +++ b/api/@ima/core/interfaces/ImaRequestInit/index.html @@ -0,0 +1,138 @@ + + + + + +Interface: ImaRequestInit | IMA.js + + + + +
Skip to main content

Interface: ImaRequestInit

+

Defined in: packages/core/src/http/HttpAgent.ts:26

+

Options for a request sent using the HTTP agent.

+

Extends

+
    +
  • Omit<RequestInit, "body">
  • +
+

Properties

+

cache?

+
+

optional cache: RequestCache

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1863

+

Flag that enables caching the HTTP request +(enabled by default, also applies to requests in progress).

+

Inherited from

+

Omit.cache

+
+

credentials?

+
+

optional credentials: RequestCredentials

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1865

+

A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials.

+

Inherited from

+

Omit.credentials

+
+

headers?

+
+

optional headers: Record<string, string>

+
+

Defined in: packages/core/src/http/HttpAgent.ts:27

+

Sets the additional request +headers (the keys are case-insensitive header names, the values +are header values).

+

Overrides

+

Omit.headers

+
+

integrity?

+
+

optional integrity: string

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1869

+

A cryptographic hash of the resource to be fetched by request. Sets request's integrity.

+

Inherited from

+

Omit.integrity

+
+

keepalive?

+
+

optional keepalive: boolean

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1871

+

A boolean to set request's keepalive.

+

Inherited from

+

Omit.keepalive

+
+

method?

+
+

optional method: string

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1873

+

A string to set request's method.

+

Inherited from

+

Omit.method

+
+

mode?

+
+

optional mode: RequestMode

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1875

+

A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.

+

Inherited from

+

Omit.mode

+
+

priority?

+
+

optional priority: RequestPriority

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1876

+

Inherited from

+

Omit.priority

+
+

redirect?

+
+

optional redirect: RequestRedirect

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1878

+

A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.

+

Inherited from

+

Omit.redirect

+
+

referrer?

+
+

optional referrer: string

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1880

+

A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.

+

Inherited from

+

Omit.referrer

+
+

referrerPolicy?

+
+

optional referrerPolicy: ReferrerPolicy

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1882

+

A referrer policy to set request's referrerPolicy.

+

Inherited from

+

Omit.referrerPolicy

+
+

signal?

+
+

optional signal: null | AbortSignal

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1884

+

An AbortSignal to set request's signal.

+

Inherited from

+

Omit.signal

+
+

window?

+
+

optional window: null

+
+

Defined in: node_modules/typescript/lib/lib.dom.d.ts:1886

+

Can only be null. Used to disassociate request from any Window.

+

Inherited from

+

Omit.window

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/InitAppConfig/index.html b/api/@ima/core/interfaces/InitAppConfig/index.html new file mode 100644 index 000000000..c4b520a91 --- /dev/null +++ b/api/@ima/core/interfaces/InitAppConfig/index.html @@ -0,0 +1,42 @@ + + + + + +Interface: InitAppConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/InitImaConfig/index.html b/api/@ima/core/interfaces/InitImaConfig/index.html new file mode 100644 index 000000000..3f524779d --- /dev/null +++ b/api/@ima/core/interfaces/InitImaConfig/index.html @@ -0,0 +1,30 @@ + + + + + +Interface: InitImaConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/InitPluginConfig/index.html b/api/@ima/core/interfaces/InitPluginConfig/index.html new file mode 100644 index 000000000..215bf6452 --- /dev/null +++ b/api/@ima/core/interfaces/InitPluginConfig/index.html @@ -0,0 +1,32 @@ + + + + + +Interface: InitPluginConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/Manifest/index.html b/api/@ima/core/interfaces/Manifest/index.html new file mode 100644 index 000000000..1007d9f7b --- /dev/null +++ b/api/@ima/core/interfaces/Manifest/index.html @@ -0,0 +1,32 @@ + + + + + +Interface: Manifest | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/ManifestAsset/index.html b/api/@ima/core/interfaces/ManifestAsset/index.html new file mode 100644 index 000000000..ba9a405fe --- /dev/null +++ b/api/@ima/core/interfaces/ManifestAsset/index.html @@ -0,0 +1,134 @@ + + + + + +Interface: ManifestAsset | IMA.js + + + + +
Skip to main content

Interface: ManifestAsset

+

Defined in: packages/core/src/boot.ts:24

+

Extends

+
    +
  • AssetInfo
  • +
+

Indexable

+

[key: string]: any

+

Properties

+

chunkhash?

+
+

optional chunkhash: string | string[]

+
+

Defined in: node_modules/webpack/types.d.ts:7439

+

the value(s) of the chunk hash used for this asset

+

Inherited from

+

AssetInfo.chunkhash

+
+

contenthash?

+
+

optional contenthash: string | string[]

+
+

Defined in: node_modules/webpack/types.d.ts:7449

+

the value(s) of the content hash used for this asset

+

Inherited from

+

AssetInfo.contenthash

+
+

development?

+
+

optional development: boolean

+
+

Defined in: node_modules/webpack/types.d.ts:7464

+

true, when asset is only used for development and doesn't count towards user-facing assets

+

Inherited from

+

AssetInfo.development

+
+

fullhash?

+
+

optional fullhash: string | string[]

+
+

Defined in: node_modules/webpack/types.d.ts:7434

+

the value(s) of the full hash used for this asset

+

Inherited from

+

AssetInfo.fullhash

+
+

hotModuleReplacement?

+
+

optional hotModuleReplacement: boolean

+
+

Defined in: node_modules/webpack/types.d.ts:7469

+

true, when asset ships data for updating an existing application (HMR)

+

Inherited from

+

AssetInfo.hotModuleReplacement

+
+

immutable?

+
+

optional immutable: boolean

+
+

Defined in: node_modules/webpack/types.d.ts:7424

+

true, if the asset can be long term cached forever (contains a hash)

+

Inherited from

+

AssetInfo.immutable

+
+

javascriptModule?

+
+

optional javascriptModule: boolean

+
+

Defined in: node_modules/webpack/types.d.ts:7474

+

true, when asset is javascript and an ESM

+

Inherited from

+

AssetInfo.javascriptModule

+
+

minimized?

+
+

optional minimized: boolean

+
+

Defined in: node_modules/webpack/types.d.ts:7429

+

whether the asset is minimized

+

Inherited from

+

AssetInfo.minimized

+
+

modulehash?

+
+

optional modulehash: string | string[]

+
+

Defined in: node_modules/webpack/types.d.ts:7444

+

the value(s) of the module hash used for this asset

+

Inherited from

+

AssetInfo.modulehash

+
+

name

+
+

name: string

+
+

Defined in: packages/core/src/boot.ts:25

+
+ +
+

optional related: Record<string, string | string[]>

+
+

Defined in: node_modules/webpack/types.d.ts:7479

+

object of pointers to other assets, keyed by type of relation (only points from parent to child)

+

Inherited from

+

AssetInfo.related

+
+

size?

+
+

optional size: number

+
+

Defined in: node_modules/webpack/types.d.ts:7459

+

size in bytes, only set after asset has been emitted

+

Inherited from

+

AssetInfo.size

+
+

sourceFilename?

+
+

optional sourceFilename: string

+
+

Defined in: node_modules/webpack/types.d.ts:7454

+

when asset was created from a source file (potentially transformed), the original filename relative to compilation context

+

Inherited from

+

AssetInfo.sourceFilename

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/OCAliasMap/index.html b/api/@ima/core/interfaces/OCAliasMap/index.html new file mode 100644 index 000000000..c6df508b1 --- /dev/null +++ b/api/@ima/core/interfaces/OCAliasMap/index.html @@ -0,0 +1,263 @@ + + + + + +Interface: OCAliasMap | IMA.js + + + + +
Skip to main content

Interface: OCAliasMap

+

Defined in: packages/core/src/config/bind.ts:78

+

Map of IMA default string aliases and constants initialized in +the ObjectContainer. This is used for typechecking and type +hinting of string OC arguments.

+

Properties

+

$Cache

+
+

$Cache: Cache

+
+

Defined in: packages/core/src/config/bind.ts:103

+
+

$CacheFactory

+
+

$CacheFactory: CacheFactory<unknown>

+
+

Defined in: packages/core/src/config/bind.ts:102

+
+

$CacheStorage

+
+

$CacheStorage: MapStorage<unknown>

+
+

Defined in: packages/core/src/config/bind.ts:101

+
+

$ComponentUtils

+
+

$ComponentUtils: ComponentUtils

+
+

Defined in: packages/core/src/config/bind.ts:109

+
+

$ControllerDecorator

+
+

$ControllerDecorator: ControllerDecorator

+
+

Defined in: packages/core/src/config/bind.ts:105

+
+

$CookieStorage

+
+

$CookieStorage: CookieStorage

+
+

Defined in: packages/core/src/config/bind.ts:91

+
+

$CookieTransformFunction

+
+

$CookieTransformFunction: CookieTransformFunction

+
+

Defined in: packages/core/src/config/bind.ts:90

+
+

$Dictionary

+
+

$Dictionary: Dictionary

+
+

Defined in: packages/core/src/config/bind.ts:89

+
+

$Dispatcher

+
+

$Dispatcher: Dispatcher

+
+

Defined in: packages/core/src/config/bind.ts:98

+
+

$Env

+
+

$Env: keyof AppEnvironment

+
+

Defined in: packages/core/src/config/bind.ts:82

+
+

$Error

+
+

$Error: Dispatcher

+
+

Defined in: packages/core/src/config/bind.ts:88

+
+

$EventBus

+
+

$EventBus: EventBus

+
+

Defined in: packages/core/src/config/bind.ts:99

+
+

$Helper

+
+

$Helper: __module

+
+

Defined in: packages/core/src/config/bind.ts:79

+
+

$Http

+
+

$Http: HttpAgent

+
+

Defined in: packages/core/src/config/bind.ts:119

+
+

$HttpAgentProxy

+
+

$HttpAgentProxy: HttpProxy

+
+

Defined in: packages/core/src/config/bind.ts:118

+
+

$HttpStatusCode

+
+

$HttpStatusCode: Readonly<{ BAD_REQUEST: 400; FORBIDDEN: 403; NO_CONTENT: 204; NOT_FOUND: 404; OK: 200; SERVER_ERROR: 500; TIMEOUT: 408; UNAUTHORIZED: 401; }>

+
+

Defined in: packages/core/src/config/bind.ts:120

+
+

$HttpUrlTransformer

+
+

$HttpUrlTransformer: UrlTransformer

+
+

Defined in: packages/core/src/config/bind.ts:117

+
+

$MapStorage

+
+

$MapStorage: MapStorage<unknown>

+
+

Defined in: packages/core/src/config/bind.ts:95

+
+

$MetaManager

+
+

$MetaManager: MetaManager

+
+

Defined in: packages/core/src/config/bind.ts:104

+
+

$Observable

+
+

$Observable: Observable

+
+

Defined in: packages/core/src/config/bind.ts:100

+
+

$oc

+
+

$oc: ObjectContainer

+
+

Defined in: packages/core/src/config/bind.ts:80

+
+

$PageFactory

+
+

$PageFactory: PageFactory

+
+

Defined in: packages/core/src/config/bind.ts:108

+
+

$PageHandlerRegistry

+
+

$PageHandlerRegistry: PageHandlerRegistry

+
+

Defined in: packages/core/src/config/bind.ts:111

+
+

$PageManager

+
+

$PageManager: PageManager

+
+

Defined in: packages/core/src/config/bind.ts:112

+
+

$PageRenderer

+
+

$PageRenderer: PageRenderer

+
+

Defined in: packages/core/src/config/bind.ts:121

+
+

$PageStateManager

+
+

$PageStateManager: PageStateManager

+
+

Defined in: packages/core/src/config/bind.ts:107

+
+

$PageStateManagerDecorator

+
+

$PageStateManagerDecorator: PageStateManagerDecorator

+
+

Defined in: packages/core/src/config/bind.ts:106

+
+

$Protocol

+
+

$Protocol: "http:" | "https:"

+
+

Defined in: packages/core/src/config/bind.ts:83

+
+

$Request

+
+

$Request: Request

+
+

Defined in: packages/core/src/config/bind.ts:85

+
+

$Response

+
+

$Response: Response

+
+

Defined in: packages/core/src/config/bind.ts:86

+
+

$RouteFactory

+
+

$RouteFactory: RouteFactory

+
+

Defined in: packages/core/src/config/bind.ts:113

+
+

$RouteNames

+
+

$RouteNames: RouteNames

+
+

Defined in: packages/core/src/config/bind.ts:115

+
+

$Router

+
+

$Router: Router

+
+

Defined in: packages/core/src/config/bind.ts:114

+
+

$RouterEvents

+
+

$RouterEvents: RouterEvents

+
+

Defined in: packages/core/src/config/bind.ts:116

+
+

$Secure

+
+

$Secure: boolean

+
+

Defined in: packages/core/src/config/bind.ts:84

+
+

$SessionMapStorage

+
+

$SessionMapStorage: SessionMapStorage<unknown>

+
+

Defined in: packages/core/src/config/bind.ts:97

+
+

$SessionStorage

+
+

$SessionStorage: SessionStorage<unknown> | MapStorage<unknown>

+
+

Defined in: packages/core/src/config/bind.ts:92

+
+

$Settings

+
+

$Settings: Settings & BootSettings & object

+
+

Defined in: packages/core/src/config/bind.ts:81

+
+

$Utils

+
+

$Utils: Utils

+
+

Defined in: packages/core/src/config/bind.ts:110

+
+

$WeakMapStorage

+
+

$WeakMapStorage: WeakMapStorage

+
+

Defined in: packages/core/src/config/bind.ts:96

+
+

$Window

+
+

$Window: Window

+
+

Defined in: packages/core/src/config/bind.ts:87

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/PageAction/index.html b/api/@ima/core/interfaces/PageAction/index.html new file mode 100644 index 000000000..bd3650747 --- /dev/null +++ b/api/@ima/core/interfaces/PageAction/index.html @@ -0,0 +1,59 @@ + + + + + +Interface: PageAction | IMA.js + + + + +
Skip to main content

Interface: PageAction

+

Defined in: packages/core/src/page/PageTypes.ts:39

+

Extends

+ +

Properties

+

event?

+
+

optional event: Event & object

+
+

Defined in: packages/core/src/page/PageTypes.ts:40

+

Type declaration

+
state?
+
+

optional state: object

+
+
state.scroll?
+
+

optional state.scroll: object

+
+
state.scroll.x
+
+

state.scroll.x: number

+
+
state.scroll.y
+
+

state.scroll.y: number

+
+

Overrides

+

RouteAction.event

+
+

type?

+
+

optional type: ActionTypes

+
+

Defined in: packages/core/src/router/Router.ts:18

+

Inherited from

+

RouteAction.type

+
+

url?

+
+

optional url: string

+
+

Defined in: packages/core/src/router/Router.ts:20

+

Inherited from

+

RouteAction.url

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/PageRendererSettings/index.html b/api/@ima/core/interfaces/PageRendererSettings/index.html new file mode 100644 index 000000000..b0d71bfd2 --- /dev/null +++ b/api/@ima/core/interfaces/PageRendererSettings/index.html @@ -0,0 +1,50 @@ + + + + + +Interface: PageRendererSettings | IMA.js + + + + +
Skip to main content

Interface: PageRendererSettings

+

Defined in: packages/core/src/boot.ts:123

+

Properties

+

batchResolve?

+
+

optional batchResolve: boolean

+
+

Defined in: packages/core/src/boot.ts:124

+
+

batchResolveNoTransaction?

+
+

optional batchResolveNoTransaction: boolean

+
+

Defined in: packages/core/src/boot.ts:125

+
+

documentView

+
+

documentView: unknown

+
+

Defined in: packages/core/src/boot.ts:127

+
+

managedRootView?

+
+

optional managedRootView: unknown

+
+

Defined in: packages/core/src/boot.ts:128

+
+

masterElementId

+
+

masterElementId: string

+
+

Defined in: packages/core/src/boot.ts:126

+
+

viewAdapter?

+
+

optional viewAdapter: unknown

+
+

Defined in: packages/core/src/boot.ts:129

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/Resources/index.html b/api/@ima/core/interfaces/Resources/index.html new file mode 100644 index 000000000..4b9186261 --- /dev/null +++ b/api/@ima/core/interfaces/Resources/index.html @@ -0,0 +1,32 @@ + + + + + +Interface: Resources | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/RouteAction/index.html b/api/@ima/core/interfaces/RouteAction/index.html new file mode 100644 index 000000000..4d4b1aa52 --- /dev/null +++ b/api/@ima/core/interfaces/RouteAction/index.html @@ -0,0 +1,36 @@ + + + + + +Interface: RouteAction | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/RouteFactoryOptions/index.html b/api/@ima/core/interfaces/RouteFactoryOptions/index.html new file mode 100644 index 000000000..3a96e9077 --- /dev/null +++ b/api/@ima/core/interfaces/RouteFactoryOptions/index.html @@ -0,0 +1,60 @@ + + + + + +Interface: RouteFactoryOptions | IMA.js + + + + +
Skip to main content

Interface: RouteFactoryOptions

+

Defined in: packages/core/src/router/Router.ts:35

+

Extended by

+ +

Properties

+

autoScroll

+
+

autoScroll: boolean

+
+

Defined in: packages/core/src/router/Router.ts:36

+
+

documentView

+
+

documentView: unknown

+
+

Defined in: packages/core/src/router/Router.ts:37

+
+

extensions?

+
+

optional extensions: ("$Helper" | "$oc" | "$Settings" | "$Env" | "$Protocol" | "$Secure" | "$Request" | "$Response" | "$Window" | "$Error" | "$Dictionary" | "$CookieTransformFunction" | "$CookieStorage" | "$SessionStorage" | "$MapStorage" | "$WeakMapStorage" | "$SessionMapStorage" | "$Dispatcher" | "$EventBus" | "$Observable" | "$CacheStorage" | "$CacheFactory" | "$Cache" | "$MetaManager" | "$ControllerDecorator" | "$PageStateManagerDecorator" | "$PageStateManager" | "$PageFactory" | "$ComponentUtils" | "$Utils" | "$PageHandlerRegistry" | "$PageManager" | "$RouteFactory" | "$Router" | "$RouteNames" | "$RouterEvents" | "$HttpUrlTransformer" | "$HttpAgentProxy" | "$Http" | "$HttpStatusCode" | "$PageRenderer" | `$Helper.${string}` | `$oc.${string}` | `$Settings.${string}` | `$Env.${string}` | `$Protocol.${string}` | `$Secure.${string}` | `$Request.${string}` | `$Response.${string}` | `$Window.${string}` | `$Error.${string}` | `$Dictionary.${string}` | `$CookieTransformFunction.${string}` | `$CookieStorage.${string}` | `$SessionStorage.${string}` | `$MapStorage.${string}` | `$WeakMapStorage.${string}` | `$SessionMapStorage.${string}` | `$Dispatcher.${string}` | `$EventBus.${string}` | `$Observable.${string}` | `$CacheStorage.${string}` | `$CacheFactory.${string}` | `$Cache.${string}` | `$MetaManager.${string}` | `$ControllerDecorator.${string}` | `$PageStateManagerDecorator.${string}` | `$PageStateManager.${string}` | `$PageFactory.${string}` | `$ComponentUtils.${string}` | `$Utils.${string}` | `$PageHandlerRegistry.${string}` | `$PageManager.${string}` | `$RouteFactory.${string}` | `$Router.${string}` | `$RouteNames.${string}` | `$RouterEvents.${string}` | `$HttpUrlTransformer.${string}` | `$HttpAgentProxy.${string}` | `$Http.${string}` | `$HttpStatusCode.${string}` | `$PageRenderer.${string}` | "?$Helper" | "?$oc" | "?$Settings" | "?$Env" | "?$Protocol" | "?$Secure" | "?$Request" | "?$Response" | "?$Window" | "?$Error" | "?$Dictionary" | "?$CookieTransformFunction" | "?$CookieStorage" | "?$SessionStorage" | "?$MapStorage" | "?$WeakMapStorage" | "?$SessionMapStorage" | "?$Dispatcher" | "?$EventBus" | "?$Observable" | "?$CacheStorage" | "?$CacheFactory" | "?$Cache" | "?$MetaManager" | "?$ControllerDecorator" | "?$PageStateManagerDecorator" | "?$PageStateManager" | "?$PageFactory" | "?$ComponentUtils" | "?$Utils" | "?$PageHandlerRegistry" | "?$PageManager" | "?$RouteFactory" | "?$Router" | "?$RouteNames" | "?$RouterEvents" | "?$HttpUrlTransformer" | "?$HttpAgentProxy" | "?$Http" | "?$HttpStatusCode" | "?$PageRenderer" | `?$Helper.${string}` | `?$oc.${string}` | `?$Settings.${string}` | `?$Env.${string}` | `?$Protocol.${string}` | `?$Secure.${string}` | `?$Request.${string}` | `?$Response.${string}` | `?$Window.${string}` | `?$Error.${string}` | `?$Dictionary.${string}` | `?$CookieTransformFunction.${string}` | `?$CookieStorage.${string}` | `?$SessionStorage.${string}` | `?$MapStorage.${string}` | `?$WeakMapStorage.${string}` | `?$SessionMapStorage.${string}` | `?$Dispatcher.${string}` | `?$EventBus.${string}` | `?$Observable.${string}` | `?$CacheStorage.${string}` | `?$CacheFactory.${string}` | `?$Cache.${string}` | `?$MetaManager.${string}` | `?$ControllerDecorator.${string}` | `?$PageStateManagerDecorator.${string}` | `?$PageStateManager.${string}` | `?$PageFactory.${string}` | `?$ComponentUtils.${string}` | `?$Utils.${string}` | `?$PageHandlerRegistry.${string}` | `?$PageManager.${string}` | `?$RouteFactory.${string}` | `?$Router.${string}` | `?$RouteNames.${string}` | `?$RouterEvents.${string}` | `?$HttpUrlTransformer.${string}` | `?$HttpAgentProxy.${string}` | `?$Http.${string}` | `?$HttpStatusCode.${string}` | `?$PageRenderer.${string}` | "...?$Helper" | "...?$oc" | "...?$Settings" | "...?$Env" | "...?$Protocol" | "...?$Secure" | "...?$Request" | "...?$Response" | "...?$Window" | "...?$Error" | "...?$Dictionary" | "...?$CookieTransformFunction" | "...?$CookieStorage" | "...?$SessionStorage" | "...?$MapStorage" | "...?$WeakMapStorage" | "...?$SessionMapStorage" | "...?$Dispatcher" | "...?$EventBus" | "...?$Observable" | "...?$CacheStorage" | "...?$CacheFactory" | "...?$Cache" | "...?$MetaManager" | "...?$ControllerDecorator" | "...?$PageStateManagerDecorator" | "...?$PageStateManager" | "...?$PageFactory" | "...?$ComponentUtils" | "...?$Utils" | "...?$PageHandlerRegistry" | "...?$PageManager" | "...?$RouteFactory" | "...?$Router" | "...?$RouteNames" | "...?$RouterEvents" | "...?$HttpUrlTransformer" | "...?$HttpAgentProxy" | "...?$Http" | "...?$HttpStatusCode" | "...?$PageRenderer" | `...?$Helper.${string}` | `...?$oc.${string}` | `...?$Settings.${string}` | `...?$Env.${string}` | `...?$Protocol.${string}` | `...?$Secure.${string}` | `...?$Request.${string}` | `...?$Response.${string}` | `...?$Window.${string}` | `...?$Error.${string}` | `...?$Dictionary.${string}` | `...?$CookieTransformFunction.${string}` | `...?$CookieStorage.${string}` | `...?$SessionStorage.${string}` | `...?$MapStorage.${string}` | `...?$WeakMapStorage.${string}` | `...?$SessionMapStorage.${string}` | `...?$Dispatcher.${string}` | `...?$EventBus.${string}` | `...?$Observable.${string}` | `...?$CacheStorage.${string}` | `...?$CacheFactory.${string}` | `...?$Cache.${string}` | `...?$MetaManager.${string}` | `...?$ControllerDecorator.${string}` | `...?$PageStateManagerDecorator.${string}` | `...?$PageStateManager.${string}` | `...?$PageFactory.${string}` | `...?$ComponentUtils.${string}` | `...?$Utils.${string}` | `...?$PageHandlerRegistry.${string}` | `...?$PageManager.${string}` | `...?$RouteFactory.${string}` | `...?$Router.${string}` | `...?$RouteNames.${string}` | `...?$RouterEvents.${string}` | `...?$HttpUrlTransformer.${string}` | `...?$HttpAgentProxy.${string}` | `...?$Http.${string}` | `...?$HttpStatusCode.${string}` | `...?$PageRenderer.${string}` | "...$Helper" | "...$oc" | "...$Settings" | "...$Env" | "...$Protocol" | "...$Secure" | "...$Request" | "...$Response" | "...$Window" | "...$Error" | "...$Dictionary" | "...$CookieTransformFunction" | "...$CookieStorage" | "...$SessionStorage" | "...$MapStorage" | "...$WeakMapStorage" | "...$SessionMapStorage" | "...$Dispatcher" | "...$EventBus" | "...$Observable" | "...$CacheStorage" | "...$CacheFactory" | "...$Cache" | "...$MetaManager" | "...$ControllerDecorator" | "...$PageStateManagerDecorator" | "...$PageStateManager" | "...$PageFactory" | "...$ComponentUtils" | "...$Utils" | "...$PageHandlerRegistry" | "...$PageManager" | "...$RouteFactory" | "...$Router" | "...$RouteNames" | "...$RouterEvents" | "...$HttpUrlTransformer" | "...$HttpAgentProxy" | "...$Http" | "...$HttpStatusCode" | "...$PageRenderer" | `...$Helper.${string}` | `...$oc.${string}` | `...$Settings.${string}` | `...$Env.${string}` | `...$Protocol.${string}` | `...$Secure.${string}` | `...$Request.${string}` | `...$Response.${string}` | `...$Window.${string}` | `...$Error.${string}` | `...$Dictionary.${string}` | `...$CookieTransformFunction.${string}` | `...$CookieStorage.${string}` | `...$SessionStorage.${string}` | `...$MapStorage.${string}` | `...$WeakMapStorage.${string}` | `...$SessionMapStorage.${string}` | `...$Dispatcher.${string}` | `...$EventBus.${string}` | `...$Observable.${string}` | `...$CacheStorage.${string}` | `...$CacheFactory.${string}` | `...$Cache.${string}` | `...$MetaManager.${string}` | `...$ControllerDecorator.${string}` | `...$PageStateManagerDecorator.${string}` | `...$PageStateManager.${string}` | `...$PageFactory.${string}` | `...$ComponentUtils.${string}` | `...$Utils.${string}` | `...$PageHandlerRegistry.${string}` | `...$PageManager.${string}` | `...$RouteFactory.${string}` | `...$Router.${string}` | `...$RouteNames.${string}` | `...$RouterEvents.${string}` | `...$HttpUrlTransformer.${string}` | `...$HttpAgentProxy.${string}` | `...$Http.${string}` | `...$HttpStatusCode.${string}` | `...$PageRenderer.${string}` | Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>> | [Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>>, { optional: true; }])[]

+
+

Defined in: packages/core/src/router/Router.ts:44

+
+

managedRootView

+
+

managedRootView: unknown

+
+

Defined in: packages/core/src/router/Router.ts:38

+
+

middlewares

+
+

middlewares: RouterMiddleware[]

+
+

Defined in: packages/core/src/router/Router.ts:43

+
+

onlyUpdate

+
+

onlyUpdate: boolean | (controller, view) => boolean

+
+

Defined in: packages/core/src/router/Router.ts:39

+
+

viewAdapter

+
+

viewAdapter: unknown

+
+

Defined in: packages/core/src/router/Router.ts:42

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/RouteLocals/index.html b/api/@ima/core/interfaces/RouteLocals/index.html new file mode 100644 index 000000000..cd784f87d --- /dev/null +++ b/api/@ima/core/interfaces/RouteLocals/index.html @@ -0,0 +1,28 @@ + + + + + +Interface: RouteLocals | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/RouteOptions/index.html b/api/@ima/core/interfaces/RouteOptions/index.html new file mode 100644 index 000000000..74a4c55e5 --- /dev/null +++ b/api/@ima/core/interfaces/RouteOptions/index.html @@ -0,0 +1,86 @@ + + + + + +Interface: RouteOptions | IMA.js + + + + +
Skip to main content

Interface: RouteOptions

+

Defined in: packages/core/src/router/Router.ts:58

+

Extends

+ +

Properties

+

autoScroll

+
+

autoScroll: boolean

+
+

Defined in: packages/core/src/router/Router.ts:36

+

Inherited from

+

RouteFactoryOptions.autoScroll

+
+

documentView

+
+

documentView: unknown

+
+

Defined in: packages/core/src/router/Router.ts:37

+

Inherited from

+

RouteFactoryOptions.documentView

+
+

extensions?

+
+

optional extensions: ("$Helper" | "$oc" | "$Settings" | "$Env" | "$Protocol" | "$Secure" | "$Request" | "$Response" | "$Window" | "$Error" | "$Dictionary" | "$CookieTransformFunction" | "$CookieStorage" | "$SessionStorage" | "$MapStorage" | "$WeakMapStorage" | "$SessionMapStorage" | "$Dispatcher" | "$EventBus" | "$Observable" | "$CacheStorage" | "$CacheFactory" | "$Cache" | "$MetaManager" | "$ControllerDecorator" | "$PageStateManagerDecorator" | "$PageStateManager" | "$PageFactory" | "$ComponentUtils" | "$Utils" | "$PageHandlerRegistry" | "$PageManager" | "$RouteFactory" | "$Router" | "$RouteNames" | "$RouterEvents" | "$HttpUrlTransformer" | "$HttpAgentProxy" | "$Http" | "$HttpStatusCode" | "$PageRenderer" | `$Helper.${string}` | `$oc.${string}` | `$Settings.${string}` | `$Env.${string}` | `$Protocol.${string}` | `$Secure.${string}` | `$Request.${string}` | `$Response.${string}` | `$Window.${string}` | `$Error.${string}` | `$Dictionary.${string}` | `$CookieTransformFunction.${string}` | `$CookieStorage.${string}` | `$SessionStorage.${string}` | `$MapStorage.${string}` | `$WeakMapStorage.${string}` | `$SessionMapStorage.${string}` | `$Dispatcher.${string}` | `$EventBus.${string}` | `$Observable.${string}` | `$CacheStorage.${string}` | `$CacheFactory.${string}` | `$Cache.${string}` | `$MetaManager.${string}` | `$ControllerDecorator.${string}` | `$PageStateManagerDecorator.${string}` | `$PageStateManager.${string}` | `$PageFactory.${string}` | `$ComponentUtils.${string}` | `$Utils.${string}` | `$PageHandlerRegistry.${string}` | `$PageManager.${string}` | `$RouteFactory.${string}` | `$Router.${string}` | `$RouteNames.${string}` | `$RouterEvents.${string}` | `$HttpUrlTransformer.${string}` | `$HttpAgentProxy.${string}` | `$Http.${string}` | `$HttpStatusCode.${string}` | `$PageRenderer.${string}` | "?$Helper" | "?$oc" | "?$Settings" | "?$Env" | "?$Protocol" | "?$Secure" | "?$Request" | "?$Response" | "?$Window" | "?$Error" | "?$Dictionary" | "?$CookieTransformFunction" | "?$CookieStorage" | "?$SessionStorage" | "?$MapStorage" | "?$WeakMapStorage" | "?$SessionMapStorage" | "?$Dispatcher" | "?$EventBus" | "?$Observable" | "?$CacheStorage" | "?$CacheFactory" | "?$Cache" | "?$MetaManager" | "?$ControllerDecorator" | "?$PageStateManagerDecorator" | "?$PageStateManager" | "?$PageFactory" | "?$ComponentUtils" | "?$Utils" | "?$PageHandlerRegistry" | "?$PageManager" | "?$RouteFactory" | "?$Router" | "?$RouteNames" | "?$RouterEvents" | "?$HttpUrlTransformer" | "?$HttpAgentProxy" | "?$Http" | "?$HttpStatusCode" | "?$PageRenderer" | `?$Helper.${string}` | `?$oc.${string}` | `?$Settings.${string}` | `?$Env.${string}` | `?$Protocol.${string}` | `?$Secure.${string}` | `?$Request.${string}` | `?$Response.${string}` | `?$Window.${string}` | `?$Error.${string}` | `?$Dictionary.${string}` | `?$CookieTransformFunction.${string}` | `?$CookieStorage.${string}` | `?$SessionStorage.${string}` | `?$MapStorage.${string}` | `?$WeakMapStorage.${string}` | `?$SessionMapStorage.${string}` | `?$Dispatcher.${string}` | `?$EventBus.${string}` | `?$Observable.${string}` | `?$CacheStorage.${string}` | `?$CacheFactory.${string}` | `?$Cache.${string}` | `?$MetaManager.${string}` | `?$ControllerDecorator.${string}` | `?$PageStateManagerDecorator.${string}` | `?$PageStateManager.${string}` | `?$PageFactory.${string}` | `?$ComponentUtils.${string}` | `?$Utils.${string}` | `?$PageHandlerRegistry.${string}` | `?$PageManager.${string}` | `?$RouteFactory.${string}` | `?$Router.${string}` | `?$RouteNames.${string}` | `?$RouterEvents.${string}` | `?$HttpUrlTransformer.${string}` | `?$HttpAgentProxy.${string}` | `?$Http.${string}` | `?$HttpStatusCode.${string}` | `?$PageRenderer.${string}` | "...?$Helper" | "...?$oc" | "...?$Settings" | "...?$Env" | "...?$Protocol" | "...?$Secure" | "...?$Request" | "...?$Response" | "...?$Window" | "...?$Error" | "...?$Dictionary" | "...?$CookieTransformFunction" | "...?$CookieStorage" | "...?$SessionStorage" | "...?$MapStorage" | "...?$WeakMapStorage" | "...?$SessionMapStorage" | "...?$Dispatcher" | "...?$EventBus" | "...?$Observable" | "...?$CacheStorage" | "...?$CacheFactory" | "...?$Cache" | "...?$MetaManager" | "...?$ControllerDecorator" | "...?$PageStateManagerDecorator" | "...?$PageStateManager" | "...?$PageFactory" | "...?$ComponentUtils" | "...?$Utils" | "...?$PageHandlerRegistry" | "...?$PageManager" | "...?$RouteFactory" | "...?$Router" | "...?$RouteNames" | "...?$RouterEvents" | "...?$HttpUrlTransformer" | "...?$HttpAgentProxy" | "...?$Http" | "...?$HttpStatusCode" | "...?$PageRenderer" | `...?$Helper.${string}` | `...?$oc.${string}` | `...?$Settings.${string}` | `...?$Env.${string}` | `...?$Protocol.${string}` | `...?$Secure.${string}` | `...?$Request.${string}` | `...?$Response.${string}` | `...?$Window.${string}` | `...?$Error.${string}` | `...?$Dictionary.${string}` | `...?$CookieTransformFunction.${string}` | `...?$CookieStorage.${string}` | `...?$SessionStorage.${string}` | `...?$MapStorage.${string}` | `...?$WeakMapStorage.${string}` | `...?$SessionMapStorage.${string}` | `...?$Dispatcher.${string}` | `...?$EventBus.${string}` | `...?$Observable.${string}` | `...?$CacheStorage.${string}` | `...?$CacheFactory.${string}` | `...?$Cache.${string}` | `...?$MetaManager.${string}` | `...?$ControllerDecorator.${string}` | `...?$PageStateManagerDecorator.${string}` | `...?$PageStateManager.${string}` | `...?$PageFactory.${string}` | `...?$ComponentUtils.${string}` | `...?$Utils.${string}` | `...?$PageHandlerRegistry.${string}` | `...?$PageManager.${string}` | `...?$RouteFactory.${string}` | `...?$Router.${string}` | `...?$RouteNames.${string}` | `...?$RouterEvents.${string}` | `...?$HttpUrlTransformer.${string}` | `...?$HttpAgentProxy.${string}` | `...?$Http.${string}` | `...?$HttpStatusCode.${string}` | `...?$PageRenderer.${string}` | "...$Helper" | "...$oc" | "...$Settings" | "...$Env" | "...$Protocol" | "...$Secure" | "...$Request" | "...$Response" | "...$Window" | "...$Error" | "...$Dictionary" | "...$CookieTransformFunction" | "...$CookieStorage" | "...$SessionStorage" | "...$MapStorage" | "...$WeakMapStorage" | "...$SessionMapStorage" | "...$Dispatcher" | "...$EventBus" | "...$Observable" | "...$CacheStorage" | "...$CacheFactory" | "...$Cache" | "...$MetaManager" | "...$ControllerDecorator" | "...$PageStateManagerDecorator" | "...$PageStateManager" | "...$PageFactory" | "...$ComponentUtils" | "...$Utils" | "...$PageHandlerRegistry" | "...$PageManager" | "...$RouteFactory" | "...$Router" | "...$RouteNames" | "...$RouterEvents" | "...$HttpUrlTransformer" | "...$HttpAgentProxy" | "...$Http" | "...$HttpStatusCode" | "...$PageRenderer" | `...$Helper.${string}` | `...$oc.${string}` | `...$Settings.${string}` | `...$Env.${string}` | `...$Protocol.${string}` | `...$Secure.${string}` | `...$Request.${string}` | `...$Response.${string}` | `...$Window.${string}` | `...$Error.${string}` | `...$Dictionary.${string}` | `...$CookieTransformFunction.${string}` | `...$CookieStorage.${string}` | `...$SessionStorage.${string}` | `...$MapStorage.${string}` | `...$WeakMapStorage.${string}` | `...$SessionMapStorage.${string}` | `...$Dispatcher.${string}` | `...$EventBus.${string}` | `...$Observable.${string}` | `...$CacheStorage.${string}` | `...$CacheFactory.${string}` | `...$Cache.${string}` | `...$MetaManager.${string}` | `...$ControllerDecorator.${string}` | `...$PageStateManagerDecorator.${string}` | `...$PageStateManager.${string}` | `...$PageFactory.${string}` | `...$ComponentUtils.${string}` | `...$Utils.${string}` | `...$PageHandlerRegistry.${string}` | `...$PageManager.${string}` | `...$RouteFactory.${string}` | `...$Router.${string}` | `...$RouteNames.${string}` | `...$RouterEvents.${string}` | `...$HttpUrlTransformer.${string}` | `...$HttpAgentProxy.${string}` | `...$Http.${string}` | `...$HttpStatusCode.${string}` | `...$PageRenderer.${string}` | Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>> | [Constructor<Extension<any, any, any>> | AbstractConstructor<Extension<any, any, any>>, { optional: true; }])[]

+
+

Defined in: packages/core/src/router/Router.ts:44

+

Inherited from

+

RouteFactoryOptions.extensions

+
+

headers?

+
+

optional headers: UnknownParameters

+
+

Defined in: packages/core/src/router/Router.ts:59

+
+

httpStatus?

+
+

optional httpStatus: number

+
+

Defined in: packages/core/src/router/Router.ts:60

+
+

managedRootView

+
+

managedRootView: unknown

+
+

Defined in: packages/core/src/router/Router.ts:38

+

Inherited from

+

RouteFactoryOptions.managedRootView

+
+

middlewares

+
+

middlewares: RouterMiddleware[]

+
+

Defined in: packages/core/src/router/Router.ts:43

+

Inherited from

+

RouteFactoryOptions.middlewares

+
+

onlyUpdate

+
+

onlyUpdate: boolean | (controller, view) => boolean

+
+

Defined in: packages/core/src/router/Router.ts:39

+

Inherited from

+

RouteFactoryOptions.onlyUpdate

+
+

viewAdapter

+
+

viewAdapter: unknown

+
+

Defined in: packages/core/src/router/Router.ts:42

+

Inherited from

+

RouteFactoryOptions.viewAdapter

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/Settings/index.html b/api/@ima/core/interfaces/Settings/index.html new file mode 100644 index 000000000..a597d9f19 --- /dev/null +++ b/api/@ima/core/interfaces/Settings/index.html @@ -0,0 +1,84 @@ + + + + + +Interface: Settings | IMA.js + + + + +
Skip to main content

Interface: Settings

+

Defined in: packages/core/src/boot.ts:135

+

App settings for single env key.

+

Properties

+

$Cache?

+
+

optional $Cache: object

+
+

Defined in: packages/core/src/boot.ts:144

+

enabled?

+
+

optional enabled: boolean

+
+

ttl?

+
+

optional ttl: number

+
+
+

$Http

+
+

$Http: object

+
+

Defined in: packages/core/src/boot.ts:136

+

cacheOptions

+
+

cacheOptions: HttpAgentImplCacheOptions

+
+

defaultRequestOptions

+
+

defaultRequestOptions: Omit<HttpAgentRequestOptions, "abortController">

+
+
+

$Observable?

+
+

optional $Observable: object

+
+

Defined in: packages/core/src/boot.ts:151

+

maxHistoryLength?

+
+

optional maxHistoryLength: number

+
+
+

$Page

+
+

$Page: object

+
+

Defined in: packages/core/src/boot.ts:148

+

$Render

+
+

$Render: PageRendererSettings

+
+
+

$Router?

+
+

optional $Router: object

+
+

Defined in: packages/core/src/boot.ts:140

+

isSPARouted()?

+
+

optional isSPARouted: (url, action?) => boolean

+
+
Parameters
+
url
+

string

+
action?
+

RouteAction

+
Returns
+

boolean

+

middlewareTimeout?

+
+

optional middlewareTimeout: number

+
+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/Utils/index.html b/api/@ima/core/interfaces/Utils/index.html new file mode 100644 index 000000000..a6fdc1430 --- /dev/null +++ b/api/@ima/core/interfaces/Utils/index.html @@ -0,0 +1,74 @@ + + + + + +Interface: Utils | IMA.js + + + + +
Skip to main content

Interface: Utils

+

Defined in: packages/core/src/types.ts:34

+

Properties

+

$Dictionary

+
+

$Dictionary: Dictionary

+
+

Defined in: packages/core/src/types.ts:35

+
+

$Dispatcher

+
+

$Dispatcher: Dispatcher

+
+

Defined in: packages/core/src/types.ts:36

+
+

$EventBus

+
+

$EventBus: EventBus

+
+

Defined in: packages/core/src/types.ts:37

+
+

$Helper

+
+

$Helper: __module

+
+

Defined in: packages/core/src/types.ts:39

+
+

$Http

+
+

$Http: HttpAgent

+
+

Defined in: packages/core/src/types.ts:40

+
+

$Observable

+
+

$Observable: ObservableImpl

+
+

Defined in: packages/core/src/types.ts:38

+
+

$PageStateManager

+
+

$PageStateManager: PageStateManager

+
+

Defined in: packages/core/src/types.ts:41

+
+

$Router

+
+

$Router: Router

+
+

Defined in: packages/core/src/types.ts:42

+
+

$Settings

+
+

$Settings: Settings & BootSettings & object

+
+

Defined in: packages/core/src/types.ts:44

+
+

$Window

+
+

$Window: Window

+
+

Defined in: packages/core/src/types.ts:43

+ + \ No newline at end of file diff --git a/api/@ima/core/interfaces/WindowCustomEventsMap/index.html b/api/@ima/core/interfaces/WindowCustomEventsMap/index.html new file mode 100644 index 000000000..3e777545b --- /dev/null +++ b/api/@ima/core/interfaces/WindowCustomEventsMap/index.html @@ -0,0 +1,14 @@ + + + + + +Interface: WindowCustomEventsMap | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/AnyParameters/index.html b/api/@ima/core/type-aliases/AnyParameters/index.html new file mode 100644 index 000000000..512963239 --- /dev/null +++ b/api/@ima/core/type-aliases/AnyParameters/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: AnyParameters | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/AppSettings/index.html b/api/@ima/core/type-aliases/AppSettings/index.html new file mode 100644 index 000000000..dc3145ddf --- /dev/null +++ b/api/@ima/core/type-aliases/AppSettings/index.html @@ -0,0 +1,35 @@ + + + + + +Type Alias: AppSettings | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/AsyncRouteController/index.html b/api/@ima/core/type-aliases/AsyncRouteController/index.html new file mode 100644 index 000000000..c1bd78f1c --- /dev/null +++ b/api/@ima/core/type-aliases/AsyncRouteController/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: AsyncRouteController | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/AsyncRouteView/index.html b/api/@ima/core/type-aliases/AsyncRouteView/index.html new file mode 100644 index 000000000..9ed069652 --- /dev/null +++ b/api/@ima/core/type-aliases/AsyncRouteView/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: AsyncRouteView | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/BootSettings/index.html b/api/@ima/core/type-aliases/BootSettings/index.html new file mode 100644 index 000000000..3f3dd3658 --- /dev/null +++ b/api/@ima/core/type-aliases/BootSettings/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: BootSettings | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/Cookie/index.html b/api/@ima/core/type-aliases/Cookie/index.html new file mode 100644 index 000000000..75101b70f --- /dev/null +++ b/api/@ima/core/type-aliases/Cookie/index.html @@ -0,0 +1,26 @@ + + + + + +Type Alias: Cookie | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/CookieOptions/index.html b/api/@ima/core/type-aliases/CookieOptions/index.html new file mode 100644 index 000000000..eaefba2a2 --- /dev/null +++ b/api/@ima/core/type-aliases/CookieOptions/index.html @@ -0,0 +1,50 @@ + + + + + +Type Alias: CookieOptions | IMA.js + + + + +
Skip to main content

Type Alias: CookieOptions

+
+

CookieOptions: object

+
+

Defined in: packages/core/src/storage/CookieStorage.ts:22

+

Type declaration

+

domain?

+
+

optional domain: string

+
+

expires?

+
+

optional expires: Date

+
+

httpOnly?

+
+

optional httpOnly: boolean

+
+

maxAge?

+
+

optional maxAge: number

+
+

partitioned?

+
+

optional partitioned: boolean

+
+

path?

+
+

optional path: string

+
+

sameSite?

+
+

optional sameSite: "none" | "lax" | "strict"

+
+

secure?

+
+

optional secure: boolean

+
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/CookieTransformFunction/index.html b/api/@ima/core/type-aliases/CookieTransformFunction/index.html new file mode 100644 index 000000000..af61a9e2c --- /dev/null +++ b/api/@ima/core/type-aliases/CookieTransformFunction/index.html @@ -0,0 +1,36 @@ + + + + + +Type Alias: CookieTransformFunction | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/DecoratedOCAliasMap/index.html b/api/@ima/core/type-aliases/DecoratedOCAliasMap/index.html new file mode 100644 index 000000000..d8b0ac2f4 --- /dev/null +++ b/api/@ima/core/type-aliases/DecoratedOCAliasMap/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: DecoratedOCAliasMap | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/Dependencies/index.html b/api/@ima/core/type-aliases/Dependencies/index.html new file mode 100644 index 000000000..06d4efa0a --- /dev/null +++ b/api/@ima/core/type-aliases/Dependencies/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: Dependencies\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/Dependency/index.html b/api/@ima/core/type-aliases/Dependency/index.html new file mode 100644 index 000000000..732064c7a --- /dev/null +++ b/api/@ima/core/type-aliases/Dependency/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: Dependency\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/DictionaryConfig/index.html b/api/@ima/core/type-aliases/DictionaryConfig/index.html new file mode 100644 index 000000000..2e6e0b6bd --- /dev/null +++ b/api/@ima/core/type-aliases/DictionaryConfig/index.html @@ -0,0 +1,26 @@ + + + + + +Type Alias: DictionaryConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/DictionaryData/index.html b/api/@ima/core/type-aliases/DictionaryData/index.html new file mode 100644 index 000000000..59fd612ee --- /dev/null +++ b/api/@ima/core/type-aliases/DictionaryData/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: DictionaryData | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/DispatcherListener/index.html b/api/@ima/core/type-aliases/DispatcherListener/index.html new file mode 100644 index 000000000..ddd187c4a --- /dev/null +++ b/api/@ima/core/type-aliases/DispatcherListener/index.html @@ -0,0 +1,24 @@ + + + + + +Type Alias: DispatcherListener()\<D\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/EntryOptions/index.html b/api/@ima/core/type-aliases/EntryOptions/index.html new file mode 100644 index 000000000..7cd3d9c4d --- /dev/null +++ b/api/@ima/core/type-aliases/EntryOptions/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: EntryOptions | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/EventBusEventHandler/index.html b/api/@ima/core/type-aliases/EventBusEventHandler/index.html new file mode 100644 index 000000000..13ee26815 --- /dev/null +++ b/api/@ima/core/type-aliases/EventBusEventHandler/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: EventBusEventHandler() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/EventBusListener/index.html b/api/@ima/core/type-aliases/EventBusListener/index.html new file mode 100644 index 000000000..e5bb9df1a --- /dev/null +++ b/api/@ima/core/type-aliases/EventBusListener/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: EventBusListener() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/EventBusOptions/index.html b/api/@ima/core/type-aliases/EventBusOptions/index.html new file mode 100644 index 000000000..eba8912ff --- /dev/null +++ b/api/@ima/core/type-aliases/EventBusOptions/index.html @@ -0,0 +1,30 @@ + + + + + +Type Alias: EventBusOptions | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/ExecutionJob/index.html b/api/@ima/core/type-aliases/ExecutionJob/index.html new file mode 100644 index 000000000..c522bd5db --- /dev/null +++ b/api/@ima/core/type-aliases/ExecutionJob/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: ExecutionJob() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/GenericErrorParams/index.html b/api/@ima/core/type-aliases/GenericErrorParams/index.html new file mode 100644 index 000000000..d03a24a94 --- /dev/null +++ b/api/@ima/core/type-aliases/GenericErrorParams/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: GenericErrorParams | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/HttpAgentResponse/index.html b/api/@ima/core/type-aliases/HttpAgentResponse/index.html new file mode 100644 index 000000000..0aa4280a2 --- /dev/null +++ b/api/@ima/core/type-aliases/HttpAgentResponse/index.html @@ -0,0 +1,45 @@ + + + + + +Type Alias: HttpAgentResponse\<B\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/HttpProxyErrorParams/index.html b/api/@ima/core/type-aliases/HttpProxyErrorParams/index.html new file mode 100644 index 000000000..b44fb532b --- /dev/null +++ b/api/@ima/core/type-aliases/HttpProxyErrorParams/index.html @@ -0,0 +1,39 @@ + + + + + +Type Alias: HttpProxyErrorParams\<B\> | IMA.js + + + + +
Skip to main content

Type Alias: HttpProxyErrorParams<B>

+
+

HttpProxyErrorParams<B>: object & HttpProxyRequestParams

+
+

Defined in: packages/core/src/http/HttpProxy.ts:51

+

An object that describes a failed HTTP request, providing +information about both the failure reported by the server and how the +request has been sent to the server.

+

Type declaration

+

body

+
+

body: B

+
+

cause

+
+

cause: Error

+
+

errorName

+
+

errorName: string

+
+

status

+
+

status: number

+
+

Type Parameters

+

B = unknown

+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/HttpProxyRequestParams/index.html b/api/@ima/core/type-aliases/HttpProxyRequestParams/index.html new file mode 100644 index 000000000..74a5f1ac5 --- /dev/null +++ b/api/@ima/core/type-aliases/HttpProxyRequestParams/index.html @@ -0,0 +1,40 @@ + + + + + +Type Alias: HttpProxyRequestParams | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/InitBindFunction/index.html b/api/@ima/core/type-aliases/InitBindFunction/index.html new file mode 100644 index 000000000..33b593cd4 --- /dev/null +++ b/api/@ima/core/type-aliases/InitBindFunction/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: InitBindFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/InitRoutesFunction/index.html b/api/@ima/core/type-aliases/InitRoutesFunction/index.html new file mode 100644 index 000000000..e1596ae9f --- /dev/null +++ b/api/@ima/core/type-aliases/InitRoutesFunction/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: InitRoutesFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/InitServicesFunction/index.html b/api/@ima/core/type-aliases/InitServicesFunction/index.html new file mode 100644 index 000000000..5dec60d4a --- /dev/null +++ b/api/@ima/core/type-aliases/InitServicesFunction/index.html @@ -0,0 +1,26 @@ + + + + + +Type Alias: InitServicesFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/InitSettingsFunction/index.html b/api/@ima/core/type-aliases/InitSettingsFunction/index.html new file mode 100644 index 000000000..81a10bb3f --- /dev/null +++ b/api/@ima/core/type-aliases/InitSettingsFunction/index.html @@ -0,0 +1,26 @@ + + + + + +Type Alias: InitSettingsFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/LoadedResources/index.html b/api/@ima/core/type-aliases/LoadedResources/index.html new file mode 100644 index 000000000..6001b94f4 --- /dev/null +++ b/api/@ima/core/type-aliases/LoadedResources/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: LoadedResources\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/LocalizationFunction/index.html b/api/@ima/core/type-aliases/LocalizationFunction/index.html new file mode 100644 index 000000000..de4871fa2 --- /dev/null +++ b/api/@ima/core/type-aliases/LocalizationFunction/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: LocalizationFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/ManageArgs/index.html b/api/@ima/core/type-aliases/ManageArgs/index.html new file mode 100644 index 000000000..46264b64c --- /dev/null +++ b/api/@ima/core/type-aliases/ManageArgs/index.html @@ -0,0 +1,34 @@ + + + + + +Type Alias: ManageArgs | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/ManagedPage/index.html b/api/@ima/core/type-aliases/ManagedPage/index.html new file mode 100644 index 000000000..0c3f02f52 --- /dev/null +++ b/api/@ima/core/type-aliases/ManagedPage/index.html @@ -0,0 +1,114 @@ + + + + + +Type Alias: ManagedPage | IMA.js + + + + +
Skip to main content

Type Alias: ManagedPage

+
+

ManagedPage: object

+
+

Defined in: packages/core/src/page/PageTypes.ts:11

+

Type declaration

+

controller

+
+

controller: RouteController

+
+

controllerInstance

+
+

controllerInstance: Controller

+
+

decoratedController

+
+

decoratedController: ControllerDecorator

+
+

options

+
+

options: RouteOptions

+
+

params

+
+

params: RouteParams

+
+

route

+
+

route: InstanceType<typeof AbstractRoute>

+
+

state

+
+

state: object

+
+

state.abort?

+
+

optional state.abort: object

+
+

state.abort.promise

+
+

state.abort.promise: Promise<void>

+
+

state.abort.reject()

+
+

state.abort.reject: () => void

+
+
Returns
+

void

+

state.abort.resolve()

+
+

state.abort.resolve: () => void

+
+
Returns
+

void

+

state.activated

+
+

state.activated: boolean

+
+

state.cancelled

+
+

state.cancelled: boolean

+
+

state.executed

+
+

state.executed: boolean

+
+

state.initialized

+
+

state.initialized: boolean

+
+

state.mounted

+
+

state.mounted: boolean

+
+

state.page

+
+

state.page: object

+
+

state.page.promise

+
+

state.page.promise: Promise<void>

+
+

state.page.reject()

+
+

state.page.reject: () => void

+
+
Returns
+

void

+

state.page.resolve()

+
+

state.page.resolve: () => void

+
+
Returns
+

void

+

view

+
+

view: unknown

+
+

viewInstance

+
+

viewInstance: unknown

+
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/MetaAttributes/index.html b/api/@ima/core/type-aliases/MetaAttributes/index.html new file mode 100644 index 000000000..2bb9560ca --- /dev/null +++ b/api/@ima/core/type-aliases/MetaAttributes/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: MetaAttributes | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/MetaManagerRecord/index.html b/api/@ima/core/type-aliases/MetaManagerRecord/index.html new file mode 100644 index 000000000..b3db018cf --- /dev/null +++ b/api/@ima/core/type-aliases/MetaManagerRecord/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: MetaManagerRecord\<K\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/MetaManagerRecordKeys/index.html b/api/@ima/core/type-aliases/MetaManagerRecordKeys/index.html new file mode 100644 index 000000000..2aaa19774 --- /dev/null +++ b/api/@ima/core/type-aliases/MetaManagerRecordKeys/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: MetaManagerRecordKeys | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/MetaValue/index.html b/api/@ima/core/type-aliases/MetaValue/index.html new file mode 100644 index 000000000..4ebe1cc1d --- /dev/null +++ b/api/@ima/core/type-aliases/MetaValue/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: MetaValue | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/NativeListener/index.html b/api/@ima/core/type-aliases/NativeListener/index.html new file mode 100644 index 000000000..c1931e9b4 --- /dev/null +++ b/api/@ima/core/type-aliases/NativeListener/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: NativeListener() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/OCInjectable/index.html b/api/@ima/core/type-aliases/OCInjectable/index.html new file mode 100644 index 000000000..a029eac35 --- /dev/null +++ b/api/@ima/core/type-aliases/OCInjectable/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: OCInjectable\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/OCInstance/index.html b/api/@ima/core/type-aliases/OCInstance/index.html new file mode 100644 index 000000000..5a1e92218 --- /dev/null +++ b/api/@ima/core/type-aliases/OCInstance/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: OCInstance\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/OCInstanceConstrain/index.html b/api/@ima/core/type-aliases/OCInstanceConstrain/index.html new file mode 100644 index 000000000..ad0fade5f --- /dev/null +++ b/api/@ima/core/type-aliases/OCInstanceConstrain/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: OCInstanceConstrain\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/ObjectParameters/index.html b/api/@ima/core/type-aliases/ObjectParameters/index.html new file mode 100644 index 000000000..cc6947047 --- /dev/null +++ b/api/@ima/core/type-aliases/ObjectParameters/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: ObjectParameters | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/PageData/index.html b/api/@ima/core/type-aliases/PageData/index.html new file mode 100644 index 000000000..02e6b29b0 --- /dev/null +++ b/api/@ima/core/type-aliases/PageData/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: PageData | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/PageState/index.html b/api/@ima/core/type-aliases/PageState/index.html new file mode 100644 index 000000000..0a99d30d1 --- /dev/null +++ b/api/@ima/core/type-aliases/PageState/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: PageState | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/PluginInitBindFunction/index.html b/api/@ima/core/type-aliases/PluginInitBindFunction/index.html new file mode 100644 index 000000000..1f3367ade --- /dev/null +++ b/api/@ima/core/type-aliases/PluginInitBindFunction/index.html @@ -0,0 +1,30 @@ + + + + + +Type Alias: PluginInitBindFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/PluginInitServicesFunction/index.html b/api/@ima/core/type-aliases/PluginInitServicesFunction/index.html new file mode 100644 index 000000000..7b79b7cf1 --- /dev/null +++ b/api/@ima/core/type-aliases/PluginInitServicesFunction/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: PluginInitServicesFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/PluginInitSettingsFunction/index.html b/api/@ima/core/type-aliases/PluginInitSettingsFunction/index.html new file mode 100644 index 000000000..d2eb0f104 --- /dev/null +++ b/api/@ima/core/type-aliases/PluginInitSettingsFunction/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: PluginInitSettingsFunction() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/Resource/index.html b/api/@ima/core/type-aliases/Resource/index.html new file mode 100644 index 000000000..f83c0e891 --- /dev/null +++ b/api/@ima/core/type-aliases/Resource/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: Resource | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/RouteController/index.html b/api/@ima/core/type-aliases/RouteController/index.html new file mode 100644 index 000000000..cc92cd42d --- /dev/null +++ b/api/@ima/core/type-aliases/RouteController/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: RouteController | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/RouteParams/index.html b/api/@ima/core/type-aliases/RouteParams/index.html new file mode 100644 index 000000000..e5f0b45c2 --- /dev/null +++ b/api/@ima/core/type-aliases/RouteParams/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: RouteParams\<T\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/RoutePathExpression/index.html b/api/@ima/core/type-aliases/RoutePathExpression/index.html new file mode 100644 index 000000000..7706b1e6f --- /dev/null +++ b/api/@ima/core/type-aliases/RoutePathExpression/index.html @@ -0,0 +1,51 @@ + + + + + +Type Alias: RoutePathExpression | IMA.js + + + + +
Skip to main content

Type Alias: RoutePathExpression

+
+

RoutePathExpression: object

+
+

Defined in: packages/core/src/router/DynamicRoute.ts:23

+

Path expression type used for router routes definition.

+

Type declaration

+

extractParameters()

+
+

extractParameters: (trimmedPath, additionalData) => RouteParams

+
+

Function which takes care of parsing url params from given path. +It returns object of key/value pairs which correspond to expected path url +params and their values.

+

Parameters

+
trimmedPath
+

string

+
additionalData
+
path
+

string

+
query
+

RouteParams

+

Returns

+

RouteParams

+

matcher

+
+

matcher: RegExp

+
+

RegExp use in router for path matching to current route.

+

toPath()

+
+

toPath: (params) => string

+
+

Function that generates valid path from given route params.

+

Parameters

+
params
+

RouteParams

+

Returns

+

string

+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/RouteView/index.html b/api/@ima/core/type-aliases/RouteView/index.html new file mode 100644 index 000000000..890a53319 --- /dev/null +++ b/api/@ima/core/type-aliases/RouteView/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: RouteView | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/RouterMiddleware/index.html b/api/@ima/core/type-aliases/RouterMiddleware/index.html new file mode 100644 index 000000000..24782677d --- /dev/null +++ b/api/@ima/core/type-aliases/RouterMiddleware/index.html @@ -0,0 +1,26 @@ + + + + + +Type Alias: RouterMiddleware() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/SerializedCacheEntry/index.html b/api/@ima/core/type-aliases/SerializedCacheEntry/index.html new file mode 100644 index 000000000..0d3149b77 --- /dev/null +++ b/api/@ima/core/type-aliases/SerializedCacheEntry/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: SerializedCacheEntry\<V\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/SerializedData/index.html b/api/@ima/core/type-aliases/SerializedData/index.html new file mode 100644 index 000000000..f15239a3b --- /dev/null +++ b/api/@ima/core/type-aliases/SerializedData/index.html @@ -0,0 +1,21 @@ + + + + + +Type Alias: SerializedData\<V\> | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/StringParameters/index.html b/api/@ima/core/type-aliases/StringParameters/index.html new file mode 100644 index 000000000..545f4c7a2 --- /dev/null +++ b/api/@ima/core/type-aliases/StringParameters/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: StringParameters | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/UnknownParameters/index.html b/api/@ima/core/type-aliases/UnknownParameters/index.html new file mode 100644 index 000000000..88aee4947 --- /dev/null +++ b/api/@ima/core/type-aliases/UnknownParameters/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: UnknownParameters | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/UnknownPromiseParameters/index.html b/api/@ima/core/type-aliases/UnknownPromiseParameters/index.html new file mode 100644 index 000000000..54af34bef --- /dev/null +++ b/api/@ima/core/type-aliases/UnknownPromiseParameters/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: UnknownPromiseParameters | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/WindowEventTargets/index.html b/api/@ima/core/type-aliases/WindowEventTargets/index.html new file mode 100644 index 000000000..a71091e7a --- /dev/null +++ b/api/@ima/core/type-aliases/WindowEventTargets/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: WindowEventTargets | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/type-aliases/WindowEventTargetsMap/index.html b/api/@ima/core/type-aliases/WindowEventTargetsMap/index.html new file mode 100644 index 000000000..779e26518 --- /dev/null +++ b/api/@ima/core/type-aliases/WindowEventTargetsMap/index.html @@ -0,0 +1,19 @@ + + + + + +Type Alias: WindowEventTargetsMap\<E\> | IMA.js + + + + +
Skip to main content

Type Alias: WindowEventTargetsMap<E>

+
+

WindowEventTargetsMap<E>: E extends Document ? DocumentEventMap : E extends globalThis.Window ? WindowEventMap : E extends HTMLBodyElement ? HTMLBodyElementEventMap : E extends SVGSVGElement ? SVGSVGElementEventMap : E extends SVGElement ? SVGElementEventMap : E extends HTMLMediaElement ? HTMLMediaElementEventMap : E extends HTMLVideoElement ? HTMLVideoElementEventMap : HTMLElementEventMap & WindowCustomEventsMap

+
+

Defined in: packages/core/src/window/Window.ts:13

+

Type Parameters

+

E extends WindowEventTargets

+ + \ No newline at end of file diff --git a/api/@ima/core/variables/ns/index.html b/api/@ima/core/variables/ns/index.html new file mode 100644 index 000000000..aec852427 --- /dev/null +++ b/api/@ima/core/variables/ns/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: ns | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/core/variables/pluginLoader/index.html b/api/@ima/core/variables/pluginLoader/index.html new file mode 100644 index 000000000..e4d2dc28a --- /dev/null +++ b/api/@ima/core/variables/pluginLoader/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: pluginLoader | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/classes/Logger/index.html b/api/@ima/dev-utils/classes/Logger/index.html new file mode 100644 index 000000000..5a11cba7a --- /dev/null +++ b/api/@ima/dev-utils/classes/Logger/index.html @@ -0,0 +1,164 @@ + + + + + +Class: Logger | IMA.js + + + + +
Skip to main content

Class: Logger

+

Defined in: logger.ts:35

+

Constructors

+

new Logger()

+
+

new Logger(identifier?, globalLogger?): Logger

+
+

Defined in: logger.ts:42

+

Parameters

+
identifier?
+

string

+
globalLogger?
+

Logger

+

Returns

+

Logger

+

Properties

+

innerElapsed()?

+
+

optional innerElapsed: () => string

+
+

Defined in: logger.ts:40

+

Returns

+

string

+

Methods

+

endTracking()

+
+

endTracking(): void

+
+

Defined in: logger.ts:94

+

Returns

+

void

+
+

error()

+
+

error(message, options?): void

+
+

Defined in: logger.ts:120

+

Parameters

+
message
+

string | Error

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

info()

+
+

info(message, options?): void

+
+

Defined in: logger.ts:112

+

Parameters

+
message
+

string

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

isSilent()

+
+

isSilent(): boolean

+
+

Defined in: logger.ts:163

+

Returns

+

boolean

+
+

plugin()

+
+

plugin(message, options?): void

+
+

Defined in: logger.ts:147

+

Parameters

+
message
+

string

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

setSilent()

+
+

setSilent(isSilent): void

+
+

Defined in: logger.ts:159

+

Parameters

+
isSilent
+

boolean

+

Returns

+

void

+
+

success()

+
+

success(message, options?): void

+
+

Defined in: logger.ts:116

+

Parameters

+
message
+

string

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

sync()

+
+

sync(message, options?): void

+
+

Defined in: logger.ts:143

+

Parameters

+
message
+

string

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

warn()

+
+

warn(message, options?): void

+
+

Defined in: logger.ts:139

+

Parameters

+
message
+

string

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

write()

+
+

write(message, options?): void

+
+

Defined in: logger.ts:151

+

Parameters

+
message
+

string

+
options?
+

LoggerOptions

+

Returns

+

void

+
+

writeElapsed()

+
+

writeElapsed(elapsed): void

+
+

Defined in: logger.ts:155

+

Parameters

+
elapsed
+

() => string

+

Returns

+

void

+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/createLogger/index.html b/api/@ima/dev-utils/functions/createLogger/index.html new file mode 100644 index 000000000..16b5ea1f3 --- /dev/null +++ b/api/@ima/dev-utils/functions/createLogger/index.html @@ -0,0 +1,22 @@ + + + + + +Function: createLogger() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/createSourceFragment/index.html b/api/@ima/dev-utils/functions/createSourceFragment/index.html new file mode 100644 index 000000000..19a89dc2f --- /dev/null +++ b/api/@ima/dev-utils/functions/createSourceFragment/index.html @@ -0,0 +1,34 @@ + + + + + +Function: createSourceFragment() | IMA.js + + + + +
Skip to main content

Function: createSourceFragment()

+
+

createSourceFragment(line, source, contextLines?): FragmentLine[]

+
+

Defined in: sourceFragment.ts:18

+

Create fragment of code lines around input line (above and below), created +created from provided source code.

+

Parameters

+

line

+

number

+

Source code line number, around which +you want to created source fragment.

+

source

+

string

+

Source file's source code.

+

contextLines?

+

number = 4

+

Number of lines to generate, +below and after watched line.

+

Returns

+

FragmentLine[]

+

Array of source code lines.

+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/extractSourceMappingUrl/index.html b/api/@ima/dev-utils/functions/extractSourceMappingUrl/index.html new file mode 100644 index 000000000..0342b3033 --- /dev/null +++ b/api/@ima/dev-utils/functions/extractSourceMappingUrl/index.html @@ -0,0 +1,28 @@ + + + + + +Function: extractSourceMappingUrl() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/formatError/index.html b/api/@ima/dev-utils/functions/formatError/index.html new file mode 100644 index 000000000..59c3f28d0 --- /dev/null +++ b/api/@ima/dev-utils/functions/formatError/index.html @@ -0,0 +1,38 @@ + + + + + +Function: formatError() | IMA.js + + + + +
Skip to main content

Function: formatError()

+
+

formatError(parsedErrorData, rootDir?, uniqueTracker?): Promise<string>

+
+

Defined in: cliUtils.ts:178

+

Formats provided error object into readable format including +the errored source code fragment with line highlight. Works +with runtime and compile errors while trying to show all +relevant information that can be extracted from provided object.

+

Parameters

+

parsedErrorData

+

ParsedErrorData

+

Parsed error data object +obtained from parseError function (or provided directly).

+

rootDir?

+

string

+

Optional root directory used to print +absolute URLs as relative to the current rootDir.

+

uniqueTracker?

+

string[]

+

Array of error identifiers to +track uniques, if the error matches identifier already included +in this array, this function returns empty string.

+

Returns

+

Promise<string>

+

Formatted error output.

+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/getSource/index.html b/api/@ima/dev-utils/functions/getSource/index.html new file mode 100644 index 000000000..e76667a6c --- /dev/null +++ b/api/@ima/dev-utils/functions/getSource/index.html @@ -0,0 +1,33 @@ + + + + + +Function: getSource() | IMA.js + + + + +
Skip to main content

Function: getSource()

+
+

getSource(fileUri?, line?, column?): Promise<string[] | undefined>

+
+

Defined in: cliUtils.ts:33

+

Get source fragment from provided source metadata. +Optionally it tries to parse original content if +source maps are available.

+

Parameters

+

fileUri?

+

string

+

source file uri.

+

line?

+

number

+

errored line number.

+

column?

+

number = 0

+

errored column number.

+

Returns

+

Promise<string[] | undefined>

+

Formatted error lines.

+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/parseCompileError/index.html b/api/@ima/dev-utils/functions/parseCompileError/index.html new file mode 100644 index 000000000..331745724 --- /dev/null +++ b/api/@ima/dev-utils/functions/parseCompileError/index.html @@ -0,0 +1,26 @@ + + + + + +Function: parseCompileError() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/parseError/index.html b/api/@ima/dev-utils/functions/parseError/index.html new file mode 100644 index 000000000..23e705e2c --- /dev/null +++ b/api/@ima/dev-utils/functions/parseError/index.html @@ -0,0 +1,30 @@ + + + + + +Function: parseError() | IMA.js + + + + +
Skip to main content

Function: parseError()

+
+

parseError(error, type?): Promise<ParsedErrorData>

+
+

Defined in: cliUtils.ts:124

+

Formats provided error object into readable format including +the errored source code fragment with line highlight. Works +with runtime and compile errors while trying to show all +relevant information that can be extracted from provided object.

+

Parameters

+

error

+

StatsError | Error

+

type?

+

Error type (affects error parsing).

+

"compile" | "runtime"

+

Returns

+

Promise<ParsedErrorData>

+

Formatted error output.

+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/printTime/index.html b/api/@ima/dev-utils/functions/printTime/index.html new file mode 100644 index 000000000..aada8f05c --- /dev/null +++ b/api/@ima/dev-utils/functions/printTime/index.html @@ -0,0 +1,20 @@ + + + + + +Function: printTime() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/resolveErrorType/index.html b/api/@ima/dev-utils/functions/resolveErrorType/index.html new file mode 100644 index 000000000..5f0f2b20c --- /dev/null +++ b/api/@ima/dev-utils/functions/resolveErrorType/index.html @@ -0,0 +1,22 @@ + + + + + +Function: resolveErrorType() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/functions/time/index.html b/api/@ima/dev-utils/functions/time/index.html new file mode 100644 index 000000000..d97559068 --- /dev/null +++ b/api/@ima/dev-utils/functions/time/index.html @@ -0,0 +1,24 @@ + + + + + +Function: time() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/globals/index.html b/api/@ima/dev-utils/globals/index.html new file mode 100644 index 000000000..bcde77df9 --- /dev/null +++ b/api/@ima/dev-utils/globals/index.html @@ -0,0 +1,48 @@ + + + + + +@ima/dev-utils | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/index.html b/api/@ima/dev-utils/index.html new file mode 100644 index 000000000..5901e762a --- /dev/null +++ b/api/@ima/dev-utils/index.html @@ -0,0 +1,30 @@ + + + + + +index | IMA.js + + + + +
Skip to main content

index

+

@ima/dev-utils

+

Used to share common methods and utils used across other dev packages (@ima/cli, @ima/error-overlay, etc.).

+
+

Currently it mainly contains methods for compile and runtime error parsing which are used in multiple other packages.

+

There's intentionally no "main" export or index file and each utils file has to be imported with it's direct path. This is because some packages are used on client only while others may contain some nodejs specific syntax.

+

This means that you need to import each utility as:

+
import { extractSourceMappingUrl } from '@ima/dev-utils/sourceMapUtils';
import { FragmentLine } from '@ima/dev-utils/sourceFragment';
import { parseCompileError } from '@ima/dev-utils/compileErrorParser';
// ...
+

Contents

+
    +
  • compileErrorParser - used to parse compile errors from currently used loaders.
  • +
  • cliUtils - utilities for CLI error formatting.
  • +
  • helpers - general regexps and other helpers.
  • +
  • sourceFragment - utility to create source fragment object containing X number of lines of code around highlighted line from provided source.
  • +
  • sourceMapUtils - utils to extract source map URL from file contents.
  • +
+
+

This package is part of the IMA.js application stack, see imajs.io for more info about the whole project.

+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/interfaces/CompileError/index.html b/api/@ima/dev-utils/interfaces/CompileError/index.html new file mode 100644 index 000000000..7fe294f06 --- /dev/null +++ b/api/@ima/dev-utils/interfaces/CompileError/index.html @@ -0,0 +1,44 @@ + + + + + +Interface: CompileError | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/interfaces/FragmentLine/index.html b/api/@ima/dev-utils/interfaces/FragmentLine/index.html new file mode 100644 index 000000000..a3c348a8b --- /dev/null +++ b/api/@ima/dev-utils/interfaces/FragmentLine/index.html @@ -0,0 +1,32 @@ + + + + + +Interface: FragmentLine | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/interfaces/LoggerOptions/index.html b/api/@ima/dev-utils/interfaces/LoggerOptions/index.html new file mode 100644 index 000000000..eafc24c29 --- /dev/null +++ b/api/@ima/dev-utils/interfaces/LoggerOptions/index.html @@ -0,0 +1,34 @@ + + + + + +Interface: LoggerOptions | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/type-aliases/ParsedErrorData/index.html b/api/@ima/dev-utils/type-aliases/ParsedErrorData/index.html new file mode 100644 index 000000000..abab669a4 --- /dev/null +++ b/api/@ima/dev-utils/type-aliases/ParsedErrorData/index.html @@ -0,0 +1,46 @@ + + + + + +Type Alias: ParsedErrorData | IMA.js + + + + +
Skip to main content

Type Alias: ParsedErrorData

+
+

ParsedErrorData: object

+
+

Defined in: cliUtils.ts:13

+

Type declaration

+

column?

+
+

optional column: number

+
+

fileUri?

+
+

optional fileUri: string

+
+

functionName?

+
+

optional functionName: string

+
+

line?

+
+

optional line: number

+
+

message?

+
+

optional message: string

+
+

name?

+
+

optional name: string

+
+

stack?

+
+

optional stack: string

+
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE/index.html b/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE/index.html new file mode 100644 index 000000000..4dc65cf0a --- /dev/null +++ b/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: COMPILE\_ERROR\_NEEDLES\_RE | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL/index.html b/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL/index.html new file mode 100644 index 000000000..255f00763 --- /dev/null +++ b/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL/index.html @@ -0,0 +1,19 @@ + + + + + +Variable: RE\_SOURCE\_MAPPING\_URL | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME/index.html b/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME/index.html new file mode 100644 index 000000000..b55045d72 --- /dev/null +++ b/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: RE\_VALID\_FRAME\_CHROME | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX/index.html b/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX/index.html new file mode 100644 index 000000000..8adaca5a0 --- /dev/null +++ b/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: RE\_VALID\_FRAME\_FIREFOX | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/dev-utils/variables/logger/index.html b/api/@ima/dev-utils/variables/logger/index.html new file mode 100644 index 000000000..17396b0ab --- /dev/null +++ b/api/@ima/dev-utils/variables/logger/index.html @@ -0,0 +1,18 @@ + + + + + +Variable: logger | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/functions/preprocessTransformer/index.html b/api/@ima/plugin-cli/functions/preprocessTransformer/index.html new file mode 100644 index 000000000..9b827d4c9 --- /dev/null +++ b/api/@ima/plugin-cli/functions/preprocessTransformer/index.html @@ -0,0 +1,22 @@ + + + + + +Function: preprocessTransformer() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/functions/swcTransformer/index.html b/api/@ima/plugin-cli/functions/swcTransformer/index.html new file mode 100644 index 000000000..19bc80c28 --- /dev/null +++ b/api/@ima/plugin-cli/functions/swcTransformer/index.html @@ -0,0 +1,22 @@ + + + + + +Function: swcTransformer() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin/index.html b/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin/index.html new file mode 100644 index 000000000..ec8219e03 --- /dev/null +++ b/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin/index.html @@ -0,0 +1,22 @@ + + + + + +Function: typescriptDeclarationsPlugin() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/globals/index.html b/api/@ima/plugin-cli/globals/index.html new file mode 100644 index 000000000..0f8d50fd5 --- /dev/null +++ b/api/@ima/plugin-cli/globals/index.html @@ -0,0 +1,39 @@ + + + + + +@ima/plugin-cli | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/index.html b/api/@ima/plugin-cli/index.html new file mode 100644 index 000000000..c2af1e407 --- /dev/null +++ b/api/@ima/plugin-cli/index.html @@ -0,0 +1,47 @@ + + + + + +index | IMA.js + + + + +
Skip to main content

index

+

@ima/plugin-cli

+

@ima/plugin-cli takes care of building, linking and watching IMA.js plugins.

+
+

Small CLI wrapper around swc with few other plugins (typescript support), which takes care of building, watching and linking IMA.js plugins.

+

Installation

+
npm install @ima/plugin-cli --save-dev
+

Usage

+

Run following commands from the root of your plugin directory.

+
npx ima-plugin dev
npx ima-plugin build
npx ima-plugin link [target-project]
npx ima-plugin --help
+

The plugin works without the need to provide custom ima-plugin.config.js. There are 3 configuration presets that should cover most situations, which can be forced using CLI args:

+
    +
  • npm run [build|dev|link] - generates two bundles, one in cjs and other in esm. Use this for almost any plugin that doesn't need server/client specific bundles.
  • +
  • npm run [build|dev|link] --nodeConfig - generates only cjs bundle (in ./dist directory), useful for CLI and node plugins.
  • +
  • npm run [build|dev|link] --clientServerConfig - generates code in cjs and two bundles in esm, where you can drop client/server specific syntax using pragma comments.
  • +
+

jsxRuntime

+

You can override used React jsxRuntime to classic or newer automatic using jsxRuntime config option, or -j=automatic or --jsxRuntime=classic CLI argument.

+

additionalWatchPaths

+

Optional array type option, which can be used to add additional watch paths to link command. This is useful if you want to watch and copy additional files outside of the inputDir.

+

Custom ima-plugin.config.js

+

You can always provide custom ima-plugin.config.js where you can either extend one of the provided default configurations or create completely new one:

+
// ima-plugin.config.js

// Use one of the default provided configurations
const {
defaultConfig, // corresponds with CLI options described above
clientServerConfig, // corresponds with CLI options described above
nodeConfig, // corresponds with CLI options described above
preprocessTransformer,
swcTransformer,
typescriptDeclarationsPlugin
} = require('@ima/plugin-cli');

/**
* Or create custom config. You can export an array of configuration objects to support multiple configurations.
*
* @type import('@ima/plugin-cli').ImaPluginConfig
*/
module.exports = {
inputDir: './src',
jsxRuntime: 'classic', // 'classic' or 'automatic' JSX runtime settings
sourceMaps: true, // enabled by default
/**
* Optionally create additional transformers. There are 2 transformers
* that plugin CLI exports - preprocessTransformer (for removing code
* parts based on @if/@else pragma comments), swcTransformer (runs
* JS code through swc/core transform).
*
* '...' -> this placeholder is replaced with default set of transformers.
* This allows you to easily extend default configuration without the need
* to re-define it again manually.
*
* You can also always opt out of using '...', in that case, default
* transformers are not used, only the ones defined in the `transformers`
* field below.
*/
transformers: [
preprocessTransformer({
context: {
production: true,
development: false,
},
}),
'...',
],
output: [
{
dir: './dist/esm',
format: 'es6',
/**
* Since we want to handle less/css files separately, we can exclude them
* from this output dir. This extends the root `exclude` definition.
* When the option is not defined, it copies all files to the dist folder.
*/
exclude: /\.(less|css)$/i
},
{
dir: './dist/cjs',
format: 'commonjs',
exclude: /\.(less|css)$/i
},
{
dir: './dist/less',
format: 'es6',
// Here we can have an individual bundle just for less/css files.
include: /\.(less|css)$/i
},
],
plugins: [
typescriptDeclarationsPlugin({ additionalArgs: ['--skipLibCheck'] }),
],
exclude: [
'**/__tests__/**',
'**/node_modules/**',
'**/dist/**',
'**/typings/**',
'**/.DS_Store/**',
'tsconfig.tsbuildinfo',
],
/**
* Optional, this adds additional glob paths to link watcher for files
* which are also watched for changes and copied to the linked directory.
* (Works only with `link` command).
*/
additionalWatchPaths: ['./transform/**/*', './polyfill/**/*'],
};
+

package.json entry points

+

When a plugin is built using this cli, it should provide following entry points in the package.json file:

+
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
+

And in case of server/client specific bundles:

+
"main": "./dist/cjs/index.js",
"module": "./dist/esm/server/index.js",
"browser": "./dist/esm/client/index.js",
+

This makes sure that webpack uses correct entry points for each bundle, where the priorities are defined as:

+
    +
  • module -> main for server bundle (we always prefer esm as it enables better code analysis and tree-shaking)
  • +
  • browser -> module -> main for client bundle
  • +
+
+

This package is part of the IMA.js application stack, see imajs.io for more info about the whole project.

+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/interfaces/Context/index.html b/api/@ima/plugin-cli/interfaces/Context/index.html new file mode 100644 index 000000000..b606a5e26 --- /dev/null +++ b/api/@ima/plugin-cli/interfaces/Context/index.html @@ -0,0 +1,38 @@ + + + + + +Interface: Context | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/interfaces/ImaPluginConfig/index.html b/api/@ima/plugin-cli/interfaces/ImaPluginConfig/index.html new file mode 100644 index 000000000..8f4fdd8b9 --- /dev/null +++ b/api/@ima/plugin-cli/interfaces/ImaPluginConfig/index.html @@ -0,0 +1,68 @@ + + + + + +Interface: ImaPluginConfig | IMA.js + + + + +
Skip to main content

Interface: ImaPluginConfig

+

Defined in: types.ts:57

+

Properties

+

additionalWatchPaths?

+
+

optional additionalWatchPaths: string[]

+
+

Defined in: types.ts:66

+
+

exclude?

+
+

optional exclude: AnymatchMatcher

+
+

Defined in: types.ts:61

+
+

inputDir

+
+

inputDir: string

+
+

Defined in: types.ts:58

+
+

jsxRuntime?

+
+

optional jsxRuntime: "automatic" | "classic"

+
+

Defined in: types.ts:63

+
+

output

+
+

output: ImaPluginOutputConfig[]

+
+

Defined in: types.ts:59

+
+

plugins?

+
+

optional plugins: Plugin[]

+
+

Defined in: types.ts:62

+
+

sourceMaps?

+
+

optional sourceMaps: boolean

+
+

Defined in: types.ts:65

+
+

target

+
+

target: JscTarget

+
+

Defined in: types.ts:60

+
+

transformers?

+
+

optional transformers: TransformerDefinition[] | "..."

+
+

Defined in: types.ts:64

+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/interfaces/PipeContext/index.html b/api/@ima/plugin-cli/interfaces/PipeContext/index.html new file mode 100644 index 000000000..a9cbb4feb --- /dev/null +++ b/api/@ima/plugin-cli/interfaces/PipeContext/index.html @@ -0,0 +1,62 @@ + + + + + +Interface: PipeContext | IMA.js + + + + +
Skip to main content

Interface: PipeContext

+

Defined in: types.ts:78

+

Properties

+

command

+
+

command: Command

+
+

Defined in: types.ts:79

+
+

config

+
+

config: ImaPluginConfig

+
+

Defined in: types.ts:84

+
+

contextDir

+
+

contextDir: string

+
+

Defined in: types.ts:83

+
+

cwd

+
+

cwd: string

+
+

Defined in: types.ts:80

+
+

fileName

+
+

fileName: string

+
+

Defined in: types.ts:81

+
+

filePath

+
+

filePath: string

+
+

Defined in: types.ts:82

+
+

inputDir

+
+

inputDir: string

+
+

Defined in: types.ts:85

+
+

outputDir

+
+

outputDir: string

+
+

Defined in: types.ts:86

+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/interfaces/Source/index.html b/api/@ima/plugin-cli/interfaces/Source/index.html new file mode 100644 index 000000000..21582ffb1 --- /dev/null +++ b/api/@ima/plugin-cli/interfaces/Source/index.html @@ -0,0 +1,32 @@ + + + + + +Interface: Source | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/type-aliases/Command/index.html b/api/@ima/plugin-cli/type-aliases/Command/index.html new file mode 100644 index 000000000..67d789d05 --- /dev/null +++ b/api/@ima/plugin-cli/type-aliases/Command/index.html @@ -0,0 +1,17 @@ + + + + + +Type Alias: Command | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/type-aliases/Plugin/index.html b/api/@ima/plugin-cli/type-aliases/Plugin/index.html new file mode 100644 index 000000000..84f5dab91 --- /dev/null +++ b/api/@ima/plugin-cli/type-aliases/Plugin/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: Plugin() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/type-aliases/Transformer/index.html b/api/@ima/plugin-cli/type-aliases/Transformer/index.html new file mode 100644 index 000000000..71a8600f1 --- /dev/null +++ b/api/@ima/plugin-cli/type-aliases/Transformer/index.html @@ -0,0 +1,28 @@ + + + + + +Type Alias: Transformer() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/type-aliases/TransformerOptions/index.html b/api/@ima/plugin-cli/type-aliases/TransformerOptions/index.html new file mode 100644 index 000000000..97e931813 --- /dev/null +++ b/api/@ima/plugin-cli/type-aliases/TransformerOptions/index.html @@ -0,0 +1,22 @@ + + + + + +Type Alias: TransformerOptions | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/variables/clientServerConfig/index.html b/api/@ima/plugin-cli/variables/clientServerConfig/index.html new file mode 100644 index 000000000..bc78e6d0c --- /dev/null +++ b/api/@ima/plugin-cli/variables/clientServerConfig/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: clientServerConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/variables/defaultConfig/index.html b/api/@ima/plugin-cli/variables/defaultConfig/index.html new file mode 100644 index 000000000..176a10b1b --- /dev/null +++ b/api/@ima/plugin-cli/variables/defaultConfig/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: defaultConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/plugin-cli/variables/nodeConfig/index.html b/api/@ima/plugin-cli/variables/nodeConfig/index.html new file mode 100644 index 000000000..3478f4742 --- /dev/null +++ b/api/@ima/plugin-cli/variables/nodeConfig/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: nodeConfig | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/AbstractComponent/index.html b/api/@ima/react-page-renderer/classes/AbstractComponent/index.html new file mode 100644 index 000000000..4331686e6 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/AbstractComponent/index.html @@ -0,0 +1,552 @@ + + + + + +Class: abstract AbstractComponent\<P, S, SS\> | IMA.js + + + + +
Skip to main content

Class: abstract AbstractComponent<P, S, SS>

+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:10

+

The base class for all view components.

+

Extends

+
    +
  • Component<P, S, SS>
  • +
+

Type Parameters

+

P = unknown

+

S = unknown

+

SS = unknown

+

Constructors

+

new AbstractComponent()

+
+

new AbstractComponent<P, S, SS>(props): AbstractComponent<P, S, SS>

+
+

Defined in: node_modules/@types/react/index.d.ts:1015

+

Parameters

+
props
+

P

+

Returns

+

AbstractComponent<P, S, SS>

+

Inherited from

+

Component<P, S, SS>.constructor

+

new AbstractComponent()

+
+

new AbstractComponent<P, S, SS>(props, context): AbstractComponent<P, S, SS>

+
+

Defined in: node_modules/@types/react/index.d.ts:1020

+

Parameters

+
props
+

P

+
context
+

any

+

Returns

+

AbstractComponent<P, S, SS>

+

Deprecated

+

See

+

React Docs

+

Inherited from

+

Component<P, S, SS>.constructor

+

Properties

+

context

+
+

context: PageContextType

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:16

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+

Example

+
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
+

See

+

React Docs

+

Overrides

+

Component.context

+
+

props

+
+

readonly props: Readonly<P>

+
+

Defined in: node_modules/@types/react/index.d.ts:1033

+

Inherited from

+

Component.props

+
+

refs

+
+

refs: object

+
+

Defined in: node_modules/@types/react/index.d.ts:1040

+

Index Signature

+

[key: string]: ReactInstance

+

Deprecated

+

See

+

Legacy React Docs

+

Inherited from

+

Component.refs

+
+

state

+
+

state: Readonly<S>

+
+

Defined in: node_modules/@types/react/index.d.ts:1034

+

Inherited from

+

Component.state

+
+

contextType

+
+

static contextType: Context<PageContextType> = PageContext

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:15

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Example

+
type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
+

See

+

https://react.dev/reference/react/Component#static-contexttype

+

Overrides

+

Component.contextType

+

Accessors

+

utils

+

Get Signature

+
+

get utils(): Utils

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:26

+

Returns the utilities for the view components. The returned value is the +value bound to the $Utils object container constant.

+
Returns
+

Utils

+

The utilities for the view components.

+

Methods

+

componentDidCatch()?

+
+

optional componentDidCatch(error, errorInfo): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1397

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters

+
error
+

Error

+
errorInfo
+

ErrorInfo

+

Returns

+

void

+

Inherited from

+

Component.componentDidCatch

+
+

componentDidMount()?

+
+

optional componentDidMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1376

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns

+

void

+

Inherited from

+

Component.componentDidMount

+
+

componentDidUpdate()?

+
+

optional componentDidUpdate(prevProps, prevState, snapshot?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1439

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters

+
prevProps
+

Readonly<P>

+
prevState
+

Readonly<S>

+
snapshot?
+

SS

+

Returns

+

void

+

Inherited from

+

Component.componentDidUpdate

+
+

componentWillMount()?

+
+

optional componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1455

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillMount

+
+

componentWillReceiveProps()?

+
+

optional componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1486

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillReceiveProps

+
+

componentWillUnmount()?

+
+

optional componentWillUnmount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1392

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns

+

void

+

Inherited from

+

Component.componentWillUnmount

+
+

componentWillUpdate()?

+
+

optional componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1518

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillUpdate

+
+

cssClasses()

+
+

cssClasses(classRules, includeComponentClassName): string

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:86

+

Generate a string of CSS classes from the properties of the passed-in +object that resolve to true.

+

Parameters

+
classRules
+

CSS classes in a +string separated by whitespace, or a map of CSS class names to +boolean values. The CSS class name will be included in the result +only if the value is true.

+

string | {} | string[]

+
includeComponentClassName
+

boolean = false

+

Returns

+

string

+

String of CSS classes that had their property resolved +to true.

+

Examples

+
this.cssClasses('my-class my-class-modifier', true);
+
this.cssClasses({
'my-class': true,
'my-class-modifier': this.props.modifier
}, true);
+
+

fire()

+
+

fire(eventTarget, eventName, data?): void

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:100

+

Creates and sends a new IMA.js DOM custom event from this component.

+

Parameters

+
eventTarget
+

EventTarget

+

EventTarget compatible node.

+
eventName
+

string

+

The name of the event.

+
data?
+

any

+

Data to send within the event.

+

Returns

+

void

+
+

forceUpdate()

+
+

forceUpdate(callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1030

+

Parameters

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

Component.forceUpdate

+
+

getSnapshotBeforeUpdate()?

+
+

optional getSnapshotBeforeUpdate(prevProps, prevState): null | SS

+
+

Defined in: node_modules/@types/react/index.d.ts:1433

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of this method prevents any of the deprecated +lifecycle events from running.

+

Parameters

+
prevProps
+

Readonly<P>

+
prevState
+

Readonly<S>

+

Returns

+

null | SS

+

Inherited from

+

Component.getSnapshotBeforeUpdate

+
+ +
+

link(name, params): string

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:62

+

Generates an absolute URL using the provided route name (see the +app/config/routes.js file). The provided parameters will +replace the placeholders in the route pattern, while the extraneous +parameters will be appended to the generated URL's query string.

+

Parameters

+
name
+

string

+

The route name.

+
params
+

Router parameters and +extraneous parameters to add to the URL as a query string.

+

Returns

+

string

+

The generated URL.

+
+

listen()

+
+

listen(eventTarget, eventName, listener): void

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:114

+

Registers the provided event listener for execution whenever an IMA.js +DOM custom event of the specified name occurs at the specified event +target.

+

Parameters

+
eventTarget
+

EventTarget

+

The react component or +event target at which the listener should listen for the event.

+
eventName
+

string

+

The name of the event for which to listen.

+
listener
+

(event) => void

+

The listener for event to register.

+

Returns

+

void

+
+

localize()

+
+

localize(key, params): string

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:44

+

Returns the localized phrase identified by the specified key. The +placeholders in the localization phrase will be replaced by the provided +values.

+

Parameters

+
key
+

never

+

Localization key.

+
params
+

Values for replacing +the placeholders in the localization phrase.

+

Returns

+

string

+

Localized phrase.

+
+

render()

+
+

render(): ReactNode

+
+

Defined in: node_modules/@types/react/index.d.ts:1031

+

Returns

+

ReactNode

+

Inherited from

+

Component.render

+
+

setState()

+
+

setState<K>(state, callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1025

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
state
+

null | S | (prevState, props) => null | S | Pick<S, K> | Pick<S, K>

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

Component.setState

+
+

shouldComponentUpdate()?

+
+

optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+
+

Defined in: node_modules/@types/react/index.d.ts:1387

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component.render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

boolean

+

Inherited from

+

Component.shouldComponentUpdate

+
+

unlisten()

+
+

unlisten(eventTarget, eventName, listener): void

+
+

Defined in: packages/react-page-renderer/src/component/AbstractComponent.ts:131

+

Deregisters the provided event listener for an IMA.js DOM custom event +of the specified name at the specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The react component or +event target at which the listener should listen for the event.

+
eventName
+

string

+

The name of the event for which to listen.

+
listener
+

(event) => void

+

The listener for event to register.

+

Returns

+

void

+
+

UNSAFE_componentWillMount()?

+
+

optional UNSAFE_componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1470

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps()?

+
+

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1504

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate()?

+
+

optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1534

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillUpdate

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/AbstractPureComponent/index.html b/api/@ima/react-page-renderer/classes/AbstractPureComponent/index.html new file mode 100644 index 000000000..3a45aea53 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/AbstractPureComponent/index.html @@ -0,0 +1,552 @@ + + + + + +Class: abstract AbstractPureComponent\<P, S, SS\> | IMA.js + + + + +
Skip to main content

Class: abstract AbstractPureComponent<P, S, SS>

+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:10

+

The base class for all view components.

+

Extends

+
    +
  • PureComponent<P, S, SS>
  • +
+

Type Parameters

+

P = unknown

+

S = unknown

+

SS = unknown

+

Constructors

+

new AbstractPureComponent()

+
+

new AbstractPureComponent<P, S, SS>(props): AbstractPureComponent<P, S, SS>

+
+

Defined in: node_modules/@types/react/index.d.ts:1015

+

Parameters

+
props
+

P

+

Returns

+

AbstractPureComponent<P, S, SS>

+

Inherited from

+

PureComponent<P, S, SS>.constructor

+

new AbstractPureComponent()

+
+

new AbstractPureComponent<P, S, SS>(props, context): AbstractPureComponent<P, S, SS>

+
+

Defined in: node_modules/@types/react/index.d.ts:1020

+

Parameters

+
props
+

P

+
context
+

any

+

Returns

+

AbstractPureComponent<P, S, SS>

+

Deprecated

+

See

+

React Docs

+

Inherited from

+

PureComponent<P, S, SS>.constructor

+

Properties

+

context

+
+

context: PageContextType

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:16

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+

Example

+
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
+

See

+

React Docs

+

Overrides

+

PureComponent.context

+
+

props

+
+

readonly props: Readonly<P>

+
+

Defined in: node_modules/@types/react/index.d.ts:1033

+

Inherited from

+

PureComponent.props

+
+

refs

+
+

refs: object

+
+

Defined in: node_modules/@types/react/index.d.ts:1040

+

Index Signature

+

[key: string]: ReactInstance

+

Deprecated

+

See

+

Legacy React Docs

+

Inherited from

+

PureComponent.refs

+
+

state

+
+

state: Readonly<S>

+
+

Defined in: node_modules/@types/react/index.d.ts:1034

+

Inherited from

+

PureComponent.state

+
+

contextType

+
+

static contextType: Context<PageContextType> = PageContext

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:15

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Example

+
type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
+

See

+

https://react.dev/reference/react/Component#static-contexttype

+

Overrides

+

PureComponent.contextType

+

Accessors

+

utils

+

Get Signature

+
+

get utils(): Utils

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:26

+

Returns the utilities for the view components. The returned value is the +value bound to the $Utils object container constant.

+
Returns
+

Utils

+

The utilities for the view components.

+

Methods

+

componentDidCatch()?

+
+

optional componentDidCatch(error, errorInfo): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1397

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters

+
error
+

Error

+
errorInfo
+

ErrorInfo

+

Returns

+

void

+

Inherited from

+

PureComponent.componentDidCatch

+
+

componentDidMount()?

+
+

optional componentDidMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1376

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns

+

void

+

Inherited from

+

PureComponent.componentDidMount

+
+

componentDidUpdate()?

+
+

optional componentDidUpdate(prevProps, prevState, snapshot?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1439

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters

+
prevProps
+

Readonly<P>

+
prevState
+

Readonly<S>

+
snapshot?
+

SS

+

Returns

+

void

+

Inherited from

+

PureComponent.componentDidUpdate

+
+

componentWillMount()?

+
+

optional componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1455

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

See

+ +

Inherited from

+

PureComponent.componentWillMount

+
+

componentWillReceiveProps()?

+
+

optional componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1486

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

+

See

+ +

Inherited from

+

PureComponent.componentWillReceiveProps

+
+

componentWillUnmount()?

+
+

optional componentWillUnmount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1392

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns

+

void

+

Inherited from

+

PureComponent.componentWillUnmount

+
+

componentWillUpdate()?

+
+

optional componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1518

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

See

+ +

Inherited from

+

PureComponent.componentWillUpdate

+
+

cssClasses()

+
+

cssClasses(classRules, includeComponentClassName): string

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:86

+

Generate a string of CSS classes from the properties of the passed-in +object that resolve to true.

+

Parameters

+
classRules
+

CSS classes in a +string separated by whitespace, or a map of CSS class names to +boolean values. The CSS class name will be included in the result +only if the value is true.

+

string | {}

+
includeComponentClassName
+

boolean = false

+

Returns

+

string

+

String of CSS classes that had their property resolved +to true.

+

Examples

+
this.cssClasses('my-class my-class-modifier', true);
+
this.cssClasses({
'my-class': true,
'my-class-modifier': this.props.modifier
}, true);
+
+

fire()

+
+

fire(eventTarget, eventName, data?): void

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:100

+

Creates and sends a new IMA.js DOM custom event from this component.

+

Parameters

+
eventTarget
+

EventTarget

+

EventTarget compatible node.

+
eventName
+

string

+

The name of the event.

+
data?
+

any

+

Data to send within the event.

+

Returns

+

void

+
+

forceUpdate()

+
+

forceUpdate(callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1030

+

Parameters

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate()?

+
+

optional getSnapshotBeforeUpdate(prevProps, prevState): null | SS

+
+

Defined in: node_modules/@types/react/index.d.ts:1433

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of this method prevents any of the deprecated +lifecycle events from running.

+

Parameters

+
prevProps
+

Readonly<P>

+
prevState
+

Readonly<S>

+

Returns

+

null | SS

+

Inherited from

+

PureComponent.getSnapshotBeforeUpdate

+
+ +
+

link(name, params): string

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:62

+

Generates an absolute URL using the provided route name (see the +app/config/routes.js file). The provided parameters will +replace the placeholders in the route pattern, while the extraneous +parameters will be appended to the generated URL's query string.

+

Parameters

+
name
+

string

+

The route name.

+
params
+

Router parameters and +extraneous parameters to add to the URL as a query string.

+

Returns

+

string

+

The generated URL.

+
+

listen()

+
+

listen(eventTarget, eventName, listener): void

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:114

+

Registers the provided event listener for execution whenever an IMA.js +DOM custom event of the specified name occurs at the specified event +target.

+

Parameters

+
eventTarget
+

EventTarget

+

The react component or +event target at which the listener should listen for the event.

+
eventName
+

string

+

The name of the event for which to listen.

+
listener
+

(event) => void

+

The listener for event to register.

+

Returns

+

void

+
+

localize()

+
+

localize(key, params): string

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:44

+

Returns the localized phrase identified by the specified key. The +placeholders in the localization phrase will be replaced by the provided +values.

+

Parameters

+
key
+

never

+

Localization key.

+
params
+

Values for replacing +the placeholders in the localization phrase.

+

Returns

+

string

+

Localized phrase.

+
+

render()

+
+

render(): ReactNode

+
+

Defined in: node_modules/@types/react/index.d.ts:1031

+

Returns

+

ReactNode

+

Inherited from

+

PureComponent.render

+
+

setState()

+
+

setState<K>(state, callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1025

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
state
+

null | S | (prevState, props) => null | S | Pick<S, K> | Pick<S, K>

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

PureComponent.setState

+
+

shouldComponentUpdate()?

+
+

optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+
+

Defined in: node_modules/@types/react/index.d.ts:1387

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component.render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

boolean

+

Inherited from

+

PureComponent.shouldComponentUpdate

+
+

unlisten()

+
+

unlisten(eventTarget, eventName, listener): void

+
+

Defined in: packages/react-page-renderer/src/component/AbstractPureComponent.ts:131

+

Deregisters the provided event listener for an IMA.js DOM custom event +of the specified name at the specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The react component or +event target at which the listener should listen for the event.

+
eventName
+

string

+

The name of the event for which to listen.

+
listener
+

(event) => void

+

The listener for event to register.

+

Returns

+

void

+
+

UNSAFE_componentWillMount()?

+
+

optional UNSAFE_componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1470

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead

+

See

+ +

Inherited from

+

PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps()?

+
+

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1504

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

+

See

+ +

Inherited from

+

PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate()?

+
+

optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1534

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead

+

See

+ +

Inherited from

+

PureComponent.UNSAFE_componentWillUpdate

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/BlankManagedRootView/index.html b/api/@ima/react-page-renderer/classes/BlankManagedRootView/index.html new file mode 100644 index 000000000..c0054aaf1 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/BlankManagedRootView/index.html @@ -0,0 +1,431 @@ + + + + + +Class: BlankManagedRootView\<P, S, SS\> | IMA.js + + + + +
Skip to main content

Class: BlankManagedRootView<P, S, SS>

+

Defined in: packages/react-page-renderer/src/component/BlankManagedRootView.ts:18

+

Blank managed root view does not nothing except for rendering the current +page view.

+

This is the default managed root view.

+

Extends

+
    +
  • Component<P, S, SS>
  • +
+

Type Parameters

+

P extends BlankManagedRootViewProps = BlankManagedRootViewProps

+

S = unknown

+

SS = unknown

+

Constructors

+

new BlankManagedRootView()

+
+

new BlankManagedRootView<P, S, SS>(props): BlankManagedRootView<P, S, SS>

+
+

Defined in: node_modules/@types/react/index.d.ts:1015

+

Parameters

+
props
+

P

+

Returns

+

BlankManagedRootView<P, S, SS>

+

Inherited from

+

Component<P, S, SS>.constructor

+

new BlankManagedRootView()

+
+

new BlankManagedRootView<P, S, SS>(props, context): BlankManagedRootView<P, S, SS>

+
+

Defined in: node_modules/@types/react/index.d.ts:1020

+

Parameters

+
props
+

P

+
context
+

any

+

Returns

+

BlankManagedRootView<P, S, SS>

+

Deprecated

+

See

+

React Docs

+

Inherited from

+

Component<P, S, SS>.constructor

+

Properties

+

context

+
+

context: unknown

+
+

Defined in: node_modules/@types/react/index.d.ts:1013

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+

Example

+
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
+

See

+

React Docs

+

Inherited from

+

Component.context

+
+

props

+
+

readonly props: Readonly<P>

+
+

Defined in: node_modules/@types/react/index.d.ts:1033

+

Inherited from

+

Component.props

+
+

refs

+
+

refs: object

+
+

Defined in: node_modules/@types/react/index.d.ts:1040

+

Index Signature

+

[key: string]: ReactInstance

+

Deprecated

+

See

+

Legacy React Docs

+

Inherited from

+

Component.refs

+
+

state

+
+

state: Readonly<S>

+
+

Defined in: node_modules/@types/react/index.d.ts:1034

+

Inherited from

+

Component.state

+
+

contextType?

+
+

static optional contextType: Context<any>

+
+

Defined in: node_modules/@types/react/index.d.ts:995

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Example

+
type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
+

See

+

https://react.dev/reference/react/Component#static-contexttype

+

Inherited from

+

Component.contextType

+

Accessors

+

defaultProps

+

Get Signature

+
+

get static defaultProps(): object

+
+

Defined in: packages/react-page-renderer/src/component/BlankManagedRootView.ts:23

+
Returns
+

object

+
pageView
+
+

pageView: null = null

+
+

Methods

+

componentDidCatch()?

+
+

optional componentDidCatch(error, errorInfo): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1397

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters

+
error
+

Error

+
errorInfo
+

ErrorInfo

+

Returns

+

void

+

Inherited from

+

Component.componentDidCatch

+
+

componentDidMount()?

+
+

optional componentDidMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1376

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns

+

void

+

Inherited from

+

Component.componentDidMount

+
+

componentDidUpdate()?

+
+

optional componentDidUpdate(prevProps, prevState, snapshot?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1439

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters

+
prevProps
+

Readonly<P>

+
prevState
+

Readonly<S>

+
snapshot?
+

SS

+

Returns

+

void

+

Inherited from

+

Component.componentDidUpdate

+
+

componentWillMount()?

+
+

optional componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1455

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillMount

+
+

componentWillReceiveProps()?

+
+

optional componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1486

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillReceiveProps

+
+

componentWillUnmount()?

+
+

optional componentWillUnmount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1392

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns

+

void

+

Inherited from

+

Component.componentWillUnmount

+
+

componentWillUpdate()?

+
+

optional componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1518

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillUpdate

+
+

forceUpdate()

+
+

forceUpdate(callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1030

+

Parameters

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

Component.forceUpdate

+
+

getSnapshotBeforeUpdate()?

+
+

optional getSnapshotBeforeUpdate(prevProps, prevState): null | SS

+
+

Defined in: node_modules/@types/react/index.d.ts:1433

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of this method prevents any of the deprecated +lifecycle events from running.

+

Parameters

+
prevProps
+

Readonly<P>

+
prevState
+

Readonly<S>

+

Returns

+

null | SS

+

Inherited from

+

Component.getSnapshotBeforeUpdate

+
+

render()

+
+

render(): null | ReactElement<{}>

+
+

Defined in: packages/react-page-renderer/src/component/BlankManagedRootView.ts:32

+

Returns

+

null | ReactElement<{}>

+

Inherit Doc

+

Overrides

+

Component.render

+
+

setState()

+
+

setState<K>(state, callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1025

+

Type Parameters

+

K extends string | number | symbol

+

Parameters

+
state
+

null | S | (prevState, props) => null | S | Pick<S, K> | Pick<S, K>

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

Component.setState

+
+

shouldComponentUpdate()?

+
+

optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+
+

Defined in: node_modules/@types/react/index.d.ts:1387

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component.render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

boolean

+

Inherited from

+

Component.shouldComponentUpdate

+
+

UNSAFE_componentWillMount()?

+
+

optional UNSAFE_componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1470

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps()?

+
+

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1504

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate()?

+
+

optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1534

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<P>

+
nextState
+

Readonly<S>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillUpdate

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/ErrorBoundary/index.html b/api/@ima/react-page-renderer/classes/ErrorBoundary/index.html new file mode 100644 index 000000000..c77a76c47 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/ErrorBoundary/index.html @@ -0,0 +1,405 @@ + + + + + +Class: ErrorBoundary | IMA.js + + + + +
Skip to main content

Class: ErrorBoundary

+

Defined in: packages/react-page-renderer/src/component/ErrorBoundary.ts:15

+

Error boundary wrapper which connects the IMA application to the +dev HMR api and handles error reporting.

+

Extends

+
    +
  • PureComponent<ErrorBoundaryProps, ErrorBoundaryState>
  • +
+

Constructors

+

new ErrorBoundary()

+
+

new ErrorBoundary(props): ErrorBoundary

+
+

Defined in: packages/react-page-renderer/src/component/ErrorBoundary.ts:19

+

Parameters

+
props
+

ErrorBoundaryProps

+

Returns

+

ErrorBoundary

+

Overrides

+

PureComponent< ErrorBoundaryProps, ErrorBoundaryState >.constructor

+

Properties

+

context

+
+

context: unknown

+
+

Defined in: node_modules/@types/react/index.d.ts:1013

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+

Example

+
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
+

See

+

React Docs

+

Inherited from

+

PureComponent.context

+
+

props

+
+

readonly props: Readonly<ErrorBoundaryProps>

+
+

Defined in: node_modules/@types/react/index.d.ts:1033

+

Inherited from

+

PureComponent.props

+
+

refs

+
+

refs: object

+
+

Defined in: node_modules/@types/react/index.d.ts:1040

+

Index Signature

+

[key: string]: ReactInstance

+

Deprecated

+

See

+

Legacy React Docs

+

Inherited from

+

PureComponent.refs

+
+

state

+
+

state: Readonly<ErrorBoundaryState>

+
+

Defined in: node_modules/@types/react/index.d.ts:1034

+

Inherited from

+

PureComponent.state

+
+

contextType?

+
+

static optional contextType: Context<any>

+
+

Defined in: node_modules/@types/react/index.d.ts:995

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Example

+
type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
+

See

+

https://react.dev/reference/react/Component#static-contexttype

+

Inherited from

+

PureComponent.contextType

+

Methods

+

componentDidCatch()

+
+

componentDidCatch(error): void

+
+

Defined in: packages/react-page-renderer/src/component/ErrorBoundary.ts:38

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters

+
error
+

Error

+

Returns

+

void

+

Overrides

+

PureComponent.componentDidCatch

+
+

componentDidMount()

+
+

componentDidMount(): void

+
+

Defined in: packages/react-page-renderer/src/component/ErrorBoundary.ts:31

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns

+

void

+

Overrides

+

PureComponent.componentDidMount

+
+

componentDidUpdate()?

+
+

optional componentDidUpdate(prevProps, prevState, snapshot?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1439

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters

+
prevProps
+

Readonly<ErrorBoundaryProps>

+
prevState
+

Readonly<ErrorBoundaryState>

+
snapshot?
+

any

+

Returns

+

void

+

Inherited from

+

PureComponent.componentDidUpdate

+
+

componentWillMount()?

+
+

optional componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1455

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

See

+ +

Inherited from

+

PureComponent.componentWillMount

+
+

componentWillReceiveProps()?

+
+

optional componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1486

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ErrorBoundaryProps>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

+

See

+ +

Inherited from

+

PureComponent.componentWillReceiveProps

+
+

componentWillUnmount()?

+
+

optional componentWillUnmount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1392

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns

+

void

+

Inherited from

+

PureComponent.componentWillUnmount

+
+

componentWillUpdate()?

+
+

optional componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1518

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ErrorBoundaryProps>

+
nextState
+

Readonly<ErrorBoundaryState>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

See

+ +

Inherited from

+

PureComponent.componentWillUpdate

+
+

forceUpdate()

+
+

forceUpdate(callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1030

+

Parameters

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate()?

+
+

optional getSnapshotBeforeUpdate(prevProps, prevState): any

+
+

Defined in: node_modules/@types/react/index.d.ts:1433

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of this method prevents any of the deprecated +lifecycle events from running.

+

Parameters

+
prevProps
+

Readonly<ErrorBoundaryProps>

+
prevState
+

Readonly<ErrorBoundaryState>

+

Returns

+

any

+

Inherited from

+

PureComponent.getSnapshotBeforeUpdate

+
+

render()

+
+

render(): undefined | null | ReactElement

+
+

Defined in: packages/react-page-renderer/src/component/ErrorBoundary.ts:45

+

Returns

+

undefined | null | ReactElement

+

Overrides

+

PureComponent.render

+
+

setState()

+
+

setState<K>(state, callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1025

+

Type Parameters

+

K extends "hasError"

+

Parameters

+
state
+

null | ErrorBoundaryState | (prevState, props) => null | ErrorBoundaryState | Pick<ErrorBoundaryState, K> | Pick<ErrorBoundaryState, K>

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

PureComponent.setState

+
+

shouldComponentUpdate()?

+
+

optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+
+

Defined in: node_modules/@types/react/index.d.ts:1387

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component.render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters

+
nextProps
+

Readonly<ErrorBoundaryProps>

+
nextState
+

Readonly<ErrorBoundaryState>

+
nextContext
+

any

+

Returns

+

boolean

+

Inherited from

+

PureComponent.shouldComponentUpdate

+
+

UNSAFE_componentWillMount()?

+
+

optional UNSAFE_componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1470

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead

+

See

+ +

Inherited from

+

PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps()?

+
+

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1504

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ErrorBoundaryProps>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

+

See

+ +

Inherited from

+

PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate()?

+
+

optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1534

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ErrorBoundaryProps>

+
nextState
+

Readonly<ErrorBoundaryState>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead

+

See

+ +

Inherited from

+

PureComponent.UNSAFE_componentWillUpdate

+
+

getDerivedStateFromError()

+
+

static getDerivedStateFromError(): object

+
+

Defined in: packages/react-page-renderer/src/component/ErrorBoundary.ts:27

+

Returns

+

object

+
hasError
+
+

hasError: boolean = true

+
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/PageRendererFactory/index.html b/api/@ima/react-page-renderer/classes/PageRendererFactory/index.html new file mode 100644 index 000000000..c4fd01d05 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/PageRendererFactory/index.html @@ -0,0 +1,75 @@ + + + + + +Class: PageRendererFactory | IMA.js + + + + +
Skip to main content

Class: PageRendererFactory

+

Defined in: packages/react-page-renderer/src/renderer/PageRendererFactory.ts:7

+

Factory for page render.

+

Constructors

+

new PageRendererFactory()

+
+

new PageRendererFactory(componentUtils): PageRendererFactory

+
+

Defined in: packages/react-page-renderer/src/renderer/PageRendererFactory.ts:15

+

Initializes the factory used by the page renderer.

+

Parameters

+
componentUtils
+

ComponentUtils

+

The registry of component utilities.

+

Returns

+

PageRendererFactory

+

Methods

+

getDocumentView()

+
+

getDocumentView(documentView): ComponentType

+
+

Defined in: packages/react-page-renderer/src/renderer/PageRendererFactory.ts:40

+

Returns the class constructor of the specified document view component. +Document view may be specified as a namespace path or as a class +constructor.

+

Parameters

+
documentView
+

ComponentType

+

The +namespace path pointing to the document view component, or the +constructor of the document view component.

+

Returns

+

ComponentType

+

The constructor of the document +view component.

+
+

getManagedRootView()

+
+

getManagedRootView(managedRootView): ComponentType

+
+

Defined in: packages/react-page-renderer/src/renderer/PageRendererFactory.ts:71

+

Returns the class constructor of the specified managed root view +component. Managed root view may be specified as a namespace +path or as a class constructor.

+

Parameters

+
managedRootView
+

ComponentType

+

The +namespace path pointing to the managed root view component, or +the constructor of the React component.

+

Returns

+

ComponentType

+

The constructor of the managed +root view component.

+
+

getUtils()

+
+

getUtils(): Utils

+
+

Defined in: packages/react-page-renderer/src/renderer/PageRendererFactory.ts:25

+

Return object of services which are defined for alias $Utils.

+

Returns

+

Utils

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/ServerPageRenderer/index.html b/api/@ima/react-page-renderer/classes/ServerPageRenderer/index.html new file mode 100644 index 000000000..8bce55bc6 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/ServerPageRenderer/index.html @@ -0,0 +1,212 @@ + + + + + +Class: ServerPageRenderer | IMA.js + + + + +
Skip to main content

Class: ServerPageRenderer

+

Defined in: packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:22

+

Server-side page renderer. The renderer renders the page into the HTML +markup and sends it to the client.

+

Extends

+
    +
  • AbstractPageRenderer
  • +
+

Constructors

+

new ServerPageRenderer()

+
+

new ServerPageRenderer(factory, helpers, dispatcher, settings): ServerPageRenderer

+
+

Defined in: packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:34

+

Initializes the server-side page renderer.

+

Parameters

+
factory
+

PageRendererFactory

+

Factory for receive $Utils to view.

+
helpers
+

__module

+

The IMA.js helper methods.

+
dispatcher
+

Dispatcher

+

Dispatcher fires events to app.

+
settings
+

Settings

+

Application setting for the current +application environment.

+

Returns

+

ServerPageRenderer

+

Overrides

+

AbstractPageRenderer.constructor

+

Properties

+

_dispatcher

+
+

protected _dispatcher: Dispatcher

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:37

+

Inherited from

+

AbstractPageRenderer._dispatcher

+
+

_factory

+
+

protected _factory: PageRendererFactory

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:38

+

Inherited from

+

AbstractPageRenderer._factory

+
+

_helpers

+
+

protected _helpers: __module

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:39

+

Inherited from

+

AbstractPageRenderer._helpers

+
+

_settings

+
+

protected _settings: Settings

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:40

+

Inherited from

+

AbstractPageRenderer._settings

+
+

_viewAdapter?

+
+

protected optional _viewAdapter: ComponentType

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:41

+

Inherited from

+

AbstractPageRenderer._viewAdapter

+
+

_viewAdapterProps

+
+

protected _viewAdapterProps: UnknownParameters = {}

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:42

+

Inherited from

+

AbstractPageRenderer._viewAdapterProps

+

Methods

+

_generateViewAdapterProps()

+
+

protected _generateViewAdapterProps(managedRootView, pageView, state): ViewAdapterProps

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:128

+

Generate properties for view from state.

+

Parameters

+
managedRootView
+

ComponentType

+
pageView
+

ComponentType

+
state
+

UnknownParameters = {}

+

Returns

+

ViewAdapterProps

+

Inherited from

+

AbstractPageRenderer._generateViewAdapterProps

+
+

_getDocumentView()

+
+

protected _getDocumentView(routeOptions): ComponentType

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:176

+

Returns the class constructor of the specified document view component.

+

Parameters

+
routeOptions
+

RouteOptions

+

The current route options.

+

Returns

+

ComponentType

+

The constructor of the document view component.

+

Inherited from

+

AbstractPageRenderer._getDocumentView

+
+

_getViewAdapterElement()

+
+

_getViewAdapterElement(props): undefined | ReactElement<{}>

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:115

+

Parameters

+
props
+

Returns

+

undefined | ReactElement<{}>

+

Inherit Doc

+

Inherited from

+

AbstractPageRenderer._getViewAdapterElement

+
+

_prepareViewAdapter()

+
+

protected _prepareViewAdapter(controller, pageView, routeOptions): void

+
+

Defined in: packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:148

+

Returns wrapped page view component with managed root view and view adapter.

+

Parameters

+
controller
+

Controller

+
pageView
+

ComponentType

+
routeOptions
+

RouteOptions

+

The current route options.

+

Returns

+

void

+

Inherited from

+

AbstractPageRenderer._prepareViewAdapter

+
+

mount()

+
+

mount(controller, pageView, pageResources, routeOptions): Promise<void | PageData>

+
+

Defined in: packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:46

+

Parameters

+
controller
+

ControllerDecorator

+
pageView
+

ComponentType<{}>

+
pageResources
+

UnknownPromiseParameters

+
routeOptions
+

RouteOptions

+

Returns

+

Promise<void | PageData>

+

Inherit Doc

+

Overrides

+

AbstractPageRenderer.mount

+
+

setState()

+
+

setState(): Promise<void>

+
+

Defined in: packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:72

+

Returns

+

Promise<void>

+

Inherit Doc

+

Overrides

+

AbstractPageRenderer.setState

+
+

unmount()

+
+

unmount(): void

+
+

Defined in: packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:88

+

Returns

+

void

+

Inherit Doc

+

Overrides

+

AbstractPageRenderer.unmount

+
+

update()

+
+

update(): Promise<never>

+
+

Defined in: packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:79

+

Returns

+

Promise<never>

+

Inherit Doc

+

Overrides

+

AbstractPageRenderer.update

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/classes/ViewAdapter/index.html b/api/@ima/react-page-renderer/classes/ViewAdapter/index.html new file mode 100644 index 000000000..16dd331c5 --- /dev/null +++ b/api/@ima/react-page-renderer/classes/ViewAdapter/index.html @@ -0,0 +1,444 @@ + + + + + +Class: ViewAdapter | IMA.js + + + + +
Skip to main content

Class: ViewAdapter

+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:24

+

An adapter component providing the current page controller's state to the +page view component through its properties.

+

Extends

+ +

Constructors

+

new ViewAdapter()

+
+

new ViewAdapter(props): ViewAdapter

+
+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:42

+

Initializes the adapter component.

+

Parameters

+
props
+

ViewAdapterProps

+

Component properties, containing the actual page view +and the initial page state to pass to the view.

+

Returns

+

ViewAdapter

+

Overrides

+

Component<ViewAdapterProps, State>.constructor

+

Properties

+

context

+
+

context: unknown

+
+

Defined in: node_modules/@types/react/index.d.ts:1013

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+

Example

+
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
+

See

+

React Docs

+

Inherited from

+

Component.context

+
+

contextSelectors

+
+

contextSelectors: (props, state) => any[]

+
+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:32

+

Parameters

+
props
+

ViewAdapterProps

+
state
+

State

+

Returns

+

any

+
+

createContext

+
+

createContext: MemoizedFn<(...args) => PageContextType>

+
+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:31

+
+

props

+
+

readonly props: Readonly<ViewAdapterProps>

+
+

Defined in: node_modules/@types/react/index.d.ts:1033

+

Inherited from

+

Component.props

+
+

refs

+
+

refs: object

+
+

Defined in: node_modules/@types/react/index.d.ts:1040

+

Index Signature

+

[key: string]: ReactInstance

+

Deprecated

+

See

+

Legacy React Docs

+

Inherited from

+

Component.refs

+
+

state

+
+

state: Readonly<State>

+
+

Defined in: node_modules/@types/react/index.d.ts:1034

+

Inherited from

+

Component.state

+
+

contextType?

+
+

static optional contextType: Context<any>

+
+

Defined in: node_modules/@types/react/index.d.ts:995

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Example

+
type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
+

See

+

https://react.dev/reference/react/Component#static-contexttype

+

Inherited from

+

Component.contextType

+

Methods

+

componentDidCatch()?

+
+

optional componentDidCatch(error, errorInfo): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1397

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters

+
error
+

Error

+
errorInfo
+

ErrorInfo

+

Returns

+

void

+

Inherited from

+

Component.componentDidCatch

+
+

componentDidMount()?

+
+

optional componentDidMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1376

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns

+

void

+

Inherited from

+

Component.componentDidMount

+
+

componentDidUpdate()?

+
+

optional componentDidUpdate(prevProps, prevState, snapshot?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1439

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters

+
prevProps
+

Readonly<ViewAdapterProps>

+
prevState
+

Readonly<State>

+
snapshot?
+

any

+

Returns

+

void

+

Inherited from

+

Component.componentDidUpdate

+
+

componentWillMount()?

+
+

optional componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1455

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillMount

+
+

componentWillReceiveProps()?

+
+

optional componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1486

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ViewAdapterProps>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillReceiveProps

+
+

componentWillUnmount()?

+
+

optional componentWillUnmount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1392

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns

+

void

+

Inherited from

+

Component.componentWillUnmount

+
+

componentWillUpdate()?

+
+

optional componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1518

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ViewAdapterProps>

+
nextState
+

Readonly<State>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

See

+ +

Inherited from

+

Component.componentWillUpdate

+
+

forceUpdate()

+
+

forceUpdate(callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1030

+

Parameters

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

Component.forceUpdate

+
+

getContextValue()

+
+

getContextValue(props, state): PageContextType

+
+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:89

+

Parameters

+
props
+

ViewAdapterProps

+
state
+

State

+

Returns

+

PageContextType

+
+

getSnapshotBeforeUpdate()?

+
+

optional getSnapshotBeforeUpdate(prevProps, prevState): any

+
+

Defined in: node_modules/@types/react/index.d.ts:1433

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of this method prevents any of the deprecated +lifecycle events from running.

+

Parameters

+
prevProps
+

Readonly<ViewAdapterProps>

+
prevState
+

Readonly<State>

+

Returns

+

any

+

Inherited from

+

Component.getSnapshotBeforeUpdate

+
+

render()

+
+

render(): FunctionComponentElement<ProviderProps<PageContextType>> | CElement<ErrorBoundaryProps, ErrorBoundary>

+
+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:99

+

Returns

+

FunctionComponentElement<ProviderProps<PageContextType>> | CElement<ErrorBoundaryProps, ErrorBoundary>

+

Inherit Doc

+

Overrides

+

Component.render

+
+

setState()

+
+

setState<K>(state, callback?): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1025

+

Type Parameters

+

K extends string | number

+

Parameters

+
state
+

null | State | (prevState, props) => null | State | Pick<State, K> | Pick<State, K>

+
callback?
+

() => void

+

Returns

+

void

+

Inherited from

+

Component.setState

+
+

shouldComponentUpdate()?

+
+

optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+
+

Defined in: node_modules/@types/react/index.d.ts:1387

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component.render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters

+
nextProps
+

Readonly<ViewAdapterProps>

+
nextState
+

Readonly<State>

+
nextContext
+

any

+

Returns

+

boolean

+

Inherited from

+

Component.shouldComponentUpdate

+
+

UNSAFE_componentWillMount()?

+
+

optional UNSAFE_componentWillMount(): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1470

+

Called immediately before mounting occurs, and before Component.render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Returns

+

void

+

Deprecated

+

16.3, use componentDidMount or the constructor instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps()?

+
+

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1504

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component.setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ViewAdapterProps>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate()?

+
+

optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+
+

Defined in: node_modules/@types/react/index.d.ts:1534

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component.setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate +or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents +this from being invoked.

+

Parameters

+
nextProps
+

Readonly<ViewAdapterProps>

+
nextState
+

Readonly<State>

+
nextContext
+

any

+

Returns

+

void

+

Deprecated

+

16.3, use getSnapshotBeforeUpdate instead

+

See

+ +

Inherited from

+

Component.UNSAFE_componentWillUpdate

+
+

getDerivedStateFromProps()

+
+

static getDerivedStateFromProps(props, state): State

+
+

Defined in: packages/react-page-renderer/src/component/ViewAdapter.ts:71

+

Parameters

+
props
+

ViewAdapterProps

+
state
+

State

+

Returns

+

State

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/cssClasses/index.html b/api/@ima/react-page-renderer/functions/cssClasses/index.html new file mode 100644 index 000000000..ff52aaf93 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/cssClasses/index.html @@ -0,0 +1,39 @@ + + + + + +Function: cssClasses() | IMA.js + + + + +
Skip to main content

Function: cssClasses()

+
+

cssClasses(component, classRules, includeComponentClassName): string

+
+

Defined in: packages/react-page-renderer/src/componentHelpers.ts:97

+

Generate a string of CSS classes from the properties of the passed-in +object that resolve to true.

+

Parameters

+

component

+

The component +requiring the composition of the CSS class names.

+

AbstractComponent | AbstractPureComponent

+

classRules

+

CSS classes in a +string separated by whitespace, or a map of CSS class names to +boolean values. The CSS class name will be included in the result +only if the value is true.

+

string | string[] | {}

+

includeComponentClassName

+

boolean

+

Returns

+

string

+

String of CSS classes that had their property resolved +to true.

+

Examples

+
this.cssClasses('my-class my-class-modifier', true);
+
this.cssClasses({
'my-class': true,
'my-class-modifier': this.props.modifier
}, true);
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/defaultCssClasses/index.html b/api/@ima/react-page-renderer/functions/defaultCssClasses/index.html new file mode 100644 index 000000000..fbb6b02c6 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/defaultCssClasses/index.html @@ -0,0 +1,35 @@ + + + + + +Function: defaultCssClasses() | IMA.js + + + + +
Skip to main content

Function: defaultCssClasses()

+
+

defaultCssClasses(classRules, component?): string

+
+

Defined in: packages/react-page-renderer/src/componentHelpers.ts:122

+

Generate a string of CSS classes from the properties of the passed-in +object that resolve to true.

+

Parameters

+

classRules

+

Argument

+

CSS classes in a +string separated by whitespace, or a map of CSS class names to +boolean values. The CSS class name will be included in the result +only if the value is true.

+

component?

+

The component +requiring the composition of the CSS class names, if it has the +className property set and requires its inclusion this time.

+

string | ComponentType

+

Returns

+

string

+

String of CSS classes that had their property resolved +to true.

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/fire/index.html b/api/@ima/react-page-renderer/functions/fire/index.html new file mode 100644 index 000000000..28ea39eab --- /dev/null +++ b/api/@ima/react-page-renderer/functions/fire/index.html @@ -0,0 +1,33 @@ + + + + + +Function: fire() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/getUtils/index.html b/api/@ima/react-page-renderer/functions/getUtils/index.html new file mode 100644 index 000000000..6865e34e3 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/getUtils/index.html @@ -0,0 +1,33 @@ + + + + + +Function: getUtils() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/link/index.html b/api/@ima/react-page-renderer/functions/link/index.html new file mode 100644 index 000000000..ed89c8411 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/link/index.html @@ -0,0 +1,35 @@ + + + + + +Function: link() | IMA.js + + + + +
Skip to main content

Function: link()

+
+

link(component, name, params): string

+
+

Defined in: packages/react-page-renderer/src/componentHelpers.ts:68

+

Generates an absolute URL using the provided route name (see the +app/config/routes.js file). The provided parameters will +replace the placeholders in the route pattern, while the extraneous +parameters will be appended to the generated URL's query string.

+

Parameters

+

component

+

The component +requiring the generating of the URL.

+

AbstractComponent | AbstractPureComponent

+

name

+

string

+

The route name.

+

params

+

Router parameters and +extraneous parameters to add to the URL as a query string.

+

Returns

+

string

+

The generated URL.

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/listen/index.html b/api/@ima/react-page-renderer/functions/listen/index.html new file mode 100644 index 000000000..648e06b6a --- /dev/null +++ b/api/@ima/react-page-renderer/functions/listen/index.html @@ -0,0 +1,37 @@ + + + + + +Function: listen() | IMA.js + + + + +
Skip to main content

Function: listen()

+
+

listen(component, eventTarget, eventName, listener): EventBus

+
+

Defined in: packages/react-page-renderer/src/componentHelpers.ts:168

+

Registers the provided event listener for execution whenever an IMA.js +DOM custom event of the specified name occurs at the specified event +target.

+

Parameters

+

component

+

The component +requesting the registration of the event listener.

+

AbstractComponent | AbstractPureComponent

+

eventTarget

+

EventTarget

+

The react component or +event target at which the listener should listen for the event.

+

eventName

+

string

+

The name of the event for which to listen.

+

listener

+

(event) => void

+

The listener for event to register.

+

Returns

+

EventBus

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/localize/index.html b/api/@ima/react-page-renderer/functions/localize/index.html new file mode 100644 index 000000000..94c343629 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/localize/index.html @@ -0,0 +1,34 @@ + + + + + +Function: localize() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/unlisten/index.html b/api/@ima/react-page-renderer/functions/unlisten/index.html new file mode 100644 index 000000000..f3bdb7672 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/unlisten/index.html @@ -0,0 +1,36 @@ + + + + + +Function: unlisten() | IMA.js + + + + +
Skip to main content

Function: unlisten()

+
+

unlisten(component, eventTarget, eventName, listener): EventBus

+
+

Defined in: packages/react-page-renderer/src/componentHelpers.ts:188

+

Deregisters the provided event listener for an IMA.js DOM custom event +of the specified name at the specified event target.

+

Parameters

+

component

+

The component +that requested the registration of the event listener.

+

AbstractComponent | AbstractPureComponent

+

eventTarget

+

EventTarget

+

The react component or +event target at which the listener should listen for the event.

+

eventName

+

string

+

The name of the event for which to listen.

+

listener

+

(event) => void

+

The listener for event to register.

+

Returns

+

EventBus

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useComponent/index.html b/api/@ima/react-page-renderer/functions/useComponent/index.html new file mode 100644 index 000000000..d87d6abe2 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useComponent/index.html @@ -0,0 +1,29 @@ + + + + + +Function: useComponent() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useComponentUtils/index.html b/api/@ima/react-page-renderer/functions/useComponentUtils/index.html new file mode 100644 index 000000000..85a6764ff --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useComponentUtils/index.html @@ -0,0 +1,23 @@ + + + + + +Function: useComponentUtils() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useCssClasses/index.html b/api/@ima/react-page-renderer/functions/useCssClasses/index.html new file mode 100644 index 000000000..b03bc4249 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useCssClasses/index.html @@ -0,0 +1,23 @@ + + + + + +Function: useCssClasses() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useDispatcher/index.html b/api/@ima/react-page-renderer/functions/useDispatcher/index.html new file mode 100644 index 000000000..bee123356 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useDispatcher/index.html @@ -0,0 +1,57 @@ + + + + + +Function: useDispatcher() | IMA.js + + + + +
Skip to main content

Function: useDispatcher()

+

Call Signature

+
+

useDispatcher<E>(event?, listener?): useDispatcherType

+
+

Defined in: packages/react-page-renderer/src/hooks/dispatcher.ts:38

+

Hook to register listeners for dispatcher events. Returns +decorated dispatcher fire function. Omitting hook params +doesn't register any events to the dispatcher but provides +access to the dispatcher's fire method.

+

Type Parameters

+

E extends keyof DispatcherEventsMap

+

Parameters

+

event?

+

E

+

Event name.

+

listener?

+

DispatcherListener<DispatcherEventsMap[E]>

+

Callback to register to dispatcher.

+

Returns

+

useDispatcherType

+

Dispatcher fire method.

+

Example

+
const { fire } = useDispatcher(
'dispatcher-event',
() => {}
);

// Access $Dispatcher's.fire method without registering listener
const { fire } = useDispatcher();

// Firing custom event
useEffect(() => {
fire('another-event', { data: {} })
});
+

Call Signature

+
+

useDispatcher(event?, listener?): useDispatcherType

+
+

Defined in: packages/react-page-renderer/src/hooks/dispatcher.ts:42

+

Hook to register listeners for dispatcher events. Returns +decorated dispatcher fire function. Omitting hook params +doesn't register any events to the dispatcher but provides +access to the dispatcher's fire method.

+

Parameters

+

event?

+

string

+

Event name.

+

listener?

+

DispatcherListener<any>

+

Callback to register to dispatcher.

+

Returns

+

useDispatcherType

+

Dispatcher fire method.

+

Example

+
const { fire } = useDispatcher(
'dispatcher-event',
() => {}
);

// Access $Dispatcher's.fire method without registering listener
const { fire } = useDispatcher();

// Firing custom event
useEffect(() => {
fire('another-event', { data: {} })
});
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useEventBus/index.html b/api/@ima/react-page-renderer/functions/useEventBus/index.html new file mode 100644 index 000000000..ece32b207 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useEventBus/index.html @@ -0,0 +1,33 @@ + + + + + +Function: useEventBus() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useLink/index.html b/api/@ima/react-page-renderer/functions/useLink/index.html new file mode 100644 index 000000000..9b986ebe4 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useLink/index.html @@ -0,0 +1,23 @@ + + + + + +Function: useLink() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useLocalize/index.html b/api/@ima/react-page-renderer/functions/useLocalize/index.html new file mode 100644 index 000000000..aeab5d93b --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useLocalize/index.html @@ -0,0 +1,23 @@ + + + + + +Function: useLocalize() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useOnce/index.html b/api/@ima/react-page-renderer/functions/useOnce/index.html new file mode 100644 index 000000000..a9dfc1829 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useOnce/index.html @@ -0,0 +1,26 @@ + + + + + +Function: useOnce() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/usePageContext/index.html b/api/@ima/react-page-renderer/functions/usePageContext/index.html new file mode 100644 index 000000000..dac2287e2 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/usePageContext/index.html @@ -0,0 +1,23 @@ + + + + + +Function: usePageContext() | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useSettings/index.html b/api/@ima/react-page-renderer/functions/useSettings/index.html new file mode 100644 index 000000000..832b01cb2 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useSettings/index.html @@ -0,0 +1,29 @@ + + + + + +Function: useSettings() | IMA.js + + + + +
Skip to main content

Function: useSettings()

+
+

useSettings<T>(selector?): T | undefined

+
+

Defined in: packages/react-page-renderer/src/hooks/settings.ts:19

+

IMA $Settings access provider with optional selector.

+

Type Parameters

+

T = any

+

Parameters

+

selector?

+

string

+

Optional path selector.

+

Returns

+

T | undefined

+

Settings value or undefined.

+

Example

+
const settings = useSettings();
console.log(settings.$Cache.enabled);

// Using settings selector
const { scripts, documentView } = useSettings('$Page.$Render');
const esScripts = useSettings('$Page.$Render.esScripts');
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/functions/useWindowEvent/index.html b/api/@ima/react-page-renderer/functions/useWindowEvent/index.html new file mode 100644 index 000000000..c6be14291 --- /dev/null +++ b/api/@ima/react-page-renderer/functions/useWindowEvent/index.html @@ -0,0 +1,67 @@ + + + + + +Function: useWindowEvent() | IMA.js + + + + +
Skip to main content

Function: useWindowEvent()

+

Call Signature

+
+

useWindowEvent<T, K>(eventTarget, event, listener, useCapture?): useWindowEventType

+
+

Defined in: packages/react-page-renderer/src/hooks/windowEvent.ts:50

+

Hook for binding window events using IMA window API.

+

Type Parameters

+

T extends WindowEventTargets

+

K extends string | number | symbol

+

Parameters

+

eventTarget

+

T

+

Optional event target, if left blank +it defaults to current window (=> can be omitted in most use cases).

+

event

+

K

+

Event name.

+

listener

+

(event) => void

+

useCapture?

+

Use capture instead of bubbling (default).

+

boolean | EventListenerOptions

+

Returns

+

useWindowEventType

+

window object and utility methods.

+

Example

+
// Using window as event target
const { dispatchEvent, createCustomEvent } = useWindowEvent(
window,
'custom-event',
() => windowEventCallback(a, b)
);

// Using custom event target
const { dispatchEvent } = useWindowEvent(
window.getElementById('page'),
'click',
() => windowEventCallback(a, b),
false,
);

// Dispatching custom event
useEffect(() => {
dispatchEvent(
createCustomEvent('custom-event'),
{ data: {} }
);
});
+

Call Signature

+
+

useWindowEvent<T, E>(eventTarget, event, listener, useCapture?): useWindowEventType

+
+

Defined in: packages/react-page-renderer/src/hooks/windowEvent.ts:59

+

Hook for binding window events using IMA window API.

+

Type Parameters

+

T extends EventTarget

+

E extends Event = Event

+

Parameters

+

eventTarget

+

T

+

Optional event target, if left blank +it defaults to current window (=> can be omitted in most use cases).

+

event

+

string

+

Event name.

+

listener

+

(event) => void

+

useCapture?

+

Use capture instead of bubbling (default).

+

boolean | EventListenerOptions

+

Returns

+

useWindowEventType

+

window object and utility methods.

+

Example

+
// Using window as event target
const { dispatchEvent, createCustomEvent } = useWindowEvent(
window,
'custom-event',
() => windowEventCallback(a, b)
);

// Using custom event target
const { dispatchEvent } = useWindowEvent(
window.getElementById('page'),
'click',
() => windowEventCallback(a, b),
false,
);

// Dispatching custom event
useEffect(() => {
dispatchEvent(
createCustomEvent('custom-event'),
{ data: {} }
);
});
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/globals/index.html b/api/@ima/react-page-renderer/globals/index.html new file mode 100644 index 000000000..19427324b --- /dev/null +++ b/api/@ima/react-page-renderer/globals/index.html @@ -0,0 +1,57 @@ + + + + + +@ima/react-page-renderer | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/index.html b/api/@ima/react-page-renderer/index.html new file mode 100644 index 000000000..b4007203a --- /dev/null +++ b/api/@ima/react-page-renderer/index.html @@ -0,0 +1,27 @@ + + + + + +@ima/react-page-renderer | IMA.js + + + + +
Skip to main content

@ima/react-page-renderer

+

Adds support for rendering pages with React for IMA@18 and higher. For legacy IMA@17 use page renderers included in core package.

+

Installation

+
npm install @ima/react-page-renderer
+

Usage

+

app/config/bind.js

+
import {
defaultCssClasses as cssClassNameProcessor,
PageRendererFactory,
ServerPageRenderer,
} from '@ima/react-page-renderer';
import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';

export default (ns, oc, config) => {
oc.bind('$CssClasses', function () {
return cssClassNameProcessor;
});

oc.get(ComponentUtils).register({
$CssClasses: '$CssClasses',
});

oc.inject(PageRendererFactory, [ComponentUtils]);
oc.bind('$PageRendererFactory', PageRendererFactory);

if (oc.get(Window).isClient()) {
oc.provide(PageRenderer, ClientPageRenderer, [
PageRendererFactory,
'$Helper',
'$Dispatcher',
'$Settings',
Window,
]);
} else {
oc.provide(PageRenderer, ServerPageRenderer, [
PageRendererFactory,
'$Helper',
'$Dispatcher',
'$Settings',
Cache,
]);
}
oc.bind('$PageRenderer', PageRenderer);
};
+

If your app is using legacy React@17, use legacy client page renderer instead of the default one.

+
import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/LegacyClientPageRenderer';
+

app/config/settings.js

+
import DocumentView from 'app/document/DocumentView';

export default (ns, oc, config) => {
return {
prod: {
$Page: {
$Render: {
documentView: DocumentView,
masterElementId: 'page',
},
},
},
};
};
+

server/app.js

+
// You should already have this line in your file
const imaServer = require('@ima/server')();

require('@ima/react-page-renderer/hook/server')(imaServer);
+

Components

+
import { AbstractComponent, AbstractPureComponent } from '@ima/react-page-renderer';

export default class MyComponent extends AbstractComponent {}
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/interfaces/PageContextType/index.html b/api/@ima/react-page-renderer/interfaces/PageContextType/index.html new file mode 100644 index 000000000..e69657fff --- /dev/null +++ b/api/@ima/react-page-renderer/interfaces/PageContextType/index.html @@ -0,0 +1,20 @@ + + + + + +Interface: PageContextType | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/interfaces/ViewAdapterProps/index.html b/api/@ima/react-page-renderer/interfaces/ViewAdapterProps/index.html new file mode 100644 index 000000000..65060b4ce --- /dev/null +++ b/api/@ima/react-page-renderer/interfaces/ViewAdapterProps/index.html @@ -0,0 +1,46 @@ + + + + + +Interface: ViewAdapterProps | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/interfaces/useComponentType/index.html b/api/@ima/react-page-renderer/interfaces/useComponentType/index.html new file mode 100644 index 000000000..2d8e71016 --- /dev/null +++ b/api/@ima/react-page-renderer/interfaces/useComponentType/index.html @@ -0,0 +1,183 @@ + + + + + +Interface: useComponentType | IMA.js + + + + +
Skip to main content

Interface: useComponentType

+

Defined in: packages/react-page-renderer/src/hooks/component.ts:7

+

Properties

+

cssClasses()

+
+

cssClasses: (classRules, component?) => string

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:9

+

Generate a string of CSS classes from the properties of the passed-in +object that resolve to true.

+

Parameters

+
classRules
+

Argument

+

CSS classes in a +string separated by whitespace, or a map of CSS class names to +boolean values. The CSS class name will be included in the result +only if the value is true.

+
component?
+

The component +requiring the composition of the CSS class names, if it has the +className property set and requires its inclusion this time.

+

string | ComponentType

+

Returns

+

string

+

String of CSS classes that had their property resolved +to true.

+
+

fire()

+
+

fire: (eventTarget, eventName, data?, options?) => this

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:12

+

Fires a new custom event of the specified name, carrying the provided +data.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Note that the default options are +{ bubbles: true, cancelable: true }, which is different from the +default values used in the native custom events +({ bubbles: false, cancelable: false }).

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the event +will be dispatched (e.g. element/document/window).

+
eventName
+

string

+

The name of the event to fire.

+
data?
+

any

+

The data to pass to the event listeners.

+
options?
+

EventBusOptions

+

The +override of the default options passed to the constructor of the +custom event fired by this event bus. +The default options passed to the custom event constructor are +{ bubbles: true, cancelable: true }.

+

Returns

+

this

+

This custom event bus.

+

Throws

+

Thrown if the provided event target cannot be used to +fire the event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

+
+ +
+

link: (routeName, params) => string

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:11

+

Generates an absolute URL (including protocol, domain, etc) for the +specified route by substituting the route's parameter placeholders with +the provided parameter values.

+

Parameters

+
routeName
+

string

+

The unique name of the route, identifying the +route to use.

+
params
+

RouteParams

+

Parameter values for the route's +parameter placeholders. Extraneous parameters will be added as +URL query.

+

Returns

+

string

+

An absolute URL for the specified route and parameters.

+
+

listen()

+
+

listen: (eventTarget, eventName, listener) => this

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:13

+

Registers the provided event listener to be executed when the specific +custom event is fired by the same implementation of the event bus and +passes through the specified event target.

+

When the specified event is fired, the event listener will be executed +with the event passed as the first argument.

+

The order in which the event listeners will be executed is unspecified +and should not be relied upon.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +should listen for the specified event.

+
eventName
+

string

+

The name of the event to listen for.

+
listener
+

EventBusListener

+

The event listener to +register.

+

Returns

+

this

+

This event bus.

+
+

localize()

+
+

localize: (key, parameters?) => string

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:10

+

Retrieves the localization phrase identified by the specified key, +evaluates the phrase's placeholder expressions using the provided +parameters and returns the result.

+

Parameters

+
key
+

never

+

The key identifying the localization phrase.

+
parameters?
+

ObjectParameters

+

The +map of parameter names to the parameter values to use. +Defaults to an empty plain object.

+

Returns

+

string

+

The specified localization phrase with its placeholders +evaluated using the provided parameters.

+
+

unlisten()

+
+

unlisten: (eventTarget, eventName, listener) => this

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:14

+

Removes the provided event listener from the set of event listeners +executed when the specified custom event fired by the same +implementation passes through the specified event target.

+

The method has no effect if the listener is not registered for the +specified event at the specified event target.

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the listener +is listening for the event.

+
eventName
+

string

+

The name of the event listened for.

+
listener
+

EventBusListener

+

The event listener to +deregister.

+

Returns

+

this

+

This event bus.

+
+

utils

+
+

utils: Utils

+
+

Defined in: packages/react-page-renderer/src/hooks/component.ts:8

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/interfaces/useDispatcherType/index.html b/api/@ima/react-page-renderer/interfaces/useDispatcherType/index.html new file mode 100644 index 000000000..41b9a543a --- /dev/null +++ b/api/@ima/react-page-renderer/interfaces/useDispatcherType/index.html @@ -0,0 +1,58 @@ + + + + + +Interface: useDispatcherType | IMA.js + + + + +
Skip to main content

Interface: useDispatcherType

+

Defined in: packages/react-page-renderer/src/hooks/dispatcher.ts:10

+

Properties

+

fire()

+
+

fire: <E>(event, data) => this(event, data) => this

+
+

Defined in: packages/react-page-renderer/src/hooks/dispatcher.ts:11

+

Fires a new event of the specified name, carrying the provided data.

+

The method will synchronously execute all event listeners registered for +the specified event, passing the provided data to them as the first +argument.

+

It will also execute all event listeners registered to listen to all events.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Type Parameters

+

E extends keyof DispatcherEventsMap

+

Parameters

+
event
+

E

+

The name of the event to fire.

+
data
+

DispatcherEventsMap[E]

+

The data to pass to the event listeners.

+

Returns

+

this

+

This dispatcher.

+

Fires a new event of the specified name, carrying the provided data.

+

The method will synchronously execute all event listeners registered for +the specified event, passing the provided data to them as the first +argument.

+

It will also execute all event listeners registered to listen to all events.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Parameters

+
event
+

string

+

The name of the event to fire.

+
data
+

any

+

The data to pass to the event listeners.

+

Returns

+

this

+

This dispatcher.

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/interfaces/useEventBusType/index.html b/api/@ima/react-page-renderer/interfaces/useEventBusType/index.html new file mode 100644 index 000000000..12081a160 --- /dev/null +++ b/api/@ima/react-page-renderer/interfaces/useEventBusType/index.html @@ -0,0 +1,55 @@ + + + + + +Interface: useEventBusType | IMA.js + + + + +
Skip to main content

Interface: useEventBusType

+

Defined in: packages/react-page-renderer/src/hooks/eventBus.ts:6

+

Properties

+

fire()

+
+

fire: (eventTarget, eventName, data?, options?) => this

+
+

Defined in: packages/react-page-renderer/src/hooks/eventBus.ts:7

+

Fires a new custom event of the specified name, carrying the provided +data.

+

Note that this method does not prevent the event listeners to modify the +data in any way. The order in which the event listeners will be executed +is unspecified and should not be relied upon.

+

Note that the default options are +{ bubbles: true, cancelable: true }, which is different from the +default values used in the native custom events +({ bubbles: false, cancelable: false }).

+

Parameters

+
eventTarget
+

EventTarget

+

The event target at which the event +will be dispatched (e.g. element/document/window).

+
eventName
+

string

+

The name of the event to fire.

+
data?
+

any

+

The data to pass to the event listeners.

+
options?
+

EventBusOptions

+

The +override of the default options passed to the constructor of the +custom event fired by this event bus. +The default options passed to the custom event constructor are +{ bubbles: true, cancelable: true }.

+

Returns

+

this

+

This custom event bus.

+

Throws

+

Thrown if the provided event target cannot be used to +fire the event.

+

See

+

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

+ + \ No newline at end of file diff --git a/api/@ima/react-page-renderer/variables/PageContext/index.html b/api/@ima/react-page-renderer/variables/PageContext/index.html new file mode 100644 index 000000000..675140130 --- /dev/null +++ b/api/@ima/react-page-renderer/variables/PageContext/index.html @@ -0,0 +1,17 @@ + + + + + +Variable: PageContext | IMA.js + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/api/classes/ima_core.AbstractController/index.html b/api/classes/ima_core.AbstractController/index.html deleted file mode 100644 index 997171f7b..000000000 --- a/api/classes/ima_core.AbstractController/index.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -Class: AbstractController<S, R, SS> | IMA.js - - - - -
-
Skip to main content

Class: AbstractController<S, R, SS>

@ima/core.AbstractController

Basic implementation of the Controller interface, providing the -default implementation of the most of the API.

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends S = S

Hierarchy

Constructors

constructor

new AbstractController\<S, R, SS>()

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends PageState = S

Overrides

Controller.constructor

Defined in

packages/core/src/controller/AbstractController.ts:41

Properties

_extensions

Protected _extensions: Map\<keyof OCAliasMap | Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>>, Extension\<PageState, RouteParams, PageState>>

Defined in

packages/core/src/controller/AbstractController.ts:20


_pageStateManager

Protected Optional _pageStateManager: PageStateManager\<SS>

Defined in

packages/core/src/controller/AbstractController.ts:19


params

params: R

The route parameters extracted from the current route. This field is -set externally by IMA right before the init or the -update method is called.

Defined in

packages/core/src/controller/AbstractController.ts:35


status

status: number = 200

The HTTP response code to send to the client.

Defined in

packages/core/src/controller/AbstractController.ts:29


$dependencies

Static $dependencies: Dependencies

Overrides

Controller.$dependencies

Defined in

packages/core/src/controller/AbstractController.ts:38


$extensions

Static Optional $extensions: Dependencies\<Extension\<any, any, any>>

Overrides

Controller.$extensions

Defined in

packages/core/src/controller/AbstractController.ts:39


$name

Static Optional $name: string

Overrides

Controller.$name

Defined in

packages/core/src/controller/AbstractController.ts:37

Methods

activate

activate(): void | Promise\<void>

Callback for activating the controller in the UI. This is the last -method invoked during controller initialization, called after all the -promises returned from the load method have been -resolved and the controller has configured the meta manager.

The controller may register any React and DOM event listeners in this -method. The controller may start receiving event bus event after this -method completes.

Returns

void | Promise\<void>

Inherited from

Controller.activate

Defined in

packages/core/src/controller/Controller.ts:84


addExtension

addExtension(extension, extensionInstance?): void

Adds the provided extension to this controller. All extensions should be -added to the controller before the init method is -invoked.

Parameters

NameType
extensionkeyof OCAliasMap | Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>> | Extension\<PageState, RouteParams, PageState>
extensionInstance?Extension\<PageState, RouteParams, PageState>

Returns

void

Overrides

Controller.addExtension

Defined in

packages/core/src/controller/AbstractController.ts:95


beginStateTransaction

beginStateTransaction(): void

Starts queueing state patches off the controller state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Overrides

Controller.beginStateTransaction

Defined in

packages/core/src/controller/AbstractController.ts:68


cancelStateTransaction

cancelStateTransaction(): void

Cancels ongoing state transaction. Uncommitted state changes are lost.

Returns

void

Overrides

Controller.cancelStateTransaction

Defined in

packages/core/src/controller/AbstractController.ts:86


commitStateTransaction

commitStateTransaction(): void

Applies queued state patches to the controller state. All patches are squashed -and applied with one setState call.

Returns

void

Overrides

Controller.commitStateTransaction

Defined in

packages/core/src/controller/AbstractController.ts:77


deactivate

deactivate(): void | Promise\<void>

Callback for deactivating the controller in the UI. This is the first -method invoked during controller deinitialization. This usually happens -when the user navigates to a different URL.

This method is the lifecycle counterpart of the -activate method.

The controller should deregister listeners registered and release all -resources obtained in the activate method.

Returns

void | Promise\<void>

Inherited from

Controller.deactivate

Defined in

packages/core/src/controller/Controller.ts:99


destroy

destroy(): void | Promise\<void>

Finalization callback, called when the controller is being discarded by -the application. This usually happens when the user navigates to a -different URL.

This method is the lifecycle counterpart of the init -method.

The controller should release all resources obtained in the -init method. The controller must release any resources -that might not be released automatically when the controller's instance -is destroyed by the garbage collector.

Returns

void | Promise\<void>

Inherited from

Controller.destroy

Defined in

packages/core/src/controller/Controller.ts:70


getExtension

getExtension(extension): undefined | Extension\<PageState, RouteParams, PageState>

Returns extension instance defined by it's class constructor -from controller's extension intance map.

Parameters

NameType
extensiontypeof Extension

Returns

undefined | Extension\<PageState, RouteParams, PageState>

Overrides

Controller.getExtension

Defined in

packages/core/src/controller/AbstractController.ts:129


getExtensions

getExtensions(): Extension\<{}, {}, {}>[]

Returns the controller's extensions.

Returns

Extension\<{}, {}, {}>[]

The extensions added to this controller.

Overrides

Controller.getExtensions

Defined in

packages/core/src/controller/AbstractController.ts:138


getHttpStatus

getHttpStatus(): number

Returns the HTTP status code to send to the client, should the -controller be used at the server-side.

Returns

number

The HTTP status code to send to the client.

Overrides

Controller.getHttpStatus

Defined in

packages/core/src/controller/AbstractController.ts:166


getRouteParams

getRouteParams(): R

Returns the current route parameters.

Returns

R

The current route parameters.

Overrides

Controller.getRouteParams

Defined in

packages/core/src/controller/AbstractController.ts:152


getState

getState(): SS

Returns the controller's current state.

Returns

SS

The current state of this controller.

Overrides

Controller.getState

Defined in

packages/core/src/controller/AbstractController.ts:57


init

init(): void | Promise\<void>

Callback for initializing the controller after the route parameters have -been set on this controller.

Returns

void | Promise\<void>

Inherited from

Controller.init

Defined in

packages/core/src/controller/Controller.ts:53


load

load(): S | Promise\<S>

Callback the controller uses to request the resources it needs to render -its view. This method is invoked after the init -method.

The controller should request all resources it needs in this method, and -represent each resource request as a promise that will resolve once the -resource is ready for use (these can be data fetched over HTTP(S), -database connections, etc).

The method must return a plain flat object. The field names of the -object identify the resources being fetched and prepared, each value -must be either the resource (e.g. view configuration or a value -retrieved synchronously) or a Promise that will resolve to the resource.

The IMA will use the object to set the state of the controller.

If at the server side, the IMA will wait for all the promises to -resolve, replaces the promises with the resolved values and sets the -resulting object as the controller's state.

If at the client side, the IMA will first set the controller's state to -an object containing only the fields of the returned object that were -not promises. IMA will then update the controller's state every time a -promise of the returned object resolves. IMA will update the state by -adding the resolved resource to the controller's state.

Any returned promise that gets rejected will redirect the application to -the error page. The error page that will be used depends on the status -code of the error.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Inherited from

Controller.load

Defined in

packages/core/src/controller/Controller.ts:138


setMetaParams

setMetaParams(loadedResources, metaManager, router, dictionary, settings): void

Callback used to configure the meta attribute manager. The method is -called after the the controller's state has been patched with the all -loaded resources and the view has been rendered.

Parameters

NameTypeDescription
loadedResourcesIntersection\<Partial\<Pick\<SS, Matching\<SS, Promise\<any>>>>, Required\<Pick\<SS, NonMatching\<SS, Promise\<any>>>>>A plain object representing a map of resource names to resources loaded by the load method. This is the same object as the one passed to the setState method.
metaManagerMetaManagerMeta attributes manager to configure.
routerRouterThe current application router.
dictionaryDictionaryThe current localization dictionary.
settingsSettingsThe application settings for the current application environment.

Returns

void

Inherited from

Controller.setMetaParams

Defined in

packages/core/src/controller/Controller.ts:280


setPageStateManager

setPageStateManager(pageStateManager?): void

Sets the page state manager. The page state manager manages the -controller's state. The state manager can be set to null if this -controller loses the right to modify the state of the current page (e.g. -the user has navigated to a different route using a different -controller).

Parameters

NameTypeDescription
pageStateManager?PageStateManager\<SS>The current state manager to use.

Returns

void

Overrides

Controller.setPageStateManager

Defined in

packages/core/src/controller/AbstractController.ts:159


setRouteParams

setRouteParams(params?): void

Sets the current route parameters. This method is invoked before the -init method.

Parameters

NameTypeDescription
paramsRThe current route parameters.

Returns

void

Overrides

Controller.setRouteParams

Defined in

packages/core/src/controller/AbstractController.ts:145


setState

setState\<K>(statePatch): void

Patches the state of this controller using the provided object by -copying the provided patch object fields to the controller's state -object.

You can use this method to modify the state partially or add new fields -to the state object.

Note that the state is not patched recursively but by replacing the -values of the top-level fields of the state object.

Once the promises returned by the load method are -resolved, this method is called with the an object containing the -resolved values. The field names of the passed object will match the -field names in the object returned from the load -method.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDescription
statePatchnull | S | Pick\<S, K>Patch of the controller's state to apply.

Returns

void

Overrides

Controller.setState

Defined in

packages/core/src/controller/AbstractController.ts:48


update

update(prevParams?): S | Promise\<S>

Callback for updating the controller after a route update. This method -is invoked if the current route has the onlyUpdate flag set to true and -the current controller and view match those used by the previously active -route, or, the onlyUpdate option of the current route is a callback and -returned true.

The method must return an object with the same semantics as the result -of the load method. The controller's state will only -be patched by the returned object instead of replacing it completely.

The other controller lifecycle callbacks (init, -load, activate, -deactivate, Controller#deinit) are not call -in case this method is used.

Parameters

NameTypeDescription
prevParamsRPrevious route parameters.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Inherited from

Controller.update

Defined in

packages/core/src/controller/Controller.ts:164

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.AbstractExecution/index.html b/api/classes/ima_core.AbstractExecution/index.html deleted file mode 100644 index a3fbe7c60..000000000 --- a/api/classes/ima_core.AbstractExecution/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Class: AbstractExecution | IMA.js - - - - -
-
Skip to main content

Class: AbstractExecution

@ima/core.AbstractExecution

Basic implementation of the Execution interface. Provides the basic -functionality for appending and validating jobs.

Hierarchy

Constructors

constructor

new AbstractExecution(jobs?)

Parameters

NameTypeDefault value
jobsExecutionJob[][]

Overrides

Execution.constructor

Defined in

packages/core/src/execution/AbstractExecution.ts:13

Properties

_jobs

Protected _jobs: ExecutionJob[]

Defined in

packages/core/src/execution/AbstractExecution.ts:11

Methods

_validateJob

_validateJob(job): boolean

Return true if the given job can be executed

Parameters

NameType
jobExecutionJob

Returns

boolean

Defined in

packages/core/src/execution/AbstractExecution.ts:44


append

append(jobs): void

Adds a new job to be executed. The job is appended at the end of the -list of current jobs therefore is executed last.

Parameters

NameTypeDescription
jobsExecutionJob | ExecutionJob[]The jobs to be executed.

Returns

void

Overrides

Execution.append

Defined in

packages/core/src/execution/AbstractExecution.ts:22


execute

execute(...args): Promise\<unknown>

Start executing collected jobs. In the end a Promise is returned -with a resulting value. On the returned Promise a catch -method can be called to prevent any unwanted interruption.

Parameters

NameTypeDescription
...argsunknown[]Arguments to be passed when executing jobs

Returns

Promise\<unknown>

Overrides

Execution.execute

Defined in

packages/core/src/execution/AbstractExecution.ts:33

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.AbstractExtension/index.html b/api/classes/ima_core.AbstractExtension/index.html deleted file mode 100644 index 8f105ffa0..000000000 --- a/api/classes/ima_core.AbstractExtension/index.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - -Class: AbstractExtension<S, R, SS> | IMA.js - - - - -
-
Skip to main content

Class: AbstractExtension<S, R, SS>

@ima/core.AbstractExtension

Abstract extension

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends S = S

Hierarchy

Indexable

[key: PropertyKey]: any | EventBusEventHandler

Constructors

constructor

new AbstractExtension\<S, R, SS>()

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends PageState = S

Inherited from

Extension.constructor

Properties

_pageStateManager

Protected Optional _pageStateManager: PageStateManager\<SS>

State manager.

Defined in

packages/core/src/extension/AbstractExtension.ts:24


_partialStateSymbol

Protected _partialStateSymbol: symbol

Defined in

packages/core/src/extension/AbstractExtension.ts:30


_usingStateManager

Protected _usingStateManager: boolean = false

Flag indicating whether the PageStateManager should be used instead -of partial state.

Defined in

packages/core/src/extension/AbstractExtension.ts:29


params

params: R

The route parameters extracted from the current route.

Defined in

packages/core/src/extension/AbstractExtension.ts:39


status

status: number = 200

The HTTP response code to send to the client.

Defined in

packages/core/src/extension/AbstractExtension.ts:35


$dependencies

Static $dependencies: Dependencies

Overrides

Extension.$dependencies

Defined in

packages/core/src/extension/AbstractExtension.ts:17


$name

Static Optional $name: string

Overrides

Extension.$name

Defined in

packages/core/src/extension/AbstractExtension.ts:16

Methods

activate

activate(): void | Promise\<void>

Callback for activating the extension in the UI. This is the last -method invoked during controller (and extensions) initialization, called -after all the promises returned from the load method have -been resolved and the controller has configured the meta manager.

The extension may register any React and DOM event listeners in this -method. The extension may start receiving event bus event after this -method completes.

Returns

void | Promise\<void>

Overrides

Extension.activate

Defined in

packages/core/src/extension/AbstractExtension.ts:58


beginStateTransaction

beginStateTransaction(): void

Starts queueing state patches off the controller state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Overrides

Extension.beginStateTransaction

Defined in

packages/core/src/extension/AbstractExtension.ts:109


cancelStateTransaction

cancelStateTransaction(): void

Cancels ongoing state transaction. Uncommitted state changes are lost.

Returns

void

Overrides

Extension.cancelStateTransaction

Defined in

packages/core/src/extension/AbstractExtension.ts:127


clearPartialState

clearPartialState(): void

Clears the current partial state of the extension and sets it value to empty object.

Returns

void

Overrides

Extension.clearPartialState

Defined in

packages/core/src/extension/AbstractExtension.ts:155


commitStateTransaction

commitStateTransaction(): void

Applies queued state patches to the controller state. All patches are squashed -and applied with one setState call.

Returns

void

Overrides

Extension.commitStateTransaction

Defined in

packages/core/src/extension/AbstractExtension.ts:118


deactivate

deactivate(): void | Promise\<void>

Callback for deactivating the extension in the UI. This is the first -method invoked during extension deinitialization. This usually happens -when the user navigates to a different URL.

This method is the lifecycle counterpart of the activate -method.

The extension should deregister listeners registered and release all -resources obtained in the activate method.

Returns

void | Promise\<void>

Overrides

Extension.deactivate

Defined in

packages/core/src/extension/AbstractExtension.ts:65


destroy

destroy(): void | Promise\<void>

Finalization callback, called when the controller is being discarded by -the application. This usually happens when the user navigates to a -different URL.

This method is the lifecycle counterpart of the init -method.

The extension should release all resources obtained in the -init method. The extension must release any resources -that might not be released automatically when the extensions's instance -is destroyed by the garbage collector.

Returns

void | Promise\<void>

Overrides

Extension.destroy

Defined in

packages/core/src/extension/AbstractExtension.ts:51


getAllowedStateKeys

getAllowedStateKeys(): keyof S[]

Returns array of allowed state keys for extension.

Returns

keyof S[]

Overrides

Extension.getAllowedStateKeys

Defined in

packages/core/src/extension/AbstractExtension.ts:204


getHttpStatus

getHttpStatus(): number

Returns

number

Inherit Doc

Defined in

packages/core/src/extension/AbstractExtension.ts:197


getPartialState

getPartialState(): Partial\<SS>

Returns the current partial state of the extension.

Returns

Partial\<SS>

The current partial state of the extension.

Overrides

Extension.getPartialState

Defined in

packages/core/src/extension/AbstractExtension.ts:148


getRouteParams

getRouteParams(): R

Returns the current route parameters.

Returns

R

The current route parameters.

Overrides

Extension.getRouteParams

Defined in

packages/core/src/extension/AbstractExtension.ts:169


getState

getState(): SS

Returns the current state of the controller using this extension.

Returns

SS

The current state of the controller.

Overrides

Extension.getState

Defined in

packages/core/src/extension/AbstractExtension.ts:98


init

init(): void | Promise\<void>

Callback for initializing the controller extension after the route -parameters have been set on this extension.

Returns

void | Promise\<void>

Overrides

Extension.init

Defined in

packages/core/src/extension/AbstractExtension.ts:44


load

load(): S | Promise\<S>

Callback the extension uses to request the resources it needs to render -its related parts of the view. This method is invoked after the -init method.

The extension should request all resources it needs in this method, and -represent each resource request as a promise that will resolve once the -resource is ready for use (these can be data fetched over HTTP(S), -database connections, etc).

The method must return a plain flat object. The field names of the -object identify the resources being fetched and prepared, each value -must be either the resource (e.g. view configuration or a value -retrieved synchronously) or a Promise that will resolve to the resource.

The IMA will use the object to set the state of the controller.

Any returned promise that gets rejected will redirect the application to -the error page. The error page that will be used depends on the status -code of the error.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Overrides

Extension.load

Defined in

packages/core/src/extension/AbstractExtension.ts:72


setPageStateManager

setPageStateManager(pageStateManager?): void

Sets the state manager used to manage the controller's state..

Parameters

NameTypeDescription
pageStateManager?PageStateManager\<SS>The current state manager to use.

Returns

void

Overrides

Extension.setPageStateManager

Defined in

packages/core/src/extension/AbstractExtension.ts:176


setPartialState

setPartialState(partialStatePatch): void

Patches the partial state of the extension. The extension is able -during its load and update phase receive state from active controller -using this extension and from previously loaded/updated extensions.

Parameters

NameTypeDescription
partialStatePatchSPatch of the controller's state to apply.

Returns

void

Overrides

Extension.setPartialState

Defined in

packages/core/src/extension/AbstractExtension.ts:136


setRouteParams

setRouteParams(params?): void

Sets the current route parameters. This method is invoked before the -init method.

Parameters

NameTypeDescription
paramsRThe current route parameters.

Returns

void

Overrides

Extension.setRouteParams

Defined in

packages/core/src/extension/AbstractExtension.ts:162


setState

setState\<K>(statePatch): void

Patches the state of the controller using this extension by using the -provided object by copying the provided patch object fields to the -controller's state object.

Note that the state is not patched recursively but by replacing the -values of the top-level fields of the state object.

Note that the extension may modify only the fields of the state that it -has specified by its getAllowedStateKeys method.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDescription
statePatchnull | S | Pick\<S, K>Patch of the controller's state to apply.

Returns

void

Overrides

Extension.setState

Defined in

packages/core/src/extension/AbstractExtension.ts:89


switchToPartialState

switchToPartialState(): void

Disables using PageStateManager for getting state.

Returns

void

Overrides

Extension.switchToPartialState

Defined in

packages/core/src/extension/AbstractExtension.ts:190


switchToStateManager

switchToStateManager(): void

Enables using PageStateManager for getting state.

Returns

void

Overrides

Extension.switchToStateManager

Defined in

packages/core/src/extension/AbstractExtension.ts:183


update

update(prevParams?): S | Promise\<S>

Callback for updating the extension after a route update. This method -is invoked if the current route has the onlyUpdate flag set to true and -the current controller and view match those used by the previously active -route, or, the onlyUpdate option of the current route is a callback and -returned true.

The method must return an object with the same semantics as the result -of the load method. The controller's state will then be -patched by the returned object.

The other extension lifecycle callbacks (init, -load, activate, -deactivate, Extension#deinit) are not call in -case this method is used.

Parameters

NameTypeDescription
prevParamsRPrevious route parameters.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Overrides

Extension.update

Defined in

packages/core/src/extension/AbstractExtension.ts:82

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.AbstractPageManager/index.html b/api/classes/ima_core.AbstractPageManager/index.html deleted file mode 100644 index 81e04d822..000000000 --- a/api/classes/ima_core.AbstractPageManager/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -Class: AbstractPageManager | IMA.js - - - - -
-
Skip to main content

Class: AbstractPageManager

@ima/core.AbstractPageManager

Page manager for controller.

Hierarchy

Constructors

constructor

new AbstractPageManager(pageFactory, pageRenderer, pageStateManager, pageHandlerRegistry, dispatcher)

Initializes the page manager.

Parameters

NameTypeDescription
pageFactoryPageFactoryFactory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.
pageRendererPageRendererThe current renderer of the page.
pageStateManagerPageStateManager\<{}>The current page state manager.
pageHandlerRegistryPageHandlerRegistryInstance of HandlerRegistry that holds a list of pre-manage and post-manage handlers.
dispatcherDispatcher-

Overrides

PageManager.constructor

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:95

Properties

_dispatcher

Protected _dispatcher: Dispatcher

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:81


_managedPage

Protected _managedPage: ManagedPage

Details of the currently managed page.

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:68


_pageFactory

Protected _pageFactory: PageFactory

Factory used by the page manager to create instances of the -controller for the current route, and decorate the controllers and -page state managers.

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:63


_pageHandlerRegistry

Protected _pageHandlerRegistry: PageHandlerRegistry

A registry that holds a list of pre-manage and post-manage handlers.

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:80


_pageRenderer

Protected _pageRenderer: PageRenderer

The current renderer of the page.

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:72


_pageStateManager

Protected _pageStateManager: PageStateManager\<{}>

The current page state manager.

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:76


_previousManagedPage

Protected _previousManagedPage: ManagedPage

Snapshot of the previously managed page before it was replaced with -a new one

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:57

Methods

#cancelable

Private #cancelable\<T>(promise): Promise\<T>

Type parameters

Name
T

Parameters

NameType
promiseT

Returns

Promise\<T>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:845


_activateController

Protected _activateController(): Promise\<void>

Activate managed instance of controller.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:549


_activateExtensions

Protected _activateExtensions(): Promise\<void>

Activate extensions for managed instance of controller.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:563


_activatePageSource

Protected _activatePageSource(): Promise\<void>

Activate page source so call activate method on controller and his -extensions.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:529


_clearComponentState

_clearComponentState(options): void

The method clear state on current rendered component to DOM.

Parameters

NameTypeDescription
optionsRouteOptionsThe current route options.

Returns

void

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:753


_constructManagedPageValue

Protected _constructManagedPageValue(controller, view, route, options, params, controllerInstance, decoratedController, viewInstance): ManagedPage

Parameters

NameType
controllerRouteController
viewunknown
routeAbstractRoute\<string | RoutePathExpression>
optionsRouteOptions
paramsRouteParams
controllerInstanceController\<PageState, RouteParams, PageState>
decoratedControllerControllerDecorator\<{}, {}, {}>
viewInstanceunknown

Returns

ManagedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:245


_deactivateController

Protected _deactivateController(): Promise\<void>

Deactivate last managed instance of controller only If controller was -activated.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:691


_deactivateExtensions

Protected _deactivateExtensions(): Promise\<void>

Deactivate extensions for last managed instance of controller only if -they were activated.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:702


_deactivatePageSource

Protected _deactivatePageSource(): Promise\<void>

Deactivate page source so call deactivate method on controller and his -extensions.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:677


_destroyController

Protected _destroyController(): Promise\<void>

Destroy last managed instance of controller.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:726


_destroyExtensions

Protected _destroyExtensions(): Promise\<void>

Destroy extensions for last managed instance of controller.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:739


_destroyPageSource

Protected _destroyPageSource(): Promise\<void>

Destroy page source so call destroy method on controller and his -extensions.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:714


_getInitialManagedPage

Protected _getInitialManagedPage(): ManagedPage

Clear value from managed page.

Returns

ManagedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:302


_getLoadedControllerState

Protected _getLoadedControllerState(): Promise\<{}>

Load controller state from managed instance of controller.

Returns

Promise\<{}>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:485


_getLoadedExtensionsState

Protected _getLoadedExtensionsState(controllerState?): Promise\<UnknownParameters>

Load extensions state from managed instance of controller.

Parameters

NameType
controllerState?UnknownParameters

Returns

Promise\<UnknownParameters>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:501


_getUpdatedControllerState

Protected _getUpdatedControllerState(): {} | Promise\<{}>

Return updated controller state for current page controller.

Returns

{} | Promise\<{}>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:621


_getUpdatedExtensionsState

Protected _getUpdatedExtensionsState(controllerState?): Promise\<UnknownParameters>

Return updated extensions state for current page controller.

Parameters

NameType
controllerState?UnknownParameters

Returns

Promise\<UnknownParameters>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:637


_hasOnlyUpdate

Protected _hasOnlyUpdate(controller, view, options): boolean

Return true if manager has to update last managed controller and view.

Parameters

NameType
controllerRouteController
viewunknown
optionsRouteOptions

Returns

boolean

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:769


_initController

Protected _initController(): Promise\<void>

Initializes managed instance of controller with the provided parameters.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:398


_initExtensions

Protected _initExtensions(): Promise\<void>

Initialize extensions for managed instance of controller with the -provided parameters.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:413


_initPageSource

Protected _initPageSource(): Promise\<void>

Initialize page source so call init method on controller and his -extensions.

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:383


_loadPageSource

Protected _loadPageSource(): Promise\<void | PageData>

Load page source so call load method on controller and his extensions. -Merge loaded state and render it.

Returns

Promise\<void | PageData>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:443


_runPostManageHandlers

Protected _runPostManageHandlers(previousManagedPage, action): Promise\<unknown>

Parameters

NameType
previousManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:809


_runPreManageHandlers

Protected _runPreManageHandlers(actualManagedPage, action): Promise\<unknown>

Parameters

NameType
actualManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:788


_setRestrictedPageStateManager

_setRestrictedPageStateManager(extension, extensionState): void

Set page state manager to extension which has restricted rights to set -global state.

Parameters

NameType
extensionExtension\<{}, {}, {}>
extensionStateUnknownParameters

Returns

void

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:342


_storeManagedPageSnapshot

Protected _storeManagedPageSnapshot(): void

Creates a cloned version of currently managed page and stores it in -a helper property. -Snapshot is used in manager handlers to easily determine differences -between the current and the previous state.

Returns

void

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:281


_stripManagedPageValueForPublic

Protected _stripManagedPageValueForPublic(value): Object

Removes properties we do not want to propagate outside of the page manager

Parameters

NameTypeDescription
valueManagedPageThe managed page object to strip down

Returns

Object

NameType
controllerRouteController
optionsRouteOptions
paramsRouteParams
routeAbstractRoute\<string | RoutePathExpression>
viewunknown

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:332


_switchToPageStateManager

Protected _switchToPageStateManager(): void

Iterates over extensions of current controller and switches each one to -pageStateManager and clears their partial state.

Returns

void

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:430


_switchToPageStateManagerAfterLoaded

_switchToPageStateManagerAfterLoaded(extension, extensionState): void

For defined extension switches to pageStageManager and clears partial state -after extension state is loaded.

Parameters

NameType
extensionExtension\<{}, {}, {}>
extensionStateUnknownParameters

Returns

void

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:363


_updatePageSource

Protected _updatePageSource(): Promise\<void | PageData>

Update page source so call update method on controller and his -extensions. Merge updated state and render it.

Returns

Promise\<void | PageData>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:580


destroy

destroy(): Promise\<void>

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

Promise\<void>

Overrides

PageManager.destroy

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:232


getViewController

Protected getViewController(route): Promise\<{ controller: RouteController ; view: RouteView }>

Parameters

NameType
routeAbstractRoute\<string | RoutePathExpression>

Returns

Promise\<{ controller: RouteController ; view: RouteView }>

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:833


init

init(): void

Initializes the page manager.

Returns

void

Overrides

PageManager.init

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:114


manage

manage(«destructured»): Promise\<void | PageData>

Starts to manage the provided controller and its view. The manager -stops the management of any previously managed controller and view.

The controller and view will be initialized and rendered either into the -UI (at the client-side) or to the response to send to the client (at the -server-side).

Parameters

NameType
«destructured»ManageArgs

Returns

Promise\<void | PageData>

A promise that will resolve to information about the rendered page. -The status will contain the HTTP status code to send to the -client (at the server side) or determine the type of error page -to navigate to (at the client side).

Overrides

PageManager.manage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:133


postManage

postManage(): void

Called by router after currently managed route is resolved.

Returns

void

Overrides

PageManager.postManage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:223


preManage

preManage(): Promise\<void>

Pre manage handler, should be called and awaited before tryint to handle -new route handler. This pre manage takes care of canceling any currently -executed route handlers and returns promise which is resolved when previous -page finished loading (even if it got canceled).

Returns

Promise\<void>

Overrides

PageManager.preManage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:123

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.AbstractRoute/index.html b/api/classes/ima_core.AbstractRoute/index.html deleted file mode 100644 index 1bbdaabc3..000000000 --- a/api/classes/ima_core.AbstractRoute/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -Class: AbstractRoute<T> | IMA.js - - - - -
-
Skip to main content

Class: AbstractRoute<T>

@ima/core.AbstractRoute

Utility for representing and manipulating a single route in the router's -configuration.

Type parameters

NameType
Textends string | RoutePathExpression

Hierarchy

Constructors

constructor

new AbstractRoute\<T>(name, pathExpression, controller, view, options?)

Initializes the route.

Type parameters

NameType
Textends string | RoutePathExpression

Parameters

NameTypeDescription
namestringThe unique name of this route, identifying it among the rest of the routes in the application.
pathExpressionTPath expression used in route matching, to generate valid path with provided params and parsing params from current path.
controllerAsyncRouteControllerThe full name of Object Container alias identifying the controller associated with this route.
viewAsyncRouteViewThe full name or Object Container alias identifying the view class associated with this route.
options?Partial\<RouteFactoryOptions>The route additional options.

Defined in

packages/core/src/router/AbstractRoute.ts:91

Properties

_controller

Protected _controller: Object

The full name of Object Container alias identifying the controller -associated with this route.

Type declaration

NameType
cachednull | RouteController | Promise\<RouteController>
controllerAsyncRouteController
resolvedboolean

Defined in

packages/core/src/router/AbstractRoute.ts:58


_name

Protected _name: string

The unique name of this route, identifying it among the rest of the -routes in the application.

Defined in

packages/core/src/router/AbstractRoute.ts:48


_options

Protected _options: RouteFactoryOptions

The route additional options.

Defined in

packages/core/src/router/AbstractRoute.ts:76


_pathExpression

Protected _pathExpression: T

Path expression used in route matching, to generate valid path with -provided params and parsing params from current path.

Defined in

packages/core/src/router/AbstractRoute.ts:53


_view

Protected _view: Object

The full name or Object Container alias identifying the view class -associated with this route.

Type declaration

NameType
cachednull | RouteView | Promise\<RouteView>
resolvedboolean
viewAsyncRouteView

Defined in

packages/core/src/router/AbstractRoute.ts:67

Methods

extractParameters

extractParameters(path, baseUrl): RouteParams\<{}>

Extracts the parameter values from the provided path. The method -extracts both the in-path parameters and parses the query, allowing the -query parameters to override the in-path parameters.

The method returns an empty hash object if the path does not match this -route.

Parameters

NameTypeDescription
pathstringCurrently routed path.
baseUrlstringCurrently routed baseUrl.

Returns

RouteParams\<{}>

Map of parameter names to parameter -values.

Defined in

packages/core/src/router/AbstractRoute.ts:292


getController

getController(): RouteController | Promise\<RouteController>

Returns Controller class/alias/constant associated with this route. -Internally caches async calls for dynamically imported controllers, -meaning that once they're loaded, you get the same promise for -subsequent calls.

Returns

RouteController | Promise\<RouteController>

The Controller class/alias/constant.

Defined in

packages/core/src/router/AbstractRoute.ts:153


getName

getName(): string

Returns the unique identifying name of this route.

Returns

string

The name of the route, identifying it.

Defined in

packages/core/src/router/AbstractRoute.ts:132


getOptions

getOptions(): RouteFactoryOptions

Return route additional options.

Returns

RouteFactoryOptions

Defined in

packages/core/src/router/AbstractRoute.ts:210


getPathExpression

getPathExpression(): T

Path expression used in route matching, to generate valid path with -provided params and parsing params from current path.

Returns

T

The path expression.

Defined in

packages/core/src/router/AbstractRoute.ts:220


getTrimmedPath

getTrimmedPath(path): string

Trims the trailing forward slash from the provided URL path.

Parameters

NameTypeDescription
pathstringThe path to trim.

Returns

string

Trimmed path.

Defined in

packages/core/src/router/AbstractRoute.ts:230


getView

getView(): RouteView | Promise\<RouteView>

Returns View class/alias/constant associated with this route. -Internally caches async calls for dynamically imported views, -meaning that once they're loaded, you get the same promise for -subsequent calls.

Returns

RouteView | Promise\<RouteView>

The View class/alias/constant.

Defined in

packages/core/src/router/AbstractRoute.ts:185


isAsync

isAsync(module): boolean

Checks if given argument is an async handler.

Parameters

NameType
moduleunknown

Returns

boolean

Defined in

packages/core/src/router/AbstractRoute.ts:139


isControllerResolved

isControllerResolved(): boolean

Returns true for resolved controller. This is always true -for sync route views.

Returns

boolean

Defined in

packages/core/src/router/AbstractRoute.ts:173


isViewResolved

isViewResolved(): boolean

Returns true for resolved view. This is always true -for sync route views.

Returns

boolean

Defined in

packages/core/src/router/AbstractRoute.ts:203


matches

matches(path): boolean

Tests whether the provided URL path matches this route. The provided -path may contain the query.

Parameters

NameTypeDescription
pathstringThe URL path.

Returns

boolean

true if the provided path matches this route.

Defined in

packages/core/src/router/AbstractRoute.ts:271


preload

preload(): Promise\<[RouteController, RouteView]>

Preloads dynamically imported view and controller.

Returns

Promise\<[RouteController, RouteView]>

Promise.All resolving to [view, controller] tuple.

Defined in

packages/core/src/router/AbstractRoute.ts:239


toPath

toPath(params): string

Creates the URL and query parts of a URL by substituting the route's -parameter placeholders by the provided parameter value.

The extraneous parameters that do not match any of the route's -placeholders will be appended as the query string.

Parameters

NameTypeDescription
paramsRouteParams\<{}>The route parameter values.

Returns

string

Path and, if necessary, query parts of the URL -representing this route with its parameters replaced by the -provided parameter values.

Defined in

packages/core/src/router/AbstractRoute.ts:256

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.AbstractRouter/index.html b/api/classes/ima_core.AbstractRouter/index.html deleted file mode 100644 index 08fe23cf4..000000000 --- a/api/classes/ima_core.AbstractRouter/index.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - -Class: AbstractRouter | IMA.js - - - - -
-
Skip to main content

Class: AbstractRouter

@ima/core.AbstractRouter

The basic implementation of the Router interface, providing the -common or default functionality for parts of the API.

Hierarchy

Constructors

constructor

new AbstractRouter(pageManager, factory, dispatcher, settings)

Initializes the router.

Parameters

NameTypeDescription
pageManagerPageManagerThe page manager handling UI rendering, and transitions between pages if at the client side.
factoryRouteFactoryFactory for routes.
dispatcherDispatcherDispatcher fires events to app.
settingsundefined | number | { isSPARouted?: (url: string, action?: RouteAction) => boolean ; middlewareTimeout?: number }-

Example

router.link('article', {articleId: 1});

Example

router.redirect('http://www.example.com/web');

Example

router.add(
'home',
'/',
ns.app.page.home.Controller,
ns.app.page.home.View,
{
onlyUpdate: false,
autoScroll: true,
documentView: null,
managedRootView: null,
viewAdapter: null
}
);

Overrides

Router.constructor

Defined in

packages/core/src/router/AbstractRouter.ts:125

Properties

_currentMiddlewareId

Protected _currentMiddlewareId: number = 0

Middleware ID counter which is used to auto-generate unique middleware -names when adding them to routeHandlers map.

Defined in

packages/core/src/router/AbstractRouter.ts:92


_currentlyRoutedPath

Protected _currentlyRoutedPath: string = ''

Defined in

packages/core/src/router/AbstractRouter.ts:93


_dispatcher

Protected _dispatcher: Dispatcher

Dispatcher fires events to app.

Defined in

packages/core/src/router/AbstractRouter.ts:62


_factory

Protected _factory: RouteFactory

Factory for routes.

Defined in

packages/core/src/router/AbstractRouter.ts:58


_host

Protected _host: string = ''

The application's host.

Defined in

packages/core/src/router/AbstractRouter.ts:71


_isSPARouted

Protected _isSPARouted: undefined | (url: string, action?: RouteAction) => boolean

Defined in

packages/core/src/router/AbstractRouter.ts:95


_languagePartPath

Protected _languagePartPath: string = ''

The URL path fragment used as a suffix to the _root field -that specifies the current language.

Defined in

packages/core/src/router/AbstractRouter.ts:80


_middlewareTimeout

Protected _middlewareTimeout: number

Defined in

packages/core/src/router/AbstractRouter.ts:94


_pageManager

Protected _pageManager: PageManager

The page manager handling UI rendering, and transitions between -pages if at the client side.

Defined in

packages/core/src/router/AbstractRouter.ts:54


_protocol

Protected _protocol: string = ''

The current protocol used to access the application, terminated by a -colon (for example https:).

Defined in

packages/core/src/router/AbstractRouter.ts:67


_root

Protected _root: string = ''

The URL path pointing to the application's root.

Defined in

packages/core/src/router/AbstractRouter.ts:75


_routeHandlers

Protected _routeHandlers: Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Storage of all known routes and middlewares. The key are their names.

Defined in

packages/core/src/router/AbstractRouter.ts:84

Methods

#addParamsFromOriginalRoute

Private #addParamsFromOriginalRoute(params): Object

Obtains original route that was handled before not-found / error route -and assigns its params to current params

Parameters

NameTypeDescription
paramsRouteParamsRoute params for not-found or error page

Returns

Object

Provided params merged with params -from original route

Defined in

packages/core/src/router/AbstractRouter.ts:733


_extractRoutePath

Protected _extractRoutePath(path): string

Strips the URL path part that points to the application's root (base -URL) from the provided path.

Parameters

NameTypeDescription
pathstringRelative or absolute URL path.

Returns

string

URL path relative to the application's base URL.

Defined in

packages/core/src/router/AbstractRouter.ts:526


_getCurrentlyRoutedPath

_getCurrentlyRoutedPath(): string

Returns path that is stored in private property when a route -method is called.

Returns

string

Defined in

packages/core/src/router/AbstractRouter.ts:664


_getMiddlewaresForRoute

_getMiddlewaresForRoute(routeName): RouterMiddleware[]

Returns middlewares preceding given route name.

Parameters

NameType
routeNamestring

Returns

RouterMiddleware[]

Defined in

packages/core/src/router/AbstractRouter.ts:642


_handle

_handle(route, params, options?, action?): Promise\<void | UnknownParameters>

Handles the provided route and parameters by initializing the route's -controller and rendering its state via the route's view.

The result is then sent to the client if used at the server side, or -displayed if used as the client side.

Parameters

NameTypeDescription
routeAbstractRoute\<string | RoutePathExpression>The route that should have its associated controller rendered via the associated view.
paramsRouteParamsParameters extracted from the URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.

Returns

Promise\<void | UnknownParameters>

A promise that resolves when the -page is rendered and the result is sent to the client, or -displayed if used at the client side.

Defined in

packages/core/src/router/AbstractRouter.ts:549


_runMiddlewares

_runMiddlewares(middlewares, params, locals): Promise\<void>

Runs provided middlewares in sequence.

Parameters

NameTypeDescription
middlewaresundefined | RouterMiddleware[]Array of middlewares.
paramsRouteParamsRouter params that can be mutated by middlewares.
localsRouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void>

Defined in

packages/core/src/router/AbstractRouter.ts:677


add

add(name, pathExpression, controller, view, options?): AbstractRouter

Adds a new route to router.

Parameters

NameTypeDescription
namestringThe unique name of this route, identifying it among the rest of the routes in the application.
pathExpressionstringA path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as :parameterName. The name of the parameter is terminated by a forward slash (/) or the end of the path expression string. The path expression may also contain optional parameters, which are specified as :?parameterName. It is recommended to specify the optional parameters at the end of the path expression.
controllerAsyncRouteControllerThe full name of Object Container alias identifying the controller associated with this route.
viewAsyncRouteViewThe full name or Object Container alias identifying the view class associated with this route.
options?Partial\<RouteOptions>Additional route options, specified how the navigation to the route will be handled. The onlyUpdate can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a boolean representing the value of the flag. This flag is disabled by default. The autoScroll flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.

Returns

AbstractRouter

This router.

Throws

Thrown if a route with the same name already exists.

Overrides

Router.add

Defined in

packages/core/src/router/AbstractRouter.ts:167


getBaseUrl

getBaseUrl(): string

Returns the application's absolute base URL, pointing to the public root -of the application.

Returns

string

The application's base URL.

Overrides

Router.getBaseUrl

Defined in

packages/core/src/router/AbstractRouter.ts:243


getCurrentRouteInfo

getCurrentRouteInfo(): Object

Returns the information about the currently active route.

Returns

Object

NameType
paramsRouteParams\<{}>
pathstring
routeAbstractRoute\<string | RoutePathExpression>

Throws

Thrown if a route is not define for current path.

Overrides

Router.getCurrentRouteInfo

Defined in

packages/core/src/router/AbstractRouter.ts:271


getDomain

getDomain(): string

Returns the application's domain in the following form -${protocol}//${host}.

Returns

string

The current application's domain.

Overrides

Router.getDomain

Defined in

packages/core/src/router/AbstractRouter.ts:250


getHost

getHost(): string

Returns application's host (domain and, if necessary, the port number).

Returns

string

The current application's host.

Overrides

Router.getHost

Defined in

packages/core/src/router/AbstractRouter.ts:257


getPath

getPath(): string

Returns the current path part of the current URL, including the query -string (if any).

Returns

string

The path and query parts of the current URL.

Overrides

Router.getPath

Defined in

packages/core/src/router/AbstractRouter.ts:227


getProtocol

getProtocol(): string

Returns the current protocol used to access the application, terminated -by a colon (for example https:).

Returns

string

The current application protocol used to access the -application.

Overrides

Router.getProtocol

Defined in

packages/core/src/router/AbstractRouter.ts:264


getRouteHandler

getRouteHandler(name): undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Returns specified handler from registered route handlers.

Parameters

NameTypeDescription
namestringThe route's unique name.

Returns

undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Route with given name or undefined.

Overrides

Router.getRouteHandler

Defined in

packages/core/src/router/AbstractRouter.ts:220


getRouteHandlers

getRouteHandlers(): Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Returns

Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Inherit Doc

Defined in

packages/core/src/router/AbstractRouter.ts:297


getRouteHandlersByPath

getRouteHandlersByPath(path): Object

Returns the route matching the provided URL path part (the path may -contain a query) and all middlewares preceding this route definition.

Parameters

NameTypeDescription
pathstringThe URL path.

Returns

Object

The route -matching the path and middlewares preceding it or {} -(empty object) if no such route exists.

NameType
middlewaresRouterMiddleware[]
route?AbstractRoute\<string | RoutePathExpression>

Defined in

packages/core/src/router/AbstractRouter.ts:615


getUrl

getUrl(): string

Returns the current absolute URL (including protocol, host, query, etc).

Returns

string

The current absolute URL.

Overrides

Router.getUrl

Defined in

packages/core/src/router/AbstractRouter.ts:236


handleError

handleError(params, options?, locals?): Promise\<void | UnknownParameters>

Handles an internal server error by responding with the appropriate -"internal server error" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved when the error -has been handled and the response has been sent to the client, -or displayed if used at the client side.

Overrides

Router.handleError

Defined in

packages/core/src/router/AbstractRouter.ts:402


handleNotFound

handleNotFound(params, options?, locals?): Promise\<void | UnknownParameters>

Handles a "not found" error by responding with the appropriate "not -found" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Overrides

Router.handleNotFound

Defined in

packages/core/src/router/AbstractRouter.ts:454


init

init(config): void

Initializes the router with the provided configuration.

Parameters

NameTypeDescription
configObjectRouter configuration. The $Protocol field must be the current protocol used to access the application, terminated by a colon (for example https:). The $Root field must specify the URL path pointing to the application's root. The $LanguagePartPath field must be the URL path fragment used as a suffix to the $Root field that specifies the current language. The $Host field must be the application's domain (and the port number if other than the default is used) in the following form: ${protocol}//${host}.
config.$Hoststring-
config.$LanguagePartPath?string-
config.$Protocol?string-
config.$Root?string-

Returns

void

Overrides

Router.init

Defined in

packages/core/src/router/AbstractRouter.ts:151


isClientError

isClientError(reason): boolean

Tests, if possible, whether the specified error was caused by the -client's action (for example wrong URL or request encoding) or by a -failure at the server side.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -client.

Overrides

Router.isClientError

Defined in

packages/core/src/router/AbstractRouter.ts:507


isRedirection

isRedirection(reason): boolean

Tests, if possible, whether the specified error lead to redirection.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -redirection.

Overrides

Router.isRedirection

Defined in

packages/core/src/router/AbstractRouter.ts:514


link(routeName, params): string

Generates an absolute URL (including protocol, domain, etc) for the -specified route by substituting the route's parameter placeholders with -the provided parameter values.

Parameters

NameTypeDescription
routeNamestringThe unique name of the route, identifying the route to use.
paramsRouteParamsParameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.

Returns

string

An absolute URL for the specified route and parameters.

Overrides

Router.link

Defined in

packages/core/src/router/AbstractRouter.ts:338


listen

listen(): AbstractRouter

Registers event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will start processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This -method has no effect at the server side.

Returns

AbstractRouter

This router.

Overrides

Router.listen

Defined in

packages/core/src/router/AbstractRouter.ts:305


redirect

redirect(url, options?, action?, locals?): void

Redirects the client to the specified location.

At the server side the method results in responding to the client with a -redirect HTTP status code and the Location header.

At the client side the method updates the current URL by manipulating -the browser history (if the target URL is at the same domain and -protocol as the current one) or performs a hard redirect (if the target -URL points to a different protocol or domain).

The method will result in the router handling the new URL and routing -the client to the related page if the URL is set at the client side and -points to the same domain and protocol.

Parameters

NameTypeDescription
urlstringThe URL to which the client should be redirected.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

void

Overrides

Router.redirect

Defined in

packages/core/src/router/AbstractRouter.ts:323


remove

remove(name): AbstractRouter

Removes the specified route from the router's known routes.

Parameters

NameTypeDescription
namestringThe route's unique name, identifying the route to remove.

Returns

AbstractRouter

This router.

Overrides

Router.remove

Defined in

packages/core/src/router/AbstractRouter.ts:211


route

route(path, options?, action?, locals?): Promise\<void | UnknownParameters>

Routes the application to the route matching the providing path, renders -the route page and sends the result to the client.

Parameters

NameTypeDescription
pathstringThe URL path part received from the client, with optional query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Overrides

Router.route

Defined in

packages/core/src/router/AbstractRouter.ts:363


unlisten

unlisten(): AbstractRouter

Unregisters event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will stop processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This method has no effect -at the server side.

Returns

AbstractRouter

This router.

Overrides

Router.unlisten

Defined in

packages/core/src/router/AbstractRouter.ts:314


use

use(middleware): AbstractRouter

Adds a new middleware to router.

Parameters

NameTypeDescription
middlewareRouterMiddlewareMiddleware function accepting routeParams as a first argument, which can be mutated and locals object as second argument. This can be used to pass data between middlewares.

Returns

AbstractRouter

This router.

Throws

Thrown if a middleware with the same name already exists.

Overrides

Router.use

Defined in

packages/core/src/router/AbstractRouter.ts:199

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Bootstrap/index.html b/api/classes/ima_core.Bootstrap/index.html deleted file mode 100644 index cd23d2152..000000000 --- a/api/classes/ima_core.Bootstrap/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - -Class: Bootstrap | IMA.js - - - - -
-
Skip to main content

Class: Bootstrap

@ima/core.Bootstrap

Application bootstrap used to initialize the environment and the application -itself.

Constructors

constructor

new Bootstrap(oc)

Initializes the bootstrap.

Parameters

NameTypeDescription
ocObjectContainerThe application's object container to use for managing dependencies.

Defined in

packages/core/src/Bootstrap.ts:133

Properties

_config

Protected _config: BootConfig

Defined in

packages/core/src/Bootstrap.ts:125


_oc

Protected _oc: ObjectContainer

Defined in

packages/core/src/Bootstrap.ts:124

Methods

_bindDependencies

_bindDependencies(): void

Binds the constants, service providers and class dependencies to the -object container.

Returns

void

Defined in

packages/core/src/Bootstrap.ts:266


_bindPluginDependencies

_bindPluginDependencies(name, plugin): void

Binds the constants, service providers and class dependencies to the -object container for dynamically imported plugins.

Parameters

NameTypeDescription
namestringPlugin name.
pluginInitPluginConfigPlugin interface (object with init functions).

Returns

void

Defined in

packages/core/src/Bootstrap.ts:298


_initPluginServices

_initPluginServices(plugin): void

Service initialization for the dynamically loaded plugins.

Parameters

NameTypeDescription
pluginInitPluginConfigPlugin interface (object with init functions).

Returns

void

Defined in

packages/core/src/Bootstrap.ts:336


_initPluginSettings

_initPluginSettings(name, plugin): void

Initializes dynamically loaded plugin settings (if the init -function is provided). The settings are merged into the application -the same way as with non-dynamic import, meaning the app setting overrides -are prioritized over the default plugin settings.

Parameters

NameTypeDescription
namestringPlugin name.
pluginInitPluginConfigPlugin interface (object with init functions).

Returns

void

Defined in

packages/core/src/Bootstrap.ts:230


_initRoutes

_initRoutes(): void

Initializes the routes.

Returns

void

Defined in

packages/core/src/Bootstrap.ts:311


_initServices

_initServices(): void

Initializes the basic application services.

Returns

void

Defined in

packages/core/src/Bootstrap.ts:319


_initSettings

_initSettings(): void

Initializes the application settings. The method loads the settings for -all environments and then picks the settings for the current environment.

The method also handles using the values in the production environment -as default values for configuration items in other environments.

Returns

void

Defined in

packages/core/src/Bootstrap.ts:186


initPlugin

initPlugin(name, plugin?): void

Initializes dynamically loaded plugin. This is explicitly called from -within the Plugin Loader instance.

Parameters

NameTypeDescription
namestringPlugin name.
plugin?InitPluginConfigPlugin interface (object with init functions).

Returns

void

Defined in

packages/core/src/Bootstrap.ts:169


run

run(config): void

Initializes the application by running the bootstrap sequence. The -sequence initializes the components of the application in the following -order:

  • application settings
  • constants, service providers and class dependencies configuration
  • services
  • UI components
  • routing

Parameters

NameTypeDescription
configBootConfigThe application environment configuration for the current environment.

Returns

void

Defined in

packages/core/src/Bootstrap.ts:153

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Cache/index.html b/api/classes/ima_core.Cache/index.html deleted file mode 100644 index 7b9a5a9c2..000000000 --- a/api/classes/ima_core.Cache/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - -Class: Cache<V> | IMA.js - - - - -
-
Skip to main content

Class: Cache<V>

@ima/core.Cache

The cache provides a temporary storage for expirable information. The -primary use of a cache is caching information obtained via costly means -(CPU-heavy computation or networking) to speed up the application's -performance when the same information needs to be retrieved multiple times.

Type parameters

NameType
Vunknown

Hierarchy

Constructors

constructor

new Cache\<V>()

Type parameters

NameType
Vunknown

Methods

clear

clear(): void

Clears the cache by deleting all entries.

Returns

void

Defined in

packages/core/src/cache/Cache.ts:15


delete

delete(key): void

Deletes the specified cache entry. The method has no effect if the entry -does not exist.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.

Returns

void

Defined in

packages/core/src/cache/Cache.ts:69


deserialize

deserialize(serializedData): void

Loads the provided serialized cache data into this cache. Entries -present in this cache but not specified in the provided data will remain -in this cache intact.

Parameters

NameTypeDescription
serializedDataSerializedData\<V>An object representing the state of the cache to load, obtained by parsing the JSON string returned by the serialize method.

Returns

void

Defined in

packages/core/src/cache/Cache.ts:118


disable

disable(): void

Disables the cache, preventing the retrieval of any cached entries and -reporting all cache entries as non-existing. Disabling the cache does -not however prevent modifying the existing or creating new cache -entries.

Disabling the cache also clears all of its current entries.

The method has no effect if the cache is already disabled.

Returns

void

Defined in

packages/core/src/cache/Cache.ts:83


enable

enable(): void

Enables the cache, allowing the retrieval of cache entries.

The method has no effect if the cache is already enabled.

Returns

void

Defined in

packages/core/src/cache/Cache.ts:92


get

get(key): null | V

Returns the value of the entry identified by the specified key.

The method returns null if the specified entry does not exist, has -already expired, or the cache is currently disabled.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.

Returns

null | V

The value of the specified cache entry, or null if the entry -is not available.

Defined in

packages/core/src/cache/Cache.ts:43


has

has(key): boolean

Tests whether the cache contains a fresh entry for the specified key. A -cache entry is fresh if the has not expired its TTL (time to live).

The method always returns false if the cache is currently disabled.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.

Returns

boolean

true if the cache is enabled, the entry exists and has -not expired yet.

Defined in

packages/core/src/cache/Cache.ts:29


serialize

serialize(): string

Exports the state of this cache to an HTML-safe JSON string. The data -obtained by parsing the result of this method are compatible with the -deserialize method.

Returns

string

A JSON string containing an object representing of the -current state of this cache.

Defined in

packages/core/src/cache/Cache.ts:104


set

set(key, value, ttl?): void

Sets the cache entry identified by the specified key to the provided -value. The entry is created if it does not exist yet.

The method has no effect if the cache is currently disabled.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.
valueVThe cache entry value.
ttl?string | numberCache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds. Use null or omit the parameter to use the default TTL of this cache.

Returns

void

Defined in

packages/core/src/cache/Cache.ts:59

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.CacheEntry/index.html b/api/classes/ima_core.CacheEntry/index.html deleted file mode 100644 index 1e5fccfbe..000000000 --- a/api/classes/ima_core.CacheEntry/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Class: CacheEntry<V> | IMA.js - - - - -
-
Skip to main content

Class: CacheEntry<V>

@ima/core.CacheEntry

The cache entry is a typed container of cache data used to track the -creation and expiration of cache entries.

Type parameters

Name
V

Constructors

constructor

new CacheEntry\<V>(value, ttl)

Initializes the cache entry.

Type parameters

Name
V

Parameters

NameTypeDescription
valueVThe cache entry value.
ttlstring | numberThe time to live in milliseconds.

Defined in

packages/core/src/cache/CacheEntry.ts:33

Properties

_created

Protected _created: number

The timestamp of creation of this cache entry.

Defined in

packages/core/src/cache/CacheEntry.ts:25


_ttl

Protected _ttl: string | number

The time to live in milliseconds. The cache entry is considered -expired after this time.

Defined in

packages/core/src/cache/CacheEntry.ts:20


_value

Protected _value: V

Cache entry value.

Defined in

packages/core/src/cache/CacheEntry.ts:14

Methods

getValue

getValue(): V

Returns the entry value.

Returns

V

Defined in

packages/core/src/cache/CacheEntry.ts:61


isExpired

isExpired(): boolean

Returns true if this entry has expired.

Returns

boolean

true if this entry has expired.

Defined in

packages/core/src/cache/CacheEntry.ts:43


serialize

serialize(): SerializedCacheEntry\<V>

Exports this cache entry into a JSON-serializable object.

This entry exported to a -JSON-serializable object.

Returns

SerializedCacheEntry\<V>

Defined in

packages/core/src/cache/CacheEntry.ts:54

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.CacheFactory/index.html b/api/classes/ima_core.CacheFactory/index.html deleted file mode 100644 index ba118281d..000000000 --- a/api/classes/ima_core.CacheFactory/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Class: CacheFactory<V> | IMA.js - - - - -
-
Skip to main content

Class: CacheFactory<V>

@ima/core.CacheFactory

Factory for creating instances of CacheEntry.

Type parameters

Name
V

Constructors

constructor

new CacheFactory\<V>()

Type parameters

Name
V

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/cache/CacheFactory.ts:8

Methods

createCacheEntry

createCacheEntry(value, ttl): CacheEntry\<V>

Create a new instance of CacheEntry with value and ttl.

Parameters

NameTypeDescription
valueVThe cache entry value.
ttlstring | numberCache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds.

Returns

CacheEntry\<V>

The created cache entry.

Defined in

packages/core/src/cache/CacheFactory.ts:21

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.CacheImpl/index.html b/api/classes/ima_core.CacheImpl/index.html deleted file mode 100644 index 684fdacbe..000000000 --- a/api/classes/ima_core.CacheImpl/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - -Class: CacheImpl<V> | IMA.js - - - - -
-
Skip to main content

Class: CacheImpl<V>

@ima/core.CacheImpl

Configurable generic implementation of the Cache interface.

Example

if (cache.has('model.articles')) {
return cache.get('model.articles');
} else {
let articles = getArticlesFromStorage();
// cache for an hour
cache.set('model.articles', articles, 60 * 60 * 1000);
}

Type parameters

Name
V

Hierarchy

Constructors

constructor

new CacheImpl\<V>(cacheStorage, factory, Helper, config)

Initializes the cache.

Type parameters

Name
V

Parameters

NameTypeDescription
cacheStorageStorage\<CacheEntry\<V>>The cache entry storage to use.
factoryCacheFactory\<V>Which create new instance of cache entry.
Helper__moduleThe IMA.js helper methods.
configObjectThe cache configuration.

Overrides

Cache.constructor

Defined in

packages/core/src/cache/CacheImpl.ts:36

Properties

_Helper

Protected _Helper: __module

Defined in

packages/core/src/cache/CacheImpl.ts:24


_cache

Protected _cache: Storage\<CacheEntry\<V>>

Defined in

packages/core/src/cache/CacheImpl.ts:22


_enabled

Protected _enabled: boolean

Defined in

packages/core/src/cache/CacheImpl.ts:26


_factory

Protected _factory: CacheFactory\<V>

Defined in

packages/core/src/cache/CacheImpl.ts:23


_ttl

Protected _ttl: number

Defined in

packages/core/src/cache/CacheImpl.ts:25

Methods

_canSerializeValue

Private _canSerializeValue(value): boolean

Tests whether the provided value can be serialized into JSON.

Parameters

NameTypeDescription
valueunknownThe value to test whether or not it can be serialized.

Returns

boolean

true if the provided value can be serialized into JSON, -false otherwise.

Defined in

packages/core/src/cache/CacheImpl.ts:202


_clone

Private _clone(value): V

Attempts to clone the provided value, if possible. Values that cannot be -cloned (e.g. promises) will be simply returned.

Parameters

NameTypeDescription
valueVThe value to clone.

Returns

V

The created clone, or the provided value if the value cannot be -cloned.

Defined in

packages/core/src/cache/CacheImpl.ts:256


clear

clear(): void

Clears the cache by deleting all entries.

Returns

void

Overrides

Cache.clear

Defined in

packages/core/src/cache/CacheImpl.ts:66


delete

delete(key): void

Deletes the specified cache entry. The method has no effect if the entry -does not exist.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.

Returns

void

Overrides

Cache.delete

Defined in

packages/core/src/cache/CacheImpl.ts:122


deserialize

deserialize(serializedData): void

Loads the provided serialized cache data into this cache. Entries -present in this cache but not specified in the provided data will remain -in this cache intact.

Parameters

NameTypeDescription
serializedDataObjectAn object representing the state of the cache to load, obtained by parsing the JSON string returned by the serialize method.

Returns

void

Overrides

Cache.deserialize

Defined in

packages/core/src/cache/CacheImpl.ts:181


disable

disable(): void

Disables the cache, preventing the retrieval of any cached entries and -reporting all cache entries as non-existing. Disabling the cache does -not however prevent modifying the existing or creating new cache -entries.

Disabling the cache also clears all of its current entries.

The method has no effect if the cache is already disabled.

Returns

void

Overrides

Cache.disable

Defined in

packages/core/src/cache/CacheImpl.ts:129


enable

enable(): void

Enables the cache, allowing the retrieval of cache entries.

The method has no effect if the cache is already enabled.

Returns

void

Overrides

Cache.enable

Defined in

packages/core/src/cache/CacheImpl.ts:137


get

get(key): null | V

Returns the value of the entry identified by the specified key.

The method returns null if the specified entry does not exist, has -already expired, or the cache is currently disabled.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.

Returns

null | V

The value of the specified cache entry, or null if the entry -is not available.

Overrides

Cache.get

Defined in

packages/core/src/cache/CacheImpl.ts:92


has

has(key): boolean

Tests whether the cache contains a fresh entry for the specified key. A -cache entry is fresh if the has not expired its TTL (time to live).

The method always returns false if the cache is currently disabled.

Parameters

NameTypeDescription
keystringThe identifier of the cache entry.

Returns

boolean

true if the cache is enabled, the entry exists and has -not expired yet.

Overrides

Cache.has

Defined in

packages/core/src/cache/CacheImpl.ts:73


serialize

serialize(): string

Exports the state of this cache to an HTML-safe JSON string. The data -obtained by parsing the result of this method are compatible with the -deserialize method.

Returns

string

A JSON string containing an object representing of the -current state of this cache.

Overrides

Cache.serialize

Defined in

packages/core/src/cache/CacheImpl.ts:144


set

set(key, value, ttl?): void

Sets the cache entry identified by the specified key to the provided -value. The entry is created if it does not exist yet.

The method has no effect if the cache is currently disabled.

Parameters

NameTypeDefault valueDescription
keystringundefinedThe identifier of the cache entry.
valueVundefinedThe cache entry value.
ttlstring | number0Cache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds. Use null or omit the parameter to use the default TTL of this cache.

Returns

void

Overrides

Cache.set

Defined in

packages/core/src/cache/CacheImpl.ts:106

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.CancelError/index.html b/api/classes/ima_core.CancelError/index.html deleted file mode 100644 index 3b6d1b384..000000000 --- a/api/classes/ima_core.CancelError/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -Class: CancelError | IMA.js - - - - -
-
Skip to main content

Class: CancelError

@ima/core.CancelError

Extension of GenericError which is used in route handling ot cancel -currently managed route before proceeding with execution with new one.

Hierarchy

Constructors

constructor

new CancelError(message?)

Parameters

NameTypeDefault value
messagestring'Canceled'

Overrides

GenericError.constructor

Defined in

packages/core/src/error/CancelError.ts:8

Properties

_params

Protected _params: { status: 409 } & GenericErrorParams

Inherited from

GenericError._params

Defined in

packages/core/src/error/GenericError.ts:16


cause

Optional cause: unknown

Inherited from

GenericError.cause

Defined in

website/node_modules/typescript/lib/lib.es2022.error.d.ts:24


message

message: string

Inherited from

GenericError.message

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1068


name

name: string

Inherited from

GenericError.name

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1067


stack

Optional stack: string

Inherited from

GenericError.stack

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1069


prepareStackTrace

Static Optional prepareStackTrace: (err: Error, stackTraces: CallSite[]) => any

Type declaration

▸ (err, stackTraces): any

Optional override for formatting stack traces

Parameters
NameType
errError
stackTracesCallSite[]
Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

GenericError.prepareStackTrace

Defined in

node_modules/@types/node/globals.d.ts:98


stackTraceLimit

Static stackTraceLimit: number

Inherited from

GenericError.stackTraceLimit

Defined in

node_modules/@types/node/globals.d.ts:100

Methods

getHttpStatus

getHttpStatus(): number

Returns the HTTP status to send to the client.

If the error has occurred at the client-side, the status code is used to -determine the error page to show to the user.

This method is a shorthand for the following code snippet: -this.getParams().status || 500.

Returns

number

The HTTP status to send to the client.

See

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Inherited from

GenericError.getHttpStatus

Defined in

packages/core/src/error/GenericError.ts:39


getParams

getParams(): { status: 409 } & GenericErrorParams

Returns the error parameters providing additional details about the -error. The structure of the returned object is always -situation-dependent, but the returned object usually contains the -status: number field which represents the HTTP status to send to -the client.

Returns

{ status: 409 } & GenericErrorParams

The route parameters of the route at which -the error has occurred.

See

Error#getHttpStatus

Inherited from

GenericError.getParams

Defined in

packages/core/src/error/GenericError.ts:46


isClientError

isClientError(): boolean

Tests, whether the specified error was caused by the -client's action (for example wrong URL or request encoding).

Returns

boolean

true if the error was caused the action of the -client.

Inherited from

GenericError.isClientError

Defined in

packages/core/src/error/GenericError.ts:53


isRedirection

isRedirection(): boolean

Tests, whether the specified error should lead to a redirect.

Returns

boolean

true if the error should cause a redirect.

Inherited from

GenericError.isRedirection

Defined in

packages/core/src/error/GenericError.ts:60


captureStackTrace

Static captureStackTrace(targetObject, constructorOpt?): void

Create .stack property on a target object

Parameters

NameType
targetObjectobject
constructorOpt?Function

Returns

void

Inherited from

GenericError.captureStackTrace

Defined in

node_modules/@types/node/globals.d.ts:91

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ClientPageManager/index.html b/api/classes/ima_core.ClientPageManager/index.html deleted file mode 100644 index 8473c8084..000000000 --- a/api/classes/ima_core.ClientPageManager/index.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - -Class: ClientPageManager | IMA.js - - - - -
-
Skip to main content

Class: ClientPageManager

@ima/core.ClientPageManager

Page manager for controller on the client side.

Hierarchy

Constructors

constructor

new ClientPageManager(pageFactory, pageRenderer, pageStateManager, handlerRegistry, dispatcher, window, eventBus)

Initializes the client-side page manager.

Parameters

NameTypeDescription
pageFactoryPageFactoryFactory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.
pageRendererPageRendererThe current renderer of the page.
pageStateManagerPageStateManager\<{}>-
handlerRegistryPageHandlerRegistryInstance of HandlerRegistry that holds a list of pre-manage and post-manage handlers.
dispatcherDispatcherIMA Dispatcher.
windowWindowThe utility for manipulating the global context and global client-side-specific APIs.
eventBusEventBusThe event bus for dispatching and listening for custom IMA events propagated through the DOM.

Overrides

AbstractPageManager.constructor

Defined in

packages/core/src/page/manager/ClientPageManager.ts:70

Properties

_dispatcher

Protected _dispatcher: Dispatcher

Inherited from

AbstractPageManager._dispatcher

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:81


_eventBus

Private _eventBus: EventBus

The event bus for dispatching and listening for custom IMA events -propagated through the DOM.

Defined in

packages/core/src/page/manager/ClientPageManager.ts:33


_managedPage

Protected _managedPage: ManagedPage

Details of the currently managed page.

Inherited from

AbstractPageManager._managedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:68


_pageFactory

Protected _pageFactory: PageFactory

Factory used by the page manager to create instances of the -controller for the current route, and decorate the controllers and -page state managers.

Inherited from

AbstractPageManager._pageFactory

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:63


_pageHandlerRegistry

Protected _pageHandlerRegistry: PageHandlerRegistry

A registry that holds a list of pre-manage and post-manage handlers.

Inherited from

AbstractPageManager._pageHandlerRegistry

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:80


_pageRenderer

Protected _pageRenderer: PageRenderer

The current renderer of the page.

Inherited from

AbstractPageManager._pageRenderer

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:72


_pageStateManager

Protected _pageStateManager: PageStateManager\<{}>

The current page state manager.

Inherited from

AbstractPageManager._pageStateManager

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:76


_previousManagedPage

Protected _previousManagedPage: ManagedPage

Snapshot of the previously managed page before it was replaced with -a new one

Inherited from

AbstractPageManager._previousManagedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:57


_window

Private _window: Window

The utility for manipulating the global context and global -client-side-specific APIs.

Defined in

packages/core/src/page/manager/ClientPageManager.ts:28

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/page/manager/ClientPageManager.ts:42

Methods

#cancelable

Private #cancelable\<T>(promise): Promise\<T>

Type parameters

Name
T

Parameters

NameType
promiseT

Returns

Promise\<T>

Inherited from

AbstractPageManager.#cancelable

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:845


_activateController

Protected _activateController(): Promise\<void>

Activate managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._activateController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:549


_activateExtensions

Protected _activateExtensions(): Promise\<void>

Activate extensions for managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._activateExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:563


_activatePageSource

Protected _activatePageSource(): Promise\<void>

Activate page source so call activate method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._activatePageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:529


_boundOnCustomEventHandler

Private _boundOnCustomEventHandler(event): void

Event listener for the custom DOM events used by the event bus, -bound to this instance.

Parameters

NameType
eventCustomEvent\<any>

Returns

void

Defined in

packages/core/src/page/manager/ClientPageManager.ts:38


_clearComponentState

_clearComponentState(options): void

The method clear state on current rendered component to DOM.

Parameters

NameTypeDescription
optionsRouteOptionsThe current route options.

Returns

void

Inherited from

AbstractPageManager._clearComponentState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:753


_constructManagedPageValue

Protected _constructManagedPageValue(controller, view, route, options, params, controllerInstance, decoratedController, viewInstance): ManagedPage

Parameters

NameType
controllerRouteController
viewunknown
routeAbstractRoute\<string | RoutePathExpression>
optionsRouteOptions
paramsRouteParams
controllerInstanceController\<PageState, RouteParams, PageState>
decoratedControllerControllerDecorator\<{}, {}, {}>
viewInstanceunknown

Returns

ManagedPage

Inherited from

AbstractPageManager._constructManagedPageValue

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:245


_deactivateController

Protected _deactivateController(): Promise\<void>

Deactivate last managed instance of controller only If controller was -activated.

Returns

Promise\<void>

Inherited from

AbstractPageManager._deactivateController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:691


_deactivateExtensions

Protected _deactivateExtensions(): Promise\<void>

Deactivate extensions for last managed instance of controller only if -they were activated.

Returns

Promise\<void>

Inherited from

AbstractPageManager._deactivateExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:702


_deactivatePageSource

Protected _deactivatePageSource(): Promise\<void>

Deactivate page source so call deactivate method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._deactivatePageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:677


_destroyController

Protected _destroyController(): Promise\<void>

Destroy last managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._destroyController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:726


_destroyExtensions

Protected _destroyExtensions(): Promise\<void>

Destroy extensions for last managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._destroyExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:739


_destroyPageSource

Protected _destroyPageSource(): Promise\<void>

Destroy page source so call destroy method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._destroyPageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:714


_getInitialManagedPage

Protected _getInitialManagedPage(): ManagedPage

Clear value from managed page.

Returns

ManagedPage

Inherited from

AbstractPageManager._getInitialManagedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:302


_getLoadedControllerState

Protected _getLoadedControllerState(): Promise\<{}>

Load controller state from managed instance of controller.

Returns

Promise\<{}>

Inherited from

AbstractPageManager._getLoadedControllerState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:485


_getLoadedExtensionsState

Protected _getLoadedExtensionsState(controllerState?): Promise\<UnknownParameters>

Load extensions state from managed instance of controller.

Parameters

NameType
controllerState?UnknownParameters

Returns

Promise\<UnknownParameters>

Inherited from

AbstractPageManager._getLoadedExtensionsState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:501


_getUpdatedControllerState

Protected _getUpdatedControllerState(): {} | Promise\<{}>

Return updated controller state for current page controller.

Returns

{} | Promise\<{}>

Inherited from

AbstractPageManager._getUpdatedControllerState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:621


_getUpdatedExtensionsState

Protected _getUpdatedExtensionsState(controllerState?): Promise\<UnknownParameters>

Return updated extensions state for current page controller.

Parameters

NameType
controllerState?UnknownParameters

Returns

Promise\<UnknownParameters>

Inherited from

AbstractPageManager._getUpdatedExtensionsState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:637


_handleEventWithController

_handleEventWithController(prefix, method, data): boolean

Attempts to handle the currently processed event bus custom DOM event -using the current controller. The method returns true if the -event is handled by the controller.

Parameters

NameTypeDescription
prefixstring-
methodstringThe name of the method the current controller should use to process the currently processed event bus custom DOM event.
dataUnknownParametersThe custom event's data.

Returns

boolean

true if the event has been handled by the -controller, false if the controller does not have a -method for processing the event.

Defined in

packages/core/src/page/manager/ClientPageManager.ts:215


_handleEventWithExtensions

_handleEventWithExtensions(prefix, method, data): boolean

Attempts to handle the currently processed event bus custom DOM event -using the registered extensions of the current controller. The method -returns true if the event is handled by the controller.

Parameters

NameTypeDescription
prefixstring-
methodstringThe name of the method the current controller should use to process the currently processed event bus custom DOM event.
dataUnknownParametersThe custom event's data.

Returns

boolean

true if the event has been handled by one of -the controller's extensions, false if none of the -controller's extensions has a method for processing the event.

Defined in

packages/core/src/page/manager/ClientPageManager.ts:251


_hasOnlyUpdate

Protected _hasOnlyUpdate(controller, view, options): boolean

Return true if manager has to update last managed controller and view.

Parameters

NameType
controllerRouteController
viewunknown
optionsRouteOptions

Returns

boolean

Inherited from

AbstractPageManager._hasOnlyUpdate

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:769


_initController

Protected _initController(): Promise\<void>

Initializes managed instance of controller with the provided parameters.

Returns

Promise\<void>

Inherited from

AbstractPageManager._initController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:398


_initExtensions

Protected _initExtensions(): Promise\<void>

Initialize extensions for managed instance of controller with the -provided parameters.

Returns

Promise\<void>

Inherited from

AbstractPageManager._initExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:413


_initPageSource

Protected _initPageSource(): Promise\<void>

Initialize page source so call init method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._initPageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:383


_loadPageSource

Protected _loadPageSource(): Promise\<void | PageData>

Load page source so call load method on controller and his extensions. -Merge loaded state and render it.

Returns

Promise\<void | PageData>

Inherited from

AbstractPageManager._loadPageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:443


_onChangeStateHandler

_onChangeStateHandler(state): void

On change event handler set state to view.

Parameters

NameType
stateUnknownParameters

Returns

void

Defined in

packages/core/src/page/manager/ClientPageManager.ts:276


_onCustomEventHandler

_onCustomEventHandler(event): void

Custom DOM event handler.

The handler invokes the event listener in the active controller, if such -listener is present. The name of the controller's listener method is -created by turning the first symbol of the event's name to upper case, -and then prefixing the result with the 'on' prefix.

For example: for an event named 'toggle' the controller's listener -would be named 'onToggle'.

The controller's listener will be invoked with the event's data as an -argument.

Parameters

NameTypeDescription
eventCustomEvent\<any>The encountered event bus DOM event.

Returns

void

Defined in

packages/core/src/page/manager/ClientPageManager.ts:151


_parseCustomEvent

_parseCustomEvent(event): Object

Extracts the details of the provided event bus custom DOM event, along -with the expected name of the current controller's method for -intercepting the event.

Parameters

NameTypeDescription
eventCustomEvent\<any>The encountered event bus custom DOM event.

Returns

Object

The event's -details.

NameType
dataany
eventNamestring
methodstring
prefixstring

Defined in

packages/core/src/page/manager/ClientPageManager.ts:188


_runPostManageHandlers

Protected _runPostManageHandlers(previousManagedPage, action): Promise\<unknown>

Parameters

NameType
previousManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Inherited from

AbstractPageManager._runPostManageHandlers

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:809


_runPreManageHandlers

Protected _runPreManageHandlers(actualManagedPage, action): Promise\<unknown>

Parameters

NameType
actualManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Inherited from

AbstractPageManager._runPreManageHandlers

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:788


_setRestrictedPageStateManager

_setRestrictedPageStateManager(extension, extensionState): void

Set page state manager to extension which has restricted rights to set -global state.

Parameters

NameType
extensionExtension\<{}, {}, {}>
extensionStateUnknownParameters

Returns

void

Inherited from

AbstractPageManager._setRestrictedPageStateManager

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:342


_storeManagedPageSnapshot

Protected _storeManagedPageSnapshot(): void

Creates a cloned version of currently managed page and stores it in -a helper property. -Snapshot is used in manager handlers to easily determine differences -between the current and the previous state.

Returns

void

Inherited from

AbstractPageManager._storeManagedPageSnapshot

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:281


_stripManagedPageValueForPublic

Protected _stripManagedPageValueForPublic(value): Object

Removes properties we do not want to propagate outside of the page manager

Parameters

NameTypeDescription
valueManagedPageThe managed page object to strip down

Returns

Object

NameType
controllerRouteController
optionsRouteOptions
paramsRouteParams
routeAbstractRoute\<string | RoutePathExpression>
viewunknown

Inherited from

AbstractPageManager._stripManagedPageValueForPublic

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:332


_switchToPageStateManager

Protected _switchToPageStateManager(): void

Iterates over extensions of current controller and switches each one to -pageStateManager and clears their partial state.

Returns

void

Inherited from

AbstractPageManager._switchToPageStateManager

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:430


_switchToPageStateManagerAfterLoaded

_switchToPageStateManagerAfterLoaded(extension, extensionState): void

For defined extension switches to pageStageManager and clears partial state -after extension state is loaded.

Parameters

NameType
extensionExtension\<{}, {}, {}>
extensionStateUnknownParameters

Returns

void

Inherited from

AbstractPageManager._switchToPageStateManagerAfterLoaded

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:363


_updatePageSource

Protected _updatePageSource(): Promise\<void | PageData>

Update page source so call update method on controller and his -extensions. Merge updated state and render it.

Returns

Promise\<void | PageData>

Inherited from

AbstractPageManager._updatePageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:580


destroy

destroy(): Promise\<void>

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

Promise\<void>

Overrides

AbstractPageManager.destroy

Defined in

packages/core/src/page/manager/ClientPageManager.ts:126


getViewController

Protected getViewController(route): Promise\<{ controller: RouteController ; view: RouteView }>

Parameters

NameType
routeAbstractRoute\<string | RoutePathExpression>

Returns

Promise\<{ controller: RouteController ; view: RouteView }>

Inherited from

AbstractPageManager.getViewController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:833


init

init(): void

Initializes the page manager.

Returns

void

Overrides

AbstractPageManager.init

Defined in

packages/core/src/page/manager/ClientPageManager.ts:95


manage

manage(«destructured»): Promise\<void | PageData>

Starts to manage the provided controller and its view. The manager -stops the management of any previously managed controller and view.

The controller and view will be initialized and rendered either into the -UI (at the client-side) or to the response to send to the client (at the -server-side).

Parameters

NameType
«destructured»ManageArgs

Returns

Promise\<void | PageData>

A promise that will resolve to information about the rendered page. -The status will contain the HTTP status code to send to the -client (at the server side) or determine the type of error page -to navigate to (at the client side).

Overrides

AbstractPageManager.manage

Defined in

packages/core/src/page/manager/ClientPageManager.ts:109


postManage

postManage(): void

Called by router after currently managed route is resolved.

Returns

void

Inherited from

AbstractPageManager.postManage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:223


preManage

preManage(): Promise\<void>

Pre manage handler, should be called and awaited before tryint to handle -new route handler. This pre manage takes care of canceling any currently -executed route handlers and returns promise which is resolved when previous -page finished loading (even if it got canceled).

Returns

Promise\<void>

Inherited from

AbstractPageManager.preManage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:123

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ClientRouter/index.html b/api/classes/ima_core.ClientRouter/index.html deleted file mode 100644 index 5ecc5a668..000000000 --- a/api/classes/ima_core.ClientRouter/index.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - -Class: ClientRouter | IMA.js - - - - -
-
Skip to main content

Class: ClientRouter

@ima/core.ClientRouter

The client-side implementation of the Router interface.

Hierarchy

Constructors

constructor

new ClientRouter(pageManager, factory, dispatcher, window, settings)

Initializes the client-side router.

Parameters

NameTypeDescription
pageManagerPageManagerThe page manager handling UI rendering, and transitions between pages if at the client side.
factoryRouteFactoryFactory for routes.
dispatcherDispatcherDispatcher fires events to app.
windowWindowThe current global client-side APIs provider.
settingsundefined | number | { isSPARouted?: (url: string, action?: RouteAction) => boolean ; middlewareTimeout?: number }$Router settings.

Overrides

AbstractRouter.constructor

Defined in

packages/core/src/router/ClientRouter.ts:79

Properties

_currentMiddlewareId

Protected _currentMiddlewareId: number = 0

Middleware ID counter which is used to auto-generate unique middleware -names when adding them to routeHandlers map.

Inherited from

AbstractRouter._currentMiddlewareId

Defined in

packages/core/src/router/AbstractRouter.ts:92


_currentlyRoutedPath

Protected _currentlyRoutedPath: string = ''

Inherited from

AbstractRouter._currentlyRoutedPath

Defined in

packages/core/src/router/AbstractRouter.ts:93


_dispatcher

Protected _dispatcher: Dispatcher

Dispatcher fires events to app.

Inherited from

AbstractRouter._dispatcher

Defined in

packages/core/src/router/AbstractRouter.ts:62


_factory

Protected _factory: RouteFactory

Factory for routes.

Inherited from

AbstractRouter._factory

Defined in

packages/core/src/router/AbstractRouter.ts:58


_host

Protected _host: string = ''

The application's host.

Inherited from

AbstractRouter._host

Defined in

packages/core/src/router/AbstractRouter.ts:71


_isSPARouted

Protected _isSPARouted: undefined | (url: string, action?: RouteAction) => boolean

Inherited from

AbstractRouter._isSPARouted

Defined in

packages/core/src/router/AbstractRouter.ts:95


_languagePartPath

Protected _languagePartPath: string = ''

The URL path fragment used as a suffix to the _root field -that specifies the current language.

Inherited from

AbstractRouter._languagePartPath

Defined in

packages/core/src/router/AbstractRouter.ts:80


_middlewareTimeout

Protected _middlewareTimeout: number

Inherited from

AbstractRouter._middlewareTimeout

Defined in

packages/core/src/router/AbstractRouter.ts:94


_mountedPromise

Protected _mountedPromise: null | { promise: Promise\<void> ; reject: () => void ; resolve: () => void } = null

Mounted promise to prevent routing until app is fully mounted.

Defined in

packages/core/src/router/ClientRouter.ts:53


_pageManager

Protected _pageManager: PageManager

The page manager handling UI rendering, and transitions between -pages if at the client side.

Inherited from

AbstractRouter._pageManager

Defined in

packages/core/src/router/AbstractRouter.ts:54


_protocol

Protected _protocol: string = ''

The current protocol used to access the application, terminated by a -colon (for example https:).

Inherited from

AbstractRouter._protocol

Defined in

packages/core/src/router/AbstractRouter.ts:67


_root

Protected _root: string = ''

The URL path pointing to the application's root.

Inherited from

AbstractRouter._root

Defined in

packages/core/src/router/AbstractRouter.ts:75


_routeHandlers

Protected _routeHandlers: Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Storage of all known routes and middlewares. The key are their names.

Inherited from

AbstractRouter._routeHandlers

Defined in

packages/core/src/router/AbstractRouter.ts:84


_window

Protected _window: Window

Defined in

packages/core/src/router/ClientRouter.ts:44

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/router/ClientRouter.ts:59

Methods

#addParamsFromOriginalRoute

Private #addParamsFromOriginalRoute(params): Object

Obtains original route that was handled before not-found / error route -and assigns its params to current params

Parameters

NameTypeDescription
paramsRouteParamsRoute params for not-found or error page

Returns

Object

Provided params merged with params -from original route

Inherited from

AbstractRouter.#addParamsFromOriginalRoute

Defined in

packages/core/src/router/AbstractRouter.ts:733


#handleMounted

Private #handleMounted(): void

Returns

void

Defined in

packages/core/src/router/ClientRouter.ts:476


#isSPARouted

Private #isSPARouted(url?, action?): boolean

This option allows user to override how certain URLs are handled -during SPA (client) routing. This adds possibility to opt-out -of SPA routing for specific URLs and let them be handled by browser -natively.

Parameters

NameTypeDefault valueDescription
url?string''The URL.
action?RouteActionundefined-

Returns

boolean

true if url routing should be handled by IMA.

Defined in

packages/core/src/router/ClientRouter.ts:472


_boundHandleClick

Protected _boundHandleClick(event): void

Parameters

NameType
eventEvent

Returns

void

Defined in

packages/core/src/router/ClientRouter.ts:45


_boundHandlePopState

Protected _boundHandlePopState(event): void

Parameters

NameType
eventEvent

Returns

void

Defined in

packages/core/src/router/ClientRouter.ts:47


_extractRoutePath

Protected _extractRoutePath(path): string

Strips the URL path part that points to the application's root (base -URL) from the provided path.

Parameters

NameTypeDescription
pathstringRelative or absolute URL path.

Returns

string

URL path relative to the application's base URL.

Inherited from

AbstractRouter._extractRoutePath

Defined in

packages/core/src/router/AbstractRouter.ts:526


_getAnchorElement

_getAnchorElement(target): Node

The method determines whether an anchor element or a child of an anchor -element has been clicked, and if it was, the method returns anchor -element else null.

Parameters

NameType
targetNode

Returns

Node

Defined in

packages/core/src/router/ClientRouter.ts:408


_getCurrentlyRoutedPath

_getCurrentlyRoutedPath(): string

Returns path that is stored in private property when a route -method is called.

Returns

string

Inherited from

AbstractRouter._getCurrentlyRoutedPath

Defined in

packages/core/src/router/AbstractRouter.ts:664


_getMiddlewaresForRoute

_getMiddlewaresForRoute(routeName): RouterMiddleware[]

Returns middlewares preceding given route name.

Parameters

NameType
routeNamestring

Returns

RouterMiddleware[]

Inherited from

AbstractRouter._getMiddlewaresForRoute

Defined in

packages/core/src/router/AbstractRouter.ts:642


_handle

_handle(route, params, options?, action?): Promise\<void | UnknownParameters>

Handles the provided route and parameters by initializing the route's -controller and rendering its state via the route's view.

The result is then sent to the client if used at the server side, or -displayed if used as the client side.

Parameters

NameTypeDescription
routeAbstractRoute\<string | RoutePathExpression>The route that should have its associated controller rendered via the associated view.
paramsRouteParamsParameters extracted from the URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.

Returns

Promise\<void | UnknownParameters>

A promise that resolves when the -page is rendered and the result is sent to the client, or -displayed if used at the client side.

Inherited from

AbstractRouter._handle

Defined in

packages/core/src/router/AbstractRouter.ts:549


_handleClick

_handleClick(event): void

Handles a click event. The method performs navigation to the target -location of the anchor (if it has one).

The navigation will be handled by the router if the protocol and domain -of the anchor's target location (href) is the same as the current, -otherwise the method results in a hard redirect.

Parameters

NameTypeDescription
eventMouseEventThe click event.

Returns

void

Defined in

packages/core/src/router/ClientRouter.ts:350


_handleFatalError

_handleFatalError(error): void

Handle a fatal error application state. IMA handle fatal error when IMA -handle error.

Parameters

NameType
errorError

Returns

void

Defined in

packages/core/src/router/ClientRouter.ts:305


_handlePopState

_handlePopState(event): void

Handles a popstate event. The method is performed when the active history -entry changes.

The navigation will be handled by the router if the event state is defined -and event is not defaultPrevented.

Parameters

NameTypeDescription
eventPopStateEventThe popstate event.

Returns

void

Defined in

packages/core/src/router/ClientRouter.ts:326


_isHashLink(targetUrl): boolean

Tests whether the provided target URL contains only an update of the -hash fragment of the current URL.

Parameters

NameTypeDescription
targetUrlstringThe target URL.

Returns

boolean

true if the navigation to target URL would -result only in updating the hash fragment of the current URL.

Defined in

packages/core/src/router/ClientRouter.ts:436


_isSameDomain

_isSameDomain(url?): boolean

Tests whether the the protocol and domain of the provided URL are the -same as the current.

Parameters

NameTypeDefault valueDescription
url?string''The URL.

Returns

boolean

true if the protocol and domain of the -provided URL are the same as the current.

Defined in

packages/core/src/router/ClientRouter.ts:459


_runMiddlewares

_runMiddlewares(middlewares, params, locals): Promise\<void>

Runs provided middlewares in sequence.

Parameters

NameTypeDescription
middlewaresundefined | RouterMiddleware[]Array of middlewares.
paramsRouteParamsRouter params that can be mutated by middlewares.
localsRouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void>

Inherited from

AbstractRouter._runMiddlewares

Defined in

packages/core/src/router/AbstractRouter.ts:677


add

add(name, pathExpression, controller, view, options?): ClientRouter

Adds a new route to router.

Parameters

NameTypeDescription
namestringThe unique name of this route, identifying it among the rest of the routes in the application.
pathExpressionstringA path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as :parameterName. The name of the parameter is terminated by a forward slash (/) or the end of the path expression string. The path expression may also contain optional parameters, which are specified as :?parameterName. It is recommended to specify the optional parameters at the end of the path expression.
controllerAsyncRouteControllerThe full name of Object Container alias identifying the controller associated with this route.
viewAsyncRouteViewThe full name or Object Container alias identifying the view class associated with this route.
options?Partial\<RouteOptions>Additional route options, specified how the navigation to the route will be handled. The onlyUpdate can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a boolean representing the value of the flag. This flag is disabled by default. The autoScroll flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.

Returns

ClientRouter

This router.

Throws

Thrown if a route with the same name already exists.

Inherited from

AbstractRouter.add

Defined in

packages/core/src/router/AbstractRouter.ts:167


getBaseUrl

getBaseUrl(): string

Returns the application's absolute base URL, pointing to the public root -of the application.

Returns

string

The application's base URL.

Inherited from

AbstractRouter.getBaseUrl

Defined in

packages/core/src/router/AbstractRouter.ts:243


getCurrentRouteInfo

getCurrentRouteInfo(): Object

Returns the information about the currently active route.

Returns

Object

NameType
paramsRouteParams\<{}>
pathstring
routeAbstractRoute\<string | RoutePathExpression>

Throws

Thrown if a route is not define for current path.

Inherited from

AbstractRouter.getCurrentRouteInfo

Defined in

packages/core/src/router/AbstractRouter.ts:271


getDomain

getDomain(): string

Returns the application's domain in the following form -${protocol}//${host}.

Returns

string

The current application's domain.

Inherited from

AbstractRouter.getDomain

Defined in

packages/core/src/router/AbstractRouter.ts:250


getHost

getHost(): string

Returns application's host (domain and, if necessary, the port number).

Returns

string

The current application's host.

Inherited from

AbstractRouter.getHost

Defined in

packages/core/src/router/AbstractRouter.ts:257


getPath

getPath(): string

Returns the current path part of the current URL, including the query -string (if any).

Returns

string

The path and query parts of the current URL.

Overrides

AbstractRouter.getPath

Defined in

packages/core/src/router/ClientRouter.ts:120


getProtocol

getProtocol(): string

Returns the current protocol used to access the application, terminated -by a colon (for example https:).

Returns

string

The current application protocol used to access the -application.

Inherited from

AbstractRouter.getProtocol

Defined in

packages/core/src/router/AbstractRouter.ts:264


getRouteHandler

getRouteHandler(name): undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Returns specified handler from registered route handlers.

Parameters

NameTypeDescription
namestringThe route's unique name.

Returns

undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Route with given name or undefined.

Inherited from

AbstractRouter.getRouteHandler

Defined in

packages/core/src/router/AbstractRouter.ts:220


getRouteHandlers

getRouteHandlers(): Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Returns

Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Inherit Doc

Inherited from

AbstractRouter.getRouteHandlers

Defined in

packages/core/src/router/AbstractRouter.ts:297


getRouteHandlersByPath

getRouteHandlersByPath(path): Object

Returns the route matching the provided URL path part (the path may -contain a query) and all middlewares preceding this route definition.

Parameters

NameTypeDescription
pathstringThe URL path.

Returns

Object

The route -matching the path and middlewares preceding it or {} -(empty object) if no such route exists.

NameType
middlewaresRouterMiddleware[]
route?AbstractRoute\<string | RoutePathExpression>

Inherited from

AbstractRouter.getRouteHandlersByPath

Defined in

packages/core/src/router/AbstractRouter.ts:615


getUrl

getUrl(): string

Returns the current absolute URL (including protocol, host, query, etc).

Returns

string

The current absolute URL.

Overrides

AbstractRouter.getUrl

Defined in

packages/core/src/router/ClientRouter.ts:113


handleError

handleError(params, options?, locals?): Promise\<void | UnknownParameters>

Handles an internal server error by responding with the appropriate -"internal server error" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved when the error -has been handled and the response has been sent to the client, -or displayed if used at the client side.

Overrides

AbstractRouter.handleError

Defined in

packages/core/src/router/ClientRouter.ts:233


handleNotFound

handleNotFound(params, options?, locals?): Promise\<void | UnknownParameters>

Handles a "not found" error by responding with the appropriate "not -found" error page.

Parameters

NameTypeDescription
paramsStringParametersParameters extracted from the current URL path and query.
optionsObjectThe options overrides route options defined in the routes.js configuration file.
localsObjectThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Overrides

AbstractRouter.handleNotFound

Defined in

packages/core/src/router/ClientRouter.ts:293


init

init(config): ClientRouter

Initializes the router with the provided configuration.

Parameters

NameTypeDescription
configObjectRouter configuration. The $Protocol field must be the current protocol used to access the application, terminated by a colon (for example https:). The $Root field must specify the URL path pointing to the application's root. The $LanguagePartPath field must be the URL path fragment used as a suffix to the $Root field that specifies the current language. The $Host field must be the application's domain (and the port number if other than the default is used) in the following form: ${protocol}//${host}.
config.$Hoststring-
config.$LanguagePartPathstring-
config.$Protocolstring-
config.$Rootstring-

Returns

ClientRouter

Overrides

AbstractRouter.init

Defined in

packages/core/src/router/ClientRouter.ts:97


isClientError

isClientError(reason): boolean

Tests, if possible, whether the specified error was caused by the -client's action (for example wrong URL or request encoding) or by a -failure at the server side.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -client.

Inherited from

AbstractRouter.isClientError

Defined in

packages/core/src/router/AbstractRouter.ts:507


isRedirection

isRedirection(reason): boolean

Tests, if possible, whether the specified error lead to redirection.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -redirection.

Inherited from

AbstractRouter.isRedirection

Defined in

packages/core/src/router/AbstractRouter.ts:514


link(routeName, params): string

Generates an absolute URL (including protocol, domain, etc) for the -specified route by substituting the route's parameter placeholders with -the provided parameter values.

Parameters

NameTypeDescription
routeNamestringThe unique name of the route, identifying the route to use.
paramsRouteParamsParameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.

Returns

string

An absolute URL for the specified route and parameters.

Inherited from

AbstractRouter.link

Defined in

packages/core/src/router/AbstractRouter.ts:338


listen

listen(): ClientRouter

Registers event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will start processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This -method has no effect at the server side.

Returns

ClientRouter

This router.

Overrides

AbstractRouter.listen

Defined in

packages/core/src/router/ClientRouter.ts:127


redirect

redirect(url, options?, action?, locals?): void

Redirects the client to the specified location.

At the server side the method results in responding to the client with a -redirect HTTP status code and the Location header.

At the client side the method updates the current URL by manipulating -the browser history (if the target URL is at the same domain and -protocol as the current one) or performs a hard redirect (if the target -URL points to a different protocol or domain).

The method will result in the router handling the new URL and routing -the client to the related page if the URL is set at the client side and -points to the same domain and protocol.

Parameters

NameTypeDescription
urlstringThe URL to which the client should be redirected.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

void

Overrides

AbstractRouter.redirect

Defined in

packages/core/src/router/ClientRouter.ts:169


remove

remove(name): ClientRouter

Removes the specified route from the router's known routes.

Parameters

NameTypeDescription
namestringThe route's unique name, identifying the route to remove.

Returns

ClientRouter

This router.

Inherited from

AbstractRouter.remove

Defined in

packages/core/src/router/AbstractRouter.ts:211


route

route(path, options?, action?, locals?): Promise\<void | UnknownParameters>

Routes the application to the route matching the providing path, renders -the route page and sends the result to the client.

Parameters

NameTypeDescription
pathstringThe URL path part received from the client, with optional query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Overrides

AbstractRouter.route

Defined in

packages/core/src/router/ClientRouter.ts:198


unlisten

unlisten(): ClientRouter

Unregisters event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will stop processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This method has no effect -at the server side.

Returns

ClientRouter

This router.

Overrides

AbstractRouter.unlisten

Defined in

packages/core/src/router/ClientRouter.ts:148


use

use(middleware): ClientRouter

Adds a new middleware to router.

Parameters

NameTypeDescription
middlewareRouterMiddlewareMiddleware function accepting routeParams as a first argument, which can be mutated and locals object as second argument. This can be used to pass data between middlewares.

Returns

ClientRouter

This router.

Throws

Thrown if a middleware with the same name already exists.

Inherited from

AbstractRouter.use

Defined in

packages/core/src/router/AbstractRouter.ts:199

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ClientWindow/index.html b/api/classes/ima_core.ClientWindow/index.html deleted file mode 100644 index 289d8adf9..000000000 --- a/api/classes/ima_core.ClientWindow/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -Class: ClientWindow | IMA.js - - - - -
-
Skip to main content

Class: ClientWindow

@ima/core.ClientWindow

Client-side implementation of the Window utility API.

Hierarchy

Constructors

constructor

new ClientWindow()

Inherited from

Window.constructor

Properties

#scopedListeners

Private #scopedListeners: WeakMap\<object, any>

Defined in

packages/core/src/window/ClientWindow.ts:10

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/window/ClientWindow.ts:12

Methods

_findScopedListener

Private _findScopedListener\<T, E, S>(eventTarget, event, listener, options, scope, remove?): any

Type parameters

NameType
Textends EventTarget
Eextends Event
SS

Parameters

NameTypeDefault value
eventTargetTundefined
eventstringundefined
listener(event: E) => voidundefined
optionsboolean | AddEventListenerOptionsundefined
scopeSundefined
removebooleanfalse

Returns

any

Defined in

packages/core/src/window/ClientWindow.ts:297


bindEventListener

bindEventListener\<T, E, S>(eventTarget, event, listener, options?, scope?): void

Registers the provided event listener to be executed when the specified -event occurs on the specified event target.

Registering the same event listener for the same event on the same event -target with the same useCapture flag value repeatedly has no -effect.

Type parameters

NameType
Textends EventTarget
Eextends Event
SS

Parameters

NameTypeDefault valueDescription
eventTargetTundefinedThe event target.
eventstringundefinedThe name of the event.
listener(event: E) => voidundefinedThe event listener.
optionsboolean | EventListenerOptionsfalse-
scope?Sundefined-

Returns

void

Overrides

Window.bindEventListener

Defined in

packages/core/src/window/ClientWindow.ts:213


createCustomEvent

createCustomEvent\<T>(name, options): CustomEvent\<T>

Create new instance of CustomEvent of the specified name and using the -provided options.

Type parameters

Name
T

Parameters

NameTypeDescription
namestringCustom event's name (sometimes referred to as the event's type).
optionsCustomEventInit\<T>The custom event's options.

Returns

CustomEvent\<T>

The created custom event.

See

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

Overrides

Window.createCustomEvent

Defined in

packages/core/src/window/ClientWindow.ts:203


getBody

getBody(): undefined | HTMLElement

Returns the document's body element. The method returns -undefined if invoked at the server-side.

Returns

undefined | HTMLElement

The document's body element, or -undefined if invoked at the server side.

Overrides

Window.getBody

Defined in

packages/core/src/window/ClientWindow.ts:141


getDocument

getDocument(): Document

Returns the native document object representing any web page loaded -in the browser and serves as an entry point into the web page's content -which is the DOM tree at the client-side. The method returns undefined -if used at the server-side.

Returns

Document

The document object at the -client-side, or undefined at the server-side.

Overrides

Window.getDocument

Defined in

packages/core/src/window/ClientWindow.ts:69


getDomain

getDomain(): string

Returns the domain of the current document's URL as -${protocol}://${host}.

Returns

string

The current domain.

Overrides

Window.getDomain

Defined in

packages/core/src/window/ClientWindow.ts:113


getElementById

getElementById(id): null | HTMLElement

Returns the HTML element with the specified id attribute value.

Parameters

NameTypeDescription
idstringThe value of the id attribute to look for.

Returns

null | HTMLElement

The element with the specified id, or -null if no such element exists.

Overrides

Window.getElementById

Defined in

packages/core/src/window/ClientWindow.ts:148


getHistoryState

getHistoryState(): any

Returns the history state.

Returns

any

The current history state

Overrides

Window.getHistoryState

Defined in

packages/core/src/window/ClientWindow.ts:155


getHost

getHost(): string

Returns

string

The current host.

Overrides

Window.getHost

Defined in

packages/core/src/window/ClientWindow.ts:120


getPath

getPath(): string

Returns the path part of the current URL, including the query string.

Returns

string

The path and query string parts of the current URL.

Overrides

Window.getPath

Defined in

packages/core/src/window/ClientWindow.ts:127


getScrollX

getScrollX(): number

Returns the number of pixels the viewport is scrolled horizontally.

Returns

number

The number of pixels the viewport is scrolled -horizontally.

Overrides

Window.getScrollX

Defined in

packages/core/src/window/ClientWindow.ts:76


getScrollY

getScrollY(): number

Returns the number of pixels the document is scrolled vertically.

Returns

number

The number of pixels the document is scrolled -vertically.

Overrides

Window.getScrollY

Defined in

packages/core/src/window/ClientWindow.ts:91


getUrl

getUrl(): string

Returns

string

The current document's URL.

Overrides

Window.getUrl

Defined in

packages/core/src/window/ClientWindow.ts:134


getWindow

getWindow(): Window

Returns the native window object representing the global context -at the client-side. The method returns undefined if used at the -server-side.

Returns

Window

The window object at the -client-side, or undefined at the server-side.

Overrides

Window.getWindow

Defined in

packages/core/src/window/ClientWindow.ts:62


hasSessionStorage

hasSessionStorage(): boolean

Returns true if the session storage is supported.

Returns

boolean

true if the session storage is supported.

Overrides

Window.hasSessionStorage

Defined in

packages/core/src/window/ClientWindow.ts:33


isClient

isClient(): boolean

Returns

boolean

true if invoked at the client side.

Overrides

Window.isClient

Defined in

packages/core/src/window/ClientWindow.ts:19


isCookieEnabled

isCookieEnabled(): boolean

Returns true if the cookies are set and processed with every -HTTP request and response automatically by the environment.

Returns

boolean

true if cookies are handled automatically by -the environment.

Overrides

Window.isCookieEnabled

Defined in

packages/core/src/window/ClientWindow.ts:26


pushState

pushState\<T>(state, title, url?): void

Pushes a new state to the browser history. The method has no effect if -the current browser does not support the history API (IE9).

Type parameters

Name
T

Parameters

NameTypeDescription
stateTA state object associated with the history item, preferably representing the page state.
titlestringThe page title related to the state. Note that this parameter is ignored by some browsers.
url?stringThe new URL at which the state is available.

Returns

void

Overrides

Window.pushState

Defined in

packages/core/src/window/ClientWindow.ts:185


querySelector

querySelector\<E>(selector): null | E

Returns the first element matching the specified CSS 3 selector.

Type parameters

NameType
Eextends Element = Element

Parameters

NameTypeDescription
selectorstringThe CSS selector.

Returns

null | E

The first element matching the CSS selector or -null if no such element exists.

Overrides

Window.querySelector

Defined in

packages/core/src/window/ClientWindow.ts:162


querySelectorAll

querySelectorAll\<E>(selector): NodeListOf\<E>

Returns a node list of all elements matching the specified CSS 3 -selector.

Type parameters

NameType
Eextends Element = Element

Parameters

NameTypeDescription
selectorstringThe CSS selector.

Returns

NodeListOf\<E>

A node list containing all elements matching the -specified CSS selector.

Overrides

Window.querySelectorAll

Defined in

packages/core/src/window/ClientWindow.ts:169


redirect

redirect(url): void

Performs a hard redirect (discarding the current JavaScript state) to -the specified URL.

Parameters

NameTypeDescription
urlstringThe URL to which the browser will be redirected.

Returns

void

Overrides

Window.redirect

Defined in

packages/core/src/window/ClientWindow.ts:178


replaceState

replaceState\<T>(state, title, url?): void

Replaces the current history entry. The method has no effect if the -current browser does not support the history API (IE9).

Type parameters

Name
T

Parameters

NameTypeDescription
stateTA state object associated with the history item, preferably representing the page state.
titlestringThe page title related to the state. Note that this parameter is ignored by some browsers.
url?stringThe new URL at which the state is available.

Returns

void

Overrides

Window.replaceState

Defined in

packages/core/src/window/ClientWindow.ts:194


scrollTo

scrollTo(x, y): void

Scrolls the viewport to the specified location (if possible).

Parameters

NameTypeDescription
xnumberHorizontal scroll offset in pixels.
ynumberVertical scroll offset in pixels.

Returns

void

Overrides

Window.scrollTo

Defined in

packages/core/src/window/ClientWindow.ts:106


setTitle

setTitle(title): void

Sets the new page title of the document.

Parameters

NameTypeDescription
titlestringThe new page title.

Returns

void

Overrides

Window.setTitle

Defined in

packages/core/src/window/ClientWindow.ts:55


unbindEventListener

unbindEventListener\<T, E, S>(eventTarget, event, listener, options?, scope?): void

Deregister the provided event listener, so it will no longer we -executed when the specified event occurs on the specified event target.

The method has no effect if the provided event listener is not -registered to be executed at the specified event.

Type parameters

NameType
Textends EventTarget
Eextends Event = Event
Sany

Parameters

NameTypeDefault valueDescription
eventTargetTundefinedThe event target.
eventstringundefinedThe name of the event.
listener(event: E) => voidundefinedThe event listener.
optionsboolean | EventListenerOptionsfalseThe useCapture flag value that was used when the listener was registered, or provide capture option through object options.
scope?Sundefined-

Returns

void

Overrides

Window.unbindEventListener

Defined in

packages/core/src/window/ClientWindow.ts:254

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ComponentUtils/index.html b/api/classes/ima_core.ComponentUtils/index.html deleted file mode 100644 index 4fee520bc..000000000 --- a/api/classes/ima_core.ComponentUtils/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Class: ComponentUtils | IMA.js - - - - -
-
Skip to main content

Class: ComponentUtils

@ima/core.ComponentUtils

Constructors

constructor

new ComponentUtils(oc)

Initializes the registry used for managing component utils.

Parameters

NameTypeDescription
ocObjectContainerThe application's dependency injector - the object container.

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:31

Properties

_oc

Private _oc: ObjectContainer

The application's dependency injector - the object container.

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:8


_utilities

Private Optional _utilities: Utils

Map of instantiated utilities

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:18


_utilityClasses

Private _utilityClasses: Object = {}

Map of registered utilities.

Index signature

[key: string]: Dependency\<any>

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:12


_utilityReferrers

Private _utilityReferrers: StringParameters = {}

Map of referrers to utilities

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:23

Methods

_createUtilityInstance

_createUtilityInstance(alias, utilityClass): any

Parameters

NameType
aliasstring
utilityClassDependency\<any>

Returns

any

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:104


getReferrers

getReferrers(): StringParameters

Returns

StringParameters

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:100


getUtils

getUtils(): Utils

Returns object containing all registered utilities

Returns

Utils

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:80


register

register\<T>(name, componentUtilityClass?, referrer?): void

Registers single utility class or multiple classes in alias->class mapping.

Type parameters

Name
T

Parameters

NameType
namestring | { [key: string]: string | Dependency\<any>; } | Constructor\<T> & WithDependencies | AbstractConstructor\<T> & Partial\<WithDependencies> | Function & { prototype: T } & Partial\<WithDependencies> | [OCInjectable\<T>, { optional: boolean }]
componentUtilityClass?Dependency\<any>
referrer?string

Returns

void

Defined in

packages/core/src/page/renderer/ComponentUtils.ts:38

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Controller/index.html b/api/classes/ima_core.Controller/index.html deleted file mode 100644 index 1a82eb183..000000000 --- a/api/classes/ima_core.Controller/index.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -Class: Controller<S, R, SS> | IMA.js - - - - -
-
Skip to main content

Class: Controller<S, R, SS>

@ima/core.Controller

Interface defining the common API of page controllers. A page controller is -used to manage the overall state and view of a single application page, and -updates the page state according to the events submitted to it by components -on the page (or other input).

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends S = S

Hierarchy

Indexable

[key: PropertyKey]: any | EventBusEventHandler

Constructors

constructor

new Controller\<S, R, SS>()

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends PageState = S

Properties

$dependencies

Static $dependencies: Dependencies

Defined in

packages/core/src/controller/Controller.ts:44


$extensions

Static Optional $extensions: Dependencies\<Extension\<{}, {}, {}>>

Defined in

packages/core/src/controller/Controller.ts:45


$name

Static Optional $name: string

Defined in

packages/core/src/controller/Controller.ts:43

Methods

activate

activate(): void | Promise\<void>

Callback for activating the controller in the UI. This is the last -method invoked during controller initialization, called after all the -promises returned from the load method have been -resolved and the controller has configured the meta manager.

The controller may register any React and DOM event listeners in this -method. The controller may start receiving event bus event after this -method completes.

Returns

void | Promise\<void>

Defined in

packages/core/src/controller/Controller.ts:84


addExtension

addExtension(extension, extensionInstance?): void

Adds the provided extension to this controller. All extensions should be -added to the controller before the init method is -invoked.

Parameters

NameType
extensionkeyof OCAliasMap | Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>> | Extension\<PageState, RouteParams, PageState>
extensionInstance?Extension\<PageState, RouteParams, PageState>

Returns

void

Defined in

packages/core/src/controller/Controller.ts:232


beginStateTransaction

beginStateTransaction(): void

Starts queueing state patches off the controller state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:208


cancelStateTransaction

cancelStateTransaction(): void

Cancels ongoing state transaction. Uncommitted state changes are lost.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:223


commitStateTransaction

commitStateTransaction(): void

Applies queued state patches to the controller state. All patches are squashed -and applied with one setState call.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:216


deactivate

deactivate(): void | Promise\<void>

Callback for deactivating the controller in the UI. This is the first -method invoked during controller deinitialization. This usually happens -when the user navigates to a different URL.

This method is the lifecycle counterpart of the -activate method.

The controller should deregister listeners registered and release all -resources obtained in the activate method.

Returns

void | Promise\<void>

Defined in

packages/core/src/controller/Controller.ts:99


destroy

destroy(): void | Promise\<void>

Finalization callback, called when the controller is being discarded by -the application. This usually happens when the user navigates to a -different URL.

This method is the lifecycle counterpart of the init -method.

The controller should release all resources obtained in the -init method. The controller must release any resources -that might not be released automatically when the controller's instance -is destroyed by the garbage collector.

Returns

void | Promise\<void>

Defined in

packages/core/src/controller/Controller.ts:70


getExtension

getExtension(extension): undefined | Extension\<PageState, RouteParams, PageState>

Returns extension instance defined by it's class constructor -from controller's extension intance map.

Parameters

NameType
extensiontypeof Extension

Returns

undefined | Extension\<PageState, RouteParams, PageState>

Defined in

packages/core/src/controller/Controller.ts:247


getExtensions

getExtensions(): Extension\<{}, {}, {}>[]

Returns the controller's extensions.

Returns

Extension\<{}, {}, {}>[]

The extensions added to this controller.

Defined in

packages/core/src/controller/Controller.ts:261


getHttpStatus

getHttpStatus(): number

Returns the HTTP status code to send to the client, should the -controller be used at the server-side.

Returns

number

The HTTP status code to send to the client.

Defined in

packages/core/src/controller/Controller.ts:329


getRouteParams

getRouteParams(): R

Returns the current route parameters.

Returns

R

The current route parameters.

Defined in

packages/core/src/controller/Controller.ts:305


getState

getState(): SS

Returns the controller's current state.

Returns

SS

The current state of this controller.

Defined in

packages/core/src/controller/Controller.ts:197


init

init(): void | Promise\<void>

Callback for initializing the controller after the route parameters have -been set on this controller.

Returns

void | Promise\<void>

Defined in

packages/core/src/controller/Controller.ts:53


load

load(): S | Promise\<S>

Callback the controller uses to request the resources it needs to render -its view. This method is invoked after the init -method.

The controller should request all resources it needs in this method, and -represent each resource request as a promise that will resolve once the -resource is ready for use (these can be data fetched over HTTP(S), -database connections, etc).

The method must return a plain flat object. The field names of the -object identify the resources being fetched and prepared, each value -must be either the resource (e.g. view configuration or a value -retrieved synchronously) or a Promise that will resolve to the resource.

The IMA will use the object to set the state of the controller.

If at the server side, the IMA will wait for all the promises to -resolve, replaces the promises with the resolved values and sets the -resulting object as the controller's state.

If at the client side, the IMA will first set the controller's state to -an object containing only the fields of the returned object that were -not promises. IMA will then update the controller's state every time a -promise of the returned object resolves. IMA will update the state by -adding the resolved resource to the controller's state.

Any returned promise that gets rejected will redirect the application to -the error page. The error page that will be used depends on the status -code of the error.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Defined in

packages/core/src/controller/Controller.ts:138


setMetaParams

setMetaParams(loadedResources, metaManager, router, dictionary, settings): void

Callback used to configure the meta attribute manager. The method is -called after the the controller's state has been patched with the all -loaded resources and the view has been rendered.

Parameters

NameTypeDescription
loadedResourcesIntersection\<Partial\<Pick\<SS, Matching\<SS, Promise\<any>>>>, Required\<Pick\<SS, NonMatching\<SS, Promise\<any>>>>>A plain object representing a map of resource names to resources loaded by the load method. This is the same object as the one passed to the setState method.
metaManagerMetaManagerMeta attributes manager to configure.
routerRouterThe current application router.
dictionaryDictionaryThe current localization dictionary.
settingsSettingsThe application settings for the current application environment.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:280


setPageStateManager

setPageStateManager(pageStateManager?): void

Sets the page state manager. The page state manager manages the -controller's state. The state manager can be set to null if this -controller loses the right to modify the state of the current page (e.g. -the user has navigated to a different route using a different -controller).

Parameters

NameTypeDescription
pageStateManager?PageStateManager\<SS>The current state manager to use.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:319


setRouteParams

setRouteParams(params?): void

Sets the current route parameters. This method is invoked before the -init method.

Parameters

NameTypeDescription
paramsRThe current route parameters.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:296


setState

setState\<K>(statePatch): void

Patches the state of this controller using the provided object by -copying the provided patch object fields to the controller's state -object.

You can use this method to modify the state partially or add new fields -to the state object.

Note that the state is not patched recursively but by replacing the -values of the top-level fields of the state object.

Once the promises returned by the load method are -resolved, this method is called with the an object containing the -resolved values. The field names of the passed object will match the -field names in the object returned from the load -method.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDescription
statePatchnull | S | Pick\<S, K>Patch of the controller's state to apply.

Returns

void

Defined in

packages/core/src/controller/Controller.ts:188


update

update(prevParams?): S | Promise\<S>

Callback for updating the controller after a route update. This method -is invoked if the current route has the onlyUpdate flag set to true and -the current controller and view match those used by the previously active -route, or, the onlyUpdate option of the current route is a callback and -returned true.

The method must return an object with the same semantics as the result -of the load method. The controller's state will only -be patched by the returned object instead of replacing it completely.

The other controller lifecycle callbacks (init, -load, activate, -deactivate, Controller#deinit) are not call -in case this method is used.

Parameters

NameTypeDescription
prevParamsRPrevious route parameters.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Defined in

packages/core/src/controller/Controller.ts:164

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ControllerDecorator/index.html b/api/classes/ima_core.ControllerDecorator/index.html deleted file mode 100644 index 471f28fec..000000000 --- a/api/classes/ima_core.ControllerDecorator/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - -Class: ControllerDecorator<S, R, SS> | IMA.js - - - - -
-
Skip to main content

Class: ControllerDecorator<S, R, SS>

@ima/core.ControllerDecorator

Decorator for page controllers. The decorator manages references to the meta -attributes manager and other utilities so these can be easily provided to -the decorated page controller when needed.

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends S = S

Hierarchy

Constructors

constructor

new ControllerDecorator\<S, R, SS>(controller, metaManager, router, dictionary, settings)

Initializes the controller decorator.

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends PageState = S

Parameters

NameTypeDescription
controllerController\<S, R, SS>The controller being decorated.
metaManagerMetaManagerThe meta page attributes manager.
routerRouterThe application router.
dictionaryDictionaryLocalization phrases dictionary.
settingsSettingsApplication settings for the current application environment.

Overrides

Controller.constructor

Defined in

packages/core/src/controller/ControllerDecorator.ts:54

Properties

_controller

Protected _controller: Controller\<S, R, SS>

The controller being decorated.

Defined in

packages/core/src/controller/ControllerDecorator.ts:26


_dictionary

Protected _dictionary: Dictionary

Localization phrases dictionary.

Defined in

packages/core/src/controller/ControllerDecorator.ts:38


_metaManager

Protected _metaManager: MetaManager

The meta page attributes manager.

Defined in

packages/core/src/controller/ControllerDecorator.ts:30


_router

Protected _router: Router

The application router.

Defined in

packages/core/src/controller/ControllerDecorator.ts:34


_settings

Protected _settings: Settings

Application settings for the current application environment.

Defined in

packages/core/src/controller/ControllerDecorator.ts:42


$dependencies

Static $dependencies: Dependencies

Inherited from

Controller.$dependencies

Defined in

packages/core/src/controller/Controller.ts:44


$extensions

Static Optional $extensions: Dependencies\<Extension\<{}, {}, {}>>

Inherited from

Controller.$extensions

Defined in

packages/core/src/controller/Controller.ts:45


$name

Static Optional $name: string

Inherited from

Controller.$name

Defined in

packages/core/src/controller/Controller.ts:43

Methods

activate

activate(): void | Promise\<void>

Callback for activating the controller in the UI. This is the last -method invoked during controller initialization, called after all the -promises returned from the load method have been -resolved and the controller has configured the meta manager.

The controller may register any React and DOM event listeners in this -method. The controller may start receiving event bus event after this -method completes.

Returns

void | Promise\<void>

Overrides

Controller.activate

Defined in

packages/core/src/controller/ControllerDecorator.ts:87


addExtension

addExtension(extension, extensionInstance?): void

Adds the provided extension to this controller. All extensions should be -added to the controller before the init method is -invoked.

Parameters

NameType
extensionkeyof OCAliasMap | Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>> | Extension\<PageState, RouteParams, PageState>
extensionInstance?Extension\<PageState, RouteParams, PageState>

Returns

void

Overrides

Controller.addExtension

Defined in

packages/core/src/controller/ControllerDecorator.ts:150


beginStateTransaction

beginStateTransaction(): void

Starts queueing state patches off the controller state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Overrides

Controller.beginStateTransaction

Defined in

packages/core/src/controller/ControllerDecorator.ts:129


cancelStateTransaction

cancelStateTransaction(): void

Cancels ongoing state transaction. Uncommitted state changes are lost.

Returns

void

Overrides

Controller.cancelStateTransaction

Defined in

packages/core/src/controller/ControllerDecorator.ts:143


commitStateTransaction

commitStateTransaction(): void

Applies queued state patches to the controller state. All patches are squashed -and applied with one setState call.

Returns

void

Overrides

Controller.commitStateTransaction

Defined in

packages/core/src/controller/ControllerDecorator.ts:136


deactivate

deactivate(): void | Promise\<void>

Callback for deactivating the controller in the UI. This is the first -method invoked during controller deinitialization. This usually happens -when the user navigates to a different URL.

This method is the lifecycle counterpart of the -activate method.

The controller should deregister listeners registered and release all -resources obtained in the activate method.

Returns

void | Promise\<void>

Overrides

Controller.deactivate

Defined in

packages/core/src/controller/ControllerDecorator.ts:94


destroy

destroy(): void | Promise\<void>

Finalization callback, called when the controller is being discarded by -the application. This usually happens when the user navigates to a -different URL.

This method is the lifecycle counterpart of the init -method.

The controller should release all resources obtained in the -init method. The controller must release any resources -that might not be released automatically when the controller's instance -is destroyed by the garbage collector.

Returns

void | Promise\<void>

Overrides

Controller.destroy

Defined in

packages/core/src/controller/ControllerDecorator.ts:80


getExtension

getExtension(extension): undefined | Extension\<PageState, RouteParams, PageState>

Returns extension instance defined by it's class constructor -from controller's extension intance map.

Parameters

NameType
extensiontypeof Extension

Returns

undefined | Extension\<PageState, RouteParams, PageState>

Overrides

Controller.getExtension

Defined in

packages/core/src/controller/ControllerDecorator.ts:164


getExtensions

getExtensions(): Extension\<{}, {}, {}>[]

Returns the controller's extensions.

Returns

Extension\<{}, {}, {}>[]

The extensions added to this controller.

Overrides

Controller.getExtensions

Defined in

packages/core/src/controller/ControllerDecorator.ts:173


getHttpStatus

getHttpStatus(): number

Returns the HTTP status code to send to the client, should the -controller be used at the server-side.

Returns

number

The HTTP status code to send to the client.

Overrides

Controller.getHttpStatus

Defined in

packages/core/src/controller/ControllerDecorator.ts:214


getMetaManager

getMetaManager(): MetaManager

Returns the meta attributes manager configured by the decorated -controller.

Returns

MetaManager

The Meta attributes manager configured by the -decorated controller.

Defined in

packages/core/src/controller/ControllerDecorator.ts:225


getRouteParams

getRouteParams(): R

Returns the current route parameters.

Returns

R

The current route parameters.

Overrides

Controller.getRouteParams

Defined in

packages/core/src/controller/ControllerDecorator.ts:200


getState

getState(): SS

Returns the controller's current state.

Returns

SS

The current state of this controller.

Overrides

Controller.getState

Defined in

packages/core/src/controller/ControllerDecorator.ts:122


init

init(): void | Promise\<void>

Callback for initializing the controller after the route parameters have -been set on this controller.

Returns

void | Promise\<void>

Overrides

Controller.init

Defined in

packages/core/src/controller/ControllerDecorator.ts:73


load

load(): S | Promise\<S>

Callback the controller uses to request the resources it needs to render -its view. This method is invoked after the init -method.

The controller should request all resources it needs in this method, and -represent each resource request as a promise that will resolve once the -resource is ready for use (these can be data fetched over HTTP(S), -database connections, etc).

The method must return a plain flat object. The field names of the -object identify the resources being fetched and prepared, each value -must be either the resource (e.g. view configuration or a value -retrieved synchronously) or a Promise that will resolve to the resource.

The IMA will use the object to set the state of the controller.

If at the server side, the IMA will wait for all the promises to -resolve, replaces the promises with the resolved values and sets the -resulting object as the controller's state.

If at the client side, the IMA will first set the controller's state to -an object containing only the fields of the returned object that were -not promises. IMA will then update the controller's state every time a -promise of the returned object resolves. IMA will update the state by -adding the resolved resource to the controller's state.

Any returned promise that gets rejected will redirect the application to -the error page. The error page that will be used depends on the status -code of the error.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Overrides

Controller.load

Defined in

packages/core/src/controller/ControllerDecorator.ts:101


setMetaParams

setMetaParams(loadedResources): void

Callback used to configure the meta attribute manager. The method is -called after the the controller's state has been patched with the all -loaded resources and the view has been rendered.

Parameters

NameTypeDescription
loadedResourcesIntersection\<Partial\<Pick\<SS, Matching\<SS, Promise\<any>>>>, Required\<Pick\<SS, NonMatching\<SS, Promise\<any>>>>>A plain object representing a map of resource names to resources loaded by the load method. This is the same object as the one passed to the setState method.

Returns

void

Overrides

Controller.setMetaParams

Defined in

packages/core/src/controller/ControllerDecorator.ts:180


setPageStateManager

setPageStateManager(pageStateManager?): void

Sets the page state manager. The page state manager manages the -controller's state. The state manager can be set to null if this -controller loses the right to modify the state of the current page (e.g. -the user has navigated to a different route using a different -controller).

Parameters

NameTypeDescription
pageStateManager?PageStateManager\<SS>The current state manager to use.

Returns

void

Overrides

Controller.setPageStateManager

Defined in

packages/core/src/controller/ControllerDecorator.ts:207


setRouteParams

setRouteParams(params?): void

Sets the current route parameters. This method is invoked before the -init method.

Parameters

NameTypeDescription
paramsRThe current route parameters.

Returns

void

Overrides

Controller.setRouteParams

Defined in

packages/core/src/controller/ControllerDecorator.ts:193


setState

setState\<K>(statePatch): void

Patches the state of this controller using the provided object by -copying the provided patch object fields to the controller's state -object.

You can use this method to modify the state partially or add new fields -to the state object.

Note that the state is not patched recursively but by replacing the -values of the top-level fields of the state object.

Once the promises returned by the load method are -resolved, this method is called with the an object containing the -resolved values. The field names of the passed object will match the -field names in the object returned from the load -method.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDescription
statePatchnull | S | Pick\<S, K>Patch of the controller's state to apply.

Returns

void

Overrides

Controller.setState

Defined in

packages/core/src/controller/ControllerDecorator.ts:115


update

update(prevParams?): S | Promise\<S>

Callback for updating the controller after a route update. This method -is invoked if the current route has the onlyUpdate flag set to true and -the current controller and view match those used by the previously active -route, or, the onlyUpdate option of the current route is a callback and -returned true.

The method must return an object with the same semantics as the result -of the load method. The controller's state will only -be patched by the returned object instead of replacing it completely.

The other controller lifecycle callbacks (init, -load, activate, -deactivate, Controller#deinit) are not call -in case this method is used.

Parameters

NameTypeDescription
prevParamsRPrevious route parameters.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Overrides

Controller.update

Defined in

packages/core/src/controller/ControllerDecorator.ts:108

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.CookieStorage/index.html b/api/classes/ima_core.CookieStorage/index.html deleted file mode 100644 index bb04e3f23..000000000 --- a/api/classes/ima_core.CookieStorage/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -Class: CookieStorage | IMA.js - - - - -
-
Skip to main content

Class: CookieStorage

@ima/core.CookieStorage

Storage of cookies, mirroring the cookies to the current request / response -at the server side and the document.cookie property at the client -side. The storage caches the cookies internally.

Hierarchy

Constructors

constructor

new CookieStorage(window, request, response)

Initializes the cookie storage.

Parameters

NameTypeDescription
windowWindowThe window utility.
requestRequestThe current HTTP request.
responseResponseThe current HTTP response.

Example

cookie.set('cookie', 'value', { expires: 10 }); // cookie expires
// after 10s
cookie.set('cookie'); // delete cookie

Overrides

Storage.constructor

Defined in

packages/core/src/storage/CookieStorage.ts:182

Properties

#memoParseRawCookies

Private #memoParseRawCookies: MemoizedFn\<(rawCookies: undefined | string) => string[]>

Memoized function of private parseRawCookies function

Defined in

packages/core/src/storage/CookieStorage.ts:93


_options

Private _options: CookieOptions

The overriding cookie attribute values.

Defined in

packages/core/src/storage/CookieStorage.ts:68


_request

Private _request: Request

The current HTTP request. This field is used at the server side.

Defined in

packages/core/src/storage/CookieStorage.ts:53


_response

Private _response: Response

The current HTTP response. This field is used at the server side.

Defined in

packages/core/src/storage/CookieStorage.ts:58


_storage

Private _storage: Map\<string, Cookie>

The internal storage of entries.

Defined in

packages/core/src/storage/CookieStorage.ts:63


_transformFunction

Private _transformFunction: Object

Transform encode and decode functions for cookie value.

Type declaration

NameType
decode(value: string) => string
encode(value: string) => string

Defined in

packages/core/src/storage/CookieStorage.ts:82


_window

Private _window: Window

The window utility used to determine whether the IMA is being run -at the client or at the server.

Defined in

packages/core/src/storage/CookieStorage.ts:48

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/storage/CookieStorage.ts:95

Methods

#extractCookie

Private #extractCookie(cookieString): Cookie & { name?: string }

Extract cookie name, value and options from cookie string.

Parameters

NameTypeDescription
cookieStringstringThe value of the Set-Cookie HTTP header.

Returns

Cookie & { name?: string }

Defined in

packages/core/src/storage/CookieStorage.ts:590


#extractNameAndValue

Private #extractNameAndValue(pair, pairIndex): [null | string, undefined | null | string | number | boolean | Date]

Extract name and value for defined pair and pair index.

Parameters

NameType
pairstring
pairIndexnumber

Returns

[null | string, undefined | null | string | number | boolean | Date]

Defined in

packages/core/src/storage/CookieStorage.ts:620


#firstLetterToLowerCase

Private #firstLetterToLowerCase(word): string

Creates a copy of the provided word (or text) that has its first -character converted to lower case.

Parameters

NameTypeDescription
wordstringThe word (or any text) that should have its first character converted to lower case.

Returns

string

A copy of the provided string with its first character -converted to lower case.

Defined in

packages/core/src/storage/CookieStorage.ts:539


#generateCookieString

Private #generateCookieString(name, value, options): string

Generates a string representing the specified cookie, usable either -with the document.cookie property or the Set-Cookie HTTP -header.

(Note that the Cookie HTTP header uses a slightly different -syntax.)

Parameters

NameTypeDescription
namestringThe cookie name.
valueundefined | string | number | boolean | DateThe cookie value, will be converted to string.
optionsCookieOptionsCookie attributes. Only the attributes listed in the type annotation of this field are supported. For documentation and full list of cookie attributes see http://tools.ietf.org/html/rfc2965#page-5

Returns

string

A string representing the cookie. Setting this string -to the document.cookie property will set the cookie to -the browser's cookie storage.

Defined in

packages/core/src/storage/CookieStorage.ts:562


#parseRawCookies

Private #parseRawCookies(rawCookies): string[]

Parameters

NameType
rawCookiesundefined | string

Returns

string[]

Defined in

packages/core/src/storage/CookieStorage.ts:495


clear

clear(): CookieStorage

Clears the storage of all entries.

Returns

CookieStorage

This storage.

Overrides

Storage.clear

Defined in

packages/core/src/storage/CookieStorage.ts:280


delete

delete(name, options?): CookieStorage

Deletes the cookie identified by the specified name.

Parameters

NameTypeDescription
namestringName identifying the cookie.
optionsCookieOptionsThe cookie options. The domain and path specify the cookie's domain and path. The httpOnly and secure flags set the flags of the same name of the cookie.

Returns

CookieStorage

This storage.

Overrides

Storage.delete

Defined in

packages/core/src/storage/CookieStorage.ts:268


get

get(name): undefined | string | number | boolean | Date

Retrieves the value of the entry identified by the specified . The -method returns undefined if the entry does not exists.

Entries set to the undefined value can be tested for existence -using the link has method.

Parameters

NameTypeDescription
namestringThe key identifying the storage entry.

Returns

undefined | string | number | boolean | Date

The value of the storage entry.

Overrides

Storage.get

Defined in

packages/core/src/storage/CookieStorage.ts:216


getCookiesStringForCookieHeader

getCookiesStringForCookieHeader(url?): string

Returns all cookies in this storage serialized to a string compatible -with the Cookie HTTP header.

When url is provided, the method validates the cookie security based on -the url and the cookie's domain, path, and secure attributes.

Parameters

NameType
url?string

Returns

string

All cookies in this storage serialized to a string -compatible with the Cookie HTTP header.

Defined in

packages/core/src/storage/CookieStorage.ts:318


getExpirationAsDate

getExpirationAsDate(expiration): Date

Converts the provided cookie expiration to a Date instance.

Parameters

NameTypeDescription
expirationstring | number | DateCookie expiration in seconds from now, or as a string compatible with the Date constructor.

Returns

Date

Cookie expiration as a Date instance.

Defined in

packages/core/src/storage/CookieStorage.ts:481


has

has(name): boolean

Returns true if the entry identified by the specified key exists -in this storage.

Parameters

NameTypeDescription
namestringThe key identifying the storage entry.

Returns

boolean

true if the storage entry exists.

Overrides

Storage.has

Defined in

packages/core/src/storage/CookieStorage.ts:207


init

init(options?, transformFunction?): CookieStorage

This method is used to finalize the initialization of the storage after -the dependencies provided through the constructor have been prepared for -use.

This method must be invoked only once and it must be the first method -invoked on this instance.

Parameters

NameType
optionsCookieOptions
transformFunctionObject

Returns

CookieStorage

This storage.

Overrides

Storage.init

Defined in

packages/core/src/storage/CookieStorage.ts:193


keys

keys(): Iterable\<string>

Returns an iterator for traversing the keys in this storage. The order -in which the keys are traversed is undefined.

Returns

Iterable\<string>

An iterator for traversing the keys in this -storage. The iterator also implements the iterable protocol, -returning itself as its own iterator, allowing it to be used in -a for..of loop.

Overrides

Storage.keys

Defined in

packages/core/src/storage/CookieStorage.ts:293


parse

parse(): void

Parses cookies from a cookie string and sets the parsed cookies to the -internal storage.

The method obtains the cookie string from the request's Cookie -HTTP header when used at the server side, and the document.cookie -property at the client side.

Returns

void

Defined in

packages/core/src/storage/CookieStorage.ts:393


parseFromSetCookieHeader

parseFromSetCookieHeader(cookiesString, url?): void

Parses cookies from the provided Set-Cookie HTTP header value.

When url is provided, the method validates the cookie security based on -the url and the cookie's domain, path, and secure attributes.

The parsed cookies will be set to the internal storage, and the current -HTTP response (via the Set-Cookie HTTP header) if at the server -side, or the browser (via the document.cookie property).

Parameters

NameTypeDescription
cookiesStringstring | string[]The value of the Set-Cookie HTTP header. When there are multiple cookies, the value can be provided as an array of strings.
url?string-

Returns

void

Defined in

packages/core/src/storage/CookieStorage.ts:357


recomputeCookieMaxAgeAndExpires

recomputeCookieMaxAgeAndExpires(options): void

Recomputes cookie's attributes maxAge and expires between each other.

Parameters

NameTypeDescription
optionsCookieOptionsCookie attributes. Only the attributes listed in the type annotation of this field are supported. For documentation and full list of cookie attributes see http://tools.ietf.org/html/rfc2965#page-5

Returns

void

Defined in

packages/core/src/storage/CookieStorage.ts:459


sanitizeCookieValue

sanitizeCookieValue(value): string

Sanitize cookie value by rules in -(@see http://tools.ietf.org/html/rfc6265#section-4r.1.1). Erase all -invalid characters from cookie value.

Parameters

NameTypeDescription
valueundefined | string | number | boolean | DateCookie value

Returns

string

Sanitized value

Defined in

packages/core/src/storage/CookieStorage.ts:417


set

set(name, value, options?): CookieStorage

Sets the storage entry identified by the specified key to the provided -value. The method creates the entry if it does not exist already.

Parameters

NameTypeDescription
namestringThe key identifying the storage entry.
valueundefined | string | number | boolean | DateThe storage entry value.
optionsCookieOptionsThe cookie options. The maxAge is the maximum age in seconds of the cookie before it will be deleted, the expires is an alternative to that, specifying the moment at which the cookie will be discarded. The domain and path specify the cookie's domain and path. The httpOnly and secure flags set the flags of the same name of the cookie.

Returns

CookieStorage

This storage.

Overrides

Storage.set

Defined in

packages/core/src/storage/CookieStorage.ts:234


size

size(): number

Returns the number of entries in this storage.

Returns

number

The number of entries in this storage.

Overrides

Storage.size

Defined in

packages/core/src/storage/CookieStorage.ts:302


validateCookieSecurity

Static validateCookieSecurity(cookie, url): boolean

Filters invalid cookies based on the provided url. -We try to check validity of the domain based on secure, path and -domain definitions.

Parameters

NameType
cookieCookie
urlstring

Returns

boolean

Defined in

packages/core/src/storage/CookieStorage.ts:104

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Dictionary/index.html b/api/classes/ima_core.Dictionary/index.html deleted file mode 100644 index 353e661a6..000000000 --- a/api/classes/ima_core.Dictionary/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -Class: Dictionary | IMA.js - - - - -
-
Skip to main content

Class: Dictionary

@ima/core.Dictionary

The Dictionary is a manager and preprocessor of localization phrases for a -single language. The format of the localization phrases depends on the -implementation of this interface.

Hierarchy

Constructors

constructor

new Dictionary()

Methods

get

get(key, parameters?): string

Retrieves the localization phrase identified by the specified key, -evaluates the phrase's placeholder expressions using the provided -parameters and returns the result.

Parameters

NameTypeDescription
keyneverThe key identifying the localization phrase.
parameters?ObjectParametersThe map of parameter names to the parameter values to use. Defaults to an empty plain object.

Returns

string

The specified localization phrase with its placeholders -evaluated using the provided parameters.

Defined in

packages/core/src/dictionary/Dictionary.ts:59


getLanguage

getLanguage(): string

Returns the ISO 639-1 language code of the language this dictionary was -initialized with.

Returns

string

The language code representing the language of the -localization phrases in this dictionary.

Defined in

packages/core/src/dictionary/Dictionary.ts:43


has

has(key): boolean

Tests whether the specified localization phrase exists in the -dictionary.

Parameters

NameTypeDescription
keystringThe key identifying the localization phrase. @returntrue if the key exists and denotes a single localization phrase, otherwise false.

Returns

boolean

Defined in

packages/core/src/dictionary/Dictionary.ts:71


init

init(config): void

Initializes this dictionary with the provided language and localization -phrases.

Parameters

NameTypeDescription
configDictionaryConfigThe dictionary configuration.

Returns

void

Defined in

packages/core/src/dictionary/Dictionary.ts:32

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Dispatcher/index.html b/api/classes/ima_core.Dispatcher/index.html deleted file mode 100644 index 0d1d26f4e..000000000 --- a/api/classes/ima_core.Dispatcher/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -Class: Dispatcher | IMA.js - - - - -
-
Skip to main content

Class: Dispatcher

@ima/core.Dispatcher

A Dispatcher is a utility that manager event listeners registered for events -and allows distributing (firing) events to the listeners registered for the -given event.

The dispatcher provides a single-node event bus and is usually used to -propagate events from controllers to UI components when modifying/passing -the state is impractical for any reason.

Hierarchy

Constructors

constructor

new Dispatcher()

Methods

clear

clear(): Dispatcher

Deregisters all event listeners currently registered with this -dispatcher.

Returns

Dispatcher

Defined in

packages/core/src/event/Dispatcher.ts:31


fire

fire\<E>(event, data): Dispatcher

Fires a new event of the specified name, carrying the provided data.

The method will synchronously execute all event listeners registered for -the specified event, passing the provided data to them as the first -argument.

It will also execute all event listeners registered to listen to all events.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
eventEThe name of the event to fire.
dataDispatcherEventsMap[E]The data to pass to the event listeners.

Returns

Dispatcher

This dispatcher.

Defined in

packages/core/src/event/Dispatcher.ts:158

fire(event, data): Dispatcher

Parameters

NameType
eventstring
dataany

Returns

Dispatcher

Defined in

packages/core/src/event/Dispatcher.ts:162


listen

listen\<E>(event, listener, scope?): Dispatcher

Registers the provided event listener to be executed when the specified -event is fired on this dispatcher.

When the specified event is fired, the event listener will be executed -with the data passed with the event as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon. Registering the same listener for the -same event and with the same scope multiple times has no effect.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
eventEThe name of the event to listen for.
listenerDispatcherListener\<DispatcherEventsMap[E]>The event listener to register.
scope?unknownThe object to which the this keyword will be bound in the event listener.

Returns

Dispatcher

This dispatcher.

Defined in

packages/core/src/event/Dispatcher.ts:52

listen(event, listener, scope?): Dispatcher

Parameters

NameType
eventstring
listenerDispatcherListener\<any>
scope?unknown

Returns

Dispatcher

Defined in

packages/core/src/event/Dispatcher.ts:57


listenAll

listenAll\<E>(listener, scope?): Dispatcher

Registers the provided event listener to be executed when any event is fired -on this dispatcher.

When any event is fired, the event listener will be executed with the data -passed with the event as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon. Registering the same listener with the same -scope multiple times has no effect.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
listenerDispatcherListenerAll\<DispatcherEventsMap[E]>The event listener to register.
scope?unknownThe object to which the this keyword will be bound in the event listener.

Returns

Dispatcher

This dispatcher.

Defined in

packages/core/src/event/Dispatcher.ts:86

listenAll(listener, scope?): Dispatcher

Parameters

NameType
listenerDispatcherListenerAll\<any>
scope?unknown

Returns

Dispatcher

Defined in

packages/core/src/event/Dispatcher.ts:90


unlisten

unlisten\<E>(event, listener, scope?): Dispatcher

Deregisters the provided event listener, so it will no longer be -executed with the specified scope when the specified event is fired.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
eventEThe name of the event for which the listener should be deregistered.
listenerDispatcherListener\<DispatcherEventsMap[E]>The event listener to deregister.
scope?unknownThe object to which the this keyword would be bound in the event listener.

Returns

Dispatcher

This dispatcher.

Defined in

packages/core/src/event/Dispatcher.ts:106

unlisten(event, listener, scope?): Dispatcher

Parameters

NameType
eventstring
listenerDispatcherListener\<any>
scope?unknown

Returns

Dispatcher

Defined in

packages/core/src/event/Dispatcher.ts:111


unlistenAll

unlistenAll\<E>(listener, scope?): Dispatcher

Deregisters the provided event listener, so it will no longer be -executed when any event is fired.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
listenerDispatcherListenerAll\<DispatcherEventsMap[E]>The event listener function to deregister for all events.
scope?unknownOptional. The object to which the this keyword would be bound in the event listener.

Returns

Dispatcher

This dispatcher instance.

Defined in

packages/core/src/event/Dispatcher.ts:132

unlistenAll(listener, scope?): Dispatcher

Parameters

NameType
listenerDispatcherListenerAll\<any>
scope?unknown

Returns

Dispatcher

Defined in

packages/core/src/event/Dispatcher.ts:136

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.DispatcherImpl/index.html b/api/classes/ima_core.DispatcherImpl/index.html deleted file mode 100644 index 81472f137..000000000 --- a/api/classes/ima_core.DispatcherImpl/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -Class: DispatcherImpl | IMA.js - - - - -
-
Skip to main content

Class: DispatcherImpl

@ima/core.DispatcherImpl

Default implementation of the Dispatcher interface.

Hierarchy

Constructors

constructor

new DispatcherImpl()

Initializes the dispatcher.

Overrides

Dispatcher.constructor

Defined in

packages/core/src/event/DispatcherImpl.ts:39

Properties

_eventListeners

Protected _eventListeners: Map\<string, Map\<DispatcherListener\<any>, Set\<unknown>>>

Defined in

packages/core/src/event/DispatcherImpl.ts:27


_eventListenersAll

Protected _eventListenersAll: Map\<DispatcherListenerAll\<any>, Set\<unknown>>

Defined in

packages/core/src/event/DispatcherImpl.ts:32


$dependencies

Static $dependencies: Dependencies = []

Defined in

packages/core/src/event/DispatcherImpl.ts:34

Methods

_createNewEvent

_createNewEvent(event): void

Create new Map storage of listeners for the specified event.

Parameters

NameTypeDescription
eventstringThe name of the event.

Returns

void

Defined in

packages/core/src/event/DispatcherImpl.ts:210


_createNewListener

_createNewListener\<L>(event, listener): void

Create new Set storage of scopes for the specified event and listener.

Type parameters

NameType
Lextends DispatcherListener\<any>

Parameters

NameTypeDescription
eventstringThe name of the event.
listenerLThe event listener.

Returns

void

Defined in

packages/core/src/event/DispatcherImpl.ts:221


_getListenersOf

_getListenersOf(event): Readonly\<Map\<DispatcherListener\<any>, Set\<unknown>>>

Retrieves the map of event listeners to scopes they are bound to.

Parameters

NameTypeDescription
eventstringThe name of the event.

Returns

Readonly\<Map\<DispatcherListener\<any>, Set\<unknown>>>

A map of event listeners to the -scopes in which they should be executed. The returned map is an -unmodifiable empty map if no listeners are registered for the -event.

Defined in

packages/core/src/event/DispatcherImpl.ts:266


_getScopesOf

_getScopesOf\<L>(event, listener): Readonly\<Set\<unknown>>

Retrieves the scopes in which the specified event listener should be -executed for the specified event.

Type parameters

NameType
Lextends DispatcherListener\<any>

Parameters

NameTypeDescription
eventstringThe name of the event.
listenerLThe event listener.

Returns

Readonly\<Set\<unknown>>

The scopes in which the specified listeners -should be executed in case of the specified event. The returned -set is an unmodifiable empty set if no listeners are registered -for the event.

Defined in

packages/core/src/event/DispatcherImpl.ts:244


clear

clear(): DispatcherImpl

Deregisters all event listeners currently registered with this -dispatcher.

Returns

DispatcherImpl

Overrides

Dispatcher.clear

Defined in

packages/core/src/event/DispatcherImpl.ts:54


fire

fire\<E>(event, data): DispatcherImpl

Fires a new event of the specified name, carrying the provided data.

The method will synchronously execute all event listeners registered for -the specified event, passing the provided data to them as the first -argument.

It will also execute all event listeners registered to listen to all events.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Type parameters

NameType
Eextends string

Parameters

NameTypeDescription
eventEThe name of the event to fire.
dataanyThe data to pass to the event listeners.

Returns

DispatcherImpl

This dispatcher.

Overrides

Dispatcher.fire

Defined in

packages/core/src/event/DispatcherImpl.ts:184


listen

listen(event, listener, scope?): DispatcherImpl

Registers the provided event listener to be executed when the specified -event is fired on this dispatcher.

When the specified event is fired, the event listener will be executed -with the data passed with the event as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon. Registering the same listener for the -same event and with the same scope multiple times has no effect.

Parameters

NameTypeDescription
eventstringThe name of the event to listen for.
listenerDispatcherListener\<any>The event listener to register.
scope?unknownThe object to which the this keyword will be bound in the event listener.

Returns

DispatcherImpl

This dispatcher.

Overrides

Dispatcher.listen

Defined in

packages/core/src/event/DispatcherImpl.ts:63


listenAll

listenAll(listener, scope?): DispatcherImpl

Registers the provided event listener to be executed when any event is fired -on this dispatcher.

When any event is fired, the event listener will be executed with the data -passed with the event as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon. Registering the same listener with the same -scope multiple times has no effect.

Parameters

NameTypeDescription
listenerDispatcherListenerAll\<any>The event listener to register.
scope?unknownThe object to which the this keyword will be bound in the event listener.

Returns

DispatcherImpl

This dispatcher.

Overrides

Dispatcher.listenAll

Defined in

packages/core/src/event/DispatcherImpl.ts:94


unlisten

unlisten(event, listener, scope?): DispatcherImpl

Deregisters the provided event listener, so it will no longer be -executed with the specified scope when the specified event is fired.

Parameters

NameTypeDescription
eventstringThe name of the event for which the listener should be deregistered.
listenerDispatcherListener\<any>The event listener to deregister.
scope?unknownThe object to which the this keyword would be bound in the event listener.

Returns

DispatcherImpl

This dispatcher.

Overrides

Dispatcher.unlisten

Defined in

packages/core/src/event/DispatcherImpl.ts:117


unlistenAll

unlistenAll(listener, scope?): DispatcherImpl

Deregisters the provided event listener, so it will no longer be -executed when any event is fired.

Parameters

NameTypeDescription
listenerDispatcherListenerAll\<any>The event listener function to deregister for all events.
scope?unknownOptional. The object to which the this keyword would be bound in the event listener.

Returns

DispatcherImpl

This dispatcher instance.

Overrides

Dispatcher.unlistenAll

Defined in

packages/core/src/event/DispatcherImpl.ts:154

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.DynamicRoute/index.html b/api/classes/ima_core.DynamicRoute/index.html deleted file mode 100644 index a7366e0e5..000000000 --- a/api/classes/ima_core.DynamicRoute/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -Class: DynamicRoute | IMA.js - - - - -
-
Skip to main content

Class: DynamicRoute

@ima/core.DynamicRoute

Utility for representing and manipulating a single dynamic route in the -router's configuration. Dynamic route is defined by regExp used for route -matching and overrides for toPath and extractParameters functions to generate -and put together valid path.

Hierarchy

Constructors

constructor

new DynamicRoute(name, pathExpression, controller, view, options?)

Initializes the route.

Parameters

NameTypeDescription
namestring-
pathExpressionRoutePathExpressionPath expression used in route matching, to generate valid path with provided params and parsing params from current path.
controllerAsyncRouteController-
viewAsyncRouteView-
options?Partial\<RouteFactoryOptions>-

Overrides

AbstractRoute.constructor

Defined in

packages/core/src/router/DynamicRoute.ts:58

Properties

_controller

Protected _controller: Object

The full name of Object Container alias identifying the controller -associated with this route.

Type declaration

NameType
cachednull | RouteController | Promise\<RouteController>
controllerAsyncRouteController
resolvedboolean

Inherited from

AbstractRoute._controller

Defined in

packages/core/src/router/AbstractRoute.ts:58


_name

Protected _name: string

The unique name of this route, identifying it among the rest of the -routes in the application.

Inherited from

AbstractRoute._name

Defined in

packages/core/src/router/AbstractRoute.ts:48


_options

Protected _options: RouteFactoryOptions

The route additional options.

Inherited from

AbstractRoute._options

Defined in

packages/core/src/router/AbstractRoute.ts:76


_pathExpression

Protected _pathExpression: RoutePathExpression

Path expression used in route matching, to generate valid path with -provided params and parsing params from current path.

Inherited from

AbstractRoute._pathExpression

Defined in

packages/core/src/router/AbstractRoute.ts:53


_view

Protected _view: Object

The full name or Object Container alias identifying the view class -associated with this route.

Type declaration

NameType
cachednull | RouteView | Promise\<RouteView>
resolvedboolean
viewAsyncRouteView

Inherited from

AbstractRoute._view

Defined in

packages/core/src/router/AbstractRoute.ts:67

Methods

extractParameters

extractParameters(path, baseUrl): RouteParams

Extracts the parameter values from the provided path. The method -extracts both the in-path parameters and parses the query, allowing the -query parameters to override the in-path parameters.

The method returns an empty hash object if the path does not match this -route.

Parameters

NameTypeDescription
pathstringCurrently routed path.
baseUrlstringCurrently routed baseUrl.

Returns

RouteParams

Map of parameter names to parameter -values.

Overrides

AbstractRoute.extractParameters

Defined in

packages/core/src/router/DynamicRoute.ts:112


getController

getController(): RouteController | Promise\<RouteController>

Returns Controller class/alias/constant associated with this route. -Internally caches async calls for dynamically imported controllers, -meaning that once they're loaded, you get the same promise for -subsequent calls.

Returns

RouteController | Promise\<RouteController>

The Controller class/alias/constant.

Inherited from

AbstractRoute.getController

Defined in

packages/core/src/router/AbstractRoute.ts:153


getName

getName(): string

Returns the unique identifying name of this route.

Returns

string

The name of the route, identifying it.

Inherited from

AbstractRoute.getName

Defined in

packages/core/src/router/AbstractRoute.ts:132


getOptions

getOptions(): RouteFactoryOptions

Return route additional options.

Returns

RouteFactoryOptions

Inherited from

AbstractRoute.getOptions

Defined in

packages/core/src/router/AbstractRoute.ts:210


getPathExpression

getPathExpression(): RoutePathExpression

Path expression used in route matching, to generate valid path with -provided params and parsing params from current path.

Returns

RoutePathExpression

The path expression.

Inherited from

AbstractRoute.getPathExpression

Defined in

packages/core/src/router/AbstractRoute.ts:220


getTrimmedPath

getTrimmedPath(path): string

Trims the trailing forward slash from the provided URL path.

Parameters

NameTypeDescription
pathstringThe path to trim.

Returns

string

Trimmed path.

Inherited from

AbstractRoute.getTrimmedPath

Defined in

packages/core/src/router/AbstractRoute.ts:230


getView

getView(): RouteView | Promise\<RouteView>

Returns View class/alias/constant associated with this route. -Internally caches async calls for dynamically imported views, -meaning that once they're loaded, you get the same promise for -subsequent calls.

Returns

RouteView | Promise\<RouteView>

The View class/alias/constant.

Inherited from

AbstractRoute.getView

Defined in

packages/core/src/router/AbstractRoute.ts:185


isAsync

isAsync(module): boolean

Checks if given argument is an async handler.

Parameters

NameType
moduleunknown

Returns

boolean

Inherited from

AbstractRoute.isAsync

Defined in

packages/core/src/router/AbstractRoute.ts:139


isControllerResolved

isControllerResolved(): boolean

Returns true for resolved controller. This is always true -for sync route views.

Returns

boolean

Inherited from

AbstractRoute.isControllerResolved

Defined in

packages/core/src/router/AbstractRoute.ts:173


isViewResolved

isViewResolved(): boolean

Returns true for resolved view. This is always true -for sync route views.

Returns

boolean

Inherited from

AbstractRoute.isViewResolved

Defined in

packages/core/src/router/AbstractRoute.ts:203


matches

matches(path): boolean

Tests whether the provided URL path matches this route. The provided -path may contain the query.

Parameters

NameTypeDescription
pathstringThe URL path.

Returns

boolean

true if the provided path matches this route.

Overrides

AbstractRoute.matches

Defined in

packages/core/src/router/DynamicRoute.ts:105


preload

preload(): Promise\<[RouteController, RouteView]>

Preloads dynamically imported view and controller.

Returns

Promise\<[RouteController, RouteView]>

Promise.All resolving to [view, controller] tuple.

Inherited from

AbstractRoute.preload

Defined in

packages/core/src/router/AbstractRoute.ts:239


toPath

toPath(params?): string

Creates the URL and query parts of a URL by substituting the route's -parameter placeholders by the provided parameter value.

The extraneous parameters that do not match any of the route's -placeholders will be appended as the query string.

Parameters

NameTypeDescription
paramsObjectThe route parameter values.

Returns

string

Path and, if necessary, query parts of the URL -representing this route with its parameters replaced by the -provided parameter values.

Overrides

AbstractRoute.toPath

Defined in

packages/core/src/router/DynamicRoute.ts:98

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Entry/index.html b/api/classes/ima_core.Entry/index.html deleted file mode 100644 index 6c793656b..000000000 --- a/api/classes/ima_core.Entry/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Class: Entry<T> | IMA.js - - - - -
-
Skip to main content

Class: Entry<T>

@ima/core.Entry

Object container entry, representing either a class, interface, constant or -an alias.

Type parameters

NameType
Tany

Constructors

constructor

new Entry\<T>(classConstructor, dependencies?, referrer?, options?)

Initializes the entry.

Type parameters

NameType
Tany

Parameters

NameTypeDescription
classConstructorEntryConstructor\<T>The class constructor or constant value getter.
dependencies?any[]The dependencies to pass into the constructor function.
referrer?stringReference to part of application that created this entry.
options?EntryOptionsThe Entry options.

Defined in

packages/core/src/oc/Entry.ts:60

Properties

#dependencies

Private #dependencies: any[]

Dependencies of the class constructor of the class represented by -this entry.

Defined in

packages/core/src/oc/Entry.ts:31


#options

Private #options: EntryOptions

The Entry options.

Defined in

packages/core/src/oc/Entry.ts:36


#overrideCounter

Private #overrideCounter: number = 0

The override counter

Defined in

packages/core/src/oc/Entry.ts:41


#referrer

Private Optional #referrer: string

Reference to part of application that created -this entry.

Defined in

packages/core/src/oc/Entry.ts:47


classConstructor

classConstructor: EntryConstructor\<T>

The constructor of the class represented by this entry, or the -getter of the value of the constant represented by this entry.

Defined in

packages/core/src/oc/Entry.ts:20


sharedInstance

sharedInstance: null | EntrySharedInstance\<T> = null

The shared instance of the class represented by this entry.

Defined in

packages/core/src/oc/Entry.ts:25

Accessors

dependencies

get dependencies(): any[]

Returns

any[]

Defined in

packages/core/src/oc/Entry.ts:95

set dependencies(dependencies): void

Parameters

NameType
dependenciesany[]

Returns

void

Defined in

packages/core/src/oc/Entry.ts:74


options

get options(): EntryOptions

Returns

EntryOptions

Defined in

packages/core/src/oc/Entry.ts:107


referrer

get referrer(): undefined | string

Returns

undefined | string

Defined in

packages/core/src/oc/Entry.ts:99


writeable

get writeable(): boolean

Returns

boolean

Defined in

packages/core/src/oc/Entry.ts:103

Methods

from

Static from\<TInfer>(entry): Entry\<TInfer>

Type parameters

Name
TInfer

Parameters

NameType
entryEntry\<TInfer>

Returns

Entry\<TInfer>

Defined in

packages/core/src/oc/Entry.ts:111

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Error/index.html b/api/classes/ima_core.Error/index.html deleted file mode 100644 index efcc50ee6..000000000 --- a/api/classes/ima_core.Error/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -Class: Error | IMA.js - - - - -
-
Skip to main content

Class: Error

@ima/core.Error

The IMA application error extends the native Error with additional details -that lead to the error and the HTTP status code to send to the client.

Hierarchy

Constructors

constructor

new Error(message, params?)

Parameters

NameType
messagestring
params?Object
params.cause?string | Error

Overrides

Error.constructor

Defined in

packages/core/src/error/Error.ts:8

Properties

cause

Optional cause: unknown

Inherited from

Error.cause

Defined in

website/node_modules/typescript/lib/lib.es2022.error.d.ts:24


message

message: string

Inherited from

Error.message

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1068


name

name: string

Inherited from

Error.name

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1067


stack

Optional stack: string

Inherited from

Error.stack

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1069


prepareStackTrace

Static Optional prepareStackTrace: (err: Error, stackTraces: CallSite[]) => any

Type declaration

▸ (err, stackTraces): any

Optional override for formatting stack traces

Parameters
NameType
errError
stackTracesCallSite[]
Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace

Defined in

node_modules/@types/node/globals.d.ts:98


stackTraceLimit

Static stackTraceLimit: number

Inherited from

Error.stackTraceLimit

Defined in

node_modules/@types/node/globals.d.ts:100

Methods

getHttpStatus

getHttpStatus(): number

Returns the HTTP status to send to the client.

If the error has occurred at the client-side, the status code is used to -determine the error page to show to the user.

This method is a shorthand for the following code snippet: -this.getParams().status || 500.

Returns

number

The HTTP status to send to the client.

See

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Defined in

packages/core/src/error/Error.ts:24


getParams

getParams(): UnknownParameters

Returns the error parameters providing additional details about the -error. The structure of the returned object is always -situation-dependent, but the returned object usually contains the -status: number field which represents the HTTP status to send to -the client.

Returns

UnknownParameters

The route parameters of the route at which -the error has occurred.

See

Error#getHttpStatus

Defined in

packages/core/src/error/Error.ts:39


isClientError

isClientError(): boolean

Tests, whether the specified error was caused by the -client's action (for example wrong URL or request encoding).

Returns

boolean

true if the error was caused the action of the -client.

Defined in

packages/core/src/error/Error.ts:50


isRedirection

isRedirection(): boolean

Tests, whether the specified error should lead to a redirect.

Returns

boolean

true if the error should cause a redirect.

Defined in

packages/core/src/error/Error.ts:59


captureStackTrace

Static captureStackTrace(targetObject, constructorOpt?): void

Create .stack property on a target object

Parameters

NameType
targetObjectobject
constructorOpt?Function

Returns

void

Inherited from

Error.captureStackTrace

Defined in

node_modules/@types/node/globals.d.ts:91

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.EventBus/index.html b/api/classes/ima_core.EventBus/index.html deleted file mode 100644 index 684cbc8db..000000000 --- a/api/classes/ima_core.EventBus/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -Class: EventBus | IMA.js - - - - -
-
Skip to main content

Class: EventBus

@ima/core.EventBus

Utility for sending and intercepting wrapped custom DOM events on the DOM or -propagating them to the current controller.

As with native events, the event fired by this event bus always propagate up -the DOM tree until they reach the window.

Note that the events fired by this event bus are wrapped in custom DOM -events which always bear an obscure name set by the implementation of this -interface, preventing custom event name collisions, and allowing observation -and capture of all fired events. The actual event name is always consistent -by the implementation.

Hierarchy

Constructors

constructor

new EventBus()

Methods

fire

fire(eventTarget, eventName, data?, options?): EventBus

Fires a new custom event of the specified name, carrying the provided -data.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Note that the default options are -{ bubbles: true, cancelable: true }, which is different from the -default values used in the native custom events -({ bubbles: false, cancelable: false }).

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the event will be dispatched (e.g. element/document/window).
eventNamestringThe name of the event to fire.
data?anyThe data to pass to the event listeners.
options?EventBusOptionsThe override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are { bubbles: true, cancelable: true }.

Returns

EventBus

This custom event bus.

Throws

Thrown if the provided event target cannot be used to -fire the event.

See

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

Defined in

packages/core/src/event/EventBus.ts:56


listen

listen(eventTarget, eventName, listener): EventBus

Registers the provided event listener to be executed when the specific -custom event is fired by the same implementation of the event bus and -passes through the specified event target.

When the specified event is fired, the event listener will be executed -with the event passed as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the listener should listen for the specified event.
eventNamestringThe name of the event to listen for.
listenerEventBusListenerThe event listener to register.

Returns

EventBus

This event bus.

Defined in

packages/core/src/event/EventBus.ts:104


listenAll

listenAll(eventTarget, listener): EventBus

Registers the provided event listener to be executed when any custom -event is fired using the same implementation of the event bus and passes -through the specified event target.

When the specified event is fired, the event listener will be executed -with the event passed as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the listener should listen for all event bus events.
listenerEventBusListenerThe event listener to register.

Returns

EventBus

This event bus.

Defined in

packages/core/src/event/EventBus.ts:82


unlisten

unlisten(eventTarget, eventName, listener): EventBus

Removes the provided event listener from the set of event listeners -executed when the specified custom event fired by the same -implementation passes through the specified event target.

The method has no effect if the listener is not registered for the -specified event at the specified event target.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the listener is listening for the event.
eventNamestringThe name of the event listened for.
listenerEventBusListenerThe event listener to deregister.

Returns

EventBus

This event bus.

Defined in

packages/core/src/event/EventBus.ts:145


unlistenAll

unlistenAll(eventTarget, listener): EventBus

Removes the provided event listener from the set of event listeners -executed when the any custom event fired by the same implementation -passes through the specified event target.

The method has no effect if the listener is not registered at the -specified event target.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the event listener listens for events.
listenerEventBusListenerThe event listener to deregister.

Returns

EventBus

This event bus.

Defined in

packages/core/src/event/EventBus.ts:126

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.EventBusImpl/index.html b/api/classes/ima_core.EventBusImpl/index.html deleted file mode 100644 index 83aa6d754..000000000 --- a/api/classes/ima_core.EventBusImpl/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -Class: EventBusImpl | IMA.js - - - - -
-
Skip to main content

Class: EventBusImpl

@ima/core.EventBusImpl

Helper for custom events.

It offers public methods for firing custom events and two methods for -catching events (e.g. inside view components).

Hierarchy

Constructors

constructor

new EventBusImpl(window)

Initializes the custom event helper.

Parameters

NameTypeDescription
windowWindowThe IMA window helper.

Overrides

EventBus.constructor

Defined in

packages/core/src/event/EventBusImpl.ts:54

Properties

_allListenersTargets

Private _allListenersTargets: WeakMap\<EventTarget, AllListenersWeakMap>

Map of event targets to listeners executed on all IMA.js event bus -events.

Defined in

packages/core/src/event/EventBusImpl.ts:42


_listeners

Private _listeners: WeakMap\<EventBusListener, ListenersWeakMap>

Map of listeners provided to the public API of this event bus to a -map of event targets to a map of event names to actual listeners -bound to the native API.

The "listen all" event listeners are not registered in this map.

Defined in

packages/core/src/event/EventBusImpl.ts:36


_window

Private _window: Window

Defined in

packages/core/src/event/EventBusImpl.ts:28

Accessors

$dependencies

Static get $dependencies(): typeof Window[]

Returns

typeof Window[]

Defined in

packages/core/src/event/EventBusImpl.ts:45

Methods

fire

fire(eventTarget, eventName, data, options?): EventBusImpl

Fires a new custom event of the specified name, carrying the provided -data.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Note that the default options are -{ bubbles: true, cancelable: true }, which is different from the -default values used in the native custom events -({ bubbles: false, cancelable: false }).

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the event will be dispatched (e.g. element/document/window).
eventNamestringThe name of the event to fire.
dataanyThe data to pass to the event listeners.
optionsEventBusOptionsThe override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are { bubbles: true, cancelable: true }.

Returns

EventBusImpl

This custom event bus.

Throws

Thrown if the provided event target cannot be used to -fire the event.

See

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

Overrides

EventBus.fire

Defined in

packages/core/src/event/EventBusImpl.ts:66


listen

listen(eventTarget, eventName, listener): EventBusImpl

Registers the provided event listener to be executed when the specific -custom event is fired by the same implementation of the event bus and -passes through the specified event target.

When the specified event is fired, the event listener will be executed -with the event passed as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the listener should listen for the specified event.
eventNamestringThe name of the event to listen for.
listenerEventBusListenerThe event listener to register.

Returns

EventBusImpl

This event bus.

Overrides

EventBus.listen

Defined in

packages/core/src/event/EventBusImpl.ts:127


listenAll

listenAll(eventTarget, listener): EventBusImpl

Registers the provided event listener to be executed when any custom -event is fired using the same implementation of the event bus and passes -through the specified event target.

When the specified event is fired, the event listener will be executed -with the event passed as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the listener should listen for all event bus events.
listenerEventBusListenerThe event listener to register.

Returns

EventBusImpl

This event bus.

Overrides

EventBus.listenAll

Defined in

packages/core/src/event/EventBusImpl.ts:99


unlisten

unlisten(eventTarget, eventName, listener): EventBusImpl

Removes the provided event listener from the set of event listeners -executed when the specified custom event fired by the same -implementation passes through the specified event target.

The method has no effect if the listener is not registered for the -specified event at the specified event target.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the listener is listening for the event.
eventNamestringThe name of the event listened for.
listenerEventBusListenerThe event listener to deregister.

Returns

EventBusImpl

This event bus.

Overrides

EventBus.unlisten

Defined in

packages/core/src/event/EventBusImpl.ts:222


unlistenAll

unlistenAll(eventTarget, listener): EventBusImpl

Removes the provided event listener from the set of event listeners -executed when the any custom event fired by the same implementation -passes through the specified event target.

The method has no effect if the listener is not registered at the -specified event target.

Parameters

NameTypeDescription
eventTargetEventTargetThe event target at which the event listener listens for events.
listenerEventBusListenerThe event listener to deregister.

Returns

EventBusImpl

This event bus.

Overrides

EventBus.unlistenAll

Defined in

packages/core/src/event/EventBusImpl.ts:181

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Execution/index.html b/api/classes/ima_core.Execution/index.html deleted file mode 100644 index 286398402..000000000 --- a/api/classes/ima_core.Execution/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - -Class: Execution | IMA.js - - - - -
-
Skip to main content

Class: Execution

@ima/core.Execution

Execution is an abstract class that defines a standard for executing jobs. -The execution can be either done in serial or in parallel way.

When executing jobs in parallel an option should define how to deal with -a result of each individual job execution. One option would be to return the -result of a job that completes first. Second option is to return result of -all jobs once they're all complete.

For serial execution you should define an option that affects how arguments -passed to the execute method are distributed. They could be either -supplied to each job individually (thus meaning one job's mutation won't -affect another job) or they could be supplied to the first job and then -piped through other jobs.

Hierarchy

Constructors

constructor

new Execution()

Methods

append

append(jobs): void

Adds a new job to be executed. The job is appended at the end of the -list of current jobs therefore is executed last.

Parameters

NameTypeDescription
jobsExecutionJob[]The jobs to be executed.

Returns

void

Defined in

packages/core/src/execution/Execution.ts:25


execute

execute(...args): Promise\<unknown>

Start executing collected jobs. In the end a Promise is returned -with a resulting value. On the returned Promise a catch -method can be called to prevent any unwanted interruption.

Parameters

NameTypeDescription
...argsunknown[]Arguments to be passed when executing jobs

Returns

Promise\<unknown>

Defined in

packages/core/src/execution/Execution.ts:36

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Extension/index.html b/api/classes/ima_core.Extension/index.html deleted file mode 100644 index efa491f1d..000000000 --- a/api/classes/ima_core.Extension/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -Class: Extension<S, R, SS> | IMA.js - - - - -
-
Skip to main content

Class: Extension<S, R, SS>

@ima/core.Extension

Extensions provide means of extending the page controllers with additional -managed state and logic.

An extension has access to the current route parameters, specify the -resources to load when the page is loading or being updated, may intercept -event bus events and modify the state of the page just like an ordinary -controller, except that the modifications are restricted to the state fields -which the extension explicitly specifies using its -getAllowedStateKeys method.

All extensions to be used on a page must be added to the current controller -before the controller is initialized. After that, the extensions will go -through the same lifecycle as the controller.

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends S = S

Hierarchy

Indexable

[key: PropertyKey]: any | EventBusEventHandler

Constructors

constructor

new Extension\<S, R, SS>()

Type parameters

NameType
Sextends PageState = {}
Rextends RouteParams = {}
SSextends PageState = S

Properties

$dependencies

Static $dependencies: Dependencies

Defined in

packages/core/src/extension/Extension.ts:27


$name

Static Optional $name: string

Defined in

packages/core/src/extension/Extension.ts:26

Methods

activate

activate(): void | Promise\<void>

Callback for activating the extension in the UI. This is the last -method invoked during controller (and extensions) initialization, called -after all the promises returned from the load method have -been resolved and the controller has configured the meta manager.

The extension may register any React and DOM event listeners in this -method. The extension may start receiving event bus event after this -method completes.

Returns

void | Promise\<void>

Defined in

packages/core/src/extension/Extension.ts:66


beginStateTransaction

beginStateTransaction(): void

Starts queueing state patches off the controller state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:173


cancelStateTransaction

cancelStateTransaction(): void

Cancels ongoing state transaction. Uncommitted state changes are lost.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:188


clearPartialState

clearPartialState(): void

Clears the current partial state of the extension and sets it value to empty object.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:215


commitStateTransaction

commitStateTransaction(): void

Applies queued state patches to the controller state. All patches are squashed -and applied with one setState call.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:181


deactivate

deactivate(): void | Promise\<void>

Callback for deactivating the extension in the UI. This is the first -method invoked during extension deinitialization. This usually happens -when the user navigates to a different URL.

This method is the lifecycle counterpart of the activate -method.

The extension should deregister listeners registered and release all -resources obtained in the activate method.

Returns

void | Promise\<void>

Defined in

packages/core/src/extension/Extension.ts:81


destroy

destroy(): void | Promise\<void>

Finalization callback, called when the controller is being discarded by -the application. This usually happens when the user navigates to a -different URL.

This method is the lifecycle counterpart of the init -method.

The extension should release all resources obtained in the -init method. The extension must release any resources -that might not be released automatically when the extensions's instance -is destroyed by the garbage collector.

Returns

void | Promise\<void>

Defined in

packages/core/src/extension/Extension.ts:52


getAllowedStateKeys

getAllowedStateKeys(): keyof S[]

Returns the names of the state fields that may be manipulated by this -extension. Manipulations of other fields of the state will be ignored.

Returns

keyof S[]

The names of the state fields that may be manipulated -by this extension.

Defined in

packages/core/src/extension/Extension.ts:269


getPartialState

getPartialState(): Partial\<S>

Returns the current partial state of the extension.

Returns

Partial\<S>

The current partial state of the extension.

Defined in

packages/core/src/extension/Extension.ts:208


getRouteParams

getRouteParams(): R

Returns the current route parameters.

Returns

R

The current route parameters.

Defined in

packages/core/src/extension/Extension.ts:258


getState

getState(): SS

Returns the current state of the controller using this extension.

Returns

SS

The current state of the controller.

Defined in

packages/core/src/extension/Extension.ts:162


init

init(): void | Promise\<void>

Callback for initializing the controller extension after the route -parameters have been set on this extension.

Returns

void | Promise\<void>

Defined in

packages/core/src/extension/Extension.ts:35


load

load(): S | Promise\<S>

Callback the extension uses to request the resources it needs to render -its related parts of the view. This method is invoked after the -init method.

The extension should request all resources it needs in this method, and -represent each resource request as a promise that will resolve once the -resource is ready for use (these can be data fetched over HTTP(S), -database connections, etc).

The method must return a plain flat object. The field names of the -object identify the resources being fetched and prepared, each value -must be either the resource (e.g. view configuration or a value -retrieved synchronously) or a Promise that will resolve to the resource.

The IMA will use the object to set the state of the controller.

Any returned promise that gets rejected will redirect the application to -the error page. The error page that will be used depends on the status -code of the error.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Defined in

packages/core/src/extension/Extension.ts:110


setPageStateManager

setPageStateManager(pageStateManager?): void

Sets the state manager used to manage the controller's state..

Parameters

NameTypeDescription
pageStateManager?PageStateManager\<SS>The current state manager to use.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:225


setPartialState

setPartialState(partialStatePatch): void

Patches the partial state of the extension. The extension is able -during its load and update phase receive state from active controller -using this extension and from previously loaded/updated extensions.

Parameters

NameTypeDescription
partialStatePatchSPatch of the controller's state to apply.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:199


setRouteParams

setRouteParams(params): void

Sets the current route parameters. This method is invoked before the -init method.

Parameters

NameTypeDescription
paramsRThe current route parameters.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:249


setState

setState\<K>(statePatch): void

Patches the state of the controller using this extension by using the -provided object by copying the provided patch object fields to the -controller's state object.

Note that the state is not patched recursively but by replacing the -values of the top-level fields of the state object.

Note that the extension may modify only the fields of the state that it -has specified by its getAllowedStateKeys method.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDescription
statePatchnull | S | Pick\<S, K>Patch of the controller's state to apply.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:153


switchToPartialState

switchToPartialState(): void

Disables using PageStateManager for getting state.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:239


switchToStateManager

switchToStateManager(): void

Enables using PageStateManager for getting state.

Returns

void

Defined in

packages/core/src/extension/Extension.ts:232


update

update(prevParams?): S | Promise\<S>

Callback for updating the extension after a route update. This method -is invoked if the current route has the onlyUpdate flag set to true and -the current controller and view match those used by the previously active -route, or, the onlyUpdate option of the current route is a callback and -returned true.

The method must return an object with the same semantics as the result -of the load method. The controller's state will then be -patched by the returned object.

The other extension lifecycle callbacks (init, -load, activate, -deactivate, Extension#deinit) are not call in -case this method is used.

Parameters

NameTypeDescription
prevParamsRPrevious route parameters.

Returns

S | Promise\<S>

A map object of promises resolved when all resources the controller -requires are ready. The resolved values will be pushed to the -controller's state.

Defined in

packages/core/src/extension/Extension.ts:136

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.GenericError/index.html b/api/classes/ima_core.GenericError/index.html deleted file mode 100644 index 2274b37a5..000000000 --- a/api/classes/ima_core.GenericError/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -Class: GenericError<T> | IMA.js - - - - -
-
Skip to main content

Class: GenericError<T>

@ima/core.GenericError

Implementation of the Error interface, providing more advanced -error API.

Type parameters

NameType
Tunknown

Hierarchy

Constructors

constructor

new GenericError\<T>(message, params?)

Initializes the generic IMA error.

Type parameters

NameType
Tunknown

Parameters

NameTypeDescription
messagestringThe message describing the cause of the error.
params?T & GenericErrorParamsA data map providing additional details related to the error. It is recommended to set the status field to the HTTP response code that should be sent to the client.

Overrides

Error.constructor

Defined in

packages/core/src/error/GenericError.ts:27

Properties

_params

Protected _params: T & GenericErrorParams

Defined in

packages/core/src/error/GenericError.ts:16


cause

Optional cause: unknown

Inherited from

Error.cause

Defined in

website/node_modules/typescript/lib/lib.es2022.error.d.ts:24


message

message: string

Inherited from

Error.message

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1068


name

name: string

Inherited from

Error.name

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1067


stack

Optional stack: string

Inherited from

Error.stack

Defined in

website/node_modules/typescript/lib/lib.es5.d.ts:1069


prepareStackTrace

Static Optional prepareStackTrace: (err: Error, stackTraces: CallSite[]) => any

Type declaration

▸ (err, stackTraces): any

Optional override for formatting stack traces

Parameters
NameType
errError
stackTracesCallSite[]
Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace

Defined in

node_modules/@types/node/globals.d.ts:98


stackTraceLimit

Static stackTraceLimit: number

Inherited from

Error.stackTraceLimit

Defined in

node_modules/@types/node/globals.d.ts:100

Methods

getHttpStatus

getHttpStatus(): number

Returns the HTTP status to send to the client.

If the error has occurred at the client-side, the status code is used to -determine the error page to show to the user.

This method is a shorthand for the following code snippet: -this.getParams().status || 500.

Returns

number

The HTTP status to send to the client.

See

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Overrides

Error.getHttpStatus

Defined in

packages/core/src/error/GenericError.ts:39


getParams

getParams(): T & GenericErrorParams

Returns the error parameters providing additional details about the -error. The structure of the returned object is always -situation-dependent, but the returned object usually contains the -status: number field which represents the HTTP status to send to -the client.

Returns

T & GenericErrorParams

The route parameters of the route at which -the error has occurred.

See

Error#getHttpStatus

Overrides

Error.getParams

Defined in

packages/core/src/error/GenericError.ts:46


isClientError

isClientError(): boolean

Tests, whether the specified error was caused by the -client's action (for example wrong URL or request encoding).

Returns

boolean

true if the error was caused the action of the -client.

Overrides

Error.isClientError

Defined in

packages/core/src/error/GenericError.ts:53


isRedirection

isRedirection(): boolean

Tests, whether the specified error should lead to a redirect.

Returns

boolean

true if the error should cause a redirect.

Overrides

Error.isRedirection

Defined in

packages/core/src/error/GenericError.ts:60


captureStackTrace

Static captureStackTrace(targetObject, constructorOpt?): void

Create .stack property on a target object

Parameters

NameType
targetObjectobject
constructorOpt?Function

Returns

void

Inherited from

Error.captureStackTrace

Defined in

node_modules/@types/node/globals.d.ts:91

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.HttpAgent/index.html b/api/classes/ima_core.HttpAgent/index.html deleted file mode 100644 index 7b98625ec..000000000 --- a/api/classes/ima_core.HttpAgent/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -Class: HttpAgent | IMA.js - - - - -
-
Skip to main content

Class: HttpAgent

@ima/core.HttpAgent

The HttpAgent defines unifying API for sending HTTP requests at -both client-side and server-side.

Hierarchy

Constructors

constructor

new HttpAgent()

Methods

clearDefaultHeaders

clearDefaultHeaders(): HttpAgent

Clears all configured default headers.

Returns

HttpAgent

This HTTP agent.

Defined in

packages/core/src/http/HttpAgent.ts:214


delete

delete\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP DELETE request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Defined in

packages/core/src/http/HttpAgent.ts:164


get

get\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP GET request to the specified URL, sending the provided -data as query parameters.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as query parameters.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Defined in

packages/core/src/http/HttpAgent.ts:80


getCacheKey

getCacheKey(method, url, data): string

Generates a cache key to use for identifying a request to the specified -URL using the specified HTTP method, submitting the provided data.

Parameters

NameTypeDescription
methodstringThe HTTP method used by the request.
urlstringThe URL to which the request is sent.
dataUnknownParametersThe data associated with the request. These can be either the query parameters or request body data.

Returns

string

The key to use for identifying such a request in the -cache.

Defined in

packages/core/src/http/HttpAgent.ts:184


invalidateCache

invalidateCache(method, url, data): void

Method invalidate cache for given params

Parameters

NameType
methodstring
urlstring
dataUnknownParameters

Returns

void

Defined in

packages/core/src/http/HttpAgent.ts:191


patch

patch\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP PATCH request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Defined in

packages/core/src/http/HttpAgent.ts:143


post

post\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP POST request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Defined in

packages/core/src/http/HttpAgent.ts:101


put

put\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP PUT request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Defined in

packages/core/src/http/HttpAgent.ts:122


setDefaultHeader

setDefaultHeader(header, value): HttpAgent

Sets the specified header to be sent with every subsequent HTTP request, -unless explicitly overridden by request options.

Parameters

NameTypeDescription
headerstringThe name of the header.
valuestringThe header value. To provide multiple values, separate them with commas (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2).

Returns

HttpAgent

This HTTP agent.

Defined in

packages/core/src/http/HttpAgent.ts:205

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.HttpAgentImpl/index.html b/api/classes/ima_core.HttpAgentImpl/index.html deleted file mode 100644 index c2ef354ea..000000000 --- a/api/classes/ima_core.HttpAgentImpl/index.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - -Class: HttpAgentImpl | IMA.js - - - - -
-
Skip to main content

Class: HttpAgentImpl

@ima/core.HttpAgentImpl

Implementation of the HttpAgent interface with internal caching -of completed and ongoing HTTP requests and cookie storage.

Hierarchy

Constructors

constructor

new HttpAgentImpl(proxy, cache, cookie, config, Helper)

Initializes the HTTP handler.

Parameters

NameTypeDescription
proxyHttpProxyThe low-level HTTP proxy for sending the HTTP requests.
cacheCache\<HttpAgentResponse\<unknown>>Cache to use for caching ongoing and completed requests.
cookieCookieStorageThe cookie storage to use internally.
configHttpAgentImplConfigConfiguration of the HTTP handler for the current application environment, specifying the various default request option values and cache option values.
Helper__moduleThe IMA.js helper methods.

Example

http
.get('url', { data: data }, {
ttl: 2000,
repeatRequest: 1,
withCredentials: true,
timeout: 2000,
accept: 'application/json',
language: 'en'
})
.then((response) => {
//resolve
}
.catch((error) => {
//catch
});

Example

http
.setDefaultHeader('Accept-Language', 'en')
.clearDefaultHeaders();

Overrides

HttpAgent.constructor

Defined in

packages/core/src/http/HttpAgentImpl.ts:69

Properties

_Helper

Protected _Helper: __module

Defined in

packages/core/src/http/HttpAgentImpl.ts:33


_cache

Protected _cache: Cache\<HttpAgentResponse\<unknown>>

Defined in

packages/core/src/http/HttpAgentImpl.ts:29


_cacheOptions

Protected _cacheOptions: HttpAgentImplCacheOptions

Defined in

packages/core/src/http/HttpAgentImpl.ts:31


Protected _cookie: CookieStorage

Defined in

packages/core/src/http/HttpAgentImpl.ts:30


_defaultRequestOptions

Protected _defaultRequestOptions: HttpAgentRequestOptions

Defined in

packages/core/src/http/HttpAgentImpl.ts:32


_internalCacheOfPromises

Protected _internalCacheOfPromises: Map\<any, any>

Defined in

packages/core/src/http/HttpAgentImpl.ts:34


_proxy

Protected _proxy: HttpProxy

Defined in

packages/core/src/http/HttpAgentImpl.ts:28

Methods

_cleanResponse

_cleanResponse\<B>(response): HttpAgentResponse\<B>

Cleans cache response from data (abort controller, postProcessors), that cannot be persisted, -before saving the data to the cache.

Type parameters

Name
B

Parameters

NameType
responseHttpAgentResponse\<B>

Returns

HttpAgentResponse\<B>

Defined in

packages/core/src/http/HttpAgentImpl.ts:542


_clone

_clone\<V>(value): V

Attempts to clone the provided value, if possible. Values that cannot be -cloned (e.g. promises) will be simply returned.

Type parameters

Name
V

Parameters

NameTypeDescription
valueVThe value to clone.

Returns

V

The created clone, or the provided value if the value cannot be -cloned.

Defined in

packages/core/src/http/HttpAgentImpl.ts:221


_getCacheKeySuffix

_getCacheKeySuffix(method, url, data?): string

Generates cache key suffix for an HTTP request to the specified URL with -the specified data.

Parameters

NameTypeDescription
methodstringThe HTTP method used by the request.
urlstringThe URL to which the request is sent.
data?UnknownParametersThe data sent with the request.

Returns

string

The suffix of a cache key to use for a request to the -specified URL, carrying the specified data.

Defined in

packages/core/src/http/HttpAgentImpl.ts:478


_getCachedData

_getCachedData\<B>(method, url, data?): null | Promise\<HttpAgentResponse\<B>>

Tests whether an ongoing or completed HTTP request for the specified URL -and data is present in the internal cache and, if it is, the method -returns a promise that resolves to the response body parsed as JSON.

The method returns null if no such request is present in the -cache.

Type parameters

Name
B

Parameters

NameTypeDescription
methodstringThe HTTP method used by the request.
urlstringThe URL to which the request was made.
data?UnknownParametersThe data sent to the server with the request.

Returns

null | Promise\<HttpAgentResponse\<B>>

A promise that will resolve to the -server response with the body parsed as JSON, or null if -no such request is present in the cache.

Defined in

packages/core/src/http/HttpAgentImpl.ts:278


_prepareOptions

_prepareOptions(options?, url): HttpAgentRequestOptions

Prepares the provided request options object by filling in missing -options with default values and adding extra options used internally.

Parameters

NameTypeDescription
optionsPartial\<HttpAgentRequestOptions>Optional request options.
urlstring-

Returns

HttpAgentRequestOptions

Request options with set filled-in -default values for missing fields, and extra options used -internally.

Defined in

packages/core/src/http/HttpAgentImpl.ts:435


_proxyRejected

_proxyRejected\<B>(error): Promise\<HttpAgentResponse\<B>>

Handles rejection of the HTTP request by the HTTP proxy. The method -tests whether there are any remaining tries for the request, and if -there are any, it attempts re-send the request.

The method rejects the internal request promise if there are no tries -left.

Type parameters

Name
B

Parameters

NameTypeDescription
errorGenericError\<HttpProxyErrorParams>The error provided by the HttpProxy, carrying the error parameters, such as the request url, data, method, options and other useful data.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that will either resolve to a -server's response (with the body parsed as JSON) if there are -any tries left and the re-tried request succeeds, or rejects -with an error containing details of the cause of the request's -failure.

Defined in

packages/core/src/http/HttpAgentImpl.ts:398


_proxyResolved

_proxyResolved\<B>(response): HttpAgentResponse\<B>

Handles successful completion of an HTTP request by the HTTP proxy.

The method also updates the internal cookie storage with the cookies -received from the server.

Type parameters

Name
B

Parameters

NameTypeDescription
responseHttpAgentResponse\<B>Server response.

Returns

HttpAgentResponse\<B>

The post-processed server response.

Defined in

packages/core/src/http/HttpAgentImpl.ts:343


_request

_request\<B>(method, url, data, options): Promise\<HttpAgentResponse\<B>>

Sends a new HTTP request using the specified method to the specified -url. The request will carry the provided data as query parameters if the -HTTP method is GET, but the data will be sent as request body for any -other request method.

Type parameters

Name
B

Parameters

NameTypeDescription
methodstringHTTP method to use.
urlstringThe URL to which the request is sent.
dataundefined | UnknownParametersThe data sent with the request.
optionsHttpAgentRequestOptionsOptional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the response -with the body parsed as JSON.

Defined in

packages/core/src/http/HttpAgentImpl.ts:314


_requestWithCheckCache

_requestWithCheckCache\<B>(method, url, data?, options?): Promise\<HttpAgentResponse\<B>>

Check cache and if data isn’t available then make real request.

Type parameters

Name
B

Parameters

NameTypeDescription
methodstringThe HTTP method to use.
urlstringThe URL to which the request should be sent.
data?UnknownParametersThe data to send with the request.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the response -with body parsed as JSON.

Defined in

packages/core/src/http/HttpAgentImpl.ts:243


_saveAgentResponseToCache

_saveAgentResponseToCache\<B>(agentResponse): void

Saves the server response to the cache to be used as the result of the -next request of the same properties.

Type parameters

Name
B

Parameters

NameTypeDescription
agentResponseHttpAgentResponse\<B>The response of the server.

Returns

void

Defined in

packages/core/src/http/HttpAgentImpl.ts:524


_setCookiesFromResponse

_setCookiesFromResponse\<B>(agentResponse): void

Sets all cookies from the Set-Cookie response header to the -cookie storage.

Type parameters

Name
B

Parameters

NameTypeDescription
agentResponseHttpAgentResponse\<B>The response of the server.

Returns

void

Defined in

packages/core/src/http/HttpAgentImpl.ts:501


clearDefaultHeaders

clearDefaultHeaders(): HttpAgentImpl

Clears all configured default headers.

Returns

HttpAgentImpl

This HTTP agent.

Overrides

HttpAgent.clearDefaultHeaders

Defined in

packages/core/src/http/HttpAgentImpl.ts:207


delete

delete\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP DELETE request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Overrides

HttpAgent.delete

Defined in

packages/core/src/http/HttpAgentImpl.ts:164


get

get\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP GET request to the specified URL, sending the provided -data as query parameters.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as query parameters.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Overrides

HttpAgent.get

Defined in

packages/core/src/http/HttpAgentImpl.ts:105


getCacheKey

getCacheKey(method, url, data?): string

Generates a cache key to use for identifying a request to the specified -URL using the specified HTTP method, submitting the provided data.

Parameters

NameTypeDescription
methodstringThe HTTP method used by the request.
urlstringThe URL to which the request is sent.
data?UnknownParametersThe data associated with the request. These can be either the query parameters or request body data.

Returns

string

The key to use for identifying such a request in the -cache.

Overrides

HttpAgent.getCacheKey

Defined in

packages/core/src/http/HttpAgentImpl.ts:180


invalidateCache

invalidateCache(method, url, data?): void

Method invalidate cache for given params

Parameters

NameType
methodstring
urlstring
data?UnknownParameters

Returns

void

Overrides

HttpAgent.invalidateCache

Defined in

packages/core/src/http/HttpAgentImpl.ts:189


patch

patch\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP PATCH request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Overrides

HttpAgent.patch

Defined in

packages/core/src/http/HttpAgentImpl.ts:148


post

post\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP POST request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Overrides

HttpAgent.post

Defined in

packages/core/src/http/HttpAgentImpl.ts:116


put

put\<B>(url, data?, options?): Promise\<HttpAgentResponse\<B>>

Sends an HTTP PUT request to the specified URL, sending the provided -data as the request body. If an object is provided as the request data, -the data will be JSON-encoded. Sending other primitive non-string values -as the request body is not supported.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
urlstringThe URL to which the request should be made.
data?UnknownParametersThe data to send to the server as the request body.
options?Partial\<HttpAgentRequestOptions>Optional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the -response.

Overrides

HttpAgent.put

Defined in

packages/core/src/http/HttpAgentImpl.ts:132


setDefaultHeader

setDefaultHeader(header, value): HttpAgentImpl

Sets the specified header to be sent with every subsequent HTTP request, -unless explicitly overridden by request options.

Parameters

NameTypeDescription
headerstringThe name of the header.
valuestringThe header value. To provide multiple values, separate them with commas (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2).

Returns

HttpAgentImpl

This HTTP agent.

Overrides

HttpAgent.setDefaultHeader

Defined in

packages/core/src/http/HttpAgentImpl.ts:198

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.HttpProxy/index.html b/api/classes/ima_core.HttpProxy/index.html deleted file mode 100644 index 3495d1525..000000000 --- a/api/classes/ima_core.HttpProxy/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -Class: HttpProxy | IMA.js - - - - -
-
Skip to main content

Class: HttpProxy

@ima/core.HttpProxy

Middleware proxy between HttpAgent implementations and the -Fetch API, -providing a Promise-oriented API for sending requests.

Constructors

constructor

new HttpProxy(transformer, window)

Initializes the HTTP proxy.

Parameters

NameTypeDescription
transformerUrlTransformerA transformer of URLs to which requests are made.
windowWindowHelper for manipulating the global object window regardless of the client/server-side environment.

Defined in

packages/core/src/http/HttpProxy.ts:76

Properties

_defaultHeaders

Protected _defaultHeaders: Map\<string, string>

Defined in

packages/core/src/http/HttpProxy.ts:66


_transformer

Protected _transformer: UrlTransformer

Defined in

packages/core/src/http/HttpProxy.ts:64


_window

Protected _window: Window

Defined in

packages/core/src/http/HttpProxy.ts:65

Methods

_composeRequestInit

_composeRequestInit(method, data, options): ImaRequestInit

Composes an init object, which can be used as a second argument of -window.fetch method.

Parameters

NameTypeDescription
methodstringThe HTTP method to use.
dataundefined | UnknownParametersThe data to be send with a request.
optionsHttpAgentRequestOptionsOptions provided by the HTTP agent.

Returns

ImaRequestInit

An ImaRequestInit object (extended from RequestInit of the Fetch API).

Defined in

packages/core/src/http/HttpProxy.ts:459


_composeRequestParams

_composeRequestParams(method, url, data, options): HttpProxyRequestParams

Composes an object representing the HTTP request parameters from the -provided arguments.

Parameters

NameTypeDescription
methodstringThe HTTP method to use.
urlstringThe URL to which the request should be sent.
dataundefined | UnknownParametersThe data to send with the request.
optionsHttpAgentRequestOptionsOptional request options.

Returns

HttpProxyRequestParams

An object representing the complete request parameters used to create and -send the HTTP request.

Defined in

packages/core/src/http/HttpProxy.ts:433


_composeRequestUrl

_composeRequestUrl(url, data): string

Transforms the provided URL using the current URL transformer and adds -the provided data to the URL's query string.

Parameters

NameTypeDescription
urlstringThe URL to prepare for use with the fetch API.
dataundefined | StringParametersThe data to be attached to the query string.

Returns

string

The transformed URL with the provided data attached to -its query string.

Defined in

packages/core/src/http/HttpProxy.ts:540


_convertObjectToFormData

Private _convertObjectToFormData\<T>(object): undefined | FormData | T

Converts given data to FormData object. -If FormData object is not supported by the browser the original object is returned.

Type parameters

NameType
Textends Record\<string, string | Blob>

Parameters

NameTypeDescription
objectundefined | TThe object to be converted

Returns

undefined | FormData | T

Defined in

packages/core/src/http/HttpProxy.ts:631


_convertObjectToQueryString

Private _convertObjectToQueryString\<T>(object): undefined | string

Returns query string representation of the data parameter. -(Returned string does not contain ? at the beginning)

Type parameters

NameType
Textends Record\<string, string | number | boolean>

Parameters

NameTypeDescription
objectundefined | TThe object to be converted

Returns

undefined | string

Query string representation of the given object

Defined in

packages/core/src/http/HttpProxy.ts:605


_createError

_createError(cause, requestParams, status, responseBody?): GenericError\<unknown>

Creates an error that represents a failed HTTP request.

Parameters

NameTypeDefault valueDescription
causeError | GenericError\<unknown>undefinedThe error's message.
requestParamsHttpProxyRequestParamsundefinedAn object representing the complete request parameters used to create and send the HTTP request.
statusnumberundefinedServer's response HTTP status code.
responseBodyunknownnullThe body of the server's response, if any.

Returns

GenericError\<unknown>

The error representing a failed HTTP request.

Defined in

packages/core/src/http/HttpProxy.ts:401


_getContentType

_getContentType(method, data, headers): null | string

Gets a Content-Type header value for defined method, data and options.

Parameters

NameTypeDescription
methodstringThe HTTP method to use.
dataundefined | UnknownParametersThe data to be send with a request.
headersRecord\<string, string>-

Returns

null | string

A Content-Type header value, null for requests -with no body.

Defined in

packages/core/src/http/HttpProxy.ts:512


_headersToPlainObject

_headersToPlainObject(headers): StringParameters

Converts the provided Fetch API's Headers object to a plain object.

Parameters

NameTypeDescription
headersHeadersThe headers to convert.

Returns

StringParameters

Converted headers.

Defined in

packages/core/src/http/HttpProxy.ts:355


_processError

_processError(fetchError, requestParams): GenericError\<unknown>

Processes the provided Fetch API or internal error and creates an error -to expose to the calling API.

Parameters

NameTypeDescription
fetchErrorError | GenericError\<unknown>The internal error to process.
requestParamsHttpProxyRequestParamsAn object representing the complete request parameters used to create and send the HTTP request.

Returns

GenericError\<unknown>

The error to provide to the calling API.

Defined in

packages/core/src/http/HttpProxy.ts:375


_processResponse

_processResponse\<B>(requestParams, response, responseBody): HttpAgentResponse\<B>

Processes the response received from the server.

Type parameters

Name
B

Parameters

NameTypeDescription
requestParamsHttpProxyRequestParamsThe original request's parameters.
responseResponseThe Fetch API's Response object representing the server's response.
responseBodyBThe server's response body.

Returns

HttpAgentResponse\<B>

The server's response along with all related -metadata.

Defined in

packages/core/src/http/HttpProxy.ts:326


_shouldRequestHaveBody

_shouldRequestHaveBody(method, data): boolean

Checks if a request should have a body (GET and HEAD requests don't -have a body).

Parameters

NameTypeDescription
methodstringThe HTTP method.
dataundefined | UnknownParametersThe data to be send with a request.

Returns

boolean

true if a request has a body, otherwise false.

Defined in

packages/core/src/http/HttpProxy.ts:561


_transformRequestBody

Private _transformRequestBody(data, headers): undefined | string | UnknownParameters | FormData

Formats request body according to request headers.

Parameters

NameTypeDescription
dataundefined | UnknownParametersThe data to be send with a request.
headersRecord\<string, string>Headers object from options provided by the HTTP agent.

Returns

undefined | string | UnknownParameters | FormData

Defined in

packages/core/src/http/HttpProxy.ts:581


clearDefaultHeaders

clearDefaultHeaders(): HttpProxy

Clears all defaults headers sent with all requests.

Returns

HttpProxy

this

Defined in

packages/core/src/http/HttpProxy.ts:228


getErrorParams

getErrorParams\<B>(method, url, data, options, status, body, cause): HttpProxyErrorParams\<B>

Gets an object that describes a failed HTTP request, providing -information about both the failure reported by the server and how the -request has been sent to the server.

Type parameters

NameType
Bunknown

Parameters

NameTypeDescription
methodstringThe HTTP method used to make the request.
urlstringThe URL to which the request has been made.
dataundefined | UnknownParametersThe data sent with the request.
optionsHttpAgentRequestOptionsOptional request options.
statusnumberThe HTTP response status code send by the server.
bodyundefined | BThe body of HTTP error response (detailed information).
causeErrorThe low-level cause error.

Returns

HttpProxyErrorParams\<B>

An object containing both the details of -the error and the request that lead to it.

Defined in

packages/core/src/http/HttpProxy.ts:251


haveToSetCookiesManually

haveToSetCookiesManually(): boolean

Returns true if cookies have to be processed manually by setting -Cookie HTTP header on requests and parsing the Set-Cookie HTTP -response header.

The result of this method depends on the current application -environment, the client-side usually handles cookie processing -automatically, leading this method returning false.

At the client-side, the method tests whether the client has cookies -enabled (which results in cookies being automatically processed by the -browser), and returns true or false accordingly.

true if cookies are not processed automatically by -the environment and have to be handled manually by parsing -response headers and setting request headers, otherwise false.

Returns

boolean

Defined in

packages/core/src/http/HttpProxy.ts:311


request

request\<B>(method, url, data, options): Promise\<HttpAgentResponse\<B>>

Executes a HTTP request to the specified URL using the specified HTTP -method, carrying the provided data.

Type parameters

Name
B

Parameters

NameTypeDescription
methodstringThe HTTP method to use.
urlstringThe URL to which the request should be made.
dataundefined | UnknownParametersThe data to be send to the server. The data will be included as query parameters if the request method is GET or HEAD, and as a request body for any other request method.
optionsHttpAgentRequestOptionsOptional request options.

Returns

Promise\<HttpAgentResponse\<B>>

A promise that resolves to the server -response.

Defined in

packages/core/src/http/HttpProxy.ts:109


setDefaultHeader

setDefaultHeader(header, value): HttpProxy

Sets the specified default HTTP header. The header will be sent with all -subsequent HTTP requests unless reconfigured using this method, -overridden by request options, or cleared by -clearDefaultHeaders method.

Parameters

NameTypeDescription
headerstringA header name.
valuestringA header value.

Returns

HttpProxy

this

Defined in

packages/core/src/http/HttpProxy.ts:217

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.MapStorage/index.html b/api/classes/ima_core.MapStorage/index.html deleted file mode 100644 index 51476de77..000000000 --- a/api/classes/ima_core.MapStorage/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - -Class: MapStorage<V> | IMA.js - - - - -
-
Skip to main content

Class: MapStorage<V>

@ima/core.MapStorage

Implementation of the link Storage interface that relies on the -native Map for storage.

Type parameters

Name
V

Hierarchy

Constructors

constructor

new MapStorage\<V>()

Type parameters

Name
V

Inherited from

Storage.constructor

Properties

_storage

Private _storage: Map\<string, V>

The internal storage of entries.

Defined in

packages/core/src/storage/MapStorage.ts:12

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/storage/MapStorage.ts:14

Methods

clear

clear(): MapStorage\<V>

Clears the storage of all entries.

Returns

MapStorage\<V>

This storage.

Overrides

Storage.clear

Defined in

packages/core/src/storage/MapStorage.ts:60


delete

delete(key): MapStorage\<V>

Deletes the entry identified by the specified key from this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

MapStorage\<V>

This storage.

Overrides

Storage.delete

Defined in

packages/core/src/storage/MapStorage.ts:51


get

get(key): undefined | V

Retrieves the value of the entry identified by the specified . The -method returns undefined if the entry does not exists.

Entries set to the undefined value can be tested for existence -using the link has method.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

undefined | V

The value of the storage entry.

Overrides

Storage.get

Defined in

packages/core/src/storage/MapStorage.ts:35


has

has(key): boolean

Returns true if the entry identified by the specified key exists -in this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

boolean

true if the storage entry exists.

Overrides

Storage.has

Defined in

packages/core/src/storage/MapStorage.ts:28


init

init(): MapStorage\<V>

This method is used to finalize the initialization of the storage after -the dependencies provided through the constructor have been prepared for -use.

This method must be invoked only once and it must be the first method -invoked on this instance.

Returns

MapStorage\<V>

This storage.

Overrides

Storage.init

Defined in

packages/core/src/storage/MapStorage.ts:21


keys

keys(): Iterable\<string>

Returns an iterator for traversing the keys in this storage. The order -in which the keys are traversed is undefined.

Returns

Iterable\<string>

An iterator for traversing the keys in this -storage. The iterator also implements the iterable protocol, -returning itself as its own iterator, allowing it to be used in -a for..of loop.

Overrides

Storage.keys

Defined in

packages/core/src/storage/MapStorage.ts:69


set

set(key, value): MapStorage\<V>

Sets the storage entry identified by the specified key to the provided -value. The method creates the entry if it does not exist already.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.
valueVThe storage entry value.

Returns

MapStorage\<V>

This storage.

Overrides

Storage.set

Defined in

packages/core/src/storage/MapStorage.ts:42


size

size(): number

Returns the number of entries in this storage.

Returns

number

The number of entries in this storage.

Overrides

Storage.size

Defined in

packages/core/src/storage/MapStorage.ts:76

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.MessageFormatDictionary/index.html b/api/classes/ima_core.MessageFormatDictionary/index.html deleted file mode 100644 index 4d1073aa2..000000000 --- a/api/classes/ima_core.MessageFormatDictionary/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -Class: MessageFormatDictionary | IMA.js - - - - -
-
Skip to main content

Class: MessageFormatDictionary

@ima/core.MessageFormatDictionary

Implementation of the Dictionary interface that relies on -compiled MessageFormat localization messages for its dictionary.

Hierarchy

Constructors

constructor

new MessageFormatDictionary()

Initializes the dictionary.

Example

dictionary.get('home.hello', {GENDER: 'UNSPECIFIED'});

Overrides

Dictionary.constructor

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:30

Properties

_dictionary

Protected _dictionary: DictionaryData

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:18


_language

Protected _language: string

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:17

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:20

Methods

_getScope

Private _getScope(key): null | LocalizationFunction

Retrieves the localization scope denoted by the provided partial key. -This may be either an object representing a sub-group of location phrase -generators, or a single generator if the provided keys denotes a single -localization phrase

Parameters

NameTypeDescription
keystringThe key identifying the localization phrase. The key consists of at least two parts separated by dots. The first part denotes the name of the source JSON localization file, while the rest denote a field path within the localization object within the given localization file.

Returns

null | LocalizationFunction

The requested localization scope, or null if the specified -scope does not exist.

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:141


get

get(key, parameters?): string

Retrieves the localization phrase identified by the specified key, -evaluates the phrase's placeholder expressions using the provided -parameters and returns the result.

Parameters

NameTypeDescription
keystringThe key identifying the localization phrase. The key consists of at least two parts separated by dots. The first part denotes the name of the source JSON localization file, while the rest denote a field path within the localization object within the given localization file.
parameters?ObjectParametersThe map of parameter names to the parameter values to use. Defaults to an empty plain object.

Returns

string

The specified localization phrase with its placeholders -evaluated using the provided parameters.

Overrides

Dictionary.get

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:89


getLanguage

getLanguage(): string

Returns the ISO 639-1 language code of the language this dictionary was -initialized with.

Returns

string

The language code representing the language of the -localization phrases in this dictionary.

Overrides

Dictionary.getLanguage

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:69


has

has(key): boolean

Tests whether the specified localization phrase exists in the -dictionary.

Parameters

NameTypeDescription
keystringThe key identifying the localization phrase. The key consists of at least two parts separated by dots. The first part denotes the name of the source JSON localization file, while the rest denote a field path within the localization object within the given localization file.

Returns

boolean

true if the key exists and denotes a single -localization phrase, otherwise false.

Overrides

Dictionary.has

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:115


init

init(config): void

Initializes this dictionary with the provided language and localization -phrases.

Parameters

NameTypeDescription
configDictionaryConfigThe dictionary configuration.

Returns

void

Overrides

Dictionary.init

Defined in

packages/core/src/dictionary/MessageFormatDictionary.ts:61

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.MetaManager/index.html b/api/classes/ima_core.MetaManager/index.html deleted file mode 100644 index 1985b4b22..000000000 --- a/api/classes/ima_core.MetaManager/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -Class: MetaManager | IMA.js - - - - -
-
Skip to main content

Class: MetaManager

@ima/core.MetaManager

The Meta manager is a utility for managing various page attributes related -to the SEO (search engine optimization) and social network integration.

The Meta manager is used to manage the following:

  • page title, set using the contents of the &lt;title&gt; element
  • page links, linking related documents and meta-information, added to the -using &lt;link&gt; elements
  • page meta information:
    • the generic named meta information added to the page via -&lt;meta&gt;} elements with the nameattribute, for -example thekeywords`.
    • specialized meta information added to the page via &lt;meta&gt; -elements with the property attribute, for example the OG meta -tags (og:type, og:image, etc.).

Hierarchy

Constructors

constructor

new MetaManager()

Methods

clearMetaAttributes

clearMetaAttributes(): void

Resets the stored meta names, properties and links.

Returns

void

Defined in

packages/core/src/meta/MetaManager.ts:195


getLink(relation): MetaManagerRecord\<"href">

Return the reference to the specified related linked document. The -method returns an empty string for missing meta information (to make the -returned value React-friendly).

Parameters

NameTypeDescription
relationstringThe relation of the link target to the current page.

Returns

MetaManagerRecord\<"href">

The reference to the location of the related document, -e.g. a URL.

Defined in

packages/core/src/meta/MetaManager.ts:169


getLinks(): string[]

Returns the relations of the currently set related documents linked to -the current page.

Returns

string[]

Defined in

packages/core/src/meta/MetaManager.ts:177


getLinksIterator

getLinksIterator(): never[] | IterableIterator\<[string, MetaManagerRecord\<"href">]>

Return [key, value] pairs of currently set links.

Returns

never[] | IterableIterator\<[string, MetaManagerRecord\<"href">]>

[key, value] pairs of currently set links.

Defined in

packages/core/src/meta/MetaManager.ts:186


getMetaName

getMetaName(name): MetaManagerRecord\<"content">

Returns the value of the specified named meta information property. The -method returns an empty string for missing meta information (to make the -returned value React-friendly).

Parameters

NameTypeDescription
namestringThe name of the named meta information property.

Returns

MetaManagerRecord\<"content">

The value of the generic meta information, or an empty string.

Defined in

packages/core/src/meta/MetaManager.ts:69


getMetaNames

getMetaNames(): string[]

Returns the names of the currently specified named meta information -properties.

Returns

string[]

The names of the currently specified named meta -information properties.

Defined in

packages/core/src/meta/MetaManager.ts:80


getMetaNamesIterator

getMetaNamesIterator(): never[] | IterableIterator\<[string, MetaManagerRecord\<"content">]>

Return [key, value] pairs of named meta information.

Returns

never[] | IterableIterator\<[string, MetaManagerRecord\<"content">]>

[key, value] pairs of named meta information.

Defined in

packages/core/src/meta/MetaManager.ts:89


getMetaProperties

getMetaProperties(): string[]

Returns the names of the currently specified specialized meta -information properties.

Returns

string[]

The names of the currently specified specialized meta -information properties.

Defined in

packages/core/src/meta/MetaManager.ts:131


getMetaPropertiesIterator

getMetaPropertiesIterator(): never[] | IterableIterator\<[string, MetaManagerRecord\<"content">]>

Return [key, value] pairs of meta information properties.

Returns

never[] | IterableIterator\<[string, MetaManagerRecord\<"content">]>

[key, value] pairs of meta information properties.

Defined in

packages/core/src/meta/MetaManager.ts:140


getMetaProperty

getMetaProperty(property): MetaManagerRecord\<"content">

Returns the value of the specified specialized meta information -property. The method returns an empty string for missing meta -information (to make the returned value React-friendly).

Parameters

NameType
propertystring

Returns

MetaManagerRecord\<"content">

The value of the specified meta information, or an -empty string.

Defined in

packages/core/src/meta/MetaManager.ts:120


getTitle

getTitle(): string

Returns the page title. The method returns an empty string if no page -title has been set yet.

Note that the page title is cached internally by the meta manager and -may therefore differ from the current document title if it has been -modified by a 3rd party code.

Returns

string

The current page title.

Defined in

packages/core/src/meta/MetaManager.ts:45


setLink(relation, href, attr?): MetaManager

Sets the specified specialized link information.

Parameters

NameTypeDescription
relationstringThe relation of the link target to the current page.
hrefMetaValueThe reference to the location of the related document, e.g. a URL.
attr?MetaAttributes-

Returns

MetaManager

Parram

attr Additional optional link attributes.

Defined in

packages/core/src/meta/MetaManager.ts:155


setMetaName

setMetaName(name, content, attr?): MetaManager

Set the specified named meta information property.

Parameters

NameTypeDescription
namestringMeta information property name, for example keywords.
contentMetaValueThe meta information content.
attr?MetaAttributes-

Returns

MetaManager

Parram

attr Additional optional meta attributes.

Defined in

packages/core/src/meta/MetaManager.ts:57


setMetaProperty

setMetaProperty(property, content, attr?): MetaManager

Sets the specified specialized meta information property.

Parameters

NameTypeDescription
propertystringThe value of the meta information property.
contentMetaValue-
attr?MetaAttributes-

Returns

MetaManager

Parram

attr Additional optional meta attributes.

Defined in

packages/core/src/meta/MetaManager.ts:102


setTitle

setTitle(title): MetaManager

Sets the page title.

Parameters

NameTypeDescription
titlestringThe new page title.

Returns

MetaManager

Defined in

packages/core/src/meta/MetaManager.ts:31

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.MetaManagerImpl/index.html b/api/classes/ima_core.MetaManagerImpl/index.html deleted file mode 100644 index 87af4bdcf..000000000 --- a/api/classes/ima_core.MetaManagerImpl/index.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -Class: MetaManagerImpl | IMA.js - - - - -
-
Skip to main content

Class: MetaManagerImpl

@ima/core.MetaManagerImpl

Default implementation of the MetaManager interface.

Hierarchy

Constructors

constructor

new MetaManagerImpl()

Initializes the meta page attributes manager.

Overrides

MetaManager.constructor

Defined in

packages/core/src/meta/MetaManagerImpl.ts:24

Properties

Protected _link: Map\<string, MetaManagerRecord\<"href">>

Defined in

packages/core/src/meta/MetaManagerImpl.ts:15


_metaName

Protected _metaName: Map\<string, MetaManagerRecord\<"content">>

Defined in

packages/core/src/meta/MetaManagerImpl.ts:13


_metaProperty

Protected _metaProperty: Map\<string, MetaManagerRecord\<"content">>

Defined in

packages/core/src/meta/MetaManagerImpl.ts:14


_title

Protected _title: string

Defined in

packages/core/src/meta/MetaManagerImpl.ts:12

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/meta/MetaManagerImpl.ts:17

Methods

clearMetaAttributes

clearMetaAttributes(): void

Resets the stored meta names, properties and links.

Returns

void

Overrides

MetaManager.clearMetaAttributes

Defined in

packages/core/src/meta/MetaManagerImpl.ts:166


getLink(relation): MetaManagerRecord\<"href">

Return the reference to the specified related linked document. The -method returns an empty string for missing meta information (to make the -returned value React-friendly).

Parameters

NameTypeDescription
relationstringThe relation of the link target to the current page.

Returns

MetaManagerRecord\<"href">

The reference to the location of the related document, -e.g. a URL.

Overrides

MetaManager.getLink

Defined in

packages/core/src/meta/MetaManagerImpl.ts:145


getLinks(): string[]

Returns the relations of the currently set related documents linked to -the current page.

Returns

string[]

Overrides

MetaManager.getLinks

Defined in

packages/core/src/meta/MetaManagerImpl.ts:152


getLinksIterator

getLinksIterator(): IterableIterator\<[string, MetaManagerRecord\<"href">]>

Return [key, value] pairs of currently set links.

Returns

IterableIterator\<[string, MetaManagerRecord\<"href">]>

[key, value] pairs of currently set links.

Overrides

MetaManager.getLinksIterator

Defined in

packages/core/src/meta/MetaManagerImpl.ts:159


getMetaName

getMetaName(name): MetaManagerRecord\<"content">

Returns the value of the specified named meta information property. The -method returns an empty string for missing meta information (to make the -returned value React-friendly).

Parameters

NameTypeDescription
namestringThe name of the named meta information property.

Returns

MetaManagerRecord\<"content">

The value of the generic meta information, or an empty string.

Overrides

MetaManager.getMetaName

Defined in

packages/core/src/meta/MetaManagerImpl.ts:76


getMetaNames

getMetaNames(): string[]

Returns the names of the currently specified named meta information -properties.

Returns

string[]

The names of the currently specified named meta -information properties.

Overrides

MetaManager.getMetaNames

Defined in

packages/core/src/meta/MetaManagerImpl.ts:83


getMetaNamesIterator

getMetaNamesIterator(): IterableIterator\<[string, MetaManagerRecord\<"content">]>

Return [key, value] pairs of named meta information.

Returns

IterableIterator\<[string, MetaManagerRecord\<"content">]>

[key, value] pairs of named meta information.

Overrides

MetaManager.getMetaNamesIterator

Defined in

packages/core/src/meta/MetaManagerImpl.ts:90


getMetaProperties

getMetaProperties(): string[]

Returns the names of the currently specified specialized meta -information properties.

Returns

string[]

The names of the currently specified specialized meta -information properties.

Overrides

MetaManager.getMetaProperties

Defined in

packages/core/src/meta/MetaManagerImpl.ts:120


getMetaPropertiesIterator

getMetaPropertiesIterator(): IterableIterator\<[string, MetaManagerRecord\<"content">]>

Return [key, value] pairs of meta information properties.

Returns

IterableIterator\<[string, MetaManagerRecord\<"content">]>

[key, value] pairs of meta information properties.

Overrides

MetaManager.getMetaPropertiesIterator

Defined in

packages/core/src/meta/MetaManagerImpl.ts:127


getMetaProperty

getMetaProperty(property): MetaManagerRecord\<"content">

Returns the value of the specified specialized meta information -property. The method returns an empty string for missing meta -information (to make the returned value React-friendly).

Parameters

NameType
propertystring

Returns

MetaManagerRecord\<"content">

The value of the specified meta information, or an -empty string.

Overrides

MetaManager.getMetaProperty

Defined in

packages/core/src/meta/MetaManagerImpl.ts:112


getTitle

getTitle(): string

Returns the page title. The method returns an empty string if no page -title has been set yet.

Note that the page title is cached internally by the meta manager and -may therefore differ from the current document title if it has been -modified by a 3rd party code.

Returns

string

The current page title.

Overrides

MetaManager.getTitle

Defined in

packages/core/src/meta/MetaManagerImpl.ts:60


setLink(relation, href, attr?): MetaManagerImpl

Sets the specified specialized link information.

Parameters

NameTypeDescription
relationstringThe relation of the link target to the current page.
hrefMetaValueThe reference to the location of the related document, e.g. a URL.
attr?MetaAttributes-

Returns

MetaManagerImpl

Parram

attr Additional optional link attributes.

Overrides

MetaManager.setLink

Defined in

packages/core/src/meta/MetaManagerImpl.ts:136


setMetaName

setMetaName(name, content, attr?): MetaManagerImpl

Set the specified named meta information property.

Parameters

NameTypeDescription
namestringMeta information property name, for example keywords.
contentMetaValueThe meta information content.
attr?MetaAttributes-

Returns

MetaManagerImpl

Parram

attr Additional optional meta attributes.

Overrides

MetaManager.setMetaName

Defined in

packages/core/src/meta/MetaManagerImpl.ts:67


setMetaProperty

setMetaProperty(property, content, attr?): MetaManagerImpl

Sets the specified specialized meta information property.

Parameters

NameTypeDescription
propertystringThe value of the meta information property.
contentMetaValue-
attr?MetaAttributes-

Returns

MetaManagerImpl

Parram

attr Additional optional meta attributes.

Overrides

MetaManager.setMetaProperty

Defined in

packages/core/src/meta/MetaManagerImpl.ts:99


setTitle

setTitle(title): MetaManagerImpl

Sets the page title.

Parameters

NameTypeDescription
titlestringThe new page title.

Returns

MetaManagerImpl

Overrides

MetaManager.setTitle

Defined in

packages/core/src/meta/MetaManagerImpl.ts:51

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Namespace/index.html b/api/classes/ima_core.Namespace/index.html deleted file mode 100644 index b76764cc5..000000000 --- a/api/classes/ima_core.Namespace/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -Class: Namespace | IMA.js - - - - -
-
Skip to main content

Class: Namespace

@ima/core.Namespace

Namespace creation, manipulation and traversal utility. This utility is used -to create semi-global shared namespaces for registering references to -interfaces, classes and constants of the application to provide access to -each other more easily than by using the ES6 import/export mechanism.

Indexable

[key: PropertyKey]: any

Constructors

constructor

new Namespace()

Methods

#resolvePathLevels

Private #resolvePathLevels(path): string[]

Resolve path levels from string

Parameters

NameTypeDescription
pathstringThe namespace path.

Returns

string[]

Defined in

packages/core/src/Namespace.ts:114


get

get\<V>(path): undefined | V

Return value for the specified namespace path point or undefined if path is not type of string

Type parameters

NameType
Vany

Parameters

NameTypeDescription
pathstringThe namespace path to get.

Returns

undefined | V

The value at the specified path in the namespace or undefined for any non-string path

Defined in

packages/core/src/Namespace.ts:77


has

has(path): boolean

Verifies that the specified namespace path point to an existing -namespace or terminal value.

Parameters

NameTypeDescription
pathstringThe namespace path to test.

Returns

boolean

true if the namespace or terminal value exists -at the specified path.

Defined in

packages/core/src/Namespace.ts:60


namespace

namespace\<V>(path): V

Verifies that the specified path in namespace exists, creates it if it -does not, and returns the value at the specified path in the namespace.

The method recursively creates all path parts in the namespaces as empty -plain objects for all path parts that do not exist yet, including the -last one. This means, that if called with a non-existing namespace path -as an argument, the return value will be the last created namespace -object.

Type parameters

NameType
Vany

Parameters

NameTypeDescription
pathstringThe namespace path.

Returns

V

The value at the specified path in the namespace.

Defined in

packages/core/src/Namespace.ts:36


set

set\<V>(path, value): void

Set value for the specified namespace path point.

Type parameters

Name
V

Parameters

NameTypeDescription
pathstringThe namespace path to set.
valueV-

Returns

void

Defined in

packages/core/src/Namespace.ts:99

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ObjectContainer/index.html b/api/classes/ima_core.ObjectContainer/index.html deleted file mode 100644 index 74c53afad..000000000 --- a/api/classes/ima_core.ObjectContainer/index.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - -Class: ObjectContainer | IMA.js - - - - -
-
Skip to main content

Class: ObjectContainer

@ima/core.ObjectContainer

The Object Container is an enhanced dependency injector with support for -aliases and constants, and allowing to reference classes in the application -namespace by specifying their fully qualified names.

Constructors

constructor

new ObjectContainer(namespace)

Initializes the object container.

Parameters

NameTypeDescription
namespaceNamespaceThe namespace container, used to access classes and values using their fully qualified names.

Defined in

packages/core/src/oc/ObjectContainer.ts:91

Properties

_bindingPlugin

Private Optional _bindingPlugin: string

The current plugin binding to OC.

The () method may be called for changing -object container binding state only by the bootstrap script.

Defined in

packages/core/src/oc/ObjectContainer.ts:76


_bindingState

Private Optional _bindingState: BindingState

The current binding state.

The () method may be called for changing -object container binding state only by the bootstrap script.

Defined in

packages/core/src/oc/ObjectContainer.ts:68


_entries

Private _entries: Map\<Dependency\<any>, Entry\<any>>

Defined in

packages/core/src/oc/ObjectContainer.ts:77


_namespace

Private _namespace: Namespace

The namespace container, used to access classes and values using -their fully qualified names.

Defined in

packages/core/src/oc/ObjectContainer.ts:83

Methods

#getDebugName

Private #getDebugName(name): string

Formats name, function, class constructor to more compact -name/message to allow for cleaner debug Error messages.

Parameters

NameType
nameany

Returns

string

Defined in

packages/core/src/oc/ObjectContainer.ts:875


_createEntry

_createEntry\<T>(classConstructor, dependencies?, options?): Entry\<T>

Creates a new entry for the provided class or factory function, the -provided dependencies and entry options.

Type parameters

Name
T

Parameters

NameTypeDescription
classConstructorEntryConstructor\<T>The class constructor or factory function.
dependencies?any[]The dependencies to pass into the constructor or factory function.
options?EntryOptions-

Returns

Entry\<T>

Created instance or generated value.

Defined in

packages/core/src/oc/ObjectContainer.ts:648


_createInstanceFromEntry

_createInstanceFromEntry\<T, E>(entry, dependencies?): T

Creates a new instance of the class or retrieves the value generated by -the factory function represented by the provided entry, passing in the -provided dependencies.

The method uses the dependencies specified by the entry if no custom -dependencies are provided.

Type parameters

NameType
TT
Eextends Entry\<T>

Parameters

NameTypeDefault valueDescription
entryEundefinedThe entry representing the class that should have its instance created or factory faction to use to create a value.
dependenciesany[][]The dependencies to pass into the constructor or factory function.

Returns

T

Created instance or generated value.

Defined in

packages/core/src/oc/ObjectContainer.ts:687


_getEntry

_getEntry\<T>(name): null | Entry\<T>

Retrieves the entry for the specified constant, alias, class or factory -function, interface, or fully qualified namespace path (the method -checks these in this order in case of a name clash).

The method retrieves an existing entry even if a qualified namespace -path is provided (if the target class or interface has been configured -in this object container).

The method throws an Error if no such constant, alias, -registry, interface implementation is known to this object container and -the provided identifier is not a valid namespace path specifying an -existing class, interface or value.

Type parameters

Name
T

Parameters

NameTypeDescription
nameDependency\<T>Name of a constant or alias, factory function, class or interface constructor, or a fully qualified namespace path.

Returns

null | Entry\<T>

The retrieved entry.

Throws

If no such constant, alias, registry, interface -implementation is known to this object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:536


_getEntryFromClassConstructor

_getEntryFromClassConstructor\<T>(classConstructor): null | Entry\<T>

Retrieves the class denoted by the provided class constructor.

The method then checks whether there are defined $dependencies -property for class. Then the class is registered to this object -container.

The method returns the entry for the class if the specified class -does not have defined $dependencies property return -null.

Type parameters

Name
T

Parameters

NameType
classConstructorOCInjectable\<T>

Returns

null | Entry\<T>

An entry representing the value at the specified -classConstructor. The method returns null -if the specified classConstructor does not have defined -$dependencies.

Defined in

packages/core/src/oc/ObjectContainer.ts:842


_getEntryFromConstant

_getEntryFromConstant\<T>(compositionName): null | Entry\<() => T>

Retrieves the constant value denoted by the provided fully qualified -composition name.

The method returns the entry for the constant if the constant is registered -with this object container, otherwise return null.

Finally, if the constant composition name does not resolve to value, -the method return null.

Type parameters

Name
T

Parameters

NameType
compositionNamestring

Returns

null | Entry\<() => T>

An entry representing the value at the specified -composition name in the constants. The method returns null -if the specified composition name does not exist in the constants.

Defined in

packages/core/src/oc/ObjectContainer.ts:748


_getEntryFromNamespace

_getEntryFromNamespace\<T>(path): null | Entry\<T>

Retrieves the class denoted by the provided fully qualified name within -the application namespace.

The method then checks whether there are dependencies configured for the -class, no matter whether the class is an implementation class or an -"interface" class.

The method returns the entry for the class if the class is registered -with this object container, otherwise an unregistered entry is created -and returned.

Finally, if the namespace path does not resolve to a class, the method -return an unregistered entry resolved to the value denoted by the -namespace path.

Alternatively, if a constructor function is passed in instead of a -namespace path, the method returns null.

Type parameters

Name
T

Parameters

NameTypeDescription
pathstringNamespace path pointing to a class or a value in the application namespace, or a constructor function.

Returns

null | Entry\<T>

An entry representing the value or class at the -specified path in the namespace. The method returns null -if the specified path does not exist in the namespace.

Defined in

packages/core/src/oc/ObjectContainer.ts:804


_isOptional

_isOptional\<T>(name): boolean

Checks whether the name is marked as optional.

Type parameters

Name
T

Parameters

NameTypeDescription
nameDependency\<T>Name of a constant or alias, factory function, class or interface constructor, or a fully qualified namespace path.

Returns

boolean

Defined in

packages/core/src/oc/ObjectContainer.ts:594


_isSpread

_isSpread\<T>(name): boolean

Checks whether the name is marked as spread.

Type parameters

Name
T

Parameters

NameTypeDescription
nameDependency\<T>Name of a constant or alias, factory function, class or interface constructor, or a fully qualified namespace path.

Returns

boolean

Defined in

packages/core/src/oc/ObjectContainer.ts:608


_updateEntryValues

_updateEntryValues\<T, E>(entry, classConstructor, dependencies): void

The method update classConstructor and dependencies for defined entry. -The entry throw Error for constants and if you try override dependencies -more than once.

Type parameters

NameType
TT
Eextends Entry\<T>

Parameters

NameTypeDescription
entryEThe entry representing the class that should have its instance created or factory faction to use to create a value.
classConstructorOCInjectable\<T>The class constructor or factory function.
dependenciesany[]The dependencies to pass into the constructor or factory function.

Returns

void

Defined in

packages/core/src/oc/ObjectContainer.ts:627


bind

bind\<T, C>(name, classConstructor, dependencies?): ObjectContainer

Binds the specified class or factory function and dependencies to the -specified alias. Binding a class or factory function to an alias allows -the class or function to be specified as a dependency by specifying the -alias and creating new instances by referring to the class or function -by the alias.

Also note that the same class or function may be bound to several -aliases and each may use different dependencies.

The alias will use the default dependencies bound for the class if no -dependencies are provided.

Type parameters

NameType
Textends keyof OCAliasMap
CC

Parameters

NameTypeDescription
nameTAlias name.
classConstructorOCInjectable\<C>The class constructor or a factory function.
dependencies?any[]The dependencies to pass into the constructor or factory function.

Returns

ObjectContainer

This object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:115


clear

clear(): ObjectContainer

Clears all entries from this object container and resets the locking -mechanism of this object container.

Returns

ObjectContainer

This object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:486


constant

constant\<T, V>(name, value): ObjectContainer

Defines a new constant registered with this object container. Note that -this is the only way of passing string values to constructors -because the object container treats strings as class, interface, alias -or constant names.

Type parameters

NameType
Textends keyof OCAliasMap
VV

Parameters

NameTypeDescription
nameTThe constant name.
valueVThe constant value.

Returns

ObjectContainer

This object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:201


create

create\<T>(name, dependencies?): OCInstance\<T>

Creates a new instance of the class or retrieves the value generated by -the factory function identified by the provided name, class, interface, -or factory function, passing in the provided dependencies.

The method uses the dependencies specified when the class, interface or -factory function has been registered with the object container if no -custom dependencies are provided.

Type parameters

NameType
Textends OCInstanceConstrain\<any>

Parameters

NameTypeDefault valueDescription
nameTundefinedThe name of the alias, class, interface, or the class, interface or a factory function to use.
dependenciesany[][]The dependencies to pass into the constructor or factory function.

Returns

OCInstance\<T>

Created instance or generated value.

Defined in

packages/core/src/oc/ObjectContainer.ts:464


get

get\<T>(name): OCInstance\<T>

Retrieves the shared instance or value of the specified constant, alias, -class or factory function, interface, or fully qualified namespace path -(the method checks these in this order in case of a name clash).

The instance or value is created lazily the first time it is requested.

Type parameters

NameType
Textends OCInstanceConstrain\<any>

Parameters

NameTypeDescription
nameTThe name of the alias, class, interface, or the class, interface or a factory function.

Returns

OCInstance\<T>

The shared instance or value.

Defined in

packages/core/src/oc/ObjectContainer.ts:401


getConstructorOf

getConstructorOf\<T>(name): null | Constructor\<T>

Returns the class constructor function of the specified class.

Type parameters

NameType
Textends keyof OCAliasMap | Constructor\<any>

Parameters

NameTypeDescription
nameTThe name by which the class is registered with this object container.

Returns

null | Constructor\<T>

The constructor function.

Defined in

packages/core/src/oc/ObjectContainer.ts:419


has

has\<T>(name): boolean

Returns true if the specified object, class or resource is -registered with this object container.

Type parameters

Name
T

Parameters

NameTypeDescription
namekeyof OCAliasMap | OCInjectable\<T>The resource name.

Returns

boolean

true if the specified object, class or -resource is registered with this object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:439


inject

inject\<T>(classConstructor, dependencies): ObjectContainer

Configures the object loader with the specified default dependencies for -the specified class.

New instances of the class created by this object container will receive -the provided dependencies into constructor unless custom dependencies -are provided.

Type parameters

Name
T

Parameters

NameTypeDescription
classConstructorConstructor\<T>The class constructor.
dependenciesany[]The dependencies to pass into the constructor function.

Returns

ObjectContainer

This object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:245


provide

provide\<T, I>(interfaceConstructor, implementationConstructor, dependencies?): ObjectContainer

Configures the default implementation of the specified interface to use -when an implementation provider of the specified interface is requested -from this object container.

The implementation constructor will obtain the provided default -dependencies or the dependencies provided to the () -method.

Type parameters

Name
T
I

Parameters

NameTypeDescription
interfaceConstructorConstructor\<I> | AbstractConstructor\<I>The constructor of the interface representing the service.
implementationConstructorConstructor\<T>The constructor of the class implementing the service interface.
dependencies?any[]The dependencies to pass into the constructor function.

Returns

ObjectContainer

This object container.

Defined in

packages/core/src/oc/ObjectContainer.ts:320


setBindingState

setBindingState(bindingState, bindingPluginName?): void

Parameters

NameType
bindingStateBindingState
bindingPluginName?string

Returns

void

Defined in

packages/core/src/oc/ObjectContainer.ts:494

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Observable/index.html b/api/classes/ima_core.Observable/index.html deleted file mode 100644 index 2026bee5f..000000000 --- a/api/classes/ima_core.Observable/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -Class: Observable | IMA.js - - - - -
-
Skip to main content

Class: Observable

@ima/core.Observable

An Observable is a class that manages event listeners and allows distributing -events to the registered listeners. It maintains a history of events and supports -persistent events that are not cleared during route changes.

Hierarchy

Constructors

constructor

new Observable()

Methods

clear

clear(): Observable

Clears all persistent events, observers, and activity history from the observable.

This method will remove all stored events, registered observers, and any recorded -activity history, effectively resetting the observable to its initial state.

Returns

Observable

The instance of the Observable for chaining.

Defined in

packages/core/src/event/Observable.ts:35


destroy

destroy(): Observable

Destroys the observable by clearing its internal state and removing all event listeners.

Returns

Observable

The instance of the Observable for chaining.

Defined in

packages/core/src/event/Observable.ts:23


init

init(): Observable

Initializes the observable.

Returns

Observable

The instance of the Observable for chaining.

Defined in

packages/core/src/event/Observable.ts:14


registerPersistenEvent

registerPersistenEvent\<E>(event): Observable

Registers an event as persistent, meaning its history won't be cleared upon calling the clear method (route change).

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
eventEThe name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string.

Returns

Observable

The instance of the Observable for chaining.

Defined in

packages/core/src/event/Observable.ts:45


subscribe

subscribe\<E>(event, observer, scope?): Observable

Subscribes an observer to a specific event. When the event is dispatched, -the observer will be notified and executed within the provided scope. -If the event has already occurred, the observer will be immediately -invoked with the historical data.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
eventEThe event to subscribe to.
observerDispatcherListener\<any>The observer function to be called when the event is dispatched.
scope?unknownThe scope in which the observer function should be executed. This is optional.

Returns

Observable

The instance of the Observable for chaining.

Defined in

packages/core/src/event/Observable.ts:63


unsubscribe

unsubscribe\<E>(event, observer, scope?): Observable

Unsubscribes an observer from a specific event.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
eventEThe event name or key from the DispatcherEventsMap.
observerDispatcherListener\<any>The observer (listener) to be unsubscribed.
scope?unknownOptional scope to be used for the observer.

Returns

Observable

The current instance for chaining.

Defined in

packages/core/src/event/Observable.ts:80

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ObservableImpl/index.html b/api/classes/ima_core.ObservableImpl/index.html deleted file mode 100644 index 43151c556..000000000 --- a/api/classes/ima_core.ObservableImpl/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -Class: ObservableImpl | IMA.js - - - - -
-
Skip to main content

Class: ObservableImpl

@ima/core.ObservableImpl

An Observable is a class that manages event listeners and allows distributing -events to the registered listeners. It maintains a history of events and supports -persistent events that are not cleared during route changes.

Remarks

  • The Observable class relies on a Dispatcher to handle the actual event distribution.
  • It maintains a history of events, which can be limited by a maximum history length.

Hierarchy

Constructors

constructor

new ObservableImpl(dispatcher, settings?)

Creates an instance of Observable.

Parameters

NameTypeDescription
dispatcherDispatcherThe dispatcher responsible for managing event listeners.
settings?ObjectOptional settings for the Observable instance.
settings.maxHistoryLength?number-

Overrides

Observable.constructor

Defined in

packages/core/src/event/ObservableImpl.ts:40

Properties

_activityHistory

Protected _activityHistory: Map\<string, unknown[]>

Defined in

packages/core/src/event/ObservableImpl.ts:25


_dispatcher

Protected _dispatcher: Dispatcher

Defined in

packages/core/src/event/ObservableImpl.ts:23


_observers

Protected _observers: Map\<string, Map\<DispatcherListener\<any>, Set\<unknown>>>

Defined in

packages/core/src/event/ObservableImpl.ts:24


_persistentEvents

Protected _persistentEvents: Set\<string>

Defined in

packages/core/src/event/ObservableImpl.ts:26


_settings

Protected _settings: undefined | { maxHistoryLength?: number }

Defined in

packages/core/src/event/ObservableImpl.ts:27


$dependencies

Static $dependencies: Dependencies

Defined in

packages/core/src/event/ObservableImpl.ts:29

Methods

_handleDispatcherEvent

_handleDispatcherEvent(event, data): void

Handles dispatcher events by updating the activity history and notifying observers. -It also resets the activity history for non-persistent events on BEFORE_HANDLE_ROUTE ecvent.

Parameters

NameTypeDescription
eventstringThe name of the event being dispatched.
dataanyThe data associated with the event.

Returns

void

Defined in

packages/core/src/event/ObservableImpl.ts:148


clear

clear(): ObservableImpl

Clears all persistent events, observers, and activity history from the observable.

This method will remove all stored events, registered observers, and any recorded -activity history, effectively resetting the observable to its initial state.

Returns

ObservableImpl

The instance of the Observable for chaining.

Overrides

Observable.clear

Defined in

packages/core/src/event/ObservableImpl.ts:72


destroy

destroy(): ObservableImpl

Destroys the observable by clearing its internal state and removing all event listeners.

Returns

ObservableImpl

The instance of the Observable for chaining.

Overrides

Observable.destroy

Defined in

packages/core/src/event/ObservableImpl.ts:62


init

init(): ObservableImpl

Initializes the observable.

Returns

ObservableImpl

The instance of the Observable for chaining.

Overrides

Observable.init

Defined in

packages/core/src/event/ObservableImpl.ts:52


registerPersistenEvent

registerPersistenEvent(event): ObservableImpl

Registers an event as persistent, meaning its history won't be cleared upon calling the clear method (route change).

Parameters

NameTypeDescription
eventstringThe name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string.

Returns

ObservableImpl

The instance of the Observable for chaining.

Overrides

Observable.registerPersistenEvent

Defined in

packages/core/src/event/ObservableImpl.ts:83


subscribe

subscribe(event, observer, scope?): ObservableImpl

Subscribes an observer to a specific event. When the event is dispatched, -the observer will be notified and executed within the provided scope. -If the event has already occurred, the observer will be immediately -invoked with the historical data.

Parameters

NameTypeDescription
eventstringThe event to subscribe to.
observerDispatcherListener\<any>The observer function to be called when the event is dispatched.
scope?unknownThe scope in which the observer function should be executed. This is optional.

Returns

ObservableImpl

The instance of the Observable for chaining.

Overrides

Observable.subscribe

Defined in

packages/core/src/event/ObservableImpl.ts:92


unsubscribe

unsubscribe(event, observer, scope?): ObservableImpl

Unsubscribes an observer from a specific event.

Parameters

NameTypeDescription
eventstringThe event name or key from the DispatcherEventsMap.
observerDispatcherListener\<any>The observer (listener) to be unsubscribed.
scope?unknownOptional scope to be used for the observer.

Returns

ObservableImpl

The current instance for chaining.

Overrides

Observable.unsubscribe

Defined in

packages/core/src/event/ObservableImpl.ts:119

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageFactory/index.html b/api/classes/ima_core.PageFactory/index.html deleted file mode 100644 index dfb2e73fc..000000000 --- a/api/classes/ima_core.PageFactory/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -Class: PageFactory | IMA.js - - - - -
-
Skip to main content

Class: PageFactory

@ima/core.PageFactory

Factory for page.

Constructors

constructor

new PageFactory(oc)

Factory used by page management classes.

Parameters

NameType
ocObjectContainer

Defined in

packages/core/src/page/PageFactory.ts:24

Properties

_oc

_oc: ObjectContainer

The current application object container.

Defined in

packages/core/src/page/PageFactory.ts:19

Methods

createController

createController(controller, options): Controller\<{}, {}, {}>

Create new instance of Controller.

Parameters

NameType
controllerRouteController
optionsRouteOptions

Returns

Controller\<{}, {}, {}>

Defined in

packages/core/src/page/PageFactory.ts:31


createView

createView\<V>(view): Constructor\<keyof OCAliasMap | Constructor\<any>> | V & Function

Retrieves the specified react component class.

Type parameters

NameType
Vextends keyof OCAliasMap | Constructor\<any> | (...args: any[]) => any

Parameters

NameTypeDescription
viewVThe namespace referring to a react component class, or a react component class constructor.

Returns

Constructor\<keyof OCAliasMap | Constructor\<any>> | V & Function

The react component class -constructor.

Defined in

packages/core/src/page/PageFactory.ts:84


decorateController

decorateController(controller): ControllerDecorator\<{}, {}, {}>

Returns decorated controller for ease setting seo params in controller.

Parameters

NameType
controllerController\<{}, {}, {}>

Returns

ControllerDecorator\<{}, {}, {}>

Defined in

packages/core/src/page/PageFactory.ts:105


decoratePageStateManager

decoratePageStateManager(pageStateManager, allowedStateKeys): PageStateManagerDecorator

Returns decorated page state manager for extension.

Parameters

NameType
pageStateManagerPageStateManager\<{}>
allowedStateKeysstring[]

Returns

PageStateManagerDecorator

Defined in

packages/core/src/page/PageFactory.ts:124

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageHandler/index.html b/api/classes/ima_core.PageHandler/index.html deleted file mode 100644 index 6cde8d98a..000000000 --- a/api/classes/ima_core.PageHandler/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Class: PageHandler | IMA.js - - - - -
-
Skip to main content

Class: PageHandler

@ima/core.PageHandler

Hierarchy

Constructors

constructor

new PageHandler()

Methods

destroy

destroy(): void

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

void

Defined in

packages/core/src/page/handler/PageHandler.ts:50


handlePostManagedState

handlePostManagedState(managedPage, previousManagedPage, action): void

Called after a PageManager finishes transition from previous page to -a new one.

Parameters

NameTypeDescription
managedPagenull | ManagedPageThe currently managed page.
previousManagedPageManagedPageThe data of the page that was previously managed.
actionPageActionAn action object describing what triggered the routing.

Returns

void

Defined in

packages/core/src/page/handler/PageHandler.ts:38


handlePreManagedState

handlePreManagedState(managedPage, nextManagedPage, action): void

Called before a PageManager starts to transition from previous page to -a new one.

Parameters

NameTypeDescription
managedPagenull | ManagedPageThe currently managed page - soon-to-be previously managed page.
nextManagedPageManagedPageThe data of the page that's about to be managed.
actionPageActionAn action object describing what triggered the routing.

Returns

void

Defined in

packages/core/src/page/handler/PageHandler.ts:21


init

init(): void

Initializes the page handler.

Returns

void

Defined in

packages/core/src/page/handler/PageHandler.ts:7

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageHandlerRegistry/index.html b/api/classes/ima_core.PageHandlerRegistry/index.html deleted file mode 100644 index 27a28917d..000000000 --- a/api/classes/ima_core.PageHandlerRegistry/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -Class: PageHandlerRegistry | IMA.js - - - - -
-
Skip to main content

Class: PageHandlerRegistry

@ima/core.PageHandlerRegistry

Hierarchy

Constructors

constructor

new PageHandlerRegistry(...pageHandlers)

Creates an instance of HandlerRegistry and creates SerialBatch -instance for pre-handlers and post-handlers.

Parameters

NameType
...pageHandlersPageHandler[]

Memberof

HandlerRegistry

Overrides

PageHandler.constructor

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:19

Properties

_pageHandlers

Protected _pageHandlers: PageHandler[]

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:8


_postManageHandlers

Protected Optional _postManageHandlers: Execution

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:10


_preManageHandlers

Protected Optional _preManageHandlers: Execution

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:9


ExecutionMethod

Static ExecutionMethod: typeof SerialBatch = SerialBatch

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:12

Methods

destroy

destroy(): void

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

void

Overrides

PageHandler.destroy

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:87


handlePostManagedState

handlePostManagedState(managedPage, previousManagedPage, action): Promise\<unknown>

Executes the post-manage handlers with given arguments

Parameters

NameType
managedPagenull | ManagedPage
previousManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Overrides

PageHandler.handlePostManagedState

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:72


handlePreManagedState

handlePreManagedState(managedPage, nextManagedPage, action): Promise\<unknown>

Executes the pre-manage handlers with given arguments

Parameters

NameType
managedPagenull | ManagedPage
nextManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Overrides

PageHandler.handlePreManagedState

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:53


init

init(): void

Initializes the page handler.

Returns

void

Overrides

PageHandler.init

Defined in

packages/core/src/page/handler/PageHandlerRegistry.ts:28

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageManager/index.html b/api/classes/ima_core.PageManager/index.html deleted file mode 100644 index bc2b92195..000000000 --- a/api/classes/ima_core.PageManager/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - -Class: PageManager | IMA.js - - - - -
-
Skip to main content

Class: PageManager

@ima/core.PageManager

The page manager is a utility for managing the current controller and its -view.

Hierarchy

Constructors

constructor

new PageManager()

Methods

destroy

destroy(): Promise\<unknown>

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

Promise\<unknown>

Defined in

packages/core/src/page/manager/PageManager.ts:68


init

init(): void

Initializes the page manager.

Returns

void

Defined in

packages/core/src/page/manager/PageManager.ts:20


manage

manage(args): Promise\<unknown>

Starts to manage the provided controller and its view. The manager -stops the management of any previously managed controller and view.

The controller and view will be initialized and rendered either into the -UI (at the client-side) or to the response to send to the client (at the -server-side).

Parameters

NameType
argsManageArgs

Returns

Promise\<unknown>

A promise that will resolve to information about the rendered page. -The status will contain the HTTP status code to send to the -client (at the server side) or determine the type of error page -to navigate to (at the client side).

Defined in

packages/core/src/page/manager/PageManager.ts:53


postManage

postManage(): void

Called by router after currently managed route is resolved.

Returns

void

Defined in

packages/core/src/page/manager/PageManager.ts:60


preManage

preManage(): Promise\<void>

Pre manage handler, should be called and awaited before tryint to handle -new route handler. This pre manage takes care of canceling any currently -executed route handlers and returns promise which is resolved when previous -page finished loading (even if it got canceled).

Returns

Promise\<void>

Defined in

packages/core/src/page/manager/PageManager.ts:30

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageMetaHandler/index.html b/api/classes/ima_core.PageMetaHandler/index.html deleted file mode 100644 index 075eed4ad..000000000 --- a/api/classes/ima_core.PageMetaHandler/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Class: PageMetaHandler | IMA.js - - - - -
-
Skip to main content

Class: PageMetaHandler

@ima/core.PageMetaHandler

Hierarchy

Constructors

constructor

new PageMetaHandler(window, metaManager)

Parameters

NameType
windowWindow
metaManagerMetaManager

Overrides

PageHandler.constructor

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:21

Properties

#managed

Private #managed: boolean = false

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:15


#metaManager

Private #metaManager: MetaManager

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:14


#window

Private #window: Window

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:13

Accessors

$dependencies

Static get $dependencies(): (typeof Window | typeof MetaManager)[]

Returns

(typeof Window | typeof MetaManager)[]

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:17

Methods

#sanitizeValue

Private #sanitizeValue(value): null | string

Parameters

NameType
valueMetaValue

Returns

null | string

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:124


#selectMetaTags

Private #selectMetaTags(): NodeList

Returns

NodeList

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:128


#updateMetaAttributes

Private #updateMetaAttributes(): void

Update specified meta or link tags in DOM.

Returns

void

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:59


#updateMetaTag

Private #updateMetaTag\<K>(iterator, tagName, keyName): void

Helper to update specific meta tags in page document.

Type parameters

NameType
Kextends MetaManagerRecordKeys

Parameters

NameTypeDescription
iteratornever[] | IterableIterator\<[string, MetaManagerRecord\<K>]>Collection of meta records to update.
tagName"link" | "meta"Tag name for the given collection.
keyName"name" | "rel" | "property"-

Returns

void

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:93


destroy

destroy(): void

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

void

Inherited from

PageHandler.destroy

Defined in

packages/core/src/page/handler/PageHandler.ts:50


handlePostManagedState

handlePostManagedState(): void

Called after a PageManager finishes transition from previous page to -a new one.

Returns

void

Overrides

PageHandler.handlePostManagedState

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:38


handlePreManagedState

handlePreManagedState(): void

Called before a PageManager starts to transition from previous page to -a new one.

Returns

void

Overrides

PageHandler.handlePreManagedState

Defined in

packages/core/src/page/handler/PageMetaHandler.ts:31


init

init(): void

Initializes the page handler.

Returns

void

Inherited from

PageHandler.init

Defined in

packages/core/src/page/handler/PageHandler.ts:7

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageNavigationHandler/index.html b/api/classes/ima_core.PageNavigationHandler/index.html deleted file mode 100644 index 61a00472a..000000000 --- a/api/classes/ima_core.PageNavigationHandler/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -Class: PageNavigationHandler | IMA.js - - - - -
-
Skip to main content

Class: PageNavigationHandler

@ima/core.PageNavigationHandler

Hierarchy

Constructors

constructor

new PageNavigationHandler(window)

Parameters

NameTypeDescription
windowWindowThe utility for manipulating the global context and global client-side-specific APIs.

Overrides

PageHandler.constructor

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:18

Properties

#preManaged

Private #preManaged: boolean = false

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:10


_window

Protected _window: Window

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:8


$dependencies

Static $dependencies: Dependencies

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:12

Methods

_saveScrollHistory

_saveScrollHistory(): void

Save user's scroll state to history.

Replace scroll values in current state for actual scroll values in -document.

Returns

void

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:104


_scrollTo

_scrollTo(«destructured»): void

Scrolls to give coordinates on a page.

Parameters

NameType
«destructured»Object

Returns

void

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:121


_setAddressBar

_setAddressBar(url, isRedirection): void

Sets the provided URL to the browser's address bar by pushing or replacing a new -state to the history.

The state object pushed to or replaced in the history will be an object with the -following structure: {url: string}. The url field will -be set to the provided URL.

Parameters

NameTypeDescription
urlstringThe URL.
isRedirectionbooleanIf replaceState should be used instead of pushState.

Returns

void

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:138


destroy

destroy(): void

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

void

Inherited from

PageHandler.destroy

Defined in

packages/core/src/page/handler/PageHandler.ts:50


handlePostManagedState

handlePostManagedState(managedPage, previousManagedPage, action): void

Called after a PageManager finishes transition from previous page to -a new one.

Parameters

NameTypeDescription
managedPageManagedPageThe currently managed page.
previousManagedPageManagedPageThe data of the page that was previously managed.
actionPageActionAn action object describing what triggered the routing.

Returns

void

Overrides

PageHandler.handlePostManagedState

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:84


handlePreManagedState

handlePreManagedState(managedPage, nextManagedPage, action): void

Called before a PageManager starts to transition from previous page to -a new one.

Parameters

NameTypeDescription
managedPageManagedPageThe currently managed page - soon-to-be previously managed page.
nextManagedPageManagedPageThe data of the page that's about to be managed.
actionPageActionAn action object describing what triggered the routing.

Returns

void

Overrides

PageHandler.handlePreManagedState

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:43


init

init(): void

Initializes the page handler.

Returns

void

Overrides

PageHandler.init

Defined in

packages/core/src/page/handler/PageNavigationHandler.ts:31

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageRenderer/index.html b/api/classes/ima_core.PageRenderer/index.html deleted file mode 100644 index a82817a78..000000000 --- a/api/classes/ima_core.PageRenderer/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -Class: PageRenderer | IMA.js - - - - -
-
Skip to main content

Class: PageRenderer

@ima/core.PageRenderer

The page renderer is a utility for rendering the page at either the -client-side or the server-side, handling the differences in the environment.

Constructors

constructor

new PageRenderer()

Methods

mount

mount(controller, view, pageResources, routeOptions): Promise\<void | PageData>

Renders the page using the provided controller and view. The actual -behavior of this method differs at the client-side and the at -server-side in the following way:

At the server, the method first waits for all the resources to load, and -then renders the page to a string containing HTML markup to send to the -client.

At the client, the method uses the already available resources to render -the page into DOM, re-using the DOM created from the HTML markup send by -the server if possible. After this the method will re-render the page -every time another resource being loaded finishes its loading and -becomes available.

Note that the method renders the page at the client-side only after all -resources have been loaded if this is the first time this method is -invoked at the client.

Parameters

NameTypeDescription
controllerController\<{}, {}, {}>The current page controller.
viewunknownThe page's view.
pageResourcesUnknownPromiseParametersThe resources for the view loaded by the controller.
routeOptionsRouteOptionsThe current route options.

Returns

Promise\<void | PageData>

A promise that will resolve to information about the -rendered page. The status will contain the HTTP status -code to send to the client (at the server side) or determine the -type of error page to navigate to (at the client side).

Defined in

packages/core/src/page/renderer/PageRenderer.ts:62


setState

setState(state): Promise\<void>

Sets the provided state to the currently rendered view.

This method has no effect at the server-side.

Parameters

NameTypeDescription
stateUnknownParametersThe state to set to the currently rendered view.

Returns

Promise\<void>

Defined in

packages/core/src/page/renderer/PageRenderer.ts:119


unmount

unmount(): void

Unmounts the view from the DOM.

This method has no effect at the server-side.

Returns

void

Defined in

packages/core/src/page/renderer/PageRenderer.ts:107


update

update(controller, view, resourcesUpdate, routeOptions): Promise\<void | PageData>

Handles update of the current route that does not replace the current -controller and view.

The method will use the already available resource to update the -controller's state and the view immediately. After that, the method will -update the controller's state and view with every resource that becomes -resolved.

Parameters

NameTypeDescription
controllerController\<{}, {}, {}>The current page controller.
viewunknownThe page's view.
resourcesUpdateUnknownPromiseParametersThe resources that represent the update the of current state according to the current route and its parameters.
routeOptionsRouteOptionsThe current route options.

Returns

Promise\<void | PageData>

A promise that will resolve to information about the -rendered page. The status will contain the HTTP status -code to send to the client (at the server side) or determine the -type of error page to navigate to (at the client side). -The content field will contain the rendered markup of -the page at the server-side, or null at the client-side.

Defined in

packages/core/src/page/renderer/PageRenderer.ts:93

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageStateManager/index.html b/api/classes/ima_core.PageStateManager/index.html deleted file mode 100644 index 52ecf2f11..000000000 --- a/api/classes/ima_core.PageStateManager/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -Class: PageStateManager<S> | IMA.js - - - - -
-
Skip to main content

Class: PageStateManager<S>

@ima/core.PageStateManager

Manager of the current page state and state history.

Type parameters

NameType
Sextends PageState = {}

Hierarchy

Constructors

constructor

new PageStateManager\<S>()

Type parameters

NameType
Sextends PageState = {}

Properties

onChange

Optional onChange: (newState: S) => void

Type declaration

▸ (newState): void

Parameters
NameType
newStateS
Returns

void

Defined in

packages/core/src/page/state/PageStateManager.ts:7

Methods

beginTransaction

beginTransaction(): void

Starts queueing state patches off the main state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Defined in

packages/core/src/page/state/PageStateManager.ts:64


cancelTransaction

cancelTransaction(): void

Cancels ongoing transaction. Uncommitted state changes are lost.

Returns

void

Defined in

packages/core/src/page/state/PageStateManager.ts:79


clear

clear(): void

Clears the state history.

Returns

void

Defined in

packages/core/src/page/state/PageStateManager.ts:12


commitTransaction

commitTransaction(): void

Applies queued state patches to the main state. All patches are squashed -and applied with one setState call.

Returns

void

Defined in

packages/core/src/page/state/PageStateManager.ts:72


getAllStates

getAllStates(): S[]

Returns the recorded history of page states. The states will be -chronologically sorted from the oldest to the newest.

Note that the implementation may limit the size of the recorded history, -therefore the complete history may not be available.

Returns

S[]

The recorded history of page states.

Defined in

packages/core/src/page/state/PageStateManager.ts:44


getState

getState(): S

Returns the current page state.

Returns

S

The current page state.

Defined in

packages/core/src/page/state/PageStateManager.ts:31


getTransactionStatePatches

getTransactionStatePatches(): (null | S | Pick\<S, any>)[]

Returns queueing state patches off the main state from the begin of transaction.

Returns

(null | S | Pick\<S, any>)[]

State patches from the begin of transaction.

Defined in

packages/core/src/page/state/PageStateManager.ts:53


setState

setState\<K>(patchState): void

Sets a new page state by applying the provided patch to the current -state.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
patchStatenull | S | Pick\<S, K>

Returns

void

Defined in

packages/core/src/page/state/PageStateManager.ts:22

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageStateManagerDecorator/index.html b/api/classes/ima_core.PageStateManagerDecorator/index.html deleted file mode 100644 index 6bf0c2cf7..000000000 --- a/api/classes/ima_core.PageStateManagerDecorator/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -Class: PageStateManagerDecorator | IMA.js - - - - -
-
Skip to main content

Class: PageStateManagerDecorator

@ima/core.PageStateManagerDecorator

Decorator for page state manager, which add logic for limiting Extension -competence.

Hierarchy

Constructors

constructor

new PageStateManagerDecorator(pageStateManager, allowedStateKeys)

Initializes the page state manager decorator.

Parameters

NameType
pageStateManagerPageStateManager\<{}>
allowedStateKeysstring[]

Overrides

PageStateManager.constructor

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:25

Properties

_allowedStateKeys

Private _allowedStateKeys: string[]

Array of access keys for state.

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:17


_pageStateManager

Private _pageStateManager: PageStateManager\<{}>

The current page state manager.

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:13


onChange

Optional onChange: (newState: {}) => void

Type declaration

▸ (newState): void

Parameters
NameType
newStateObject
Returns

void

Inherited from

PageStateManager.onChange

Defined in

packages/core/src/page/state/PageStateManager.ts:7

Methods

beginTransaction

beginTransaction(): void

Starts queueing state patches off the main state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Overrides

PageStateManager.beginTransaction

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:89


cancelTransaction

cancelTransaction(): void

Cancels ongoing transaction. Uncommitted state changes are lost.

Returns

void

Overrides

PageStateManager.cancelTransaction

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:103


clear

clear(): void

Clears the state history.

Returns

void

Overrides

PageStateManager.clear

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:39


commitTransaction

commitTransaction(): void

Applies queued state patches to the main state. All patches are squashed -and applied with one setState call.

Returns

void

Overrides

PageStateManager.commitTransaction

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:96


getAllStates

getAllStates(): {}[]

Returns the recorded history of page states. The states will be -chronologically sorted from the oldest to the newest.

Note that the implementation may limit the size of the recorded history, -therefore the complete history may not be available.

Returns

{}[]

The recorded history of page states.

Overrides

PageStateManager.getAllStates

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:75


getState

getState(): Object

Returns the current page state.

Returns

Object

The current page state.

Overrides

PageStateManager.getState

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:68


getTransactionStatePatches

getTransactionStatePatches(): (null | {} | Pick\<{}, any>)[]

Returns queueing state patches off the main state from the begin of transaction.

Returns

(null | {} | Pick\<{}, any>)[]

State patches from the begin of transaction.

Overrides

PageStateManager.getTransactionStatePatches

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:82


setState

setState(statePatch): void

Sets a new page state by applying the provided patch to the current -state.

Parameters

NameType
statePatchUnknownParameters

Returns

void

Overrides

PageStateManager.setState

Defined in

packages/core/src/page/state/PageStateManagerDecorator.ts:46

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PageStateManagerImpl/index.html b/api/classes/ima_core.PageStateManagerImpl/index.html deleted file mode 100644 index fe7238b2a..000000000 --- a/api/classes/ima_core.PageStateManagerImpl/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -Class: PageStateManagerImpl<S> | IMA.js - - - - -
-
Skip to main content

Class: PageStateManagerImpl<S>

@ima/core.PageStateManagerImpl

The implementation of the PageStateManager interface.

Type parameters

NameType
Sextends PageState = {}

Hierarchy

Constructors

constructor

new PageStateManagerImpl\<S>(dispatcher)

Initializes the page state manager.

Type parameters

NameType
Sextends PageState = {}

Parameters

NameTypeDescription
dispatcherDispatcherDispatcher fires events to app.

Overrides

PageStateManager.constructor

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:40

Properties

_cursor

Private _cursor: number = -1

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:25


_dispatcher

Private _dispatcher: Dispatcher

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:26


_ongoingTransaction

Private _ongoingTransaction: boolean = false

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:27


_statePatchQueue

Private _statePatchQueue: (null | S | Pick\<S, any>)[] = []

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:28


_states

Private _states: S[] = []

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:29


onChange

Optional onChange: (newState: S) => void

Type declaration

▸ (newState): void

Parameters
NameType
newStateS
Returns

void

Inherited from

PageStateManager.onChange

Defined in

packages/core/src/page/state/PageStateManager.ts:7

Accessors

$dependencies

Static get $dependencies(): typeof Dispatcher[]

Returns

typeof Dispatcher[]

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:31

Methods

_callOnChangeCallback

_callOnChangeCallback(newState): void

Call registered callback function on (@link onChange) with newState.

Parameters

NameType
newStateS

Returns

void

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:175


_eraseExcessHistory

_eraseExcessHistory(): void

Erase the oldest state from storage only if it exceed max -defined size of history.

Returns

void

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:157


_pushToHistory

_pushToHistory(newState): void

Push new state to history storage.

Parameters

NameType
newStateS

Returns

void

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:167


beginTransaction

beginTransaction(): void

Starts queueing state patches off the main state. While the transaction -is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will -return state as it was before the transaction.

Returns

void

Overrides

PageStateManager.beginTransaction

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:106


cancelTransaction

cancelTransaction(): void

Cancels ongoing transaction. Uncommitted state changes are lost.

Returns

void

Overrides

PageStateManager.cancelTransaction

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:148


clear

clear(): void

Clears the state history.

Returns

void

Overrides

PageStateManager.clear

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:49


commitTransaction

commitTransaction(): void

Applies queued state patches to the main state. All patches are squashed -and applied with one setState call.

Returns

void

Overrides

PageStateManager.commitTransaction

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:123


getAllStates

getAllStates(): S[]

Returns the recorded history of page states. The states will be -chronologically sorted from the oldest to the newest.

Note that the implementation may limit the size of the recorded history, -therefore the complete history may not be available.

Returns

S[]

The recorded history of page states.

Overrides

PageStateManager.getAllStates

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:92


getState

getState(): S

Returns the current page state.

Returns

S

The current page state.

Overrides

PageStateManager.getState

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:85


getTransactionStatePatches

getTransactionStatePatches(): (null | S | Pick\<S, any>)[]

Returns queueing state patches off the main state from the begin of transaction.

Returns

(null | S | Pick\<S, any>)[]

State patches from the begin of transaction.

Overrides

PageStateManager.getTransactionStatePatches

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:99


setState

setState\<K>(patchState): number | void

Sets a new page state by applying the provided patch to the current -state.

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
patchStatenull | S | Pick\<S, K>

Returns

number | void

Overrides

PageStateManager.setState

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:59

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.PluginLoader/index.html b/api/classes/ima_core.PluginLoader/index.html deleted file mode 100644 index 19ab4b5d8..000000000 --- a/api/classes/ima_core.PluginLoader/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Class: PluginLoader | IMA.js - - - - -
-
Skip to main content

Class: PluginLoader

@ima/core.PluginLoader

Plugin loader utility used to register external IMA.js plugins. This -adds ability for external packages to automatically hook into several -IMA.js application parts and automatically bootstrap certain settings.

Constructors

constructor

Private new PluginLoader()

Initializes the plugin loader.

This is private constructor and should not be used outside of this file. -You should use the exported instance to register ima.js plugins.

Example

import { pluginLoader } from '@ima/core';

@private

Defined in

packages/core/src/pluginLoader.ts:26

Properties

_bootstrap

Protected Optional _bootstrap: Bootstrap

Defined in

packages/core/src/pluginLoader.ts:14


_plugins

Protected _plugins: Record\<string, { name: string ; plugin: InitPluginConfig }>

Defined in

packages/core/src/pluginLoader.ts:10

Methods

getPlugins

getPlugins(): { name: string ; plugin: InitPluginConfig }[]

Returns array of registered IMA.js plugins.

Returns

{ name: string ; plugin: InitPluginConfig }[]

Array of IMA.js plugins.

Defined in

packages/core/src/pluginLoader.ts:88


init

init(bootstrap): void

Initializes the plugin loader with bootstrap instance. Which is later used -to handle dynamically loaded IMA.js plugins.

Parameters

NameTypeDescription
bootstrapBootstrapApp bootstrap instance.

Returns

void

Defined in

packages/core/src/pluginLoader.ts:36


register

register(name, registerFn): void

Registers plugin into IMA.js bootstrap sequence.

Parameters

NameTypeDescription
namestringPlugin name.
registerFn(ns: Namespace) => void | InitPluginConfigPlugin initialization function.

Returns

void

Example

pluginLoader.register('@ima/plugin-logger', ns => {
ns.set('ima.plugin.logger', logger);

return {
initSettings,
initServices,
initBind,
};
});

Defined in

packages/core/src/pluginLoader.ts:57

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Request/index.html b/api/classes/ima_core.Request/index.html deleted file mode 100644 index c62c94fa2..000000000 --- a/api/classes/ima_core.Request/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -Class: Request | IMA.js - - - - -
-
Skip to main content

Class: Request

@ima/core.Request

Wrapper for the ExpressJS request, exposing only the necessary minimum.

Constructors

constructor

new Request()

Properties

_request

Protected Optional _request: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>

The current ExpressJS request object, or null if running at -the client side.

Defined in

packages/core/src/router/Request.ts:14

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/router/Request.ts:16

Methods

getBody

getBody(): any

Returns body of request.

Returns

any

Defined in

packages/core/src/router/Request.ts:68


getCookieHeader

getCookieHeader(): undefined | string

Returns the Cookie HTTP header value.

Returns

undefined | string

The value of the Cookie header.

Defined in

packages/core/src/router/Request.ts:45


getFile

getFile(): any

Returns uploaded file to server and meta information.

Returns

any

Defined in

packages/core/src/router/Request.ts:52


getFiles

getFiles(): any

Returns uploaded files to server with their meta information.

Returns

any

Defined in

packages/core/src/router/Request.ts:60


getHeader

getHeader(header): null | string

Returns the specified HTTP request header.

Parameters

NameType
headerstring

Returns

null | string

Defined in

packages/core/src/router/Request.ts:75


getIP

getIP(): null | string

Returns the remote IP address of the request.

Returns

null | string

Defined in

packages/core/src/router/Request.ts:82


getIPs

getIPs(): string[]

Returns array of IP addresses specified in the “X-Forwarded-For” -request header.

Returns

string[]

Defined in

packages/core/src/router/Request.ts:90


getMethod

getMethod(): string

Returns

string

Defined in

packages/core/src/router/Request.ts:94


getPath

getPath(): string

Returns the path part of the URL to which the request was made.

Returns

string

The path to which the request was made.

Defined in

packages/core/src/router/Request.ts:36


init

init(request): void

Initializes the request using the provided ExpressJS request object.

Parameters

NameTypeDescription
requestRequest\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>The ExpressJS request object representing the current request. Use null at the client side.

Returns

void

Defined in

packages/core/src/router/Request.ts:27

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Response/index.html b/api/classes/ima_core.Response/index.html deleted file mode 100644 index 9f8bce358..000000000 --- a/api/classes/ima_core.Response/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Class: Response | IMA.js - - - - -
-
Skip to main content

Class: Response

@ima/core.Response

Wrapper for the ExpressJS response, exposing only the necessary minimum.

Constructors

constructor

new Response()

Properties

_cookieTransformFunction

Protected _cookieTransformFunction: CookieTransformFunction

Transform function for cookie value.

Defined in

packages/core/src/router/Response.ts:35


_internalCookieStorage

Protected _internalCookieStorage: Map\<string, { options: CookieOptions ; value: string }>

Internal cookie storage for Set-Cookie header.

Defined in

packages/core/src/router/Response.ts:27


_internalHeadersStorage

Protected _internalHeadersStorage: UnknownParameters = {}

Defined in

packages/core/src/router/Response.ts:31


_response

Protected Optional _response: Response\<any, Record\<string, any>>

The ExpressJS response object, or undefined if running at the -client side.

Defined in

packages/core/src/router/Response.ts:23

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/router/Response.ts:40

Methods

getResponseParams

getResponseParams(): Object

Return object which contains response headers and cookie.

Returns

Object

NameType
cookieMap\<string, { options: CookieOptions ; value: string }>
headersUnknownParameters

Defined in

packages/core/src/router/Response.ts:172


init

init(response, cookieTransformFunction?): Response

Initializes this response wrapper with the provided ExpressJS response -object.

Parameters

NameTypeDescription
responseResponse\<any, Record\<string, any>>The ExpressJS response, or null if the code is running at the client side.
cookieTransformFunctionObject-

Returns

Response

This response.

Defined in

packages/core/src/router/Response.ts:53


redirect

redirect(url, options?): void

Redirects the client to the specified location, with the specified -redirect HTTP response code.

For full list of HTTP response status codes see -http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Use this method only at the server side.

Parameters

NameTypeDescription
urlstringThe URL to which the client should be redirected. @param[status=302] The HTTP status code to send to the client.
optionsPartial\<RouteOptions>-

Returns

void

This response.

Defined in

packages/core/src/router/Response.ts:80


setCookie

setCookie(name, value, options?): Response

Sets a cookie, which will be sent to the client with the response.

Parameters

NameTypeDescription
namestringThe cookie name.
valuestring | number | booleanThe cookie value, will be converted to string.
optionsCookieOptionsCookie attributes. Only the attributes listed in the type annotation of this field are supported. For documentation and full list of cookie attributes see http://tools.ietf.org/html/rfc2965#page-5

Returns

Response

This response.

Defined in

packages/core/src/router/Response.ts:117


setHeader

setHeader(name, value): Response

Sets a header, which will be sent to the client with the response.

Parameters

NameTypeDescription
namestringThe header name.
valueunknownThe header value, will be

Returns

Response

This response.

Defined in

packages/core/src/router/Response.ts:153

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.RouteFactory/index.html b/api/classes/ima_core.RouteFactory/index.html deleted file mode 100644 index 63c8f8194..000000000 --- a/api/classes/ima_core.RouteFactory/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Class: RouteFactory | IMA.js - - - - -
-
Skip to main content

Class: RouteFactory

@ima/core.RouteFactory

Utility factory used by router to create routes.

Constructors

constructor

new RouteFactory()

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/router/RouteFactory.ts:10

Methods

createRoute

createRoute(name, pathExpression, controller, view, options?): DynamicRoute | StaticRoute

Create new instance of ima.core.router.AbstractRoute.

Parameters

NameTypeDescription
namestringThe unique name of this route, identifying it among the rest of the routes in the application.
pathExpressionstring | RoutePathExpressionA path expression specifying either the URL path part matching this route (must not\ contain a query string) with optionally containing named parameter placeholders specified as :parameterName. Or object defining matcher in form of regular expression and toPath and extractParameters function overrides.
controllerAsyncRouteControllerThe full name of Object Container alias identifying the controller associated with this route.
viewAsyncRouteViewThe full name or Object Container alias identifying the view class associated with this route.
options?Partial\<RouteFactoryOptions>The route additional options.

Returns

DynamicRoute | StaticRoute

The constructed route.

Defined in

packages/core/src/router/RouteFactory.ts:32

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Router/index.html b/api/classes/ima_core.Router/index.html deleted file mode 100644 index dd165dc8a..000000000 --- a/api/classes/ima_core.Router/index.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - -Class: Router | IMA.js - - - - -
-
Skip to main content

Class: Router

@ima/core.Router

The router manages the application's routing configuration and dispatches -controllers and views according to the current URL and the route it matches.

Hierarchy

Constructors

constructor

new Router()

Methods

add

add(name, pathExpression, controller, view, options?): Router

Adds a new route to router.

Parameters

NameTypeDescription
namestringThe unique name of this route, identifying it among the rest of the routes in the application.
pathExpressionstringA path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as :parameterName. The name of the parameter is terminated by a forward slash (/) or the end of the path expression string. The path expression may also contain optional parameters, which are specified as :?parameterName. It is recommended to specify the optional parameters at the end of the path expression.
controllerAsyncRouteControllerThe full name of Object Container alias identifying the controller associated with this route.
viewAsyncRouteViewThe full name or Object Container alias identifying the view class associated with this route.
options?Partial\<RouteOptions>Additional route options, specified how the navigation to the route will be handled. The onlyUpdate can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a boolean representing the value of the flag. This flag is disabled by default. The autoScroll flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.

Returns

Router

This router.

Throws

Thrown if a route with the same name already exists.

Defined in

packages/core/src/router/Router.ts:128


getBaseUrl

getBaseUrl(): string

Returns the application's absolute base URL, pointing to the public root -of the application.

Returns

string

The application's base URL.

Defined in

packages/core/src/router/Router.ts:199


getCurrentRouteInfo

getCurrentRouteInfo(): Object

Returns the information about the currently active route.

Returns

Object

NameType
paramsRouteParams
pathstring
routeAbstractRoute\<string | RoutePathExpression>

Throws

Thrown if a route is not define for current path.

Defined in

packages/core/src/router/Router.ts:237


getDomain

getDomain(): string

Returns the application's domain in the following form -${protocol}//${host}.

Returns

string

The current application's domain.

Defined in

packages/core/src/router/Router.ts:209


getHost

getHost(): string

Returns application's host (domain and, if necessary, the port number).

Returns

string

The current application's host.

Defined in

packages/core/src/router/Router.ts:218


getPath

getPath(): string

Returns the current path part of the current URL, including the query -string (if any).

Returns

string

The path and query parts of the current URL.

Defined in

packages/core/src/router/Router.ts:180


getProtocol

getProtocol(): string

Returns the current protocol used to access the application, terminated -by a colon (for example https:).

Returns

string

The current application protocol used to access the -application.

Defined in

packages/core/src/router/Router.ts:229


getRouteHandler

getRouteHandler(name): undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Returns specified handler from registered route handlers.

Parameters

NameTypeDescription
namestringThe route's unique name.

Returns

undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Route with given name or undefined.

Defined in

packages/core/src/router/Router.ts:168


getUrl

getUrl(): string

Returns the current absolute URL (including protocol, host, query, etc).

Returns

string

The current absolute URL.

Defined in

packages/core/src/router/Router.ts:189


handleError

handleError(params, options?, locals?): Promise\<void | UnknownParameters>

Handles an internal server error by responding with the appropriate -"internal server error" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved when the error -has been handled and the response has been sent to the client, -or displayed if used at the client side.

Defined in

packages/core/src/router/Router.ts:374


handleNotFound

handleNotFound(params, options?, locals?): Promise\<void | UnknownParameters>

Handles a "not found" error by responding with the appropriate "not -found" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Defined in

packages/core/src/router/Router.ts:396


init

init(config): void

Initializes the router with the provided configuration.

Parameters

NameTypeDescription
configObjectRouter configuration. The $Protocol field must be the current protocol used to access the application, terminated by a colon (for example https:). The $Root field must specify the URL path pointing to the application's root. The $LanguagePartPath field must be the URL path fragment used as a suffix to the $Root field that specifies the current language. The $Host field must be the application's domain (and the port number if other than the default is used) in the following form: ${protocol}//${host}.
config.$Hoststring-
config.$LanguagePartPathstring-
config.$Protocolstring-
config.$Rootstring-

Returns

void

Defined in

packages/core/src/router/Router.ts:84


isClientError

isClientError(reason): boolean

Tests, if possible, whether the specified error was caused by the -client's action (for example wrong URL or request encoding) or by a -failure at the server side.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -client.

Defined in

packages/core/src/router/Router.ts:413


isRedirection

isRedirection(reason): boolean

Tests, if possible, whether the specified error lead to redirection.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -redirection.

Defined in

packages/core/src/router/Router.ts:424


link(routeName, params): string

Generates an absolute URL (including protocol, domain, etc) for the -specified route by substituting the route's parameter placeholders with -the provided parameter values.

Parameters

NameTypeDescription
routeNamestringThe unique name of the route, identifying the route to use.
paramsRouteParamsParameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.

Returns

string

An absolute URL for the specified route and parameters.

Defined in

packages/core/src/router/Router.ts:332


listen

listen(): Router

Registers event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will start processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This -method has no effect at the server side.

Returns

Router

This router.

Defined in

packages/core/src/router/Router.ts:264


redirect

redirect(url, options?, action?, locals?): void

Redirects the client to the specified location.

At the server side the method results in responding to the client with a -redirect HTTP status code and the Location header.

At the client side the method updates the current URL by manipulating -the browser history (if the target URL is at the same domain and -protocol as the current one) or performs a hard redirect (if the target -URL points to a different protocol or domain).

The method will result in the router handling the new URL and routing -the client to the related page if the URL is set at the client side and -points to the same domain and protocol.

Parameters

NameTypeDescription
urlstringThe URL to which the client should be redirected.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

void

Defined in

packages/core/src/router/Router.ts:311


remove

remove(name): Router

Removes the specified route from the router's known routes.

Parameters

NameTypeDescription
namestringThe route's unique name, identifying the route to remove.

Returns

Router

This router.

Defined in

packages/core/src/router/Router.ts:158


route

route(path, options?, action?, locals?): Promise\<void | UnknownParameters>

Routes the application to the route matching the providing path, renders -the route page and sends the result to the client.

Parameters

NameTypeDescription
pathstringThe URL path part received from the client, with optional query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Defined in

packages/core/src/router/Router.ts:351


unlisten

unlisten(): Router

Unregisters event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will stop processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This method has no effect -at the server side.

Returns

Router

This router.

Defined in

packages/core/src/router/Router.ts:285


use

use(middleware): Router

Adds a new middleware to router.

Parameters

NameTypeDescription
middlewareRouterMiddlewareMiddleware function accepting routeParams as a first argument, which can be mutated and locals object as second argument. This can be used to pass data between middlewares.

Returns

Router

This router.

Throws

Thrown if a middleware with the same name already exists.

Defined in

packages/core/src/router/Router.ts:148

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.SerialBatch/index.html b/api/classes/ima_core.SerialBatch/index.html deleted file mode 100644 index 3c5d25284..000000000 --- a/api/classes/ima_core.SerialBatch/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Class: SerialBatch | IMA.js - - - - -
-
Skip to main content

Class: SerialBatch

@ima/core.SerialBatch

Basic implementation of the Execution interface. Provides the basic -functionality for appending and validating jobs.

Hierarchy

Constructors

constructor

new SerialBatch(jobs?)

Parameters

NameTypeDefault value
jobsExecutionJob[][]

Inherited from

AbstractExecution.constructor

Defined in

packages/core/src/execution/AbstractExecution.ts:13

Properties

_jobs

Protected _jobs: ExecutionJob[]

Inherited from

AbstractExecution._jobs

Defined in

packages/core/src/execution/AbstractExecution.ts:11

Methods

_executeJob

_executeJob(stage, args): Promise\<unknown>

Parameters

NameType
stageExecutionJob
argsunknown[]

Returns

Promise\<unknown>

Defined in

packages/core/src/execution/SerialBatch.ts:22


_validateJob

_validateJob(job): boolean

Return true if the given job can be executed

Parameters

NameType
jobExecutionJob

Returns

boolean

Inherited from

AbstractExecution._validateJob

Defined in

packages/core/src/execution/AbstractExecution.ts:44


append

append(jobs): void

Adds a new job to be executed. The job is appended at the end of the -list of current jobs therefore is executed last.

Parameters

NameTypeDescription
jobsExecutionJob | ExecutionJob[]The jobs to be executed.

Returns

void

Inherited from

AbstractExecution.append

Defined in

packages/core/src/execution/AbstractExecution.ts:22


execute

execute(...args): Promise\<unknown>

Start executing collected jobs. In the end a Promise is returned -with a resulting value. On the returned Promise a catch -method can be called to prevent any unwanted interruption.

Parameters

NameTypeDescription
...argsunknown[]Arguments to be passed when executing jobs

Returns

Promise\<unknown>

Overrides

AbstractExecution.execute

Defined in

packages/core/src/execution/SerialBatch.ts:8

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ServerPageManager/index.html b/api/classes/ima_core.ServerPageManager/index.html deleted file mode 100644 index b1bf5b48e..000000000 --- a/api/classes/ima_core.ServerPageManager/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -Class: ServerPageManager | IMA.js - - - - -
-
Skip to main content

Class: ServerPageManager

@ima/core.ServerPageManager

Page manager for controller on the server side.

Hierarchy

Constructors

constructor

new ServerPageManager(pageFactory, pageRenderer, pageStateManager, pageHandlerRegistry, dispatcher)

Initializes the page manager.

Parameters

NameTypeDescription
pageFactoryPageFactoryFactory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.
pageRendererPageRendererThe current renderer of the page.
pageStateManagerPageStateManager\<{}>The current page state manager.
pageHandlerRegistryPageHandlerRegistryInstance of HandlerRegistry that holds a list of pre-manage and post-manage handlers.
dispatcherDispatcher-

Inherited from

AbstractPageManager.constructor

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:95

Properties

_dispatcher

Protected _dispatcher: Dispatcher

Inherited from

AbstractPageManager._dispatcher

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:81


_managedPage

Protected _managedPage: ManagedPage

Details of the currently managed page.

Inherited from

AbstractPageManager._managedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:68


_pageFactory

Protected _pageFactory: PageFactory

Factory used by the page manager to create instances of the -controller for the current route, and decorate the controllers and -page state managers.

Inherited from

AbstractPageManager._pageFactory

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:63


_pageHandlerRegistry

Protected _pageHandlerRegistry: PageHandlerRegistry

A registry that holds a list of pre-manage and post-manage handlers.

Inherited from

AbstractPageManager._pageHandlerRegistry

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:80


_pageRenderer

Protected _pageRenderer: PageRenderer

The current renderer of the page.

Inherited from

AbstractPageManager._pageRenderer

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:72


_pageStateManager

Protected _pageStateManager: PageStateManager\<{}>

The current page state manager.

Inherited from

AbstractPageManager._pageStateManager

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:76


_previousManagedPage

Protected _previousManagedPage: ManagedPage

Snapshot of the previously managed page before it was replaced with -a new one

Inherited from

AbstractPageManager._previousManagedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:57

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/page/manager/ServerPageManager.ts:15

Methods

#cancelable

Private #cancelable\<T>(promise): Promise\<T>

Type parameters

Name
T

Parameters

NameType
promiseT

Returns

Promise\<T>

Inherited from

AbstractPageManager.#cancelable

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:845


_activateController

Protected _activateController(): Promise\<void>

Activate managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._activateController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:549


_activateExtensions

Protected _activateExtensions(): Promise\<void>

Activate extensions for managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._activateExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:563


_activatePageSource

Protected _activatePageSource(): Promise\<void>

Activate page source so call activate method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._activatePageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:529


_clearComponentState

_clearComponentState(options): void

The method clear state on current rendered component to DOM.

Parameters

NameTypeDescription
optionsRouteOptionsThe current route options.

Returns

void

Inherited from

AbstractPageManager._clearComponentState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:753


_constructManagedPageValue

Protected _constructManagedPageValue(controller, view, route, options, params, controllerInstance, decoratedController, viewInstance): ManagedPage

Parameters

NameType
controllerRouteController
viewunknown
routeAbstractRoute\<string | RoutePathExpression>
optionsRouteOptions
paramsRouteParams
controllerInstanceController\<PageState, RouteParams, PageState>
decoratedControllerControllerDecorator\<{}, {}, {}>
viewInstanceunknown

Returns

ManagedPage

Inherited from

AbstractPageManager._constructManagedPageValue

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:245


_deactivateController

Protected _deactivateController(): Promise\<void>

Deactivate last managed instance of controller only If controller was -activated.

Returns

Promise\<void>

Inherited from

AbstractPageManager._deactivateController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:691


_deactivateExtensions

Protected _deactivateExtensions(): Promise\<void>

Deactivate extensions for last managed instance of controller only if -they were activated.

Returns

Promise\<void>

Inherited from

AbstractPageManager._deactivateExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:702


_deactivatePageSource

Protected _deactivatePageSource(): Promise\<void>

Deactivate page source so call deactivate method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._deactivatePageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:677


_destroyController

Protected _destroyController(): Promise\<void>

Destroy last managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._destroyController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:726


_destroyExtensions

Protected _destroyExtensions(): Promise\<void>

Destroy extensions for last managed instance of controller.

Returns

Promise\<void>

Inherited from

AbstractPageManager._destroyExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:739


_destroyPageSource

Protected _destroyPageSource(): Promise\<void>

Destroy page source so call destroy method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._destroyPageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:714


_getInitialManagedPage

Protected _getInitialManagedPage(): ManagedPage

Clear value from managed page.

Returns

ManagedPage

Inherited from

AbstractPageManager._getInitialManagedPage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:302


_getLoadedControllerState

Protected _getLoadedControllerState(): Promise\<{}>

Load controller state from managed instance of controller.

Returns

Promise\<{}>

Inherited from

AbstractPageManager._getLoadedControllerState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:485


_getLoadedExtensionsState

Protected _getLoadedExtensionsState(controllerState?): Promise\<UnknownParameters>

Load extensions state from managed instance of controller.

Parameters

NameType
controllerState?UnknownParameters

Returns

Promise\<UnknownParameters>

Inherited from

AbstractPageManager._getLoadedExtensionsState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:501


_getUpdatedControllerState

Protected _getUpdatedControllerState(): {} | Promise\<{}>

Return updated controller state for current page controller.

Returns

{} | Promise\<{}>

Inherited from

AbstractPageManager._getUpdatedControllerState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:621


_getUpdatedExtensionsState

Protected _getUpdatedExtensionsState(controllerState?): Promise\<UnknownParameters>

Return updated extensions state for current page controller.

Parameters

NameType
controllerState?UnknownParameters

Returns

Promise\<UnknownParameters>

Inherited from

AbstractPageManager._getUpdatedExtensionsState

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:637


_hasOnlyUpdate

Protected _hasOnlyUpdate(controller, view, options): boolean

Return true if manager has to update last managed controller and view.

Parameters

NameType
controllerRouteController
viewunknown
optionsRouteOptions

Returns

boolean

Inherited from

AbstractPageManager._hasOnlyUpdate

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:769


_initController

Protected _initController(): Promise\<void>

Initializes managed instance of controller with the provided parameters.

Returns

Promise\<void>

Inherited from

AbstractPageManager._initController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:398


_initExtensions

Protected _initExtensions(): Promise\<void>

Initialize extensions for managed instance of controller with the -provided parameters.

Returns

Promise\<void>

Inherited from

AbstractPageManager._initExtensions

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:413


_initPageSource

Protected _initPageSource(): Promise\<void>

Initialize page source so call init method on controller and his -extensions.

Returns

Promise\<void>

Inherited from

AbstractPageManager._initPageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:383


_loadPageSource

Protected _loadPageSource(): Promise\<void | PageData>

Load page source so call load method on controller and his extensions. -Merge loaded state and render it.

Returns

Promise\<void | PageData>

Inherited from

AbstractPageManager._loadPageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:443


_runPostManageHandlers

Protected _runPostManageHandlers(previousManagedPage, action): Promise\<unknown>

Parameters

NameType
previousManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Inherited from

AbstractPageManager._runPostManageHandlers

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:809


_runPreManageHandlers

Protected _runPreManageHandlers(actualManagedPage, action): Promise\<unknown>

Parameters

NameType
actualManagedPageManagedPage
actionPageAction

Returns

Promise\<unknown>

Inherited from

AbstractPageManager._runPreManageHandlers

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:788


_setRestrictedPageStateManager

_setRestrictedPageStateManager(extension, extensionState): void

Set page state manager to extension which has restricted rights to set -global state.

Parameters

NameType
extensionExtension\<{}, {}, {}>
extensionStateUnknownParameters

Returns

void

Inherited from

AbstractPageManager._setRestrictedPageStateManager

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:342


_storeManagedPageSnapshot

Protected _storeManagedPageSnapshot(): void

Creates a cloned version of currently managed page and stores it in -a helper property. -Snapshot is used in manager handlers to easily determine differences -between the current and the previous state.

Returns

void

Inherited from

AbstractPageManager._storeManagedPageSnapshot

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:281


_stripManagedPageValueForPublic

Protected _stripManagedPageValueForPublic(value): Object

Removes properties we do not want to propagate outside of the page manager

Parameters

NameTypeDescription
valueManagedPageThe managed page object to strip down

Returns

Object

NameType
controllerRouteController
optionsRouteOptions
paramsRouteParams
routeAbstractRoute\<string | RoutePathExpression>
viewunknown

Inherited from

AbstractPageManager._stripManagedPageValueForPublic

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:332


_switchToPageStateManager

Protected _switchToPageStateManager(): void

Iterates over extensions of current controller and switches each one to -pageStateManager and clears their partial state.

Returns

void

Inherited from

AbstractPageManager._switchToPageStateManager

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:430


_switchToPageStateManagerAfterLoaded

_switchToPageStateManagerAfterLoaded(extension, extensionState): void

For defined extension switches to pageStageManager and clears partial state -after extension state is loaded.

Parameters

NameType
extensionExtension\<{}, {}, {}>
extensionStateUnknownParameters

Returns

void

Inherited from

AbstractPageManager._switchToPageStateManagerAfterLoaded

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:363


_updatePageSource

Protected _updatePageSource(): Promise\<void | PageData>

Update page source so call update method on controller and his -extensions. Merge updated state and render it.

Returns

Promise\<void | PageData>

Inherited from

AbstractPageManager._updatePageSource

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:580


destroy

destroy(): Promise\<void>

Finalization callback, called when the page manager is being discarded. -This usually happens when the page is hot-reloaded at the client side.

Returns

Promise\<void>

Inherited from

AbstractPageManager.destroy

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:232


getViewController

Protected getViewController(route): Promise\<{ controller: RouteController ; view: RouteView }>

Parameters

NameType
routeAbstractRoute\<string | RoutePathExpression>

Returns

Promise\<{ controller: RouteController ; view: RouteView }>

Inherited from

AbstractPageManager.getViewController

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:833


init

init(): void

Initializes the page manager.

Returns

void

Inherited from

AbstractPageManager.init

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:114


manage

manage(«destructured»): Promise\<void | PageData>

Starts to manage the provided controller and its view. The manager -stops the management of any previously managed controller and view.

The controller and view will be initialized and rendered either into the -UI (at the client-side) or to the response to send to the client (at the -server-side).

Parameters

NameType
«destructured»ManageArgs

Returns

Promise\<void | PageData>

A promise that will resolve to information about the rendered page. -The status will contain the HTTP status code to send to the -client (at the server side) or determine the type of error page -to navigate to (at the client side).

Inherited from

AbstractPageManager.manage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:133


postManage

postManage(): void

Called by router after currently managed route is resolved.

Returns

void

Inherited from

AbstractPageManager.postManage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:223


preManage

preManage(): Promise\<void>

Pre manage handler, should be called and awaited before tryint to handle -new route handler. This pre manage takes care of canceling any currently -executed route handlers and returns promise which is resolved when previous -page finished loading (even if it got canceled).

Returns

Promise\<void>

Inherited from

AbstractPageManager.preManage

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:123

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ServerRouter/index.html b/api/classes/ima_core.ServerRouter/index.html deleted file mode 100644 index e774527d9..000000000 --- a/api/classes/ima_core.ServerRouter/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -Class: ServerRouter | IMA.js - - - - -
-
Skip to main content

Class: ServerRouter

@ima/core.ServerRouter

The server-side implementation of the Router interface.

Hierarchy

Constructors

constructor

new ServerRouter(pageManager, factory, dispatcher, request, response, settings)

Initializes the router.

Parameters

NameTypeDescription
pageManagerPageManagerThe current page manager.
factoryRouteFactoryThe router factory used to create routes.
dispatcherDispatcherDispatcher fires events to app.
requestRequestThe current HTTP request.
responseResponseThe current HTTP response.
settingsundefined | number | { isSPARouted?: (url: string, action?: RouteAction) => boolean ; middlewareTimeout?: number }$Router settings.

Overrides

AbstractRouter.constructor

Defined in

packages/core/src/router/ServerRouter.ts:42

Properties

#request

Private #request: Request

Defined in

packages/core/src/router/ServerRouter.ts:18


#response

Private #response: Response

Defined in

packages/core/src/router/ServerRouter.ts:19


_currentMiddlewareId

Protected _currentMiddlewareId: number = 0

Middleware ID counter which is used to auto-generate unique middleware -names when adding them to routeHandlers map.

Inherited from

AbstractRouter._currentMiddlewareId

Defined in

packages/core/src/router/AbstractRouter.ts:92


_currentlyRoutedPath

Protected _currentlyRoutedPath: string = ''

Inherited from

AbstractRouter._currentlyRoutedPath

Defined in

packages/core/src/router/AbstractRouter.ts:93


_dispatcher

Protected _dispatcher: Dispatcher

Dispatcher fires events to app.

Inherited from

AbstractRouter._dispatcher

Defined in

packages/core/src/router/AbstractRouter.ts:62


_factory

Protected _factory: RouteFactory

Factory for routes.

Inherited from

AbstractRouter._factory

Defined in

packages/core/src/router/AbstractRouter.ts:58


_host

Protected _host: string = ''

The application's host.

Inherited from

AbstractRouter._host

Defined in

packages/core/src/router/AbstractRouter.ts:71


_isSPARouted

Protected _isSPARouted: undefined | (url: string, action?: RouteAction) => boolean

Inherited from

AbstractRouter._isSPARouted

Defined in

packages/core/src/router/AbstractRouter.ts:95


_languagePartPath

Protected _languagePartPath: string = ''

The URL path fragment used as a suffix to the _root field -that specifies the current language.

Inherited from

AbstractRouter._languagePartPath

Defined in

packages/core/src/router/AbstractRouter.ts:80


_middlewareTimeout

Protected _middlewareTimeout: number

Inherited from

AbstractRouter._middlewareTimeout

Defined in

packages/core/src/router/AbstractRouter.ts:94


_pageManager

Protected _pageManager: PageManager

The page manager handling UI rendering, and transitions between -pages if at the client side.

Inherited from

AbstractRouter._pageManager

Defined in

packages/core/src/router/AbstractRouter.ts:54


_protocol

Protected _protocol: string = ''

The current protocol used to access the application, terminated by a -colon (for example https:).

Inherited from

AbstractRouter._protocol

Defined in

packages/core/src/router/AbstractRouter.ts:67


_root

Protected _root: string = ''

The URL path pointing to the application's root.

Inherited from

AbstractRouter._root

Defined in

packages/core/src/router/AbstractRouter.ts:75


_routeHandlers

Protected _routeHandlers: Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Storage of all known routes and middlewares. The key are their names.

Inherited from

AbstractRouter._routeHandlers

Defined in

packages/core/src/router/AbstractRouter.ts:84

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/router/ServerRouter.ts:21

Methods

#addParamsFromOriginalRoute

Private #addParamsFromOriginalRoute(params): Object

Obtains original route that was handled before not-found / error route -and assigns its params to current params

Parameters

NameTypeDescription
paramsRouteParamsRoute params for not-found or error page

Returns

Object

Provided params merged with params -from original route

Inherited from

AbstractRouter.#addParamsFromOriginalRoute

Defined in

packages/core/src/router/AbstractRouter.ts:733


_extractRoutePath

Protected _extractRoutePath(path): string

Strips the URL path part that points to the application's root (base -URL) from the provided path.

Parameters

NameTypeDescription
pathstringRelative or absolute URL path.

Returns

string

URL path relative to the application's base URL.

Inherited from

AbstractRouter._extractRoutePath

Defined in

packages/core/src/router/AbstractRouter.ts:526


_getCurrentlyRoutedPath

_getCurrentlyRoutedPath(): string

Returns path that is stored in private property when a route -method is called.

Returns

string

Inherited from

AbstractRouter._getCurrentlyRoutedPath

Defined in

packages/core/src/router/AbstractRouter.ts:664


_getMiddlewaresForRoute

_getMiddlewaresForRoute(routeName): RouterMiddleware[]

Returns middlewares preceding given route name.

Parameters

NameType
routeNamestring

Returns

RouterMiddleware[]

Inherited from

AbstractRouter._getMiddlewaresForRoute

Defined in

packages/core/src/router/AbstractRouter.ts:642


_handle

_handle(route, params, options?, action?): Promise\<void | UnknownParameters>

Handles the provided route and parameters by initializing the route's -controller and rendering its state via the route's view.

The result is then sent to the client if used at the server side, or -displayed if used as the client side.

Parameters

NameTypeDescription
routeAbstractRoute\<string | RoutePathExpression>The route that should have its associated controller rendered via the associated view.
paramsRouteParamsParameters extracted from the URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.

Returns

Promise\<void | UnknownParameters>

A promise that resolves when the -page is rendered and the result is sent to the client, or -displayed if used at the client side.

Inherited from

AbstractRouter._handle

Defined in

packages/core/src/router/AbstractRouter.ts:549


_runMiddlewares

_runMiddlewares(middlewares, params, locals): Promise\<void>

Runs provided middlewares in sequence.

Parameters

NameTypeDescription
middlewaresundefined | RouterMiddleware[]Array of middlewares.
paramsRouteParamsRouter params that can be mutated by middlewares.
localsRouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void>

Inherited from

AbstractRouter._runMiddlewares

Defined in

packages/core/src/router/AbstractRouter.ts:677


add

add(name, pathExpression, controller, view, options?): ServerRouter

Adds a new route to router.

Parameters

NameTypeDescription
namestringThe unique name of this route, identifying it among the rest of the routes in the application.
pathExpressionstringA path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as :parameterName. The name of the parameter is terminated by a forward slash (/) or the end of the path expression string. The path expression may also contain optional parameters, which are specified as :?parameterName. It is recommended to specify the optional parameters at the end of the path expression.
controllerAsyncRouteControllerThe full name of Object Container alias identifying the controller associated with this route.
viewAsyncRouteViewThe full name or Object Container alias identifying the view class associated with this route.
options?Partial\<RouteOptions>Additional route options, specified how the navigation to the route will be handled. The onlyUpdate can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a boolean representing the value of the flag. This flag is disabled by default. The autoScroll flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.

Returns

ServerRouter

This router.

Throws

Thrown if a route with the same name already exists.

Inherited from

AbstractRouter.add

Defined in

packages/core/src/router/AbstractRouter.ts:167


getBaseUrl

getBaseUrl(): string

Returns the application's absolute base URL, pointing to the public root -of the application.

Returns

string

The application's base URL.

Inherited from

AbstractRouter.getBaseUrl

Defined in

packages/core/src/router/AbstractRouter.ts:243


getCurrentRouteInfo

getCurrentRouteInfo(): Object

Returns the information about the currently active route.

Returns

Object

NameType
paramsRouteParams\<{}>
pathstring
routeAbstractRoute\<string | RoutePathExpression>

Throws

Thrown if a route is not define for current path.

Inherited from

AbstractRouter.getCurrentRouteInfo

Defined in

packages/core/src/router/AbstractRouter.ts:271


getDomain

getDomain(): string

Returns the application's domain in the following form -${protocol}//${host}.

Returns

string

The current application's domain.

Inherited from

AbstractRouter.getDomain

Defined in

packages/core/src/router/AbstractRouter.ts:250


getHost

getHost(): string

Returns application's host (domain and, if necessary, the port number).

Returns

string

The current application's host.

Inherited from

AbstractRouter.getHost

Defined in

packages/core/src/router/AbstractRouter.ts:257


getPath

getPath(): string

Returns the current path part of the current URL, including the query -string (if any).

Returns

string

The path and query parts of the current URL.

Overrides

AbstractRouter.getPath

Defined in

packages/core/src/router/ServerRouter.ts:59


getProtocol

getProtocol(): string

Returns the current protocol used to access the application, terminated -by a colon (for example https:).

Returns

string

The current application protocol used to access the -application.

Inherited from

AbstractRouter.getProtocol

Defined in

packages/core/src/router/AbstractRouter.ts:264


getRouteHandler

getRouteHandler(name): undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Returns specified handler from registered route handlers.

Parameters

NameTypeDescription
namestringThe route's unique name.

Returns

undefined | AbstractRoute\<string | RoutePathExpression> | RouterMiddleware

Route with given name or undefined.

Inherited from

AbstractRouter.getRouteHandler

Defined in

packages/core/src/router/AbstractRouter.ts:220


getRouteHandlers

getRouteHandlers(): Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Returns

Map\<string, AbstractRoute\<string | RoutePathExpression> | RouterMiddleware>

Inherit Doc

Inherited from

AbstractRouter.getRouteHandlers

Defined in

packages/core/src/router/AbstractRouter.ts:297


getRouteHandlersByPath

getRouteHandlersByPath(path): Object

Returns the route matching the provided URL path part (the path may -contain a query) and all middlewares preceding this route definition.

Parameters

NameTypeDescription
pathstringThe URL path.

Returns

Object

The route -matching the path and middlewares preceding it or {} -(empty object) if no such route exists.

NameType
middlewaresRouterMiddleware[]
route?AbstractRoute\<string | RoutePathExpression>

Inherited from

AbstractRouter.getRouteHandlersByPath

Defined in

packages/core/src/router/AbstractRouter.ts:615


getUrl

getUrl(): string

Returns the current absolute URL (including protocol, host, query, etc).

Returns

string

The current absolute URL.

Inherited from

AbstractRouter.getUrl

Defined in

packages/core/src/router/AbstractRouter.ts:236


handleError

handleError(params, options?, locals?): Promise\<void | UnknownParameters>

Handles an internal server error by responding with the appropriate -"internal server error" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved when the error -has been handled and the response has been sent to the client, -or displayed if used at the client side.

Inherited from

AbstractRouter.handleError

Defined in

packages/core/src/router/AbstractRouter.ts:402


handleNotFound

handleNotFound(params, options?, locals?): Promise\<void | UnknownParameters>

Handles a "not found" error by responding with the appropriate "not -found" error page.

Parameters

NameTypeDescription
paramsRouteParamsParameters extracted from the current URL path and query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Inherited from

AbstractRouter.handleNotFound

Defined in

packages/core/src/router/AbstractRouter.ts:454


init

init(config): void

Initializes the router with the provided configuration.

Parameters

NameTypeDescription
configObjectRouter configuration. The $Protocol field must be the current protocol used to access the application, terminated by a colon (for example https:). The $Root field must specify the URL path pointing to the application's root. The $LanguagePartPath field must be the URL path fragment used as a suffix to the $Root field that specifies the current language. The $Host field must be the application's domain (and the port number if other than the default is used) in the following form: ${protocol}//${host}.
config.$Hoststring-
config.$LanguagePartPath?string-
config.$Protocol?string-
config.$Root?string-

Returns

void

Inherited from

AbstractRouter.init

Defined in

packages/core/src/router/AbstractRouter.ts:151


isClientError

isClientError(reason): boolean

Tests, if possible, whether the specified error was caused by the -client's action (for example wrong URL or request encoding) or by a -failure at the server side.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -client.

Inherited from

AbstractRouter.isClientError

Defined in

packages/core/src/router/AbstractRouter.ts:507


isRedirection

isRedirection(reason): boolean

Tests, if possible, whether the specified error lead to redirection.

Parameters

NameTypeDescription
reasonError | ErrorThe encountered error.

Returns

boolean

true if the error was caused the action of the -redirection.

Inherited from

AbstractRouter.isRedirection

Defined in

packages/core/src/router/AbstractRouter.ts:514


link(routeName, params): string

Generates an absolute URL (including protocol, domain, etc) for the -specified route by substituting the route's parameter placeholders with -the provided parameter values.

Parameters

NameTypeDescription
routeNamestringThe unique name of the route, identifying the route to use.
paramsRouteParamsParameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.

Returns

string

An absolute URL for the specified route and parameters.

Inherited from

AbstractRouter.link

Defined in

packages/core/src/router/AbstractRouter.ts:338


listen

listen(): ServerRouter

Registers event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will start processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This -method has no effect at the server side.

Returns

ServerRouter

This router.

Overrides

AbstractRouter.listen

Defined in

packages/core/src/router/ServerRouter.ts:66


redirect

redirect(url?, options?): void

Redirects the client to the specified location.

At the server side the method results in responding to the client with a -redirect HTTP status code and the Location header.

At the client side the method updates the current URL by manipulating -the browser history (if the target URL is at the same domain and -protocol as the current one) or performs a hard redirect (if the target -URL points to a different protocol or domain).

The method will result in the router handling the new URL and routing -the client to the related page if the URL is set at the client side and -points to the same domain and protocol.

Parameters

NameTypeDefault valueDescription
urlstring'/'The URL to which the client should be redirected.
options?Partial\<RouteOptions>undefinedThe options overrides route options defined in the routes.js configuration file.

Returns

void

Overrides

AbstractRouter.redirect

Defined in

packages/core/src/router/ServerRouter.ts:80


remove

remove(name): ServerRouter

Removes the specified route from the router's known routes.

Parameters

NameTypeDescription
namestringThe route's unique name, identifying the route to remove.

Returns

ServerRouter

This router.

Inherited from

AbstractRouter.remove

Defined in

packages/core/src/router/AbstractRouter.ts:211


route

route(path, options?, action?, locals?): Promise\<void | UnknownParameters>

Routes the application to the route matching the providing path, renders -the route page and sends the result to the client.

Parameters

NameTypeDescription
pathstringThe URL path part received from the client, with optional query.
options?Partial\<RouteOptions>The options overrides route options defined in the routes.js configuration file.
action?RouteActionAn action object describing what triggered this routing.
locals?RouteLocalsThe locals param is used to pass local data between middlewares.

Returns

Promise\<void | UnknownParameters>

A promise resolved -when the error has been handled and the response has been sent -to the client, or displayed if used at the client side.

Inherited from

AbstractRouter.route

Defined in

packages/core/src/router/AbstractRouter.ts:363


unlisten

unlisten(): ServerRouter

Unregisters event listeners at the client side window object allowing the -router to capture user's history (history pop state - going "back") and -page (clicking links) navigation.

The router will stop processing the navigation internally, handling the -user's navigation to display the page related to the URL resulting from -the user's action.

Note that the router will not prevent forms from being submitted to the -server.

The effects of this method can be reverted with unlisten. This method has no effect -at the server side.

Returns

ServerRouter

This router.

Overrides

AbstractRouter.unlisten

Defined in

packages/core/src/router/ServerRouter.ts:73


use

use(middleware): ServerRouter

Adds a new middleware to router.

Parameters

NameTypeDescription
middlewareRouterMiddlewareMiddleware function accepting routeParams as a first argument, which can be mutated and locals object as second argument. This can be used to pass data between middlewares.

Returns

ServerRouter

This router.

Throws

Thrown if a middleware with the same name already exists.

Inherited from

AbstractRouter.use

Defined in

packages/core/src/router/AbstractRouter.ts:199

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.ServerWindow/index.html b/api/classes/ima_core.ServerWindow/index.html deleted file mode 100644 index e70d4f31d..000000000 --- a/api/classes/ima_core.ServerWindow/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -Class: ServerWindow | IMA.js - - - - -
-
Skip to main content

Class: ServerWindow

@ima/core.ServerWindow

Server-side implementation of the Window utility API.

Hierarchy

Constructors

constructor

new ServerWindow()

Inherited from

Window.constructor

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/window/ServerWindow.ts:11

Methods

bindEventListener

bindEventListener(): void

Registers the provided event listener to be executed when the specified -event occurs on the specified event target.

Registering the same event listener for the same event on the same event -target with the same useCapture flag value repeatedly has no -effect.

Returns

void

Overrides

Window.bindEventListener

Defined in

packages/core/src/window/ServerWindow.ts:194


createCustomEvent

createCustomEvent\<T>(name, options): CustomEvent\<T>

Create new instance of CustomEvent of the specified name and using the -provided options.

Type parameters

Name
T

Parameters

NameTypeDescription
namestringCustom event's name (sometimes referred to as the event's type).
optionsCustomEventInit\<T>The custom event's options.

Returns

CustomEvent\<T>

The created custom event.

See

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

Overrides

Window.createCustomEvent

Defined in

packages/core/src/window/ServerWindow.ts:179


getBody

getBody(): undefined

Returns the document's body element. The method returns -undefined if invoked at the server-side.

Returns

undefined

The document's body element, or -undefined if invoked at the server side.

Overrides

Window.getBody

Defined in

packages/core/src/window/ServerWindow.ts:109


getDocument

getDocument(): undefined

Returns the native document object representing any web page loaded -in the browser and serves as an entry point into the web page's content -which is the DOM tree at the client-side. The method returns undefined -if used at the server-side.

Returns

undefined

The document object at the -client-side, or undefined at the server-side.

Overrides

Window.getDocument

Defined in

packages/core/src/window/ServerWindow.ts:53


getDomain

getDomain(): ""

Returns the domain of the current document's URL as -${protocol}://${host}.

Returns

""

The current domain.

Overrides

Window.getDomain

Defined in

packages/core/src/window/ServerWindow.ts:81


getElementById

getElementById(): null

Returns the HTML element with the specified id attribute value.

Returns

null

The element with the specified id, or -null if no such element exists.

Overrides

Window.getElementById

Defined in

packages/core/src/window/ServerWindow.ts:116


getHistoryState

getHistoryState(): undefined

Returns the history state.

Returns

undefined

The current history state

Overrides

Window.getHistoryState

Defined in

packages/core/src/window/ServerWindow.ts:123


getHost

getHost(): ""

Returns

""

The current host.

Overrides

Window.getHost

Defined in

packages/core/src/window/ServerWindow.ts:88


getPath

getPath(): ""

Returns the path part of the current URL, including the query string.

Returns

""

The path and query string parts of the current URL.

Overrides

Window.getPath

Defined in

packages/core/src/window/ServerWindow.ts:95


getScrollX

getScrollX(): 0

Returns the number of pixels the viewport is scrolled horizontally.

Returns

0

The number of pixels the viewport is scrolled -horizontally.

Overrides

Window.getScrollX

Defined in

packages/core/src/window/ServerWindow.ts:60


getScrollY

getScrollY(): 0

Returns the number of pixels the document is scrolled vertically.

Returns

0

The number of pixels the document is scrolled -vertically.

Overrides

Window.getScrollY

Defined in

packages/core/src/window/ServerWindow.ts:67


getUrl

getUrl(): ""

Returns

""

The current document's URL.

Overrides

Window.getUrl

Defined in

packages/core/src/window/ServerWindow.ts:102


getWindow

getWindow(): undefined

Returns the native window object representing the global context -at the client-side. The method returns undefined if used at the -server-side.

Returns

undefined

The window object at the -client-side, or undefined at the server-side.

Overrides

Window.getWindow

Defined in

packages/core/src/window/ServerWindow.ts:46


hasSessionStorage

hasSessionStorage(): false

Returns true if the session storage is supported.

Returns

false

true if the session storage is supported.

Overrides

Window.hasSessionStorage

Defined in

packages/core/src/window/ServerWindow.ts:32


isClient

isClient(): false

Returns

false

true if invoked at the client side.

Overrides

Window.isClient

Defined in

packages/core/src/window/ServerWindow.ts:18


isCookieEnabled

isCookieEnabled(): false

Returns true if the cookies are set and processed with every -HTTP request and response automatically by the environment.

Returns

false

true if cookies are handled automatically by -the environment.

Overrides

Window.isCookieEnabled

Defined in

packages/core/src/window/ServerWindow.ts:25


pushState

pushState(): void

Pushes a new state to the browser history. The method has no effect if -the current browser does not support the history API (IE9).

Returns

void

Overrides

Window.pushState

Defined in

packages/core/src/window/ServerWindow.ts:165


querySelector

querySelector(): null

Returns the first element matching the specified CSS 3 selector.

Returns

null

The first element matching the CSS selector or -null if no such element exists.

Overrides

Window.querySelector

Defined in

packages/core/src/window/ServerWindow.ts:130


querySelectorAll

querySelectorAll\<E>(selector): NodeListOf\<E>

Returns a node list of all elements matching the specified CSS 3 -selector.

Type parameters

NameType
Eextends Element = Element

Parameters

NameTypeDescription
selectorstringThe CSS selector.

Returns

NodeListOf\<E>

A node list containing all elements matching the -specified CSS selector.

Overrides

Window.querySelectorAll

Defined in

packages/core/src/window/ServerWindow.ts:137


redirect

redirect(): void

Performs a hard redirect (discarding the current JavaScript state) to -the specified URL.

Returns

void

Overrides

Window.redirect

Defined in

packages/core/src/window/ServerWindow.ts:158


replaceState

replaceState(): void

Replaces the current history entry. The method has no effect if the -current browser does not support the history API (IE9).

Returns

void

Overrides

Window.replaceState

Defined in

packages/core/src/window/ServerWindow.ts:172


scrollTo

scrollTo(): void

Scrolls the viewport to the specified location (if possible).

Returns

void

Overrides

Window.scrollTo

Defined in

packages/core/src/window/ServerWindow.ts:74


setTitle

setTitle(): never

Sets the new page title of the document.

Returns

never

Overrides

Window.setTitle

Defined in

packages/core/src/window/ServerWindow.ts:39


unbindEventListener

unbindEventListener(): void

Deregister the provided event listener, so it will no longer we -executed when the specified event occurs on the specified event target.

The method has no effect if the provided event listener is not -registered to be executed at the specified event.

Returns

void

Overrides

Window.unbindEventListener

Defined in

packages/core/src/window/ServerWindow.ts:201

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.SessionMapStorage/index.html b/api/classes/ima_core.SessionMapStorage/index.html deleted file mode 100644 index 0b6da7e3a..000000000 --- a/api/classes/ima_core.SessionMapStorage/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -Class: SessionMapStorage<V> | IMA.js - - - - -
-
Skip to main content

Class: SessionMapStorage<V>

@ima/core.SessionMapStorage

The link SessionMap storage is an implementation of the -link Storage interface acting as a synchronization proxy between -the underlying map storage and the sessionStorage DOM storage.

Type parameters

Name
V

Hierarchy

Constructors

constructor

new SessionMapStorage\<V>(map, session)

Initializes the storage.

Type parameters

Name
V

Parameters

NameTypeDescription
mapMapStorage\<V>The map storage to use.
sessionSessionStorage\<V>The session storage to use.

Overrides

Storage.constructor

Defined in

packages/core/src/storage/SessionMapStorage.ts:32

Properties

_map

Private _map: MapStorage\<V>

The map storage, synced with the session storage.

Defined in

packages/core/src/storage/SessionMapStorage.ts:16


_session

Private _session: SessionStorage\<V>

The session storage, synced with the map storage.

Defined in

packages/core/src/storage/SessionMapStorage.ts:20

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/storage/SessionMapStorage.ts:22

Methods

clear

clear(): SessionMapStorage\<V>

Clears the storage of all entries.

Returns

SessionMapStorage\<V>

This storage.

Overrides

Storage.clear

Defined in

packages/core/src/storage/SessionMapStorage.ts:106


delete

delete(key): SessionMapStorage\<V>

Deletes the entry identified by the specified key from this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

SessionMapStorage\<V>

This storage.

Overrides

Storage.delete

Defined in

packages/core/src/storage/SessionMapStorage.ts:96


get

get(key): undefined | V

Retrieves the value of the entry identified by the specified . The -method returns undefined if the entry does not exists.

Entries set to the undefined value can be tested for existence -using the link has method.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

undefined | V

The value of the storage entry.

Overrides

Storage.get

Defined in

packages/core/src/storage/SessionMapStorage.ts:71


has

has(key): boolean

Returns true if the entry identified by the specified key exists -in this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

boolean

true if the storage entry exists.

Overrides

Storage.has

Defined in

packages/core/src/storage/SessionMapStorage.ts:64


init

init(): SessionMapStorage\<V>

This method is used to finalize the initialization of the storage after -the dependencies provided through the constructor have been prepared for -use.

This method must be invoked only once and it must be the first method -invoked on this instance.

Returns

SessionMapStorage\<V>

This storage.

Overrides

Storage.init

Defined in

packages/core/src/storage/SessionMapStorage.ts:43


keys

keys(): Iterable\<string>

Returns an iterator for traversing the keys in this storage. The order -in which the keys are traversed is undefined.

Returns

Iterable\<string>

An iterator for traversing the keys in this -storage. The iterator also implements the iterable protocol, -returning itself as its own iterator, allowing it to be used in -a for..of loop.

Overrides

Storage.keys

Defined in

packages/core/src/storage/SessionMapStorage.ts:116


set

set(key, value): SessionMapStorage\<V>

Sets the storage entry identified by the specified key to the provided -value. The method creates the entry if it does not exist already.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.
valueVThe storage entry value.

Returns

SessionMapStorage\<V>

This storage.

Overrides

Storage.set

Defined in

packages/core/src/storage/SessionMapStorage.ts:78


size

size(): number

Returns the number of entries in this storage.

Returns

number

The number of entries in this storage.

Overrides

Storage.size

Defined in

packages/core/src/storage/SessionMapStorage.ts:123

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.SessionStorage/index.html b/api/classes/ima_core.SessionStorage/index.html deleted file mode 100644 index 1ae163012..000000000 --- a/api/classes/ima_core.SessionStorage/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - -Class: SessionStorage<V> | IMA.js - - - - -
-
Skip to main content

Class: SessionStorage<V>

@ima/core.SessionStorage

Implementation of the link Storage interface that relies on the -native sessionStorage DOM storage for storing its entries.

Type parameters

Name
V

Hierarchy

Constructors

constructor

new SessionStorage\<V>(window)

Initializes the session storage.

Type parameters

Name
V

Parameters

NameType
windowClientWindow

Overrides

Storage.constructor

Defined in

packages/core/src/storage/SessionStorage.ts:24

Properties

_storage

Private _storage: Storage

The DOM storage providing the actual storage of the entries.

Defined in

packages/core/src/storage/SessionStorage.ts:15

Accessors

$dependencies

Static get $dependencies(): Dependencies

Returns

Dependencies

Defined in

packages/core/src/storage/SessionStorage.ts:17

Methods

_deleteOldestEntry

_deleteOldestEntry(): void

Deletes the oldest entry in this storage.

Returns

void

Defined in

packages/core/src/storage/SessionStorage.ts:123


clear

clear(): SessionStorage\<V>

Clears the storage of all entries.

Returns

SessionStorage\<V>

This storage.

Overrides

Storage.clear

Defined in

packages/core/src/storage/SessionStorage.ts:100


delete

delete(key): SessionStorage\<V>

Deletes the entry identified by the specified key from this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

SessionStorage\<V>

This storage.

Overrides

Storage.delete

Defined in

packages/core/src/storage/SessionStorage.ts:91


get

get(key): undefined | V

Retrieves the value of the entry identified by the specified . The -method returns undefined if the entry does not exists.

Entries set to the undefined value can be tested for existence -using the link has method.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

undefined | V

The value of the storage entry.

Overrides

Storage.get

Defined in

packages/core/src/storage/SessionStorage.ts:47


has

has(key): boolean

Returns true if the entry identified by the specified key exists -in this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

boolean

true if the storage entry exists.

Overrides

Storage.has

Defined in

packages/core/src/storage/SessionStorage.ts:40


init

init(): SessionStorage\<V>

This method is used to finalize the initialization of the storage after -the dependencies provided through the constructor have been prepared for -use.

This method must be invoked only once and it must be the first method -invoked on this instance.

Returns

SessionStorage\<V>

This storage.

Overrides

Storage.init

Defined in

packages/core/src/storage/SessionStorage.ts:33


keys

keys(): Iterable\<string>

Returns an iterator for traversing the keys in this storage. The order -in which the keys are traversed is undefined.

Returns

Iterable\<string>

An iterator for traversing the keys in this -storage. The iterator also implements the iterable protocol, -returning itself as its own iterator, allowing it to be used in -a for..of loop.

Overrides

Storage.keys

Defined in

packages/core/src/storage/SessionStorage.ts:109


set

set(key, value): SessionStorage\<V>

Sets the storage entry identified by the specified key to the provided -value. The method creates the entry if it does not exist already.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.
valueVThe storage entry value.

Returns

SessionStorage\<V>

This storage.

Overrides

Storage.set

Defined in

packages/core/src/storage/SessionStorage.ts:62


size

size(): number

Returns the number of entries in this storage.

Returns

number

The number of entries in this storage.

Overrides

Storage.size

Defined in

packages/core/src/storage/SessionStorage.ts:116

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.StaticRoute/index.html b/api/classes/ima_core.StaticRoute/index.html deleted file mode 100644 index f8352c9b7..000000000 --- a/api/classes/ima_core.StaticRoute/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -Class: StaticRoute | IMA.js - - - - -
-
Skip to main content

Class: StaticRoute

@ima/core.StaticRoute

Utility for representing and manipulating a single static route in the -router's configuration using string representation of the path expression -with special param fields identified by :paramName prefix.

Hierarchy

Constructors

constructor

new StaticRoute(name, pathExpression, controller, view, options?)

Parameters

NameTypeDescription
namestring-
pathExpressionstringA path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as :parameterName.
controllerAsyncRouteController-
viewAsyncRouteView-
options?Partial\<RouteFactoryOptions>-

Inherit Doc

Overrides

AbstractRoute.constructor

Defined in

packages/core/src/router/StaticRoute.ts:97

Properties

_controller

Protected _controller: Object

The full name of Object Container alias identifying the controller -associated with this route.

Type declaration

NameType
cachednull | RouteController | Promise\<RouteController>
controllerAsyncRouteController
resolvedboolean

Inherited from

AbstractRoute._controller

Defined in

packages/core/src/router/AbstractRoute.ts:58


_hasParameters

Protected _hasParameters: boolean

Defined in

packages/core/src/router/StaticRoute.ts:87


_matcher

Protected _matcher: RegExp

Defined in

packages/core/src/router/StaticRoute.ts:88


_name

Protected _name: string

The unique name of this route, identifying it among the rest of the -routes in the application.

Inherited from

AbstractRoute._name

Defined in

packages/core/src/router/AbstractRoute.ts:48


_options

Protected _options: RouteFactoryOptions

The route additional options.

Inherited from

AbstractRoute._options

Defined in

packages/core/src/router/AbstractRoute.ts:76


_parameterNames

Protected _parameterNames: string[]

Defined in

packages/core/src/router/StaticRoute.ts:86


_pathExpression

Protected _pathExpression: string

Path expression used in route matching, to generate valid path with -provided params and parsing params from current path.

Inherited from

AbstractRoute._pathExpression

Defined in

packages/core/src/router/AbstractRoute.ts:53


_trimmedPathExpression

Protected _trimmedPathExpression: string

Defined in

packages/core/src/router/StaticRoute.ts:85


_view

Protected _view: Object

The full name or Object Container alias identifying the view class -associated with this route.

Type declaration

NameType
cachednull | RouteView | Promise\<RouteView>
resolvedboolean
viewAsyncRouteView

Inherited from

AbstractRoute._view

Defined in

packages/core/src/router/AbstractRoute.ts:67

Methods

_checkOptionalParamsOrder

_checkOptionalParamsOrder(allMainParams): boolean

Check if all optional params are below required ones

Parameters

NameType
allMainParamsstring[]

Returns

boolean

Defined in

packages/core/src/router/StaticRoute.ts:275


_checkParametersOrder

_checkParametersOrder(clearedPathExpr): boolean

Check if main parameters have correct order. -It means that required param cannot follow optional one.

Parameters

NameTypeDescription
clearedPathExprstringThe cleared URL path (removed first and last slash, ...).

Returns

boolean

Returns TRUE if order is correct.

Defined in

packages/core/src/router/StaticRoute.ts:301


_cleanOptParamName

_cleanOptParamName(paramName): string

Returns optional param name without "?"

Parameters

NameTypeDescription
paramNamestringFull param name with "?"

Returns

string

Strict param name without "?"

Defined in

packages/core/src/router/StaticRoute.ts:524


_cleanUnusedOptionalParams

_cleanUnusedOptionalParams(path): string

Remove unused optional param placeholders in path.

Parameters

NameType
pathstring

Returns

string

Defined in

packages/core/src/router/StaticRoute.ts:219


_compileToRegExp

_compileToRegExp(pathExpression): RegExp

Compiles the path expression to a regular expression that can be used -for easier matching of URL paths against this route, and extracting the -path parameter values from the URL path.

Parameters

NameTypeDescription
pathExpressionstringThe path expression to compile.

Returns

RegExp

The compiled regular expression.

Defined in

packages/core/src/router/StaticRoute.ts:402


_extractParameters

_extractParameters(parameterValues): StringParameters

Extract parameters from given path.

Parameters

NameType
parameterValuesstring[]

Returns

StringParameters

Defined in

packages/core/src/router/StaticRoute.ts:490


_getClearParamName

_getClearParamName(rawParam): string

Extract clear parameter name, e.q. '?name' or 'name'

Parameters

NameType
rawParamstring

Returns

string

Defined in

packages/core/src/router/StaticRoute.ts:255


_getParameterNames

_getParameterNames(pathExpression): string[]

Extracts the parameter names from the provided path expression.

Parameters

NameTypeDescription
pathExpressionstringThe path expression.

Returns

string[]

The names of the parameters defined in the provided -path expression.

Defined in

packages/core/src/router/StaticRoute.ts:545


_getParameters

_getParameters(path): StringParameters

Parses the provided path and extract the in-path parameters. The method -decodes the parameters and returns them in a hash object.

Parameters

NameType
pathstring

Returns

StringParameters

Defined in

packages/core/src/router/StaticRoute.ts:472


_getSubparamPattern

_getSubparamPattern(delimiter): string

Get pattern for subparameter.

Parameters

NameType
delimiterstring

Returns

string

Defined in

packages/core/src/router/StaticRoute.ts:266


_isOptionalParamInPath

_isOptionalParamInPath(path, paramName): boolean

Returns true, if paramName is placed in path.

Parameters

NameType
pathstring
paramNamestring

Returns

boolean

Defined in

packages/core/src/router/StaticRoute.ts:237


_isParamOptional

_isParamOptional(paramName): boolean

Checks if parameter is optional or not.

Parameters

NameType
paramNamestring

Returns

boolean

return true if is optional, otherwise false

Defined in

packages/core/src/router/StaticRoute.ts:534


_isRequiredParamInPath

_isRequiredParamInPath(path, paramName): boolean

Returns true, if paramName is placed in path and it's required.

Parameters

NameType
pathstring
paramNamestring

Returns

boolean

Defined in

packages/core/src/router/StaticRoute.ts:246


_replaceOptionalParametersInPath

_replaceOptionalParametersInPath(path, optionalParams): string

Convert main optional parameters to capture sequences

Parameters

NameTypeDescription
pathstringThe URL path.
optionalParamsstring[]List of main optimal parameter expressions

Returns

string

RegExp pattern.

Defined in

packages/core/src/router/StaticRoute.ts:319


_replaceOptionalSubParametersInPath

_replaceOptionalSubParametersInPath(path, optionalSubparamsOthers, optionalSubparamsLast): string

Convert optional subparameters to capture sequences

Parameters

NameTypeDescription
pathstringThe URL path (route definition).
optionalSubparamsOthersstring[]List of all subparam. expressions but last ones
optionalSubparamsLaststring[]List of last subparam. expressions

Returns

string

RegExp pattern.

Defined in

packages/core/src/router/StaticRoute.ts:370


_replaceRequiredSubParametersInPath

_replaceRequiredSubParametersInPath(path, clearedPathExpr): string

Convert required subparameters to capture sequences

Parameters

NameTypeDescription
pathstringThe URL path (route definition).
clearedPathExprstringThe original cleared URL path.

Returns

string

RegExp pattern.

Defined in

packages/core/src/router/StaticRoute.ts:337


_substituteOptionalParamInPath

_substituteOptionalParamInPath(path, paramName, paramValue): string

Replace optional param placeholder in path with parameter value.

Parameters

NameType
pathstring
paramNamestring
paramValuestring

Returns

string

Defined in

packages/core/src/router/StaticRoute.ts:204


_substituteRequiredParamInPath

_substituteRequiredParamInPath(path, paramName, paramValue): string

Replace required parameter placeholder in path with parameter value.

Parameters

NameType
pathstring
paramNamestring
paramValuestring

Returns

string

Defined in

packages/core/src/router/StaticRoute.ts:190


extractParameters

extractParameters(path, baseUrl): Object

Extracts the parameter values from the provided path. The method -extracts both the in-path parameters and parses the query, allowing the -query parameters to override the in-path parameters.

The method returns an empty hash object if the path does not match this -route.

Parameters

NameTypeDescription
pathstringCurrently routed path.
baseUrlstringCurrently routed baseUrl.

Returns

Object

Map of parameter names to parameter -values.

Overrides

AbstractRoute.extractParameters

Defined in

packages/core/src/router/StaticRoute.ts:177


getController

getController(): RouteController | Promise\<RouteController>

Returns Controller class/alias/constant associated with this route. -Internally caches async calls for dynamically imported controllers, -meaning that once they're loaded, you get the same promise for -subsequent calls.

Returns

RouteController | Promise\<RouteController>

The Controller class/alias/constant.

Inherited from

AbstractRoute.getController

Defined in

packages/core/src/router/AbstractRoute.ts:153


getName

getName(): string

Returns the unique identifying name of this route.

Returns

string

The name of the route, identifying it.

Inherited from

AbstractRoute.getName

Defined in

packages/core/src/router/AbstractRoute.ts:132


getOptions

getOptions(): RouteFactoryOptions

Return route additional options.

Returns

RouteFactoryOptions

Inherited from

AbstractRoute.getOptions

Defined in

packages/core/src/router/AbstractRoute.ts:210


getPathExpression

getPathExpression(): string

Path expression used in route matching, to generate valid path with -provided params and parsing params from current path.

Returns

string

The path expression.

Inherited from

AbstractRoute.getPathExpression

Defined in

packages/core/src/router/AbstractRoute.ts:220


getTrimmedPath

getTrimmedPath(path): string

Trims the trailing forward slash from the provided URL path.

Parameters

NameTypeDescription
pathstringThe path to trim.

Returns

string

Trimmed path.

Inherited from

AbstractRoute.getTrimmedPath

Defined in

packages/core/src/router/AbstractRoute.ts:230


getView

getView(): RouteView | Promise\<RouteView>

Returns View class/alias/constant associated with this route. -Internally caches async calls for dynamically imported views, -meaning that once they're loaded, you get the same promise for -subsequent calls.

Returns

RouteView | Promise\<RouteView>

The View class/alias/constant.

Inherited from

AbstractRoute.getView

Defined in

packages/core/src/router/AbstractRoute.ts:185


isAsync

isAsync(module): boolean

Checks if given argument is an async handler.

Parameters

NameType
moduleunknown

Returns

boolean

Inherited from

AbstractRoute.isAsync

Defined in

packages/core/src/router/AbstractRoute.ts:139


isControllerResolved

isControllerResolved(): boolean

Returns true for resolved controller. This is always true -for sync route views.

Returns

boolean

Inherited from

AbstractRoute.isControllerResolved

Defined in

packages/core/src/router/AbstractRoute.ts:173


isViewResolved

isViewResolved(): boolean

Returns true for resolved view. This is always true -for sync route views.

Returns

boolean

Inherited from

AbstractRoute.isViewResolved

Defined in

packages/core/src/router/AbstractRoute.ts:203


matches

matches(path): boolean

Tests whether the provided URL path matches this route. The provided -path may contain the query.

Parameters

NameTypeDescription
pathstringThe URL path.

Returns

boolean

true if the provided path matches this route.

Overrides

AbstractRoute.matches

Defined in

packages/core/src/router/StaticRoute.ts:168


preload

preload(): Promise\<[RouteController, RouteView]>

Preloads dynamically imported view and controller.

Returns

Promise\<[RouteController, RouteView]>

Promise.All resolving to [view, controller] tuple.

Inherited from

AbstractRoute.preload

Defined in

packages/core/src/router/AbstractRoute.ts:239


toPath

toPath(params?): string

Creates the URL and query parts of a URL by substituting the route's -parameter placeholders by the provided parameter value.

The extraneous parameters that do not match any of the route's -placeholders will be appended as the query string.

Parameters

NameTypeDescription
paramsRouteParamsThe route parameter values.

Returns

string

Path and, if necessary, query parts of the URL -representing this route with its parameters replaced by the -provided parameter values.

Overrides

AbstractRoute.toPath

Defined in

packages/core/src/router/StaticRoute.ts:132

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Storage/index.html b/api/classes/ima_core.Storage/index.html deleted file mode 100644 index d8fcd00ac..000000000 --- a/api/classes/ima_core.Storage/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -Class: Storage<V> | IMA.js - - - - -
-
Skip to main content

Class: Storage<V>

@ima/core.Storage

The Storage is an unordered collection of named values of any -type. Values in the storage are named using string keys. The storage -can be therefore thought of as a Map<string, *>.....

Type parameters

Name
V

Hierarchy

Constructors

constructor

new Storage\<V>()

Type parameters

Name
V

Methods

clear

clear(): Storage\<V>

Clears the storage of all entries.

Returns

Storage\<V>

This storage.

Defined in

packages/core/src/storage/Storage.ts:73


delete

delete(key): Storage\<V>

Deletes the entry identified by the specified key from this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

Storage\<V>

This storage.

Defined in

packages/core/src/storage/Storage.ts:64


get

get(key): undefined | V

Retrieves the value of the entry identified by the specified . The -method returns undefined if the entry does not exists.

Entries set to the undefined value can be tested for existence -using the link has method.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

undefined | V

The value of the storage entry.

Defined in

packages/core/src/storage/Storage.ts:42


has

has(key): boolean

Returns true if the entry identified by the specified key exists -in this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

boolean

true if the storage entry exists.

Defined in

packages/core/src/storage/Storage.ts:28


init

init(): Storage\<V>

This method is used to finalize the initialization of the storage after -the dependencies provided through the constructor have been prepared for -use.

This method must be invoked only once and it must be the first method -invoked on this instance.

Returns

Storage\<V>

This storage.

Defined in

packages/core/src/storage/Storage.ts:17


keys

keys(): Iterable\<string>

Returns an iterator for traversing the keys in this storage. The order -in which the keys are traversed is undefined.

Returns

Iterable\<string>

An iterator for traversing the keys in this -storage. The iterator also implements the iterable protocol, -returning itself as its own iterator, allowing it to be used in -a for..of loop.

Defined in

packages/core/src/storage/Storage.ts:86


set

set(key, value): Storage\<V>

Sets the storage entry identified by the specified key to the provided -value. The method creates the entry if it does not exist already.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.
valueVThe storage entry value.

Returns

Storage\<V>

This storage.

Defined in

packages/core/src/storage/Storage.ts:54


size

size(): number

Returns the number of entries in this storage.

Returns

number

The number of entries in this storage.

Defined in

packages/core/src/storage/Storage.ts:95

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.UrlTransformer/index.html b/api/classes/ima_core.UrlTransformer/index.html deleted file mode 100644 index aa6d9cdfc..000000000 --- a/api/classes/ima_core.UrlTransformer/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Class: UrlTransformer | IMA.js - - - - -
-
Skip to main content

Class: UrlTransformer

@ima/core.UrlTransformer

Utility for transforming URLs according to the configured replacement rules.

Constructors

constructor

new UrlTransformer()

Initializes the URL transformer.

Defined in

packages/core/src/http/UrlTransformer.ts:16

Properties

_rules

Protected _rules: StringParameters

Defined in

packages/core/src/http/UrlTransformer.ts:7

Accessors

$dependencies

Static get $dependencies(): never[]

Returns

never[]

Defined in

packages/core/src/http/UrlTransformer.ts:9

Methods

addRule

addRule(pattern, replacement): UrlTransformer

Adds the provided replacement rule to the rules used by this URL -transformer.

Parameters

NameTypeDescription
patternstringRegexp patter to look for (must be escaped as if for use in the Regexp constructor).
replacementstringThe replacement of the matched patter in any matched URL.

Returns

UrlTransformer

This transformer.

Defined in

packages/core/src/http/UrlTransformer.ts:30


clear

clear(): UrlTransformer

Clears all rules.

Returns

UrlTransformer

Defined in

packages/core/src/http/UrlTransformer.ts:39


transform

transform(url): string

Applies all rules registered with this URL transformer to the provided -URL and returns the result. The rules will be applied in the order they -were registered.

Parameters

NameTypeDescription
urlstringThe URL for transformation.

Returns

string

Transformed URL.

Defined in

packages/core/src/http/UrlTransformer.ts:53

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.WeakMapStorage/index.html b/api/classes/ima_core.WeakMapStorage/index.html deleted file mode 100644 index 4b7c36adb..000000000 --- a/api/classes/ima_core.WeakMapStorage/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -Class: WeakMapStorage<V> | IMA.js - - - - -
-
Skip to main content

Class: WeakMapStorage<V>

@ima/core.WeakMapStorage

A specialization of the link MapStorage storage mimicking the native -WeakMap using its internal garbage collector used once the size of -the storage reaches the configured threshold.

Type parameters

NameType
Vobject

Hierarchy

Constructors

constructor

new WeakMapStorage\<V>(config)

Initializes the storage.

Type parameters

NameType
Vobject

Parameters

NameTypeDescription
configObjectWeak map storage configuration. The fields have the following meaning: - entryTtl The time-to-live of a storage entry in milliseconds.
config.entryTtlnumber-

Overrides

Storage.constructor

Defined in

packages/core/src/storage/WeakMapStorage.ts:26

Properties

_entryTtl

Private _entryTtl: number

The time-to-live of a storage entry in milliseconds.

Defined in

packages/core/src/storage/WeakMapStorage.ts:12


_storage

Private _storage: Map\<string, WeakRef\<V>>

The internal storage of entries.

Defined in

packages/core/src/storage/WeakMapStorage.ts:17

Methods

_discardExpiredEntries

_discardExpiredEntries(): void

Deletes all expired entries from this storage.

Returns

void

Defined in

packages/core/src/storage/WeakMapStorage.ts:101


clear

clear(): WeakMapStorage\<V>

Clears the storage of all entries.

Returns

WeakMapStorage\<V>

This storage.

Overrides

Storage.clear

Defined in

packages/core/src/storage/WeakMapStorage.ts:74


delete

delete(key): WeakMapStorage\<V>

Deletes the entry identified by the specified key from this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

WeakMapStorage\<V>

This storage.

Overrides

Storage.delete

Defined in

packages/core/src/storage/WeakMapStorage.ts:67


get

get(key): undefined | V

Retrieves the value of the entry identified by the specified . The -method returns undefined if the entry does not exists.

Entries set to the undefined value can be tested for existence -using the link has method.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

undefined | V

The value of the storage entry.

Overrides

Storage.get

Defined in

packages/core/src/storage/WeakMapStorage.ts:44


has

has(key): boolean

Returns true if the entry identified by the specified key exists -in this storage.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.

Returns

boolean

true if the storage entry exists.

Overrides

Storage.has

Defined in

packages/core/src/storage/WeakMapStorage.ts:35


init

init(): WeakMapStorage\<V>

This method is used to finalize the initialization of the storage after -the dependencies provided through the constructor have been prepared for -use.

This method must be invoked only once and it must be the first method -invoked on this instance.

Returns

WeakMapStorage\<V>

This storage.

Inherited from

Storage.init

Defined in

packages/core/src/storage/Storage.ts:17


keys

keys(): Iterable\<string>

Returns an iterator for traversing the keys in this storage. The order -in which the keys are traversed is undefined.

Returns

Iterable\<string>

An iterator for traversing the keys in this -storage. The iterator also implements the iterable protocol, -returning itself as its own iterator, allowing it to be used in -a for..of loop.

Overrides

Storage.keys

Defined in

packages/core/src/storage/WeakMapStorage.ts:83


set

set(key, value): WeakMapStorage\<V>

Sets the storage entry identified by the specified key to the provided -value. The method creates the entry if it does not exist already.

Parameters

NameTypeDescription
keystringThe key identifying the storage entry.
valueVThe storage entry value.

Returns

WeakMapStorage\<V>

This storage.

Overrides

Storage.set

Defined in

packages/core/src/storage/WeakMapStorage.ts:57


size

size(): number

Returns the number of entries in this storage.

Returns

number

The number of entries in this storage.

Overrides

Storage.size

Defined in

packages/core/src/storage/WeakMapStorage.ts:92

- - - - \ No newline at end of file diff --git a/api/classes/ima_core.Window/index.html b/api/classes/ima_core.Window/index.html deleted file mode 100644 index 96239e505..000000000 --- a/api/classes/ima_core.Window/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -Class: Window | IMA.js - - - - -
-
Skip to main content

Class: Window

@ima/core.Window

The Window interface defines various utility API for easier -cross-environment usage of various low-level client-side JavaScript APIs -available through various global objects.

Hierarchy

Constructors

constructor

new Window()

Methods

bindEventListener

bindEventListener\<T, K, S>(eventTarget, event, listener, options?, scope?): void

Registers the provided event listener to be executed when the specified -event occurs on the specified event target.

Registering the same event listener for the same event on the same event -target with the same useCapture flag value repeatedly has no -effect.

Type parameters

NameType
Textends WindowEventTargets
Kextends string | number | symbol
Sany

Parameters

NameTypeDescription
eventTargetTThe event target.
eventKThe name of the event.
listener(event: WindowEventTargetsMap\<T>[K]) => voidThe event listener.
options?boolean | EventListenerOptions-
scope?S-

Returns

void

Defined in

packages/core/src/window/Window.ts:310

bindEventListener\<T, E, S>(eventTarget, event, listener, options?, scope?): void

Type parameters

NameType
Textends EventTarget
Eextends Event = Event
Sany

Parameters

NameType
eventTargetT
eventstring
listener(event: E) => void
options?boolean | EventListenerOptions
scope?S

Returns

void

Defined in

packages/core/src/window/Window.ts:321


createCustomEvent

createCustomEvent\<T>(name, options): CustomEvent\<T>

Create new instance of CustomEvent of the specified name and using the -provided options.

Type parameters

Name
T

Parameters

NameTypeDescription
namestringCustom event's name (sometimes referred to as the event's type).
optionsCustomEventInit\<T>The custom event's options.

Returns

CustomEvent\<T>

The created custom event.

See

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

Defined in

packages/core/src/window/Window.ts:265


getBody

getBody(): undefined | HTMLElement

Returns the document's body element. The method returns -undefined if invoked at the server-side.

Returns

undefined | HTMLElement

The document's body element, or -undefined if invoked at the server side.

Defined in

packages/core/src/window/Window.ts:168


getDocument

getDocument(): undefined | Document

Returns the native document object representing any web page loaded -in the browser and serves as an entry point into the web page's content -which is the DOM tree at the client-side. The method returns undefined -if used at the server-side.

Returns

undefined | Document

The document object at the -client-side, or undefined at the server-side.

Defined in

packages/core/src/window/Window.ts:94


getDomain

getDomain(): string

Returns the domain of the current document's URL as -${protocol}://${host}.

Returns

string

The current domain.

Defined in

packages/core/src/window/Window.ts:134


getElementById

getElementById(id): null | HTMLElement

Returns the HTML element with the specified id attribute value.

Parameters

NameTypeDescription
idstringThe value of the id attribute to look for.

Returns

null | HTMLElement

The element with the specified id, or -null if no such element exists.

Defined in

packages/core/src/window/Window.ts:179


getHistoryState

getHistoryState(): any

Returns the history state.

Returns

any

The current history state

Defined in

packages/core/src/window/Window.ts:188


getHost

getHost(): string

Returns

string

The current host.

Defined in

packages/core/src/window/Window.ts:141


getPath

getPath(): string

Returns the path part of the current URL, including the query string.

Returns

string

The path and query string parts of the current URL.

Defined in

packages/core/src/window/Window.ts:150


getScrollX

getScrollX(): number

Returns the number of pixels the viewport is scrolled horizontally.

Returns

number

The number of pixels the viewport is scrolled -horizontally.

Defined in

packages/core/src/window/Window.ts:104


getScrollY

getScrollY(): number

Returns the number of pixels the document is scrolled vertically.

Returns

number

The number of pixels the document is scrolled -vertically.

Defined in

packages/core/src/window/Window.ts:114


getUrl

getUrl(): string

Returns

string

The current document's URL.

Defined in

packages/core/src/window/Window.ts:157


getWindow

getWindow(): undefined | Window

Returns the native window object representing the global context -at the client-side. The method returns undefined if used at the -server-side.

Returns

undefined | Window

The window object at the -client-side, or undefined at the server-side.

Defined in

packages/core/src/window/Window.ts:81


hasSessionStorage

hasSessionStorage(): boolean

Returns true if the session storage is supported.

Returns

boolean

true if the session storage is supported.

Defined in

packages/core/src/window/Window.ts:60


isClient

isClient(): boolean

Returns

boolean

true if invoked at the client side.

Defined in

packages/core/src/window/Window.ts:40


isCookieEnabled

isCookieEnabled(): boolean

Returns true if the cookies are set and processed with every -HTTP request and response automatically by the environment.

Returns

boolean

true if cookies are handled automatically by -the environment.

Defined in

packages/core/src/window/Window.ts:51


pushState

pushState\<T>(state, title, url?): void

Pushes a new state to the browser history. The method has no effect if -the current browser does not support the history API (IE9).

Type parameters

Name
T

Parameters

NameTypeDescription
stateTA state object associated with the history item, preferably representing the page state.
titlestringThe page title related to the state. Note that this parameter is ignored by some browsers.
url?stringThe new URL at which the state is available.

Returns

void

Defined in

packages/core/src/window/Window.ts:237


querySelector

querySelector\<E>(selector): null | E

Returns the first element matching the specified CSS 3 selector.

Type parameters

NameType
Eextends Element = Element

Parameters

NameTypeDescription
selectorstringThe CSS selector.

Returns

null | E

The first element matching the CSS selector or -null if no such element exists.

Defined in

packages/core/src/window/Window.ts:199


querySelectorAll

querySelectorAll\<E>(selector): NodeListOf\<E>

Returns a node list of all elements matching the specified CSS 3 -selector.

Type parameters

NameType
Eextends Element = Element

Parameters

NameTypeDescription
selectorstringThe CSS selector.

Returns

NodeListOf\<E>

A node list containing all elements matching the -specified CSS selector.

Defined in

packages/core/src/window/Window.ts:211


redirect

redirect(url): void

Performs a hard redirect (discarding the current JavaScript state) to -the specified URL.

Parameters

NameTypeDescription
urlstringThe URL to which the browser will be redirected.

Returns

void

Defined in

packages/core/src/window/Window.ts:223


replaceState

replaceState\<T>(state, title, url?): void

Replaces the current history entry. The method has no effect if the -current browser does not support the history API (IE9).

Type parameters

Name
T

Parameters

NameTypeDescription
stateTA state object associated with the history item, preferably representing the page state.
titlestringThe page title related to the state. Note that this parameter is ignored by some browsers.
url?stringThe new URL at which the state is available.

Returns

void

Defined in

packages/core/src/window/Window.ts:251


scrollTo

scrollTo(x, y): void

Scrolls the viewport to the specified location (if possible).

Parameters

NameTypeDescription
xnumberHorizontal scroll offset in pixels.
ynumberVertical scroll offset in pixels.

Returns

void

Defined in

packages/core/src/window/Window.ts:124


setTitle

setTitle(title): void

Sets the new page title of the document.

Parameters

NameTypeDescription
titlestringThe new page title.

Returns

void

Defined in

packages/core/src/window/Window.ts:69


unbindEventListener

unbindEventListener\<T, K, S>(eventTarget, event, listener, options?, scope?): void

Deregister the provided event listener, so it will no longer we -executed when the specified event occurs on the specified event target.

The method has no effect if the provided event listener is not -registered to be executed at the specified event.

Type parameters

NameType
Textends WindowEventTargets
Kextends string | number | symbol
SS

Parameters

NameTypeDescription
eventTargetTThe event target.
eventKThe name of the event.
listener(event: WindowEventTargetsMap\<T>[K]) => voidThe event listener.
options?boolean | EventListenerOptionsThe useCapture flag value that was used when the listener was registered, or provide capture option through object options.
scope?S-

Returns

void

Defined in

packages/core/src/window/Window.ts:345

unbindEventListener\<T, E, S>(eventTarget, event, listener, options?, scope?): void

Type parameters

NameType
Textends EventTarget
Eextends Event = Event
Sany

Parameters

NameType
eventTargetT
eventstring
listener(event: E) => void
options?boolean | EventListenerOptions
scope?S

Returns

void

Defined in

packages/core/src/window/Window.ts:356

- - - - \ No newline at end of file diff --git a/api/classes/ima_dev_utils.Logger/index.html b/api/classes/ima_dev_utils.Logger/index.html deleted file mode 100644 index e2de764c6..000000000 --- a/api/classes/ima_dev_utils.Logger/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -Class: Logger | IMA.js - - - - -
-
Skip to main content

Class: Logger

@ima/dev-utils.Logger

Constructors

constructor

new Logger(identifier?, globalLogger?)

Parameters

NameType
identifier?string
globalLogger?Logger

Defined in

logger.ts:42

Properties

#globalLogger

Private Optional #globalLogger: Logger

Defined in

logger.ts:37


#identifier

Private Optional #identifier: string

Defined in

logger.ts:36


#isSilent

Private #isSilent: boolean = false

Defined in

logger.ts:38


innerElapsed

Optional innerElapsed: () => string

Type declaration

▸ (): string

Returns time utility function, which when called returns -formatted elapsed time from it's creation.

Returns

string

Callback to return formatted elapsed time.

Defined in

logger.ts:40

Methods

#log

Private #log(prefix, chalkFn, message, «destructured»?): void

Parameters

NameType
prefixstring
chalkFn(input: undefined | null | string | number) => string
messagestring
«destructured»LoggerOptions

Returns

void

Defined in

logger.ts:47


endTracking

endTracking(): void

Returns

void

Defined in

logger.ts:94


error

error(message, options?): void

Parameters

NameType
messagestring | Error
options?LoggerOptions

Returns

void

Defined in

logger.ts:120


info

info(message, options?): void

Parameters

NameType
messagestring
options?LoggerOptions

Returns

void

Defined in

logger.ts:112


isSilent

isSilent(): boolean

Returns

boolean

Defined in

logger.ts:163


plugin

plugin(message, options?): void

Parameters

NameType
messagestring
options?LoggerOptions

Returns

void

Defined in

logger.ts:147


setSilent

setSilent(isSilent): void

Parameters

NameType
isSilentboolean

Returns

void

Defined in

logger.ts:159


success

success(message, options?): void

Parameters

NameType
messagestring
options?LoggerOptions

Returns

void

Defined in

logger.ts:116


sync

sync(message, options?): void

Parameters

NameType
messagestring
options?LoggerOptions

Returns

void

Defined in

logger.ts:143


warn

warn(message, options?): void

Parameters

NameType
messagestring
options?LoggerOptions

Returns

void

Defined in

logger.ts:139


write

write(message, options?): void

Parameters

NameType
messagestring
options?LoggerOptions

Returns

void

Defined in

logger.ts:151


writeElapsed

writeElapsed(elapsed): void

Parameters

NameType
elapsed() => string

Returns

void

Defined in

logger.ts:155

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.AbstractComponent/index.html b/api/classes/ima_react_page_renderer.AbstractComponent/index.html deleted file mode 100644 index 193cff9db..000000000 --- a/api/classes/ima_react_page_renderer.AbstractComponent/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -Class: AbstractComponent<P, S, SS> | IMA.js - - - - -
-
Skip to main content

Class: AbstractComponent<P, S, SS>

@ima/react-page-renderer.AbstractComponent

The base class for all view components.

Type parameters

NameType
Punknown
Sunknown
SSunknown

Hierarchy

  • Component\<P, S, SS>

    AbstractComponent

Constructors

constructor

new AbstractComponent\<P, S, SS>(props)

Type parameters

NameType
Punknown
Sunknown
SSunknown

Parameters

NameType
propsP

Inherited from

Component\<P, S, SS>.constructor

Defined in

node_modules/@types/react/index.d.ts:1008

new AbstractComponent\<P, S, SS>(props, context)

Type parameters

NameType
Punknown
Sunknown
SSunknown

Parameters

NameType
propsP
contextany

Deprecated

See

React Docs

Inherited from

Component\<P, S, SS>.constructor

Defined in

node_modules/@types/react/index.d.ts:1013

Properties

_utils

Private Optional _utils: Utils

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:18


context

context: PageContextType

Overrides

Component.context

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:16


props

Readonly props: Readonly\<P>

Inherited from

Component.props

Defined in

node_modules/@types/react/index.d.ts:1026


refs

refs: Object

Deprecated

See

Legacy React Docs

Index signature

[key: string]: ReactInstance

Inherited from

Component.refs

Defined in

node_modules/@types/react/index.d.ts:1033


state

state: Readonly\<S>

Inherited from

Component.state

Defined in

node_modules/@types/react/index.d.ts:1027


contextType

Static contextType: Context\<PageContextType> = PageContext

Overrides

Component.contextType

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:15

Accessors

utils

get utils(): Utils

Returns the utilities for the view components. The returned value is the -value bound to the $Utils object container constant.

Returns

Utils

The utilities for the view components.

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:26

Methods

UNSAFE_componentWillMount

Optional UNSAFE_componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See

Inherited from

Component.UNSAFE_componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1463


UNSAFE_componentWillReceiveProps

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

See

Inherited from

Component.UNSAFE_componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1497


UNSAFE_componentWillUpdate

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See

Inherited from

Component.UNSAFE_componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1527


componentDidCatch

Optional componentDidCatch(error, errorInfo): void

Catches exceptions generated in descendant components. Unhandled exceptions will cause -the entire component tree to unmount.

Parameters

NameType
errorError
errorInfoErrorInfo

Returns

void

Inherited from

Component.componentDidCatch

Defined in

node_modules/@types/react/index.d.ts:1390


componentDidMount

Optional componentDidMount(): void

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

Returns

void

Inherited from

Component.componentDidMount

Defined in

node_modules/@types/react/index.d.ts:1369


componentDidUpdate

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters

NameType
prevPropsReadonly\<P>
prevStateReadonly\<S>
snapshot?SS

Returns

void

Inherited from

Component.componentDidUpdate

Defined in

node_modules/@types/react/index.d.ts:1432


componentWillMount

Optional componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See

Inherited from

Component.componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1448


componentWillReceiveProps

Optional componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

See

Inherited from

Component.componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1479


componentWillUnmount

Optional componentWillUnmount(): void

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as -cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

Component.componentWillUnmount

Defined in

node_modules/@types/react/index.d.ts:1385


componentWillUpdate

Optional componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See

Inherited from

Component.componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1511


cssClasses

cssClasses(classRules, includeComponentClassName?): string

Generate a string of CSS classes from the properties of the passed-in -object that resolve to true.

Parameters

NameTypeDefault valueDescription
classRulesstring | { [key: string]: boolean; } | string[]undefinedCSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is true.
includeComponentClassNamebooleanfalse-

Returns

string

String of CSS classes that had their property resolved -to true.

Example

this.cssClasses('my-class my-class-modifier', true);

Example

this.cssClasses({
'my-class': true,
'my-class-modifier': this.props.modifier
}, true);

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:86


fire

fire(eventTarget, eventName, data?): void

Creates and sends a new IMA.js DOM custom event from this component.

Parameters

NameTypeDescription
eventTargetEventTargetEventTarget compatible node.
eventNamestringThe name of the event.
data?anyData to send within the event.

Returns

void

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:100


forceUpdate

forceUpdate(callback?): void

Parameters

NameType
callback?() => void

Returns

void

Inherited from

Component.forceUpdate

Defined in

node_modules/@types/react/index.d.ts:1023


getSnapshotBeforeUpdate

Optional getSnapshotBeforeUpdate(prevProps, prevState): null | SS

Runs before React applies the result of render to the document, and -returns an object to be given to componentDidUpdate. Useful for saving -things such as scroll position before render causes changes to it.

Note: the presence of this method prevents any of the deprecated -lifecycle events from running.

Parameters

NameType
prevPropsReadonly\<P>
prevStateReadonly\<S>

Returns

null | SS

Inherited from

Component.getSnapshotBeforeUpdate

Defined in

node_modules/@types/react/index.d.ts:1426


link(name, params?): string

Generates an absolute URL using the provided route name (see the

app/config/routes.js file). The provided parameters will replace the placeholders in the route pattern, while the extraneous parameters will be appended to the generated URL's query string.

Parameters

NameTypeDescription
namestringThe route name.
paramsObjectRouter parameters and extraneous parameters to add to the URL as a query string.

Returns

string

The generated URL.

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:62


listen

listen(eventTarget, eventName, listener): void

Registers the provided event listener for execution whenever an IMA.js -DOM custom event of the specified name occurs at the specified event -target.

Parameters

NameTypeDescription
eventTargetEventTargetThe react component or event target at which the listener should listen for the event.
eventNamestringThe name of the event for which to listen.
listener(event: Event) => voidThe listener for event to register.

Returns

void

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:114


localize

localize(key, params?): string

Returns the localized phrase identified by the specified key. The -placeholders in the localization phrase will be replaced by the provided -values.

Parameters

NameTypeDescription
keyneverLocalization key.
paramsObjectValues for replacing the placeholders in the localization phrase.

Returns

string

Localized phrase.

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:44


render

render(): ReactNode

Returns

ReactNode

Inherited from

Component.render

Defined in

node_modules/@types/react/index.d.ts:1024


setState

setState\<K>(state, callback?): void

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
statenull | S | (prevState: Readonly\<S>, props: Readonly\<P>) => null | S | Pick\<S, K> | Pick\<S, K>
callback?() => void

Returns

void

Inherited from

Component.setState

Defined in

node_modules/@types/react/index.d.ts:1018


shouldComponentUpdate

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. -PureComponent implements a shallow comparison on props and state and returns true if any -props or states have changed.

If false is returned, render, componentWillUpdate -and componentDidUpdate will not be called.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

boolean

Inherited from

Component.shouldComponentUpdate

Defined in

node_modules/@types/react/index.d.ts:1380


unlisten

unlisten(eventTarget, eventName, listener): void

Deregisters the provided event listener for an IMA.js DOM custom event -of the specified name at the specified event target.

Parameters

NameTypeDescription
eventTargetEventTargetThe react component or event target at which the listener should listen for the event.
eventNamestringThe name of the event for which to listen.
listener(event: Event) => voidThe listener for event to register.

Returns

void

Defined in

packages/react-page-renderer/src/component/AbstractComponent.ts:131

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.AbstractPureComponent/index.html b/api/classes/ima_react_page_renderer.AbstractPureComponent/index.html deleted file mode 100644 index a0d634b29..000000000 --- a/api/classes/ima_react_page_renderer.AbstractPureComponent/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -Class: AbstractPureComponent<P, S, SS> | IMA.js - - - - -
-
Skip to main content

Class: AbstractPureComponent<P, S, SS>

@ima/react-page-renderer.AbstractPureComponent

The base class for all view components.

Type parameters

NameType
Punknown
Sunknown
SSunknown

Hierarchy

  • PureComponent\<P, S, SS>

    AbstractPureComponent

Constructors

constructor

new AbstractPureComponent\<P, S, SS>(props)

Type parameters

NameType
Punknown
Sunknown
SSunknown

Parameters

NameType
propsP

Inherited from

PureComponent\<P, S, SS>.constructor

Defined in

node_modules/@types/react/index.d.ts:1008

new AbstractPureComponent\<P, S, SS>(props, context)

Type parameters

NameType
Punknown
Sunknown
SSunknown

Parameters

NameType
propsP
contextany

Deprecated

See

React Docs

Inherited from

PureComponent\<P, S, SS>.constructor

Defined in

node_modules/@types/react/index.d.ts:1013

Properties

_utils

Private Optional _utils: Utils

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:18


context

context: PageContextType

Overrides

PureComponent.context

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:16


props

Readonly props: Readonly\<P>

Inherited from

PureComponent.props

Defined in

node_modules/@types/react/index.d.ts:1026


refs

refs: Object

Deprecated

See

Legacy React Docs

Index signature

[key: string]: ReactInstance

Inherited from

PureComponent.refs

Defined in

node_modules/@types/react/index.d.ts:1033


state

state: Readonly\<S>

Inherited from

PureComponent.state

Defined in

node_modules/@types/react/index.d.ts:1027


contextType

Static contextType: Context\<PageContextType> = PageContext

Overrides

PureComponent.contextType

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:15

Accessors

utils

get utils(): Utils

Returns the utilities for the view components. The returned value is the -value bound to the $Utils object container constant.

Returns

Utils

The utilities for the view components.

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:26

Methods

UNSAFE_componentWillMount

Optional UNSAFE_componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See

Inherited from

PureComponent.UNSAFE_componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1463


UNSAFE_componentWillReceiveProps

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

See

Inherited from

PureComponent.UNSAFE_componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1497


UNSAFE_componentWillUpdate

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See

Inherited from

PureComponent.UNSAFE_componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1527


componentDidCatch

Optional componentDidCatch(error, errorInfo): void

Catches exceptions generated in descendant components. Unhandled exceptions will cause -the entire component tree to unmount.

Parameters

NameType
errorError
errorInfoErrorInfo

Returns

void

Inherited from

PureComponent.componentDidCatch

Defined in

node_modules/@types/react/index.d.ts:1390


componentDidMount

Optional componentDidMount(): void

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

Returns

void

Inherited from

PureComponent.componentDidMount

Defined in

node_modules/@types/react/index.d.ts:1369


componentDidUpdate

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters

NameType
prevPropsReadonly\<P>
prevStateReadonly\<S>
snapshot?SS

Returns

void

Inherited from

PureComponent.componentDidUpdate

Defined in

node_modules/@types/react/index.d.ts:1432


componentWillMount

Optional componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See

Inherited from

PureComponent.componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1448


componentWillReceiveProps

Optional componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

See

Inherited from

PureComponent.componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1479


componentWillUnmount

Optional componentWillUnmount(): void

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as -cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

PureComponent.componentWillUnmount

Defined in

node_modules/@types/react/index.d.ts:1385


componentWillUpdate

Optional componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See

Inherited from

PureComponent.componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1511


cssClasses

cssClasses(classRules, includeComponentClassName?): string

Generate a string of CSS classes from the properties of the passed-in -object that resolve to true.

Parameters

NameTypeDefault valueDescription
classRulesstring | { [key: string]: boolean; }undefinedCSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is true.
includeComponentClassNamebooleanfalse-

Returns

string

String of CSS classes that had their property resolved -to true.

Example

this.cssClasses('my-class my-class-modifier', true);

Example

this.cssClasses({
'my-class': true,
'my-class-modifier': this.props.modifier
}, true);

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:86


fire

fire(eventTarget, eventName, data?): void

Creates and sends a new IMA.js DOM custom event from this component.

Parameters

NameTypeDescription
eventTargetEventTargetEventTarget compatible node.
eventNamestringThe name of the event.
data?anyData to send within the event.

Returns

void

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:100


forceUpdate

forceUpdate(callback?): void

Parameters

NameType
callback?() => void

Returns

void

Inherited from

PureComponent.forceUpdate

Defined in

node_modules/@types/react/index.d.ts:1023


getSnapshotBeforeUpdate

Optional getSnapshotBeforeUpdate(prevProps, prevState): null | SS

Runs before React applies the result of render to the document, and -returns an object to be given to componentDidUpdate. Useful for saving -things such as scroll position before render causes changes to it.

Note: the presence of this method prevents any of the deprecated -lifecycle events from running.

Parameters

NameType
prevPropsReadonly\<P>
prevStateReadonly\<S>

Returns

null | SS

Inherited from

PureComponent.getSnapshotBeforeUpdate

Defined in

node_modules/@types/react/index.d.ts:1426


link(name, params?): string

Generates an absolute URL using the provided route name (see the

app/config/routes.js file). The provided parameters will replace the placeholders in the route pattern, while the extraneous parameters will be appended to the generated URL's query string.

Parameters

NameTypeDescription
namestringThe route name.
paramsObjectRouter parameters and extraneous parameters to add to the URL as a query string.

Returns

string

The generated URL.

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:62


listen

listen(eventTarget, eventName, listener): void

Registers the provided event listener for execution whenever an IMA.js -DOM custom event of the specified name occurs at the specified event -target.

Parameters

NameTypeDescription
eventTargetEventTargetThe react component or event target at which the listener should listen for the event.
eventNamestringThe name of the event for which to listen.
listener(event: Event) => voidThe listener for event to register.

Returns

void

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:114


localize

localize(key, params?): string

Returns the localized phrase identified by the specified key. The -placeholders in the localization phrase will be replaced by the provided -values.

Parameters

NameTypeDescription
keyneverLocalization key.
paramsObjectValues for replacing the placeholders in the localization phrase.

Returns

string

Localized phrase.

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:44


render

render(): ReactNode

Returns

ReactNode

Inherited from

PureComponent.render

Defined in

node_modules/@types/react/index.d.ts:1024


setState

setState\<K>(state, callback?): void

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
statenull | S | (prevState: Readonly\<S>, props: Readonly\<P>) => null | S | Pick\<S, K> | Pick\<S, K>
callback?() => void

Returns

void

Inherited from

PureComponent.setState

Defined in

node_modules/@types/react/index.d.ts:1018


shouldComponentUpdate

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. -PureComponent implements a shallow comparison on props and state and returns true if any -props or states have changed.

If false is returned, render, componentWillUpdate -and componentDidUpdate will not be called.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

boolean

Inherited from

PureComponent.shouldComponentUpdate

Defined in

node_modules/@types/react/index.d.ts:1380


unlisten

unlisten(eventTarget, eventName, listener): void

Deregisters the provided event listener for an IMA.js DOM custom event -of the specified name at the specified event target.

Parameters

NameTypeDescription
eventTargetEventTargetThe react component or event target at which the listener should listen for the event.
eventNamestringThe name of the event for which to listen.
listener(event: Event) => voidThe listener for event to register.

Returns

void

Defined in

packages/react-page-renderer/src/component/AbstractPureComponent.ts:131

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.BlankManagedRootView/index.html b/api/classes/ima_react_page_renderer.BlankManagedRootView/index.html deleted file mode 100644 index 6d529248f..000000000 --- a/api/classes/ima_react_page_renderer.BlankManagedRootView/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -Class: BlankManagedRootView<P, S, SS> | IMA.js - - - - -
-
Skip to main content

Class: BlankManagedRootView<P, S, SS>

@ima/react-page-renderer.BlankManagedRootView

Blank managed root view does not nothing except for rendering the current -page view.

This is the default managed root view.

Type parameters

NameType
Pextends BlankManagedRootViewProps = BlankManagedRootViewProps
Sunknown
SSunknown

Hierarchy

  • Component\<P, S, SS>

    BlankManagedRootView

Constructors

constructor

new BlankManagedRootView\<P, S, SS>(props)

Type parameters

NameType
Pextends BlankManagedRootViewProps = BlankManagedRootViewProps
Sunknown
SSunknown

Parameters

NameType
propsP

Inherited from

Component\<P, S, SS>.constructor

Defined in

node_modules/@types/react/index.d.ts:1008

new BlankManagedRootView\<P, S, SS>(props, context)

Type parameters

NameType
Pextends BlankManagedRootViewProps = BlankManagedRootViewProps
Sunknown
SSunknown

Parameters

NameType
propsP
contextany

Deprecated

See

React Docs

Inherited from

Component\<P, S, SS>.constructor

Defined in

node_modules/@types/react/index.d.ts:1013

Properties

context

context: unknown

If using the new style context, re-declare this in your class to be the -React.ContextType of your static contextType. -Should be used with type annotation or static contextType.

Example

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>

See

React Docs

Inherited from

Component.context

Defined in

node_modules/@types/react/index.d.ts:1006


props

Readonly props: Readonly\<P>

Inherited from

Component.props

Defined in

node_modules/@types/react/index.d.ts:1026


refs

refs: Object

Deprecated

See

Legacy React Docs

Index signature

[key: string]: ReactInstance

Inherited from

Component.refs

Defined in

node_modules/@types/react/index.d.ts:1033


state

state: Readonly\<S>

Inherited from

Component.state

Defined in

node_modules/@types/react/index.d.ts:1027


contextType

Static Optional contextType: Context\<any>

If set, this.context will be set at runtime to the current value of the given Context.

Example

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}

See

https://react.dev/reference/react/Component#static-contexttype

Inherited from

Component.contextType

Defined in

node_modules/@types/react/index.d.ts:988

Accessors

defaultProps

Static get defaultProps(): Object

Returns

Object

NameType
pageViewnull

Defined in

packages/react-page-renderer/src/component/BlankManagedRootView.ts:23

Methods

UNSAFE_componentWillMount

Optional UNSAFE_componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See

Inherited from

Component.UNSAFE_componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1463


UNSAFE_componentWillReceiveProps

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

See

Inherited from

Component.UNSAFE_componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1497


UNSAFE_componentWillUpdate

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See

Inherited from

Component.UNSAFE_componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1527


componentDidCatch

Optional componentDidCatch(error, errorInfo): void

Catches exceptions generated in descendant components. Unhandled exceptions will cause -the entire component tree to unmount.

Parameters

NameType
errorError
errorInfoErrorInfo

Returns

void

Inherited from

Component.componentDidCatch

Defined in

node_modules/@types/react/index.d.ts:1390


componentDidMount

Optional componentDidMount(): void

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

Returns

void

Inherited from

Component.componentDidMount

Defined in

node_modules/@types/react/index.d.ts:1369


componentDidUpdate

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters

NameType
prevPropsReadonly\<P>
prevStateReadonly\<S>
snapshot?SS

Returns

void

Inherited from

Component.componentDidUpdate

Defined in

node_modules/@types/react/index.d.ts:1432


componentWillMount

Optional componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See

Inherited from

Component.componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1448


componentWillReceiveProps

Optional componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

See

Inherited from

Component.componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1479


componentWillUnmount

Optional componentWillUnmount(): void

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as -cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

Component.componentWillUnmount

Defined in

node_modules/@types/react/index.d.ts:1385


componentWillUpdate

Optional componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See

Inherited from

Component.componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1511


forceUpdate

forceUpdate(callback?): void

Parameters

NameType
callback?() => void

Returns

void

Inherited from

Component.forceUpdate

Defined in

node_modules/@types/react/index.d.ts:1023


getSnapshotBeforeUpdate

Optional getSnapshotBeforeUpdate(prevProps, prevState): null | SS

Runs before React applies the result of render to the document, and -returns an object to be given to componentDidUpdate. Useful for saving -things such as scroll position before render causes changes to it.

Note: the presence of this method prevents any of the deprecated -lifecycle events from running.

Parameters

NameType
prevPropsReadonly\<P>
prevStateReadonly\<S>

Returns

null | SS

Inherited from

Component.getSnapshotBeforeUpdate

Defined in

node_modules/@types/react/index.d.ts:1426


render

render(): null | ReactElement\<{}, string | JSXElementConstructor\<any>>

Returns

null | ReactElement\<{}, string | JSXElementConstructor\<any>>

Inherit Doc

Overrides

Component.render

Defined in

packages/react-page-renderer/src/component/BlankManagedRootView.ts:32


setState

setState\<K>(state, callback?): void

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
statenull | S | (prevState: Readonly\<S>, props: Readonly\<P>) => null | S | Pick\<S, K> | Pick\<S, K>
callback?() => void

Returns

void

Inherited from

Component.setState

Defined in

node_modules/@types/react/index.d.ts:1018


shouldComponentUpdate

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. -PureComponent implements a shallow comparison on props and state and returns true if any -props or states have changed.

If false is returned, render, componentWillUpdate -and componentDidUpdate will not be called.

Parameters

NameType
nextPropsReadonly\<P>
nextStateReadonly\<S>
nextContextany

Returns

boolean

Inherited from

Component.shouldComponentUpdate

Defined in

node_modules/@types/react/index.d.ts:1380

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.ErrorBoundary/index.html b/api/classes/ima_react_page_renderer.ErrorBoundary/index.html deleted file mode 100644 index 9918b2858..000000000 --- a/api/classes/ima_react_page_renderer.ErrorBoundary/index.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - -Class: ErrorBoundary | IMA.js - - - - -
-
Skip to main content

Class: ErrorBoundary

@ima/react-page-renderer.ErrorBoundary

Error boundary wrapper which connects the IMA application to the -dev HMR api and handles error reporting.

Hierarchy

  • PureComponent\<ErrorBoundaryProps, ErrorBoundaryState>

    ErrorBoundary

Constructors

constructor

new ErrorBoundary(props)

Parameters

NameType
propsErrorBoundaryProps

Overrides

PureComponent\< -ErrorBoundaryProps, -ErrorBoundaryState -\>.constructor

Defined in

packages/react-page-renderer/src/component/ErrorBoundary.ts:19

Properties

context

context: unknown

If using the new style context, re-declare this in your class to be the -React.ContextType of your static contextType. -Should be used with type annotation or static contextType.

Example

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>

See

React Docs

Inherited from

PureComponent.context

Defined in

node_modules/@types/react/index.d.ts:1006


props

Readonly props: Readonly\<ErrorBoundaryProps>

Inherited from

PureComponent.props

Defined in

node_modules/@types/react/index.d.ts:1026


refs

refs: Object

Deprecated

See

Legacy React Docs

Index signature

[key: string]: ReactInstance

Inherited from

PureComponent.refs

Defined in

node_modules/@types/react/index.d.ts:1033


state

state: Readonly\<ErrorBoundaryState>

Inherited from

PureComponent.state

Defined in

node_modules/@types/react/index.d.ts:1027


contextType

Static Optional contextType: Context\<any>

If set, this.context will be set at runtime to the current value of the given Context.

Example

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}

See

https://react.dev/reference/react/Component#static-contexttype

Inherited from

PureComponent.contextType

Defined in

node_modules/@types/react/index.d.ts:988

Methods

UNSAFE_componentWillMount

Optional UNSAFE_componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See

Inherited from

PureComponent.UNSAFE_componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1463


UNSAFE_componentWillReceiveProps

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ErrorBoundaryProps>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

See

Inherited from

PureComponent.UNSAFE_componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1497


UNSAFE_componentWillUpdate

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ErrorBoundaryProps>
nextStateReadonly\<ErrorBoundaryState>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See

Inherited from

PureComponent.UNSAFE_componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1527


componentDidCatch

componentDidCatch(error): void

Parameters

NameType
errorError

Returns

void

Overrides

PureComponent.componentDidCatch

Defined in

packages/react-page-renderer/src/component/ErrorBoundary.ts:38


componentDidMount

componentDidMount(): void

Returns

void

Overrides

PureComponent.componentDidMount

Defined in

packages/react-page-renderer/src/component/ErrorBoundary.ts:31


componentDidUpdate

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters

NameType
prevPropsReadonly\<ErrorBoundaryProps>
prevStateReadonly\<ErrorBoundaryState>
snapshot?any

Returns

void

Inherited from

PureComponent.componentDidUpdate

Defined in

node_modules/@types/react/index.d.ts:1432


componentWillMount

Optional componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See

Inherited from

PureComponent.componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1448


componentWillReceiveProps

Optional componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ErrorBoundaryProps>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

See

Inherited from

PureComponent.componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1479


componentWillUnmount

Optional componentWillUnmount(): void

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as -cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

PureComponent.componentWillUnmount

Defined in

node_modules/@types/react/index.d.ts:1385


componentWillUpdate

Optional componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ErrorBoundaryProps>
nextStateReadonly\<ErrorBoundaryState>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See

Inherited from

PureComponent.componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1511


forceUpdate

forceUpdate(callback?): void

Parameters

NameType
callback?() => void

Returns

void

Inherited from

PureComponent.forceUpdate

Defined in

node_modules/@types/react/index.d.ts:1023


getSnapshotBeforeUpdate

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

Runs before React applies the result of render to the document, and -returns an object to be given to componentDidUpdate. Useful for saving -things such as scroll position before render causes changes to it.

Note: the presence of this method prevents any of the deprecated -lifecycle events from running.

Parameters

NameType
prevPropsReadonly\<ErrorBoundaryProps>
prevStateReadonly\<ErrorBoundaryState>

Returns

any

Inherited from

PureComponent.getSnapshotBeforeUpdate

Defined in

node_modules/@types/react/index.d.ts:1426


render

render(): undefined | null | ReactElement\<any, string | JSXElementConstructor\<any>>

Returns

undefined | null | ReactElement\<any, string | JSXElementConstructor\<any>>

Overrides

PureComponent.render

Defined in

packages/react-page-renderer/src/component/ErrorBoundary.ts:45


setState

setState\<K>(state, callback?): void

Type parameters

NameType
Kextends "hasError"

Parameters

NameType
statenull | ErrorBoundaryState | (prevState: Readonly\<ErrorBoundaryState>, props: Readonly\<ErrorBoundaryProps>) => null | ErrorBoundaryState | Pick\<ErrorBoundaryState, K> | Pick\<ErrorBoundaryState, K>
callback?() => void

Returns

void

Inherited from

PureComponent.setState

Defined in

node_modules/@types/react/index.d.ts:1018


shouldComponentUpdate

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. -PureComponent implements a shallow comparison on props and state and returns true if any -props or states have changed.

If false is returned, render, componentWillUpdate -and componentDidUpdate will not be called.

Parameters

NameType
nextPropsReadonly\<ErrorBoundaryProps>
nextStateReadonly\<ErrorBoundaryState>
nextContextany

Returns

boolean

Inherited from

PureComponent.shouldComponentUpdate

Defined in

node_modules/@types/react/index.d.ts:1380


getDerivedStateFromError

Static getDerivedStateFromError(): Object

Returns

Object

NameType
hasErrorboolean

Defined in

packages/react-page-renderer/src/component/ErrorBoundary.ts:27

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.PageRendererFactory/index.html b/api/classes/ima_react_page_renderer.PageRendererFactory/index.html deleted file mode 100644 index e2543c173..000000000 --- a/api/classes/ima_react_page_renderer.PageRendererFactory/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -Class: PageRendererFactory | IMA.js - - - - -
-
Skip to main content

Class: PageRendererFactory

@ima/react-page-renderer.PageRendererFactory

Factory for page render.

Constructors

constructor

new PageRendererFactory(componentUtils)

Initializes the factory used by the page renderer.

Parameters

NameTypeDescription
componentUtilsComponentUtilsThe registry of component utilities.

Defined in

packages/react-page-renderer/src/renderer/PageRendererFactory.ts:15

Properties

_componentUtils

Private _componentUtils: ComponentUtils

Defined in

packages/react-page-renderer/src/renderer/PageRendererFactory.ts:8

Methods

_isFunctionalComponent

Private _isFunctionalComponent(component): boolean

Parameters

NameType
componentunknown

Returns

boolean

Defined in

packages/react-page-renderer/src/renderer/PageRendererFactory.ts:91


getDocumentView

getDocumentView(documentView): ComponentType

Returns the class constructor of the specified document view component. -Document view may be specified as a namespace path or as a class -constructor.

Parameters

NameTypeDescription
documentViewComponentTypeThe namespace path pointing to the document view component, or the constructor of the document view component.

Returns

ComponentType

The constructor of the document -view component.

Defined in

packages/react-page-renderer/src/renderer/PageRendererFactory.ts:40


getManagedRootView

getManagedRootView(managedRootView): ComponentType

Returns the class constructor of the specified managed root view -component. Managed root view may be specified as a namespace -path or as a class constructor.

Parameters

NameTypeDescription
managedRootViewComponentTypeThe namespace path pointing to the managed root view component, or the constructor of the React component.

Returns

ComponentType

The constructor of the managed -root view component.

Defined in

packages/react-page-renderer/src/renderer/PageRendererFactory.ts:71


getUtils

getUtils(): Utils

Return object of services which are defined for alias $Utils.

Returns

Utils

Defined in

packages/react-page-renderer/src/renderer/PageRendererFactory.ts:25

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.ServerPageRenderer/index.html b/api/classes/ima_react_page_renderer.ServerPageRenderer/index.html deleted file mode 100644 index 02517028d..000000000 --- a/api/classes/ima_react_page_renderer.ServerPageRenderer/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -Class: ServerPageRenderer | IMA.js - - - - -
-
Skip to main content

Class: ServerPageRenderer

@ima/react-page-renderer.ServerPageRenderer

Server-side page renderer. The renderer renders the page into the HTML -markup and sends it to the client.

Hierarchy

  • AbstractPageRenderer

    ServerPageRenderer

Constructors

constructor

new ServerPageRenderer(factory, helpers, dispatcher, settings)

Initializes the server-side page renderer.

Parameters

NameTypeDescription
factoryPageRendererFactoryFactory for receive $Utils to view.
helpers__moduleThe IMA.js helper methods.
dispatcherDispatcherDispatcher fires events to app.
settingsSettingsApplication setting for the current application environment.

Overrides

AbstractPageRenderer.constructor

Defined in

packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:34

Properties

_dispatcher

Protected _dispatcher: Dispatcher

Inherited from

AbstractPageRenderer._dispatcher

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:37


_factory

Protected _factory: PageRendererFactory

Inherited from

AbstractPageRenderer._factory

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:38


_helpers

Protected _helpers: __module

Inherited from

AbstractPageRenderer._helpers

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:39


_settings

Protected _settings: Settings

Inherited from

AbstractPageRenderer._settings

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:40


_viewAdapter

Protected Optional _viewAdapter: ComponentType

Inherited from

AbstractPageRenderer._viewAdapter

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:41


_viewAdapterProps

Protected _viewAdapterProps: UnknownParameters = {}

Inherited from

AbstractPageRenderer._viewAdapterProps

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:42

Methods

_generateViewAdapterProps

Protected _generateViewAdapterProps(managedRootView, pageView, state?): ViewAdapterProps

Generate properties for view from state.

Parameters

NameType
managedRootViewComponentType
pageViewComponentType
stateUnknownParameters

Returns

ViewAdapterProps

Inherited from

AbstractPageRenderer._generateViewAdapterProps

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:128


_getDocumentView

Protected _getDocumentView(routeOptions): ComponentType

Returns the class constructor of the specified document view component.

Parameters

NameTypeDescription
routeOptionsRouteOptionsThe current route options.

Returns

ComponentType

The constructor of the document view component.

Inherited from

AbstractPageRenderer._getDocumentView

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:176


_getViewAdapterElement

_getViewAdapterElement(props?): undefined | ReactElement\<{}, string | JSXElementConstructor\<any>>

Parameters

NameType
propsObject

Returns

undefined | ReactElement\<{}, string | JSXElementConstructor\<any>>

Inherit Doc

Inherited from

AbstractPageRenderer._getViewAdapterElement

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:115


_prepareViewAdapter

Protected _prepareViewAdapter(controller, pageView, routeOptions): void

Returns wrapped page view component with managed root view and view adapter.

Parameters

NameTypeDescription
controllerController\<{}, {}, {}>-
pageViewComponentType-
routeOptionsRouteOptionsThe current route options.

Returns

void

Inherited from

AbstractPageRenderer._prepareViewAdapter

Defined in

packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:148


mount

mount(controller, pageView, pageResources, routeOptions): Promise\<void | PageData>

Parameters

NameType
controllerControllerDecorator\<{}, {}, {}>
pageViewComponentType\<{}>
pageResourcesUnknownPromiseParameters
routeOptionsRouteOptions

Returns

Promise\<void | PageData>

Inherit Doc

Overrides

AbstractPageRenderer.mount

Defined in

packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:46


setState

setState(): Promise\<void>

Returns

Promise\<void>

Overrides

AbstractPageRenderer.setState

Defined in

packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:72


unmount

unmount(): void

Returns

void

Inherit Doc

Overrides

AbstractPageRenderer.unmount

Defined in

packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:88


update

update(): Promise\<never>

Returns

Promise\<never>

Inherit Doc

Overrides

AbstractPageRenderer.update

Defined in

packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:79

- - - - \ No newline at end of file diff --git a/api/classes/ima_react_page_renderer.ViewAdapter/index.html b/api/classes/ima_react_page_renderer.ViewAdapter/index.html deleted file mode 100644 index c51b68e01..000000000 --- a/api/classes/ima_react_page_renderer.ViewAdapter/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -Class: ViewAdapter | IMA.js - - - - -
-
Skip to main content

Class: ViewAdapter

@ima/react-page-renderer.ViewAdapter

An adapter component providing the current page controller's state to the -page view component through its properties.

Hierarchy

Constructors

constructor

new ViewAdapter(props)

Initializes the adapter component.

Parameters

NameTypeDescription
propsViewAdapterPropsComponent properties, containing the actual page view and the initial page state to pass to the view.

Overrides

Component\<ViewAdapterProps, State\>.constructor

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:42

Properties

_getContextValue

Private _getContextValue: (props: ViewAdapterProps, state: State) => PageContextType

Type declaration

▸ (props, state): PageContextType

Parameters
NameType
propsViewAdapterProps
stateState
Returns

PageContextType

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:26


_managedRootView

Private _managedRootView: ComponentType

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:25


context

context: unknown

If using the new style context, re-declare this in your class to be the -React.ContextType of your static contextType. -Should be used with type annotation or static contextType.

Example

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>

See

React Docs

Inherited from

Component.context

Defined in

node_modules/@types/react/index.d.ts:1006


contextSelectors

contextSelectors: (props: ViewAdapterProps, state: State) => any[]

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:32


createContext

createContext: MemoizedFn\<(...args: any[]) => PageContextType>

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:31


props

Readonly props: Readonly\<ViewAdapterProps>

Inherited from

Component.props

Defined in

node_modules/@types/react/index.d.ts:1026


refs

refs: Object

Deprecated

See

Legacy React Docs

Index signature

[key: string]: ReactInstance

Inherited from

Component.refs

Defined in

node_modules/@types/react/index.d.ts:1033


state

state: Readonly\<State>

Inherited from

Component.state

Defined in

node_modules/@types/react/index.d.ts:1027


contextType

Static Optional contextType: Context\<any>

If set, this.context will be set at runtime to the current value of the given Context.

Example

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}

See

https://react.dev/reference/react/Component#static-contexttype

Inherited from

Component.contextType

Defined in

node_modules/@types/react/index.d.ts:988

Methods

UNSAFE_componentWillMount

Optional UNSAFE_componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See

Inherited from

Component.UNSAFE_componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1463


UNSAFE_componentWillReceiveProps

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ViewAdapterProps>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead

See

Inherited from

Component.UNSAFE_componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1497


UNSAFE_componentWillUpdate

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ViewAdapterProps>
nextStateReadonly\<State>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See

Inherited from

Component.UNSAFE_componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1527


componentDidCatch

Optional componentDidCatch(error, errorInfo): void

Catches exceptions generated in descendant components. Unhandled exceptions will cause -the entire component tree to unmount.

Parameters

NameType
errorError
errorInfoErrorInfo

Returns

void

Inherited from

Component.componentDidCatch

Defined in

node_modules/@types/react/index.d.ts:1390


componentDidMount

Optional componentDidMount(): void

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

Returns

void

Inherited from

Component.componentDidMount

Defined in

node_modules/@types/react/index.d.ts:1369


componentDidUpdate

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters

NameType
prevPropsReadonly\<ViewAdapterProps>
prevStateReadonly\<State>
snapshot?any

Returns

void

Inherited from

Component.componentDidUpdate

Defined in

node_modules/@types/react/index.d.ts:1432


componentWillMount

Optional componentWillMount(): void

Called immediately before mounting occurs, and before render. -Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See

Inherited from

Component.componentWillMount

Defined in

node_modules/@types/react/index.d.ts:1448


componentWillReceiveProps

Optional componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. -React may call this even if props have not changed, so be sure to compare new and existing -props if you only want to handle changes.

Calling setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ViewAdapterProps>
nextContextany

Returns

void

Deprecated

16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17

See

Inherited from

Component.componentWillReceiveProps

Defined in

node_modules/@types/react/index.d.ts:1479


componentWillUnmount

Optional componentWillUnmount(): void

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as -cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

Component.componentWillUnmount

Defined in

node_modules/@types/react/index.d.ts:1385


componentWillUpdate

Optional componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call setState here.

Note: the presence of getSnapshotBeforeUpdate -or StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents -this from being invoked.

Parameters

NameType
nextPropsReadonly\<ViewAdapterProps>
nextStateReadonly\<State>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See

Inherited from

Component.componentWillUpdate

Defined in

node_modules/@types/react/index.d.ts:1511


forceUpdate

forceUpdate(callback?): void

Parameters

NameType
callback?() => void

Returns

void

Inherited from

Component.forceUpdate

Defined in

node_modules/@types/react/index.d.ts:1023


getContextValue

getContextValue(props, state): PageContextType

Parameters

NameType
propsViewAdapterProps
stateState

Returns

PageContextType

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:89


getSnapshotBeforeUpdate

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

Runs before React applies the result of render to the document, and -returns an object to be given to componentDidUpdate. Useful for saving -things such as scroll position before render causes changes to it.

Note: the presence of this method prevents any of the deprecated -lifecycle events from running.

Parameters

NameType
prevPropsReadonly\<ViewAdapterProps>
prevStateReadonly\<State>

Returns

any

Inherited from

Component.getSnapshotBeforeUpdate

Defined in

node_modules/@types/react/index.d.ts:1426


render

render(): FunctionComponentElement\<ProviderProps\<PageContextType>> | CElement\<ErrorBoundaryProps, ErrorBoundary>

Returns

FunctionComponentElement\<ProviderProps\<PageContextType>> | CElement\<ErrorBoundaryProps, ErrorBoundary>

Inherit Doc

Overrides

Component.render

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:99


setState

setState\<K>(state, callback?): void

Type parameters

NameType
Kextends string | number

Parameters

NameType
statenull | State | (prevState: Readonly\<State>, props: Readonly\<ViewAdapterProps>) => null | State | Pick\<State, K> | Pick\<State, K>
callback?() => void

Returns

void

Inherited from

Component.setState

Defined in

node_modules/@types/react/index.d.ts:1018


shouldComponentUpdate

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. -PureComponent implements a shallow comparison on props and state and returns true if any -props or states have changed.

If false is returned, render, componentWillUpdate -and componentDidUpdate will not be called.

Parameters

NameType
nextPropsReadonly\<ViewAdapterProps>
nextStateReadonly\<State>
nextContextany

Returns

boolean

Inherited from

Component.shouldComponentUpdate

Defined in

node_modules/@types/react/index.d.ts:1380


getDerivedStateFromProps

Static getDerivedStateFromProps(props, state): State

Parameters

NameType
propsViewAdapterProps
stateState

Returns

State

Defined in

packages/react-page-renderer/src/component/ViewAdapter.ts:71

- - - - \ No newline at end of file diff --git a/api/enums/ima_core.ActionTypes/index.html b/api/enums/ima_core.ActionTypes/index.html deleted file mode 100644 index 2ae40561a..000000000 --- a/api/enums/ima_core.ActionTypes/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Enumeration: ActionTypes | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/enums/ima_core.BindingState/index.html b/api/enums/ima_core.BindingState/index.html deleted file mode 100644 index e6649411c..000000000 --- a/api/enums/ima_core.BindingState/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -Enumeration: BindingState | IMA.js - - - - -
-
Skip to main content

Enumeration: BindingState

@ima/core.BindingState

Enumeration Members

App

App = "app"

Constant for app binding state.

When the object container is in app binding state, it is possible -to register new aliases using the bind() method and register -new constant using the constant() method, or override the -default class dependencies of any already-configured class using the -inject() method (classes that were not configured yet may be -configured using the inject() method or provide() -method).

Defined in

packages/core/src/oc/BindingState.ts:49


IMA

IMA = "ima.core"

Constant for IMA binding state.

When the object container is in ima binding state, it is possible -to register new aliases using the bind() method and register -new constant using the constant() method, or override the -default class dependencies of any already-configured class using the -inject() method (classes that were not configured yet may be -configured using the inject() method or provide() -method).

Defined in

packages/core/src/oc/BindingState.ts:36


Plugin

Plugin = "plugin"

Constant for plugin binding state.

When the object container is in plugin binding state, it is impossible -to register new aliases using the bind() method and register -new constant using the constant() method, or override the -default class dependencies of any already-configured class using the -inject() method (classes that were not configured yet may be -configured using the inject() method or provide() -method).

This prevents the unprivileged code (e.g. 3rd party plugins) from -overriding the default dependency configuration provided by ima, or -overriding the configuration of a 3rd party plugin by another 3rd party -plugin.

The application itself has always access to the unlocked object -container.

Defined in

packages/core/src/oc/BindingState.ts:21

- - - - \ No newline at end of file diff --git a/api/enums/ima_core.HttpStatusCode/index.html b/api/enums/ima_core.HttpStatusCode/index.html deleted file mode 100644 index 1b25dbed8..000000000 --- a/api/enums/ima_core.HttpStatusCode/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -Enumeration: HttpStatusCode | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/enums/ima_core.RendererEvents/index.html b/api/enums/ima_core.RendererEvents/index.html deleted file mode 100644 index 36a6bd40d..000000000 --- a/api/enums/ima_core.RendererEvents/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -Enumeration: RendererEvents | IMA.js - - - - -
-
Skip to main content

Enumeration: RendererEvents

@ima/core.RendererEvents

Events constants, which is firing to app.

Enumeration Members

ERROR

ERROR = "$IMA.$PageRenderer.error"

PageRenderer fires event $IMA.$PageRenderer.error when there is -no _viewContainer in _renderToDOM method. Event's data contain -{message: string}.

Defined in

packages/core/src/page/renderer/RendererEvents.ts:31


HYDRATE_ERROR

HYDRATE_ERROR = "$IMA.$PageRenderer.hydrateError"

Fired when problem occurs during hydratation.

Defined in

packages/core/src/page/renderer/RendererEvents.ts:36


MOUNTED

MOUNTED = "$IMA.$PageRenderer.mounted"

PageRenderer fires event $IMA.$PageRenderer.mounted after -current page view is mounted to the DOM. Event's data contain -{type: string}.

Defined in

packages/core/src/page/renderer/RendererEvents.ts:10


UNMOUNTED

UNMOUNTED = "$IMA.$PageRenderer.unmounted"

PageRenderer fires event $IMA.$PageRenderer.unmounted after current view is -unmounted from the DOM. Event's data contain -{type: string}.

Defined in

packages/core/src/page/renderer/RendererEvents.ts:24


UPDATED

UPDATED = "$IMA.$PageRenderer.updated"

PageRenderer fires event $IMA.$PageRenderer.updated after -current state is updated in the DOM. Event's data contain -{state: Object<string, *>}.

Defined in

packages/core/src/page/renderer/RendererEvents.ts:17

- - - - \ No newline at end of file diff --git a/api/enums/ima_core.RendererTypes/index.html b/api/enums/ima_core.RendererTypes/index.html deleted file mode 100644 index 81357ac0a..000000000 --- a/api/enums/ima_core.RendererTypes/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Enumeration: RendererTypes | IMA.js - - - - -
-
Skip to main content

Enumeration: RendererTypes

@ima/core.RendererTypes

Events constants, which is firing to app.

Enumeration Members

HYDRATE

HYDRATE = "$IMA.$PageRenderer.type.hydrate"

The HYDRATE type is set if mounting use React.hydrate method.

Defined in

packages/core/src/page/renderer/RendererTypes.ts:12


RENDER

RENDER = "$IMA.$PageRenderer.type.render"

The RENDER type is set if mounting use React.render method.

Defined in

packages/core/src/page/renderer/RendererTypes.ts:8


UNMOUNT

UNMOUNT = "$IMA.$PageRenderer.type.unmount"

The UNMOUNT type is set if unmounting use React.unmountComponentAtNode method.

Defined in

packages/core/src/page/renderer/RendererTypes.ts:16

- - - - \ No newline at end of file diff --git a/api/enums/ima_core.RouteNames/index.html b/api/enums/ima_core.RouteNames/index.html deleted file mode 100644 index 52ffa1c17..000000000 --- a/api/enums/ima_core.RouteNames/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Enumeration: RouteNames | IMA.js - - - - -
-
Skip to main content

Enumeration: RouteNames

@ima/core.RouteNames

HTTP status code constants, representing the HTTP status codes recognized -and processed by this proxy.

Enumeration Members

ERROR

ERROR = "error"

The internal route name used for the error page (the 5XX HTTP status -code error page).

Defined in

packages/core/src/router/RouteNames.ts:16


NOT_FOUND

NOT_FOUND = "notFound"

The internal route name used for the "not found" error page (the 4XX -HTTP status code error page).

Defined in

packages/core/src/router/RouteNames.ts:10

- - - - \ No newline at end of file diff --git a/api/enums/ima_core.RouterEvents/index.html b/api/enums/ima_core.RouterEvents/index.html deleted file mode 100644 index 2dbd5b54b..000000000 --- a/api/enums/ima_core.RouterEvents/index.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - -Enumeration: RouterEvents | IMA.js - - - - -
-
Skip to main content

Enumeration: RouterEvents

@ima/core.RouterEvents

Events constants, which is firing to app.

Enumeration Members

AFTER_HANDLE_ROUTE

AFTER_HANDLE_ROUTE = "$IMA.$Router.afterHandleRoute"

Router fire event $IMA.$Router.afterHandleRoute after page -manager handle the route. Event's data contain -{response: Object<string, *>, params: Object<string, string>, -route: ima.core.router.AbstractRoute, path: string, options: Object<string, *>}}. -The response is page render result. The path is current -path, the params are params extracted from path, the -route is handle route for path and the options is route -additional options.

Defined in

packages/core/src/router/RouterEvents.ts:26


AFTER_LOADING_ASYNC_ROUTE

AFTER_LOADING_ASYNC_ROUTE = "$IMA.$Router.afterLoadingAsyncRoute"

Event fired when router finishes loading of async view -and controller. If both are sync this is never fired.

Defined in

packages/core/src/router/RouterEvents.ts:38


BEFORE_HANDLE_ROUTE

BEFORE_HANDLE_ROUTE = "$IMA.$Router.beforeHandleRoute"

Router fire event $IMA.$Router.beforeHandleRoute before page -manager handle the route. Event's data contain -{ params: Object<string, string>, route: ima.core.router.AbstractRoute, -path: string, options: Object<string, *>}}. The path is current -path, the params are params extracted from path, the -route is handle route for path and the options is route -additional options.

Defined in

packages/core/src/router/RouterEvents.ts:14


BEFORE_LOADING_ASYNC_ROUTE

BEFORE_LOADING_ASYNC_ROUTE = "$IMA.$Router.beforeLoadingAsyncRoute"

Fired right before loading view and controller when either -view or controller is async (or both).

Defined in

packages/core/src/router/RouterEvents.ts:32

- - - - \ No newline at end of file diff --git a/api/enums/ima_core.StateEvents/index.html b/api/enums/ima_core.StateEvents/index.html deleted file mode 100644 index 7709b14ba..000000000 --- a/api/enums/ima_core.StateEvents/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Enumeration: StateEvents | IMA.js - - - - -
-
Skip to main content

Enumeration: StateEvents

@ima/core.StateEvents

Events constants, which is firing to app.

Enumeration Members

AFTER_CHANGE_STATE

AFTER_CHANGE_STATE = "$IMA.$PageStateManager.afterChangeState"

PateStateManager fire event $IMA.$PageStateManager.afterChangeState after state -is patched. Event's data contain {newState: Object<string, *>}.

Defined in

packages/core/src/page/state/StateEvents.ts:17


BEFORE_CHANGE_STATE

BEFORE_CHANGE_STATE = "$IMA.$PageStateManager.beforeChangeState"

PateStateManager fire event $IMA.$PageStateManager.beforeChangeState before -state is patched. Event's data contain -{ oldState: Object<string, *>, newState: Object<string, *>, -pathState: Object<string, *> }.

Defined in

packages/core/src/page/state/StateEvents.ts:11

- - - - \ No newline at end of file diff --git a/api/index.html b/api/index.html index 29bccdd9e..821e07126 100644 --- a/api/index.html +++ b/api/index.html @@ -1,16 +1,21 @@ - + - -Documentation | IMA.js - - + +Documentation | IMA.js + + -
-
Skip to main content
- - +
Skip to main content
\ No newline at end of file diff --git a/api/interfaces/ima_cli.ImaCliArgs/index.html b/api/interfaces/ima_cli.ImaCliArgs/index.html deleted file mode 100644 index d0189d943..000000000 --- a/api/interfaces/ima_cli.ImaCliArgs/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: ImaCliArgs | IMA.js - - - - -
-
Skip to main content

Interface: ImaCliArgs

@ima/cli.ImaCliArgs

Arguments generated from ima CLI commands.

Hierarchy

Properties

clean

clean: boolean

Defined in

types.ts:33


clearCache

Optional clearCache: boolean

Defined in

types.ts:34


command

command: ImaCliCommand

Defined in

types.ts:32


environment

environment: string

Defined in

types.ts:46


forceLegacy

Optional forceLegacy: boolean

Defined in

types.ts:49


forceSPA

Optional forceSPA: boolean

Defined in

types.ts:41


hostname

Optional hostname: string

Defined in

types.ts:44


ignoreWarnings

Optional ignoreWarnings: boolean

Defined in

types.ts:37


inspect

Optional inspect: boolean

Defined in

types.ts:36


lazyServer

Optional lazyServer: boolean

Defined in

types.ts:50


legacy

Optional legacy: boolean

Defined in

types.ts:40


open

Optional open: boolean

Defined in

types.ts:38


openUrl

Optional openUrl: string

Defined in

types.ts:39


port

Optional port: number

Defined in

types.ts:43


profile

Optional profile: boolean

Defined in

types.ts:42


publicUrl

Optional publicUrl: string

Defined in

types.ts:45


reactRefresh

Optional reactRefresh: boolean

Defined in

types.ts:48


rootDir

rootDir: string

Defined in

types.ts:31


verbose

Optional verbose: boolean

Defined in

types.ts:35


writeToDisk

Optional writeToDisk: boolean

Defined in

types.ts:47

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_cli.ImaCliPlugin/index.html b/api/interfaces/ima_cli.ImaCliPlugin/index.html deleted file mode 100644 index 96ce4203d..000000000 --- a/api/interfaces/ima_cli.ImaCliPlugin/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -Interface: ImaCliPlugin | IMA.js - - - - -
-
Skip to main content

Interface: ImaCliPlugin

@ima/cli.ImaCliPlugin

Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used -to extend functionality of default CLI with custom cli arguments and webpack config overrides.

Properties

cliArgs

Optional Readonly cliArgs: Partial\<Record\<ImaCliCommand, CommandBuilder>>

Optional additional CLI arguments to extend the set of existing ones.

Defined in

types.ts:99


name

Readonly name: string

Plugin name, used mainly for better debugging messages.

Defined in

types.ts:94

Methods

postProcess

Optional postProcess(args, imaConfig): Promise\<void>

Optional plugin hook to do some custom processing after the compilation has finished. -Attention! This hook runs only for build command.

Parameters

NameType
argsImaCliArgs
imaConfigImaConfig

Returns

Promise\<void>

Defined in

types.ts:132


preProcess

Optional preProcess(args, imaConfig): Promise\<void>

Optional plugin hook to do some pre processing right after the cli args are processed -and the imaConfig is loaded, before the webpack config creation and compiler run.

Parameters

NameType
argsImaCliArgs
imaConfigImaConfig

Returns

Promise\<void>

Defined in

types.ts:105


prepareConfigurations

Optional prepareConfigurations(configurations, imaConfig, args): Promise\<ImaConfigurationContext[]>

Called right before creating webpack configurations after preProcess call. -This hook lets you customize configuration contexts for each webpack config -that will be generated. This is usefull when you need to overrite configuration -contexts for values that are not editable anywhere else (like output folders).

Parameters

NameType
configurationsImaConfigurationContext[]
imaConfigImaConfig
argsImaCliArgs

Returns

Promise\<ImaConfigurationContext[]>

Defined in

types.ts:113


webpack

Optional webpack(config, ctx, imaConfig): Promise\<Configuration>

Webpack callback function used by plugins to customize/extend ima webpack config before it's run.

Parameters

NameType
configConfiguration
ctxImaConfigurationContext
imaConfigImaConfig

Returns

Promise\<Configuration>

Defined in

types.ts:122

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_cli.ImaConfigurationContext/index.html b/api/interfaces/ima_cli.ImaConfigurationContext/index.html deleted file mode 100644 index 4f521d87e..000000000 --- a/api/interfaces/ima_cli.ImaConfigurationContext/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: ImaConfigurationContext | IMA.js - - - - -
-
Skip to main content

Interface: ImaConfigurationContext

@ima/cli.ImaConfigurationContext

CLI arguments merged with concrete configuration context.

Hierarchy

Properties

appDir

appDir: string

Defined in

types.ts:74


clean

clean: boolean

Inherited from

ImaCliArgs.clean

Defined in

types.ts:33


clearCache

Optional clearCache: boolean

Inherited from

ImaCliArgs.clearCache

Defined in

types.ts:34


command

command: ImaCliCommand

Inherited from

ImaCliArgs.command

Defined in

types.ts:32


devtool

devtool: undefined | string | false

Defined in

types.ts:81


environment

environment: string

Inherited from

ImaCliArgs.environment

Defined in

types.ts:46


forceLegacy

Optional forceLegacy: boolean

Inherited from

ImaCliArgs.forceLegacy

Defined in

types.ts:49


forceSPA

Optional forceSPA: boolean

Inherited from

ImaCliArgs.forceSPA

Defined in

types.ts:41


hostname

Optional hostname: string

Inherited from

ImaCliArgs.hostname

Defined in

types.ts:44


ignoreWarnings

Optional ignoreWarnings: boolean

Inherited from

ImaCliArgs.ignoreWarnings

Defined in

types.ts:37


imaEnvironment

imaEnvironment: Environment

Defined in

types.ts:73


inspect

Optional inspect: boolean

Inherited from

ImaCliArgs.inspect

Defined in

types.ts:36


isClient

isClient: boolean

Defined in

types.ts:59


isClientES

isClientES: boolean

Defined in

types.ts:60


isDevEnv

isDevEnv: boolean

Defined in

types.ts:79


isServer

isServer: boolean

Defined in

types.ts:58


lazyServer

Optional lazyServer: boolean

Inherited from

ImaCliArgs.lazyServer

Defined in

types.ts:50


legacy

Optional legacy: boolean

Inherited from

ImaCliArgs.legacy

Defined in

types.ts:40


lessGlobalsPath

lessGlobalsPath: string

Defined in

types.ts:75


mode

mode: undefined | "development" | "production" | "none"

Defined in

types.ts:76


name

name: "server" | "client" | "client.es"

Defined in

types.ts:57


open

Optional open: boolean

Inherited from

ImaCliArgs.open

Defined in

types.ts:38


openUrl

Optional openUrl: string

Inherited from

ImaCliArgs.openUrl

Defined in

types.ts:39


outputFolders

outputFolders: Object

Type declaration

NameType
cssstring
hotstring
jsstring
mediastring
publicstring

Defined in

types.ts:62


port

Optional port: number

Inherited from

ImaCliArgs.port

Defined in

types.ts:43


processCss

processCss: boolean

Defined in

types.ts:61


profile

Optional profile: boolean

Inherited from

ImaCliArgs.profile

Defined in

types.ts:42


publicUrl

Optional publicUrl: string

Inherited from

ImaCliArgs.publicUrl

Defined in

types.ts:45


reactRefresh

Optional reactRefresh: boolean

Inherited from

ImaCliArgs.reactRefresh

Defined in

types.ts:48


rootDir

rootDir: string

Inherited from

ImaCliArgs.rootDir

Defined in

types.ts:31


targets

targets: string[]

Defined in

types.ts:80


typescript

typescript: Object

Type declaration

NameType
enabledboolean
tsconfigPathundefined | string

Defined in

types.ts:69


useHMR

useHMR: boolean

Defined in

types.ts:77


useSourceMaps

useSourceMaps: boolean

Defined in

types.ts:78


verbose

Optional verbose: boolean

Inherited from

ImaCliArgs.verbose

Defined in

types.ts:35


writeToDisk

Optional writeToDisk: boolean

Inherited from

ImaCliArgs.writeToDisk

Defined in

types.ts:47

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.AppEnvironment/index.html b/api/interfaces/ima_core.AppEnvironment/index.html deleted file mode 100644 index 14ebc763b..000000000 --- a/api/interfaces/ima_core.AppEnvironment/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: AppEnvironment | IMA.js - - - - -
-
Skip to main content

Interface: AppEnvironment

@ima/core.AppEnvironment

App Environment structure, used in ./server/config/environment.js

Properties

dev

Optional dev: PartialObjectDeep\<Environment, {}>

Defined in

packages/core/src/boot.ts:118


prod

prod: Environment

Defined in

packages/core/src/boot.ts:117


regression

Optional regression: PartialObjectDeep\<Environment, {}>

Defined in

packages/core/src/boot.ts:120


test

Optional test: PartialObjectDeep\<Environment, {}>

Defined in

packages/core/src/boot.ts:119

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.BootConfig/index.html b/api/interfaces/ima_core.BootConfig/index.html deleted file mode 100644 index 8a1ddcdfd..000000000 --- a/api/interfaces/ima_core.BootConfig/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: BootConfig | IMA.js - - - - -
-
Skip to main content

Interface: BootConfig

@ima/core.BootConfig

Hierarchy

Properties

bind

Optional bind: Settings & BootSettings

Defined in

packages/core/src/Bootstrap.ts:113


initBindApp

initBindApp: InitBindFunction

Inherited from

InitAppConfig.initBindApp

Defined in

packages/core/src/Bootstrap.ts:71


initBindIma

initBindIma: InitBindFunction

Inherited from

InitImaConfig.initBindIma

Defined in

packages/core/src/Bootstrap.ts:78


initRoutes

initRoutes: InitRoutesFunction

Inherited from

InitAppConfig.initRoutes

Defined in

packages/core/src/Bootstrap.ts:72


initServicesApp

initServicesApp: InitServicesFunction

Inherited from

InitAppConfig.initServicesApp

Defined in

packages/core/src/Bootstrap.ts:73


initServicesIma

initServicesIma: InitServicesFunction

Inherited from

InitImaConfig.initServicesIma

Defined in

packages/core/src/Bootstrap.ts:79


initSettings

initSettings: InitSettingsFunction

Inherited from

InitAppConfig.initSettings

Defined in

packages/core/src/Bootstrap.ts:74


plugins

plugins: { name: string ; plugin: InitPluginConfig }[]

Defined in

packages/core/src/Bootstrap.ts:114


routes

Optional routes: UnknownParameters

Defined in

packages/core/src/Bootstrap.ts:112


services

services: BootServices

Defined in

packages/core/src/Bootstrap.ts:115


settings

settings: BootSettings

Defined in

packages/core/src/Bootstrap.ts:116

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.BootServices/index.html b/api/interfaces/ima_core.BootServices/index.html deleted file mode 100644 index 89fc3dcd4..000000000 --- a/api/interfaces/ima_core.BootServices/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: BootServices | IMA.js - - - - -
-
Skip to main content

Interface: BootServices

@ima/core.BootServices

Properties

$IMA

$IMA: GlobalImaObject

Defined in

packages/core/src/Bootstrap.ts:100


dictionary

dictionary: DictionaryConfig

Defined in

packages/core/src/Bootstrap.ts:101


request

request: null | Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>

Defined in

packages/core/src/Bootstrap.ts:99


response

response: null | Response\<any, Record\<string, any>>

Defined in

packages/core/src/Bootstrap.ts:98


router

router: Object

Type declaration

NameType
$Hoststring
$LanguagePartPathstring
$Pathstring
$Protocol"http:" | "https:"
$Rootstring

Defined in

packages/core/src/Bootstrap.ts:102

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.DictionaryMap/index.html b/api/interfaces/ima_core.DictionaryMap/index.html deleted file mode 100644 index 3c412e277..000000000 --- a/api/interfaces/ima_core.DictionaryMap/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: DictionaryMap | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.DispatcherEventsMap/index.html b/api/interfaces/ima_core.DispatcherEventsMap/index.html deleted file mode 100644 index 88520f8d9..000000000 --- a/api/interfaces/ima_core.DispatcherEventsMap/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: DispatcherEventsMap | IMA.js - - - - -
-
Skip to main content

Interface: DispatcherEventsMap

@ima/core.DispatcherEventsMap

Hierarchy

  • PageStateDispatcherEvents

  • PageManagerDispatcherEvents

  • RouterDispatcherEvents

  • PageRendererDispatcherEvents

    DispatcherEventsMap

Properties

$IMA.$PageRenderer.error

$IMA.$PageRenderer.error: Object

Type declaration

NameType
messagestring

Inherited from

PageRendererDispatcherEvents.$IMA.$PageRenderer.error

Defined in

packages/core/src/page/renderer/PageRenderer.ts:13


$IMA.$PageRenderer.hydrateError

$IMA.$PageRenderer.hydrateError: Object

Type declaration

NameType
clientNodeElement
errorError
serverNodeElement

Inherited from

PageRendererDispatcherEvents.$IMA.$PageRenderer.hydrateError

Defined in

packages/core/src/page/renderer/PageRenderer.ts:14


$IMA.$PageRenderer.mounted

$IMA.$PageRenderer.mounted: Object

Type declaration

NameType
typeRENDER | HYDRATE

Inherited from

PageRendererDispatcherEvents.$IMA.$PageRenderer.mounted

Defined in

packages/core/src/page/renderer/PageRenderer.ts:19


$IMA.$PageRenderer.unmounted

$IMA.$PageRenderer.unmounted: Object

Type declaration

NameType
typeUNMOUNT

Inherited from

PageRendererDispatcherEvents.$IMA.$PageRenderer.unmounted

Defined in

packages/core/src/page/renderer/PageRenderer.ts:22


$IMA.$PageRenderer.updated

$IMA.$PageRenderer.updated: Object

Type declaration

NameType
pageStateAnyParameters

Inherited from

PageRendererDispatcherEvents.$IMA.$PageRenderer.updated

Defined in

packages/core/src/page/renderer/PageRenderer.ts:23


$IMA.$PageStateManager.afterChangeState

$IMA.$PageStateManager.afterChangeState: Object

Type declaration

NameType
newStateAnyParameters

Inherited from

PageStateDispatcherEvents.$IMA.$PageStateManager.afterChangeState

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:9


$IMA.$PageStateManager.beforeChangeState

$IMA.$PageStateManager.beforeChangeState: Object

Type declaration

NameType
newStateAnyParameters
oldStateAnyParameters
patchStatenull | AnyParameters

Inherited from

PageStateDispatcherEvents.$IMA.$PageStateManager.beforeChangeState

Defined in

packages/core/src/page/state/PageStateManagerImpl.ts:12


$IMA.$Router.afterHandleRoute

$IMA.$Router.afterHandleRoute: AfterHandleRouteEventData

Inherited from

RouterDispatcherEvents.$IMA.$Router.afterHandleRoute

Defined in

packages/core/src/router/AbstractRouter.ts:41


$IMA.$Router.afterLoadingAsyncRoute

$IMA.$Router.afterLoadingAsyncRoute: Object

Type declaration

NameType
routeAbstractRoute\<string | RoutePathExpression>

Inherited from

PageManagerDispatcherEvents.$IMA.$Router.afterLoadingAsyncRoute

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:25


$IMA.$Router.beforeHandleRoute

$IMA.$Router.beforeHandleRoute: BeforeHandleRouteEventData

Inherited from

RouterDispatcherEvents.$IMA.$Router.beforeHandleRoute

Defined in

packages/core/src/router/AbstractRouter.ts:42


$IMA.$Router.beforeLoadingAsyncRoute

$IMA.$Router.beforeLoadingAsyncRoute: Object

Type declaration

NameType
routeAbstractRoute\<string | RoutePathExpression>

Inherited from

PageManagerDispatcherEvents.$IMA.$Router.beforeLoadingAsyncRoute

Defined in

packages/core/src/page/manager/AbstractPageManager.ts:28

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.Environment/index.html b/api/interfaces/ima_core.Environment/index.html deleted file mode 100644 index fafd08ebf..000000000 --- a/api/interfaces/ima_core.Environment/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Environment | IMA.js - - - - -
-
Skip to main content

Interface: Environment

@ima/core.Environment

App environment for single env key.

Indexable

[key: string]: unknown

Properties

$App

Optional $App: $AppSettings

Defined in

packages/core/src/boot.ts:61


$Debug

$Debug: boolean

Defined in

packages/core/src/boot.ts:58


$Language

$Language: Record\<string, string>

Defined in

packages/core/src/boot.ts:59


$Resources

Optional $Resources: (response: unknown, manifest: Manifest, defaultResources: Resources) => Resources

Type declaration

▸ (response, manifest, defaultResources): Resources

Parameters
NameType
responseunknown
manifestManifest
defaultResourcesResources
Returns

Resources

Defined in

packages/core/src/boot.ts:62


$Server

$Server: Object

Type declaration

NameType
cache{ cacheKeyGenerator?: (req: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>) => string ; enabled: boolean | (req: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>) => boolean ; entryTtl: number ; maxEntries: number ; unusedEntryTtl: number }
cache.cacheKeyGenerator?(req: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>) => string
cache.enabledboolean | (req: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>>) => boolean
cache.entryTtlnumber
cache.maxEntriesnumber
cache.unusedEntryTtlnumber
clustersnull | number
concurrencynumber
host?string | (__namedParameters: { environment: Environment ; host: string ; req: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>> }) => string
logger{ formatting: "dev" | "simple" | "JSON" }
logger.formatting"dev" | "simple" | "JSON"
overloadConcurrencynumber
portnumber
protocol?"http:" | "https:" | (__namedParameters: { environment: Environment ; protocol: string ; req: Request\<ParamsDictionary, any, any, ParsedQs, Record\<string, any>> }) => "http:" | "https:"
serveSPA{ allow: boolean ; blackList?: (userAgent: string) => boolean }
serveSPA.allowboolean
serveSPA.blackList?(userAgent: string) => boolean
staticConcurrencynumber
staticPathstring

Defined in

packages/core/src/boot.ts:67


$Version

$Version: string

Defined in

packages/core/src/boot.ts:60

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.GlobalImaObject/index.html b/api/interfaces/ima_core.GlobalImaObject/index.html deleted file mode 100644 index c022d766d..000000000 --- a/api/interfaces/ima_core.GlobalImaObject/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: GlobalImaObject | IMA.js - - - - -
-
Skip to main content

Interface: GlobalImaObject

@ima/core.GlobalImaObject

Properties

$App

$App: $AppSettings

Defined in

packages/core/src/types.ts:54


$Debug

$Debug: boolean

Defined in

packages/core/src/types.ts:56


$Env

$Env: keyof AppEnvironment

Defined in

packages/core/src/types.ts:52


$Host

$Host: string

Defined in

packages/core/src/types.ts:58


$IMA

$IMA: GlobalImaObject

Defined in

packages/core/src/types.ts:65


$Language

$Language: string

Defined in

packages/core/src/types.ts:55


$LanguagePartPath

$LanguagePartPath: string

Defined in

packages/core/src/types.ts:61


$Path

$Path: string

Defined in

packages/core/src/types.ts:59


$Protocol

$Protocol: "http:" | "https:"

Defined in

packages/core/src/types.ts:57


$PublicPath

$PublicPath: string

Defined in

packages/core/src/types.ts:67


$RequestID

$RequestID: string

Defined in

packages/core/src/types.ts:66


$Root

$Root: string

Defined in

packages/core/src/types.ts:60


$Version

$Version: string

Defined in

packages/core/src/types.ts:53


Cache

Optional Cache: object

Defined in

packages/core/src/types.ts:70


Runner

Runner: object

Defined in

packages/core/src/types.ts:62


SPA

SPA: boolean

Defined in

packages/core/src/types.ts:64


Test

Test: boolean

Defined in

packages/core/src/types.ts:63


fatalErrorHandler

Optional fatalErrorHandler: (error: Error) => void

Type declaration

▸ (error): void

Parameters
NameType
errorError
Returns

void

Defined in

packages/core/src/types.ts:69


i18n

i18n: DictionaryData

Defined in

packages/core/src/types.ts:68

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.HttpAgentRequestOptions/index.html b/api/interfaces/ima_core.HttpAgentRequestOptions/index.html deleted file mode 100644 index 05b8d22f5..000000000 --- a/api/interfaces/ima_core.HttpAgentRequestOptions/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: HttpAgentRequestOptions | IMA.js - - - - -
-
Skip to main content

Interface: HttpAgentRequestOptions

@ima/core.HttpAgentRequestOptions

Properties

abortController

Optional abortController: AbortController

Defined in

packages/core/src/http/HttpAgent.ts:40


cache

cache: boolean

Defined in

packages/core/src/http/HttpAgent.ts:35


fetchOptions

fetchOptions: ImaRequestInit

Defined in

packages/core/src/http/HttpAgent.ts:34


keepSensitiveHeaders

Optional keepSensitiveHeaders: boolean

Defined in

packages/core/src/http/HttpAgent.ts:41


postProcessors

Optional postProcessors: \<B>(response: HttpAgentResponse\<B>) => HttpAgentResponse\<B>[]

Defined in

packages/core/src/http/HttpAgent.ts:37


repeatRequest

repeatRequest: number

Defined in

packages/core/src/http/HttpAgent.ts:33


responseType

Optional responseType: "json" | "blob" | "text" | "arrayBuffer" | "formData"

Defined in

packages/core/src/http/HttpAgent.ts:36


timeout

timeout: number

Defined in

packages/core/src/http/HttpAgent.ts:31


ttl

ttl: number

Defined in

packages/core/src/http/HttpAgent.ts:32


validateCookies

Optional validateCookies: boolean

Defined in

packages/core/src/http/HttpAgent.ts:42

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.ImaRequestInit/index.html b/api/interfaces/ima_core.ImaRequestInit/index.html deleted file mode 100644 index e1d622669..000000000 --- a/api/interfaces/ima_core.ImaRequestInit/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Interface: ImaRequestInit | IMA.js - - - - -
-
Skip to main content

Interface: ImaRequestInit

@ima/core.ImaRequestInit

Options for a request sent using the HTTP agent.

Hierarchy

  • Omit\<RequestInit, "body">

    ImaRequestInit

Properties

cache

Optional cache: RequestCache

Flag that enables caching the HTTP request -(enabled by default, also applies to requests in progress).

Inherited from

Omit.cache

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1676


credentials

Optional credentials: RequestCredentials

A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials.

Inherited from

Omit.credentials

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1678


headers

Optional headers: Record\<string, string>

Sets the additional request -headers (the keys are case-insensitive header names, the values -are header values).

Overrides

Omit.headers

Defined in

packages/core/src/http/HttpAgent.ts:27


integrity

Optional integrity: string

A cryptographic hash of the resource to be fetched by request. Sets request's integrity.

Inherited from

Omit.integrity

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1682


keepalive

Optional keepalive: boolean

A boolean to set request's keepalive.

Inherited from

Omit.keepalive

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1684


method

Optional method: string

A string to set request's method.

Inherited from

Omit.method

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1686


mode

Optional mode: RequestMode

A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.

Inherited from

Omit.mode

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1688


redirect

Optional redirect: RequestRedirect

A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.

Inherited from

Omit.redirect

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1690


referrer

Optional referrer: string

A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.

Inherited from

Omit.referrer

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1692


referrerPolicy

Optional referrerPolicy: ReferrerPolicy

A referrer policy to set request's referrerPolicy.

Inherited from

Omit.referrerPolicy

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1694


signal

Optional signal: null | AbortSignal

An AbortSignal to set request's signal.

Inherited from

Omit.signal

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1696


window

Optional window: null

Can only be null. Used to disassociate request from any Window.

Inherited from

Omit.window

Defined in

website/node_modules/typescript/lib/lib.dom.d.ts:1698

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.InitAppConfig/index.html b/api/interfaces/ima_core.InitAppConfig/index.html deleted file mode 100644 index 69fb3c3ca..000000000 --- a/api/interfaces/ima_core.InitAppConfig/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: InitAppConfig | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.InitImaConfig/index.html b/api/interfaces/ima_core.InitImaConfig/index.html deleted file mode 100644 index 7d74caeda..000000000 --- a/api/interfaces/ima_core.InitImaConfig/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: InitImaConfig | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.InitPluginConfig/index.html b/api/interfaces/ima_core.InitPluginConfig/index.html deleted file mode 100644 index 741ae6f70..000000000 --- a/api/interfaces/ima_core.InitPluginConfig/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: InitPluginConfig | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.Manifest/index.html b/api/interfaces/ima_core.Manifest/index.html deleted file mode 100644 index 59f3b1d6b..000000000 --- a/api/interfaces/ima_core.Manifest/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Manifest | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.ManifestAsset/index.html b/api/interfaces/ima_core.ManifestAsset/index.html deleted file mode 100644 index 070f99521..000000000 --- a/api/interfaces/ima_core.ManifestAsset/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: ManifestAsset | IMA.js - - - - -
-
Skip to main content

Interface: ManifestAsset

@ima/core.ManifestAsset

Hierarchy

  • AssetInfo

    ManifestAsset

Properties

chunkhash

Optional chunkhash: string | string[]

the value(s) of the chunk hash used for this asset

Inherited from

AssetInfo.chunkhash

Defined in

node_modules/webpack/types.d.ts:7439


contenthash

Optional contenthash: string | string[]

the value(s) of the content hash used for this asset

Inherited from

AssetInfo.contenthash

Defined in

node_modules/webpack/types.d.ts:7449


development

Optional development: boolean

true, when asset is only used for development and doesn't count towards user-facing assets

Inherited from

AssetInfo.development

Defined in

node_modules/webpack/types.d.ts:7464


fullhash

Optional fullhash: string | string[]

the value(s) of the full hash used for this asset

Inherited from

AssetInfo.fullhash

Defined in

node_modules/webpack/types.d.ts:7434


hotModuleReplacement

Optional hotModuleReplacement: boolean

true, when asset ships data for updating an existing application (HMR)

Inherited from

AssetInfo.hotModuleReplacement

Defined in

node_modules/webpack/types.d.ts:7469


immutable

Optional immutable: boolean

true, if the asset can be long term cached forever (contains a hash)

Inherited from

AssetInfo.immutable

Defined in

node_modules/webpack/types.d.ts:7424


javascriptModule

Optional javascriptModule: boolean

true, when asset is javascript and an ESM

Inherited from

AssetInfo.javascriptModule

Defined in

node_modules/webpack/types.d.ts:7474


minimized

Optional minimized: boolean

whether the asset is minimized

Inherited from

AssetInfo.minimized

Defined in

node_modules/webpack/types.d.ts:7429


modulehash

Optional modulehash: string | string[]

the value(s) of the module hash used for this asset

Inherited from

AssetInfo.modulehash

Defined in

node_modules/webpack/types.d.ts:7444


name

name: string

Defined in

packages/core/src/boot.ts:25


Optional related: Record\<string, string | string[]>

object of pointers to other assets, keyed by type of relation (only points from parent to child)

Inherited from

AssetInfo.related

Defined in

node_modules/webpack/types.d.ts:7479


size

Optional size: number

size in bytes, only set after asset has been emitted

Inherited from

AssetInfo.size

Defined in

node_modules/webpack/types.d.ts:7459


sourceFilename

Optional sourceFilename: string

when asset was created from a source file (potentially transformed), the original filename relative to compilation context

Inherited from

AssetInfo.sourceFilename

Defined in

node_modules/webpack/types.d.ts:7454

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.OCAliasMap/index.html b/api/interfaces/ima_core.OCAliasMap/index.html deleted file mode 100644 index 724a13916..000000000 --- a/api/interfaces/ima_core.OCAliasMap/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -Interface: OCAliasMap | IMA.js - - - - -
-
Skip to main content

Interface: OCAliasMap

@ima/core.OCAliasMap

Map of IMA default string aliases and constants initialized in -the ObjectContainer. This is used for typechecking and type -hinting of string OC arguments.

Properties

$Cache

$Cache: Cache\<unknown>

Defined in

packages/core/src/config/bind.ts:103


$CacheFactory

$CacheFactory: CacheFactory\<unknown>

Defined in

packages/core/src/config/bind.ts:102


$CacheStorage

$CacheStorage: MapStorage\<unknown>

Defined in

packages/core/src/config/bind.ts:101


$ComponentUtils

$ComponentUtils: ComponentUtils

Defined in

packages/core/src/config/bind.ts:109


$ControllerDecorator

$ControllerDecorator: ControllerDecorator\<{}, {}, {}>

Defined in

packages/core/src/config/bind.ts:105


$CookieStorage

$CookieStorage: CookieStorage

Defined in

packages/core/src/config/bind.ts:91


$CookieTransformFunction

$CookieTransformFunction: CookieTransformFunction

Defined in

packages/core/src/config/bind.ts:90


$Dictionary

$Dictionary: Dictionary

Defined in

packages/core/src/config/bind.ts:89


$Dispatcher

$Dispatcher: Dispatcher

Defined in

packages/core/src/config/bind.ts:98


$Env

$Env: keyof AppEnvironment

Defined in

packages/core/src/config/bind.ts:82


$Error

$Error: Dispatcher

Defined in

packages/core/src/config/bind.ts:88


$EventBus

$EventBus: EventBus

Defined in

packages/core/src/config/bind.ts:99


$Helper

$Helper: __module

Defined in

packages/core/src/config/bind.ts:79


$Http

$Http: HttpAgent

Defined in

packages/core/src/config/bind.ts:119


$HttpAgentProxy

$HttpAgentProxy: HttpProxy

Defined in

packages/core/src/config/bind.ts:118


$HttpStatusCode

$HttpStatusCode: Readonly\<{ BAD_REQUEST: 400 = 400; FORBIDDEN: 403 = 403; NOT_FOUND: 404 = 404; NO_CONTENT: 204 = 204; OK: 200 = 200; SERVER_ERROR: 500 = 500; TIMEOUT: 408 = 408; UNAUTHORIZED: 401 = 401 }>

Defined in

packages/core/src/config/bind.ts:120


$HttpUrlTransformer

$HttpUrlTransformer: UrlTransformer

Defined in

packages/core/src/config/bind.ts:117


$MapStorage

$MapStorage: MapStorage\<unknown>

Defined in

packages/core/src/config/bind.ts:95


$MetaManager

$MetaManager: MetaManager

Defined in

packages/core/src/config/bind.ts:104


$Observable

$Observable: Observable

Defined in

packages/core/src/config/bind.ts:100


$PageFactory

$PageFactory: PageFactory

Defined in

packages/core/src/config/bind.ts:108


$PageHandlerRegistry

$PageHandlerRegistry: PageHandlerRegistry

Defined in

packages/core/src/config/bind.ts:111


$PageManager

$PageManager: PageManager

Defined in

packages/core/src/config/bind.ts:112


$PageRenderer

$PageRenderer: PageRenderer

Defined in

packages/core/src/config/bind.ts:121


$PageStateManager

$PageStateManager: PageStateManager\<{}>

Defined in

packages/core/src/config/bind.ts:107


$PageStateManagerDecorator

$PageStateManagerDecorator: PageStateManagerDecorator

Defined in

packages/core/src/config/bind.ts:106


$Protocol

$Protocol: "http:" | "https:"

Defined in

packages/core/src/config/bind.ts:83


$Request

$Request: Request

Defined in

packages/core/src/config/bind.ts:85


$Response

$Response: Response

Defined in

packages/core/src/config/bind.ts:86


$RouteFactory

$RouteFactory: RouteFactory

Defined in

packages/core/src/config/bind.ts:113


$RouteNames

$RouteNames: RouteNames

Defined in

packages/core/src/config/bind.ts:115


$Router

$Router: Router

Defined in

packages/core/src/config/bind.ts:114


$RouterEvents

$RouterEvents: RouterEvents

Defined in

packages/core/src/config/bind.ts:116


$Secure

$Secure: boolean

Defined in

packages/core/src/config/bind.ts:84


$SessionMapStorage

$SessionMapStorage: SessionMapStorage\<unknown>

Defined in

packages/core/src/config/bind.ts:97


$SessionStorage

$SessionStorage: SessionStorage\<unknown> | MapStorage\<unknown>

Defined in

packages/core/src/config/bind.ts:92


$Settings

$Settings: Settings & BootSettings & { [key: string]: any; }

Defined in

packages/core/src/config/bind.ts:81


$Utils

$Utils: Utils

Defined in

packages/core/src/config/bind.ts:110


$WeakMapStorage

$WeakMapStorage: WeakMapStorage\<object>

Defined in

packages/core/src/config/bind.ts:96


$Window

$Window: Window

Defined in

packages/core/src/config/bind.ts:87


$oc

$oc: ObjectContainer

Defined in

packages/core/src/config/bind.ts:80

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.PageAction/index.html b/api/interfaces/ima_core.PageAction/index.html deleted file mode 100644 index 1ac3ee2ef..000000000 --- a/api/interfaces/ima_core.PageAction/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: PageAction | IMA.js - - - - -
-
Skip to main content

Interface: PageAction

@ima/core.PageAction

Hierarchy

Properties

event

Optional event: Event & { state?: { scroll?: { x: number ; y: number } } }

Overrides

RouteAction.event

Defined in

packages/core/src/page/PageTypes.ts:40


type

Optional type: ActionTypes

Inherited from

RouteAction.type

Defined in

packages/core/src/router/Router.ts:18


url

Optional url: string

Inherited from

RouteAction.url

Defined in

packages/core/src/router/Router.ts:20

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.PageRendererSettings/index.html b/api/interfaces/ima_core.PageRendererSettings/index.html deleted file mode 100644 index 3a75a5691..000000000 --- a/api/interfaces/ima_core.PageRendererSettings/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: PageRendererSettings | IMA.js - - - - -
-
Skip to main content

Interface: PageRendererSettings

@ima/core.PageRendererSettings

Properties

batchResolve

Optional batchResolve: boolean

Defined in

packages/core/src/boot.ts:124


batchResolveNoTransaction

Optional batchResolveNoTransaction: boolean

Defined in

packages/core/src/boot.ts:125


documentView

documentView: unknown

Defined in

packages/core/src/boot.ts:127


managedRootView

Optional managedRootView: unknown

Defined in

packages/core/src/boot.ts:128


masterElementId

masterElementId: string

Defined in

packages/core/src/boot.ts:126


viewAdapter

Optional viewAdapter: unknown

Defined in

packages/core/src/boot.ts:129

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.Resources/index.html b/api/interfaces/ima_core.Resources/index.html deleted file mode 100644 index 35716ba86..000000000 --- a/api/interfaces/ima_core.Resources/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Resources | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.RouteAction/index.html b/api/interfaces/ima_core.RouteAction/index.html deleted file mode 100644 index 4888fb07d..000000000 --- a/api/interfaces/ima_core.RouteAction/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: RouteAction | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.RouteFactoryOptions/index.html b/api/interfaces/ima_core.RouteFactoryOptions/index.html deleted file mode 100644 index 2191ebfc1..000000000 --- a/api/interfaces/ima_core.RouteFactoryOptions/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: RouteFactoryOptions | IMA.js - - - - -
-
Skip to main content

Interface: RouteFactoryOptions

@ima/core.RouteFactoryOptions

Hierarchy

Properties

autoScroll

autoScroll: boolean

Defined in

packages/core/src/router/Router.ts:36


documentView

documentView: unknown

Defined in

packages/core/src/router/Router.ts:37


extensions

Optional extensions: ("$Helper" | "$oc" | "$Settings" | "$Env" | "$Protocol" | "$Secure" | "$Request" | "$Response" | "$Window" | "$Error" | "$Dictionary" | "$CookieTransformFunction" | "$CookieStorage" | "$SessionStorage" | "$MapStorage" | "$WeakMapStorage" | "$SessionMapStorage" | "$Dispatcher" | "$EventBus" | "$Observable" | "$CacheStorage" | "$CacheFactory" | "$Cache" | "$MetaManager" | "$ControllerDecorator" | "$PageStateManagerDecorator" | "$PageStateManager" | "$PageFactory" | "$ComponentUtils" | "$Utils" | "$PageHandlerRegistry" | "$PageManager" | "$RouteFactory" | "$Router" | "$RouteNames" | "$RouterEvents" | "$HttpUrlTransformer" | "$HttpAgentProxy" | "$Http" | "$HttpStatusCode" | "$PageRenderer" | `$Helper.${string}` | `$oc.${string}` | `$Settings.${string}` | `$Env.${string}` | `$Protocol.${string}` | `$Secure.${string}` | `$Request.${string}` | `$Response.${string}` | `$Window.${string}` | `$Error.${string}` | `$Dictionary.${string}` | `$CookieTransformFunction.${string}` | `$CookieStorage.${string}` | `$SessionStorage.${string}` | `$MapStorage.${string}` | `$WeakMapStorage.${string}` | `$SessionMapStorage.${string}` | `$Dispatcher.${string}` | `$EventBus.${string}` | `$Observable.${string}` | `$CacheStorage.${string}` | `$CacheFactory.${string}` | `$Cache.${string}` | `$MetaManager.${string}` | `$ControllerDecorator.${string}` | `$PageStateManagerDecorator.${string}` | `$PageStateManager.${string}` | `$PageFactory.${string}` | `$ComponentUtils.${string}` | `$Utils.${string}` | `$PageHandlerRegistry.${string}` | `$PageManager.${string}` | `$RouteFactory.${string}` | `$Router.${string}` | `$RouteNames.${string}` | `$RouterEvents.${string}` | `$HttpUrlTransformer.${string}` | `$HttpAgentProxy.${string}` | `$Http.${string}` | `$HttpStatusCode.${string}` | `$PageRenderer.${string}` | "?$Helper" | "?$oc" | "?$Settings" | "?$Env" | "?$Protocol" | "?$Secure" | "?$Request" | "?$Response" | "?$Window" | "?$Error" | "?$Dictionary" | "?$CookieTransformFunction" | "?$CookieStorage" | "?$SessionStorage" | "?$MapStorage" | "?$WeakMapStorage" | "?$SessionMapStorage" | "?$Dispatcher" | "?$EventBus" | "?$Observable" | "?$CacheStorage" | "?$CacheFactory" | "?$Cache" | "?$MetaManager" | "?$ControllerDecorator" | "?$PageStateManagerDecorator" | "?$PageStateManager" | "?$PageFactory" | "?$ComponentUtils" | "?$Utils" | "?$PageHandlerRegistry" | "?$PageManager" | "?$RouteFactory" | "?$Router" | "?$RouteNames" | "?$RouterEvents" | "?$HttpUrlTransformer" | "?$HttpAgentProxy" | "?$Http" | "?$HttpStatusCode" | "?$PageRenderer" | `?$Helper.${string}` | `?$oc.${string}` | `?$Settings.${string}` | `?$Env.${string}` | `?$Protocol.${string}` | `?$Secure.${string}` | `?$Request.${string}` | `?$Response.${string}` | `?$Window.${string}` | `?$Error.${string}` | `?$Dictionary.${string}` | `?$CookieTransformFunction.${string}` | `?$CookieStorage.${string}` | `?$SessionStorage.${string}` | `?$MapStorage.${string}` | `?$WeakMapStorage.${string}` | `?$SessionMapStorage.${string}` | `?$Dispatcher.${string}` | `?$EventBus.${string}` | `?$Observable.${string}` | `?$CacheStorage.${string}` | `?$CacheFactory.${string}` | `?$Cache.${string}` | `?$MetaManager.${string}` | `?$ControllerDecorator.${string}` | `?$PageStateManagerDecorator.${string}` | `?$PageStateManager.${string}` | `?$PageFactory.${string}` | `?$ComponentUtils.${string}` | `?$Utils.${string}` | `?$PageHandlerRegistry.${string}` | `?$PageManager.${string}` | `?$RouteFactory.${string}` | `?$Router.${string}` | `?$RouteNames.${string}` | `?$RouterEvents.${string}` | `?$HttpUrlTransformer.${string}` | `?$HttpAgentProxy.${string}` | `?$Http.${string}` | `?$HttpStatusCode.${string}` | `?$PageRenderer.${string}` | "...?$Helper" | "...?$oc" | "...?$Settings" | "...?$Env" | "...?$Protocol" | "...?$Secure" | "...?$Request" | "...?$Response" | "...?$Window" | "...?$Error" | "...?$Dictionary" | "...?$CookieTransformFunction" | "...?$CookieStorage" | "...?$SessionStorage" | "...?$MapStorage" | "...?$WeakMapStorage" | "...?$SessionMapStorage" | "...?$Dispatcher" | "...?$EventBus" | "...?$Observable" | "...?$CacheStorage" | "...?$CacheFactory" | "...?$Cache" | "...?$MetaManager" | "...?$ControllerDecorator" | "...?$PageStateManagerDecorator" | "...?$PageStateManager" | "...?$PageFactory" | "...?$ComponentUtils" | "...?$Utils" | "...?$PageHandlerRegistry" | "...?$PageManager" | "...?$RouteFactory" | "...?$Router" | "...?$RouteNames" | "...?$RouterEvents" | "...?$HttpUrlTransformer" | "...?$HttpAgentProxy" | "...?$Http" | "...?$HttpStatusCode" | "...?$PageRenderer" | `...?$Helper.${string}` | `...?$oc.${string}` | `...?$Settings.${string}` | `...?$Env.${string}` | `...?$Protocol.${string}` | `...?$Secure.${string}` | `...?$Request.${string}` | `...?$Response.${string}` | `...?$Window.${string}` | `...?$Error.${string}` | `...?$Dictionary.${string}` | `...?$CookieTransformFunction.${string}` | `...?$CookieStorage.${string}` | `...?$SessionStorage.${string}` | `...?$MapStorage.${string}` | `...?$WeakMapStorage.${string}` | `...?$SessionMapStorage.${string}` | `...?$Dispatcher.${string}` | `...?$EventBus.${string}` | `...?$Observable.${string}` | `...?$CacheStorage.${string}` | `...?$CacheFactory.${string}` | `...?$Cache.${string}` | `...?$MetaManager.${string}` | `...?$ControllerDecorator.${string}` | `...?$PageStateManagerDecorator.${string}` | `...?$PageStateManager.${string}` | `...?$PageFactory.${string}` | `...?$ComponentUtils.${string}` | `...?$Utils.${string}` | `...?$PageHandlerRegistry.${string}` | `...?$PageManager.${string}` | `...?$RouteFactory.${string}` | `...?$Router.${string}` | `...?$RouteNames.${string}` | `...?$RouterEvents.${string}` | `...?$HttpUrlTransformer.${string}` | `...?$HttpAgentProxy.${string}` | `...?$Http.${string}` | `...?$HttpStatusCode.${string}` | `...?$PageRenderer.${string}` | "...$Helper" | "...$oc" | "...$Settings" | "...$Env" | "...$Protocol" | "...$Secure" | "...$Request" | "...$Response" | "...$Window" | "...$Error" | "...$Dictionary" | "...$CookieTransformFunction" | "...$CookieStorage" | "...$SessionStorage" | "...$MapStorage" | "...$WeakMapStorage" | "...$SessionMapStorage" | "...$Dispatcher" | "...$EventBus" | "...$Observable" | "...$CacheStorage" | "...$CacheFactory" | "...$Cache" | "...$MetaManager" | "...$ControllerDecorator" | "...$PageStateManagerDecorator" | "...$PageStateManager" | "...$PageFactory" | "...$ComponentUtils" | "...$Utils" | "...$PageHandlerRegistry" | "...$PageManager" | "...$RouteFactory" | "...$Router" | "...$RouteNames" | "...$RouterEvents" | "...$HttpUrlTransformer" | "...$HttpAgentProxy" | "...$Http" | "...$HttpStatusCode" | "...$PageRenderer" | `...$Helper.${string}` | `...$oc.${string}` | `...$Settings.${string}` | `...$Env.${string}` | `...$Protocol.${string}` | `...$Secure.${string}` | `...$Request.${string}` | `...$Response.${string}` | `...$Window.${string}` | `...$Error.${string}` | `...$Dictionary.${string}` | `...$CookieTransformFunction.${string}` | `...$CookieStorage.${string}` | `...$SessionStorage.${string}` | `...$MapStorage.${string}` | `...$WeakMapStorage.${string}` | `...$SessionMapStorage.${string}` | `...$Dispatcher.${string}` | `...$EventBus.${string}` | `...$Observable.${string}` | `...$CacheStorage.${string}` | `...$CacheFactory.${string}` | `...$Cache.${string}` | `...$MetaManager.${string}` | `...$ControllerDecorator.${string}` | `...$PageStateManagerDecorator.${string}` | `...$PageStateManager.${string}` | `...$PageFactory.${string}` | `...$ComponentUtils.${string}` | `...$Utils.${string}` | `...$PageHandlerRegistry.${string}` | `...$PageManager.${string}` | `...$RouteFactory.${string}` | `...$Router.${string}` | `...$RouteNames.${string}` | `...$RouterEvents.${string}` | `...$HttpUrlTransformer.${string}` | `...$HttpAgentProxy.${string}` | `...$Http.${string}` | `...$HttpStatusCode.${string}` | `...$PageRenderer.${string}` | Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>> | [Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>>, { optional: true }])[]

Defined in

packages/core/src/router/Router.ts:44


managedRootView

managedRootView: unknown

Defined in

packages/core/src/router/Router.ts:38


middlewares

middlewares: RouterMiddleware[]

Defined in

packages/core/src/router/Router.ts:43


onlyUpdate

onlyUpdate: boolean | (controller: RouteController, view: unknown) => boolean

Defined in

packages/core/src/router/Router.ts:39


viewAdapter

viewAdapter: unknown

Defined in

packages/core/src/router/Router.ts:42

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.RouteLocals/index.html b/api/interfaces/ima_core.RouteLocals/index.html deleted file mode 100644 index 6f47e2fc0..000000000 --- a/api/interfaces/ima_core.RouteLocals/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: RouteLocals | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.RouteOptions/index.html b/api/interfaces/ima_core.RouteOptions/index.html deleted file mode 100644 index 82ba4167b..000000000 --- a/api/interfaces/ima_core.RouteOptions/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: RouteOptions | IMA.js - - - - -
-
Skip to main content

Interface: RouteOptions

@ima/core.RouteOptions

Hierarchy

Properties

autoScroll

autoScroll: boolean

Inherited from

RouteFactoryOptions.autoScroll

Defined in

packages/core/src/router/Router.ts:36


documentView

documentView: unknown

Inherited from

RouteFactoryOptions.documentView

Defined in

packages/core/src/router/Router.ts:37


extensions

Optional extensions: ("$Helper" | "$oc" | "$Settings" | "$Env" | "$Protocol" | "$Secure" | "$Request" | "$Response" | "$Window" | "$Error" | "$Dictionary" | "$CookieTransformFunction" | "$CookieStorage" | "$SessionStorage" | "$MapStorage" | "$WeakMapStorage" | "$SessionMapStorage" | "$Dispatcher" | "$EventBus" | "$Observable" | "$CacheStorage" | "$CacheFactory" | "$Cache" | "$MetaManager" | "$ControllerDecorator" | "$PageStateManagerDecorator" | "$PageStateManager" | "$PageFactory" | "$ComponentUtils" | "$Utils" | "$PageHandlerRegistry" | "$PageManager" | "$RouteFactory" | "$Router" | "$RouteNames" | "$RouterEvents" | "$HttpUrlTransformer" | "$HttpAgentProxy" | "$Http" | "$HttpStatusCode" | "$PageRenderer" | `$Helper.${string}` | `$oc.${string}` | `$Settings.${string}` | `$Env.${string}` | `$Protocol.${string}` | `$Secure.${string}` | `$Request.${string}` | `$Response.${string}` | `$Window.${string}` | `$Error.${string}` | `$Dictionary.${string}` | `$CookieTransformFunction.${string}` | `$CookieStorage.${string}` | `$SessionStorage.${string}` | `$MapStorage.${string}` | `$WeakMapStorage.${string}` | `$SessionMapStorage.${string}` | `$Dispatcher.${string}` | `$EventBus.${string}` | `$Observable.${string}` | `$CacheStorage.${string}` | `$CacheFactory.${string}` | `$Cache.${string}` | `$MetaManager.${string}` | `$ControllerDecorator.${string}` | `$PageStateManagerDecorator.${string}` | `$PageStateManager.${string}` | `$PageFactory.${string}` | `$ComponentUtils.${string}` | `$Utils.${string}` | `$PageHandlerRegistry.${string}` | `$PageManager.${string}` | `$RouteFactory.${string}` | `$Router.${string}` | `$RouteNames.${string}` | `$RouterEvents.${string}` | `$HttpUrlTransformer.${string}` | `$HttpAgentProxy.${string}` | `$Http.${string}` | `$HttpStatusCode.${string}` | `$PageRenderer.${string}` | "?$Helper" | "?$oc" | "?$Settings" | "?$Env" | "?$Protocol" | "?$Secure" | "?$Request" | "?$Response" | "?$Window" | "?$Error" | "?$Dictionary" | "?$CookieTransformFunction" | "?$CookieStorage" | "?$SessionStorage" | "?$MapStorage" | "?$WeakMapStorage" | "?$SessionMapStorage" | "?$Dispatcher" | "?$EventBus" | "?$Observable" | "?$CacheStorage" | "?$CacheFactory" | "?$Cache" | "?$MetaManager" | "?$ControllerDecorator" | "?$PageStateManagerDecorator" | "?$PageStateManager" | "?$PageFactory" | "?$ComponentUtils" | "?$Utils" | "?$PageHandlerRegistry" | "?$PageManager" | "?$RouteFactory" | "?$Router" | "?$RouteNames" | "?$RouterEvents" | "?$HttpUrlTransformer" | "?$HttpAgentProxy" | "?$Http" | "?$HttpStatusCode" | "?$PageRenderer" | `?$Helper.${string}` | `?$oc.${string}` | `?$Settings.${string}` | `?$Env.${string}` | `?$Protocol.${string}` | `?$Secure.${string}` | `?$Request.${string}` | `?$Response.${string}` | `?$Window.${string}` | `?$Error.${string}` | `?$Dictionary.${string}` | `?$CookieTransformFunction.${string}` | `?$CookieStorage.${string}` | `?$SessionStorage.${string}` | `?$MapStorage.${string}` | `?$WeakMapStorage.${string}` | `?$SessionMapStorage.${string}` | `?$Dispatcher.${string}` | `?$EventBus.${string}` | `?$Observable.${string}` | `?$CacheStorage.${string}` | `?$CacheFactory.${string}` | `?$Cache.${string}` | `?$MetaManager.${string}` | `?$ControllerDecorator.${string}` | `?$PageStateManagerDecorator.${string}` | `?$PageStateManager.${string}` | `?$PageFactory.${string}` | `?$ComponentUtils.${string}` | `?$Utils.${string}` | `?$PageHandlerRegistry.${string}` | `?$PageManager.${string}` | `?$RouteFactory.${string}` | `?$Router.${string}` | `?$RouteNames.${string}` | `?$RouterEvents.${string}` | `?$HttpUrlTransformer.${string}` | `?$HttpAgentProxy.${string}` | `?$Http.${string}` | `?$HttpStatusCode.${string}` | `?$PageRenderer.${string}` | "...?$Helper" | "...?$oc" | "...?$Settings" | "...?$Env" | "...?$Protocol" | "...?$Secure" | "...?$Request" | "...?$Response" | "...?$Window" | "...?$Error" | "...?$Dictionary" | "...?$CookieTransformFunction" | "...?$CookieStorage" | "...?$SessionStorage" | "...?$MapStorage" | "...?$WeakMapStorage" | "...?$SessionMapStorage" | "...?$Dispatcher" | "...?$EventBus" | "...?$Observable" | "...?$CacheStorage" | "...?$CacheFactory" | "...?$Cache" | "...?$MetaManager" | "...?$ControllerDecorator" | "...?$PageStateManagerDecorator" | "...?$PageStateManager" | "...?$PageFactory" | "...?$ComponentUtils" | "...?$Utils" | "...?$PageHandlerRegistry" | "...?$PageManager" | "...?$RouteFactory" | "...?$Router" | "...?$RouteNames" | "...?$RouterEvents" | "...?$HttpUrlTransformer" | "...?$HttpAgentProxy" | "...?$Http" | "...?$HttpStatusCode" | "...?$PageRenderer" | `...?$Helper.${string}` | `...?$oc.${string}` | `...?$Settings.${string}` | `...?$Env.${string}` | `...?$Protocol.${string}` | `...?$Secure.${string}` | `...?$Request.${string}` | `...?$Response.${string}` | `...?$Window.${string}` | `...?$Error.${string}` | `...?$Dictionary.${string}` | `...?$CookieTransformFunction.${string}` | `...?$CookieStorage.${string}` | `...?$SessionStorage.${string}` | `...?$MapStorage.${string}` | `...?$WeakMapStorage.${string}` | `...?$SessionMapStorage.${string}` | `...?$Dispatcher.${string}` | `...?$EventBus.${string}` | `...?$Observable.${string}` | `...?$CacheStorage.${string}` | `...?$CacheFactory.${string}` | `...?$Cache.${string}` | `...?$MetaManager.${string}` | `...?$ControllerDecorator.${string}` | `...?$PageStateManagerDecorator.${string}` | `...?$PageStateManager.${string}` | `...?$PageFactory.${string}` | `...?$ComponentUtils.${string}` | `...?$Utils.${string}` | `...?$PageHandlerRegistry.${string}` | `...?$PageManager.${string}` | `...?$RouteFactory.${string}` | `...?$Router.${string}` | `...?$RouteNames.${string}` | `...?$RouterEvents.${string}` | `...?$HttpUrlTransformer.${string}` | `...?$HttpAgentProxy.${string}` | `...?$Http.${string}` | `...?$HttpStatusCode.${string}` | `...?$PageRenderer.${string}` | "...$Helper" | "...$oc" | "...$Settings" | "...$Env" | "...$Protocol" | "...$Secure" | "...$Request" | "...$Response" | "...$Window" | "...$Error" | "...$Dictionary" | "...$CookieTransformFunction" | "...$CookieStorage" | "...$SessionStorage" | "...$MapStorage" | "...$WeakMapStorage" | "...$SessionMapStorage" | "...$Dispatcher" | "...$EventBus" | "...$Observable" | "...$CacheStorage" | "...$CacheFactory" | "...$Cache" | "...$MetaManager" | "...$ControllerDecorator" | "...$PageStateManagerDecorator" | "...$PageStateManager" | "...$PageFactory" | "...$ComponentUtils" | "...$Utils" | "...$PageHandlerRegistry" | "...$PageManager" | "...$RouteFactory" | "...$Router" | "...$RouteNames" | "...$RouterEvents" | "...$HttpUrlTransformer" | "...$HttpAgentProxy" | "...$Http" | "...$HttpStatusCode" | "...$PageRenderer" | `...$Helper.${string}` | `...$oc.${string}` | `...$Settings.${string}` | `...$Env.${string}` | `...$Protocol.${string}` | `...$Secure.${string}` | `...$Request.${string}` | `...$Response.${string}` | `...$Window.${string}` | `...$Error.${string}` | `...$Dictionary.${string}` | `...$CookieTransformFunction.${string}` | `...$CookieStorage.${string}` | `...$SessionStorage.${string}` | `...$MapStorage.${string}` | `...$WeakMapStorage.${string}` | `...$SessionMapStorage.${string}` | `...$Dispatcher.${string}` | `...$EventBus.${string}` | `...$Observable.${string}` | `...$CacheStorage.${string}` | `...$CacheFactory.${string}` | `...$Cache.${string}` | `...$MetaManager.${string}` | `...$ControllerDecorator.${string}` | `...$PageStateManagerDecorator.${string}` | `...$PageStateManager.${string}` | `...$PageFactory.${string}` | `...$ComponentUtils.${string}` | `...$Utils.${string}` | `...$PageHandlerRegistry.${string}` | `...$PageManager.${string}` | `...$RouteFactory.${string}` | `...$Router.${string}` | `...$RouteNames.${string}` | `...$RouterEvents.${string}` | `...$HttpUrlTransformer.${string}` | `...$HttpAgentProxy.${string}` | `...$Http.${string}` | `...$HttpStatusCode.${string}` | `...$PageRenderer.${string}` | Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>> | [Constructor\<Extension\<any, any, any>> | AbstractConstructor\<Extension\<any, any, any>>, { optional: true }])[]

Inherited from

RouteFactoryOptions.extensions

Defined in

packages/core/src/router/Router.ts:44


headers

Optional headers: UnknownParameters

Defined in

packages/core/src/router/Router.ts:59


httpStatus

Optional httpStatus: number

Defined in

packages/core/src/router/Router.ts:60


managedRootView

managedRootView: unknown

Inherited from

RouteFactoryOptions.managedRootView

Defined in

packages/core/src/router/Router.ts:38


middlewares

middlewares: RouterMiddleware[]

Inherited from

RouteFactoryOptions.middlewares

Defined in

packages/core/src/router/Router.ts:43


onlyUpdate

onlyUpdate: boolean | (controller: RouteController, view: unknown) => boolean

Inherited from

RouteFactoryOptions.onlyUpdate

Defined in

packages/core/src/router/Router.ts:39


viewAdapter

viewAdapter: unknown

Inherited from

RouteFactoryOptions.viewAdapter

Defined in

packages/core/src/router/Router.ts:42

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.Settings/index.html b/api/interfaces/ima_core.Settings/index.html deleted file mode 100644 index 1149e3f21..000000000 --- a/api/interfaces/ima_core.Settings/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Settings | IMA.js - - - - -
-
Skip to main content

Interface: Settings

@ima/core.Settings

App settings for single env key.

Properties

$Cache

Optional $Cache: Object

Type declaration

NameType
enabled?boolean
ttl?number

Defined in

packages/core/src/boot.ts:144


$Http

$Http: Object

Type declaration

NameType
cacheOptionsHttpAgentImplCacheOptions
defaultRequestOptionsOmit\<HttpAgentRequestOptions, "abortController">

Defined in

packages/core/src/boot.ts:136


$Observable

Optional $Observable: Object

Type declaration

NameType
maxHistoryLength?number

Defined in

packages/core/src/boot.ts:151


$Page

$Page: Object

Type declaration

NameType
$RenderPageRendererSettings

Defined in

packages/core/src/boot.ts:148


$Router

Optional $Router: Object

Type declaration

NameType
isSPARouted?(url: string, action?: RouteAction) => boolean
middlewareTimeout?number

Defined in

packages/core/src/boot.ts:140

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.Utils/index.html b/api/interfaces/ima_core.Utils/index.html deleted file mode 100644 index 6896aa96b..000000000 --- a/api/interfaces/ima_core.Utils/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Utils | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_core.WindowCustomEventsMap/index.html b/api/interfaces/ima_core.WindowCustomEventsMap/index.html deleted file mode 100644 index 9e2356265..000000000 --- a/api/interfaces/ima_core.WindowCustomEventsMap/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: WindowCustomEventsMap | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_dev_utils.CompileError/index.html b/api/interfaces/ima_dev_utils.CompileError/index.html deleted file mode 100644 index e4130fa42..000000000 --- a/api/interfaces/ima_dev_utils.CompileError/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: CompileError | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_dev_utils.FragmentLine/index.html b/api/interfaces/ima_dev_utils.FragmentLine/index.html deleted file mode 100644 index 13bf646d1..000000000 --- a/api/interfaces/ima_dev_utils.FragmentLine/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: FragmentLine | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_dev_utils.LoggerOptions/index.html b/api/interfaces/ima_dev_utils.LoggerOptions/index.html deleted file mode 100644 index 8b5d6b194..000000000 --- a/api/interfaces/ima_dev_utils.LoggerOptions/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -Interface: LoggerOptions | IMA.js - - - - -
-
Skip to main content

Interface: LoggerOptions

@ima/dev-utils.LoggerOptions

Properties

elapsed

Optional elapsed: () => string

Type declaration

▸ (): string

Returns time utility function, which when called returns -formatted elapsed time from it's creation.

Returns

string

Callback to return formatted elapsed time.

Defined in

logger.ts:7


newLine

Optional newLine: boolean

Defined in

logger.ts:6


trackTime

Optional trackTime: boolean

Defined in

logger.ts:5

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_plugin_cli.Context/index.html b/api/interfaces/ima_plugin_cli.Context/index.html deleted file mode 100644 index 332e86fc8..000000000 --- a/api/interfaces/ima_plugin_cli.Context/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Context | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_plugin_cli.ImaPluginConfig/index.html b/api/interfaces/ima_plugin_cli.ImaPluginConfig/index.html deleted file mode 100644 index 848cc0147..000000000 --- a/api/interfaces/ima_plugin_cli.ImaPluginConfig/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: ImaPluginConfig | IMA.js - - - - -
-
Skip to main content

Interface: ImaPluginConfig

@ima/plugin-cli.ImaPluginConfig

Properties

additionalWatchPaths

Optional additionalWatchPaths: string[]

Defined in

types.ts:66


exclude

Optional exclude: AnymatchMatcher

Defined in

types.ts:61


inputDir

inputDir: string

Defined in

types.ts:58


jsxRuntime

Optional jsxRuntime: "automatic" | "classic"

Defined in

types.ts:63


output

output: ImaPluginOutputConfig[]

Defined in

types.ts:59


plugins

Optional plugins: Plugin[]

Defined in

types.ts:62


sourceMaps

Optional sourceMaps: boolean

Defined in

types.ts:65


target

target: JscTarget

Defined in

types.ts:60


transformers

Optional transformers: TransformerDefinition[] | "..."

Defined in

types.ts:64

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_plugin_cli.PipeContext/index.html b/api/interfaces/ima_plugin_cli.PipeContext/index.html deleted file mode 100644 index ec1772d52..000000000 --- a/api/interfaces/ima_plugin_cli.PipeContext/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: PipeContext | IMA.js - - - - -
-
Skip to main content

Interface: PipeContext

@ima/plugin-cli.PipeContext

Properties

command

command: Command

Defined in

types.ts:79


config

config: ImaPluginConfig

Defined in

types.ts:84


contextDir

contextDir: string

Defined in

types.ts:83


cwd

cwd: string

Defined in

types.ts:80


fileName

fileName: string

Defined in

types.ts:81


filePath

filePath: string

Defined in

types.ts:82


inputDir

inputDir: string

Defined in

types.ts:85


outputDir

outputDir: string

Defined in

types.ts:86

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_plugin_cli.Source/index.html b/api/interfaces/ima_plugin_cli.Source/index.html deleted file mode 100644 index d393fe92a..000000000 --- a/api/interfaces/ima_plugin_cli.Source/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: Source | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_react_page_renderer.PageContextType/index.html b/api/interfaces/ima_react_page_renderer.PageContextType/index.html deleted file mode 100644 index 30a3b2bfa..000000000 --- a/api/interfaces/ima_react_page_renderer.PageContextType/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: PageContextType | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_react_page_renderer.ViewAdapterProps/index.html b/api/interfaces/ima_react_page_renderer.ViewAdapterProps/index.html deleted file mode 100644 index 56a016846..000000000 --- a/api/interfaces/ima_react_page_renderer.ViewAdapterProps/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -Interface: ViewAdapterProps | IMA.js - - - - -
-
Skip to main content
- - - - \ No newline at end of file diff --git a/api/interfaces/ima_react_page_renderer.useComponentType/index.html b/api/interfaces/ima_react_page_renderer.useComponentType/index.html deleted file mode 100644 index 9267c7af9..000000000 --- a/api/interfaces/ima_react_page_renderer.useComponentType/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -Interface: useComponentType | IMA.js - - - - -
-
Skip to main content

Interface: useComponentType

@ima/react-page-renderer.useComponentType

Properties

cssClasses

cssClasses: (classRules: Argument, component?: string | ComponentType) => string

Type declaration

▸ (classRules, component?): string

Generate a string of CSS classes from the properties of the passed-in -object that resolve to true.

Parameters
NameTypeDescription
classRulesArgumentCSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is true.
component?string | ComponentTypeThe component requiring the composition of the CSS class names, if it has the className property set and requires its inclusion this time.
Returns

string

String of CSS classes that had their property resolved -to true.

Defined in

packages/react-page-renderer/src/hooks/component.ts:9


fire

fire: (eventTarget: EventTarget, eventName: string, data?: any, options?: EventBusOptions) => EventBus

Type declaration

▸ (eventTarget, eventName, data?, options?): EventBus

Fires a new custom event of the specified name, carrying the provided -data.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Note that the default options are -{ bubbles: true, cancelable: true }, which is different from the -default values used in the native custom events -({ bubbles: false, cancelable: false }).

Parameters
NameTypeDescription
eventTargetEventTargetThe event target at which the event will be dispatched (e.g. element/document/window).
eventNamestringThe name of the event to fire.
data?anyThe data to pass to the event listeners.
options?EventBusOptionsThe override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are { bubbles: true, cancelable: true }.
Returns

EventBus

This custom event bus.

Throws

Thrown if the provided event target cannot be used to -fire the event.

See

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

Defined in

packages/react-page-renderer/src/hooks/component.ts:12


link: (routeName: string, params: RouteParams) => string

Type declaration

▸ (routeName, params): string

Generates an absolute URL (including protocol, domain, etc) for the -specified route by substituting the route's parameter placeholders with -the provided parameter values.

Parameters
NameTypeDescription
routeNamestringThe unique name of the route, identifying the route to use.
paramsRouteParamsParameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.
Returns

string

An absolute URL for the specified route and parameters.

Defined in

packages/react-page-renderer/src/hooks/component.ts:11


listen

listen: (eventTarget: EventTarget, eventName: string, listener: EventBusListener) => EventBus

Type declaration

▸ (eventTarget, eventName, listener): EventBus

Registers the provided event listener to be executed when the specific -custom event is fired by the same implementation of the event bus and -passes through the specified event target.

When the specified event is fired, the event listener will be executed -with the event passed as the first argument.

The order in which the event listeners will be executed is unspecified -and should not be relied upon.

Parameters
NameTypeDescription
eventTargetEventTargetThe event target at which the listener should listen for the specified event.
eventNamestringThe name of the event to listen for.
listenerEventBusListenerThe event listener to register.
Returns

EventBus

This event bus.

Defined in

packages/react-page-renderer/src/hooks/component.ts:13


localize

localize: (key: never, parameters?: ObjectParameters) => string

Type declaration

▸ (key, parameters?): string

Retrieves the localization phrase identified by the specified key, -evaluates the phrase's placeholder expressions using the provided -parameters and returns the result.

Parameters
NameTypeDescription
keyneverThe key identifying the localization phrase.
parameters?ObjectParametersThe map of parameter names to the parameter values to use. Defaults to an empty plain object.
Returns

string

The specified localization phrase with its placeholders -evaluated using the provided parameters.

Defined in

packages/react-page-renderer/src/hooks/component.ts:10


unlisten

unlisten: (eventTarget: EventTarget, eventName: string, listener: EventBusListener) => EventBus

Type declaration

▸ (eventTarget, eventName, listener): EventBus

Removes the provided event listener from the set of event listeners -executed when the specified custom event fired by the same -implementation passes through the specified event target.

The method has no effect if the listener is not registered for the -specified event at the specified event target.

Parameters
NameTypeDescription
eventTargetEventTargetThe event target at which the listener is listening for the event.
eventNamestringThe name of the event listened for.
listenerEventBusListenerThe event listener to deregister.
Returns

EventBus

This event bus.

Defined in

packages/react-page-renderer/src/hooks/component.ts:14


utils

utils: Utils

Defined in

packages/react-page-renderer/src/hooks/component.ts:8

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_react_page_renderer.useDispatcherType/index.html b/api/interfaces/ima_react_page_renderer.useDispatcherType/index.html deleted file mode 100644 index 191b7d848..000000000 --- a/api/interfaces/ima_react_page_renderer.useDispatcherType/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -Interface: useDispatcherType | IMA.js - - - - -
-
Skip to main content

Interface: useDispatcherType

@ima/react-page-renderer.useDispatcherType

Properties

fire

fire: \<E>(event: E, data: DispatcherEventsMap[E]) => Dispatcher(event: string, data: any) => Dispatcher

Type declaration

▸ \<E>(event, data): Dispatcher

Fires a new event of the specified name, carrying the provided data.

The method will synchronously execute all event listeners registered for -the specified event, passing the provided data to them as the first -argument.

It will also execute all event listeners registered to listen to all events.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Type parameters
NameType
Eextends keyof DispatcherEventsMap
Parameters
NameTypeDescription
eventEThe name of the event to fire.
dataDispatcherEventsMap[E]The data to pass to the event listeners.
Returns

Dispatcher

This dispatcher.

▸ (event, data): Dispatcher

Parameters
NameType
eventstring
dataany
Returns

Dispatcher

Defined in

packages/react-page-renderer/src/hooks/dispatcher.ts:11

- - - - \ No newline at end of file diff --git a/api/interfaces/ima_react_page_renderer.useEventBusType/index.html b/api/interfaces/ima_react_page_renderer.useEventBusType/index.html deleted file mode 100644 index 7bedb6de4..000000000 --- a/api/interfaces/ima_react_page_renderer.useEventBusType/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -Interface: useEventBusType | IMA.js - - - - -
-
Skip to main content

Interface: useEventBusType

@ima/react-page-renderer.useEventBusType

Properties

fire

fire: (eventTarget: EventTarget, eventName: string, data?: any, options?: EventBusOptions) => EventBus

Type declaration

▸ (eventTarget, eventName, data?, options?): EventBus

Fires a new custom event of the specified name, carrying the provided -data.

Note that this method does not prevent the event listeners to modify the -data in any way. The order in which the event listeners will be executed -is unspecified and should not be relied upon.

Note that the default options are -{ bubbles: true, cancelable: true }, which is different from the -default values used in the native custom events -({ bubbles: false, cancelable: false }).

Parameters
NameTypeDescription
eventTargetEventTargetThe event target at which the event will be dispatched (e.g. element/document/window).
eventNamestringThe name of the event to fire.
data?anyThe data to pass to the event listeners.
options?EventBusOptionsThe override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are { bubbles: true, cancelable: true }.
Returns

EventBus

This custom event bus.

Throws

Thrown if the provided event target cannot be used to -fire the event.

See

https://developer.mozilla.org/en-US/docs/Web/API/Event/Event

Defined in

packages/react-page-renderer/src/hooks/eventBus.ts:7

- - - - \ No newline at end of file diff --git a/api/modules/ima_cli/index.html b/api/modules/ima_cli/index.html deleted file mode 100644 index 08f899e67..000000000 --- a/api/modules/ima_cli/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -Module: @ima/cli | IMA.js - - - - -
-
Skip to main content

Module: @ima/cli

Interfaces

Type Aliases

ImaCliCommand

Ƭ ImaCliCommand: "build" | "dev"

Ima CLI commands.

Defined in

types.ts:25


ImaConfig

Ƭ ImaConfig: Object

Ima config options. Some of these options can be overridden using Args, which takes precedence. -These are parsed from optional ima.config.js that can be defined in the root of the IMA.js project.

Type declaration

NameTypeDescription
compressbooleanEnable brotli and gzip compression for production assets [default=true].
cssBrowsersTargetstringBrowserslist configuration string for postcss-preset-env.
devServer?{ hostname?: string ; origin?: string ; port?: number ; publicUrl?: string ; writeToDiskFilter?: (filePath: string) => boolean }HMR dev server settings.
devServer.hostname?string-
devServer.origin?stringOptional custom ima app origin (defaults to http://localhost:[environment.$Server.port]) this is used for CORS configuration.
devServer.port?number-
devServer.publicUrl?string-
devServer.writeToDiskFilter?(filePath: string) => booleanCustom filtr for files which should be always written to disk, even if we're serving static files from memory. This is used for example to always save runner.js to disk, since it's used on server-side too.
disableLegacyBuild?booleanDisables build of 'client' legacy bundle.
experiments?{ css?: boolean }Experimental configurations which can be enabled individually on specific applications. Some of these may find a way to default configuration in future versions of IMA.js.
experiments.css?boolean-
imageInlineSizeLimitnumberThreshold to inline image resources as base64 automatically [default=8192]
jsxRuntime?"classic" | "automatic"Set custom jsxRuntime, the default is 'automatic'.
languagesRecord\<string, string[]>Supported languages with glob paths of the files with translations
plugins?ImaCliPlugin[]Optional IMA cli plugins that can be used to easily extend webpack config and cli with additional features.
postcss(config: Record\<string, unknown>, ctx: ImaConfigurationContext) => Promise\<Record\<string, unknown>>Function which receives postcss-loader config and current context, this can be used to customize existing default postcss config or completely replace it with a custom one.
publicPathstringWebpack assets public path [default='']
sourceMaps?boolean | "eval" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map"Set to true (or any preset from https://webpack.js.org/configuration/devtool/#devtool) to enable source maps for production build. (dev/watch tasks always generate source maps to work properly with error overlay).
swc(config: Record\<string, unknown>, ctx: ImaConfigurationContext) => Promise\<Record\<string, unknown>>Function which receives default app swc-loader config and current context, this can be used for additional customization or returning completely different config.
swcVendor(config: Record\<string, unknown>, ctx: ImaConfigurationContext) => Promise\<Record\<string, unknown>>Function which receives default vendor swc-loader config and current context, this can be used for additional customization of vendor processed files.
transformVendorPaths?{ exclude?: RegExp[] ; include?: RegExp[] }Advanced functionality allowing you to include/exclude custom vendor paths that go through swc loader (configured using swcVendor function). Use this if you're using dependencies that don't meet the lowest supported ES version target (ES9 by default). all packages in Ima namespace are included by default.
transformVendorPaths.exclude?RegExp[]-
transformVendorPaths.include?RegExp[]-
watchOptionsWatching["watchOptions"]Custom options passed to webpack watch api interface. For more information see: https://webpack.js.org/configuration/watch/#watchoptions
webpack?(config: Configuration, ctx: ImaConfigurationContext, imaConfig: ImaConfig) => Promise\<Configuration>Webpack callback function can be used to completely customize default webpack config before it's run.
webpackAliases?ResolveOptions["alias"]Optional custom webpack aliases
prepareConfigurations?(configurations: ImaConfigurationContext[], imaConfig: ImaConfig, args: ImaCliArgs) => Promise\<ImaConfigurationContext[]>Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This is usefull when you need to overrite configuration contexts for values that are not editable anywhere else (like output folders).

Defined in

types.ts:139

Variables

IMA_CONF_FILENAME

Const IMA_CONF_FILENAME: "ima.config.js"

Defined in

webpack/utils.ts:14

Functions

compileLanguages

compileLanguages(imaConfig, rootDir, watch?): Promise\<void>

Compile language files defined in imaConfig.

Parameters

NameTypeDefault valueDescription
imaConfigImaConfigundefinedima.config.js file contents.
rootDirstringundefinedCurrent compilation root directory.
watchbooleanfalseWhen set to true, it creates chokidar instances which watch language files for changes and trigger recompilation.

Returns

Promise\<void>

Defined in

webpack/languages.ts:203


createCacheKey

createCacheKey(ctx, imaConfig, additionalData?): string

Creates hash representing current webpack environment.

Parameters

NameTypeDescription
ctxImaConfigurationContextCurrent configuration context.
imaConfigImaConfigima configuration
additionalDataObject-

Returns

string

Defined in

webpack/utils.ts:167


createDevServerConfig

createDevServerConfig(«destructured»): Object

Creates hmr dev server configuration from provided contexts -and arguments with this priority args -> ctx -> imaConfig -> [defaults].

Parameters

NameType
«destructured»Object
› args?ImaCliArgs
› ctx?ImaConfigurationContext
› imaConfigImaConfig

Returns

Object

NameType
hostnamestring
portnumber
publicUrlstring

Defined in

webpack/utils.ts:122


createWebpackConfig

createWebpackConfig(args, imaConfig): Promise\<Configuration[]>

Creates webpack configurations contexts from current config and cli args. -Additionally it applies all existing configuration overrides from cli plugins -and app overrides in this order cli -> plugins -> app.

Parameters

NameTypeDescription
argsImaCliArgsParsed CLI and build arguments.
imaConfigImaConfigLoaded ima config.

Returns

Promise\<Configuration[]>

Defined in

webpack/utils.ts:453


findRules

findRules(config, testString, loader?): RuleSetRule[] | RuleSetUseItem[]

Helper for finding rules with given loader in webpack config.

Parameters

NameType
configConfiguration
testStringstring
loader?string

Returns

RuleSetRule[] | RuleSetUseItem[]

Defined in

webpack/utils.ts:20


getCurrentCoreJsVersion

getCurrentCoreJsVersion(): Promise\<any>

Extracts major.minor version string of currently resolved -core-js from node_modules.

Returns

Promise\<any>

Defined in

webpack/utils.ts:538


getLanguageEntryPoints

getLanguageEntryPoints(languages, rootDir, useHMR?): Record\<string, string>

Returns entry points to use in webpack configurations. These then lead to -messageformat compiled modules while also containing some additional runtime code.

Parameters

NameTypeDefault valueDescription
languagesRecord\<string, string[]>undefinedLanguages object from ima config.
rootDirstringundefinedCurrent compilation root directory.
useHMRbooleanfalse-

Returns

Record\<string, string>

Object with webpack entry points.

Defined in

webpack/languages.ts:64


resolveEnvironment

resolveEnvironment(rootDir?): Environment

Loads application IMA.js environment from server/config/environment.js

Parameters

NameTypeDescription
rootDirstringApplication root directory

Returns

Environment

Loaded environment

Defined in

webpack/utils.ts:90


resolveImaConfig

resolveImaConfig(args): Promise\<ImaConfig>

Resolves ima.config.js from rootDir base path with DEFAULTS.

Parameters

NameTypeDescription
argsImaCliArgsCLI args.

Returns

Promise\<ImaConfig>

Ima config or empty object.

Defined in

webpack/utils.ts:229


runImaPluginsHook

runImaPluginsHook(args, imaConfig, hook): Promise\<void>

Runs one of optional ima plugin hooks defined on existing plugins.

Parameters

NameTypeDescription
argsImaCliArgsParsed CLI and build arguments.
imaConfigImaConfigLoaded ima config.
hook"preProcess" | "postProcess"-

Returns

Promise\<void>

Defined in

webpack/utils.ts:331

- - - - \ No newline at end of file diff --git a/api/modules/ima_core/index.html b/api/modules/ima_core/index.html deleted file mode 100644 index 7afd93c5d..000000000 --- a/api/modules/ima_core/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -Module: @ima/core | IMA.js - - - - -
-
Skip to main content

Module: @ima/core

Enumerations

Classes

Interfaces

Type Aliases

AnyParameters

Ƭ AnyParameters: Object

Index signature

[key: string]: unknown

Defined in

packages/core/src/types.ts:22


AppSettings

Ƭ AppSettings: Object

App settings function, used in ./app/config/settings.js

Type declaration

NameType
dev?PartialDeep\<Settings>
prodSettings
regression?PartialDeep\<Settings>
test?PartialDeep\<Settings>

Defined in

packages/core/src/boot.ts:159


AsyncRouteController

Ƭ AsyncRouteController: WithAsync\<RouteController>

Defined in

packages/core/src/router/AbstractRoute.ts:27


AsyncRouteView

Ƭ AsyncRouteView: WithAsync\<RouteView>

Defined in

packages/core/src/router/AbstractRoute.ts:28


BootSettings

Ƭ BootSettings: Pick\<GlobalImaObject, "$Version" | "$Debug" | "$Env" | "$Version" | "$App" | "$Protocol" | "$Language" | "$Host" | "$Path" | "$Root" | "$LanguagePartPath">

Defined in

packages/core/src/Bootstrap.ts:82


Ƭ Cookie: Object

Type declaration

NameType
optionsCookieOptions
valuestring | number | boolean | Date | undefined

Defined in

packages/core/src/storage/CookieStorage.ts:33


CookieOptions

Ƭ CookieOptions: Object

Type declaration

NameType
domain?string
expires?Date
httpOnly?boolean
maxAge?number
partitioned?boolean
path?string
sameSite?"none" | "lax" | "strict"
secure?boolean

Defined in

packages/core/src/storage/CookieStorage.ts:22


CookieTransformFunction

Ƭ CookieTransformFunction: Object

Type declaration

NameType
decode(value: string) => string
encode(value: string) => string

Defined in

packages/core/src/router/Response.ts:10


DecoratedOCAliasMap

Ƭ DecoratedOCAliasMap: AddOCChaining\<OCAliasMap> & WithOCOptional\<OCAliasMap> & WithOCOptionalSpread\<OCAliasMap> & WithOCSpread\<OCAliasMap>

Defined in

packages/core/src/config/bind.ts:68


Dependencies

Ƭ Dependencies\<T>: Dependency\<T>[]

Type parameters

NameType
Tany

Defined in

packages/core/src/oc/ObjectContainer.ts:24


Dependency

Ƭ Dependency\<T>: keyof DecoratedOCAliasMap | OCInjectable\<T> | [OCInjectable\<T>, { optional: boolean }]

Type parameters

Name
T

Defined in

packages/core/src/oc/ObjectContainer.ts:25


DictionaryConfig

Ƭ DictionaryConfig: Object

Type declaration

NameType
$Languagestring
dictionaryDictionaryData

Defined in

packages/core/src/dictionary/Dictionary.ts:3


DictionaryData

Ƭ DictionaryData: Object

Index signature

[key: string]: DictionaryData | LocalizationFunction

Defined in

packages/core/src/dictionary/Dictionary.ts:8


DispatcherListener

Ƭ DispatcherListener\<D>: (data: D) => void

Type parameters

Name
D

Type declaration

▸ (data): void

Parameters
NameType
dataD
Returns

void

Defined in

packages/core/src/event/Dispatcher.ts:11


EntryOptions

Ƭ EntryOptions: Object

Type declaration

NameType
writeableboolean

Defined in

packages/core/src/oc/Entry.ts:7


EventBusEventHandler

Ƭ EventBusEventHandler: (data?: UnknownParameters) => void

Type declaration

▸ (data?): void

Parameters
NameType
data?UnknownParameters
Returns

void

Defined in

packages/core/src/event/EventBus.ts:5


EventBusListener

Ƭ EventBusListener: (event: CustomEvent) => unknown

Type declaration

▸ (event): unknown

Parameters
NameType
eventCustomEvent
Returns

unknown

Defined in

packages/core/src/event/EventBus.ts:3


EventBusOptions

Ƭ EventBusOptions: Object

Type declaration

NameType
bubbles?boolean
cancelable?boolean
composed?boolean

Defined in

packages/core/src/event/EventBus.ts:9


ExecutionJob

Ƭ ExecutionJob: (...args: unknown[]) => Promise\<unknown> | unknown

Type declaration

▸ (...args): Promise\<unknown> | unknown

Parameters
NameType
...argsunknown[]
Returns

Promise\<unknown> | unknown

Defined in

packages/core/src/execution/Execution.ts:1


GenericErrorParams

Ƭ GenericErrorParams: Object

Index signature

[key: string]: unknown

Type declaration

NameType
cause?Error | string
status?number

Defined in

packages/core/src/error/GenericError.ts:3


HttpAgentResponse

Ƭ HttpAgentResponse\<B>: Object

A response from the server.

Type parameters

Name
B

Type declaration

NameType
bodyB
cachedboolean
headersStringParameters
headersRaw?Headers
paramsHttpProxyRequestParams
statusnumber

Defined in

packages/core/src/http/HttpAgent.ts:55


HttpProxyErrorParams

Ƭ HttpProxyErrorParams\<B>: { body: B ; cause: Error ; errorName: string ; status: number } & HttpProxyRequestParams

An object that describes a failed HTTP request, providing -information about both the failure reported by the server and how the -request has been sent to the server.

Type parameters

NameType
Bunknown

Defined in

packages/core/src/http/HttpProxy.ts:51


HttpProxyRequestParams

Ƭ HttpProxyRequestParams: Object

An object representing the complete request parameters used to create and -send the HTTP request.

Type declaration

NameType
data?UnknownParameters
methodstring
optionsHttpAgentRequestOptions
transformedUrlstring
urlstring

Defined in

packages/core/src/http/HttpProxy.ts:27


InitBindFunction

Ƭ InitBindFunction: (ns: Namespace, oc: ObjectContainer, config: Required\<BootConfig>["bind"], state: BindingState) => void

Type declaration

▸ (ns, oc, config, state): void

Parameters
NameType
nsNamespace
ocObjectContainer
configRequired\<BootConfig>["bind"]
stateBindingState
Returns

void

Defined in

packages/core/src/Bootstrap.ts:16


InitRoutesFunction

Ƭ InitRoutesFunction: (ns: Namespace, oc: ObjectContainer, routes: UnknownParameters | undefined, router: Router) => void

Type declaration

▸ (ns, oc, routes, router): void

Parameters
NameType
nsNamespace
ocObjectContainer
routesUnknownParameters | undefined
routerRouter
Returns

void

Defined in

packages/core/src/Bootstrap.ts:23


InitServicesFunction

Ƭ InitServicesFunction: (ns: Namespace, oc: ObjectContainer, config: BootConfig["services"]) => void

Type declaration

▸ (ns, oc, config): void

Parameters
NameType
nsNamespace
ocObjectContainer
configBootConfig["services"]
Returns

void

Defined in

packages/core/src/Bootstrap.ts:30


InitSettingsFunction

Ƭ InitSettingsFunction: (ns: Namespace, oc: ObjectContainer, config: BootConfig["settings"]) => AppSettings

Type declaration

▸ (ns, oc, config): AppSettings

Parameters
NameType
nsNamespace
ocObjectContainer
configBootConfig["settings"]
Returns

AppSettings

Defined in

packages/core/src/Bootstrap.ts:36


LoadedResources

Ƭ LoadedResources\<T>: Intersection\<Partial\<Pick\<T, Matching\<T, Promise\<any>>>>, Required\<Pick\<T, NonMatching\<T, Promise\<any>>>>>

Type parameters

Name
T

Defined in

packages/core/src/controller/Controller.ts:27


LocalizationFunction

Ƭ LocalizationFunction: (parameters: ObjectParameters) => string

Type declaration

▸ (parameters): string

Parameters
NameType
parametersObjectParameters
Returns

string

Defined in

packages/core/src/dictionary/Dictionary.ts:12


ManageArgs

Ƭ ManageArgs: Object

Type declaration

NameType
action?PageAction
optionsRouteOptions
params?RouteParams
routeInstanceType\<typeof AbstractRoute>

Defined in

packages/core/src/page/manager/PageManager.ts:5


ManagedPage

Ƭ ManagedPage: Object

Type declaration

NameType
controllerRouteController
controllerInstanceController
decoratedControllerControllerDecorator
optionsRouteOptions
paramsRouteParams
routeInstanceType\<typeof AbstractRoute>
state{ abort?: { promise: Promise\<void> ; reject: () => void ; resolve: () => void } ; activated: boolean ; cancelled: boolean ; executed: boolean ; initialized: boolean ; mounted: boolean ; page: { promise: Promise\<void> ; reject: () => void ; resolve: () => void } }
state.abort?{ promise: Promise\<void> ; reject: () => void ; resolve: () => void }
state.abort.promisePromise\<void>
state.abort.reject() => void
state.abort.resolve() => void
state.activatedboolean
state.cancelledboolean
state.executedboolean
state.initializedboolean
state.mountedboolean
state.page{ promise: Promise\<void> ; reject: () => void ; resolve: () => void }
state.page.promisePromise\<void>
state.page.reject() => void
state.page.resolve() => void
viewunknown
viewInstanceunknown

Defined in

packages/core/src/page/PageTypes.ts:11


MetaAttributes

Ƭ MetaAttributes: Record\<string, MetaValue>

Defined in

packages/core/src/meta/MetaManager.ts:2


MetaManagerRecord

Ƭ MetaManagerRecord\<K>: { [key in K]: MetaValue } & MetaAttributes

Type parameters

NameType
Kextends MetaManagerRecordKeys

Defined in

packages/core/src/meta/MetaManager.ts:5


MetaManagerRecordKeys

Ƭ MetaManagerRecordKeys: "content" | "href"

Defined in

packages/core/src/meta/MetaManager.ts:4


MetaValue

Ƭ MetaValue: number | boolean | string | null | undefined

Defined in

packages/core/src/meta/MetaManager.ts:1


NativeListener

Ƭ NativeListener: (event: CustomEvent | Event) => unknown

Type declaration

▸ (event): unknown

Parameters
NameType
eventCustomEvent | Event
Returns

unknown

Defined in

packages/core/src/event/EventBus.ts:7


OCInjectable

Ƭ OCInjectable\<T>: Constructor\<T> & WithDependencies | AbstractConstructor\<T> & Partial\<WithDependencies> | Function & { prototype: T } & Partial\<WithDependencies>

Type parameters

Name
T

Defined in

packages/core/src/oc/ObjectContainer.ts:18


OCInstance

Ƭ OCInstance\<T>: T extends keyof DecoratedOCAliasMap ? DecoratedOCAliasMap[T] : T extends AbstractConstructor\<any> | Constructor\<any> ? InstanceType\<T> : T extends [AbstractConstructor\<any> | Constructor\<any>, { optional: true }] ? InstanceType\<T[0]> | null : T

Type parameters

NameType
Textends OCInstanceConstrain

Defined in

packages/core/src/oc/ObjectContainer.ts:41


OCInstanceConstrain

Ƭ OCInstanceConstrain\<T>: keyof DecoratedOCAliasMap | Constructor\<T> | AbstractConstructor\<T> | [AbstractConstructor\<T> | Constructor\<T>, { optional: true }]

Type parameters

NameType
Tany

Defined in

packages/core/src/oc/ObjectContainer.ts:35


ObjectParameters

Ƭ ObjectParameters: Object

Index signature

[key: string]: boolean | number | string | Date

Defined in

packages/core/src/types.ts:30


PageData

Ƭ PageData: { status: number } & UnknownParameters

Defined in

packages/core/src/page/PageTypes.ts:50


PageState

Ƭ PageState: Object

Index signature

[key: string]: any

Defined in

packages/core/src/page/state/PageStateManager.ts:1


PluginInitBindFunction

Ƭ PluginInitBindFunction: (ns: Namespace, oc: ObjectContainer, config: Required\<BootConfig>["bind"], isDynamicallyLoaded: boolean, name?: string) => void

Type declaration

▸ (ns, oc, config, isDynamicallyLoaded, name?): void

Parameters
NameType
nsNamespace
ocObjectContainer
configRequired\<BootConfig>["bind"]
isDynamicallyLoadedboolean
name?string
Returns

void

Defined in

packages/core/src/Bootstrap.ts:42


PluginInitServicesFunction

Ƭ PluginInitServicesFunction: (ns: Namespace, oc: ObjectContainer, config: BootConfig["services"], isDynamicallyLoaded: boolean) => void

Type declaration

▸ (ns, oc, config, isDynamicallyLoaded): void

Parameters
NameType
nsNamespace
ocObjectContainer
configBootConfig["services"]
isDynamicallyLoadedboolean
Returns

void

Defined in

packages/core/src/Bootstrap.ts:50


PluginInitSettingsFunction

Ƭ PluginInitSettingsFunction: (ns: Namespace, oc: ObjectContainer, config: BootConfig["settings"], isDynamicallyLoaded: boolean) => PartialDeep\<AppSettings>

Type declaration

▸ (ns, oc, config, isDynamicallyLoaded): PartialDeep\<AppSettings>

Parameters
NameType
nsNamespace
ocObjectContainer
configBootConfig["settings"]
isDynamicallyLoadedboolean
Returns

PartialDeep\<AppSettings>

Defined in

packages/core/src/Bootstrap.ts:57


Resource

Ƭ Resource: string | [string, { [attribute: string]: unknown; fallback: boolean }]

Defined in

packages/core/src/boot.ts:37


RouteController

Ƭ RouteController: keyof OCAliasMap | Constructor\<Controller\<any>> | AbstractConstructor\<Controller\<any>>

Defined in

packages/core/src/router/AbstractRoute.ts:15


RouteParams

Ƭ RouteParams\<T>: Partial\<{ [K in keyof T]: T[K] }> & { [key: string]: string | GenericError; }

Type parameters

NameType
T{}

Defined in

packages/core/src/router/AbstractRoute.ts:9


RoutePathExpression

Ƭ RoutePathExpression: Object

Path expression type used for router routes definition.

Type declaration

NameTypeDescription
extractParameters(trimmedPath: string, additionalData: { path: string ; query: RouteParams }) => RouteParamsFunction which takes care of parsing url params from given path. It returns object of key/value pairs which correspond to expected path url params and their values.
matcherRegExpRegExp use in router for path matching to current route.
toPath(params: RouteParams) => stringFunction that generates valid path from given route params.

Defined in

packages/core/src/router/DynamicRoute.ts:23


RouteView

Ƭ RouteView: keyof OCAliasMap | Constructor\<any> | AbstractConstructor\<any> | (...args: any[]) => any

Defined in

packages/core/src/router/AbstractRoute.ts:20


RouterMiddleware

Ƭ RouterMiddleware: (params: RouteParams, locals: RouteLocals, next?: (result: UnknownParameters) => void) => UnknownParameters | void | Promise\<UnknownParameters | void>

Type declaration

▸ (params, locals, next?): UnknownParameters | void | Promise\<UnknownParameters | void>

Parameters
NameType
paramsRouteParams
localsRouteLocals
next?(result: UnknownParameters) => void
Returns

UnknownParameters | void | Promise\<UnknownParameters | void>

Defined in

packages/core/src/router/Router.ts:29


SerializedCacheEntry

Ƭ SerializedCacheEntry\<V>: Object

Type parameters

Name
V

Type declaration

NameType
ttlnumber | string
valueV

Defined in

packages/core/src/cache/CacheEntry.ts:1


SerializedData

Ƭ SerializedData\<V>: Object

Type parameters

NameType
Vunknown

Index signature

[key: string]: { ttl: number ; value: V }

Defined in

packages/core/src/cache/Cache.ts:1


StringParameters

Ƭ StringParameters: Object

Index signature

[key: string]: string

Defined in

packages/core/src/types.ts:14


UnknownParameters

Ƭ UnknownParameters: Object

Index signature

[key: string]: unknown

Defined in

packages/core/src/types.ts:18


UnknownPromiseParameters

Ƭ UnknownPromiseParameters: Object

Index signature

[key: string]: unknown | Promise\<unknown>

Defined in

packages/core/src/types.ts:26


WindowEventTargets

Ƭ WindowEventTargets: Document | globalThis.Window | HTMLBodyElement | SVGSVGElement | SVGElement | HTMLMediaElement | HTMLVideoElement | Element

Defined in

packages/core/src/window/Window.ts:3


WindowEventTargetsMap

Ƭ WindowEventTargetsMap\<E>: E extends Document ? DocumentEventMap : E extends globalThis.Window ? WindowEventMap : E extends HTMLBodyElement ? HTMLBodyElementEventMap : E extends SVGSVGElement ? SVGSVGElementEventMap : E extends SVGElement ? SVGElementEventMap : E extends HTMLMediaElement ? HTMLMediaElementEventMap : E extends HTMLVideoElement ? HTMLVideoElementEventMap : HTMLElementEventMap & WindowCustomEventsMap

Type parameters

NameType
Eextends WindowEventTargets

Defined in

packages/core/src/window/Window.ts:13

Variables

ns

Const ns: Namespace

Defined in

packages/core/src/Namespace.ts:123


pluginLoader

Const pluginLoader: PluginLoader

Defined in

packages/core/src/pluginLoader.ts:93

Functions

bootClientApp

bootClientApp(app, bootConfig): Object

Parameters

NameType
appObject
app.bootstrapBootstrap
app.ocObjectContainer
bootConfigBootConfig

Returns

Object

NameType
bootstrapBootstrap
ocObjectContainer

Defined in

packages/core/src/boot.ts:254


createImaApp

createImaApp(): Object

Returns

Object

NameType
bootstrapBootstrap
ocObjectContainer

Defined in

packages/core/src/boot.ts:182


getClientBootConfig

getClientBootConfig(initialAppConfigFunctions): BootConfig

Parameters

NameType
initialAppConfigFunctionsInitAppConfig

Returns

BootConfig

Defined in

packages/core/src/boot.ts:190


getInitialImaConfigFunctions

getInitialImaConfigFunctions(): InitImaConfig

Returns

InitImaConfig

Defined in

packages/core/src/boot.ts:166


getInitialPluginConfig

getInitialPluginConfig(): Object

Returns

Object

NameType
plugins{ name: string ; plugin: InitPluginConfig }[]

Defined in

packages/core/src/boot.ts:170


getNamespace

getNamespace(): Namespace

Returns

Namespace

Defined in

packages/core/src/Namespace.ts:125


onLoad

onLoad(): Promise\<unknown>

Returns

Promise\<unknown>

Defined in

packages/core/src/boot.ts:310


reviveClientApp

reviveClientApp(initialAppConfigFunctions): Promise\<UnknownParameters & { app: { bootstrap: Bootstrap ; oc: ObjectContainer } ; bootConfig: BootConfig }>

Parameters

NameType
initialAppConfigFunctionsInitAppConfig

Returns

Promise\<UnknownParameters & { app: { bootstrap: Bootstrap ; oc: ObjectContainer } ; bootConfig: BootConfig }>

Defined in

packages/core/src/boot.ts:289


routeClientApp

routeClientApp(app): Promise\<void | UnknownParameters>

Parameters

NameType
appObject
app.bootstrapBootstrap
app.ocObjectContainer

Returns

Promise\<void | UnknownParameters>

Defined in

packages/core/src/boot.ts:269

- - - - \ No newline at end of file diff --git a/api/modules/ima_dev_utils/index.html b/api/modules/ima_dev_utils/index.html deleted file mode 100644 index 6f138f7c6..000000000 --- a/api/modules/ima_dev_utils/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -Module: @ima/dev-utils | IMA.js - - - - -
-
Skip to main content

Module: @ima/dev-utils

Classes

Interfaces

Type Aliases

ParsedErrorData

Ƭ ParsedErrorData: Object

Type declaration

NameType
column?number
fileUri?string
functionName?string
line?number
message?string
name?string
stack?string

Defined in

cliUtils.ts:13

Variables

COMPILE_ERROR_NEEDLES_RE

Const COMPILE_ERROR_NEEDLES_RE: RegExp[]

Defined in

compileErrorParser.ts:11


RE_SOURCE_MAPPING_URL

Const RE_SOURCE_MAPPING_URL: RegExp

Used to extract source mapping url injected at the end -of a file with generated source maps (in separate file).

Defined in

helpers.ts:10


RE_VALID_FRAME_CHROME

Const RE_VALID_FRAME_CHROME: RegExp

Defined in

helpers.ts:2


RE_VALID_FRAME_FIREFOX

Const RE_VALID_FRAME_FIREFOX: RegExp

Defined in

helpers.ts:3


logger

Const logger: Logger

Create global logger instance

Defined in

logger.ts:171

Functions

createLogger

createLogger(name): Logger

Parameters

NameType
namestring

Returns

Logger

Defined in

logger.ts:174


createSourceFragment

createSourceFragment(line, source, contextLines?): FragmentLine[]

Create fragment of code lines around input line (above and below), created -created from provided source code.

Parameters

NameTypeDefault valueDescription
linenumberundefinedSource code line number, around which you want to created source fragment.
sourcestringundefinedSource file's source code.
contextLines?number4Number of lines to generate, below and after watched line.

Returns

FragmentLine[]

Array of source code lines.

Defined in

sourceFragment.ts:18


extractSourceMappingUrl

extractSourceMappingUrl(fileUri, fileContents): string | null

Extracts sourceMappingURL from the provided file contents. -Based on https://github.com/facebook/create-react-app/blob/main/packages/react-error-overlay/src/utils/getSourceMap.js#L79.

Parameters

NameTypeDescription
fileUristringThe uri of the source file.
fileContentsstringSource file file contents.

Returns

string | null

Defined in

sourceMapUtils.ts:11


formatError

formatError(parsedErrorData, rootDir?, uniqueTracker?): Promise\<string>

Formats provided error object into readable format including -the errored source code fragment with line highlight. Works -with runtime and compile errors while trying to show all -relevant information that can be extracted from provided object.

Parameters

NameTypeDescription
parsedErrorDataParsedErrorDataParsed error data object obtained from parseError function (or provided directly).
rootDir?stringOptional root directory used to print absolute URLs as relative to the current rootDir.
uniqueTracker?string[]Array of error identifiers to track uniques, if the error matches identifier already included in this array, this function returns empty string.

Returns

Promise\<string>

Formatted error output.

Defined in

cliUtils.ts:178


getSource

getSource(fileUri?, line?, column?): Promise\<string[] | undefined>

Get source fragment from provided source metadata. -Optionally it tries to parse original content if -source maps are available.

Parameters

NameTypeDefault valueDescription
fileUri?stringundefinedsource file uri.
line?numberundefinederrored line number.
columnnumber0errored column number.

Returns

Promise\<string[] | undefined>

Formatted error lines.

Defined in

cliUtils.ts:33


parseCompileError

parseCompileError(error): CompileError | null

Tries to parse error location from an error. Which can be -either webpack stats error or simple Error object.

Parameters

NameTypeDescription
errorStatsError | Errorwebpack stats object or error instance.

Returns

CompileError | null

Parsed compile error.

Defined in

compileErrorParser.ts:37


parseError

parseError(error, type?): Promise\<ParsedErrorData>

Formats provided error object into readable format including -the errored source code fragment with line highlight. Works -with runtime and compile errors while trying to show all -relevant information that can be extracted from provided object.

Parameters

NameTypeDescription
errorStatsError | Error-
type?"compile" | "runtime"Error type (affects error parsing).

Returns

Promise\<ParsedErrorData>

Formatted error output.

Defined in

cliUtils.ts:124


printTime

printTime(): string

Prints current time in HH:MM:SS format.

Returns

string

Defined in

logger.ts:26


resolveErrorType

resolveErrorType(error): "compile" | "runtime"

Parameters

NameType
errorStatsError | Error

Returns

"compile" | "runtime"

Defined in

compileErrorParser.ts:16


time

time(): () => string

Returns time utility function, which when called returns -formatted elapsed time from it's creation.

Returns

fn

Callback to return formatted elapsed time.

▸ (): string

Returns

string

Defined in

logger.ts:16

- - - - \ No newline at end of file diff --git a/api/modules/ima_plugin_cli/index.html b/api/modules/ima_plugin_cli/index.html deleted file mode 100644 index 3e264fc50..000000000 --- a/api/modules/ima_plugin_cli/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - -Module: @ima/plugin-cli | IMA.js - - - - -
-
Skip to main content

Module: @ima/plugin-cli

Interfaces

Type Aliases

Command

Ƭ Command: "dev" | "link" | "build"

Defined in

types.ts:16


Plugin

Ƭ Plugin: (context: Context) => void | Promise\<void>

Type declaration

▸ (context): void | Promise\<void>

Parameters
NameType
contextContext
Returns

void | Promise\<void>

Defined in

types.ts:69


Transformer

Ƭ Transformer: ({ - source, - context, -}: { context: PipeContext ; source: Source }) => Source | Promise\<Source>

Type declaration

▸ ({ - source, - context, -}): Source | Promise\<Source>

Parameters
NameType

| { - source, - context, -} | Object | -| { - source, - context, -}.context | PipeContext | -| { - source, - context, -}.source | Source |

Returns

Source | Promise\<Source>

Defined in

types.ts:4


TransformerOptions

Ƭ TransformerOptions: Object

Type declaration

NameType
testRegExp

Defined in

types.ts:11

Variables

clientServerConfig

Const clientServerConfig: ImaPluginConfig

Defined in

utils/configurations.ts:42


defaultConfig

Const defaultConfig: ImaPluginConfig

Defined in

utils/configurations.ts:6


nodeConfig

Const nodeConfig: ImaPluginConfig

Defined in

utils/configurations.ts:70

Functions

preprocessTransformer

preprocessTransformer(options): Transformer

Parameters

NameType
optionsPreprocessTransformerOptions

Returns

Transformer

Defined in

transformers/preprocessTransformer.ts:11


swcTransformer

swcTransformer(options): Transformer

Parameters

NameType
optionsOptions

Returns

Transformer

Defined in

transformers/swcTransformer.ts:59


typescriptDeclarationsPlugin

typescriptDeclarationsPlugin(options): Plugin

Parameters

NameType
optionsTypescriptDeclarationsPluginOptions

Returns

Plugin

Defined in

plugins/typescriptDeclarationsPlugin.ts:28

- - - - \ No newline at end of file diff --git a/api/modules/ima_react_page_renderer/index.html b/api/modules/ima_react_page_renderer/index.html deleted file mode 100644 index a4e8e2b7d..000000000 --- a/api/modules/ima_react_page_renderer/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -Module: @ima/react-page-renderer | IMA.js - - - - -
-
Skip to main content

Module: @ima/react-page-renderer

Classes

Interfaces

Variables

PageContext

Const PageContext: Context\<PageContextType>

Defined in

packages/react-page-renderer/src/PageContext.ts:8

Functions

cssClasses

cssClasses(component, classRules, includeComponentClassName): string

Generate a string of CSS classes from the properties of the passed-in -object that resolve to true.

Parameters

NameTypeDescription
componentAbstractComponent\<unknown, unknown, unknown> | AbstractPureComponent\<unknown, unknown, unknown>The component requiring the composition of the CSS class names.
classRulesstring | string[] | { [key: string]: boolean; }CSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is true.
includeComponentClassNameboolean-

Returns

string

String of CSS classes that had their property resolved -to true.

Example

this.cssClasses('my-class my-class-modifier', true);

Example

this.cssClasses({
'my-class': true,
'my-class-modifier': this.props.modifier
}, true);

Defined in

packages/react-page-renderer/src/componentHelpers.ts:97


defaultCssClasses

defaultCssClasses(classRules, component?): string

Generate a string of CSS classes from the properties of the passed-in -object that resolve to true.

Parameters

NameTypeDescription
classRulesArgumentCSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is true.
component?string | ComponentTypeThe component requiring the composition of the CSS class names, if it has the className property set and requires its inclusion this time.

Returns

string

String of CSS classes that had their property resolved -to true.

Defined in

packages/react-page-renderer/src/componentHelpers.ts:122


fire

fire(component, eventTarget, eventName, data?): EventBus

Creates and sends a new IMA.js DOM custom event from the provided component.

Parameters

NameTypeDefault valueDescription
componentAbstractComponent\<unknown, unknown, unknown> | AbstractPureComponent\<unknown, unknown, unknown>undefinedThe component at which's root element the event will originate.
eventTargetEventTargetundefined-
eventNamestringundefinedThe name of the event.
dataunknownnullData to send within the event.

Returns

EventBus

Defined in

packages/react-page-renderer/src/componentHelpers.ts:147


getUtils

getUtils(props, context): Utils | undefined

Retrieves the view utilities from the component's current context or -properties (preferring the context).

Parameters

NameTypeDescription
propsObjectThe component's current properties.
props.$Utils?Utils-
contextPageContextTypeThe component's current context.

Returns

Utils | undefined

The retrieved view utilities.

Throws

Error Throw if the view utils cannot be located in the provided -properties nor context.

Defined in

packages/react-page-renderer/src/componentHelpers.ts:19


link(component, name, params): string

Generates an absolute URL using the provided route name (see the

app/config/routes.js file). The provided parameters will replace the placeholders in the route pattern, while the extraneous parameters will be appended to the generated URL's query string.

Parameters

NameTypeDescription
componentAbstractComponent\<unknown, unknown, unknown> | AbstractPureComponent\<unknown, unknown, unknown>The component requiring the generating of the URL.
namestringThe route name.
paramsObjectRouter parameters and extraneous parameters to add to the URL as a query string.

Returns

string

The generated URL.

Defined in

packages/react-page-renderer/src/componentHelpers.ts:68


listen

listen(component, eventTarget, eventName, listener): EventBus

Registers the provided event listener for execution whenever an IMA.js -DOM custom event of the specified name occurs at the specified event -target.

Parameters

NameTypeDescription
componentAbstractComponent\<unknown, unknown, unknown> | AbstractPureComponent\<unknown, unknown, unknown>The component requesting the registration of the event listener.
eventTargetEventTargetThe react component or event target at which the listener should listen for the event.
eventNamestringThe name of the event for which to listen.
listener(event: Event) => voidThe listener for event to register.

Returns

EventBus

Defined in

packages/react-page-renderer/src/componentHelpers.ts:168


localize

localize(component, key, params): string

Returns the localized phrase identified by the specified key. The -placeholders in the localization phrase will be replaced by the provided -values.

Parameters

NameTypeDescription
componentAbstractComponent\<unknown, unknown, unknown> | AbstractPureComponent\<unknown, unknown, unknown>The component requiring the localization.
keyneverLocalization key.
paramsObjectValues for replacing the placeholders in the localization phrase.

Returns

string

Localized phrase.

Defined in

packages/react-page-renderer/src/componentHelpers.ts:47


unlisten

unlisten(component, eventTarget, eventName, listener): EventBus

Deregisters the provided event listener for an IMA.js DOM custom event -of the specified name at the specified event target.

Parameters

NameTypeDescription
componentAbstractComponent\<unknown, unknown, unknown> | AbstractPureComponent\<unknown, unknown, unknown>The component that requested the registration of the event listener.
eventTargetEventTargetThe react component or event target at which the listener should listen for the event.
eventNamestringThe name of the event for which to listen.
listener(event: Event) => voidThe listener for event to register.

Returns

EventBus

Defined in

packages/react-page-renderer/src/componentHelpers.ts:188


useComponent

useComponent(): useComponentType

Base hook you can use to initialize your component.

Returns object, which gives you access to the same features you would -get in your class component:

  • Utility methods: cssClasses, localize, link, fire, listen, unlisten.
  • Objects: utils (=== ComponentUtils).

Returns

useComponentType

Object containing context data and utility methods.

Example

const { utils, cssClasses } = useComponent();

Defined in

packages/react-page-renderer/src/hooks/component.ts:52


useComponentUtils

useComponentUtils(): Utils

Provides direct access to ComponentUtils.

Returns

Utils

Component utils.

Example

const utils = useComponentUtils();

Defined in

packages/react-page-renderer/src/hooks/componentUtils.ts:13


useCssClasses

useCssClasses(): typeof defaultCssClasses

Provides direct access to CssClasses.

Returns

typeof defaultCssClasses

CssClasses function.

Example

const cssClasses = useCssClasses();

Defined in

packages/react-page-renderer/src/hooks/cssClasses.ts:14


useDispatcher

useDispatcher\<E>(event?, listener?): useDispatcherType

Hook to register listeners for dispatcher events. Returns -decorated dispatcher fire function. Omitting hook params -doesn't register any events to the dispatcher but provides -access to the dispatcher's fire method.

Type parameters

NameType
Eextends keyof DispatcherEventsMap

Parameters

NameTypeDescription
event?EEvent name.
listener?DispatcherListener\<DispatcherEventsMap[E]>Callback to register to dispatcher.

Returns

useDispatcherType

Dispatcher fire method.

Example

const { fire } = useDispatcher(
'dispatcher-event',
() => {}
);

// Access $Dispatcher's.fire method without registering listener
const { fire } = useDispatcher();

// Firing custom event
useEffect(() => {
fire('another-event', { data: {} })
});

Defined in

packages/react-page-renderer/src/hooks/dispatcher.ts:38

useDispatcher(event?, listener?): useDispatcherType

Parameters

NameType
event?string
listener?DispatcherListener\<any>

Returns

useDispatcherType

Defined in

packages/react-page-renderer/src/hooks/dispatcher.ts:42


useEventBus

useEventBus(eventTarget?, eventName?, listener?): useEventBusType

Hook to register listeners for dispatcher events. Returns -decorated dispatcher fire function. Omitting hook params -doesn't register any events to the dispatcher but provides -access to the dispatcher's fire method.

Parameters

NameType
eventTarget?null | EventTarget
eventName?string
listener?EventBusListener

Returns

useEventBusType

Dispatcher fire method.

Example

const { fire } = useEventBus(
componentRef.current,
'event',
() => {}
);

Defined in

packages/react-page-renderer/src/hooks/eventBus.ts:27


useLink(): Router["link"]

Provides direct access to Router link function.

Returns

Router["link"]

URL to linked path.

Example

const link = useLink();

Defined in

packages/react-page-renderer/src/hooks/link.ts:14


useLocalize

useLocalize(): Dictionary["get"]

Provides direct access to Dictionary.get function.

Returns

Dictionary["get"]

Localized string.

Example

const localize = useLocalize();

Defined in

packages/react-page-renderer/src/hooks/localize.ts:14


useOnce

useOnce(callback): void

"Constructor" like hook, which makes sure, that provided callback -is called only once during component's lifecycle.

Parameters

NameType
callback() => void

Returns

void

Example

useOnce(() => {
oneTimeAction();
});

Defined in

packages/react-page-renderer/src/hooks/component.ts:28


usePageContext

usePageContext(): PageContextType

Provides direct access to IMA Page context.

Returns

PageContextType

App page context.

Example

const pageContext = usePageContext();

Defined in

packages/react-page-renderer/src/hooks/pageContext.ts:14


useSettings

useSettings\<T>(selector?): T | undefined

IMA $Settings access provider with optional selector.

Type parameters

NameType
Tany

Parameters

NameTypeDescription
selector?stringOptional path selector.

Returns

T | undefined

Settings value or undefined.

Example

const settings = useSettings();
console.log(settings.$Cache.enabled);

// Using settings selector
const { scripts, documentView } = useSettings('$Page.$Render');
const esScripts = useSettings('$Page.$Render.esScripts');

Defined in

packages/react-page-renderer/src/hooks/settings.ts:19


useWindowEvent

useWindowEvent\<T, K>(eventTarget, event, listener, useCapture?): useWindowEventType

Hook for binding window events using IMA window API.

Type parameters

NameType
Textends WindowEventTargets
Kextends string | number | symbol

Parameters

NameTypeDescription
eventTargetTOptional event target, if left blank it defaults to current window (=> can be omitted in most use cases).
eventKEvent name.
listener(event: WindowEventTargetsMap\<T>[K]) => void-
useCapture?boolean | EventListenerOptionsUse capture instead of bubbling (default).

Returns

useWindowEventType

window object and utility methods.

Example

// Using window as event target
const { dispatchEvent, createCustomEvent } = useWindowEvent(
window,
'custom-event',
() => windowEventCallback(a, b)
);

// Using custom event target
const { dispatchEvent } = useWindowEvent(
window.getElementById('page'),
'click',
() => windowEventCallback(a, b),
false,
);

// Dispatching custom event
useEffect(() => {
dispatchEvent(
createCustomEvent('custom-event'),
{ data: {} }
);
});

Defined in

packages/react-page-renderer/src/hooks/windowEvent.ts:50

useWindowEvent\<T, E>(eventTarget, event, listener, useCapture?): useWindowEventType

Type parameters

NameType
Textends EventTarget
Eextends Event = Event

Parameters

NameType
eventTargetT
eventstring
listener(event: E) => void
useCapture?boolean | EventListenerOptions

Returns

useWindowEventType

Defined in

packages/react-page-renderer/src/hooks/windowEvent.ts:59

- - - - \ No newline at end of file diff --git a/assets/css/styles.4b05cbbd.css b/assets/css/styles.4b05cbbd.css deleted file mode 100644 index cb2d332ec..000000000 --- a/assets/css/styles.4b05cbbd.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}:root,[data-theme=dark]{--ifm-color-primary-dark:#fa5252;--ifm-color-primary-darker:#e03131;--ifm-color-primary-darkest:#c92a2a;--ifm-color-primary-light:#ff6b6b;--ifm-color-primary-lighter:#ff8787;--ifm-color-primary-lightest:#ffa8a8}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}.content_knG7 a,a code{color:inherit;text-decoration:underline}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_tbUL,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.codeBlockStandalone_MEMb,[type=checkbox],code{padding:0}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_S0QG>:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.menu__link:hover,code{color:var(--ifm-color-primary-dark)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#fa5252;--ifm-color-success-dark:#69db7c;--ifm-color-success-darker:#51cf66;--ifm-color-success-darkest:#37b24d;--ifm-color-success-light:#69db7c;--ifm-color-success-lighter:#8ce99a;--ifm-color-success-lightest:#d3f9d8;--ifm-color-success-contrast-background:#ebfbee;--ifm-color-info-dark:#339af0;--ifm-color-info-darker:#228be6;--ifm-color-info-darkest:#1971c2;--ifm-color-info-light:#4dabf7;--ifm-color-info-lighter:#a5d8ff;--ifm-color-info-lightest:#d0ebff;--ifm-color-info-contrast-background:#e7f5ff;--ifm-heading-color:#111519;--ifm-font-color-base:#343a40;--ifm-font-color-secondary:#495057;--ifm-menu-color:var(--ifm-font-color-secondary);--docusaurus-highlighted-code-line-bg:#e4fbe7;--ifm-font-size-base:100%;--ifm-code-font-size:90%;--ifm-code-border-radius:3px;--ifm-container-width:860px;--ifm-container-width-xl:1080px;--ifm-tabs-padding-vertical:0.5rem;--ifm-color-secondary-contrast-background:#f1f3f5;--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.3rem;--ifm-h4-font-size:1.15rem;--ifm-hr-background-color:#e9ecef;--ifm-navbar-height:4rem;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12);--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-heading-color:#e9ecef;--ifm-font-color-base:#ced4da;--ifm-font-color-secondary:#adb5bd;--ifm-color-primary:#ff6b6b}.docusaurus-highlight-code-line{background-color:rgba(0,0,0,.1);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}[data-theme=dark] .docusaurus-highlight-code-line{background-color:rgba(0,0,0,.3)}.menu__link--sublist{color:var(--ifm-font-base-color)!important;font-weight:var(--ifm-font-weight-semibold)}.markdown>header+p{font-size:1.25rem}.markdown h1,.theme-doc-toc-desktop{margin-top:5rem}.menu__list li:last-of-type{-webkit-padding-after:1rem;padding-bottom:1rem}.menu__link{font-size:.85rem;font-weight:400}.menu__link:hover{background:hsla(0,100%,83%,.15)}.menu__link.menu__link--sublist{color:var(--ifm-font-color-base);font-weight:700}.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link.menu__link--sublist{font-size:.95rem}.menu__link--active:not(.menu__link--sublist){background:hsla(0,100%,83%,.15);color:var(--ifm-menu-color-active);color:var(--ifm-color-primary-dark);font-weight:500}.menu__list-item-collapsible:hover,code{background:none}code:not([class]):after,code:not([class]):before{content:"`";-webkit-user-select:none;user-select:none}code{border:none;border-radius:0;font-weight:600;vertical-align:baseline}.theme-doc-sidebar-menu.menu__list{padding:.5rem 1rem}.navbar__link{font-size:1.1rem}.navbar__brand{padding:0 5px}.header-github-link{align-items:center;display:inline-flex}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;height:24px;margin-right:6px;width:24px}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:0 0;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:0 0}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_b6E3,.sidebarLogo_isFc,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.container_cnM6,.content_knG7,.hero_aEcG,.title_IGZ8,.title_Lx4r{text-align:center}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA,html:not([data-theme]) .themedComponent--light_NU7w{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{--ifm-breadcrumb-separator-size-multiplier:1;color:var(--ifm-color-content-secondary);font-size:.8rem}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:rgba(255,215,142,.25);color:var(--docsearch-hit-color);padding:.09em 0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.title_IGZ8{font-size:2rem}.icon_O5xE{stroke:#fff;stroke-width:1.5px;height:2.5rem;width:2.5rem}.iconContainer_r2Ou{align-items:center;background-color:var(--ifm-color-primary);border-radius:100%;display:flex;height:4.5rem;justify-content:center;width:4.5rem;z-index:1}.separator_K_BN{align-items:center;display:flex;flex-direction:column;margin:3rem 0 2rem;position:relative}.separator_K_BN:before{background-color:var(--ifm-hr-background-color);content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.link_w4pk{align-items:center;display:inline-flex;height:1em;transition:opacity var(--ifm-transition-fast);vertical-align:middle}.icon_mKeD{height:75%;width:auto}.container_hDwv{margin:1rem 0}.title_Lx4r{margin-bottom:1.5rem}.img_izG5{border-radius:3px;box-shadow:0 .5em 1em -.125em hsla(0,0%,4%,.12),0 0 0 1px hsla(0,0%,4%,.05);margin-bottom:1rem}.description_U2Ta{padding:0 1rem}.container_cnM6{margin:3rem 1.5rem}.list_Hsg9{align-items:center;display:flex;flex-direction:column;justify-content:center}.item_sfGX{align-items:center;display:inline-flex;margin:.3rem 0}.icon_XC1n{stroke-width:3px;color:var(--ifm-color-primary);margin-right:4px}.hero_aEcG{margin:3rem 0}.buttons_AeoN{gap:2rem}.buttons_AeoN,.title_GqtP{align-items:center;display:flex;justify-content:center}.title_GqtP{flex-direction:row;font-size:4rem}.logo_Ukns{height:5rem;margin-right:20px}.main_iUjq{margin-bottom:3rem}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media screen and (min-width:997px){:root{--ifm-font-size-base:16px}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.docItemContainer_F8PC{padding:0 .3rem}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media screen and (max-width:996px){:root{--ifm-font-size-base:15px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/css/styles.54bc1051.css b/assets/css/styles.54bc1051.css new file mode 100644 index 000000000..9c9ae72e6 --- /dev/null +++ b/assets/css/styles.54bc1051.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_MMFG,html{-webkit-tap-highlight-color:transparent}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}:root,[data-theme=dark]{--ifm-color-primary-dark:#fa5252;--ifm-color-primary-darker:#e03131;--ifm-color-primary-darkest:#c92a2a;--ifm-color-primary-light:#ff6b6b;--ifm-color-primary-lighter:#ff8787;--ifm-color-primary-lightest:#ffa8a8}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_l0OV{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_BiEj,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}.content_bSb_ a,a code{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_J5MA{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_XzR1 .wordWrapButtonIcon_HV9T{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_GCBg,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.DocSearch-Container a,.dropdown__link--active,.dropdown__link:hover,.menu__link:hover,.navbar__brand:hover,.navbar__link--active,.navbar__link:hover,.pagination-nav__link:hover,.pagination__link:hover,.tag_otG2:hover{-webkit-text-decoration:none;text-decoration:none}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_BE9Z:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color)}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.codeBlockStandalone_wQog,[type=checkbox],code{padding:0}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_tjFy article>:first-child,.docItemContainer_tjFy header+*,.footer__item{margin-top:0}.admonitionContent_pbrs>:last-child,.collapsibleContent_Fd2D p:last-child,.details_IpIu>summary>p:last-child,.footer__items,.tabItem_wHwb>:last-child{margin-bottom:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_IpIu[data-collapsed=false].isBrowser_QD4r>summary:before,.details_IpIu[open]:not(.isBrowser_QD4r)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color)}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color)}.announcementBarContent_t7IR,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color)}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.menu__link:hover,code{color:var(--ifm-color-primary-dark)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover)}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_QWGu>li)>.containsTaskList_QWGu{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#fa5252;--ifm-color-success-dark:#69db7c;--ifm-color-success-darker:#51cf66;--ifm-color-success-darkest:#37b24d;--ifm-color-success-light:#69db7c;--ifm-color-success-lighter:#8ce99a;--ifm-color-success-lightest:#d3f9d8;--ifm-color-success-contrast-background:#ebfbee;--ifm-color-info-dark:#339af0;--ifm-color-info-darker:#228be6;--ifm-color-info-darkest:#1971c2;--ifm-color-info-light:#4dabf7;--ifm-color-info-lighter:#a5d8ff;--ifm-color-info-lightest:#d0ebff;--ifm-color-info-contrast-background:#e7f5ff;--ifm-heading-color:#111519;--ifm-font-color-base:#343a40;--ifm-font-color-secondary:#495057;--ifm-menu-color:var(--ifm-font-color-secondary);--docusaurus-highlighted-code-line-bg:#e4fbe7;--ifm-font-size-base:100%;--ifm-code-font-size:90%;--ifm-code-border-radius:3px;--ifm-container-width:860px;--ifm-container-width-xl:1080px;--ifm-tabs-padding-vertical:0.5rem;--ifm-color-secondary-contrast-background:#f1f3f5;--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.3rem;--ifm-h4-font-size:1.15rem;--ifm-hr-background-color:#e9ecef;--ifm-navbar-height:4rem;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-heading-color:#e9ecef;--ifm-font-color-base:#ced4da;--ifm-font-color-secondary:#adb5bd;--ifm-color-primary:#ff6b6b}.docusaurus-highlight-code-line{background-color:#0000001a;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}[data-theme=dark] .docusaurus-highlight-code-line{background-color:#0000004d}.menu__link--sublist{color:var(--ifm-font-base-color)!important;font-weight:var(--ifm-font-weight-semibold)}.markdown>header+p{font-size:1.25rem}.markdown h1,.theme-doc-toc-desktop{margin-top:5rem}.menu__list li:last-of-type{-webkit-padding-after:1rem;padding-bottom:1rem}.menu__link{font-size:.85rem;font-weight:400}.menu__link:hover{background:#ffa8a826}.menu__link.menu__link--sublist{color:var(--ifm-font-color-base);font-weight:700}.theme-doc-sidebar-item-category-level-1>.menu__list-item-collapsible>.menu__link.menu__link--sublist{font-size:.95rem}.menu__link--active:not(.menu__link--sublist){background:#ffa8a826;color:var(--ifm-menu-color-active);color:var(--ifm-color-primary-dark);font-weight:500}.menu__list-item-collapsible:hover,code{background:none}code:not([class]):after,code:not([class]):before{content:"`";-webkit-user-select:none;user-select:none}code{border:none;border-radius:0;font-weight:600;vertical-align:initial}.theme-doc-sidebar-menu.menu__list{padding:.5rem 1rem}.navbar__link{font-size:1.1rem}.navbar__brand{padding:0 5px}.header-github-link{align-items:center;display:inline-flex}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;height:24px;margin-right:6px;width:24px}.tag_otG2{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_otG2:hover{--docusaurus-tag-list-border:var(--ifm-link-color)}.DocSearch-Hit[aria-selected=true] mark,.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{-webkit-text-decoration:underline;text-decoration:underline}.tagRegular_s0E1{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_PGyn{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_PGyn:after,.tagWithCount_PGyn:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_PGyn:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_PGyn:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_PGyn span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_Ow0B{display:inline}.tag_DFxh{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_bHB7{margin-right:.3em;vertical-align:sub}.lastUpdated_ydrU{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_iI2p{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.tocCollapsibleButton_iI2p:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_cHjC:after,.tocCollapsibleExpanded_BbRn{transform:none}.tocCollapsible_wXna{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vea0>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vea0 ul li{margin:.4rem .8rem}.tocCollapsibleContent_vea0 a{display:block}.tableOfContents_XG6w{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.backToTopButton_iEvu{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_iEvu:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_DO8w{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;transition-duration:.1s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative;scroll-margin-top:40px}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_c7NB,.navbarSearchContainer_bzqh:empty,.sidebarLogo_CYvI,.themedComponent_siVc,[data-theme=dark] .lightToggleIcon_lgto,[data-theme=light] .darkToggleIcon_U96C,html[data-announcement-bar-initially-dismissed=true] .announcementBar_zJRd,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_oPtH{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_oPtH{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_oPtH:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_J5rP{line-height:0;padding:0}.content_bSb_{font-size:85%;padding:5px 0;text-align:center}.announcementBar_zJRd{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_NpUd{flex:0 0 10px}.announcementBarClose_Jjdj{align-self:stretch;flex:0 0 30px}.toggle_ki11{height:2rem;width:2rem}.toggleButton_MMFG{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_MMFG:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_Uw7m{cursor:not-allowed}.darkNavbarColorModeToggle_m8pZ:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_yETr,[data-theme=light] .themedComponent--light_hHel,html:not([data-theme]) .themedComponent--light_hHel{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_oTwn{display:none;margin:0}.iconExternalLink_nPrP{margin-left:.3rem}.docMainContainer_a9sJ,.docRoot_DfVB{display:flex;width:100%}.docsWrapper__sE8{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_MJ1i{cursor:pointer}.iconLanguage_kvP7{margin-right:5px;vertical-align:text-bottom}.navbarHideable_hhpl{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_nmcs{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_WE6Q{color:red;white-space:pre-wrap}.errorBoundaryFallback_bdJX{color:red;padding:.55rem}.buttonGroup_aaMX button,.codeBlockContainer_mQmQ{background:var(--prism-background-color);color:var(--prism-color)}.footerLogoLink_tutC{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_tutC:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_JmGV{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_pMLv{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_MB5r{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.codeBlockContainer_mQmQ{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_D5yF{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_x_ju{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_RMoD{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_x_ju+.codeBlockContent_D5yF .codeBlock_RMoD{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_AclH{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_O625{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_aaMX{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_aaMX button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_aaMX button:focus-visible,.buttonGroup_aaMX button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_aaMX button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_FAqz{counter-increment:a;display:table-row}.codeLineNumber_BE9Z{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.container_cnM6,.hero_aEcG,.title_IGZ8,.title_Lx4r{text-align:center}.codeLineNumber_BE9Z:before{content:counter(a);opacity:.4}.codeLineContent_EF2y{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_TYdd{opacity:1!important}.copyButtonIcons_z5j7{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_FoOz,.copyButtonSuccessIcon_L0B6{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_L0B6{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_TYdd .copyButtonIcon_FoOz{opacity:0;transform:scale(.33)}.copyButtonCopied_TYdd .copyButtonSuccessIcon_L0B6{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_HV9T{height:1.2rem;width:1.2rem}.details_IpIu{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_IpIu>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_IpIu>summary::-webkit-details-marker{display:none}.details_IpIu>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_Fd2D{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_jERq{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_QWGu{list-style:none}.img_SS3x{height:auto}.admonition_WCGJ{margin-bottom:1em}.admonitionHeading_GCBg{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_GCBg:not(:last-child){margin-bottom:.3rem}.admonitionHeading_GCBg code{text-transform:none}.admonitionIcon_L39b{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_L39b svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_sfvy{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_T5ub{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.searchQueryInput_RVvj,.searchVersionInput_QmSs{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_RVvj:focus,.searchVersionInput_QmSs:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_RVvj::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_Vh0c{font-size:.9rem;font-weight:700}.algoliaLogo_yiAH{max-width:150px}.algoliaLogoPathFill_tzCx{fill:var(--ifm-font-color-base)}.searchResultItem_q31K{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_Iq68{font-weight:400;margin-bottom:0}.searchResultItemPath_pr04{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_fqhL{font-style:italic;margin:.5rem 0 0}.loadingSpinner_hU64{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.loader_DZsO{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.title_IGZ8{font-size:2rem}.icon_O5xE{height:2.5rem;width:2.5rem;stroke:#fff;stroke-width:1.5px}.iconContainer_r2Ou{align-items:center;background-color:var(--ifm-color-primary);border-radius:100%;display:flex;height:4.5rem;justify-content:center;width:4.5rem;z-index:1}.separator_K_BN{align-items:center;display:flex;flex-direction:column;margin:3rem 0 2rem;position:relative}.separator_K_BN:before{background-color:var(--ifm-hr-background-color);content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.link_w4pk{align-items:center;display:inline-flex;height:1em;transition:opacity var(--ifm-transition-fast);vertical-align:middle}.icon_mKeD{height:75%;width:auto}.container_hDwv{margin:1rem 0}.title_Lx4r{margin-bottom:1.5rem}.img_izG5{border-radius:3px;box-shadow:0 .5em 1em -.125em #0a0a0a1f,0 0 0 1px #0a0a0a0d;margin-bottom:1rem}.description_U2Ta{padding:0 1rem}.container_cnM6{margin:3rem 1.5rem}.list_Hsg9{align-items:center;display:flex;flex-direction:column;justify-content:center}.item_sfGX{align-items:center;display:inline-flex;margin:.3rem 0}.icon_XC1n{color:var(--ifm-color-primary);margin-right:4px;stroke-width:3px}.hero_aEcG{margin:3rem 0}.buttons_AeoN{gap:2rem}.buttons_AeoN,.title_GqtP{align-items:center;display:flex;justify-content:center}.title_GqtP{flex-direction:row;font-size:4rem}.logo_Ukns{height:5rem;margin-right:20px}.main_iUjq{margin-bottom:3rem}@media (min-width:997px){.collapseSidebarButton_oTwn,.expandButton_pLDq{background-color:var(--docusaurus-collapse-button-bg)}.lastUpdated_ydrU{text-align:right}.tocMobile_Ojys{display:none}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_Jjdj,.announcementBarPlaceholder_NpUd{flex-basis:50px}.collapseSidebarButton_oTwn{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_pMEX{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_X5ff,[dir=rtl] .collapseSidebarButtonIcon_pMEX{transform:rotate(0)}.collapseSidebarButton_oTwn:focus,.collapseSidebarButton_oTwn:hover,.expandButton_pLDq:focus,.expandButton_pLDq:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_OniL{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_jmj1{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_jmj1{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_YufC{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_CUen{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_w4KB{padding-top:0}.sidebarHidden_k6VE{opacity:0;visibility:hidden}.sidebarLogo_CYvI{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);-webkit-text-decoration:none!important;text-decoration:none!important}.sidebarLogo_CYvI img{height:2rem;margin-right:.5rem}.expandButton_pLDq{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_X5ff{transform:rotate(180deg)}.docSidebarContainer_c7NB{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_P3S_{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_KYo0{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_a9sJ{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_grEJ{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_VqDq{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_bzqh{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.docItemCol_Qr34{max-width:75%!important}}@media screen and (min-width:997px){:root{--ifm-font-size-base:16px}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_Hewu,.footer__link-separator,.navbar__item,.tableOfContents_XG6w{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block;width:max-content}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.docItemContainer_Tr6w{padding:0 .3rem}.navbarSearchContainer_bzqh{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media only screen and (max-width:996px){.searchQueryColumn_YWTO,.searchResultsColumn_Vh0c{max-width:60%!important}.searchLogoColumn_ugtA,.searchVersionColumn_pdNL{max-width:40%!important}.searchLogoColumn_ugtA{padding-left:0!important}}@media screen and (max-width:996px){:root{--ifm-font-size-base:15px}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_YWTO{max-width:100%!important}.searchVersionColumn_pdNL{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_iEvu:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media (prefers-reduced-motion){.DocSearch-Button-Key{transition:none}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_zJRd,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_Ojys{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_AclH{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/0095d48c.00db20ff.js b/assets/js/0095d48c.00db20ff.js new file mode 100644 index 000000000..496c6256b --- /dev/null +++ b/assets/js/0095d48c.00db20ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4122],{3156:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/dev-utils/functions/time","title":"Function: time()","description":"time(): () => string","source":"@site/../docs/api/@ima/dev-utils/functions/time.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/time","permalink":"/api/@ima/dev-utils/functions/time","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/time.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: resolveErrorType()","permalink":"/api/@ima/dev-utils/functions/resolveErrorType"},"next":{"title":"@ima/dev-utils","permalink":"/api/@ima/dev-utils/globals"}}');var s=n(2540),r=n(3023);const o={},c="Function: time()",a={},l=[{value:"Returns",id:"returns",level:2},{value:"Returns",id:"returns-1",level:3}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"function-time",children:"Function: time()"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"time"}),"(): () => ",(0,s.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L16",children:"logger.ts:16"})]}),"\n",(0,s.jsx)(t.p,{children:"Returns time utility function, which when called returns\nformatted elapsed time from it's creation."}),"\n",(0,s.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"Function"})}),"\n",(0,s.jsx)(t.p,{children:"Callback to return formatted elapsed time."}),"\n",(0,s.jsx)(t.h3,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"string"})})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var i=n(3696);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/00b0df35.1864ea16.js b/assets/js/00b0df35.1864ea16.js new file mode 100644 index 000000000..ddb7869d0 --- /dev/null +++ b/assets/js/00b0df35.1864ea16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6199],{3731:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useEventBus","title":"Function: useEventBus()","description":"useEventBus(eventTarget?, eventName?, listener?): useEventBusType","source":"@site/../docs/api/@ima/react-page-renderer/functions/useEventBus.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useEventBus","permalink":"/api/@ima/react-page-renderer/functions/useEventBus","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useEventBus.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useDispatcher()","permalink":"/api/@ima/react-page-renderer/functions/useDispatcher"},"next":{"title":"Function: useLink()","permalink":"/api/@ima/react-page-renderer/functions/useLink"}}');var s=t(2540),i=t(3023);const a={},c="Function: useEventBus()",d={},o=[{value:"Parameters",id:"parameters",level:2},{value:"eventTarget?",id:"eventtarget",level:3},{value:"eventName?",id:"eventname",level:3},{value:"listener?",id:"listener",level:3},{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function u(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-useeventbus",children:"Function: useEventBus()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"useEventBus"}),"(",(0,s.jsx)(n.code,{children:"eventTarget"}),"?, ",(0,s.jsx)(n.code,{children:"eventName"}),"?, ",(0,s.jsx)(n.code,{children:"listener"}),"?): ",(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/useEventBusType",children:(0,s.jsx)(n.code,{children:"useEventBusType"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/eventBus.ts#L27",children:"packages/react-page-renderer/src/hooks/eventBus.ts:27"})]}),"\n",(0,s.jsx)(n.p,{children:"Hook to register listeners for dispatcher events. Returns\ndecorated dispatcher fire function. Omitting hook params\ndoesn't register any events to the dispatcher but provides\naccess to the dispatcher's fire method."}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"eventtarget",children:"eventTarget?"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"null"})," | ",(0,s.jsx)(n.code,{children:"EventTarget"})]}),"\n",(0,s.jsx)(n.h3,{id:"eventname",children:"eventName?"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h3,{id:"listener",children:"listener?"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,s.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/useEventBusType",children:(0,s.jsx)(n.code,{children:"useEventBusType"})})}),"\n",(0,s.jsxs)(n.p,{children:["Dispatcher ",(0,s.jsx)(n.code,{children:"fire"})," method."]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"const { fire } = useEventBus(\n\tcomponentRef.current,\n\t'event',\n () => {}\n);\n"})})]})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var r=t(3696);const s={},i=r.createContext(s);function a(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01fc3ad9.786220c5.js b/assets/js/01fc3ad9.786220c5.js deleted file mode 100644 index e48a85eba..000000000 --- a/assets/js/01fc3ad9.786220c5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1198],{5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>g});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=u(n),m=a,g=c["".concat(s,".").concat(m)]||c[m]||d[m]||o;return n?r.createElement(g,i(i({ref:t},p),{},{components:n})):r.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:a,i[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var r=n(8102),a=(n(6540),n(5680));const o={id:"ima_core.RouterEvents",title:"Enumeration: RouterEvents",sidebar_label:"@ima/core.RouterEvents",custom_edit_url:null},i=void 0,l={unversionedId:"api/enums/ima_core.RouterEvents",id:"api/enums/ima_core.RouterEvents",title:"Enumeration: RouterEvents",description:"@ima/core.RouterEvents",source:"@site/../docs/api/enums/ima_core.RouterEvents.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.RouterEvents",permalink:"/api/enums/ima_core.RouterEvents",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouterEvents",title:"Enumeration: RouterEvents",sidebar_label:"@ima/core.RouterEvents",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouteNames",permalink:"/api/enums/ima_core.RouteNames"},next:{title:"@ima/core.StateEvents",permalink:"/api/enums/ima_core.StateEvents"}},s={},u=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"AFTER_HANDLE_ROUTE",id:"after_handle_route",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"AFTER_LOADING_ASYNC_ROUTE",id:"after_loading_async_route",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"BEFORE_HANDLE_ROUTE",id:"before_handle_route",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"BEFORE_LOADING_ASYNC_ROUTE",id:"before_loading_async_route",level:3},{value:"Defined in",id:"defined-in-3",level:4}],p={toc:u},c="wrapper";function d(e){let{components:t,...n}=e;return(0,a.yg)(c,(0,r.A)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouterEvents"),(0,a.yg)("p",null,"Events constants, which is firing to app."),(0,a.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,a.yg)("h3",{id:"after_handle_route"},"AFTER","_","HANDLE","_","ROUTE"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"AFTER","_","HANDLE","_","ROUTE")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$Router.afterHandleRoute"')),(0,a.yg)("p",null,"Router fire event ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.$Router.afterHandleRoute")," after page\nmanager handle the route. Event's data contain\n",(0,a.yg)("inlineCode",{parentName:"p"},"{response: Object, params: Object"),",\nroute: ima.core.router.AbstractRoute, path: string, options: Object}}.\nThe ",(0,a.yg)("inlineCode",{parentName:"p"},"response")," is page render result. The ",(0,a.yg)("inlineCode",{parentName:"p"},"path")," is current\npath, the ",(0,a.yg)("inlineCode",{parentName:"p"},"params")," are params extracted from path, the\n",(0,a.yg)("inlineCode",{parentName:"p"},"route")," is handle route for path and the ",(0,a.yg)("inlineCode",{parentName:"p"},"options")," is route\nadditional options."),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouterEvents.ts#L26"},"packages/core/src/router/RouterEvents.ts:26")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"after_loading_async_route"},"AFTER","_","LOADING","_","ASYNC","_","ROUTE"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"AFTER","_","LOADING","_","ASYNC","_","ROUTE")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$Router.afterLoadingAsyncRoute"')),(0,a.yg)("p",null,"Event fired when router finishes loading of async view\nand controller. If both are sync this is never fired."),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouterEvents.ts#L38"},"packages/core/src/router/RouterEvents.ts:38")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"before_handle_route"},"BEFORE","_","HANDLE","_","ROUTE"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"BEFORE","_","HANDLE","_","ROUTE")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$Router.beforeHandleRoute"')),(0,a.yg)("p",null,"Router fire event ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.$Router.beforeHandleRoute")," before page\nmanager handle the route. Event's data contain\n",(0,a.yg)("inlineCode",{parentName:"p"},"{ params: Object"),", route: ima.core.router.AbstractRoute,\npath: string, options: Object}}. The ",(0,a.yg)("inlineCode",{parentName:"p"},"path")," is current\npath, the ",(0,a.yg)("inlineCode",{parentName:"p"},"params")," are params extracted from path, the\n",(0,a.yg)("inlineCode",{parentName:"p"},"route")," is handle route for path and the ",(0,a.yg)("inlineCode",{parentName:"p"},"options")," is route\nadditional options."),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouterEvents.ts#L14"},"packages/core/src/router/RouterEvents.ts:14")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"before_loading_async_route"},"BEFORE","_","LOADING","_","ASYNC","_","ROUTE"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"BEFORE","_","LOADING","_","ASYNC","_","ROUTE")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$Router.beforeLoadingAsyncRoute"')),(0,a.yg)("p",null,"Fired right before loading view and controller when either\nview or controller is async (or both)."),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouterEvents.ts#L32"},"packages/core/src/router/RouterEvents.ts:32")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/023579e4.529d873e.js b/assets/js/023579e4.529d873e.js new file mode 100644 index 000000000..235cf682f --- /dev/null +++ b/assets/js/023579e4.529d873e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1682],{2452:(e,a,i)=>{i.r(a),i.d(a,{assets:()=>m,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/cli/type-aliases/ImaCliCommand","title":"Type Alias: ImaCliCommand","description":"ImaCliCommand: \\"build\\" \\\\| \\"dev\\"","source":"@site/../docs/api/@ima/cli/type-aliases/ImaCliCommand.md","sourceDirName":"api/@ima/cli/type-aliases","slug":"/api/@ima/cli/type-aliases/ImaCliCommand","permalink":"/api/@ima/cli/type-aliases/ImaCliCommand","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/type-aliases/ImaCliCommand.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ImaConfigurationContext","permalink":"/api/@ima/cli/interfaces/ImaConfigurationContext"},"next":{"title":"Type Alias: ImaConfig","permalink":"/api/@ima/cli/type-aliases/ImaConfig"}}');var t=i(2540),s=i(3023);const o={},c="Type Alias: ImaCliCommand",m={},l=[];function r(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.header,{children:(0,t.jsx)(a.h1,{id:"type-alias-imaclicommand",children:"Type Alias: ImaCliCommand"})}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"ImaCliCommand"}),": ",(0,t.jsx)(a.code,{children:'"build"'})," | ",(0,t.jsx)(a.code,{children:'"dev"'})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L25",children:"types.ts:25"})]}),"\n",(0,t.jsx)(a.p,{children:"Ima CLI commands."})]})}function d(e={}){const{wrapper:a}={...(0,s.R)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(r,{...e})}):r(e)}},3023:(e,a,i)=>{i.d(a,{R:()=>o,x:()=>c});var n=i(3696);const t={},s=n.createContext(t);function o(e){const a=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),n.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0406843b.d18eb636.js b/assets/js/0406843b.d18eb636.js new file mode 100644 index 000000000..6ffcf1558 --- /dev/null +++ b/assets/js/0406843b.d18eb636.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8754],{8538:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>i,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"api/@ima/core/classes/PageHandlerRegistry","title":"Class: PageHandlerRegistry","description":"Defined in7","source":"@site/../docs/api/@ima/core/classes/PageHandlerRegistry.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageHandlerRegistry","permalink":"/api/@ima/core/classes/PageHandlerRegistry","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageHandlerRegistry.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract PageHandler","permalink":"/api/@ima/core/classes/PageHandler"},"next":{"title":"Class: abstract PageManager","permalink":"/api/@ima/core/classes/PageManager"}}');var s=n(2540),d=n(3023);const i={},l="Class: PageHandlerRegistry",c={},h=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageHandlerRegistry()",id:"new-pagehandlerregistry",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageHandlers",id:"pagehandlers",level:5},{value:"Returns",id:"returns",level:4},{value:"Memberof",id:"memberof",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_pageHandlers",id:"_pagehandlers",level:3},{value:"_postManageHandlers?",id:"_postmanagehandlers",level:3},{value:"_preManageHandlers?",id:"_premanagehandlers",level:3},{value:"ExecutionMethod",id:"executionmethod",level:3},{value:"Methods",id:"methods",level:2},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"handlePostManagedState()",id:"handlepostmanagedstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"managedPage",id:"managedpage",level:5},{value:"previousManagedPage",id:"previousmanagedpage",level:5},{value:"action",id:"action",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"handlePreManagedState()",id:"handlepremanagedstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"managedPage",id:"managedpage-1",level:5},{value:"nextManagedPage",id:"nextmanagedpage",level:5},{value:"action",id:"action-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4}];function t(e){const a={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"class-pagehandlerregistry",children:"Class: PageHandlerRegistry"})}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L7",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:7"})]}),"\n",(0,s.jsx)(a.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})})}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(a.h3,{id:"new-pagehandlerregistry",children:"new PageHandlerRegistry()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"new PageHandlerRegistry"}),"(...",(0,s.jsx)(a.code,{children:"pageHandlers"}),"): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(a.code,{children:"PageHandlerRegistry"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L19",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:19"})]}),"\n",(0,s.jsxs)(a.p,{children:["Creates an instance of HandlerRegistry and creates ",(0,s.jsx)(a.code,{children:"SerialBatch"}),"\ninstance for pre-handlers and post-handlers."]}),"\n",(0,s.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"pagehandlers",children:"pageHandlers"}),"\n",(0,s.jsxs)(a.p,{children:["...",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),"[]"]}),"\n",(0,s.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(a.code,{children:"PageHandlerRegistry"})})}),"\n",(0,s.jsx)(a.h4,{id:"memberof",children:"Memberof"}),"\n",(0,s.jsx)(a.p,{children:"HandlerRegistry"}),"\n",(0,s.jsx)(a.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#constructors",children:(0,s.jsx)(a.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(a.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(a.h3,{id:"_pagehandlers",children:"_pageHandlers"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_pageHandlers"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L8",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:8"})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_postmanagehandlers",children:"_postManageHandlers?"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.code,{children:"optional"})," ",(0,s.jsx)(a.strong,{children:"_postManageHandlers"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Execution",children:(0,s.jsx)(a.code,{children:"Execution"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L10",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:10"})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_premanagehandlers",children:"_preManageHandlers?"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.code,{children:"optional"})," ",(0,s.jsx)(a.strong,{children:"_preManageHandlers"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Execution",children:(0,s.jsx)(a.code,{children:"Execution"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L9",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:9"})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"executionmethod",children:"ExecutionMethod"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"static"})," ",(0,s.jsx)(a.strong,{children:"ExecutionMethod"}),": ",(0,s.jsx)(a.em,{children:"typeof"})," ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/SerialBatch",children:(0,s.jsx)(a.code,{children:"SerialBatch"})})," = ",(0,s.jsx)(a.code,{children:"SerialBatch"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L12",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:12"})]}),"\n",(0,s.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(a.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"destroy"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L87",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:87"})]}),"\n",(0,s.jsx)(a.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#destroy",children:(0,s.jsx)(a.code,{children:"destroy"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepostmanagedstate",children:"handlePostManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePostManagedState"}),"(",(0,s.jsx)(a.code,{children:"managedPage"}),", ",(0,s.jsx)(a.code,{children:"previousManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L72",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:72"})]}),"\n",(0,s.jsx)(a.p,{children:"Executes the post-manage handlers with given arguments"}),"\n",(0,s.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"managedpage",children:"managedPage"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"null"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n",(0,s.jsx)(a.h5,{id:"previousmanagedpage",children:"previousManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.h5,{id:"action",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(a.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#handlepostmanagedstate",children:(0,s.jsx)(a.code,{children:"handlePostManagedState"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepremanagedstate",children:"handlePreManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePreManagedState"}),"(",(0,s.jsx)(a.code,{children:"managedPage"}),", ",(0,s.jsx)(a.code,{children:"nextManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L53",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:53"})]}),"\n",(0,s.jsx)(a.p,{children:"Executes the pre-manage handlers with given arguments"}),"\n",(0,s.jsx)(a.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"managedpage-1",children:"managedPage"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"null"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n",(0,s.jsx)(a.h5,{id:"nextmanagedpage",children:"nextManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.h5,{id:"action-1",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(a.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#handlepremanagedstate",children:(0,s.jsx)(a.code,{children:"handlePreManagedState"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"init"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandlerRegistry.ts#L28",children:"packages/core/src/page/handler/PageHandlerRegistry.ts:28"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes the page handler."}),"\n",(0,s.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#init",children:(0,s.jsx)(a.code,{children:"init"})})]})]})}function o(e={}){const{wrapper:a}={...(0,d.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(t,{...e})}):t(e)}},3023:(e,a,n)=>{n.d(a,{R:()=>i,x:()=>l});var r=n(3696);const s={},d=r.createContext(s);function i(e){const a=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(d.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0436c729.91678a91.js b/assets/js/0436c729.91678a91.js new file mode 100644 index 000000000..786955f86 --- /dev/null +++ b/assets/js/0436c729.91678a91.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4665],{310:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/core/type-aliases/MetaManagerRecordKeys","title":"Type Alias: MetaManagerRecordKeys","description":"MetaManagerRecordKeys: \\"content\\" \\\\| \\"href\\"","source":"@site/../docs/api/@ima/core/type-aliases/MetaManagerRecordKeys.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/MetaManagerRecordKeys","permalink":"/api/@ima/core/type-aliases/MetaManagerRecordKeys","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/MetaManagerRecordKeys.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: MetaManagerRecord\\\\","permalink":"/api/@ima/core/type-aliases/MetaManagerRecord"},"next":{"title":"Type Alias: MetaValue","permalink":"/api/@ima/core/type-aliases/MetaValue"}}');var s=t(2540),n=t(3023);const c={},o="Type Alias: MetaManagerRecordKeys",i={},d=[];function l(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"type-alias-metamanagerrecordkeys",children:"Type Alias: MetaManagerRecordKeys"})}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"MetaManagerRecordKeys"}),": ",(0,s.jsx)(a.code,{children:'"content"'})," | ",(0,s.jsx)(a.code,{children:'"href"'})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L4",children:"packages/core/src/meta/MetaManager.ts:4"})]})]})}function p(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>c,x:()=>o});var r=t(3696);const s={},n=r.createContext(s);function c(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/046a2c8d.176dcfc7.js b/assets/js/046a2c8d.176dcfc7.js deleted file mode 100644 index a69ccb711..000000000 --- a/assets/js/046a2c8d.176dcfc7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3685],{5680:(e,t,n)=>{n.d(t,{xA:()=>c,yg:()=>m});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),p=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=p(e.components);return a.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),u=p(n),g=r,m=u["".concat(l,".").concat(g)]||u[g]||d[g]||i;return n?a.createElement(m,s(s({ref:t},c),{},{components:n})):a.createElement(m,s({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=g;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[u]="string"==typeof e?e:r,s[1]=o;for(var p=2;p{n.d(t,{A:()=>s});var a=n(6540),r=n(8017);const i={tabItem:"tabItem_Ymn6"};function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.A)(i.tabItem,s),hidden:n},t)}},1253:(e,t,n)=>{n.d(t,{A:()=>C});var a=n(8102),r=n(6540),i=n(8017),s=n(3104),o=n(9519),l=n(7485),p=n(1682),c=n(9466);function u(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function d(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??u(n);return function(e){const t=(0,p.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function g(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,o.W6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l.aZ)(i),(0,r.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(a.location.search);t.set(i,e),a.replace({...a.location,search:t.toString()})}),[i,a])]}function y(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,i=d(e),[s,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!g({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:i}))),[l,p]=m({queryString:n,groupId:a}),[u,y]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,i]=(0,c.Dv)(n);return[a,(0,r.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:a}),f=(()=>{const e=l??u;return g({value:e,tabValues:i})?e:null})();(0,r.useLayoutEffect)((()=>{f&&o(f)}),[f]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!g({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);o(e),p(e),y(e)}),[p,y,i]),tabValues:i}}var f=n(2303);const h={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:t,block:n,selectedValue:o,selectValue:l,tabValues:p}=e;const c=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.a_)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),a=p[n].value;a!==o&&(u(t),l(a))},g=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":n},t)},p.map((e=>{let{value:t,label:n,attributes:s}=e;return r.createElement("li",(0,a.A)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>c.push(e),onKeyDown:g,onClick:d},s,{className:(0,i.A)("tabs__item",h.tabItem,s?.className,{"tabs__item--active":o===t})}),n??t)})))}function v(e){let{lazy:t,children:n,selectedValue:a}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},i.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function N(e){const t=y(e);return r.createElement("div",{className:(0,i.A)("tabs-container",h.tabList)},r.createElement(b,(0,a.A)({},e,t)),r.createElement(v,(0,a.A)({},e,t)))}function C(e){const t=(0,f.A)();return r.createElement(N,(0,a.A)({key:String(t)},e))}},7648:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>p,toc:()=>u});var a=n(8102),r=(n(6540),n(5680)),i=n(1253),s=n(6185);const o={title:"TypeScript",description:"Basic features > TypeScript"},l=void 0,p={unversionedId:"basic-features/typescript",id:"basic-features/typescript",title:"TypeScript",description:"Basic features > TypeScript",source:"@site/../docs/basic-features/typescript.md",sourceDirName:"basic-features",slug:"/basic-features/typescript",permalink:"/basic-features/typescript",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/typescript.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"TypeScript",description:"Basic features > TypeScript"},sidebar:"docs",previous:{title:"Error Handling",permalink:"/basic-features/error-handling"},next:{title:"Testing",permalink:"/basic-features/testing"}},c={},u=[{value:"tsconfig.json",id:"tsconfigjson",level:2},{value:"ima-env.d.ts",id:"ima-envdts",level:3},{value:"create-ima-app support",id:"create-ima-app-support",level:2},{value:"Controller generic types",id:"controller-generic-types",level:2},{value:"Extending existing interfaces",id:"extending-existing-interfaces",level:2},{value:"Extending Utils",id:"extending-utils",level:3},{value:"Extending ObjectContainer",id:"extending-objectcontainer",level:3},{value:"Extending Settings",id:"extending-settings",level:3},{value:"Dictionary localization keys",id:"dictionary-localization-keys",level:2}],d={toc:u},g="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(g,(0,a.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"Since IMA.js v18 we provide ",(0,r.yg)("strong",{parentName:"p"},"support for Typescript in your application code")," with proper type declarations from the core packages."),(0,r.yg)("p",null,"To enable TypeScript in your project, first you need to add ",(0,r.yg)("inlineCode",{parentName:"p"},"typescript")," to your app dependencies:"),(0,r.yg)(i.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(s.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npm i -D typescript\n"))),(0,r.yg)(s.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add --dev typescript\n"))),(0,r.yg)(s.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add -D typescript\n")))),(0,r.yg)("h2",{id:"tsconfigjson"},"tsconfig.json"),(0,r.yg)("p",null,"Now create ",(0,r.yg)("inlineCode",{parentName:"p"},"tsconfig.json")," file (that may look something like this):"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json",metastring:"title=./tsconfig.json",title:"./tsconfig.json"},'{\n "compilerOptions": {\n "allowJs": true,\n "target": "ES2022",\n "lib": [\n "ES2022",\n "DOM",\n "DOM.Iterable"\n ],\n "module": "ES2022",\n "moduleResolution": "Node16",\n "strict": true,\n "resolveJsonModule": true,\n "jsx": "react-jsx",\n "baseUrl": ".",\n "outDir": "./build/ts-cache",\n "paths": {\n "app/*": [\n "app/*"\n ],\n }\n },\n "include": ["./app/**/*", "./build/tmp/types/**/*"],\n "exclude": ["./**/__tests__"]\n}\n')),(0,r.yg)("p",null,"When CLI detects existence of the ",(0,r.yg)("inlineCode",{parentName:"p"},"tsconfig.json")," file, it automatically starts ",(0,r.yg)("strong",{parentName:"p"},"type checking")," and ",(0,r.yg)("strong",{parentName:"p"},"compiling")," files with ",(0,r.yg)("inlineCode",{parentName:"p"},"*.ts")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"*.tsx")," extensions."),(0,r.yg)("p",null,"Keep in mind that the code is still compiled using ",(0,r.yg)("a",{parentName:"p",href:"https://swc.rs/"},"swc"),", the same way JS code is. This means that certain settings in ",(0,r.yg)("inlineCode",{parentName:"p"},"tsconfig.json")," only applies to type checking (like ",(0,r.yg)("inlineCode",{parentName:"p"},"target"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"moduleResolution"),", etc.), but compilation uses it's own settings to match the JS code."),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"You will also probably need to install additional ",(0,r.yg)("inlineCode",{parentName:"p"},"@types/*")," type definition libs to ensure proper support, like react types:"),(0,r.yg)(i.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(s.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npm i -D @types/react @types/react-dom\n"))),(0,r.yg)(s.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add --dev @types/react @types/react-dom\n"))),(0,r.yg)(s.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add -D @types/react @types/react-dom\n"))))),(0,r.yg)("h3",{id:"ima-envdts"},"ima-env.d.ts"),(0,r.yg)("p",null,"Additionally we recommend creating a new ",(0,r.yg)("inlineCode",{parentName:"p"},"ima-env.d.ts")," file in root of your ",(0,r.yg)("inlineCode",{parentName:"p"},"./app")," folder with following contents:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts",metastring:"title=./app/ima-env.d.ts",title:"./app/ima-env.d.ts"},'/// \n')),(0,r.yg)("p",null,"This adds proper types support for webpack specific imports like images and other files."),(0,r.yg)("h2",{id:"create-ima-app-support"},(0,r.yg)("inlineCode",{parentName:"h2"},"create-ima-app")," support"),(0,r.yg)("p",null,"You can also easily create a typescript base IMA.js application using ",(0,r.yg)("inlineCode",{parentName:"p"},"--typescript")," cli argument when running ",(0,r.yg)("inlineCode",{parentName:"p"},"create-ima-app")," command:"),(0,r.yg)(i.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(s.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app ~/Desktop/ima-ts --typescript\n"))),(0,r.yg)(s.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app ~/Desktop/ima-ts --typescript\n"))),(0,r.yg)(s.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app ~/Desktop/ima-ts --typescript\n")))),(0,r.yg)("h2",{id:"controller-generic-types"},"Controller generic types"),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractController")," class follows similar principles used in React ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractComponent")," type. There are 3 generic types you can define on the class definition itself."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts",metastring:"title=AbstractController.ts",title:"AbstractController.ts"},"export class AbstractController<\n S extends PageState = {},\n R extends RouteParams = {},\n SS extends S = S\n> extends Controller;\n")),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"S")," - Use to define shape of your controller managed state."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"R")," - Use to define controller's route route params that are extracted to ",(0,r.yg)("inlineCode",{parentName:"li"},"this.params"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"SS")," - Defaults to ",(0,r.yg)("inlineCode",{parentName:"li"},"S"),", however when you are using any extensions in your controller, that have their own state, you can merge those state types in this generic value, to have proper type support for ",(0,r.yg)("inlineCode",{parentName:"li"},"this.getState()")," method (this will now include all state keys, including ones used in extensions).")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts",metastring:"title=HomeController.ts",title:"HomeController.ts"},"import { TestExtension, GalleryExtensionState } from './GalleryExtension';\n\nexport type HomeControllerState = {\n cards: Promise;\n message: string;\n name: string;\n};\n\nexport class HomeController extends AbstractController<\n HomeControllerState,\n { detailId?: string },\n HomeControllerState & GalleryExtensionState\n>{\n static $extensions?: Dependencies> = [GalleryExtension];\n\n load(): HomeControllerState {\n const cardsPromise = this.#httpAgent\n .get('http://localhost:3001/static/static/public/cards.json')\n .then(response => response.body);\n\n // `state` contains all merged types from `SS` generic value.\n const state = this.getState();\n\n return {\n message: 'test',\n cards: cardsPromise,\n name: 'nam',\n };\n }\n}\n")),(0,r.yg)("h2",{id:"extending-existing-interfaces"},"Extending existing interfaces"),(0,r.yg)("p",null,"Since you can extend certain features like ",(0,r.yg)("inlineCode",{parentName:"p"},"ComponentUtils")," or settings from within your application or through plugins, and in order to provide type checking for these, we are using specific interfaces that you can extend using ",(0,r.yg)("a",{parentName:"p",href:"https://www.typescriptlang.org/docs/handbook/declaration-merging.html"},"Declaration Merging")," feature."),(0,r.yg)("p",null,"This ensures (when used correctly), that you always have correct static types when using these interfaces, even when they are extended in multiple places."),(0,r.yg)("h3",{id:"extending-utils"},"Extending ",(0,r.yg)("inlineCode",{parentName:"h3"},"Utils")),(0,r.yg)("p",null,"When using component utils, in addition to registering your classes using ",(0,r.yg)("inlineCode",{parentName:"p"},"ComponentUtils")," helper, make sure to also extend ",(0,r.yg)("inlineCode",{parentName:"p"},"Utils")," interface. This adds autocomplete and typechecking to ",(0,r.yg)("inlineCode",{parentName:"p"},"this.utils()")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"useComponentUtils")," in your components."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts",metastring:"title=./app/config/bind.ts",title:"./app/config/bind.ts"},"declare module '@ima/core' {\n interface Utils {\n $CssClasses: typeof defaultCssClasses;\n }\n}\n\nexport const initBindApp: InitBindFunction = (ns, oc) => {\n oc.get(ComponentUtils).register({\n $CssClasses: '$CssClasses',\n });\n};\n")),(0,r.yg)("h3",{id:"extending-objectcontainer"},"Extending ",(0,r.yg)("inlineCode",{parentName:"h3"},"ObjectContainer")),(0,r.yg)("p",null,"Same goes for defining string aliases in Object container. This adds proper type checking to dependencies definition and ",(0,r.yg)("inlineCode",{parentName:"p"},"oc.get")," autocomplete."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts",metastring:"title=./app/config/bind.ts",title:"./app/config/bind.ts"},"declare module '@ima/core' {\n interface OCAliasMap {\n $CssClasses: () => typeof cssClassNameProcessor;\n $PageRendererFactory: PageRendererFactory;\n API_KEY: string;\n }\n}\n\nexport const initBindApp: InitBindFunction = (ns, oc) => {\n oc.bind('$CssClasses', function () { return cssClassNameProcessor; });\n oc.bind('$PageRendererFactory', PageRendererFactory);\n oc.constant('API_KEY', '14fasdf');\n};\n")),(0,r.yg)("h3",{id:"extending-settings"},"Extending ",(0,r.yg)("inlineCode",{parentName:"h3"},"Settings")),(0,r.yg)("p",null,"This makes sure you don't have any missing or additional fields in your app settings. Other environments than ",(0,r.yg)("inlineCode",{parentName:"p"},"prod")," have all fields made optional, since they are deeply merged with the ",(0,r.yg)("inlineCode",{parentName:"p"},"prod")," settings."),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"Use ",(0,r.yg)("inlineCode",{parentName:"p"},"?:")," for settings with default values. This applies mostly to plugins.")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts",metastring:"title=./app/config/settings.ts",title:"./app/config/settings.ts"},"declare module '@ima/core' {\n interface Settings {\n links: Record<'documentation' | 'tutorial' | 'plugins' | 'api', string>;\n }\n}\n\nexport const initSettings: InitSettingsFunction = (ns, oc, config) => {\n return {\n prod: {\n links: {\n documentation: 'https://imajs.io/docs',\n api: 'https://imajs.io/api',\n },\n }\n }\n}\n\n")),(0,r.yg)("h2",{id:"dictionary-localization-keys"},"Dictionary localization keys"),(0,r.yg)("p",null,"When compiling app language files, we also generate dictionary keys during runtime. These are then stored in ",(0,r.yg)("inlineCode",{parentName:"p"},"'./build/tmp/types/dictionary.ts'")," file. Don't forget to include this file in ",(0,r.yg)("inlineCode",{parentName:"p"},"tsconfig.json")," source files array, to have correct static type checking:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json",metastring:"title=./tsconfig.json",title:"./tsconfig.json"},'{\n "include": ["./app/**/*", "./build/tmp/types/**/*"],\n}\n')),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"When used in IMA.js plugins, you can manually extend the ",(0,r.yg)("inlineCode",{parentName:"p"},"DictionaryMap")," interface:"),(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"declare module '@ima/core' {\n interface DictionaryMap {\n 'home.intro': string;\n }\n}\n\nexport {};\n"))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/046a2c8d.79fba3c8.js b/assets/js/046a2c8d.79fba3c8.js new file mode 100644 index 000000000..d1c46989c --- /dev/null +++ b/assets/js/046a2c8d.79fba3c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3685],{4178:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"basic-features/typescript","title":"TypeScript","description":"Basic features > TypeScript","source":"@site/../docs/basic-features/typescript.md","sourceDirName":"basic-features","slug":"/basic-features/typescript","permalink":"/basic-features/typescript","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/typescript.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"TypeScript","description":"Basic features > TypeScript"},"sidebar":"docs","previous":{"title":"Error Handling","permalink":"/basic-features/error-handling"},"next":{"title":"Testing","permalink":"/basic-features/testing"}}');var r=t(2540),i=t(3023),a=t(3776),o=t(6052);const l={title:"TypeScript",description:"Basic features > TypeScript"},c=void 0,d={},p=[{value:"tsconfig.json",id:"tsconfigjson",level:2},{value:"ima-env.d.ts",id:"ima-envdts",level:3},{value:"create-ima-app support",id:"create-ima-app-support",level:2},{value:"Controller generic types",id:"controller-generic-types",level:2},{value:"Extending existing interfaces",id:"extending-existing-interfaces",level:2},{value:"Extending Utils",id:"extending-utils",level:3},{value:"Extending ObjectContainer",id:"extending-objectcontainer",level:3},{value:"Extending Settings",id:"extending-settings",level:3},{value:"Dictionary localization keys",id:"dictionary-localization-keys",level:2}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["Since IMA.js v18 we provide ",(0,r.jsx)(n.strong,{children:"support for Typescript in your application code"})," with proper type declarations from the core packages."]}),"\n",(0,r.jsxs)(n.p,{children:["To enable TypeScript in your project, first you need to add ",(0,r.jsx)(n.code,{children:"typescript"})," to your app dependencies:"]}),"\n",(0,r.jsxs)(a.A,{groupId:"npm2yarn",children:[(0,r.jsx)(o.A,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm i -D typescript\n"})})}),(0,r.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add --dev typescript\n"})})}),(0,r.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add -D typescript\n"})})})]}),"\n",(0,r.jsx)(n.h2,{id:"tsconfigjson",children:"tsconfig.json"}),"\n",(0,r.jsxs)(n.p,{children:["Now create ",(0,r.jsx)(n.code,{children:"tsconfig.json"})," file (that may look something like this):"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",metastring:"title=./tsconfig.json",children:'{\n "compilerOptions": {\n "allowJs": true,\n "target": "ES2022",\n "lib": [\n "ES2022",\n "DOM",\n "DOM.Iterable"\n ],\n "module": "ES2022",\n "moduleResolution": "Node16",\n "strict": true,\n "resolveJsonModule": true,\n "jsx": "react-jsx",\n "baseUrl": ".",\n "outDir": "./build/ts-cache",\n "paths": {\n "app/*": [\n "app/*"\n ],\n }\n },\n "include": ["./app/**/*", "./build/tmp/types/**/*"],\n "exclude": ["./**/__tests__"]\n}\n'})}),"\n",(0,r.jsxs)(n.p,{children:["When CLI detects existence of the ",(0,r.jsx)(n.code,{children:"tsconfig.json"})," file, it automatically starts ",(0,r.jsx)(n.strong,{children:"type checking"})," and ",(0,r.jsx)(n.strong,{children:"compiling"})," files with ",(0,r.jsx)(n.code,{children:"*.ts"})," and ",(0,r.jsx)(n.code,{children:"*.tsx"})," extensions."]}),"\n",(0,r.jsxs)(n.p,{children:["Keep in mind that the code is still compiled using ",(0,r.jsx)(n.a,{href:"https://swc.rs/",children:"swc"}),", the same way JS code is. This means that certain settings in ",(0,r.jsx)(n.code,{children:"tsconfig.json"})," only applies to type checking (like ",(0,r.jsx)(n.code,{children:"target"}),", ",(0,r.jsx)(n.code,{children:"moduleResolution"}),", etc.), but compilation uses it's own settings to match the JS code."]}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["You will also probably need to install additional ",(0,r.jsx)(n.code,{children:"@types/*"})," type definition libs to ensure proper support, like react types:"]}),(0,r.jsxs)(a.A,{groupId:"npm2yarn",children:[(0,r.jsx)(o.A,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm i -D @types/react @types/react-dom\n"})})}),(0,r.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add --dev @types/react @types/react-dom\n"})})}),(0,r.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add -D @types/react @types/react-dom\n"})})})]})]}),"\n",(0,r.jsx)(n.h3,{id:"ima-envdts",children:"ima-env.d.ts"}),"\n",(0,r.jsxs)(n.p,{children:["Additionally we recommend creating a new ",(0,r.jsx)(n.code,{children:"ima-env.d.ts"})," file in root of your ",(0,r.jsx)(n.code,{children:"./app"})," folder with following contents:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:"title=./app/ima-env.d.ts",children:'/// \n'})}),"\n",(0,r.jsx)(n.p,{children:"This adds proper types support for webpack specific imports like images and other files."}),"\n",(0,r.jsxs)(n.h2,{id:"create-ima-app-support",children:[(0,r.jsx)(n.code,{children:"create-ima-app"})," support"]}),"\n",(0,r.jsxs)(n.p,{children:["You can also easily create a typescript base IMA.js application using ",(0,r.jsx)(n.code,{children:"--typescript"})," cli argument when running ",(0,r.jsx)(n.code,{children:"create-ima-app"})," command:"]}),"\n",(0,r.jsxs)(a.A,{groupId:"npm2yarn",children:[(0,r.jsx)(o.A,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npx create-ima-app ~/Desktop/ima-ts --typescript\n"})})}),(0,r.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn dlx create-ima-app ~/Desktop/ima-ts --typescript\n"})})}),(0,r.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm dlx create-ima-app ~/Desktop/ima-ts --typescript\n"})})})]}),"\n",(0,r.jsx)(n.h2,{id:"controller-generic-types",children:"Controller generic types"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"AbstractController"})," class follows similar principles used in React ",(0,r.jsx)(n.code,{children:"AbstractComponent"})," type. There are 3 generic types you can define on the class definition itself."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:"title=AbstractController.ts",children:"export class AbstractController<\n S extends PageState = {},\n R extends RouteParams = {},\n SS extends S = S\n> extends Controller;\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"S"})," - Use to define shape of your controller managed state."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"R"})," - Use to define controller's route route params that are extracted to ",(0,r.jsx)(n.code,{children:"this.params"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"SS"})," - Defaults to ",(0,r.jsx)(n.code,{children:"S"}),", however when you are using any extensions in your controller, that have their own state, you can merge those state types in this generic value, to have proper type support for ",(0,r.jsx)(n.code,{children:"this.getState()"})," method (this will now include all state keys, including ones used in extensions)."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:"title=HomeController.ts",children:"import { TestExtension, GalleryExtensionState } from './GalleryExtension';\n\nexport type HomeControllerState = {\n cards: Promise;\n message: string;\n name: string;\n};\n\nexport class HomeController extends AbstractController<\n HomeControllerState,\n { detailId?: string },\n HomeControllerState & GalleryExtensionState\n>{\n static $extensions?: Dependencies> = [GalleryExtension];\n\n load(): HomeControllerState {\n const cardsPromise = this.#httpAgent\n .get('http://localhost:3001/static/static/public/cards.json')\n .then(response => response.body);\n\n // `state` contains all merged types from `SS` generic value.\n const state = this.getState();\n\n return {\n message: 'test',\n cards: cardsPromise,\n name: 'nam',\n };\n }\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"extending-existing-interfaces",children:"Extending existing interfaces"}),"\n",(0,r.jsxs)(n.p,{children:["Since you can extend certain features like ",(0,r.jsx)(n.code,{children:"ComponentUtils"})," or settings from within your application or through plugins, and in order to provide type checking for these, we are using specific interfaces that you can extend using ",(0,r.jsx)(n.a,{href:"https://www.typescriptlang.org/docs/handbook/declaration-merging.html",children:"Declaration Merging"})," feature."]}),"\n",(0,r.jsx)(n.p,{children:"This ensures (when used correctly), that you always have correct static types when using these interfaces, even when they are extended in multiple places."}),"\n",(0,r.jsxs)(n.h3,{id:"extending-utils",children:["Extending ",(0,r.jsx)(n.code,{children:"Utils"})]}),"\n",(0,r.jsxs)(n.p,{children:["When using component utils, in addition to registering your classes using ",(0,r.jsx)(n.code,{children:"ComponentUtils"})," helper, make sure to also extend ",(0,r.jsx)(n.code,{children:"Utils"})," interface. This adds autocomplete and typechecking to ",(0,r.jsx)(n.code,{children:"this.utils()"})," and ",(0,r.jsx)(n.code,{children:"useComponentUtils"})," in your components."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:"title=./app/config/bind.ts",children:"declare module '@ima/core' {\n interface Utils {\n $CssClasses: typeof defaultCssClasses;\n }\n}\n\nexport const initBindApp: InitBindFunction = (ns, oc) => {\n oc.get(ComponentUtils).register({\n $CssClasses: '$CssClasses',\n });\n};\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"extending-objectcontainer",children:["Extending ",(0,r.jsx)(n.code,{children:"ObjectContainer"})]}),"\n",(0,r.jsxs)(n.p,{children:["Same goes for defining string aliases in Object container. This adds proper type checking to dependencies definition and ",(0,r.jsx)(n.code,{children:"oc.get"})," autocomplete."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:"title=./app/config/bind.ts",children:"declare module '@ima/core' {\n interface OCAliasMap {\n $CssClasses: () => typeof cssClassNameProcessor;\n $PageRendererFactory: PageRendererFactory;\n API_KEY: string;\n }\n}\n\nexport const initBindApp: InitBindFunction = (ns, oc) => {\n oc.bind('$CssClasses', function () { return cssClassNameProcessor; });\n oc.bind('$PageRendererFactory', PageRendererFactory);\n oc.constant('API_KEY', '14fasdf');\n};\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"extending-settings",children:["Extending ",(0,r.jsx)(n.code,{children:"Settings"})]}),"\n",(0,r.jsxs)(n.p,{children:["This makes sure you don't have any missing or additional fields in your app settings. Other environments than ",(0,r.jsx)(n.code,{children:"prod"})," have all fields made optional, since they are deeply merged with the ",(0,r.jsx)(n.code,{children:"prod"})," settings."]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Use ",(0,r.jsx)(n.code,{children:"?:"})," for settings with default values. This applies mostly to plugins."]})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:"title=./app/config/settings.ts",children:"declare module '@ima/core' {\n interface Settings {\n links: Record<'documentation' | 'tutorial' | 'plugins' | 'api', string>;\n }\n}\n\nexport const initSettings: InitSettingsFunction = (ns, oc, config) => {\n return {\n prod: {\n links: {\n documentation: 'https://imajs.io/docs',\n api: 'https://imajs.io/api',\n },\n }\n }\n}\n\n"})}),"\n",(0,r.jsx)(n.h2,{id:"dictionary-localization-keys",children:"Dictionary localization keys"}),"\n",(0,r.jsxs)(n.p,{children:["When compiling app language files, we also generate dictionary keys during runtime. These are then stored in ",(0,r.jsx)(n.code,{children:"'./build/tmp/types/dictionary.ts'"})," file. Don't forget to include this file in ",(0,r.jsx)(n.code,{children:"tsconfig.json"})," source files array, to have correct static type checking:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",metastring:"title=./tsconfig.json",children:'{\n "include": ["./app/**/*", "./build/tmp/types/**/*"],\n}\n'})}),"\n",(0,r.jsxs)(n.admonition,{type:"note",children:[(0,r.jsxs)(n.p,{children:["When used in IMA.js plugins, you can manually extend the ",(0,r.jsx)(n.code,{children:"DictionaryMap"})," interface:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"declare module '@ima/core' {\n interface DictionaryMap {\n 'home.intro': string;\n }\n}\n\nexport {};\n"})})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},6052:(e,n,t)=>{t.d(n,{A:()=>a});t(3696);var s=t(2689);const r={tabItem:"tabItem_wHwb"};var i=t(2540);function a(e){let{children:n,hidden:t,className:a}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,a),hidden:t,children:n})}},3776:(e,n,t)=>{t.d(n,{A:()=>w});var s=t(3696),r=t(2689),i=t(3707),a=t(9519),o=t(3604),l=t(5196),c=t(6229),d=t(8030);function p(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:t}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return p(e).map((e=>{let{props:{value:n,label:t,attributes:s,default:r}}=e;return{value:n,label:t,attributes:s,default:r}}))}(t);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function h(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,a.W6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,l.aZ)(i),(0,s.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})}),[i,r])]}function g(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,i=u(e),[a,l]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=t.find((e=>e.default))??t[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:i}))),[c,p]=m({queryString:t,groupId:r}),[g,x]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,i]=(0,d.Dv)(t);return[r,(0,s.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:r}),j=(()=>{const e=c??g;return h({value:e,tabValues:i})?e:null})();(0,o.A)((()=>{j&&l(j)}),[j]);return{selectedValue:a,selectValue:(0,s.useCallback)((e=>{if(!h({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),p(e),x(e)}),[p,x,i]),tabValues:i}}var x=t(5200);const j={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var f=t(2540);function y(e){let{className:n,block:t,selectedValue:s,selectValue:a,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),d=e=>{const n=e.currentTarget,t=l.indexOf(n),r=o[t].value;r!==s&&(c(n),a(r))},p=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":t},n),children:o.map((e=>{let{value:n,label:t,attributes:i}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>{l.push(e)},onKeyDown:p,onClick:d,...i,className:(0,r.A)("tabs__item",j.tabItem,i?.className,{"tabs__item--active":s===n}),children:t??n},n)}))})}function b(e){let{lazy:n,children:t,selectedValue:i}=e;const a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===i));return e?(0,s.cloneElement)(e,{className:(0,r.A)("margin-top--md",e.props.className)}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==i})))})}function v(e){const n=g(e);return(0,f.jsxs)("div",{className:(0,r.A)("tabs-container",j.tabList),children:[(0,f.jsx)(y,{...n,...e}),(0,f.jsx)(b,{...n,...e})]})}function w(e){const n=(0,x.A)();return(0,f.jsx)(v,{...e,children:p(e.children)},String(n))}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(3696);const r={},i=s.createContext(r);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/050b426e.cb234e4a.js b/assets/js/050b426e.cb234e4a.js new file mode 100644 index 000000000..857ca3dc4 --- /dev/null +++ b/assets/js/050b426e.cb234e4a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8353],{2118:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>t});const c=JSON.parse('{"id":"api/@ima/core/interfaces/OCAliasMap","title":"Interface: OCAliasMap","description":"Defined in78","source":"@site/../docs/api/@ima/core/interfaces/OCAliasMap.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/OCAliasMap","permalink":"/api/@ima/core/interfaces/OCAliasMap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/OCAliasMap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ManifestAsset","permalink":"/api/@ima/core/interfaces/ManifestAsset"},"next":{"title":"Interface: PageAction","permalink":"/api/@ima/core/interfaces/PageAction"}}');var r=n(2540),i=n(3023);const a={},o="Interface: OCAliasMap",d={},t=[{value:"Properties",id:"properties",level:2},{value:"$Cache",id:"cache",level:3},{value:"$CacheFactory",id:"cachefactory",level:3},{value:"$CacheStorage",id:"cachestorage",level:3},{value:"$ComponentUtils",id:"componentutils",level:3},{value:"$ControllerDecorator",id:"controllerdecorator",level:3},{value:"$CookieStorage",id:"cookiestorage",level:3},{value:"$CookieTransformFunction",id:"cookietransformfunction",level:3},{value:"$Dictionary",id:"dictionary",level:3},{value:"$Dispatcher",id:"dispatcher",level:3},{value:"$Env",id:"env",level:3},{value:"$Error",id:"error",level:3},{value:"$EventBus",id:"eventbus",level:3},{value:"$Helper",id:"helper",level:3},{value:"$Http",id:"http",level:3},{value:"$HttpAgentProxy",id:"httpagentproxy",level:3},{value:"$HttpStatusCode",id:"httpstatuscode",level:3},{value:"$HttpUrlTransformer",id:"httpurltransformer",level:3},{value:"$MapStorage",id:"mapstorage",level:3},{value:"$MetaManager",id:"metamanager",level:3},{value:"$Observable",id:"observable",level:3},{value:"$oc",id:"oc",level:3},{value:"$PageFactory",id:"pagefactory",level:3},{value:"$PageHandlerRegistry",id:"pagehandlerregistry",level:3},{value:"$PageManager",id:"pagemanager",level:3},{value:"$PageRenderer",id:"pagerenderer",level:3},{value:"$PageStateManager",id:"pagestatemanager",level:3},{value:"$PageStateManagerDecorator",id:"pagestatemanagerdecorator",level:3},{value:"$Protocol",id:"protocol",level:3},{value:"$Request",id:"request",level:3},{value:"$Response",id:"response",level:3},{value:"$RouteFactory",id:"routefactory",level:3},{value:"$RouteNames",id:"routenames",level:3},{value:"$Router",id:"router",level:3},{value:"$RouterEvents",id:"routerevents",level:3},{value:"$Secure",id:"secure",level:3},{value:"$SessionMapStorage",id:"sessionmapstorage",level:3},{value:"$SessionStorage",id:"sessionstorage",level:3},{value:"$Settings",id:"settings",level:3},{value:"$Utils",id:"utils",level:3},{value:"$WeakMapStorage",id:"weakmapstorage",level:3},{value:"$Window",id:"window",level:3}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"interface-ocaliasmap",children:"Interface: OCAliasMap"})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L78",children:"packages/core/src/config/bind.ts:78"})]}),"\n",(0,r.jsx)(s.p,{children:"Map of IMA default string aliases and constants initialized in\nthe ObjectContainer. This is used for typechecking and type\nhinting of string OC arguments."}),"\n",(0,r.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(s.h3,{id:"cache",children:"$Cache"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Cache"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Cache",children:(0,r.jsx)(s.code,{children:"Cache"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L103",children:"packages/core/src/config/bind.ts:103"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"cachefactory",children:"$CacheFactory"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$CacheFactory"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/CacheFactory",children:(0,r.jsx)(s.code,{children:"CacheFactory"})}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L102",children:"packages/core/src/config/bind.ts:102"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"cachestorage",children:"$CacheStorage"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$CacheStorage"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,r.jsx)(s.code,{children:"MapStorage"})}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L101",children:"packages/core/src/config/bind.ts:101"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"componentutils",children:"$ComponentUtils"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$ComponentUtils"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/ComponentUtils",children:(0,r.jsx)(s.code,{children:"ComponentUtils"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L109",children:"packages/core/src/config/bind.ts:109"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"controllerdecorator",children:"$ControllerDecorator"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$ControllerDecorator"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,r.jsx)(s.code,{children:"ControllerDecorator"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L105",children:"packages/core/src/config/bind.ts:105"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"cookiestorage",children:"$CookieStorage"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$CookieStorage"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/CookieStorage",children:(0,r.jsx)(s.code,{children:"CookieStorage"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L91",children:"packages/core/src/config/bind.ts:91"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"cookietransformfunction",children:"$CookieTransformFunction"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$CookieTransformFunction"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/CookieTransformFunction",children:(0,r.jsx)(s.code,{children:"CookieTransformFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L90",children:"packages/core/src/config/bind.ts:90"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"dictionary",children:"$Dictionary"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Dictionary"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,r.jsx)(s.code,{children:"Dictionary"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L89",children:"packages/core/src/config/bind.ts:89"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"dispatcher",children:"$Dispatcher"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Dispatcher"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,r.jsx)(s.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L98",children:"packages/core/src/config/bind.ts:98"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"env",children:"$Env"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Env"}),": keyof ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/AppEnvironment",children:(0,r.jsx)(s.code,{children:"AppEnvironment"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L82",children:"packages/core/src/config/bind.ts:82"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"error",children:"$Error"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Error"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,r.jsx)(s.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L88",children:"packages/core/src/config/bind.ts:88"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"eventbus",children:"$EventBus"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$EventBus"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/EventBus",children:(0,r.jsx)(s.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L99",children:"packages/core/src/config/bind.ts:99"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"helper",children:"$Helper"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Helper"}),": ",(0,r.jsx)(s.code,{children:"__module"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L79",children:"packages/core/src/config/bind.ts:79"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"http",children:"$Http"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Http"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,r.jsx)(s.code,{children:"HttpAgent"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L119",children:"packages/core/src/config/bind.ts:119"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"httpagentproxy",children:"$HttpAgentProxy"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$HttpAgentProxy"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpProxy",children:(0,r.jsx)(s.code,{children:"HttpProxy"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L118",children:"packages/core/src/config/bind.ts:118"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"httpstatuscode",children:"$HttpStatusCode"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$HttpStatusCode"}),": ",(0,r.jsx)(s.code,{children:"Readonly"}),"<{ ",(0,r.jsx)(s.code,{children:"BAD_REQUEST"}),": ",(0,r.jsx)(s.code,{children:"400"}),"; ",(0,r.jsx)(s.code,{children:"FORBIDDEN"}),": ",(0,r.jsx)(s.code,{children:"403"}),"; ",(0,r.jsx)(s.code,{children:"NO_CONTENT"}),": ",(0,r.jsx)(s.code,{children:"204"}),"; ",(0,r.jsx)(s.code,{children:"NOT_FOUND"}),": ",(0,r.jsx)(s.code,{children:"404"}),"; ",(0,r.jsx)(s.code,{children:"OK"}),": ",(0,r.jsx)(s.code,{children:"200"}),"; ",(0,r.jsx)(s.code,{children:"SERVER_ERROR"}),": ",(0,r.jsx)(s.code,{children:"500"}),"; ",(0,r.jsx)(s.code,{children:"TIMEOUT"}),": ",(0,r.jsx)(s.code,{children:"408"}),"; ",(0,r.jsx)(s.code,{children:"UNAUTHORIZED"}),": ",(0,r.jsx)(s.code,{children:"401"}),"; }>"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L120",children:"packages/core/src/config/bind.ts:120"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"httpurltransformer",children:"$HttpUrlTransformer"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$HttpUrlTransformer"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,r.jsx)(s.code,{children:"UrlTransformer"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L117",children:"packages/core/src/config/bind.ts:117"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"mapstorage",children:"$MapStorage"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$MapStorage"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,r.jsx)(s.code,{children:"MapStorage"})}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L95",children:"packages/core/src/config/bind.ts:95"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"metamanager",children:"$MetaManager"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$MetaManager"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,r.jsx)(s.code,{children:"MetaManager"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L104",children:"packages/core/src/config/bind.ts:104"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"observable",children:"$Observable"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Observable"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,r.jsx)(s.code,{children:"Observable"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L100",children:"packages/core/src/config/bind.ts:100"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"oc",children:"$oc"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$oc"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,r.jsx)(s.code,{children:"ObjectContainer"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L80",children:"packages/core/src/config/bind.ts:80"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagefactory",children:"$PageFactory"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageFactory"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,r.jsx)(s.code,{children:"PageFactory"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L108",children:"packages/core/src/config/bind.ts:108"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagehandlerregistry",children:"$PageHandlerRegistry"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageHandlerRegistry"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,r.jsx)(s.code,{children:"PageHandlerRegistry"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L111",children:"packages/core/src/config/bind.ts:111"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagemanager",children:"$PageManager"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageManager"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageManager",children:(0,r.jsx)(s.code,{children:"PageManager"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L112",children:"packages/core/src/config/bind.ts:112"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagerenderer",children:"$PageRenderer"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageRenderer"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,r.jsx)(s.code,{children:"PageRenderer"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L121",children:"packages/core/src/config/bind.ts:121"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagestatemanager",children:"$PageStateManager"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageStateManager"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,r.jsx)(s.code,{children:"PageStateManager"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L107",children:"packages/core/src/config/bind.ts:107"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagestatemanagerdecorator",children:"$PageStateManagerDecorator"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageStateManagerDecorator"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:(0,r.jsx)(s.code,{children:"PageStateManagerDecorator"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L106",children:"packages/core/src/config/bind.ts:106"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"protocol",children:"$Protocol"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Protocol"}),": ",(0,r.jsx)(s.code,{children:'"http:"'})," | ",(0,r.jsx)(s.code,{children:'"https:"'})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L83",children:"packages/core/src/config/bind.ts:83"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"request",children:"$Request"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Request"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Request",children:(0,r.jsx)(s.code,{children:"Request"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L85",children:"packages/core/src/config/bind.ts:85"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"response",children:"$Response"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Response"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,r.jsx)(s.code,{children:"Response"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L86",children:"packages/core/src/config/bind.ts:86"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"routefactory",children:"$RouteFactory"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$RouteFactory"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,r.jsx)(s.code,{children:"RouteFactory"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L113",children:"packages/core/src/config/bind.ts:113"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"routenames",children:"$RouteNames"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$RouteNames"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/enumerations/RouteNames",children:(0,r.jsx)(s.code,{children:"RouteNames"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L115",children:"packages/core/src/config/bind.ts:115"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"router",children:"$Router"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Router"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Router",children:(0,r.jsx)(s.code,{children:"Router"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L114",children:"packages/core/src/config/bind.ts:114"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"routerevents",children:"$RouterEvents"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$RouterEvents"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/enumerations/RouterEvents",children:(0,r.jsx)(s.code,{children:"RouterEvents"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L116",children:"packages/core/src/config/bind.ts:116"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"secure",children:"$Secure"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Secure"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L84",children:"packages/core/src/config/bind.ts:84"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"sessionmapstorage",children:"$SessionMapStorage"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$SessionMapStorage"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/SessionMapStorage",children:(0,r.jsx)(s.code,{children:"SessionMapStorage"})}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L97",children:"packages/core/src/config/bind.ts:97"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"sessionstorage",children:"$SessionStorage"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$SessionStorage"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/SessionStorage",children:(0,r.jsx)(s.code,{children:"SessionStorage"})}),"<",(0,r.jsx)(s.code,{children:"unknown"}),"> | ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,r.jsx)(s.code,{children:"MapStorage"})}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L92",children:"packages/core/src/config/bind.ts:92"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"settings",children:"$Settings"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Settings"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,r.jsx)(s.code,{children:"Settings"})})," & ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/BootSettings",children:(0,r.jsx)(s.code,{children:"BootSettings"})})," & ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L81",children:"packages/core/src/config/bind.ts:81"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"utils",children:"$Utils"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Utils"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,r.jsx)(s.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L110",children:"packages/core/src/config/bind.ts:110"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"weakmapstorage",children:"$WeakMapStorage"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$WeakMapStorage"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/WeakMapStorage",children:(0,r.jsx)(s.code,{children:"WeakMapStorage"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L96",children:"packages/core/src/config/bind.ts:96"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"window",children:"$Window"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Window"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(s.code,{children:"Window"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L87",children:"packages/core/src/config/bind.ts:87"})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>o});var c=n(3696);const r={},i=c.createContext(r);function a(e){const s=c.useContext(i);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),c.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/054b3444.fab9a701.js b/assets/js/054b3444.fab9a701.js new file mode 100644 index 000000000..cc9905956 --- /dev/null +++ b/assets/js/054b3444.fab9a701.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4153],{5067:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>o,frontMatter:()=>t,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"api/@ima/core/classes/StaticRoute","title":"Class: StaticRoute","description":"Defined in84","source":"@site/../docs/api/@ima/core/classes/StaticRoute.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/StaticRoute","permalink":"/api/@ima/core/classes/StaticRoute","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/StaticRoute.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: SessionStorage\\\\","permalink":"/api/@ima/core/classes/SessionStorage"},"next":{"title":"Class: abstract Storage\\\\","permalink":"/api/@ima/core/classes/Storage"}}');var n=s(2540),i=s(3023);const t={},c="Class: StaticRoute",l={},d=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new StaticRoute()",id:"new-staticroute",level:3},{value:"Parameters",id:"parameters",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"cached",id:"cached",level:4},{value:"controller",id:"controller-1",level:4},{value:"resolved",id:"resolved",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"_hasParameters",id:"_hasparameters",level:3},{value:"_matcher",id:"_matcher",level:3},{value:"_name",id:"_name",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_options",id:"_options",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_parameterNames",id:"_parameternames",level:3},{value:"_pathExpression",id:"_pathexpression",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_trimmedPathExpression",id:"_trimmedpathexpression",level:3},{value:"_view",id:"_view",level:3},{value:"cached",id:"cached-1",level:4},{value:"resolved",id:"resolved-1",level:4},{value:"view",id:"view-1",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Methods",id:"methods",level:2},{value:"_checkOptionalParamsOrder()",id:"_checkoptionalparamsorder",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"allMainParams",id:"allmainparams",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_checkParametersOrder()",id:"_checkparametersorder",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"clearedPathExpr",id:"clearedpathexpr",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_cleanOptParamName()",id:"_cleanoptparamname",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"paramName",id:"paramname",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_cleanUnusedOptionalParams()",id:"_cleanunusedoptionalparams",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"path",id:"path",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_compileToRegExp()",id:"_compiletoregexp",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"pathExpression",id:"pathexpression-1",level:5},{value:"Returns",id:"returns-5",level:4},{value:"_extractParameters()",id:"_extractparameters",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"parameterValues",id:"parametervalues",level:5},{value:"Returns",id:"returns-6",level:4},{value:"_getClearParamName()",id:"_getclearparamname",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"rawParam",id:"rawparam",level:5},{value:"Returns",id:"returns-7",level:4},{value:"_getParameterNames()",id:"_getparameternames",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"pathExpression",id:"pathexpression-2",level:5},{value:"Returns",id:"returns-8",level:4},{value:"_getParameters()",id:"_getparameters",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"path",id:"path-1",level:5},{value:"Returns",id:"returns-9",level:4},{value:"_getSubparamPattern()",id:"_getsubparampattern",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"delimiter",id:"delimiter",level:5},{value:"Returns",id:"returns-10",level:4},{value:"_isOptionalParamInPath()",id:"_isoptionalparaminpath",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"path",id:"path-2",level:5},{value:"paramName",id:"paramname-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"_isParamOptional()",id:"_isparamoptional",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"paramName",id:"paramname-2",level:5},{value:"Returns",id:"returns-12",level:4},{value:"_isRequiredParamInPath()",id:"_isrequiredparaminpath",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"path",id:"path-3",level:5},{value:"paramName",id:"paramname-3",level:5},{value:"Returns",id:"returns-13",level:4},{value:"_replaceOptionalParametersInPath()",id:"_replaceoptionalparametersinpath",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"path",id:"path-4",level:5},{value:"optionalParams",id:"optionalparams",level:5},{value:"Returns",id:"returns-14",level:4},{value:"_replaceOptionalSubParametersInPath()",id:"_replaceoptionalsubparametersinpath",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"path",id:"path-5",level:5},{value:"optionalSubparamsOthers",id:"optionalsubparamsothers",level:5},{value:"optionalSubparamsLast",id:"optionalsubparamslast",level:5},{value:"Returns",id:"returns-15",level:4},{value:"_replaceRequiredSubParametersInPath()",id:"_replacerequiredsubparametersinpath",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"path",id:"path-6",level:5},{value:"clearedPathExpr",id:"clearedpathexpr-1",level:5},{value:"Returns",id:"returns-16",level:4},{value:"_substituteOptionalParamInPath()",id:"_substituteoptionalparaminpath",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"path",id:"path-7",level:5},{value:"paramName",id:"paramname-4",level:5},{value:"paramValue",id:"paramvalue",level:5},{value:"Returns",id:"returns-17",level:4},{value:"_substituteRequiredParamInPath()",id:"_substituterequiredparaminpath",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"path",id:"path-8",level:5},{value:"paramName",id:"paramname-5",level:5},{value:"paramValue",id:"paramvalue-1",level:5},{value:"Returns",id:"returns-18",level:4},{value:"extractParameters()",id:"extractparameters",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"path",id:"path-9",level:5},{value:"baseUrl",id:"baseurl",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getController()",id:"getcontroller",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"getName()",id:"getname",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"getOptions()",id:"getoptions",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"getPathExpression()",id:"getpathexpression",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"getTrimmedPath()",id:"gettrimmedpath",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"path",id:"path-10",level:5},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"getView()",id:"getview",level:3},{value:"Returns",id:"returns-25",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"isAsync()",id:"isasync",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"module",id:"module",level:5},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"isControllerResolved()",id:"iscontrollerresolved",level:3},{value:"Returns",id:"returns-27",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"isViewResolved()",id:"isviewresolved",level:3},{value:"Returns",id:"returns-28",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"matches()",id:"matches",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"path",id:"path-11",level:5},{value:"Returns",id:"returns-29",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"preload()",id:"preload",level:3},{value:"Returns",id:"returns-30",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"toPath()",id:"topath",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-31",level:4},{value:"Overrides",id:"overrides-3",level:4}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"class-staticroute",children:"Class: StaticRoute"})}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L84",children:"packages/core/src/router/StaticRoute.ts:84"})]}),"\n",(0,n.jsxs)(r.p,{children:["Utility for representing and manipulating a single static route in the\nrouter's configuration using string representation of the path expression\nwith special param fields identified by ",(0,n.jsx)(r.code,{children:":paramName"})," prefix."]}),"\n",(0,n.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,n.jsx)(r.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(r.h3,{id:"new-staticroute",children:"new StaticRoute()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"new StaticRoute"}),"(",(0,n.jsx)(r.code,{children:"name"}),", ",(0,n.jsx)(r.code,{children:"pathExpression"}),", ",(0,n.jsx)(r.code,{children:"controller"}),", ",(0,n.jsx)(r.code,{children:"view"}),", ",(0,n.jsx)(r.code,{children:"options"}),"?): ",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/StaticRoute",children:(0,n.jsx)(r.code,{children:"StaticRoute"})})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L97",children:"packages/core/src/router/StaticRoute.ts:97"})]}),"\n",(0,n.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsxs)(r.p,{children:["A path expression specifying the URL path\npart matching this route (must not contain a query string),\noptionally containing named parameter placeholders specified as\n",(0,n.jsx)(r.code,{children:":parameterName"}),"."]}),"\n",(0,n.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,n.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,n.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,n.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,n.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"Partial"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,n.jsx)(r.code,{children:"RouteFactoryOptions"})}),">"]}),"\n",(0,n.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/StaticRoute",children:(0,n.jsx)(r.code,{children:"StaticRoute"})})}),"\n",(0,n.jsx)(r.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,n.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#constructors",children:(0,n.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,n.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(r.h3,{id:"_controller",children:"_controller"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_controller"}),": ",(0,n.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L58",children:"packages/core/src/router/AbstractRoute.ts:58"})]}),"\n",(0,n.jsx)(r.p,{children:"The full name of Object Container alias identifying the controller\nassociated with this route."}),"\n",(0,n.jsx)(r.h4,{id:"cached",children:"cached"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"cached"}),": ",(0,n.jsx)(r.code,{children:"null"})," | ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})})," | ",(0,n.jsx)(r.code,{children:"Promise"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,n.jsx)(r.h4,{id:"controller-1",children:"controller"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"controller"}),": ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,n.jsx)(r.code,{children:"AsyncRouteController"})})]}),"\n"]}),"\n",(0,n.jsx)(r.h4,{id:"resolved",children:"resolved"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"resolved"}),": ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_controller",children:(0,n.jsx)(r.code,{children:"_controller"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_hasparameters",children:"_hasParameters"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_hasParameters"}),": ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L87",children:"packages/core/src/router/StaticRoute.ts:87"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_matcher",children:"_matcher"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_matcher"}),": ",(0,n.jsx)(r.code,{children:"RegExp"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L88",children:"packages/core/src/router/StaticRoute.ts:88"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_name",children:"_name"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_name"}),": ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L48",children:"packages/core/src/router/AbstractRoute.ts:48"})]}),"\n",(0,n.jsx)(r.p,{children:"The unique name of this route, identifying it among the rest of the\nroutes in the application."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_name",children:(0,n.jsx)(r.code,{children:"_name"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_options",children:"_options"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_options"}),": ",(0,n.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,n.jsx)(r.code,{children:"RouteFactoryOptions"})})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L76",children:"packages/core/src/router/AbstractRoute.ts:76"})]}),"\n",(0,n.jsx)(r.p,{children:"The route additional options."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_options",children:(0,n.jsx)(r.code,{children:"_options"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_parameternames",children:"_parameterNames"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_parameterNames"}),": ",(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L86",children:"packages/core/src/router/StaticRoute.ts:86"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_pathexpression",children:"_pathExpression"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_pathExpression"}),": ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L53",children:"packages/core/src/router/AbstractRoute.ts:53"})]}),"\n",(0,n.jsx)(r.p,{children:"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_pathexpression",children:(0,n.jsx)(r.code,{children:"_pathExpression"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_trimmedpathexpression",children:"_trimmedPathExpression"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_trimmedPathExpression"}),": ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L85",children:"packages/core/src/router/StaticRoute.ts:85"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_view",children:"_view"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"protected"})," ",(0,n.jsx)(r.strong,{children:"_view"}),": ",(0,n.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L67",children:"packages/core/src/router/AbstractRoute.ts:67"})]}),"\n",(0,n.jsx)(r.p,{children:"The full name or Object Container alias identifying the view class\nassociated with this route."}),"\n",(0,n.jsx)(r.h4,{id:"cached-1",children:"cached"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"cached"}),": ",(0,n.jsx)(r.code,{children:"null"})," | ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})})," | ",(0,n.jsx)(r.code,{children:"Promise"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,n.jsx)(r.h4,{id:"resolved-1",children:"resolved"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"resolved"}),": ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsx)(r.h4,{id:"view-1",children:"view"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"view"}),": ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,n.jsx)(r.code,{children:"AsyncRouteView"})})]}),"\n"]}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_view",children:(0,n.jsx)(r.code,{children:"_view"})})]}),"\n",(0,n.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(r.h3,{id:"_checkoptionalparamsorder",children:"_checkOptionalParamsOrder()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_checkOptionalParamsOrder"}),"(",(0,n.jsx)(r.code,{children:"allMainParams"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L275",children:"packages/core/src/router/StaticRoute.ts:275"})]}),"\n",(0,n.jsx)(r.p,{children:"Check if all optional params are below required ones"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"allmainparams",children:"allMainParams"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_checkparametersorder",children:"_checkParametersOrder()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_checkParametersOrder"}),"(",(0,n.jsx)(r.code,{children:"clearedPathExpr"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L301",children:"packages/core/src/router/StaticRoute.ts:301"})]}),"\n",(0,n.jsx)(r.p,{children:"Check if main parameters have correct order.\nIt means that required param cannot follow optional one."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"clearedpathexpr",children:"clearedPathExpr"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The cleared URL path (removed first and last slash, ...)."}),"\n",(0,n.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.p,{children:"Returns TRUE if order is correct."}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_cleanoptparamname",children:"_cleanOptParamName()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_cleanOptParamName"}),"(",(0,n.jsx)(r.code,{children:"paramName"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L524",children:"packages/core/src/router/StaticRoute.ts:524"})]}),"\n",(0,n.jsx)(r.p,{children:'Returns optional param name without "?"'}),"\n",(0,n.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"paramname",children:"paramName"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:'Full param name with "?"'}),"\n",(0,n.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:'Strict param name without "?"'}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_cleanunusedoptionalparams",children:"_cleanUnusedOptionalParams()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_cleanUnusedOptionalParams"}),"(",(0,n.jsx)(r.code,{children:"path"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L219",children:"packages/core/src/router/StaticRoute.ts:219"})]}),"\n",(0,n.jsx)(r.p,{children:"Remove unused optional param placeholders in path."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_compiletoregexp",children:"_compileToRegExp()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_compileToRegExp"}),"(",(0,n.jsx)(r.code,{children:"pathExpression"}),"): ",(0,n.jsx)(r.code,{children:"RegExp"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L402",children:"packages/core/src/router/StaticRoute.ts:402"})]}),"\n",(0,n.jsx)(r.p,{children:"Compiles the path expression to a regular expression that can be used\nfor easier matching of URL paths against this route, and extracting the\npath parameter values from the URL path."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"pathexpression-1",children:"pathExpression"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The path expression to compile."}),"\n",(0,n.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"RegExp"})}),"\n",(0,n.jsx)(r.p,{children:"The compiled regular expression."}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_extractparameters",children:"_extractParameters()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_extractParameters"}),"(",(0,n.jsx)(r.code,{children:"parameterValues"}),"): ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,n.jsx)(r.code,{children:"StringParameters"})})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L490",children:"packages/core/src/router/StaticRoute.ts:490"})]}),"\n",(0,n.jsx)(r.p,{children:"Extract parameters from given path."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"parametervalues",children:"parameterValues"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,n.jsx)(r.code,{children:"StringParameters"})})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_getclearparamname",children:"_getClearParamName()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_getClearParamName"}),"(",(0,n.jsx)(r.code,{children:"rawParam"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L255",children:"packages/core/src/router/StaticRoute.ts:255"})]}),"\n",(0,n.jsx)(r.p,{children:"Extract clear parameter name, e.q. '?name' or 'name'"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"rawparam",children:"rawParam"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_getparameternames",children:"_getParameterNames()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_getParameterNames"}),"(",(0,n.jsx)(r.code,{children:"pathExpression"}),"): ",(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L545",children:"packages/core/src/router/StaticRoute.ts:545"})]}),"\n",(0,n.jsx)(r.p,{children:"Extracts the parameter names from the provided path expression."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"pathexpression-2",children:"pathExpression"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The path expression."}),"\n",(0,n.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"The names of the parameters defined in the provided\npath expression."}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_getparameters",children:"_getParameters()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_getParameters"}),"(",(0,n.jsx)(r.code,{children:"path"}),"): ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,n.jsx)(r.code,{children:"StringParameters"})})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L472",children:"packages/core/src/router/StaticRoute.ts:472"})]}),"\n",(0,n.jsx)(r.p,{children:"Parses the provided path and extract the in-path parameters. The method\ndecodes the parameters and returns them in a hash object."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,n.jsx)(r.code,{children:"StringParameters"})})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_getsubparampattern",children:"_getSubparamPattern()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_getSubparamPattern"}),"(",(0,n.jsx)(r.code,{children:"delimiter"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L266",children:"packages/core/src/router/StaticRoute.ts:266"})]}),"\n",(0,n.jsx)(r.p,{children:"Get pattern for subparameter."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"delimiter",children:"delimiter"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_isoptionalparaminpath",children:"_isOptionalParamInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_isOptionalParamInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"paramName"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L237",children:"packages/core/src/router/StaticRoute.ts:237"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns true, if paramName is placed in path."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-2",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"paramname-1",children:"paramName"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_isparamoptional",children:"_isParamOptional()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_isParamOptional"}),"(",(0,n.jsx)(r.code,{children:"paramName"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L534",children:"packages/core/src/router/StaticRoute.ts:534"})]}),"\n",(0,n.jsx)(r.p,{children:"Checks if parameter is optional or not."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"paramname-2",children:"paramName"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.p,{children:"return true if is optional, otherwise false"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_isrequiredparaminpath",children:"_isRequiredParamInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_isRequiredParamInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"paramName"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L246",children:"packages/core/src/router/StaticRoute.ts:246"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns true, if paramName is placed in path and it's required."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-3",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"paramname-3",children:"paramName"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_replaceoptionalparametersinpath",children:"_replaceOptionalParametersInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_replaceOptionalParametersInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"optionalParams"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L319",children:"packages/core/src/router/StaticRoute.ts:319"})]}),"\n",(0,n.jsx)(r.p,{children:"Convert main optional parameters to capture sequences"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-4",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The URL path."}),"\n",(0,n.jsx)(r.h5,{id:"optionalparams",children:"optionalParams"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"List of main optimal parameter expressions"}),"\n",(0,n.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"RegExp pattern."}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_replaceoptionalsubparametersinpath",children:"_replaceOptionalSubParametersInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_replaceOptionalSubParametersInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"optionalSubparamsOthers"}),", ",(0,n.jsx)(r.code,{children:"optionalSubparamsLast"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L370",children:"packages/core/src/router/StaticRoute.ts:370"})]}),"\n",(0,n.jsx)(r.p,{children:"Convert optional subparameters to capture sequences"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-5",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The URL path (route definition)."}),"\n",(0,n.jsx)(r.h5,{id:"optionalsubparamsothers",children:"optionalSubparamsOthers"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"List of all subparam. expressions but last ones"}),"\n",(0,n.jsx)(r.h5,{id:"optionalsubparamslast",children:"optionalSubparamsLast"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"List of last subparam. expressions"}),"\n",(0,n.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"RegExp pattern."}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_replacerequiredsubparametersinpath",children:"_replaceRequiredSubParametersInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_replaceRequiredSubParametersInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"clearedPathExpr"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L337",children:"packages/core/src/router/StaticRoute.ts:337"})]}),"\n",(0,n.jsx)(r.p,{children:"Convert required subparameters to capture sequences"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-6",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The URL path (route definition)."}),"\n",(0,n.jsx)(r.h5,{id:"clearedpathexpr-1",children:"clearedPathExpr"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The original cleared URL path."}),"\n",(0,n.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"RegExp pattern."}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_substituteoptionalparaminpath",children:"_substituteOptionalParamInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_substituteOptionalParamInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"paramName"}),", ",(0,n.jsx)(r.code,{children:"paramValue"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L204",children:"packages/core/src/router/StaticRoute.ts:204"})]}),"\n",(0,n.jsx)(r.p,{children:"Replace optional param placeholder in path with parameter value."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-7",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"paramname-4",children:"paramName"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"paramvalue",children:"paramValue"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"_substituterequiredparaminpath",children:"_substituteRequiredParamInPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"_substituteRequiredParamInPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"paramName"}),", ",(0,n.jsx)(r.code,{children:"paramValue"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L190",children:"packages/core/src/router/StaticRoute.ts:190"})]}),"\n",(0,n.jsx)(r.p,{children:"Replace required parameter placeholder in path with parameter value."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-8",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"paramname-5",children:"paramName"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h5,{id:"paramvalue-1",children:"paramValue"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"extractparameters",children:"extractParameters()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"extractParameters"}),"(",(0,n.jsx)(r.code,{children:"path"}),", ",(0,n.jsx)(r.code,{children:"baseUrl"}),"): ",(0,n.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L177",children:"packages/core/src/router/StaticRoute.ts:177"})]}),"\n",(0,n.jsx)(r.p,{children:"Extracts the parameter values from the provided path. The method\nextracts both the in-path parameters and parses the query, allowing the\nquery parameters to override the in-path parameters."}),"\n",(0,n.jsx)(r.p,{children:"The method returns an empty hash object if the path does not match this\nroute."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-9",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"Currently routed path."}),"\n",(0,n.jsx)(r.h5,{id:"baseurl",children:"baseUrl"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"Currently routed baseUrl."}),"\n",(0,n.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.p,{children:"Map of parameter names to parameter\nvalues."}),"\n",(0,n.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#extractparameters",children:(0,n.jsx)(r.code,{children:"extractParameters"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getcontroller",children:"getController()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"getController"}),"(): ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})})," | ",(0,n.jsx)(r.code,{children:"Promise"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L153",children:"packages/core/src/router/AbstractRoute.ts:153"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns Controller class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported controllers,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."}),"\n",(0,n.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})})," | ",(0,n.jsx)(r.code,{children:"Promise"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n",(0,n.jsx)(r.p,{children:"The Controller class/alias/constant."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getcontroller",children:(0,n.jsx)(r.code,{children:"getController"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getname",children:"getName()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"getName"}),"(): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L132",children:"packages/core/src/router/AbstractRoute.ts:132"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns the unique identifying name of this route."}),"\n",(0,n.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The name of the route, identifying it."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getname",children:(0,n.jsx)(r.code,{children:"getName"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getoptions",children:"getOptions()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"getOptions"}),"(): ",(0,n.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,n.jsx)(r.code,{children:"RouteFactoryOptions"})})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L210",children:"packages/core/src/router/AbstractRoute.ts:210"})]}),"\n",(0,n.jsx)(r.p,{children:"Return route additional options."}),"\n",(0,n.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,n.jsx)(r.code,{children:"RouteFactoryOptions"})})}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getoptions",children:(0,n.jsx)(r.code,{children:"getOptions"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getpathexpression",children:"getPathExpression()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"getPathExpression"}),"(): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L220",children:"packages/core/src/router/AbstractRoute.ts:220"})]}),"\n",(0,n.jsx)(r.p,{children:"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."}),"\n",(0,n.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The path expression."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getpathexpression",children:(0,n.jsx)(r.code,{children:"getPathExpression"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"gettrimmedpath",children:"getTrimmedPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"getTrimmedPath"}),"(",(0,n.jsx)(r.code,{children:"path"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L230",children:"packages/core/src/router/AbstractRoute.ts:230"})]}),"\n",(0,n.jsx)(r.p,{children:"Trims the trailing forward slash from the provided URL path."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-20",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-10",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The path to trim."}),"\n",(0,n.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"Trimmed path."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#gettrimmedpath",children:(0,n.jsx)(r.code,{children:"getTrimmedPath"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getview",children:"getView()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"getView"}),"(): ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})})," | ",(0,n.jsx)(r.code,{children:"Promise"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L185",children:"packages/core/src/router/AbstractRoute.ts:185"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns View class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported views,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."}),"\n",(0,n.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})})," | ",(0,n.jsx)(r.code,{children:"Promise"}),"<",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n",(0,n.jsx)(r.p,{children:"The View class/alias/constant."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getview",children:(0,n.jsx)(r.code,{children:"getView"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"isasync",children:"isAsync()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"isAsync"}),"(",(0,n.jsx)(r.code,{children:"module"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L139",children:"packages/core/src/router/AbstractRoute.ts:139"})]}),"\n",(0,n.jsx)(r.p,{children:"Checks if given argument is an async handler."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-21",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"module",children:"module"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"unknown"})}),"\n",(0,n.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#isasync",children:(0,n.jsx)(r.code,{children:"isAsync"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"iscontrollerresolved",children:"isControllerResolved()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"isControllerResolved"}),"(): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L173",children:"packages/core/src/router/AbstractRoute.ts:173"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns true for resolved controller. This is always true\nfor sync route views."}),"\n",(0,n.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#iscontrollerresolved",children:(0,n.jsx)(r.code,{children:"isControllerResolved"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"isviewresolved",children:"isViewResolved()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"isViewResolved"}),"(): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L203",children:"packages/core/src/router/AbstractRoute.ts:203"})]}),"\n",(0,n.jsx)(r.p,{children:"Returns true for resolved view. This is always true\nfor sync route views."}),"\n",(0,n.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#isviewresolved",children:(0,n.jsx)(r.code,{children:"isViewResolved"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"matches",children:"matches()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"matches"}),"(",(0,n.jsx)(r.code,{children:"path"}),"): ",(0,n.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L168",children:"packages/core/src/router/StaticRoute.ts:168"})]}),"\n",(0,n.jsx)(r.p,{children:"Tests whether the provided URL path matches this route. The provided\npath may contain the query."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-22",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"path-11",children:"path"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"The URL path."}),"\n",(0,n.jsx)(r.h4,{id:"returns-29",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"boolean"})}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"true"})," if the provided path matches this route."]}),"\n",(0,n.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#matches",children:(0,n.jsx)(r.code,{children:"matches"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"preload",children:"preload()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"preload"}),"(): ",(0,n.jsx)(r.code,{children:"Promise"}),"<[",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})}),", ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})}),"]>"]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L239",children:"packages/core/src/router/AbstractRoute.ts:239"})]}),"\n",(0,n.jsx)(r.p,{children:"Preloads dynamically imported view and controller."}),"\n",(0,n.jsx)(r.h4,{id:"returns-30",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"Promise"}),"<[",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(r.code,{children:"RouteController"})}),", ",(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(r.code,{children:"RouteView"})}),"]>"]}),"\n",(0,n.jsx)(r.p,{children:"Promise.All resolving to [view, controller] tuple."}),"\n",(0,n.jsx)(r.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#preload",children:(0,n.jsx)(r.code,{children:"preload"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"topath",children:"toPath()"}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"toPath"}),"(",(0,n.jsx)(r.code,{children:"params"}),"): ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["Defined in: ",(0,n.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/StaticRoute.ts#L132",children:"packages/core/src/router/StaticRoute.ts:132"})]}),"\n",(0,n.jsx)(r.p,{children:"Creates the URL and query parts of a URL by substituting the route's\nparameter placeholders by the provided parameter value."}),"\n",(0,n.jsx)(r.p,{children:"The extraneous parameters that do not match any of the route's\nplaceholders will be appended as the query string."}),"\n",(0,n.jsx)(r.h4,{id:"parameters-23",children:"Parameters"}),"\n",(0,n.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,n.jsx)(r.code,{children:"RouteParams"})})," = ",(0,n.jsx)(r.code,{children:"{}"})]}),"\n",(0,n.jsx)(r.p,{children:"The route\nparameter values."}),"\n",(0,n.jsx)(r.h4,{id:"returns-31",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.p,{children:"Path and, if necessary, query parts of the URL\nrepresenting this route with its parameters replaced by the\nprovided parameter values."}),"\n",(0,n.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,n.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,n.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#topath",children:(0,n.jsx)(r.code,{children:"toPath"})})]})]})}function o(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>t,x:()=>c});var a=s(3696);const n={},i=a.createContext(n);function t(e){const r=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:t(e.components),a.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/05c167b5.078b5126.js b/assets/js/05c167b5.078b5126.js new file mode 100644 index 000000000..3ceaacb25 --- /dev/null +++ b/assets/js/05c167b5.078b5126.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7676],{707:(e,a,i)=>{i.r(a),i.d(a,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/SerializedData","title":"Type Alias: SerializedData\\\\","description":"SerializedData\\\\: object","source":"@site/../docs/api/@ima/core/type-aliases/SerializedData.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/SerializedData","permalink":"/api/@ima/core/type-aliases/SerializedData","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/SerializedData.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: SerializedCacheEntry\\\\","permalink":"/api/@ima/core/type-aliases/SerializedCacheEntry"},"next":{"title":"Type Alias: StringParameters","permalink":"/api/@ima/core/type-aliases/StringParameters"}}');var r=i(2540),s=i(3023);const n={},c="Type Alias: SerializedData",o={},d=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Index Signature",id:"index-signature",level:2}];function l(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.header,{children:(0,r.jsx)(a.h1,{id:"type-alias-serializeddatav",children:"Type Alias: SerializedData"})}),"\n",(0,r.jsxs)(a.blockquote,{children:["\n",(0,r.jsxs)(a.p,{children:[(0,r.jsx)(a.strong,{children:"SerializedData"}),"<",(0,r.jsx)(a.code,{children:"V"}),">: ",(0,r.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(a.p,{children:["Defined in: ",(0,r.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L1",children:"packages/core/src/cache/Cache.ts:1"})]}),"\n",(0,r.jsx)(a.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(a.p,{children:["\u2022 ",(0,r.jsx)(a.strong,{children:"V"})," = ",(0,r.jsx)(a.code,{children:"unknown"})]}),"\n",(0,r.jsx)(a.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,r.jsxs)(a.p,{children:["[",(0,r.jsx)(a.code,{children:"key"}),": ",(0,r.jsx)(a.code,{children:"string"}),"]: ",(0,r.jsx)(a.code,{children:"object"})]})]})}function p(e={}){const{wrapper:a}={...(0,s.R)(),...e.components};return a?(0,r.jsx)(a,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,a,i)=>{i.d(a,{R:()=>n,x:()=>c});var t=i(3696);const r={},s=t.createContext(r);function n(e){const a=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),t.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/06f7bddd.b62ef7a3.js b/assets/js/06f7bddd.b62ef7a3.js new file mode 100644 index 000000000..c5baab8b8 --- /dev/null +++ b/assets/js/06f7bddd.b62ef7a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6674],{5351:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/CookieTransformFunction","title":"Type Alias: CookieTransformFunction","description":"CookieTransformFunction: object","source":"@site/../docs/api/@ima/core/type-aliases/CookieTransformFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/CookieTransformFunction","permalink":"/api/@ima/core/type-aliases/CookieTransformFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/CookieTransformFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: CookieOptions","permalink":"/api/@ima/core/type-aliases/CookieOptions"},"next":{"title":"Type Alias: DecoratedOCAliasMap","permalink":"/api/@ima/core/type-aliases/DecoratedOCAliasMap"}}');var i=r(2540),o=r(3023);const a={},t="Type Alias: CookieTransformFunction",c={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"decode()",id:"decode",level:3},{value:"Parameters",id:"parameters",level:4},{value:"value",id:"value",level:5},{value:"Returns",id:"returns",level:4},{value:"encode()",id:"encode",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"value",id:"value-1",level:5},{value:"Returns",id:"returns-1",level:4}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"type-alias-cookietransformfunction",children:"Type Alias: CookieTransformFunction"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"CookieTransformFunction"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L10",children:"packages/core/src/router/Response.ts:10"})]}),"\n",(0,i.jsx)(n.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(n.h3,{id:"decode",children:"decode()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"decode"}),": (",(0,i.jsx)(n.code,{children:"value"}),") => ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h3,{id:"encode",children:"encode()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"encode"}),": (",(0,i.jsx)(n.code,{children:"value"}),") => ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"value-1",children:"value"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>t});var s=r(3696);const i={},o=s.createContext(i);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0735edb8.18f9aa8b.js b/assets/js/0735edb8.18f9aa8b.js new file mode 100644 index 000000000..d3783c4d4 --- /dev/null +++ b/assets/js/0735edb8.18f9aa8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3597],{540:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/ObjectParameters","title":"Type Alias: ObjectParameters","description":"ObjectParameters: object","source":"@site/../docs/api/@ima/core/type-aliases/ObjectParameters.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/ObjectParameters","permalink":"/api/@ima/core/type-aliases/ObjectParameters","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/ObjectParameters.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: OCInstanceConstrain\\\\","permalink":"/api/@ima/core/type-aliases/OCInstanceConstrain"},"next":{"title":"Type Alias: PageData","permalink":"/api/@ima/core/type-aliases/PageData"}}');var r=a(2540),n=a(3023);const c={},i="Type Alias: ObjectParameters",o={},d=[{value:"Index Signature",id:"index-signature",level:2}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"type-alias-objectparameters",children:"Type Alias: ObjectParameters"})}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"ObjectParameters"}),": ",(0,r.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L30",children:"packages/core/src/types.ts:30"})]}),"\n",(0,r.jsx)(t.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,r.jsxs)(t.p,{children:["[",(0,r.jsx)(t.code,{children:"key"}),": ",(0,r.jsx)(t.code,{children:"string"}),"]: ",(0,r.jsx)(t.code,{children:"string"})," | ",(0,r.jsx)(t.code,{children:"number"})," | ",(0,r.jsx)(t.code,{children:"boolean"})," | ",(0,r.jsx)(t.code,{children:"Date"})]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>c,x:()=>i});var s=a(3696);const r={},n=s.createContext(r);function c(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/087d9a97.926b3865.js b/assets/js/087d9a97.926b3865.js deleted file mode 100644 index e83779717..000000000 --- a/assets/js/087d9a97.926b3865.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7184],{5680:(e,a,n)=>{n.d(a,{xA:()=>o,yg:()=>c});var t=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var a=1;a=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=t.createContext({}),p=function(e){var a=t.useContext(d),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},o=function(e){var a=p(e.components);return t.createElement(d.Provider,{value:a},e.children)},s="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},m=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,o=g(e,["components","mdxType","originalType","parentName"]),s=p(n),m=r,c=s["".concat(d,".").concat(m)]||s[m]||y[m]||i;return n?t.createElement(c,l(l({ref:a},o),{},{components:n})):t.createElement(c,l({ref:a},o))}));function c(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var g={};for(var d in a)hasOwnProperty.call(a,d)&&(g[d]=a[d]);g.originalType=e,g[s]="string"==typeof e?e:r,l[1]=g;for(var p=2;p{n.r(a),n.d(a,{assets:()=>d,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>p});var t=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.PageNavigationHandler",title:"Class: PageNavigationHandler",sidebar_label:"@ima/core.PageNavigationHandler",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.PageNavigationHandler",id:"api/classes/ima_core.PageNavigationHandler",title:"Class: PageNavigationHandler",description:"@ima/core.PageNavigationHandler",source:"@site/../docs/api/classes/ima_core.PageNavigationHandler.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageNavigationHandler",permalink:"/api/classes/ima_core.PageNavigationHandler",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageNavigationHandler",title:"Class: PageNavigationHandler",sidebar_label:"@ima/core.PageNavigationHandler",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageMetaHandler",permalink:"/api/classes/ima_core.PageMetaHandler"},next:{title:"@ima/core.PageRenderer",permalink:"/api/classes/ima_core.PageRenderer"}},d={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"#preManaged",id:"premanaged",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_window",id:"_window",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"$dependencies",id:"dependencies",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"_saveScrollHistory",id:"_savescrollhistory",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_scrollTo",id:"_scrollto",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_setAddressBar",id:"_setaddressbar",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"handlePostManagedState",id:"handlepostmanagedstate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"handlePreManagedState",id:"handlepremanagedstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-10",level:4}],o={toc:p},s="wrapper";function y(e){let{components:a,...n}=e;return(0,r.yg)(s,(0,t.A)({},o,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageNavigationHandler"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandler"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"PageNavigationHandler"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new PageNavigationHandler"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"window"),")"),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"window")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The utility for manipulating the global context and global client-side-specific APIs.")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L18"},"packages/core/src/page/handler/PageNavigationHandler.ts:18")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"premanaged"},"#preManaged"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#preManaged"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"false")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L10"},"packages/core/src/page/handler/PageNavigationHandler.ts:10")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_window"},"_","window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L8"},"packages/core/src/page/handler/PageNavigationHandler.ts:8")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L12"},"packages/core/src/page/handler/PageNavigationHandler.ts:12")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_savescrollhistory"},"_","saveScrollHistory"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_saveScrollHistory"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Save user's scroll state to history."),(0,r.yg)("p",null,"Replace scroll values in current state for actual scroll values in\ndocument."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L104"},"packages/core/src/page/handler/PageNavigationHandler.ts:104")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_scrollto"},"_","scrollTo"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_scrollTo"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"\xabdestructured\xbb"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Scrolls to give coordinates on a page."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"\xabdestructured\xbb")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object"))))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L121"},"packages/core/src/page/handler/PageNavigationHandler.ts:121")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_setaddressbar"},"_","setAddressBar"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_setAddressBar"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"isRedirection"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the provided URL to the browser's address bar by pushing or replacing a new\nstate to the history."),(0,r.yg)("p",null,"The state object pushed to or replaced in the history will be an object with the\nfollowing structure: ",(0,r.yg)("inlineCode",{parentName:"p"},"{url: string}"),". The ",(0,r.yg)("inlineCode",{parentName:"p"},"url")," field will\nbe set to the provided URL."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"isRedirection")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")),(0,r.yg)("td",{parentName:"tr",align:"left"},"If replaceState should be used instead of pushState.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L138"},"packages/core/src/page/handler/PageNavigationHandler.ts:138")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#destroy"},"destroy")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L50"},"packages/core/src/page/handler/PageHandler.ts:50")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlepostmanagedstate"},"handlePostManagedState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handlePostManagedState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"previousManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called after a PageManager finishes transition from previous page to\na new one."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"managedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The currently managed page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"previousManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data of the page that was previously managed.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered the routing.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#handlepostmanagedstate"},"handlePostManagedState")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L84"},"packages/core/src/page/handler/PageNavigationHandler.ts:84")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlepremanagedstate"},"handlePreManagedState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handlePreManagedState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called before a PageManager starts to transition from previous page to\na new one."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"managedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The currently managed page - soon-to-be previously managed page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data of the page that's about to be managed.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered the routing.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#handlepremanagedstate"},"handlePreManagedState")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L43"},"packages/core/src/page/handler/PageNavigationHandler.ts:43")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the page handler."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#init"},"init")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageNavigationHandler.ts#L31"},"packages/core/src/page/handler/PageNavigationHandler.ts:31")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/08dd9469.ad883c5d.js b/assets/js/08dd9469.ad883c5d.js new file mode 100644 index 000000000..2595d3afd --- /dev/null +++ b/assets/js/08dd9469.ad883c5d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7827],{9989:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"api/@ima/core/classes/AbstractController","title":"Class: AbstractController\\\\","description":"Defined in14","source":"@site/../docs/api/@ima/core/classes/AbstractController.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/AbstractController","permalink":"/api/@ima/core/classes/AbstractController","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/AbstractController.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/core","permalink":"/api/@ima/core/"},"next":{"title":"Class: abstract AbstractExecution","permalink":"/api/@ima/core/classes/AbstractExecution"}}');var t=s(2540),l=s(3023);const c={},i="Class: AbstractController",a={},o=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractController()",id:"new-abstractcontroller",level:3},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_extensions",id:"_extensions",level:3},{value:"_pageStateManager?",id:"_pagestatemanager",level:3},{value:"params",id:"params",level:3},{value:"status",id:"status",level:3},{value:"$dependencies",id:"dependencies",level:3},{value:"Overrides",id:"overrides-1",level:4},{value:"$extensions?",id:"extensions",level:3},{value:"Overrides",id:"overrides-2",level:4},{value:"$name?",id:"name",level:3},{value:"Overrides",id:"overrides-3",level:4},{value:"Methods",id:"methods",level:2},{value:"activate()",id:"activate",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"addExtension()",id:"addextension",level:3},{value:"Parameters",id:"parameters",level:4},{value:"extension",id:"extension",level:5},{value:"extensionInstance?",id:"extensioninstance",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"beginStateTransaction()",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"cancelStateTransaction()",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"commitStateTransaction()",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"deactivate()",id:"deactivate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"getExtension()",id:"getextension",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"extension",id:"extension-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getExtensions()",id:"getextensions",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"getRouteParams()",id:"getrouteparams",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"load()",id:"load",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"setMetaParams()",id:"setmetaparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"loadedResources",id:"loadedresources",level:5},{value:"metaManager",id:"metamanager",level:5},{value:"router",id:"router",level:5},{value:"dictionary",id:"dictionary",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"setPageStateManager()",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"pageStateManager?",id:"pagestatemanager",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"setRouteParams()",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"params",id:"params-1",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"statePatch",id:"statepatch",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"update()",id:"update",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"prevParams",id:"prevparams",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-6",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"class-abstractcontrollers-r-ss",children:"Class: AbstractController"})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L14",children:"packages/core/src/controller/AbstractController.ts:14"})]}),"\n",(0,t.jsxs)(r.p,{children:["Basic implementation of the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:"Controller"})," interface, providing the\ndefault implementation of the most of the API."]}),"\n",(0,t.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),"<",(0,t.jsx)(r.code,{children:"S"}),", ",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"S"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})})," = {}"]}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"R"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})})," = {}"]}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"SS"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.code,{children:"S"})," = ",(0,t.jsx)(r.code,{children:"S"})]}),"\n",(0,t.jsx)(r.h2,{id:"indexable",children:"Indexable"}),"\n",(0,t.jsxs)(r.p,{children:["[",(0,t.jsx)(r.code,{children:"key"}),": ",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.code,{children:"number"})," | ",(0,t.jsx)(r.code,{children:"symbol"}),"]: ",(0,t.jsx)(r.code,{children:"any"})]}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-abstractcontroller",children:"new AbstractController()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new AbstractController"}),"<",(0,t.jsx)(r.code,{children:"S"}),", ",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractController",children:(0,t.jsx)(r.code,{children:"AbstractController"})}),"<",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L41",children:"packages/core/src/controller/AbstractController.ts:41"})]}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractController",children:(0,t.jsx)(r.code,{children:"AbstractController"})}),"<",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#constructors",children:(0,t.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,t.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(r.h3,{id:"_extensions",children:"_extensions"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_extensions"}),": ",(0,t.jsx)(r.code,{children:"Map"}),"> | ",(0,t.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),">>, ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L20",children:"packages/core/src/controller/AbstractController.ts:20"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_pagestatemanager",children:"_pageStateManager?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"_pageStateManager"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(r.code,{children:"PageStateManager"})}),"<",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L19",children:"packages/core/src/controller/AbstractController.ts:19"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"params",children:"params"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"params"}),": ",(0,t.jsx)(r.code,{children:"R"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L35",children:"packages/core/src/controller/AbstractController.ts:35"})]}),"\n",(0,t.jsxs)(r.p,{children:["The route parameters extracted from the current route. This field is\nset externally by IMA right before the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," or the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#update",children:"Controller#update"})," method is called."]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"status",children:"status"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"status"}),": ",(0,t.jsx)(r.code,{children:"number"})," = ",(0,t.jsx)(r.code,{children:"200"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L29",children:"packages/core/src/controller/AbstractController.ts:29"})]}),"\n",(0,t.jsx)(r.p,{children:"The HTTP response code to send to the client."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.strong,{children:"$dependencies"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,t.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L38",children:"packages/core/src/controller/AbstractController.ts:38"})]}),"\n",(0,t.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#$dependencies",children:(0,t.jsx)(r.code,{children:"$dependencies"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"extensions",children:"$extensions?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"$extensions"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,t.jsx)(r.code,{children:"Dependencies"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L39",children:"packages/core/src/controller/AbstractController.ts:39"})]}),"\n",(0,t.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#$extensions",children:(0,t.jsx)(r.code,{children:"$extensions"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"name",children:"$name?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"$name"}),": ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L37",children:"packages/core/src/controller/AbstractController.ts:37"})]}),"\n",(0,t.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#$name",children:(0,t.jsx)(r.code,{children:"$name"})})]}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"activate",children:"activate()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"activate"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L84",children:"packages/core/src/controller/Controller.ts:84"})]}),"\n",(0,t.jsxs)(r.p,{children:["Callback for activating the controller in the UI. This is the last\nmethod invoked during controller initialization, called after all the\npromises returned from the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method have been\nresolved and the controller has configured the meta manager."]}),"\n",(0,t.jsx)(r.p,{children:"The controller may register any React and DOM event listeners in this\nmethod. The controller may start receiving event bus event after this\nmethod completes."}),"\n",(0,t.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:(0,t.jsx)(r.code,{children:"activate"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"addextension",children:"addExtension()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"addExtension"}),"(",(0,t.jsx)(r.code,{children:"extension"}),", ",(0,t.jsx)(r.code,{children:"extensionInstance"}),"?): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L95",children:"packages/core/src/controller/AbstractController.ts:95"})]}),"\n",(0,t.jsxs)(r.p,{children:["Adds the provided extension to this controller. All extensions should be\nadded to the controller before the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method is\ninvoked."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"extension",children:"extension"}),"\n",(0,t.jsxs)(r.p,{children:["keyof OCAliasMap | ",(0,t.jsx)(r.code,{children:"Constructor"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),">> | ",(0,t.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),">> | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,t.jsx)(r.h5,{id:"extensioninstance",children:"extensionInstance?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#addextension",children:(0,t.jsx)(r.code,{children:"addExtension"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"beginstatetransaction",children:"beginStateTransaction()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"beginStateTransaction"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L68",children:"packages/core/src/controller/AbstractController.ts:68"})]}),"\n",(0,t.jsxs)(r.p,{children:["Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,t.jsx)(r.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,t.jsxs)(r.p,{children:["Note that call to ",(0,t.jsx)(r.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#beginstatetransaction",children:(0,t.jsx)(r.code,{children:"beginStateTransaction"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"cancelstatetransaction",children:"cancelStateTransaction()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"cancelStateTransaction"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L86",children:"packages/core/src/controller/AbstractController.ts:86"})]}),"\n",(0,t.jsx)(r.p,{children:"Cancels ongoing state transaction. Uncommitted state changes are lost."}),"\n",(0,t.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#cancelstatetransaction",children:(0,t.jsx)(r.code,{children:"cancelStateTransaction"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"commitstatetransaction",children:"commitStateTransaction()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"commitStateTransaction"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L77",children:"packages/core/src/controller/AbstractController.ts:77"})]}),"\n",(0,t.jsxs)(r.p,{children:["Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,t.jsx)(r.code,{children:"setState"})," call."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#commitstatetransaction",children:(0,t.jsx)(r.code,{children:"commitStateTransaction"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"deactivate",children:"deactivate()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"deactivate"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L99",children:"packages/core/src/controller/Controller.ts:99"})]}),"\n",(0,t.jsx)(r.p,{children:"Callback for deactivating the controller in the UI. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."}),"\n",(0,t.jsxs)(r.p,{children:["This method is the lifecycle counterpart of the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"})," method."]}),"\n",(0,t.jsxs)(r.p,{children:["The controller should deregister listeners registered and release all\nresources obtained in the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"})," method."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#deactivate",children:(0,t.jsx)(r.code,{children:"deactivate"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"destroy",children:"destroy()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"destroy"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L70",children:"packages/core/src/controller/Controller.ts:70"})]}),"\n",(0,t.jsx)(r.p,{children:"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."}),"\n",(0,t.jsxs)(r.p,{children:["This method is the lifecycle counterpart of the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),"\nmethod."]}),"\n",(0,t.jsxs)(r.p,{children:["The controller should release all resources obtained in the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method. The controller must release any resources\nthat might not be released automatically when the controller's instance\nis destroyed by the garbage collector."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#destroy",children:(0,t.jsx)(r.code,{children:"destroy"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getextension",children:"getExtension()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getExtension"}),"(",(0,t.jsx)(r.code,{children:"extension"}),"): ",(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L129",children:"packages/core/src/controller/AbstractController.ts:129"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns extension instance defined by it's class constructor\nfrom controller's extension intance map."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"extension-1",children:"extension"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.em,{children:"typeof"})," ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})})]}),"\n",(0,t.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getextension",children:(0,t.jsx)(r.code,{children:"getExtension"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getextensions",children:"getExtensions()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getExtensions"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L138",children:"packages/core/src/controller/AbstractController.ts:138"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the controller's extensions."}),"\n",(0,t.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"[]"]}),"\n",(0,t.jsx)(r.p,{children:"The extensions added to this controller."}),"\n",(0,t.jsx)(r.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getextensions",children:(0,t.jsx)(r.code,{children:"getExtensions"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getHttpStatus"}),"(): ",(0,t.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L166",children:"packages/core/src/controller/AbstractController.ts:166"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the HTTP status code to send to the client, should the\ncontroller be used at the server-side."}),"\n",(0,t.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"number"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP status code to send to the client."}),"\n",(0,t.jsx)(r.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#gethttpstatus",children:(0,t.jsx)(r.code,{children:"getHttpStatus"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getrouteparams",children:"getRouteParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getRouteParams"}),"(): ",(0,t.jsx)(r.code,{children:"R"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L152",children:"packages/core/src/controller/AbstractController.ts:152"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the current route parameters."}),"\n",(0,t.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"R"})}),"\n",(0,t.jsx)(r.p,{children:"The current route parameters."}),"\n",(0,t.jsx)(r.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getrouteparams",children:(0,t.jsx)(r.code,{children:"getRouteParams"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getstate",children:"getState()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getState"}),"(): ",(0,t.jsx)(r.code,{children:"SS"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L57",children:"packages/core/src/controller/AbstractController.ts:57"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the controller's current state."}),"\n",(0,t.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"SS"})}),"\n",(0,t.jsx)(r.p,{children:"The current state of this controller."}),"\n",(0,t.jsx)(r.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getstate",children:(0,t.jsx)(r.code,{children:"getState"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"init"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L53",children:"packages/core/src/controller/Controller.ts:53"})]}),"\n",(0,t.jsx)(r.p,{children:"Callback for initializing the controller after the route parameters have\nbeen set on this controller."}),"\n",(0,t.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:(0,t.jsx)(r.code,{children:"init"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"load",children:"load()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"load"}),"(): ",(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L138",children:"packages/core/src/controller/Controller.ts:138"})]}),"\n",(0,t.jsxs)(r.p,{children:["Callback the controller uses to request the resources it needs to render\nits view. This method is invoked after the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),"\nmethod."]}),"\n",(0,t.jsx)(r.p,{children:"The controller should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."}),"\n",(0,t.jsx)(r.p,{children:"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."}),"\n",(0,t.jsx)(r.p,{children:"The IMA will use the object to set the state of the controller."}),"\n",(0,t.jsx)(r.p,{children:"If at the server side, the IMA will wait for all the promises to\nresolve, replaces the promises with the resolved values and sets the\nresulting object as the controller's state."}),"\n",(0,t.jsx)(r.p,{children:"If at the client side, the IMA will first set the controller's state to\nan object containing only the fields of the returned object that were\nnot promises. IMA will then update the controller's state every time a\npromise of the returned object resolves. IMA will update the state by\nadding the resolved resource to the controller's state."}),"\n",(0,t.jsx)(r.p,{children:"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."}),"\n",(0,t.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:(0,t.jsx)(r.code,{children:"load"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setmetaparams",children:"setMetaParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setMetaParams"}),"(",(0,t.jsx)(r.code,{children:"loadedResources"}),", ",(0,t.jsx)(r.code,{children:"metaManager"}),", ",(0,t.jsx)(r.code,{children:"router"}),", ",(0,t.jsx)(r.code,{children:"dictionary"}),", ",(0,t.jsx)(r.code,{children:"settings"}),"): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L280",children:"packages/core/src/controller/Controller.ts:280"})]}),"\n",(0,t.jsx)(r.p,{children:"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources and the view has been rendered."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"loadedresources",children:"loadedResources"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Intersection"}),"<",(0,t.jsx)(r.code,{children:"Partial"}),"<",(0,t.jsx)(r.code,{children:"Pick"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"Matching"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"any"}),">>>>, ",(0,t.jsx)(r.code,{children:"Required"}),"<",(0,t.jsx)(r.code,{children:"Pick"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"NonMatching"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"any"}),">>>>>"]}),"\n",(0,t.jsxs)(r.p,{children:["A plain object representing a\nmap of resource names to resources loaded by the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method. This is the same object as the one\npassed to the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setstate",children:"Controller#setState"})," method."]}),"\n",(0,t.jsx)(r.h5,{id:"metamanager",children:"metaManager"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,t.jsx)(r.code,{children:"MetaManager"})})}),"\n",(0,t.jsx)(r.p,{children:"Meta attributes manager to configure."}),"\n",(0,t.jsx)(r.h5,{id:"router",children:"router"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,t.jsx)(r.code,{children:"Router"})})}),"\n",(0,t.jsx)(r.p,{children:"The current application router."}),"\n",(0,t.jsx)(r.h5,{id:"dictionary",children:"dictionary"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,t.jsx)(r.code,{children:"Dictionary"})})}),"\n",(0,t.jsx)(r.p,{children:"The current localization dictionary."}),"\n",(0,t.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,t.jsx)(r.code,{children:"Settings"})})}),"\n",(0,t.jsx)(r.p,{children:"The application settings for the\ncurrent application environment."}),"\n",(0,t.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setmetaparams",children:(0,t.jsx)(r.code,{children:"setMetaParams"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setpagestatemanager",children:"setPageStateManager()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setPageStateManager"}),"(",(0,t.jsx)(r.code,{children:"pageStateManager"}),"?): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L159",children:"packages/core/src/controller/AbstractController.ts:159"})]}),"\n",(0,t.jsxs)(r.p,{children:["Sets the page state manager. The page state manager manages the\ncontroller's state. The state manager can be set to ",(0,t.jsx)(r.code,{children:"null"})," if this\ncontroller loses the right to modify the state of the current page (e.g.\nthe user has navigated to a different route using a different\ncontroller)."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"pagestatemanager",children:"pageStateManager?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(r.code,{children:"PageStateManager"})}),"<",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The current state manager to\nuse."}),"\n",(0,t.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setpagestatemanager",children:(0,t.jsx)(r.code,{children:"setPageStateManager"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setrouteparams",children:"setRouteParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setRouteParams"}),"(",(0,t.jsx)(r.code,{children:"params"}),"): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L145",children:"packages/core/src/controller/AbstractController.ts:145"})]}),"\n",(0,t.jsxs)(r.p,{children:["Sets the current route parameters. This method is invoked before the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"R"})," = ",(0,t.jsx)(r.code,{children:"..."})]}),"\n",(0,t.jsx)(r.p,{children:"The current route parameters."}),"\n",(0,t.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setrouteparams",children:(0,t.jsx)(r.code,{children:"setRouteParams"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setState"}),"<",(0,t.jsx)(r.code,{children:"K"}),">(",(0,t.jsx)(r.code,{children:"statePatch"}),"): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/AbstractController.ts#L48",children:"packages/core/src/controller/AbstractController.ts:48"})]}),"\n",(0,t.jsx)(r.p,{children:"Patches the state of this controller using the provided object by\ncopying the provided patch object fields to the controller's state\nobject."}),"\n",(0,t.jsx)(r.p,{children:"You can use this method to modify the state partially or add new fields\nto the state object."}),"\n",(0,t.jsx)(r.p,{children:"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."}),"\n",(0,t.jsxs)(r.p,{children:["Once the promises returned by the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method are\nresolved, this method is called with the an object containing the\nresolved values. The field names of the passed object will match the\nfield names in the object returned from the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"}),"\nmethod."]}),"\n",(0,t.jsx)(r.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"K"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.code,{children:"number"})," | ",(0,t.jsx)(r.code,{children:"symbol"})]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"statepatch",children:"statePatch"}),"\n",(0,t.jsx)(r.p,{children:"Patch of the controller's state to\napply."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Pick"}),"<",(0,t.jsx)(r.code,{children:"S"}),", ",(0,t.jsx)(r.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setstate",children:(0,t.jsx)(r.code,{children:"setState"})})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"update",children:"update()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"update"}),"(",(0,t.jsx)(r.code,{children:"prevParams"}),"): ",(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L164",children:"packages/core/src/controller/Controller.ts:164"})]}),"\n",(0,t.jsxs)(r.p,{children:["Callback for updating the controller after a route update. This method\nis invoked if the current route has the ",(0,t.jsx)(r.code,{children:"onlyUpdate"})," flag set to ",(0,t.jsx)(r.code,{children:"true"})," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,t.jsx)(r.code,{children:"onlyUpdate"})," option of the current route is a callback and\nreturned ",(0,t.jsx)(r.code,{children:"true"}),"."]}),"\n",(0,t.jsxs)(r.p,{children:["The method must return an object with the same semantics as the result\nof the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method. The controller's state will only\nbe patched by the returned object instead of replacing it completely."]}),"\n",(0,t.jsxs)(r.p,{children:["The other controller lifecycle callbacks (",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),",\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"}),",\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#deactivate",children:"Controller#deactivate"}),", Controller#deinit) are not call\nin case this method is used."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"prevparams",children:"prevParams"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"R"})," = ",(0,t.jsx)(r.code,{children:"..."})]}),"\n",(0,t.jsx)(r.p,{children:"Previous route\nparameters."}),"\n",(0,t.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),".",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#update",children:(0,t.jsx)(r.code,{children:"update"})})]})]})}function h(e={}){const{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>c,x:()=>i});var n=s(3696);const t={},l=n.createContext(t);function c(e){const r=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0915269d.42845665.js b/assets/js/0915269d.42845665.js deleted file mode 100644 index 4ca40d298..000000000 --- a/assets/js/0915269d.42845665.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2979],{5680:(e,r,t)=>{t.d(r,{xA:()=>u,yg:()=>y});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),l=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},u=function(e){var r=l(e.components);return n.createElement(c.Provider,{value:r},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},s=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),g=l(t),s=a,y=g["".concat(c,".").concat(s)]||g[s]||m[s]||i;return t?n.createElement(y,o(o({ref:r},u),{},{components:t})):n.createElement(y,o({ref:r},u))}));function y(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=s;var p={};for(var c in r)hasOwnProperty.call(r,c)&&(p[c]=r[c]);p.originalType=e,p[g]="string"==typeof e?e:a,o[1]=p;for(var l=2;l{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var n=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.PageAction",title:"Interface: PageAction",sidebar_label:"@ima/core.PageAction",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.PageAction",id:"api/interfaces/ima_core.PageAction",title:"Interface: PageAction",description:"@ima/core.PageAction",source:"@site/../docs/api/interfaces/ima_core.PageAction.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.PageAction",permalink:"/api/interfaces/ima_core.PageAction",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageAction",title:"Interface: PageAction",sidebar_label:"@ima/core.PageAction",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.OCAliasMap",permalink:"/api/interfaces/ima_core.OCAliasMap"},next:{title:"@ima/core.PageRendererSettings",permalink:"/api/interfaces/ima_core.PageRendererSettings"}},c={},l=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"event",id:"event",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"type",id:"type",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"url",id:"url",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4}],u={toc:l},g="wrapper";function m(e){let{components:r,...t}=e;return(0,a.yg)(g,(0,n.A)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageAction"),(0,a.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},(0,a.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,a.yg)("p",{parentName:"li"},"\u21b3 ",(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"PageAction"))))),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"event"},"event"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"event"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Event")," & ","{"," ",(0,a.yg)("inlineCode",{parentName:"p"},"state?"),": ","{"," ",(0,a.yg)("inlineCode",{parentName:"p"},"scroll?"),": ","{"," ",(0,a.yg)("inlineCode",{parentName:"p"},"x"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"number")," ; ",(0,a.yg)("inlineCode",{parentName:"p"},"y"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"number")," } } }"),(0,a.yg)("h4",{id:"overrides"},"Overrides"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},"RouteAction"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction#event"},"event")),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageTypes.ts#L40"},"packages/core/src/page/PageTypes.ts:40")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"type"},"type"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"type"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/enums/ima_core.ActionTypes"},(0,a.yg)("inlineCode",{parentName:"a"},"ActionTypes"))),(0,a.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},"RouteAction"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction#type"},"type")),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L18"},"packages/core/src/router/Router.ts:18")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"url"},"url"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"url"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},"RouteAction"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction#url"},"url")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L20"},"packages/core/src/router/Router.ts:20")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/094a494b.649159bc.js b/assets/js/094a494b.649159bc.js deleted file mode 100644 index 49196ab6e..000000000 --- a/assets/js/094a494b.649159bc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[440],{5680:(e,n,t)=>{t.d(n,{xA:()=>l,yg:()=>y});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var g=a.createContext({}),s=function(e){var n=a.useContext(g),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=s(e.components);return a.createElement(g.Provider,{value:n},e.children)},$="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),$=s(t),m=r,y=$["".concat(g,".").concat(m)]||$[m]||d[m]||i;return t?a.createElement(y,o(o({ref:n},l),{},{components:t})):a.createElement(y,o({ref:n},l))}));function y(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=m;var p={};for(var g in n)hasOwnProperty.call(n,g)&&(p[g]=n[g]);p.originalType=e,p[$]="string"==typeof e?e:r,o[1]=p;for(var s=2;s{t.r(n),t.d(n,{assets:()=>g,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var a=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.RouteOptions",title:"Interface: RouteOptions",sidebar_label:"@ima/core.RouteOptions",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.RouteOptions",id:"api/interfaces/ima_core.RouteOptions",title:"Interface: RouteOptions",description:"@ima/core.RouteOptions",source:"@site/../docs/api/interfaces/ima_core.RouteOptions.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.RouteOptions",permalink:"/api/interfaces/ima_core.RouteOptions",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouteOptions",title:"Interface: RouteOptions",sidebar_label:"@ima/core.RouteOptions",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouteLocals",permalink:"/api/interfaces/ima_core.RouteLocals"},next:{title:"@ima/core.Settings",permalink:"/api/interfaces/ima_core.Settings"}},g={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"autoScroll",id:"autoscroll",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"documentView",id:"documentview",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"extensions",id:"extensions",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"headers",id:"headers",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"httpStatus",id:"httpstatus",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"managedRootView",id:"managedrootview",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"middlewares",id:"middlewares",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"onlyUpdate",id:"onlyupdate",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"viewAdapter",id:"viewadapter",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-8",level:4}],l={toc:s},$="wrapper";function d(e){let{components:n,...t}=e;return(0,r.yg)($,(0,a.A)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouteOptions"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"RouteOptions"))))),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"autoscroll"},"autoScroll"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"autoScroll"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#autoscroll"},"autoScroll")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L36"},"packages/core/src/router/Router.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"documentview"},"documentView"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"documentView"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#documentview"},"documentView")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L37"},"packages/core/src/router/Router.ts:37")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"extensions"},"extensions"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"extensions"),": (",(0,r.yg)("inlineCode",{parentName:"p"},'"$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageRenderer"')," ","|"," ","`","$Helper.$","{","string}","`"," ","|"," ","`","$oc.$","{","string}","`"," ","|"," ","`","$Settings.$","{","string}","`"," ","|"," ","`","$Env.$","{","string}","`"," ","|"," ","`","$Protocol.$","{","string}","`"," ","|"," ","`","$Secure.$","{","string}","`"," ","|"," ","`","$Request.$","{","string}","`"," ","|"," ","`","$Response.$","{","string}","`"," ","|"," ","`","$Window.$","{","string}","`"," ","|"," ","`","$Error.$","{","string}","`"," ","|"," ","`","$Dictionary.$","{","string}","`"," ","|"," ","`","$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","$CookieStorage.$","{","string}","`"," ","|"," ","`","$SessionStorage.$","{","string}","`"," ","|"," ","`","$MapStorage.$","{","string}","`"," ","|"," ","`","$WeakMapStorage.$","{","string}","`"," ","|"," ","`","$SessionMapStorage.$","{","string}","`"," ","|"," ","`","$Dispatcher.$","{","string}","`"," ","|"," ","`","$EventBus.$","{","string}","`"," ","|"," ","`","$Observable.$","{","string}","`"," ","|"," ","`","$CacheStorage.$","{","string}","`"," ","|"," ","`","$CacheFactory.$","{","string}","`"," ","|"," ","`","$Cache.$","{","string}","`"," ","|"," ","`","$MetaManager.$","{","string}","`"," ","|"," ","`","$ControllerDecorator.$","{","string}","`"," ","|"," ","`","$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","$PageStateManager.$","{","string}","`"," ","|"," ","`","$PageFactory.$","{","string}","`"," ","|"," ","`","$ComponentUtils.$","{","string}","`"," ","|"," ","`","$Utils.$","{","string}","`"," ","|"," ","`","$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","$PageManager.$","{","string}","`"," ","|"," ","`","$RouteFactory.$","{","string}","`"," ","|"," ","`","$Router.$","{","string}","`"," ","|"," ","`","$RouteNames.$","{","string}","`"," ","|"," ","`","$RouterEvents.$","{","string}","`"," ","|"," ","`","$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","$Http.$","{","string}","`"," ","|"," ","`","$HttpStatusCode.$","{","string}","`"," ","|"," ","`","$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageRenderer"')," ","|"," ","`","?$Helper.$","{","string}","`"," ","|"," ","`","?$oc.$","{","string}","`"," ","|"," ","`","?$Settings.$","{","string}","`"," ","|"," ","`","?$Env.$","{","string}","`"," ","|"," ","`","?$Protocol.$","{","string}","`"," ","|"," ","`","?$Secure.$","{","string}","`"," ","|"," ","`","?$Request.$","{","string}","`"," ","|"," ","`","?$Response.$","{","string}","`"," ","|"," ","`","?$Window.$","{","string}","`"," ","|"," ","`","?$Error.$","{","string}","`"," ","|"," ","`","?$Dictionary.$","{","string}","`"," ","|"," ","`","?$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","?$CookieStorage.$","{","string}","`"," ","|"," ","`","?$SessionStorage.$","{","string}","`"," ","|"," ","`","?$MapStorage.$","{","string}","`"," ","|"," ","`","?$WeakMapStorage.$","{","string}","`"," ","|"," ","`","?$SessionMapStorage.$","{","string}","`"," ","|"," ","`","?$Dispatcher.$","{","string}","`"," ","|"," ","`","?$EventBus.$","{","string}","`"," ","|"," ","`","?$Observable.$","{","string}","`"," ","|"," ","`","?$CacheStorage.$","{","string}","`"," ","|"," ","`","?$CacheFactory.$","{","string}","`"," ","|"," ","`","?$Cache.$","{","string}","`"," ","|"," ","`","?$MetaManager.$","{","string}","`"," ","|"," ","`","?$ControllerDecorator.$","{","string}","`"," ","|"," ","`","?$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","?$PageStateManager.$","{","string}","`"," ","|"," ","`","?$PageFactory.$","{","string}","`"," ","|"," ","`","?$ComponentUtils.$","{","string}","`"," ","|"," ","`","?$Utils.$","{","string}","`"," ","|"," ","`","?$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","?$PageManager.$","{","string}","`"," ","|"," ","`","?$RouteFactory.$","{","string}","`"," ","|"," ","`","?$Router.$","{","string}","`"," ","|"," ","`","?$RouteNames.$","{","string}","`"," ","|"," ","`","?$RouterEvents.$","{","string}","`"," ","|"," ","`","?$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","?$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","?$Http.$","{","string}","`"," ","|"," ","`","?$HttpStatusCode.$","{","string}","`"," ","|"," ","`","?$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageRenderer"')," ","|"," ","`","...?$Helper.$","{","string}","`"," ","|"," ","`","...?$oc.$","{","string}","`"," ","|"," ","`","...?$Settings.$","{","string}","`"," ","|"," ","`","...?$Env.$","{","string}","`"," ","|"," ","`","...?$Protocol.$","{","string}","`"," ","|"," ","`","...?$Secure.$","{","string}","`"," ","|"," ","`","...?$Request.$","{","string}","`"," ","|"," ","`","...?$Response.$","{","string}","`"," ","|"," ","`","...?$Window.$","{","string}","`"," ","|"," ","`","...?$Error.$","{","string}","`"," ","|"," ","`","...?$Dictionary.$","{","string}","`"," ","|"," ","`","...?$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","...?$CookieStorage.$","{","string}","`"," ","|"," ","`","...?$SessionStorage.$","{","string}","`"," ","|"," ","`","...?$MapStorage.$","{","string}","`"," ","|"," ","`","...?$WeakMapStorage.$","{","string}","`"," ","|"," ","`","...?$SessionMapStorage.$","{","string}","`"," ","|"," ","`","...?$Dispatcher.$","{","string}","`"," ","|"," ","`","...?$EventBus.$","{","string}","`"," ","|"," ","`","...?$Observable.$","{","string}","`"," ","|"," ","`","...?$CacheStorage.$","{","string}","`"," ","|"," ","`","...?$CacheFactory.$","{","string}","`"," ","|"," ","`","...?$Cache.$","{","string}","`"," ","|"," ","`","...?$MetaManager.$","{","string}","`"," ","|"," ","`","...?$ControllerDecorator.$","{","string}","`"," ","|"," ","`","...?$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","...?$PageStateManager.$","{","string}","`"," ","|"," ","`","...?$PageFactory.$","{","string}","`"," ","|"," ","`","...?$ComponentUtils.$","{","string}","`"," ","|"," ","`","...?$Utils.$","{","string}","`"," ","|"," ","`","...?$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","...?$PageManager.$","{","string}","`"," ","|"," ","`","...?$RouteFactory.$","{","string}","`"," ","|"," ","`","...?$Router.$","{","string}","`"," ","|"," ","`","...?$RouteNames.$","{","string}","`"," ","|"," ","`","...?$RouterEvents.$","{","string}","`"," ","|"," ","`","...?$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","...?$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","...?$Http.$","{","string}","`"," ","|"," ","`","...?$HttpStatusCode.$","{","string}","`"," ","|"," ","`","...?$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageRenderer"')," ","|"," ","`","...$Helper.$","{","string}","`"," ","|"," ","`","...$oc.$","{","string}","`"," ","|"," ","`","...$Settings.$","{","string}","`"," ","|"," ","`","...$Env.$","{","string}","`"," ","|"," ","`","...$Protocol.$","{","string}","`"," ","|"," ","`","...$Secure.$","{","string}","`"," ","|"," ","`","...$Request.$","{","string}","`"," ","|"," ","`","...$Response.$","{","string}","`"," ","|"," ","`","...$Window.$","{","string}","`"," ","|"," ","`","...$Error.$","{","string}","`"," ","|"," ","`","...$Dictionary.$","{","string}","`"," ","|"," ","`","...$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","...$CookieStorage.$","{","string}","`"," ","|"," ","`","...$SessionStorage.$","{","string}","`"," ","|"," ","`","...$MapStorage.$","{","string}","`"," ","|"," ","`","...$WeakMapStorage.$","{","string}","`"," ","|"," ","`","...$SessionMapStorage.$","{","string}","`"," ","|"," ","`","...$Dispatcher.$","{","string}","`"," ","|"," ","`","...$EventBus.$","{","string}","`"," ","|"," ","`","...$Observable.$","{","string}","`"," ","|"," ","`","...$CacheStorage.$","{","string}","`"," ","|"," ","`","...$CacheFactory.$","{","string}","`"," ","|"," ","`","...$Cache.$","{","string}","`"," ","|"," ","`","...$MetaManager.$","{","string}","`"," ","|"," ","`","...$ControllerDecorator.$","{","string}","`"," ","|"," ","`","...$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","...$PageStateManager.$","{","string}","`"," ","|"," ","`","...$PageFactory.$","{","string}","`"," ","|"," ","`","...$ComponentUtils.$","{","string}","`"," ","|"," ","`","...$Utils.$","{","string}","`"," ","|"," ","`","...$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","...$PageManager.$","{","string}","`"," ","|"," ","`","...$RouteFactory.$","{","string}","`"," ","|"," ","`","...$Router.$","{","string}","`"," ","|"," ","`","...$RouteNames.$","{","string}","`"," ","|"," ","`","...$RouterEvents.$","{","string}","`"," ","|"," ","`","...$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","...$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","...$Http.$","{","string}","`"," ","|"," ","`","...$HttpStatusCode.$","{","string}","`"," ","|"," ","`","...$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," [",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">",", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"optional"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," }])[]"),(0,r.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#extensions"},"extensions")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L44"},"packages/core/src/router/Router.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"headers"},"headers"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"headers"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L59"},"packages/core/src/router/Router.ts:59")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpstatus"},"httpStatus"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"httpStatus"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L60"},"packages/core/src/router/Router.ts:60")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"managedrootview"},"managedRootView"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"managedRootView"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#managedrootview"},"managedRootView")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L38"},"packages/core/src/router/Router.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"middlewares"},"middlewares"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"middlewares"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,r.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,r.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#middlewares"},"middlewares")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L43"},"packages/core/src/router/Router.ts:43")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"onlyupdate"},"onlyUpdate"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"onlyUpdate"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#onlyupdate"},"onlyUpdate")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L39"},"packages/core/src/router/Router.ts:39")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"viewadapter"},"viewAdapter"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"viewAdapter"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions"),".",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions#viewadapter"},"viewAdapter")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L42"},"packages/core/src/router/Router.ts:42")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0a435bfc.38c9b91a.js b/assets/js/0a435bfc.38c9b91a.js new file mode 100644 index 000000000..5d9786d76 --- /dev/null +++ b/assets/js/0a435bfc.38c9b91a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[353],{7714:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"api/@ima/cli/type-aliases/ImaConfig","title":"Type Alias: ImaConfig","description":"ImaConfig: object","source":"@site/../docs/api/@ima/cli/type-aliases/ImaConfig.md","sourceDirName":"api/@ima/cli/type-aliases","slug":"/api/@ima/cli/type-aliases/ImaConfig","permalink":"/api/@ima/cli/type-aliases/ImaConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/type-aliases/ImaConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ImaCliCommand","permalink":"/api/@ima/cli/type-aliases/ImaCliCommand"},"next":{"title":"Variable: IMA\\\\_CONF\\\\_FILENAME","permalink":"/api/@ima/cli/variables/IMA_CONF_FILENAME"}}');var r=i(2540),c=i(3023);const o={},l="Type Alias: ImaConfig",d={},a=[{value:"Type declaration",id:"type-declaration",level:2},{value:"compress",id:"compress",level:3},{value:"cssBrowsersTarget",id:"cssbrowserstarget",level:3},{value:"devServer?",id:"devserver",level:3},{value:"devServer.hostname?",id:"devserverhostname",level:4},{value:"devServer.origin?",id:"devserverorigin",level:4},{value:"devServer.port?",id:"devserverport",level:4},{value:"devServer.publicUrl?",id:"devserverpublicurl",level:4},{value:"devServer.writeToDiskFilter()?",id:"devserverwritetodiskfilter",level:4},{value:"Parameters",id:"parameters",level:5},{value:"filePath",id:"filepath",level:6},{value:"Returns",id:"returns",level:5},{value:"disableLegacyBuild?",id:"disablelegacybuild",level:3},{value:"experiments?",id:"experiments",level:3},{value:"experiments.css?",id:"experimentscss",level:4},{value:"imageInlineSizeLimit",id:"imageinlinesizelimit",level:3},{value:"jsxRuntime?",id:"jsxruntime",level:3},{value:"languages",id:"languages",level:3},{value:"plugins?",id:"plugins",level:3},{value:"postcss()",id:"postcss",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"config",id:"config",level:5},{value:"ctx",id:"ctx",level:5},{value:"Returns",id:"returns-1",level:4},{value:"publicPath",id:"publicpath",level:3},{value:"sourceMaps?",id:"sourcemaps",level:3},{value:"swc()",id:"swc",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"config",id:"config-1",level:5},{value:"ctx",id:"ctx-1",level:5},{value:"Returns",id:"returns-2",level:4},{value:"swcVendor()",id:"swcvendor",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"config",id:"config-2",level:5},{value:"ctx",id:"ctx-2",level:5},{value:"Returns",id:"returns-3",level:4},{value:"transformVendorPaths?",id:"transformvendorpaths",level:3},{value:"Ima",id:"ima",level:4},{value:"transformVendorPaths.exclude?",id:"transformvendorpathsexclude",level:4},{value:"transformVendorPaths.include?",id:"transformvendorpathsinclude",level:4},{value:"watchOptions",id:"watchoptions",level:3},{value:"webpack()?",id:"webpack",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"config",id:"config-3",level:5},{value:"ctx",id:"ctx-3",level:5},{value:"imaConfig",id:"imaconfig",level:5},{value:"Returns",id:"returns-4",level:4},{value:"webpackAliases?",id:"webpackaliases",level:3},{value:"prepareConfigurations()?",id:"prepareconfigurations",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"configurations",id:"configurations",level:5},{value:"imaConfig",id:"imaconfig-1",level:5},{value:"args",id:"args",level:5},{value:"Returns",id:"returns-5",level:4}];function t(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"type-alias-imaconfig",children:"Type Alias: ImaConfig"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"ImaConfig"}),": ",(0,r.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L139",children:"types.ts:139"})]}),"\n",(0,r.jsx)(n.p,{children:"Ima config options. Some of these options can be overridden using Args, which takes precedence.\nThese are parsed from optional ima.config.js that can be defined in the root of the IMA.js project."}),"\n",(0,r.jsx)(n.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,r.jsx)(n.h3,{id:"compress",children:"compress"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"compress"}),": ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Enable brotli and gzip compression for production assets [default=true]."}),"\n",(0,r.jsx)(n.h3,{id:"cssbrowserstarget",children:"cssBrowsersTarget"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"cssBrowsersTarget"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Browserslist configuration string for postcss-preset-env."}),"\n",(0,r.jsx)(n.h3,{id:"devserver",children:"devServer?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"devServer"}),": ",(0,r.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"HMR dev server settings."}),"\n",(0,r.jsx)(n.h4,{id:"devserverhostname",children:"devServer.hostname?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"devServer.hostname"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"devserverorigin",children:"devServer.origin?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"devServer.origin"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Optional custom ima app origin (defaults to http://localhost:[environment.$Server.port])\nthis is used for CORS configuration."}),"\n",(0,r.jsx)(n.h4,{id:"devserverport",children:"devServer.port?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"devServer.port"}),": ",(0,r.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"devserverpublicurl",children:"devServer.publicUrl?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"devServer.publicUrl"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"devserverwritetodiskfilter",children:"devServer.writeToDiskFilter()?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"devServer.writeToDiskFilter"}),": (",(0,r.jsx)(n.code,{children:"filePath"}),") => ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Custom filtr for files which should be always written to disk,\neven if we're serving static files from memory. This is used for\nexample to always save runner.js to disk, since it's used on server-side too."}),"\n",(0,r.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"filepath",children:"filePath"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.h5,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"boolean"})}),"\n",(0,r.jsx)(n.h3,{id:"disablelegacybuild",children:"disableLegacyBuild?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"disableLegacyBuild"}),": ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Disables build of 'client' legacy bundle."}),"\n",(0,r.jsx)(n.h3,{id:"experiments",children:"experiments?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"experiments"}),": ",(0,r.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Experimental configurations which can be enabled individually on specific applications.\nSome of these may find a way to default configuration in future versions of IMA.js."}),"\n",(0,r.jsx)(n.h4,{id:"experimentscss",children:"experiments.css?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"experiments.css"}),": ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"imageinlinesizelimit",children:"imageInlineSizeLimit"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"imageInlineSizeLimit"}),": ",(0,r.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Threshold to inline image resources as base64 automatically [default=8192]"}),"\n",(0,r.jsx)(n.h3,{id:"jsxruntime",children:"jsxRuntime?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"jsxRuntime"}),": ",(0,r.jsx)(n.code,{children:'"classic"'})," | ",(0,r.jsx)(n.code,{children:'"automatic"'})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Set custom jsxRuntime, the default is 'automatic'."}),"\n",(0,r.jsx)(n.h3,{id:"languages",children:"languages"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"languages"}),": ",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"string"}),"[]>"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Supported languages with glob paths of the files with translations"}),"\n",(0,r.jsx)(n.h3,{id:"plugins",children:"plugins?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"plugins"}),": ",(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaCliPlugin",children:(0,r.jsx)(n.code,{children:"ImaCliPlugin"})}),"[]"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Optional IMA cli plugins that can be used to easily extend\nwebpack config and cli with additional features."}),"\n",(0,r.jsx)(n.h3,{id:"postcss",children:"postcss()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"postcss"}),": (",(0,r.jsx)(n.code,{children:"config"}),", ",(0,r.jsx)(n.code,{children:"ctx"}),") => ",(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">>"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Function which receives postcss-loader config and current context, this can be used\nto customize existing default postcss config or completely replace it with a custom one."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"config",children:"config"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">"]}),"\n",(0,r.jsx)(n.h5,{id:"ctx",children:"ctx"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n",(0,r.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">>"]}),"\n",(0,r.jsx)(n.h3,{id:"publicpath",children:"publicPath"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"publicPath"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Webpack assets public path [default='']"}),"\n",(0,r.jsx)(n.h3,{id:"sourcemaps",children:"sourceMaps?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"sourceMaps"}),": ",(0,r.jsx)(n.code,{children:"boolean"})," | ",(0,r.jsx)(n.code,{children:'"eval"'})," | ",(0,r.jsx)(n.code,{children:'"eval-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"eval-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"eval-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"source-map"'})," | ",(0,r.jsx)(n.code,{children:'"inline-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"inline-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"inline-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"eval-nosources-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"eval-nosources-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"eval-nosources-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"inline-nosources-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"inline-nosources-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"inline-nosources-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"nosources-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"nosources-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"nosources-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"hidden-nosources-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"hidden-nosources-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"hidden-nosources-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"hidden-cheap-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"hidden-cheap-module-source-map"'})," | ",(0,r.jsx)(n.code,{children:'"hidden-source-map"'})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Set to true (or any preset from ",(0,r.jsx)(n.a,{href:"https://webpack.js.org/configuration/devtool/#devtool",children:"https://webpack.js.org/configuration/devtool/#devtool"}),")\nto enable source maps for production build. (dev/watch tasks always generate\nsource maps to work properly with error overlay)."]}),"\n",(0,r.jsx)(n.h3,{id:"swc",children:"swc()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"swc"}),": (",(0,r.jsx)(n.code,{children:"config"}),", ",(0,r.jsx)(n.code,{children:"ctx"}),") => ",(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">>"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Function which receives default app swc-loader config and current context,\nthis can be used for additional customization or returning completely different config."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"config-1",children:"config"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">"]}),"\n",(0,r.jsx)(n.h5,{id:"ctx-1",children:"ctx"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n",(0,r.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">>"]}),"\n",(0,r.jsx)(n.h3,{id:"swcvendor",children:"swcVendor()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"swcVendor"}),": (",(0,r.jsx)(n.code,{children:"config"}),", ",(0,r.jsx)(n.code,{children:"ctx"}),") => ",(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">>"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Function which receives default vendor swc-loader config and current context,\nthis can be used for additional customization of vendor processed files."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"config-2",children:"config"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">"]}),"\n",(0,r.jsx)(n.h5,{id:"ctx-2",children:"ctx"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n",(0,r.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", ",(0,r.jsx)(n.code,{children:"unknown"}),">>"]}),"\n",(0,r.jsx)(n.h3,{id:"transformvendorpaths",children:"transformVendorPaths?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"transformVendorPaths"}),": ",(0,r.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Advanced functionality allowing you to include/exclude custom vendor paths that go through\nswc loader (configured using swcVendor function). Use this if you're using dependencies\nthat don't meet the lowest supported ES version target (ES9 by default). all packages in"}),"\n",(0,r.jsx)(n.h4,{id:"ima",children:"Ima"}),"\n",(0,r.jsx)(n.p,{children:"namespace are included by default."}),"\n",(0,r.jsx)(n.h4,{id:"transformvendorpathsexclude",children:"transformVendorPaths.exclude?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"transformVendorPaths.exclude"}),": ",(0,r.jsx)(n.code,{children:"RegExp"}),"[]"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"transformvendorpathsinclude",children:"transformVendorPaths.include?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"transformVendorPaths.include"}),": ",(0,r.jsx)(n.code,{children:"RegExp"}),"[]"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"watchoptions",children:"watchOptions"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"watchOptions"}),": ",(0,r.jsx)(n.code,{children:"Watching"}),"[",(0,r.jsx)(n.code,{children:'"watchOptions"'}),"]"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Custom options passed to webpack watch api interface. For more information see:\n",(0,r.jsx)(n.a,{href:"https://webpack.js.org/configuration/watch/#watchoptions",children:"https://webpack.js.org/configuration/watch/#watchoptions"})]}),"\n",(0,r.jsx)(n.h3,{id:"webpack",children:"webpack()?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"webpack"}),": (",(0,r.jsx)(n.code,{children:"config"}),", ",(0,r.jsx)(n.code,{children:"ctx"}),", ",(0,r.jsx)(n.code,{children:"imaConfig"}),") => ",(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Configuration"}),">"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Webpack callback function can be used to completely customize default webpack config before it's run."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"config-3",children:"config"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"Configuration"})}),"\n",(0,r.jsx)(n.h5,{id:"ctx-3",children:"ctx"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n",(0,r.jsx)(n.h5,{id:"imaconfig",children:"imaConfig"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(n.code,{children:"ImaConfig"})})}),"\n",(0,r.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.code,{children:"Configuration"}),">"]}),"\n",(0,r.jsx)(n.h3,{id:"webpackaliases",children:"webpackAliases?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"webpackAliases"}),": ",(0,r.jsx)(n.code,{children:"ResolveOptions"}),"[",(0,r.jsx)(n.code,{children:'"alias"'}),"]"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Optional custom webpack aliases"}),"\n",(0,r.jsx)(n.h3,{id:"prepareconfigurations",children:"prepareConfigurations()?"}),"\n",(0,r.jsx)(n.p,{children:"Called right before creating webpack configurations after preProcess call.\nThis hook lets you customize configuration contexts for each webpack config\nthat will be generated. This is usefull when you need to overrite configuration\ncontexts for values that are not editable anywhere else (like output folders)."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"configurations",children:"configurations"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(n.code,{children:"ImaConfigurationContext"})}),"[]"]}),"\n",(0,r.jsx)(n.h5,{id:"imaconfig-1",children:"imaConfig"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(n.code,{children:"ImaConfig"})})}),"\n",(0,r.jsx)(n.h5,{id:"args",children:"args"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(n.code,{children:"ImaCliArgs"})})}),"\n",(0,r.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(n.code,{children:"ImaConfigurationContext"})}),"[]>"]})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>l});var s=i(3696);const r={},c=s.createContext(r);function o(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0b304565.382244c9.js b/assets/js/0b304565.382244c9.js deleted file mode 100644 index 3aa1c09a1..000000000 --- a/assets/js/0b304565.382244c9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[686],{5680:(e,n,a)=>{a.d(n,{xA:()=>g,yg:()=>m});var t=a(6540);function i(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function l(e){for(var n=1;n=0||(i[a]=e[a]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var o=t.createContext({}),s=function(e){var n=t.useContext(o),a=n;return e&&(a="function"==typeof e?e(n):l(l({},n),e)),a},g=function(e){var n=s(e.components);return t.createElement(o.Provider,{value:n},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},y=t.forwardRef((function(e,n){var a=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),d=s(a),y=i,m=d["".concat(o,".").concat(y)]||d[y]||c[y]||r;return a?t.createElement(m,l(l({ref:n},g),{},{components:a})):t.createElement(m,l({ref:n},g))}));function m(e,n){var a=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=a.length,l=new Array(r);l[0]=y;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[d]="string"==typeof e?e:i,l[1]=p;for(var s=2;s{a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>p,toc:()=>s});var t=a(8102),i=(a(6540),a(5680));const r={id:"ima_core.GlobalImaObject",title:"Interface: GlobalImaObject",sidebar_label:"@ima/core.GlobalImaObject",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_core.GlobalImaObject",id:"api/interfaces/ima_core.GlobalImaObject",title:"Interface: GlobalImaObject",description:"@ima/core.GlobalImaObject",source:"@site/../docs/api/interfaces/ima_core.GlobalImaObject.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.GlobalImaObject",permalink:"/api/interfaces/ima_core.GlobalImaObject",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.GlobalImaObject",title:"Interface: GlobalImaObject",sidebar_label:"@ima/core.GlobalImaObject",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Environment",permalink:"/api/interfaces/ima_core.Environment"},next:{title:"@ima/core.HttpAgentRequestOptions",permalink:"/api/interfaces/ima_core.HttpAgentRequestOptions"}},o={},s=[{value:"Properties",id:"properties",level:2},{value:"$App",id:"app",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"$Debug",id:"debug",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"$Env",id:"env",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"$Host",id:"host",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"$IMA",id:"ima",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"$Language",id:"language",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"$LanguagePartPath",id:"languagepartpath",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"$Path",id:"path",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"$Protocol",id:"protocol",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"$PublicPath",id:"publicpath",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"$RequestID",id:"requestid",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"$Root",id:"root",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"$Version",id:"version",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"Cache",id:"cache",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"Runner",id:"runner",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"SPA",id:"spa",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"Test",id:"test",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"fatalErrorHandler",id:"fatalerrorhandler",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-17",level:4},{value:"i18n",id:"i18n",level:3},{value:"Defined in",id:"defined-in-18",level:4}],g={toc:s},d="wrapper";function c(e){let{components:n,...a}=e;return(0,i.yg)(d,(0,t.A)({},g,a,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".GlobalImaObject"),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"app"},"$App"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$App"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"$AppSettings")),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L54"},"packages/core/src/types.ts:54")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"debug"},"$Debug"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Debug"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"boolean")),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L56"},"packages/core/src/types.ts:56")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"env"},"$Env"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Env"),": keyof ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.AppEnvironment"},(0,i.yg)("inlineCode",{parentName:"a"},"AppEnvironment"))),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L52"},"packages/core/src/types.ts:52")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"host"},"$Host"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Host"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L58"},"packages/core/src/types.ts:58")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"ima"},"$IMA"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$IMA"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.GlobalImaObject"},(0,i.yg)("inlineCode",{parentName:"a"},"GlobalImaObject"))),(0,i.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L65"},"packages/core/src/types.ts:65")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"language"},"$Language"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Language"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L55"},"packages/core/src/types.ts:55")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"languagepartpath"},"$LanguagePartPath"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$LanguagePartPath"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L61"},"packages/core/src/types.ts:61")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"path"},"$Path"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Path"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L59"},"packages/core/src/types.ts:59")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"protocol"},"$Protocol"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Protocol"),": ",(0,i.yg)("inlineCode",{parentName:"p"},'"http:"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},'"https:"')),(0,i.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L57"},"packages/core/src/types.ts:57")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"publicpath"},"$PublicPath"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$PublicPath"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L67"},"packages/core/src/types.ts:67")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"requestid"},"$RequestID"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$RequestID"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L66"},"packages/core/src/types.ts:66")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"root"},"$Root"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Root"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L60"},"packages/core/src/types.ts:60")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"version"},"$Version"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"$Version"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L53"},"packages/core/src/types.ts:53")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"cache"},"Cache"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"Cache"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"object")),(0,i.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L70"},"packages/core/src/types.ts:70")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"runner"},"Runner"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"Runner"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"object")),(0,i.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L62"},"packages/core/src/types.ts:62")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"spa"},"SPA"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"SPA"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"boolean")),(0,i.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L64"},"packages/core/src/types.ts:64")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"test"},"Test"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"Test"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"boolean")),(0,i.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L63"},"packages/core/src/types.ts:63")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"fatalerrorhandler"},"fatalErrorHandler"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"fatalErrorHandler"),": (",(0,i.yg)("inlineCode",{parentName:"p"},"error"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"Error"),") => ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,i.yg)("p",null,"\u25b8 (",(0,i.yg)("inlineCode",{parentName:"p"},"error"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h5",{id:"parameters"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"error")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Error"))))),(0,i.yg)("h5",{id:"returns"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L69"},"packages/core/src/types.ts:69")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"i18n"},"i18n"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"i18n"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dictionarydata"},(0,i.yg)("inlineCode",{parentName:"a"},"DictionaryData"))),(0,i.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L68"},"packages/core/src/types.ts:68")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0b497735.5f133538.js b/assets/js/0b497735.5f133538.js deleted file mode 100644 index f6fa95f6d..000000000 --- a/assets/js/0b497735.5f133538.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6954],{5680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>u});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),d=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},g=function(e){var n=d(e.components);return a.createElement(o.Provider,{value:n},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},s=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),y=d(t),s=r,u=y["".concat(o,".").concat(s)]||y[s]||m[s]||l;return t?a.createElement(u,i(i({ref:n},g),{},{components:t})):a.createElement(u,i({ref:n},g))}));function u(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=s;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[y]="string"==typeof e?e:r,i[1]=p;for(var d=2;d{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>p,toc:()=>d});var a=t(8102),r=(t(6540),t(5680));const l={id:"ima_react_page_renderer.BlankManagedRootView",title:"Class: BlankManagedRootView",sidebar_label:"@ima/react-page-renderer.BlankManagedRootView",custom_edit_url:null},i=void 0,p={unversionedId:"api/classes/ima_react_page_renderer.BlankManagedRootView",id:"api/classes/ima_react_page_renderer.BlankManagedRootView",title:"Class: BlankManagedRootView",description:"@ima/react-page-renderer.BlankManagedRootView",source:"@site/../docs/api/classes/ima_react_page_renderer.BlankManagedRootView.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.BlankManagedRootView",permalink:"/api/classes/ima_react_page_renderer.BlankManagedRootView",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.BlankManagedRootView",title:"Class: BlankManagedRootView",sidebar_label:"@ima/react-page-renderer.BlankManagedRootView",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.AbstractPureComponent",permalink:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},next:{title:"@ima/react-page-renderer.ErrorBoundary",permalink:"/api/classes/ima_react_page_renderer.ErrorBoundary"}},o={},d=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"props",id:"props",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"refs",id:"refs",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"Accessors",id:"accessors",level:2},{value:"defaultProps",id:"defaultprops",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"UNSAFE_componentWillMount",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"UNSAFE_componentWillReceiveProps",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"UNSAFE_componentWillUpdate",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"componentDidCatch",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"componentDidMount",id:"componentdidmount",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"componentDidUpdate",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"componentWillMount",id:"componentwillmount",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"componentWillReceiveProps",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"componentWillUnmount",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"componentWillUpdate",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"forceUpdate",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"getSnapshotBeforeUpdate",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"render",id:"render",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"shouldComponentUpdate",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"Defined in",id:"defined-in-22",level:4}],g={toc:d},y="wrapper";function m(e){let{components:n,...t}=e;return(0,r.yg)(y,(0,a.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".BlankManagedRootView"),(0,r.yg)("p",null,"Blank managed root view does not nothing except for rendering the current\npage view."),(0,r.yg)("p",null,"This is the default managed root view."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"BlankManagedRootViewProps")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"BlankManagedRootViewProps"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"p"},"Component"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"BlankManagedRootView"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new BlankManagedRootView"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),")"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"BlankManagedRootViewProps")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"BlankManagedRootViewProps"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P"))))),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,"Component\\",".constructor"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1008"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new BlankManagedRootView"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"context"),")"),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"BlankManagedRootViewProps")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"BlankManagedRootViewProps"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"context")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/legacy-context.html"},"React Docs")),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,"Component\\",".constructor"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1013"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"context"},"context"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"context"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("p",null,"If using the new style context, re-declare this in your class to be the\n",(0,r.yg)("inlineCode",{parentName:"p"},"React.ContextType")," of your ",(0,r.yg)("inlineCode",{parentName:"p"},"static contextType"),".\nShould be used with type annotation or static contextType."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType\n// For TS 3.7 and above:\ndeclare context: React.ContextType\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://react.dev/reference/react/Component#context"},"React Docs")),(0,r.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,r.yg)("p",null,"Component.context"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1006"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"props"},"props"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,r.yg)("strong",{parentName:"p"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),">"),(0,r.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,r.yg)("p",null,"Component.props"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1026"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"refs"},"refs"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"refs"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs"},"Legacy React Docs")),(0,r.yg)("h4",{id:"index-signature"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactInstance")),(0,r.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,r.yg)("p",null,"Component.refs"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1033"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"state"},"state"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"state"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,r.yg)("p",null,"Component.state"),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1027"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"contexttype"},"contextType"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"contextType"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Context"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,r.yg)("p",null,"If set, ",(0,r.yg)("inlineCode",{parentName:"p"},"this.context")," will be set at runtime to the current value of the given Context."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"type MyContext = number\nconst Ctx = React.createContext(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType\n render () {\n return <>My context's value: {this.context};\n }\n}\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://react.dev/reference/react/Component#static-contexttype"},"https://react.dev/reference/react/Component#static-contexttype")),(0,r.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,r.yg)("p",null,"Component.contextType"),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:988"),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"defaultprops"},"defaultProps"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"defaultProps"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageView")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null"))))),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/BlankManagedRootView.ts#L23"},"packages/react-page-renderer/src/component/BlankManagedRootView.ts:23")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"unsafe_componentwillmount"},"UNSAFE","_","componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#componentdidmount"},"componentDidMount")," or the constructor instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillMount"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1463"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillreceiveprops"},"UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1497"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillupdate"},"UNSAFE","_","componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#setstate"},"setState")," here."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1527"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidcatch"},"componentDidCatch"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidCatch"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"error"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"errorInfo"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"error")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"errorInfo")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ErrorInfo"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidCatch"),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1390"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidmount"},"componentDidMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after a component is mounted. Setting state here will trigger re-rendering."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidMount"),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1369"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidupdate"},"componentDidUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"snapshot?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after updating occurs. Not called for the initial render."),(0,r.yg)("p",null,"The snapshot is only present if ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate")," is present and returns non-null."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"snapshot?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS"))))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidUpdate"),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1432"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillmount"},"componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#componentdidmount"},"componentDidMount")," or the constructor instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillMount"),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1448"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillreceiveprops"},"componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1479"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillunmount"},"componentWillUnmount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUnmount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidMount"),"."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillUnmount"),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1385"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillupdate"},"componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#setstate"},"setState")," here."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1511"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"forceupdate"},"forceUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"forceUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,r.yg)("p",null,"Component.forceUpdate"),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1023"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"getSnapshotBeforeUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"Runs before React applies the result of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#render"},"render")," to the document, and\nreturns an object to be given to ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#componentdidupdate"},"componentDidUpdate"),". Useful for saving\nthings such as scroll position before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#render"},"render")," causes changes to it."),(0,r.yg)("p",null,"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,r.yg)("p",null,"Component.getSnapshotBeforeUpdate"),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1426"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"render"},"render"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"render"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactElement"),"\\<{}, ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"JSXElementConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactElement"),"\\<{}, ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"JSXElementConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,"Component.render"),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/BlankManagedRootView.ts#L32"},"packages/react-page-renderer/src/component/BlankManagedRootView.ts:32")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"prevState"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">",", ",(0,r.yg)("inlineCode",{parentName:"td"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,r.yg)("p",null,"Component.setState"),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1018"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"shouldcomponentupdate"},"shouldComponentUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"shouldComponentUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Called to determine whether the change in props and state should trigger a re-render."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Component")," always returns true.\n",(0,r.yg)("inlineCode",{parentName:"p"},"PureComponent")," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."),(0,r.yg)("p",null,"If false is returned, ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView#render"},"render"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"componentWillUpdate"),"\nand ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidUpdate")," will not be called."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from-20"},"Inherited from"),(0,r.yg)("p",null,"Component.shouldComponentUpdate"),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1380"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0be7a9d3.83b65846.js b/assets/js/0be7a9d3.83b65846.js new file mode 100644 index 000000000..92b89e22b --- /dev/null +++ b/assets/js/0be7a9d3.83b65846.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5128],{8746:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>t,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/ManageArgs","title":"Type Alias: ManageArgs","description":"ManageArgs: object","source":"@site/../docs/api/@ima/core/type-aliases/ManageArgs.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/ManageArgs","permalink":"/api/@ima/core/type-aliases/ManageArgs","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/ManageArgs.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: LocalizationFunction()","permalink":"/api/@ima/core/type-aliases/LocalizationFunction"},"next":{"title":"Type Alias: ManagedPage","permalink":"/api/@ima/core/type-aliases/ManagedPage"}}');var i=n(2540),r=n(3023);const t={},o="Type Alias: ManageArgs",c={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"action?",id:"action",level:3},{value:"options",id:"options",level:3},{value:"params?",id:"params",level:3},{value:"route",id:"route",level:3}];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.header,{children:(0,i.jsx)(a.h1,{id:"type-alias-manageargs",children:"Type Alias: ManageArgs"})}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.strong,{children:"ManageArgs"}),": ",(0,i.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(a.p,{children:["Defined in: ",(0,i.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L5",children:"packages/core/src/page/manager/PageManager.ts:5"})]}),"\n",(0,i.jsx)(a.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(a.h3,{id:"action",children:"action?"}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.code,{children:"optional"})," ",(0,i.jsx)(a.strong,{children:"action"}),": ",(0,i.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,i.jsx)(a.code,{children:"PageAction"})})]}),"\n"]}),"\n",(0,i.jsx)(a.h3,{id:"options",children:"options"}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.strong,{children:"options"}),": ",(0,i.jsx)(a.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(a.code,{children:"RouteOptions"})})]}),"\n"]}),"\n",(0,i.jsx)(a.h3,{id:"params",children:"params?"}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.code,{children:"optional"})," ",(0,i.jsx)(a.strong,{children:"params"}),": ",(0,i.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(a.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,i.jsx)(a.h3,{id:"route",children:"route"}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.strong,{children:"route"}),": ",(0,i.jsx)(a.code,{children:"InstanceType"}),"<",(0,i.jsx)(a.em,{children:"typeof"})," ",(0,i.jsx)(a.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(a.code,{children:"AbstractRoute"})}),">"]}),"\n"]})]})}function p(e={}){const{wrapper:a}={...(0,r.R)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>o});var s=n(3696);const i={},r=s.createContext(i);function t(e){const a=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0c33a80b.3a5979c7.js b/assets/js/0c33a80b.3a5979c7.js new file mode 100644 index 000000000..c7569f59c --- /dev/null +++ b/assets/js/0c33a80b.3a5979c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3187],{7698:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"api/@ima/core/classes/Error","title":"Class: abstract Error","description":"Defined in7","source":"@site/../docs/api/@ima/core/classes/Error.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Error","permalink":"/api/@ima/core/classes/Error","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Error.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: Entry\\\\","permalink":"/api/@ima/core/classes/Entry"},"next":{"title":"Class: abstract EventBus","permalink":"/api/@ima/core/classes/EventBus"}}');var i=s(2540),c=s(3023);const t={},d="Class: abstract Error",l={},a=[{value:"Extends",id:"extends",level:2},{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Error()",id:"new-error",level:3},{value:"Parameters",id:"parameters",level:4},{value:"message",id:"message",level:5},{value:"params?",id:"params",level:5},{value:"cause",id:"cause",level:6},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"cause?",id:"cause-1",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"message",id:"message-1",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"stack?",id:"stack",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"prepareStackTrace()?",id:"preparestacktrace",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"err",id:"err",level:5},{value:"stackTraces",id:"stacktraces",level:5},{value:"Returns",id:"returns-1",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"stackTraceLimit",id:"stacktracelimit",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Methods",id:"methods",level:2},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-2",level:4},{value:"See",id:"see-1",level:4},{value:"getParams()",id:"getparams",level:3},{value:"Returns",id:"returns-3",level:4},{value:"See",id:"see-2",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Returns",id:"returns-4",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Returns",id:"returns-5",level:4},{value:"captureStackTrace()",id:"capturestacktrace",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"targetObject",id:"targetobject",level:5},{value:"constructorOpt?",id:"constructoropt",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-6",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsxs)(r.h1,{id:"class-abstract-error",children:["Class: ",(0,i.jsx)(r.code,{children:"abstract"})," Error"]})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/Error.ts#L7",children:"packages/core/src/error/Error.ts:7"})]}),"\n",(0,i.jsxs)(r.p,{children:["The IMA application error extends the native ",(0,i.jsx)(r.code,{children:"Error"})," with additional details\nthat lead to the error and the HTTP status code to send to the client."]}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.code,{children:"Error"})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,i.jsx)(r.code,{children:"GenericError"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-error",children:"new Error()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new Error"}),"(",(0,i.jsx)(r.code,{children:"message"}),", ",(0,i.jsx)(r.code,{children:"params"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/Error.ts#L8",children:"packages/core/src/error/Error.ts:8"})]}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"message",children:"message"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params?"}),"\n",(0,i.jsx)(r.h6,{id:"cause",children:"cause"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.code,{children:"Error"})]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.constructor"})}),"\n",(0,i.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(r.h3,{id:"cause-1",children:"cause?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"cause"}),": ",(0,i.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.cause"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"message-1",children:"message"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"message"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.message"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"name",children:"name"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"name"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.name"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"stack",children:"stack?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"stack"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.stack"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"preparestacktrace",children:"prepareStackTrace()?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"prepareStackTrace"}),": (",(0,i.jsx)(r.code,{children:"err"}),", ",(0,i.jsx)(r.code,{children:"stackTraces"}),") => ",(0,i.jsx)(r.code,{children:"any"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:98"}),"\n",(0,i.jsx)(r.p,{children:"Optional override for formatting stack traces"}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"err",children:"err"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error"})}),"\n",(0,i.jsx)(r.h5,{id:"stacktraces",children:"stackTraces"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"CallSite"}),"[]"]}),"\n",(0,i.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"any"})}),"\n",(0,i.jsx)(r.h4,{id:"see",children:"See"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces",children:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.prepareStackTrace"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"stacktracelimit",children:"stackTraceLimit"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.strong,{children:"stackTraceLimit"}),": ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:100"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.stackTraceLimit"})}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getHttpStatus"}),"(): ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/Error.ts#L24",children:"packages/core/src/error/Error.ts:24"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the HTTP status to send to the client."}),"\n",(0,i.jsx)(r.p,{children:"If the error has occurred at the client-side, the status code is used to\ndetermine the error page to show to the user."}),"\n",(0,i.jsxs)(r.p,{children:["This method is a shorthand for the following code snippet:\n",(0,i.jsx)(r.code,{children:"this.getParams().status || 500"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"number"})}),"\n",(0,i.jsx)(r.p,{children:"The HTTP status to send to the client."}),"\n",(0,i.jsx)(r.h4,{id:"see-1",children:"See"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getparams",children:"getParams()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getParams"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/Error.ts#L39",children:"packages/core/src/error/Error.ts:39"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the error parameters providing additional details about the\nerror. The structure of the returned object is always\nsituation-dependent, but the returned object usually contains the\n",(0,i.jsx)(r.code,{children:"status: number"})," field which represents the HTTP status to send to\nthe client."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,i.jsx)(r.p,{children:"The route parameters of the route at which\nthe error has occurred."}),"\n",(0,i.jsx)(r.h4,{id:"see-2",children:"See"}),"\n",(0,i.jsx)(r.p,{children:"Error#getHttpStatus"}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isClientError"}),"(): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/Error.ts#L50",children:"packages/core/src/error/Error.ts:50"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isRedirection"}),"(): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/Error.ts#L59",children:"packages/core/src/error/Error.ts:59"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, whether the specified error should lead to a redirect."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error should cause a redirect."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"capturestacktrace",children:"captureStackTrace()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.strong,{children:"captureStackTrace"}),"(",(0,i.jsx)(r.code,{children:"targetObject"}),", ",(0,i.jsx)(r.code,{children:"constructorOpt"}),"?): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:91"}),"\n",(0,i.jsx)(r.p,{children:"Create .stack property on a target object"}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"targetobject",children:"targetObject"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsx)(r.h5,{id:"constructoropt",children:"constructorOpt?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Function"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error.captureStackTrace"})})]})}function h(e={}){const{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>t,x:()=>d});var n=s(3696);const i={},c=n.createContext(i);function t(e){const r=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),n.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0d30e104.0ee666d4.js b/assets/js/0d30e104.0ee666d4.js new file mode 100644 index 000000000..803366ae7 --- /dev/null +++ b/assets/js/0d30e104.0ee666d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2528],{3904:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"api/@ima/dev-utils/functions/resolveErrorType","title":"Function: resolveErrorType()","description":"resolveErrorType(error): \\"compile\\" \\\\| \\"runtime\\"","source":"@site/../docs/api/@ima/dev-utils/functions/resolveErrorType.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/resolveErrorType","permalink":"/api/@ima/dev-utils/functions/resolveErrorType","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/resolveErrorType.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: printTime()","permalink":"/api/@ima/dev-utils/functions/printTime"},"next":{"title":"Function: time()","permalink":"/api/@ima/dev-utils/functions/time"}}');var s=n(2540),i=n(3023);const o={},c="Function: resolveErrorType()",l={},a=[{value:"Parameters",id:"parameters",level:2},{value:"error",id:"error",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"function-resolveerrortype",children:"Function: resolveErrorType()"})}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"resolveErrorType"}),"(",(0,s.jsx)(r.code,{children:"error"}),"): ",(0,s.jsx)(r.code,{children:'"compile"'})," | ",(0,s.jsx)(r.code,{children:'"runtime"'})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/compileErrorParser.ts#L16",children:"compileErrorParser.ts:16"})]}),"\n",(0,s.jsx)(r.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h3,{id:"error",children:"error"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"StatsError"})," | ",(0,s.jsx)(r.code,{children:"Error"})]}),"\n",(0,s.jsx)(r.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:'"compile"'})," | ",(0,s.jsx)(r.code,{children:'"runtime"'})]})]})}function u(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>o,x:()=>c});var t=n(3696);const s={},i=t.createContext(s);function o(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0d60f290.e758c00a.js b/assets/js/0d60f290.e758c00a.js new file mode 100644 index 000000000..078bfd67e --- /dev/null +++ b/assets/js/0d60f290.e758c00a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4438],{6194:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/dev-utils/interfaces/FragmentLine","title":"Interface: FragmentLine","description":"Defined in1","source":"@site/../docs/api/@ima/dev-utils/interfaces/FragmentLine.md","sourceDirName":"api/@ima/dev-utils/interfaces","slug":"/api/@ima/dev-utils/interfaces/FragmentLine","permalink":"/api/@ima/dev-utils/interfaces/FragmentLine","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/interfaces/FragmentLine.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: CompileError","permalink":"/api/@ima/dev-utils/interfaces/CompileError"},"next":{"title":"Interface: LoggerOptions","permalink":"/api/@ima/dev-utils/interfaces/LoggerOptions"}}');var s=i(2540),r=i(3023);const c={},a="Interface: FragmentLine",o={},l=[{value:"Properties",id:"properties",level:2},{value:"highlight",id:"highlight",level:3},{value:"line",id:"line",level:3},{value:"source",id:"source",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"interface-fragmentline",children:"Interface: FragmentLine"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/sourceFragment.ts#L1",children:"sourceFragment.ts:1"})]}),"\n",(0,s.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(n.h3,{id:"highlight",children:"highlight"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"highlight"}),": ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/sourceFragment.ts#L4",children:"sourceFragment.ts:4"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"line",children:"line"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"line"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/sourceFragment.ts#L2",children:"sourceFragment.ts:2"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"source",children:"source"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"source"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/sourceFragment.ts#L3",children:"sourceFragment.ts:3"})]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>a});var t=i(3696);const s={},r=t.createContext(s);function c(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e0c957d.373e12ca.js b/assets/js/0e0c957d.373e12ca.js new file mode 100644 index 000000000..d440e38c5 --- /dev/null +++ b/assets/js/0e0c957d.373e12ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6510],{3155:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/AbstractRouter","title":"Class: abstract AbstractRouter","description":"Defined in49","source":"@site/../docs/api/@ima/core/classes/AbstractRouter.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/AbstractRouter","permalink":"/api/@ima/core/classes/AbstractRouter","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/AbstractRouter.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractRoute\\\\","permalink":"/api/@ima/core/classes/AbstractRoute"},"next":{"title":"Class: Bootstrap","permalink":"/api/@ima/core/classes/Bootstrap"}}');var i=s(2540),t=s(3023);const c={},a="Class: abstract AbstractRouter",d={},l=[{value:"Extends",id:"extends",level:2},{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractRouter()",id:"new-abstractrouter",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageManager",id:"pagemanager",level:5},{value:"factory",id:"factory",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns",level:4},{value:"Examples",id:"examples",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_currentlyRoutedPath",id:"_currentlyroutedpath",level:3},{value:"_currentMiddlewareId",id:"_currentmiddlewareid",level:3},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"_factory",id:"_factory",level:3},{value:"_host",id:"_host",level:3},{value:"_isSPARouted",id:"_issparouted",level:3},{value:"_languagePartPath",id:"_languagepartpath",level:3},{value:"_middlewareTimeout",id:"_middlewaretimeout",level:3},{value:"_pageManager",id:"_pagemanager",level:3},{value:"_protocol",id:"_protocol",level:3},{value:"_root",id:"_root",level:3},{value:"_routeHandlers",id:"_routehandlers",level:3},{value:"Methods",id:"methods",level:2},{value:"_extractRoutePath()",id:"_extractroutepath",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"path",id:"path",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_getCurrentlyRoutedPath()",id:"_getcurrentlyroutedpath",level:3},{value:"Returns",id:"returns-2",level:4},{value:"_getMiddlewaresForRoute()",id:"_getmiddlewaresforroute",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"routeName",id:"routename",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_handle()",id:"_handle",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"route",id:"route",level:5},{value:"params",id:"params",level:5},{value:"options?",id:"options",level:5},{value:"action?",id:"action",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_runMiddlewares()",id:"_runmiddlewares",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"middlewares",id:"middlewares",level:5},{value:"params",id:"params-1",level:5},{value:"locals",id:"locals",level:5},{value:"Returns",id:"returns-5",level:4},{value:"add()",id:"add",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Throws",id:"throws",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getBaseUrl()",id:"getbaseurl",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"getCurrentRouteInfo()",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-8",level:4},{value:"params",id:"params-2",level:5},{value:"path",id:"path-1",level:5},{value:"route",id:"route-1",level:5},{value:"Throws",id:"throws-1",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"getProtocol()",id:"getprotocol",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"getRouteHandler()",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"name",id:"name-1",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getRouteHandlers()",id:"getroutehandlers",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"getRouteHandlersByPath()",id:"getroutehandlersbypath",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"path",id:"path-2",level:5},{value:"Returns",id:"returns-15",level:4},{value:"middlewares",id:"middlewares-1",level:5},{value:"route?",id:"route-2",level:5},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"handleError()",id:"handleerror",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"params",id:"params-3",level:5},{value:"options?",id:"options-2",level:5},{value:"locals?",id:"locals-1",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"handleNotFound()",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"params",id:"params-4",level:5},{value:"options?",id:"options-3",level:5},{value:"locals?",id:"locals-2",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"config",id:"config",level:5},{value:"$Host",id:"host",level:6},{value:"$LanguagePartPath",id:"languagepartpath",level:6},{value:"$Protocol",id:"protocol",level:6},{value:"$Root",id:"root",level:6},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"reason",id:"reason",level:5},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"reason",id:"reason-1",level:5},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"routeName",id:"routename-1",level:5},{value:"params",id:"params-5",level:5},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"listen()",id:"listen",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"url",id:"url",level:5},{value:"options?",id:"options-4",level:5},{value:"action?",id:"action-1",level:5},{value:"locals?",id:"locals-3",level:5},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"remove()",id:"remove",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"name",id:"name-2",level:5},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"route()",id:"route-3",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"path",id:"path-3",level:5},{value:"options?",id:"options-5",level:5},{value:"action?",id:"action-2",level:5},{value:"locals?",id:"locals-4",level:5},{value:"Returns",id:"returns-26",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Returns",id:"returns-27",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"use()",id:"use",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"middleware",id:"middleware",level:5},{value:"Returns",id:"returns-28",level:4},{value:"Throws",id:"throws-2",level:4},{value:"Overrides",id:"overrides-21",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsxs)(r.h1,{id:"class-abstract-abstractrouter",children:["Class: ",(0,i.jsx)(r.code,{children:"abstract"})," AbstractRouter"]})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L49",children:"packages/core/src/router/AbstractRouter.ts:49"})]}),"\n",(0,i.jsxs)(r.p,{children:["The basic implementation of the ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:"Router"})," interface, providing the\ncommon or default functionality for parts of the API."]}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-abstractrouter",children:"new AbstractRouter()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new AbstractRouter"}),"(",(0,i.jsx)(r.code,{children:"pageManager"}),", ",(0,i.jsx)(r.code,{children:"factory"}),", ",(0,i.jsx)(r.code,{children:"dispatcher"}),", ",(0,i.jsx)(r.code,{children:"settings"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L125",children:"packages/core/src/router/AbstractRouter.ts:125"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"pagemanager",children:"pageManager"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/PageManager",children:(0,i.jsx)(r.code,{children:"PageManager"})})}),"\n",(0,i.jsx)(r.p,{children:"The page manager handling UI rendering,\nand transitions between pages if at the client side."}),"\n",(0,i.jsx)(r.h5,{id:"factory",children:"factory"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,i.jsx)(r.code,{children:"RouteFactory"})})}),"\n",(0,i.jsx)(r.p,{children:"Factory for routes."}),"\n",(0,i.jsx)(r.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(r.code,{children:"Dispatcher"})})}),"\n",(0,i.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,i.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.code,{children:"number"})," | { ",(0,i.jsx)(r.code,{children:"isSPARouted"}),": (",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"action"}),"?) => ",(0,i.jsx)(r.code,{children:"boolean"}),"; ",(0,i.jsx)(r.code,{children:"middlewareTimeout"}),": ",(0,i.jsx)(r.code,{children:"number"}),"; }"]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n",(0,i.jsx)(r.h4,{id:"examples",children:"Examples"}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{className:"language-ts",children:"router.link('article', {articleId: 1});\n"})}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{className:"language-ts",children:"router.redirect('http://www.example.com/web');\n"})}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{className:"language-ts",children:"router.add(\n 'home',\n '/',\n ns.app.page.home.Controller,\n ns.app.page.home.View,\n {\n onlyUpdate: false,\n autoScroll: true,\n documentView: null,\n managedRootView: null,\n viewAdapter: null\n }\n );\n"})}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#constructors",children:(0,i.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(r.h3,{id:"_currentlyroutedpath",children:"_currentlyRoutedPath"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_currentlyRoutedPath"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L93",children:"packages/core/src/router/AbstractRouter.ts:93"})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_currentmiddlewareid",children:"_currentMiddlewareId"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_currentMiddlewareId"}),": ",(0,i.jsx)(r.code,{children:"number"})," = ",(0,i.jsx)(r.code,{children:"0"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L92",children:"packages/core/src/router/AbstractRouter.ts:92"})]}),"\n",(0,i.jsx)(r.p,{children:"Middleware ID counter which is used to auto-generate unique middleware\nnames when adding them to routeHandlers map."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_dispatcher"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(r.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L62",children:"packages/core/src/router/AbstractRouter.ts:62"})]}),"\n",(0,i.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_factory",children:"_factory"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_factory"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,i.jsx)(r.code,{children:"RouteFactory"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L58",children:"packages/core/src/router/AbstractRouter.ts:58"})]}),"\n",(0,i.jsx)(r.p,{children:"Factory for routes."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_host",children:"_host"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_host"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L71",children:"packages/core/src/router/AbstractRouter.ts:71"})]}),"\n",(0,i.jsx)(r.p,{children:"The application's host."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_issparouted",children:"_isSPARouted"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_isSPARouted"}),": ",(0,i.jsx)(r.code,{children:"undefined"})," | (",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"action"}),"?) => ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L95",children:"packages/core/src/router/AbstractRouter.ts:95"})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_languagepartpath",children:"_languagePartPath"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_languagePartPath"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L80",children:"packages/core/src/router/AbstractRouter.ts:80"})]}),"\n",(0,i.jsxs)(r.p,{children:["The URL path fragment used as a suffix to the ",(0,i.jsx)(r.code,{children:"_root"})," field\nthat specifies the current language."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_middlewaretimeout",children:"_middlewareTimeout"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_middlewareTimeout"}),": ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L94",children:"packages/core/src/router/AbstractRouter.ts:94"})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_pagemanager",children:"_pageManager"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_pageManager"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/PageManager",children:(0,i.jsx)(r.code,{children:"PageManager"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L54",children:"packages/core/src/router/AbstractRouter.ts:54"})]}),"\n",(0,i.jsx)(r.p,{children:"The page manager handling UI rendering, and transitions between\npages if at the client side."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_protocol",children:"_protocol"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_protocol"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L67",children:"packages/core/src/router/AbstractRouter.ts:67"})]}),"\n",(0,i.jsxs)(r.p,{children:["The current protocol used to access the application, terminated by a\ncolon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_root",children:"_root"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_root"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L75",children:"packages/core/src/router/AbstractRouter.ts:75"})]}),"\n",(0,i.jsx)(r.p,{children:"The URL path pointing to the application's root."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_routehandlers",children:"_routeHandlers"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_routeHandlers"}),": ",(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L84",children:"packages/core/src/router/AbstractRouter.ts:84"})]}),"\n",(0,i.jsx)(r.p,{children:"Storage of all known routes and middlewares. The key are their names."}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"_extractroutepath",children:"_extractRoutePath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_extractRoutePath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L526",children:"packages/core/src/router/AbstractRouter.ts:526"})]}),"\n",(0,i.jsx)(r.p,{children:"Strips the URL path part that points to the application's root (base\nURL) from the provided path."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Relative or absolute URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"URL path relative to the application's base URL."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getcurrentlyroutedpath",children:"_getCurrentlyRoutedPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getCurrentlyRoutedPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L664",children:"packages/core/src/router/AbstractRouter.ts:664"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns path that is stored in private property when a ",(0,i.jsx)(r.code,{children:"route"}),"\nmethod is called."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getmiddlewaresforroute",children:"_getMiddlewaresForRoute()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getMiddlewaresForRoute"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L642",children:"packages/core/src/router/AbstractRouter.ts:642"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns middlewares preceding given route name."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_handle",children:"_handle()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_handle"}),"(",(0,i.jsx)(r.code,{children:"route"}),", ",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L549",children:"packages/core/src/router/AbstractRouter.ts:549"})]}),"\n",(0,i.jsx)(r.p,{children:"Handles the provided route and parameters by initializing the route's\ncontroller and rendering its state via the route's view."}),"\n",(0,i.jsx)(r.p,{children:"The result is then sent to the client if used at the server side, or\ndisplayed if used as the client side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"route",children:"route"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"The route that should have its\nassociated controller rendered via the associated view."}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in the\n",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action\nobject describing what triggered this routing."}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise that resolves when the\npage is rendered and the result is sent to the client, or\ndisplayed if used at the client side."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_runmiddlewares",children:"_runMiddlewares()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_runMiddlewares"}),"(",(0,i.jsx)(r.code,{children:"middlewares"}),", ",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"locals"}),"): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L677",children:"packages/core/src/router/AbstractRouter.ts:677"})]}),"\n",(0,i.jsx)(r.p,{children:"Runs provided middlewares in sequence."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middlewares",children:"middlewares"}),"\n",(0,i.jsx)(r.p,{children:"Array of middlewares."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n",(0,i.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Router params that can be\nmutated by middlewares."}),"\n",(0,i.jsx)(r.h5,{id:"locals",children:"locals"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"add",children:"add()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"add"}),"(",(0,i.jsx)(r.code,{children:"name"}),", ",(0,i.jsx)(r.code,{children:"pathExpression"}),", ",(0,i.jsx)(r.code,{children:"controller"}),", ",(0,i.jsx)(r.code,{children:"view"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L167",children:"packages/core/src/router/AbstractRouter.ts:167"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new route to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of this route, identifying it among\nthe rest of the routes in the application."}),"\n",(0,i.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsxs)(r.p,{children:["A path expression specifying the URL path\npart matching this route (must not contain a query string),\noptionally containing named parameter placeholders specified as\n",(0,i.jsx)(r.code,{children:":parameterName"}),". The name of the parameter is terminated\nby a forward slash (",(0,i.jsx)(r.code,{children:"/"}),") or the end of the path expression\nstring.\nThe path expression may also contain optional parameters, which\nare specified as ",(0,i.jsx)(r.code,{children:":?parameterName"}),". It is recommended to\nspecify the optional parameters at the end of the path\nexpression."]}),"\n",(0,i.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,i.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name of Object Container alias\nidentifying the controller associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,i.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name or Object Container alias identifying\nthe view class associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"options-1",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["Additional route options, specified how the navigation to the\nroute will be handled.\nThe ",(0,i.jsx)(r.code,{children:"onlyUpdate"})," can be either a flag signalling whether\nthe current controller and view instances should be kept if they\nmatch the ones used by the previous route; or a callback function\nthat will receive the previous controller and view identifiers\nused in the previously matching route, and returns a\n",(0,i.jsx)(r.code,{children:"boolean"})," representing the value of the flag. This flag is\ndisabled by default.\nThe ",(0,i.jsx)(r.code,{children:"autoScroll"})," flag signals whether the page should be\nscrolled to the top when the navigation takes place. This flag is\nenabled by default."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route with the same name already exists."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#add",children:(0,i.jsx)(r.code,{children:"add"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getbaseurl",children:"getBaseUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getBaseUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L243",children:"packages/core/src/router/AbstractRouter.ts:243"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the application's absolute base URL, pointing to the public root\nof the application."}),"\n",(0,i.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The application's base URL."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#getbaseurl",children:(0,i.jsx)(r.code,{children:"getBaseUrl"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getcurrentrouteinfo",children:"getCurrentRouteInfo()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getCurrentRouteInfo"}),"(): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L271",children:"packages/core/src/router/AbstractRouter.ts:271"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the information about the currently active route."}),"\n",(0,i.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsx)(r.h5,{id:"params-2",children:"params"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"params"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})}),"<{}>"]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"path"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route-1",children:"route"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"throws-1",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route is not define for current path."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#getcurrentrouteinfo",children:(0,i.jsx)(r.code,{children:"getCurrentRouteInfo"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getDomain"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L250",children:"packages/core/src/router/AbstractRouter.ts:250"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the application's domain in the following form\n",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's domain."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#getdomain",children:(0,i.jsx)(r.code,{children:"getDomain"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"gethost",children:"getHost()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getHost"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L257",children:"packages/core/src/router/AbstractRouter.ts:257"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns application's host (domain and, if necessary, the port number)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's host."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#gethost",children:(0,i.jsx)(r.code,{children:"getHost"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getpath",children:"getPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L227",children:"packages/core/src/router/AbstractRouter.ts:227"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current path part of the current URL, including the query\nstring (if any)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The path and query parts of the current URL."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#getpath",children:(0,i.jsx)(r.code,{children:"getPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getprotocol",children:"getProtocol()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getProtocol"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L264",children:"packages/core/src/router/AbstractRouter.ts:264"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application protocol used to access the\napplication."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#getprotocol",children:(0,i.jsx)(r.code,{children:"getProtocol"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandler",children:"getRouteHandler()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandler"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L220",children:"packages/core/src/router/AbstractRouter.ts:220"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns specified handler from registered route handlers."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name."}),"\n",(0,i.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n",(0,i.jsx)(r.p,{children:"Route with given name or undefined."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#getroutehandler",children:(0,i.jsx)(r.code,{children:"getRouteHandler"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandlers",children:"getRouteHandlers()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandlers"}),"(): ",(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L297",children:"packages/core/src/router/AbstractRouter.ts:297"})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandlersbypath",children:"getRouteHandlersByPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandlersByPath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L615",children:"packages/core/src/router/AbstractRouter.ts:615"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the route matching the provided URL path part (the path may\ncontain a query) and all middlewares preceding this route definition."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-2",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsxs)(r.p,{children:["The route\nmatching the path and middlewares preceding it or ",(0,i.jsx)(r.code,{children:"{}"}),"\n(empty object) if no such route exists."]}),"\n",(0,i.jsx)(r.h5,{id:"middlewares-1",children:"middlewares"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"middlewares"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route-2",children:"route?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L236",children:"packages/core/src/router/AbstractRouter.ts:236"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current absolute URL (including protocol, host, query, etc)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current absolute URL."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#geturl",children:(0,i.jsx)(r.code,{children:"getUrl"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handleerror",children:"handleError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleError"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L402",children:"packages/core/src/router/AbstractRouter.ts:402"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-3",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-2",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-1",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#handleerror",children:(0,i.jsx)(r.code,{children:"handleError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handlenotfound",children:"handleNotFound()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleNotFound"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L454",children:"packages/core/src/router/AbstractRouter.ts:454"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-4",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-3",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-2",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#handlenotfound",children:(0,i.jsx)(r.code,{children:"handleNotFound"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"init"}),"(",(0,i.jsx)(r.code,{children:"config"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L151",children:"packages/core/src/router/AbstractRouter.ts:151"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the router with the provided configuration."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"config",children:"config"}),"\n",(0,i.jsxs)(r.p,{children:["Router configuration.\nThe ",(0,i.jsx)(r.code,{children:"$Protocol"})," field must be the current protocol used to\naccess the application, terminated by a colon (for example\n",(0,i.jsx)(r.code,{children:"https:"}),").\nThe ",(0,i.jsx)(r.code,{children:"$Root"})," field must specify the URL path pointing to the\napplication's root.\nThe ",(0,i.jsx)(r.code,{children:"$LanguagePartPath"})," field must be the URL path fragment\nused as a suffix to the ",(0,i.jsx)(r.code,{children:"$Root"})," field that specifies the\ncurrent language.\nThe ",(0,i.jsx)(r.code,{children:"$Host"})," field must be the application's domain (and the\nport number if other than the default is used) in the following\nform: ",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h6,{id:"host",children:"$Host"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"languagepartpath",children:"$LanguagePartPath"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"protocol",children:"$Protocol"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"root",children:"$Root"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#init",children:(0,i.jsx)(r.code,{children:"init"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isClientError"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L507",children:"packages/core/src/router/AbstractRouter.ts:507"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#isclienterror",children:(0,i.jsx)(r.code,{children:"isClientError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isRedirection"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L514",children:"packages/core/src/router/AbstractRouter.ts:514"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error lead to redirection."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason-1",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nredirection."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#isredirection",children:(0,i.jsx)(r.code,{children:"isRedirection"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"link",children:"link()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"link"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),", ",(0,i.jsx)(r.code,{children:"params"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L338",children:"packages/core/src/router/AbstractRouter.ts:338"})]}),"\n",(0,i.jsx)(r.p,{children:"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename-1",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of the route, identifying the\nroute to use."}),"\n",(0,i.jsx)(r.h5,{id:"params-5",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameter values for the route's\nparameter placeholders. Extraneous parameters will be added as\nURL query."}),"\n",(0,i.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"An absolute URL for the specified route and parameters."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#link",children:(0,i.jsx)(r.code,{children:"link"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"listen",children:"listen()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"abstract"})," ",(0,i.jsx)(r.strong,{children:"listen"}),"(): ",(0,i.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L305",children:"packages/core/src/router/AbstractRouter.ts:305"})]}),"\n",(0,i.jsx)(r.p,{children:'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This\nmethod has no effect at the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"this"})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-16",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#listen",children:(0,i.jsx)(r.code,{children:"listen"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"redirect"}),"(",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L323",children:"packages/core/src/router/AbstractRouter.ts:323"})]}),"\n",(0,i.jsx)(r.p,{children:"Redirects the client to the specified location."}),"\n",(0,i.jsxs)(r.p,{children:["At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,i.jsx)(r.code,{children:"Location"})," header."]}),"\n",(0,i.jsx)(r.p,{children:"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."}),"\n",(0,i.jsx)(r.p,{children:"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"url",children:"url"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL to which the client should be redirected."}),"\n",(0,i.jsx)(r.h5,{id:"options-4",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action-1",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-3",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"overrides-17",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#redirect",children:(0,i.jsx)(r.code,{children:"redirect"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"remove",children:"remove()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"remove"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L211",children:"packages/core/src/router/AbstractRouter.ts:211"})]}),"\n",(0,i.jsx)(r.p,{children:"Removes the specified route from the router's known routes."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-2",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name, identifying the route to remove."}),"\n",(0,i.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-18",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#remove",children:(0,i.jsx)(r.code,{children:"remove"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"route-3",children:"route()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),"(",(0,i.jsx)(r.code,{children:"path"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L363",children:"packages/core/src/router/AbstractRouter.ts:363"})]}),"\n",(0,i.jsx)(r.p,{children:"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-3",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path part received from the client, with\noptional query."}),"\n",(0,i.jsx)(r.h5,{id:"options-5",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action-2",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-4",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-19",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#route-1",children:(0,i.jsx)(r.code,{children:"route"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"unlisten"}),"(): ",(0,i.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L314",children:"packages/core/src/router/AbstractRouter.ts:314"})]}),"\n",(0,i.jsx)(r.p,{children:'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This method has no effect\nat the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"this"})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-20",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#unlisten",children:(0,i.jsx)(r.code,{children:"unlisten"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"use",children:"use()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"use"}),"(",(0,i.jsx)(r.code,{children:"middleware"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L199",children:"packages/core/src/router/AbstractRouter.ts:199"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new middleware to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middleware",children:"middleware"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})}),"\n",(0,i.jsxs)(r.p,{children:["Middleware\nfunction accepting routeParams as a first argument, which can be mutated\nand ",(0,i.jsx)(r.code,{children:"locals"})," object as second argument. This can be used to pass data\nbetween middlewares."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws-2",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a middleware with the same name already exists."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-21",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router#use",children:(0,i.jsx)(r.code,{children:"use"})})]})]})}function h(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>c,x:()=>a});var n=s(3696);const i={},t=n.createContext(i);function c(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e14dc68.705ab4f1.js b/assets/js/0e14dc68.705ab4f1.js deleted file mode 100644 index a704c7364..000000000 --- a/assets/js/0e14dc68.705ab4f1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5084],{5680:(e,r,t)=>{t.d(r,{xA:()=>s,yg:()=>y});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=n.createContext({}),l=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},s=function(e){var r=l(e.components);return n.createElement(p.Provider,{value:r},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=l(t),m=a,y=u["".concat(p,".").concat(m)]||u[m]||f[m]||i;return t?n.createElement(y,o(o({ref:r},s),{},{components:t})):n.createElement(y,o({ref:r},s))}));function y(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=m;var c={};for(var p in r)hasOwnProperty.call(r,p)&&(c[p]=r[p]);c.originalType=e,c[u]="string"==typeof e?e:a,o[1]=c;for(var l=2;l{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>o,default:()=>f,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.DictionaryMap",title:"Interface: DictionaryMap",sidebar_label:"@ima/core.DictionaryMap",custom_edit_url:null},o=void 0,c={unversionedId:"api/interfaces/ima_core.DictionaryMap",id:"api/interfaces/ima_core.DictionaryMap",title:"Interface: DictionaryMap",description:"@ima/core.DictionaryMap",source:"@site/../docs/api/interfaces/ima_core.DictionaryMap.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.DictionaryMap",permalink:"/api/interfaces/ima_core.DictionaryMap",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.DictionaryMap",title:"Interface: DictionaryMap",sidebar_label:"@ima/core.DictionaryMap",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.BootServices",permalink:"/api/interfaces/ima_core.BootServices"},next:{title:"@ima/core.DispatcherEventsMap",permalink:"/api/interfaces/ima_core.DispatcherEventsMap"}},p={},l=[],s={toc:l},u="wrapper";function f(e){let{components:r,...t}=e;return(0,a.yg)(u,(0,n.A)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".DictionaryMap"))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0e4d1180.fe87e114.js b/assets/js/0e4d1180.fe87e114.js new file mode 100644 index 000000000..1f8d8715c --- /dev/null +++ b/assets/js/0e4d1180.fe87e114.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1620],{3615:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/InitSettingsFunction","title":"Type Alias: InitSettingsFunction()","description":"InitSettingsFunction: (ns, oc, config) => AppSettings","source":"@site/../docs/api/@ima/core/type-aliases/InitSettingsFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/InitSettingsFunction","permalink":"/api/@ima/core/type-aliases/InitSettingsFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/InitSettingsFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: InitServicesFunction()","permalink":"/api/@ima/core/type-aliases/InitServicesFunction"},"next":{"title":"Type Alias: LoadedResources\\\\","permalink":"/api/@ima/core/type-aliases/LoadedResources"}}');var s=i(2540),c=i(3023);const a={},r="Type Alias: InitSettingsFunction()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"config",id:"config",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"type-alias-initsettingsfunction",children:"Type Alias: InitSettingsFunction()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"InitSettingsFunction"}),": (",(0,s.jsx)(n.code,{children:"ns"}),", ",(0,s.jsx)(n.code,{children:"oc"}),", ",(0,s.jsx)(n.code,{children:"config"}),") => ",(0,s.jsx)(n.a,{href:"/api/@ima/core/type-aliases/AppSettings",children:(0,s.jsx)(n.code,{children:"AppSettings"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L36",children:"packages/core/src/Bootstrap.ts:36"})]}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"ns",children:"ns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,s.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,s.jsx)(n.h3,{id:"oc",children:"oc"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,s.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,s.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,s.jsx)(n.code,{children:"BootConfig"})}),"[",(0,s.jsx)(n.code,{children:'"settings"'}),"]"]}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/type-aliases/AppSettings",children:(0,s.jsx)(n.code,{children:"AppSettings"})})})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>r});var t=i(3696);const s={},c=t.createContext(s);function a(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f7684f2.1ed959d2.js b/assets/js/0f7684f2.1ed959d2.js deleted file mode 100644 index 8bf2be166..000000000 --- a/assets/js/0f7684f2.1ed959d2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7638],{5680:(e,t,a)=>{a.d(t,{xA:()=>s,yg:()=>u});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),d=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=d(e.components);return n.createElement(p.Provider,{value:t},e.children)},o="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,s=g(e,["components","mdxType","originalType","parentName"]),o=d(a),m=r,u=o["".concat(p,".").concat(m)]||o[m]||y[m]||i;return a?n.createElement(u,l(l({ref:t},s),{},{components:a})):n.createElement(u,l({ref:t},s))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=m;var g={};for(var p in t)hasOwnProperty.call(t,p)&&(g[p]=t[p]);g.originalType=e,g[o]="string"==typeof e?e:r,l[1]=g;for(var d=2;d{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>d});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_dev_utils.Logger",title:"Class: Logger",sidebar_label:"@ima/dev-utils.Logger",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_dev_utils.Logger",id:"api/classes/ima_dev_utils.Logger",title:"Class: Logger",description:"@ima/dev-utils.Logger",source:"@site/../docs/api/classes/ima_dev_utils.Logger.md",sourceDirName:"api/classes",slug:"/api/classes/ima_dev_utils.Logger",permalink:"/api/classes/ima_dev_utils.Logger",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_dev_utils.Logger",title:"Class: Logger",sidebar_label:"@ima/dev-utils.Logger",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Window",permalink:"/api/classes/ima_core.Window"},next:{title:"@ima/react-page-renderer.AbstractComponent",permalink:"/api/classes/ima_react_page_renderer.AbstractComponent"}},p={},d=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"#globalLogger",id:"globallogger",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"#identifier",id:"identifier",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"#isSilent",id:"issilent",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"innerElapsed",id:"innerelapsed",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"#log",id:"log",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"endTracking",id:"endtracking",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"error",id:"error",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"info",id:"info",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"isSilent",id:"issilent-1",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"plugin",id:"plugin",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"setSilent",id:"setsilent",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"success",id:"success",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"sync",id:"sync",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"warn",id:"warn",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"write",id:"write",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"writeElapsed",id:"writeelapsed",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-16",level:4}],s={toc:d},o="wrapper";function y(e){let{components:t,...a}=e;return(0,r.yg)(o,(0,n.A)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_dev_utils"},"@ima/dev-utils"),".Logger"),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Logger"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"identifier?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"globalLogger?"),")"),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"identifier?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"globalLogger?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_dev_utils.Logger"},(0,r.yg)("inlineCode",{parentName:"a"},"Logger")))))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L42"},"logger.ts:42")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"globallogger"},"#globalLogger"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"#globalLogger"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_dev_utils.Logger"},(0,r.yg)("inlineCode",{parentName:"a"},"Logger"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L37"},"logger.ts:37")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"identifier"},"#identifier"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"#identifier"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L36"},"logger.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"issilent"},"#isSilent"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#isSilent"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"false")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L38"},"logger.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"innerelapsed"},"innerElapsed"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"innerElapsed"),": () => ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns time utility function, which when called returns\nformatted elapsed time from it's creation."),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Callback to return formatted elapsed time."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L40"},"logger.ts:40")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"log"},"#log"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#log"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prefix"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"chalkFn"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"\xabdestructured\xbb?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prefix")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"chalkFn")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"input"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"\xabdestructured\xbb")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L47"},"logger.ts:47")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"endtracking"},"endTracking"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"endTracking"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L94"},"logger.ts:94")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"error"},"error"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"error"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Error"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L120"},"logger.ts:120")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"info"},"info"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"info"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L112"},"logger.ts:112")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"issilent-1"},"isSilent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isSilent"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L163"},"logger.ts:163")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"plugin"},"plugin"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"plugin"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L147"},"logger.ts:147")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setsilent"},"setSilent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setSilent"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"isSilent"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"isSilent")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L159"},"logger.ts:159")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"success"},"success"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"success"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L116"},"logger.ts:116")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"sync"},"sync"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"sync"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L143"},"logger.ts:143")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"warn"},"warn"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"warn"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L139"},"logger.ts:139")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"write"},"write"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"write"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"message")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"LoggerOptions")))))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L151"},"logger.ts:151")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"writeelapsed"},"writeElapsed"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"writeElapsed"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"elapsed"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"elapsed")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L155"},"logger.ts:155")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/106127c8.e1e0481c.js b/assets/js/106127c8.e1e0481c.js deleted file mode 100644 index 7852bc2fe..000000000 --- a/assets/js/106127c8.e1e0481c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3087],{5680:(e,r,n)=>{n.d(r,{xA:()=>s,yg:()=>d});var t=n(6540);function i(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function a(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function o(e){for(var r=1;r=0||(i[n]=e[n]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=t.createContext({}),l=function(e){var r=t.useContext(p),n=r;return e&&(n="function"==typeof e?e(r):o(o({},r),e)),n},s=function(e){var r=l(e.components);return t.createElement(p.Provider,{value:r},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},y=t.forwardRef((function(e,r){var n=e.components,i=e.mdxType,a=e.originalType,p=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=l(n),y=i,d=u["".concat(p,".").concat(y)]||u[y]||m[y]||a;return n?t.createElement(d,o(o({ref:r},s),{},{components:n})):t.createElement(d,o({ref:r},s))}));function d(e,r){var n=arguments,i=r&&r.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=y;var c={};for(var p in r)hasOwnProperty.call(r,p)&&(c[p]=r[p]);c.originalType=e,c[u]="string"==typeof e?e:i,o[1]=c;for(var l=2;l{n.r(r),n.d(r,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var t=n(8102),i=(n(6540),n(5680));const a={id:"ima_core.ActionTypes",title:"Enumeration: ActionTypes",sidebar_label:"@ima/core.ActionTypes",custom_edit_url:null},o=void 0,c={unversionedId:"api/enums/ima_core.ActionTypes",id:"api/enums/ima_core.ActionTypes",title:"Enumeration: ActionTypes",description:"@ima/core.ActionTypes",source:"@site/../docs/api/enums/ima_core.ActionTypes.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.ActionTypes",permalink:"/api/enums/ima_core.ActionTypes",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ActionTypes",title:"Enumeration: ActionTypes",sidebar_label:"@ima/core.ActionTypes",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer",permalink:"/api/modules/ima_react_page_renderer"},next:{title:"@ima/core.BindingState",permalink:"/api/enums/ima_core.BindingState"}},p={},l=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"CLICK",id:"click",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"ERROR",id:"error",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"POP_STATE",id:"pop_state",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"REDIRECT",id:"redirect",level:3},{value:"Defined in",id:"defined-in-3",level:4}],s={toc:l},u="wrapper";function m(e){let{components:r,...n}=e;return(0,i.yg)(u,(0,t.A)({},s,n,{components:r,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ActionTypes"),(0,i.yg)("p",null,"Name of actions that can trigger routing"),(0,i.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,i.yg)("h3",{id:"click"},"CLICK"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"CLICK")," = ",(0,i.yg)("inlineCode",{parentName:"p"},'"click"')),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ActionTypes.ts#L6"},"packages/core/src/router/ActionTypes.ts:6")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"error"},"ERROR"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"ERROR")," = ",(0,i.yg)("inlineCode",{parentName:"p"},'"error"')),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ActionTypes.ts#L8"},"packages/core/src/router/ActionTypes.ts:8")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"pop_state"},"POP","_","STATE"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"POP","_","STATE")," = ",(0,i.yg)("inlineCode",{parentName:"p"},'"popstate"')),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ActionTypes.ts#L7"},"packages/core/src/router/ActionTypes.ts:7")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"redirect"},"REDIRECT"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"REDIRECT")," = ",(0,i.yg)("inlineCode",{parentName:"p"},'"redirect"')),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ActionTypes.ts#L5"},"packages/core/src/router/ActionTypes.ts:5")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/10617864.fc13a992.js b/assets/js/10617864.fc13a992.js deleted file mode 100644 index f6546adbd..000000000 --- a/assets/js/10617864.fc13a992.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1568],{5680:(e,a,n)=>{n.d(a,{xA:()=>s,yg:()=>m});var i=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function t(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,i)}return n}function g(e){for(var a=1;a=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=i.createContext({}),p=function(e){var a=i.useContext(l),n=a;return e&&(n="function"==typeof e?e(a):g(g({},a),e)),n},s=function(e){var a=p(e.components);return i.createElement(l.Provider,{value:a},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return i.createElement(i.Fragment,{},a)}},y=i.forwardRef((function(e,a){var n=e.components,r=e.mdxType,t=e.originalType,l=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),c=p(n),y=r,m=c["".concat(l,".").concat(y)]||c[y]||d[y]||t;return n?i.createElement(m,g(g({ref:a},s),{},{components:n})):i.createElement(m,g({ref:a},s))}));function m(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var t=n.length,g=new Array(t);g[0]=y;var o={};for(var l in a)hasOwnProperty.call(a,l)&&(o[l]=a[l]);o.originalType=e,o[c]="string"==typeof e?e:r,g[1]=o;for(var p=2;p{n.r(a),n.d(a,{assets:()=>l,contentTitle:()=>g,default:()=>d,frontMatter:()=>t,metadata:()=>o,toc:()=>p});var i=n(8102),r=(n(6540),n(5680));const t={id:"ima_core.OCAliasMap",title:"Interface: OCAliasMap",sidebar_label:"@ima/core.OCAliasMap",custom_edit_url:null},g=void 0,o={unversionedId:"api/interfaces/ima_core.OCAliasMap",id:"api/interfaces/ima_core.OCAliasMap",title:"Interface: OCAliasMap",description:"@ima/core.OCAliasMap",source:"@site/../docs/api/interfaces/ima_core.OCAliasMap.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.OCAliasMap",permalink:"/api/interfaces/ima_core.OCAliasMap",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.OCAliasMap",title:"Interface: OCAliasMap",sidebar_label:"@ima/core.OCAliasMap",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ManifestAsset",permalink:"/api/interfaces/ima_core.ManifestAsset"},next:{title:"@ima/core.PageAction",permalink:"/api/interfaces/ima_core.PageAction"}},l={},p=[{value:"Properties",id:"properties",level:2},{value:"$Cache",id:"cache",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"$CacheFactory",id:"cachefactory",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"$CacheStorage",id:"cachestorage",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"$ComponentUtils",id:"componentutils",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"$ControllerDecorator",id:"controllerdecorator",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"$CookieStorage",id:"cookiestorage",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"$CookieTransformFunction",id:"cookietransformfunction",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"$Dictionary",id:"dictionary",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"$Dispatcher",id:"dispatcher",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"$Env",id:"env",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"$Error",id:"error",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"$EventBus",id:"eventbus",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"$Helper",id:"helper",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"$Http",id:"http",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"$HttpAgentProxy",id:"httpagentproxy",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"$HttpStatusCode",id:"httpstatuscode",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"$HttpUrlTransformer",id:"httpurltransformer",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"$MapStorage",id:"mapstorage",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"$MetaManager",id:"metamanager",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"$Observable",id:"observable",level:3},{value:"Defined in",id:"defined-in-19",level:4},{value:"$PageFactory",id:"pagefactory",level:3},{value:"Defined in",id:"defined-in-20",level:4},{value:"$PageHandlerRegistry",id:"pagehandlerregistry",level:3},{value:"Defined in",id:"defined-in-21",level:4},{value:"$PageManager",id:"pagemanager",level:3},{value:"Defined in",id:"defined-in-22",level:4},{value:"$PageRenderer",id:"pagerenderer",level:3},{value:"Defined in",id:"defined-in-23",level:4},{value:"$PageStateManager",id:"pagestatemanager",level:3},{value:"Defined in",id:"defined-in-24",level:4},{value:"$PageStateManagerDecorator",id:"pagestatemanagerdecorator",level:3},{value:"Defined in",id:"defined-in-25",level:4},{value:"$Protocol",id:"protocol",level:3},{value:"Defined in",id:"defined-in-26",level:4},{value:"$Request",id:"request",level:3},{value:"Defined in",id:"defined-in-27",level:4},{value:"$Response",id:"response",level:3},{value:"Defined in",id:"defined-in-28",level:4},{value:"$RouteFactory",id:"routefactory",level:3},{value:"Defined in",id:"defined-in-29",level:4},{value:"$RouteNames",id:"routenames",level:3},{value:"Defined in",id:"defined-in-30",level:4},{value:"$Router",id:"router",level:3},{value:"Defined in",id:"defined-in-31",level:4},{value:"$RouterEvents",id:"routerevents",level:3},{value:"Defined in",id:"defined-in-32",level:4},{value:"$Secure",id:"secure",level:3},{value:"Defined in",id:"defined-in-33",level:4},{value:"$SessionMapStorage",id:"sessionmapstorage",level:3},{value:"Defined in",id:"defined-in-34",level:4},{value:"$SessionStorage",id:"sessionstorage",level:3},{value:"Defined in",id:"defined-in-35",level:4},{value:"$Settings",id:"settings",level:3},{value:"Defined in",id:"defined-in-36",level:4},{value:"$Utils",id:"utils",level:3},{value:"Defined in",id:"defined-in-37",level:4},{value:"$WeakMapStorage",id:"weakmapstorage",level:3},{value:"Defined in",id:"defined-in-38",level:4},{value:"$Window",id:"window",level:3},{value:"Defined in",id:"defined-in-39",level:4},{value:"$oc",id:"oc",level:3},{value:"Defined in",id:"defined-in-40",level:4}],s={toc:p},c="wrapper";function d(e){let{components:a,...n}=e;return(0,r.yg)(c,(0,i.A)({},s,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".OCAliasMap"),(0,r.yg)("p",null,"Map of IMA default string aliases and constants initialized in\nthe ObjectContainer. This is used for typechecking and type\nhinting of string OC arguments."),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"cache"},"$Cache"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Cache"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},(0,r.yg)("inlineCode",{parentName:"a"},"Cache")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L103"},"packages/core/src/config/bind.ts:103")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cachefactory"},"$CacheFactory"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$CacheFactory"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheFactory")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L102"},"packages/core/src/config/bind.ts:102")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cachestorage"},"$CacheStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$CacheStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L101"},"packages/core/src/config/bind.ts:101")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentutils"},"$ComponentUtils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$ComponentUtils"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ComponentUtils"},(0,r.yg)("inlineCode",{parentName:"a"},"ComponentUtils"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L109"},"packages/core/src/config/bind.ts:109")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"controllerdecorator"},"$ControllerDecorator"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$ControllerDecorator"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L105"},"packages/core/src/config/bind.ts:105")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cookiestorage"},"$CookieStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$CookieStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L91"},"packages/core/src/config/bind.ts:91")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cookietransformfunction"},"$CookieTransformFunction"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$CookieTransformFunction"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookietransformfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieTransformFunction"))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L90"},"packages/core/src/config/bind.ts:90")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dictionary"},"$Dictionary"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Dictionary"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L89"},"packages/core/src/config/bind.ts:89")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dispatcher"},"$Dispatcher"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Dispatcher"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L98"},"packages/core/src/config/bind.ts:98")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"env"},"$Env"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Env"),": keyof ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.AppEnvironment"},(0,r.yg)("inlineCode",{parentName:"a"},"AppEnvironment"))),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L82"},"packages/core/src/config/bind.ts:82")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"error"},"$Error"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Error"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L88"},"packages/core/src/config/bind.ts:88")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"eventbus"},"$EventBus"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$EventBus"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L99"},"packages/core/src/config/bind.ts:99")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"helper"},"$Helper"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Helper"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"__module")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L79"},"packages/core/src/config/bind.ts:79")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"http"},"$Http"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Http"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L119"},"packages/core/src/config/bind.ts:119")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpagentproxy"},"$HttpAgentProxy"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$HttpAgentProxy"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L118"},"packages/core/src/config/bind.ts:118")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpstatuscode"},"$HttpStatusCode"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$HttpStatusCode"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"BAD_REQUEST"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"400")," = 400; ",(0,r.yg)("inlineCode",{parentName:"p"},"FORBIDDEN"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"403")," = 403; ",(0,r.yg)("inlineCode",{parentName:"p"},"NOT_FOUND"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"404")," = 404; ",(0,r.yg)("inlineCode",{parentName:"p"},"NO_CONTENT"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"204")," = 204; ",(0,r.yg)("inlineCode",{parentName:"p"},"OK"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"200")," = 200; ",(0,r.yg)("inlineCode",{parentName:"p"},"SERVER_ERROR"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"500")," = 500; ",(0,r.yg)("inlineCode",{parentName:"p"},"TIMEOUT"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"408")," = 408; ",(0,r.yg)("inlineCode",{parentName:"p"},"UNAUTHORIZED"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"401")," = 401 }",">"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L120"},"packages/core/src/config/bind.ts:120")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpurltransformer"},"$HttpUrlTransformer"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$HttpUrlTransformer"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.UrlTransformer"},(0,r.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L117"},"packages/core/src/config/bind.ts:117")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"mapstorage"},"$MapStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$MapStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L95"},"packages/core/src/config/bind.ts:95")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"metamanager"},"$MetaManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$MetaManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L104"},"packages/core/src/config/bind.ts:104")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"observable"},"$Observable"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Observable"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,r.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L100"},"packages/core/src/config/bind.ts:100")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagefactory"},"$PageFactory"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageFactory"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L108"},"packages/core/src/config/bind.ts:108")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagehandlerregistry"},"$PageHandlerRegistry"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageHandlerRegistry"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L111"},"packages/core/src/config/bind.ts:111")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagemanager"},"$PageManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L112"},"packages/core/src/config/bind.ts:112")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagerenderer"},"$PageRenderer"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageRenderer"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageRenderer"},(0,r.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L121"},"packages/core/src/config/bind.ts:121")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagestatemanager"},"$PageStateManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageStateManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L107"},"packages/core/src/config/bind.ts:107")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagestatemanagerdecorator"},"$PageStateManagerDecorator"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageStateManagerDecorator"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManagerDecorator"))),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L106"},"packages/core/src/config/bind.ts:106")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"protocol"},"$Protocol"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Protocol"),": ",(0,r.yg)("inlineCode",{parentName:"p"},'"http:"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"https:"')),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L83"},"packages/core/src/config/bind.ts:83")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"request"},"$Request"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Request"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Request"},(0,r.yg)("inlineCode",{parentName:"a"},"Request"))),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L85"},"packages/core/src/config/bind.ts:85")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"response"},"$Response"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Response"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L86"},"packages/core/src/config/bind.ts:86")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routefactory"},"$RouteFactory"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$RouteFactory"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.RouteFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,r.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L113"},"packages/core/src/config/bind.ts:113")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routenames"},"$RouteNames"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$RouteNames"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/enums/ima_core.RouteNames"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteNames"))),(0,r.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L115"},"packages/core/src/config/bind.ts:115")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"router"},"$Router"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Router"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L114"},"packages/core/src/config/bind.ts:114")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routerevents"},"$RouterEvents"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$RouterEvents"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/enums/ima_core.RouterEvents"},(0,r.yg)("inlineCode",{parentName:"a"},"RouterEvents"))),(0,r.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L116"},"packages/core/src/config/bind.ts:116")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"secure"},"$Secure"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Secure"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L84"},"packages/core/src/config/bind.ts:84")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"sessionmapstorage"},"$SessionMapStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$SessionMapStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L97"},"packages/core/src/config/bind.ts:97")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"sessionstorage"},"$SessionStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$SessionStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L92"},"packages/core/src/config/bind.ts:92")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"settings"},"$Settings"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Settings"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings"))," & ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#bootsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"BootSettings"))," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),"; }"),(0,r.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L81"},"packages/core/src/config/bind.ts:81")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"utils"},"$Utils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Utils"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L110"},"packages/core/src/config/bind.ts:110")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"weakmapstorage"},"$WeakMapStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$WeakMapStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"object"),">"),(0,r.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L96"},"packages/core/src/config/bind.ts:96")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"window"},"$Window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L87"},"packages/core/src/config/bind.ts:87")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"oc"},"$oc"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L80"},"packages/core/src/config/bind.ts:80")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1074.86f91343.js b/assets/js/1074.86f91343.js new file mode 100644 index 000000000..ddc503a9d --- /dev/null +++ b/assets/js/1074.86f91343.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1074],{8924:(e,t,i)=>{i.d(t,{A:()=>r});i(3696);var n=i(2689),o=i(7963),s=i(1282),a=i(2540);function r(e){let{className:t}=e;return(0,a.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,a.jsx)("div",{className:"row",children:(0,a.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,a.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,a.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},1074:(e,t,i)=>{i.r(t),i.d(t,{default:()=>d});i(3696);var n=i(7963),o=i(2952),s=i(8730),a=i(8924),r=i(2540);function d(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.be,{title:e}),(0,r.jsx)(s.A,{children:(0,r.jsx)(a.A,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/109df5a2.504590c0.js b/assets/js/109df5a2.504590c0.js new file mode 100644 index 000000000..d45d1592b --- /dev/null +++ b/assets/js/109df5a2.504590c0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8129],{3614:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>c,metadata:()=>t,toc:()=>p});const t=JSON.parse('{"id":"api/@ima/core/functions/reviveClientApp","title":"Function: reviveClientApp()","description":"reviveClientApp(initialAppConfigFunctions): Promise\\\\","source":"@site/../docs/api/@ima/core/functions/reviveClientApp.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/reviveClientApp","permalink":"/api/@ima/core/functions/reviveClientApp","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/reviveClientApp.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: onLoad()","permalink":"/api/@ima/core/functions/onLoad"},"next":{"title":"Function: routeClientApp()","permalink":"/api/@ima/core/functions/routeClientApp"}}');var r=i(2540),o=i(3023);const c={},s="Function: reviveClientApp()",a={},p=[{value:"Parameters",id:"parameters",level:2},{value:"initialAppConfigFunctions",id:"initialappconfigfunctions",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"function-reviveclientapp",children:"Function: reviveClientApp()"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"reviveClientApp"}),"(",(0,r.jsx)(n.code,{children:"initialAppConfigFunctions"}),"): ",(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(n.code,{children:"UnknownParameters"})})," & ",(0,r.jsx)(n.code,{children:"object"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L289",children:"packages/core/src/boot.ts:289"})]}),"\n",(0,r.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h3,{id:"initialappconfigfunctions",children:"initialAppConfigFunctions"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,r.jsx)(n.code,{children:"InitAppConfig"})})}),"\n",(0,r.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(n.code,{children:"UnknownParameters"})})," & ",(0,r.jsx)(n.code,{children:"object"}),">"]})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>s});var t=i(3696);const r={},o=t.createContext(r);function c(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/10a88b42.f0151b58.js b/assets/js/10a88b42.f0151b58.js deleted file mode 100644 index b90528008..000000000 --- a/assets/js/10a88b42.f0151b58.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3099],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>u});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),o=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},s=function(e){var a=o(e.components);return r.createElement(p.Provider,{value:a},e.children)},y="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,s=g(e,["components","mdxType","originalType","parentName"]),y=o(t),m=n,u=y["".concat(p,".").concat(m)]||y[m]||d[m]||i;return t?r.createElement(u,l(l({ref:a},s),{},{components:t})):r.createElement(u,l({ref:a},s))}));function u(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=m;var g={};for(var p in a)hasOwnProperty.call(a,p)&&(g[p]=a[p]);g.originalType=e,g[y]="string"==typeof e?e:n,l[1]=g;for(var o=2;o{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>g,toc:()=>o});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.Storage",title:"Class: Storage",sidebar_label:"@ima/core.Storage",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.Storage",id:"api/classes/ima_core.Storage",title:"Class: Storage",description:"@ima/core.Storage",source:"@site/../docs/api/classes/ima_core.Storage.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Storage",permalink:"/api/classes/ima_core.Storage",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Storage",title:"Class: Storage",sidebar_label:"@ima/core.Storage",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.StaticRoute",permalink:"/api/classes/ima_core.StaticRoute"},next:{title:"@ima/core.UrlTransformer",permalink:"/api/classes/ima_core.UrlTransformer"}},p={},o=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Methods",id:"methods",level:2},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"keys",id:"keys",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"size",id:"size",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4}],s={toc:o},y="wrapper";function d(e){let{components:a,...t}=e;return(0,n.yg)(y,(0,r.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Storage"),(0,n.yg)("p",null,"The ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage")," is an unordered collection of named values of any\ntype. Values in the storage are named using ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," keys. The storage\ncan be therefore thought of as a ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"....."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Storage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new Storage"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","()"),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Clears the storage of all entries."),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L73"},"packages/core/src/storage/Storage.ts:73")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"delete"},"delete"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"delete"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Deletes the entry identified by the specified key from this storage."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L64"},"packages/core/src/storage/Storage.ts:64")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"get"},"get"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"get"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," if the entry does not exists."),(0,n.yg)("p",null,"Entries set to the ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," value can be tested for existence\nusing the ",(0,n.yg)("inlineCode",{parentName:"p"},"link has")," method."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"The value of the storage entry."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L42"},"packages/core/src/storage/Storage.ts:42")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"has"},"has"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"has"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the entry identified by the specified key exists\nin this storage."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the storage entry exists."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L28"},"packages/core/src/storage/Storage.ts:28")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."),(0,n.yg)("p",null,"This method must be invoked only once and it must be the first method\ninvoked on this instance."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L17"},"packages/core/src/storage/Storage.ts:17")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"keys"},"keys"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"keys"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,n.yg)("inlineCode",{parentName:"p"},"for..of")," loop."),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L86"},"packages/core/src/storage/Storage.ts:86")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"set"},"set"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"set"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The storage entry value.")))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L54"},"packages/core/src/storage/Storage.ts:54")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"size"},"size"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"size"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the number of entries in this storage."),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The number of entries in this storage."),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L95"},"packages/core/src/storage/Storage.ts:95")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/10eac14e.1065ddd4.js b/assets/js/10eac14e.1065ddd4.js new file mode 100644 index 000000000..95df57c12 --- /dev/null +++ b/assets/js/10eac14e.1065ddd4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9975],{8819:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>p});const a=JSON.parse('{"id":"api/@ima/core/type-aliases/AnyParameters","title":"Type Alias: AnyParameters","description":"AnyParameters: object","source":"@site/../docs/api/@ima/core/type-aliases/AnyParameters.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/AnyParameters","permalink":"/api/@ima/core/type-aliases/AnyParameters","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/AnyParameters.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: WindowCustomEventsMap","permalink":"/api/@ima/core/interfaces/WindowCustomEventsMap"},"next":{"title":"Type Alias: AppSettings","permalink":"/api/@ima/core/type-aliases/AppSettings"}}');var n=s(2540),r=s(3023);const i={},c="Type Alias: AnyParameters",o={},p=[{value:"Index Signature",id:"index-signature",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"type-alias-anyparameters",children:"Type Alias: AnyParameters"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"AnyParameters"}),": ",(0,n.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L22",children:"packages/core/src/types.ts:22"})]}),"\n",(0,n.jsx)(t.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,n.jsxs)(t.p,{children:["[",(0,n.jsx)(t.code,{children:"key"}),": ",(0,n.jsx)(t.code,{children:"string"}),"]: ",(0,n.jsx)(t.code,{children:"unknown"})]})]})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>c});var a=s(3696);const n={},r=a.createContext(n);function i(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/10f85a35.943e5683.js b/assets/js/10f85a35.943e5683.js deleted file mode 100644 index a18bdb972..000000000 --- a/assets/js/10f85a35.943e5683.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7584],{5680:(e,a,n)=>{n.d(a,{xA:()=>m,yg:()=>c});var t=n(6540);function i(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function r(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var a=1;a=0||(i[n]=e[n]);return i}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=t.createContext({}),g=function(e){var a=t.useContext(o),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},m=function(e){var a=g(e.components);return t.createElement(o.Provider,{value:a},e.children)},d="mdxType",s={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},y=t.forwardRef((function(e,a){var n=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),d=g(n),y=i,c=d["".concat(o,".").concat(y)]||d[y]||s[y]||r;return n?t.createElement(c,l(l({ref:a},m),{},{components:n})):t.createElement(c,l({ref:a},m))}));function c(e,a){var n=arguments,i=a&&a.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=y;var p={};for(var o in a)hasOwnProperty.call(a,o)&&(p[o]=a[o]);p.originalType=e,p[d]="string"==typeof e?e:i,l[1]=p;for(var g=2;g{n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>l,default:()=>s,frontMatter:()=>r,metadata:()=>p,toc:()=>g});var t=n(8102),i=(n(6540),n(5680));const r={id:"ima_cli.ImaCliPlugin",title:"Interface: ImaCliPlugin",sidebar_label:"@ima/cli.ImaCliPlugin",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_cli.ImaCliPlugin",id:"api/interfaces/ima_cli.ImaCliPlugin",title:"Interface: ImaCliPlugin",description:"@ima/cli.ImaCliPlugin",source:"@site/../docs/api/interfaces/ima_cli.ImaCliPlugin.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_cli.ImaCliPlugin",permalink:"/api/interfaces/ima_cli.ImaCliPlugin",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_cli.ImaCliPlugin",title:"Interface: ImaCliPlugin",sidebar_label:"@ima/cli.ImaCliPlugin",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/cli.ImaCliArgs",permalink:"/api/interfaces/ima_cli.ImaCliArgs"},next:{title:"@ima/cli.ImaConfigurationContext",permalink:"/api/interfaces/ima_cli.ImaConfigurationContext"}},o={},g=[{value:"Properties",id:"properties",level:2},{value:"cliArgs",id:"cliargs",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"name",id:"name",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"postProcess",id:"postprocess",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"preProcess",id:"preprocess",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"prepareConfigurations",id:"prepareconfigurations",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"webpack",id:"webpack",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4}],m={toc:g},d="wrapper";function s(e){let{components:a,...n}=e;return(0,i.yg)(d,(0,t.A)({},m,n,{components:a,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_cli"},"@ima/cli"),".ImaCliPlugin"),(0,i.yg)("p",null,"Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used\nto extend functionality of default CLI with custom cli arguments and webpack config overrides."),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"cliargs"},"cliArgs"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,i.yg)("strong",{parentName:"p"},"cliArgs"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_cli#imaclicommand"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliCommand")),", ",(0,i.yg)("inlineCode",{parentName:"p"},"CommandBuilder"),">",">"),(0,i.yg)("p",null,"Optional additional CLI arguments to extend the set of existing ones."),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L99"},"types.ts:99")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"name"},"name"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,i.yg)("strong",{parentName:"p"},"name"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("p",null,"Plugin name, used mainly for better debugging messages."),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L94"},"types.ts:94")),(0,i.yg)("h2",{id:"methods"},"Methods"),(0,i.yg)("h3",{id:"postprocess"},"postProcess"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"postProcess"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"args"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Optional plugin hook to do some custom processing after the compilation has finished.\nAttention! This hook runs only for build command."),(0,i.yg)("h4",{id:"parameters"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"args")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs")))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")))))),(0,i.yg)("h4",{id:"returns"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L132"},"types.ts:132")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"preprocess"},"preProcess"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"preProcess"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"args"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Optional plugin hook to do some pre processing right after the cli args are processed\nand the imaConfig is loaded, before the webpack config creation and compiler run."),(0,i.yg)("h4",{id:"parameters-1"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"args")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs")))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")))))),(0,i.yg)("h4",{id:"returns-1"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L105"},"types.ts:105")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"prepareconfigurations"},"prepareConfigurations"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"prepareConfigurations"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"configurations"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"args"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),"[]",">"),(0,i.yg)("p",null,"Called right before creating webpack configurations after preProcess call.\nThis hook lets you customize configuration contexts for each webpack config\nthat will be generated. This is usefull when you need to overrite configuration\ncontexts for values that are not editable anywhere else (like output folders)."),(0,i.yg)("h4",{id:"parameters-2"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"configurations")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),"[]")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"args")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs")))))),(0,i.yg)("h4",{id:"returns-2"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),"[]",">"),(0,i.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L113"},"types.ts:113")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"webpack"},"webpack"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"webpack"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"ctx"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"Configuration"),">"),(0,i.yg)("p",null,"Webpack callback function used by plugins to customize/extend ima webpack config before it's run."),(0,i.yg)("h4",{id:"parameters-3"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"config")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Configuration"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"ctx")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")))))),(0,i.yg)("h4",{id:"returns-3"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"Configuration"),">"),(0,i.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L122"},"types.ts:122")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/12a940f3.38a2b7eb.js b/assets/js/12a940f3.38a2b7eb.js deleted file mode 100644 index 99db6a20c..000000000 --- a/assets/js/12a940f3.38a2b7eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[53],{5680:(e,t,n)=>{n.d(t,{xA:()=>s,yg:()=>m});var a=n(6540);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=a.createContext({}),g=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=g(e.components);return a.createElement(o.Provider,{value:t},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},c=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),d=g(n),c=i,m=d["".concat(o,".").concat(c)]||d[c]||y[c]||r;return n?a.createElement(m,l(l({ref:t},s),{},{components:n})):a.createElement(m,l({ref:t},s))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=c;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p[d]="string"==typeof e?e:i,l[1]=p;for(var g=2;g{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>y,frontMatter:()=>r,metadata:()=>p,toc:()=>g});var a=n(8102),i=(n(6540),n(5680));const r={id:"ima_core.Bootstrap",title:"Class: Bootstrap",sidebar_label:"@ima/core.Bootstrap",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.Bootstrap",id:"api/classes/ima_core.Bootstrap",title:"Class: Bootstrap",description:"@ima/core.Bootstrap",source:"@site/../docs/api/classes/ima_core.Bootstrap.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Bootstrap",permalink:"/api/classes/ima_core.Bootstrap",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Bootstrap",title:"Class: Bootstrap",sidebar_label:"@ima/core.Bootstrap",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AbstractRouter",permalink:"/api/classes/ima_core.AbstractRouter"},next:{title:"@ima/core.Cache",permalink:"/api/classes/ima_core.Cache"}},o={},g=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_config",id:"_config",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_oc",id:"_oc",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods",level:2},{value:"_bindDependencies",id:"_binddependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_bindPluginDependencies",id:"_bindplugindependencies",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_initPluginServices",id:"_initpluginservices",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_initPluginSettings",id:"_initpluginsettings",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_initRoutes",id:"_initroutes",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_initServices",id:"_initservices",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_initSettings",id:"_initsettings",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"initPlugin",id:"initplugin",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"run",id:"run",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4}],s={toc:g},d="wrapper";function y(e){let{components:t,...n}=e;return(0,i.yg)(d,(0,a.A)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Bootstrap"),(0,i.yg)("p",null,"Application bootstrap used to initialize the environment and the application\nitself."),(0,i.yg)("h2",{id:"constructors"},"Constructors"),(0,i.yg)("h3",{id:"constructor"},"constructor"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"new Bootstrap"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"oc"),")"),(0,i.yg)("p",null,"Initializes the bootstrap."),(0,i.yg)("h4",{id:"parameters"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"oc")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,i.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"The application's object container to use for managing dependencies.")))),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L133"},"packages/core/src/Bootstrap.ts:133")),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"_config"},"_","config"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,i.yg)("strong",{parentName:"p"},"_","config"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,i.yg)("inlineCode",{parentName:"a"},"BootConfig"))),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L125"},"packages/core/src/Bootstrap.ts:125")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_oc"},"_","oc"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,i.yg)("strong",{parentName:"p"},"_","oc"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,i.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L124"},"packages/core/src/Bootstrap.ts:124")),(0,i.yg)("h2",{id:"methods"},"Methods"),(0,i.yg)("h3",{id:"_binddependencies"},"_","bindDependencies"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_bindDependencies"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Binds the constants, service providers and class dependencies to the\nobject container."),(0,i.yg)("h4",{id:"returns"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L266"},"packages/core/src/Bootstrap.ts:266")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_bindplugindependencies"},"_","bindPluginDependencies"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_bindPluginDependencies"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"plugin"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Binds the constants, service providers and class dependencies to the\nobject container for dynamically imported plugins."),(0,i.yg)("h4",{id:"parameters-1"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"name")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin name.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"plugin")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,i.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin interface (object with init functions).")))),(0,i.yg)("h4",{id:"returns-1"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L298"},"packages/core/src/Bootstrap.ts:298")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_initpluginservices"},"_","initPluginServices"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_initPluginServices"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"plugin"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Service initialization for the dynamically loaded plugins."),(0,i.yg)("h4",{id:"parameters-2"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"plugin")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,i.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin interface (object with init functions).")))),(0,i.yg)("h4",{id:"returns-2"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L336"},"packages/core/src/Bootstrap.ts:336")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_initpluginsettings"},"_","initPluginSettings"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_initPluginSettings"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"plugin"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Initializes dynamically loaded plugin settings (if the init\nfunction is provided). The settings are merged into the application\nthe same way as with non-dynamic import, meaning the app setting overrides\nare prioritized over the default plugin settings."),(0,i.yg)("h4",{id:"parameters-3"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"name")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin name.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"plugin")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,i.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin interface (object with init functions).")))),(0,i.yg)("h4",{id:"returns-3"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L230"},"packages/core/src/Bootstrap.ts:230")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_initroutes"},"_","initRoutes"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_initRoutes"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Initializes the routes."),(0,i.yg)("h4",{id:"returns-4"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L311"},"packages/core/src/Bootstrap.ts:311")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_initservices"},"_","initServices"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_initServices"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Initializes the basic application services."),(0,i.yg)("h4",{id:"returns-5"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L319"},"packages/core/src/Bootstrap.ts:319")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"_initsettings"},"_","initSettings"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"_initSettings"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Initializes the application settings. The method loads the settings for\nall environments and then picks the settings for the current environment."),(0,i.yg)("p",null,"The method also handles using the values in the production environment\nas default values for configuration items in other environments."),(0,i.yg)("h4",{id:"returns-6"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L186"},"packages/core/src/Bootstrap.ts:186")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"initplugin"},"initPlugin"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"initPlugin"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"plugin?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Initializes dynamically loaded plugin. This is explicitly called from\nwithin the Plugin Loader instance."),(0,i.yg)("h4",{id:"parameters-4"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"name")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin name.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"plugin?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,i.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Plugin interface (object with init functions).")))),(0,i.yg)("h4",{id:"returns-7"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L169"},"packages/core/src/Bootstrap.ts:169")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"run"},"run"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"run"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Initializes the application by running the bootstrap sequence. The\nsequence initializes the components of the application in the following\norder:"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},"application settings"),(0,i.yg)("li",{parentName:"ul"},"constants, service providers and class dependencies configuration"),(0,i.yg)("li",{parentName:"ul"},"services"),(0,i.yg)("li",{parentName:"ul"},"UI components"),(0,i.yg)("li",{parentName:"ul"},"routing")),(0,i.yg)("h4",{id:"parameters-5"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"config")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,i.yg)("inlineCode",{parentName:"a"},"BootConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"The application environment configuration for the current environment.")))),(0,i.yg)("h4",{id:"returns-8"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L153"},"packages/core/src/Bootstrap.ts:153")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/13512aaf.6e0be524.js b/assets/js/13512aaf.6e0be524.js deleted file mode 100644 index b6e3515e0..000000000 --- a/assets/js/13512aaf.6e0be524.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[195],{5680:(e,t,a)=>{a.d(t,{xA:()=>d,yg:()=>s});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),g=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=g(e.components);return n.createElement(o.Provider,{value:t},e.children)},y="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),y=g(a),m=r,s=y["".concat(o,".").concat(m)]||y[m]||c[m]||i;return a?n.createElement(s,l(l({ref:t},d),{},{components:a})):n.createElement(s,l({ref:t},d))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=m;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p[y]="string"==typeof e?e:r,l[1]=p;for(var g=2;g{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>g});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.Settings",title:"Interface: Settings",sidebar_label:"@ima/core.Settings",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_core.Settings",id:"api/interfaces/ima_core.Settings",title:"Interface: Settings",description:"@ima/core.Settings",source:"@site/../docs/api/interfaces/ima_core.Settings.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.Settings",permalink:"/api/interfaces/ima_core.Settings",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Settings",title:"Interface: Settings",sidebar_label:"@ima/core.Settings",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouteOptions",permalink:"/api/interfaces/ima_core.RouteOptions"},next:{title:"@ima/core.Utils",permalink:"/api/interfaces/ima_core.Utils"}},o={},g=[{value:"Properties",id:"properties",level:2},{value:"$Cache",id:"cache",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"$Http",id:"http",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"$Observable",id:"observable",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"$Page",id:"page",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"$Router",id:"router",level:3},{value:"Type declaration",id:"type-declaration-4",level:4},{value:"Defined in",id:"defined-in-4",level:4}],d={toc:g},y="wrapper";function c(e){let{components:t,...a}=e;return(0,r.yg)(y,(0,n.A)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Settings"),(0,r.yg)("p",null,"App settings for single env key."),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"cache"},"$Cache"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$Cache"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"enabled?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ttl?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L144"},"packages/core/src/boot.ts:144")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"http"},"$Http"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Http"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cacheOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"HttpAgentImplCacheOptions"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"defaultRequestOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Omit"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),", ",(0,r.yg)("inlineCode",{parentName:"td"},'"abortController"'),">")))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L136"},"packages/core/src/boot.ts:136")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"observable"},"$Observable"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$Observable"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-2"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"maxHistoryLength?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L151"},"packages/core/src/boot.ts:151")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"page"},"$Page"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Page"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-3"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"$Render")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageRendererSettings"},(0,r.yg)("inlineCode",{parentName:"a"},"PageRendererSettings")))))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L148"},"packages/core/src/boot.ts:148")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"router"},"$Router"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$Router"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-4"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"isSPARouted?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"url"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"action?"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"middlewareTimeout?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L140"},"packages/core/src/boot.ts:140")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1352a5d9.7e540209.js b/assets/js/1352a5d9.7e540209.js deleted file mode 100644 index 0dcbf00ac..000000000 --- a/assets/js/1352a5d9.7e540209.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6373],{5680:(e,t,r)=>{r.d(t,{xA:()=>l,yg:()=>y});var n=r(6540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),p=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),d=p(r),m=a,y=d["".concat(s,".").concat(m)]||d[m]||u[m]||i;return r?n.createElement(y,o(o({ref:t},l),{},{components:r})):n.createElement(y,o({ref:t},l))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[d]="string"==typeof e?e:a,o[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(8102),a=(r(6540),r(5680));const i={title:"Dynamic imports",description:"Advanced Features > Dynamic imports and lazy loading"},o=void 0,c={unversionedId:"advanced-features/dynamic-imports",id:"advanced-features/dynamic-imports",title:"Dynamic imports",description:"Advanced Features > Dynamic imports and lazy loading",source:"@site/../docs/advanced-features/dynamic-imports.md",sourceDirName:"advanced-features",slug:"/advanced-features/dynamic-imports",permalink:"/advanced-features/dynamic-imports",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/advanced-features/dynamic-imports.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Dynamic imports",description:"Advanced Features > Dynamic imports and lazy loading"},sidebar:"docs",previous:{title:"Testing",permalink:"/basic-features/testing"},next:{title:"Introduction to @ima/cli",permalink:"/cli/"}},s={},p=[{value:"Dynamic imports",id:"dynamic-imports",level:2},{value:"Preloading and prefetching",id:"preloading-and-prefetching",level:2},{value:"React suspense",id:"react-suspense",level:2}],l={toc:p},d="wrapper";function u(e){let{components:t,...r}=e;return(0,a.yg)(d,(0,n.A)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h2",{id:"dynamic-imports"},"Dynamic imports"),(0,a.yg)("h2",{id:"preloading-and-prefetching"},"Preloading and prefetching"),(0,a.yg)("p",null,"Since we're using webpack, to built the application, it already has support for ",(0,a.yg)("a",{parentName:"p",href:"https://webpack.js.org/guides/code-splitting/#prefetchingpreloading-modules"},"inline directives")," for preloading and prefetching. Using this comment:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-js"},"import(/* webpackPrefetch: true */ './path/to/LoginModal.js');\n")),(0,a.yg)("p",null,"will result in",(0,a.yg)("inlineCode",{parentName:"p"},'')," being appended in the head of the page. For more information about"),(0,a.yg)("h2",{id:"react-suspense"},"React suspense"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://reactjs.org/docs/react-api.html#reactsuspense"},"Suspense")," currently ",(0,a.yg)("strong",{parentName:"p"},"doesn't support SSR"),". However you can use it to load client-side react components. Don't forget to add proper handlers so it only gets rendered on client, since SSR will result in an hydratation error."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1352a5d9.aea11142.js b/assets/js/1352a5d9.aea11142.js new file mode 100644 index 000000000..c512870aa --- /dev/null +++ b/assets/js/1352a5d9.aea11142.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6373],{9355:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"advanced-features/dynamic-imports","title":"Dynamic imports","description":"Advanced Features > Dynamic imports and lazy loading","source":"@site/../docs/advanced-features/dynamic-imports.md","sourceDirName":"advanced-features","slug":"/advanced-features/dynamic-imports","permalink":"/advanced-features/dynamic-imports","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/advanced-features/dynamic-imports.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Dynamic imports","description":"Advanced Features > Dynamic imports and lazy loading"},"sidebar":"docs","previous":{"title":"Testing","permalink":"/basic-features/testing"},"next":{"title":"Introduction to @ima/cli","permalink":"/cli/"}}');var s=t(2540),r=t(3023);const a={title:"Dynamic imports",description:"Advanced Features > Dynamic imports and lazy loading"},o=void 0,c={},d=[{value:"Dynamic imports",id:"dynamic-imports",level:2},{value:"Preloading and prefetching",id:"preloading-and-prefetching",level:2},{value:"React suspense",id:"react-suspense",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"dynamic-imports",children:"Dynamic imports"}),"\n",(0,s.jsx)(n.h2,{id:"preloading-and-prefetching",children:"Preloading and prefetching"}),"\n",(0,s.jsxs)(n.p,{children:["Since we're using webpack, to built the application, it already has support for ",(0,s.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#prefetchingpreloading-modules",children:"inline directives"})," for preloading and prefetching. Using this comment:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"import(/* webpackPrefetch: true */ './path/to/LoginModal.js');\n"})}),"\n",(0,s.jsxs)(n.p,{children:["will result in",(0,s.jsx)(n.code,{children:''})," being appended in the head of the page. For more information about"]}),"\n",(0,s.jsx)(n.h2,{id:"react-suspense",children:"React suspense"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"https://reactjs.org/docs/react-api.html#reactsuspense",children:"Suspense"})," currently ",(0,s.jsx)(n.strong,{children:"doesn't support SSR"}),". However you can use it to load client-side react components. Don't forget to add proper handlers so it only gets rendered on client, since SSR will result in an hydratation error."]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(3696);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14d23109.6b50b8ba.js b/assets/js/14d23109.6b50b8ba.js new file mode 100644 index 000000000..4be40390d --- /dev/null +++ b/assets/js/14d23109.6b50b8ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7235],{9636:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/InitBindFunction","title":"Type Alias: InitBindFunction()","description":"InitBindFunction: (ns, oc, config, state) => void","source":"@site/../docs/api/@ima/core/type-aliases/InitBindFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/InitBindFunction","permalink":"/api/@ima/core/type-aliases/InitBindFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/InitBindFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: HttpProxyRequestParams","permalink":"/api/@ima/core/type-aliases/HttpProxyRequestParams"},"next":{"title":"Type Alias: InitRoutesFunction()","permalink":"/api/@ima/core/type-aliases/InitRoutesFunction"}}');var s=i(2540),c=i(3023);const a={},r="Type Alias: InitBindFunction()",o={},d=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"config",id:"config",level:3},{value:"state",id:"state",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"type-alias-initbindfunction",children:"Type Alias: InitBindFunction()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"InitBindFunction"}),": (",(0,s.jsx)(n.code,{children:"ns"}),", ",(0,s.jsx)(n.code,{children:"oc"}),", ",(0,s.jsx)(n.code,{children:"config"}),", ",(0,s.jsx)(n.code,{children:"state"}),") => ",(0,s.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L16",children:"packages/core/src/Bootstrap.ts:16"})]}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"ns",children:"ns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,s.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,s.jsx)(n.h3,{id:"oc",children:"oc"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,s.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,s.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Required"}),"<",(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,s.jsx)(n.code,{children:"BootConfig"})}),">[",(0,s.jsx)(n.code,{children:'"bind"'}),"]"]}),"\n",(0,s.jsx)(n.h3,{id:"state",children:"state"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/enumerations/BindingState",children:(0,s.jsx)(n.code,{children:"BindingState"})})}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"void"})})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>r});var t=i(3696);const s={},c=t.createContext(s);function a(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/151b6e84.7ce302ed.js b/assets/js/151b6e84.7ce302ed.js deleted file mode 100644 index 2bf675c4c..000000000 --- a/assets/js/151b6e84.7ce302ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4255],{5680:(e,t,n)=>{n.d(t,{xA:()=>g,yg:()=>u});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),o=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},g=function(e){var t=o(e.components);return a.createElement(d.Provider,{value:t},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),m=o(n),s=r,u=m["".concat(d,".").concat(s)]||m[s]||y[s]||l;return n?a.createElement(u,i(i({ref:t},g),{},{components:n})):a.createElement(u,i({ref:t},g))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=s;var p={};for(var d in t)hasOwnProperty.call(t,d)&&(p[d]=t[d]);p.originalType=e,p[m]="string"==typeof e?e:r,i[1]=p;for(var o=2;o{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>y,frontMatter:()=>l,metadata:()=>p,toc:()=>o});var a=n(8102),r=(n(6540),n(5680));const l={id:"ima_react_page_renderer.AbstractPureComponent",title:"Class: AbstractPureComponent",sidebar_label:"@ima/react-page-renderer.AbstractPureComponent",custom_edit_url:null},i=void 0,p={unversionedId:"api/classes/ima_react_page_renderer.AbstractPureComponent",id:"api/classes/ima_react_page_renderer.AbstractPureComponent",title:"Class: AbstractPureComponent",description:"@ima/react-page-renderer.AbstractPureComponent",source:"@site/../docs/api/classes/ima_react_page_renderer.AbstractPureComponent.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.AbstractPureComponent",permalink:"/api/classes/ima_react_page_renderer.AbstractPureComponent",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.AbstractPureComponent",title:"Class: AbstractPureComponent",sidebar_label:"@ima/react-page-renderer.AbstractPureComponent",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.AbstractComponent",permalink:"/api/classes/ima_react_page_renderer.AbstractComponent"},next:{title:"@ima/react-page-renderer.BlankManagedRootView",permalink:"/api/classes/ima_react_page_renderer.BlankManagedRootView"}},d={},o=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Properties",id:"properties",level:2},{value:"_utils",id:"_utils",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"context",id:"context",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"props",id:"props",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"refs",id:"refs",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Accessors",id:"accessors",level:2},{value:"utils",id:"utils",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods",level:2},{value:"UNSAFE_componentWillMount",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"UNSAFE_componentWillReceiveProps",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"UNSAFE_componentWillUpdate",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"componentDidCatch",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"componentDidMount",id:"componentdidmount",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"componentDidUpdate",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"componentWillMount",id:"componentwillmount",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"componentWillReceiveProps",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"componentWillUnmount",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"componentWillUpdate",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"cssClasses",id:"cssclasses",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"fire",id:"fire",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"forceUpdate",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"getSnapshotBeforeUpdate",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"listen",id:"listen",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"localize",id:"localize",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"render",id:"render",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"shouldComponentUpdate",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-29",level:4}],g={toc:o},m="wrapper";function y(e){let{components:t,...n}=e;return(0,r.yg)(m,(0,a.A)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".AbstractPureComponent"),(0,r.yg)("p",null,"The base class for all view components."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"p"},"PureComponent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"AbstractPureComponent"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractPureComponent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),")"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P"))))),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,"PureComponent\\",".constructor"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1008"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractPureComponent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"context"),")"),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"context")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/legacy-context.html"},"React Docs")),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,"PureComponent\\",".constructor"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1013"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_utils"},"_","utils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","utils"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L18"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:18")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"context"},"context"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"context"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,"PureComponent.context"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L16"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:16")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"props"},"props"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,r.yg)("strong",{parentName:"p"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),">"),(0,r.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.props"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1026"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"refs"},"refs"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"refs"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs"},"Legacy React Docs")),(0,r.yg)("h4",{id:"index-signature"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactInstance")),(0,r.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.refs"),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1033"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"state"},"state"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"state"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.state"),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1027"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"contexttype"},"contextType"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"contextType"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Context"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType")),">"," = ",(0,r.yg)("inlineCode",{parentName:"p"},"PageContext")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,"PureComponent.contextType"),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L15"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:15")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"utils"},"utils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"utils"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"Returns the utilities for the view components. The returned value is the\nvalue bound to the ",(0,r.yg)("inlineCode",{parentName:"p"},"$Utils")," object container constant."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"The utilities for the view components."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L26"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:26")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"unsafe_componentwillmount"},"UNSAFE","_","componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#componentdidmount"},"componentDidMount")," or the constructor instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.UNSAFE","_","componentWillMount"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1463"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillreceiveprops"},"UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1497"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillupdate"},"UNSAFE","_","componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#setstate"},"setState")," here."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.UNSAFE","_","componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1527"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidcatch"},"componentDidCatch"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidCatch"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"error"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"errorInfo"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"error")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"errorInfo")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ErrorInfo"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentDidCatch"),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1390"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidmount"},"componentDidMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after a component is mounted. Setting state here will trigger re-rendering."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentDidMount"),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1369"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidupdate"},"componentDidUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"snapshot?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after updating occurs. Not called for the initial render."),(0,r.yg)("p",null,"The snapshot is only present if ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate")," is present and returns non-null."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"snapshot?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS"))))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentDidUpdate"),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1432"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillmount"},"componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#componentdidmount"},"componentDidMount")," or the constructor instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentWillMount"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1448"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillreceiveprops"},"componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1479"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillunmount"},"componentWillUnmount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUnmount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidMount"),"."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentWillUnmount"),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1385"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillupdate"},"componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#setstate"},"setState")," here."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1511"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cssclasses"},"cssClasses"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cssClasses"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"classRules"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"includeComponentClassName?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to true."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classRules")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"),"; }"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"CSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is ",(0,r.yg)("inlineCode",{parentName:"td"},"true"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"includeComponentClassName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"false")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"String of CSS classes that had their property resolved\nto ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"this.cssClasses('my-class my-class-modifier', true);\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"this.cssClasses({\n 'my-class': true,\n 'my-class-modifier': this.props.modifier\n }, true);\n")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L86"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:86")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Creates and sends a new IMA.js DOM custom event from this component."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"EventTarget compatible node.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Data to send within the event.")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L100"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:100")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"forceupdate"},"forceUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"forceUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.forceUpdate"),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1023"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"getSnapshotBeforeUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"Runs before React applies the result of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#render"},"render")," to the document, and\nreturns an object to be given to ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#componentdidupdate"},"componentDidUpdate"),". Useful for saving\nthings such as scroll position before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#render"},"render")," causes changes to it."),(0,r.yg)("p",null,"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.getSnapshotBeforeUpdate"),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1426"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"link"},"link"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"link"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates an absolute URL using the provided route name (see the"),(0,r.yg)("code",null,"app/config/routes.js")," file). The provided parameters will replace the placeholders in the route pattern, while the extraneous parameters will be appended to the generated URL's query string.",(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The route name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Router parameters and extraneous parameters to add to the URL as a query string.")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The generated URL."),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L62"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:62")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Registers the provided event listener for execution whenever an IMA.js\nDOM custom event of the specified name occurs at the specified event\ntarget."),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The react component or event target at which the listener should listen for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which to listen.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The listener for event to register.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L114"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:114")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"localize"},"localize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"localize"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the localized phrase identified by the specified key. The\nplaceholders in the localization phrase will be replaced by the provided\nvalues."),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"never")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Localization key.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Values for replacing the placeholders in the localization phrase.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Localized phrase."),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L44"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"render"},"render"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"render"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactNode")),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"ReactNode")),(0,r.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.render"),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1024"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"prevState"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">",", ",(0,r.yg)("inlineCode",{parentName:"td"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.setState"),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1018"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"shouldcomponentupdate"},"shouldComponentUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"shouldComponentUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Called to determine whether the change in props and state should trigger a re-render."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Component")," always returns true.\n",(0,r.yg)("inlineCode",{parentName:"p"},"PureComponent")," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."),(0,r.yg)("p",null,"If false is returned, ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent#render"},"render"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"componentWillUpdate"),"\nand ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidUpdate")," will not be called."),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,r.yg)("p",null,"PureComponent.shouldComponentUpdate"),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1380"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Deregisters the provided event listener for an IMA.js DOM custom event\nof the specified name at the specified event target."),(0,r.yg)("h4",{id:"parameters-17"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The react component or event target at which the listener should listen for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which to listen.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The listener for event to register.")))),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L131"},"packages/react-page-renderer/src/component/AbstractPureComponent.ts:131")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/153c616c.16d6a061.js b/assets/js/153c616c.16d6a061.js deleted file mode 100644 index c674319af..000000000 --- a/assets/js/153c616c.16d6a061.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2965],{5680:(e,n,t)=>{t.d(n,{xA:()=>l,yg:()=>m});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var g=a.createContext({}),s=function(e){var n=a.useContext(g),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=s(e.components);return a.createElement(g.Provider,{value:n},e.children)},$="mdxType",y={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),$=s(t),d=r,m=$["".concat(g,".").concat(d)]||$[d]||y[d]||i;return t?a.createElement(m,o(o({ref:n},l),{},{components:t})):a.createElement(m,o({ref:n},l))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=d;var p={};for(var g in n)hasOwnProperty.call(n,g)&&(p[g]=n[g]);p.originalType=e,p[$]="string"==typeof e?e:r,o[1]=p;for(var s=2;s{t.r(n),t.d(n,{assets:()=>g,contentTitle:()=>o,default:()=>y,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var a=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.RouteFactoryOptions",title:"Interface: RouteFactoryOptions",sidebar_label:"@ima/core.RouteFactoryOptions",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.RouteFactoryOptions",id:"api/interfaces/ima_core.RouteFactoryOptions",title:"Interface: RouteFactoryOptions",description:"@ima/core.RouteFactoryOptions",source:"@site/../docs/api/interfaces/ima_core.RouteFactoryOptions.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.RouteFactoryOptions",permalink:"/api/interfaces/ima_core.RouteFactoryOptions",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouteFactoryOptions",title:"Interface: RouteFactoryOptions",sidebar_label:"@ima/core.RouteFactoryOptions",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouteAction",permalink:"/api/interfaces/ima_core.RouteAction"},next:{title:"@ima/core.RouteLocals",permalink:"/api/interfaces/ima_core.RouteLocals"}},g={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"autoScroll",id:"autoscroll",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"documentView",id:"documentview",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"extensions",id:"extensions",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"managedRootView",id:"managedrootview",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"middlewares",id:"middlewares",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"onlyUpdate",id:"onlyupdate",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"viewAdapter",id:"viewadapter",level:3},{value:"Defined in",id:"defined-in-6",level:4}],l={toc:s},$="wrapper";function y(e){let{components:n,...t}=e;return(0,r.yg)($,(0,a.A)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouteFactoryOptions"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"RouteFactoryOptions"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions"))))),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"autoscroll"},"autoScroll"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"autoScroll"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L36"},"packages/core/src/router/Router.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"documentview"},"documentView"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"documentView"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L37"},"packages/core/src/router/Router.ts:37")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"extensions"},"extensions"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"extensions"),": (",(0,r.yg)("inlineCode",{parentName:"p"},'"$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$PageRenderer"')," ","|"," ","`","$Helper.$","{","string}","`"," ","|"," ","`","$oc.$","{","string}","`"," ","|"," ","`","$Settings.$","{","string}","`"," ","|"," ","`","$Env.$","{","string}","`"," ","|"," ","`","$Protocol.$","{","string}","`"," ","|"," ","`","$Secure.$","{","string}","`"," ","|"," ","`","$Request.$","{","string}","`"," ","|"," ","`","$Response.$","{","string}","`"," ","|"," ","`","$Window.$","{","string}","`"," ","|"," ","`","$Error.$","{","string}","`"," ","|"," ","`","$Dictionary.$","{","string}","`"," ","|"," ","`","$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","$CookieStorage.$","{","string}","`"," ","|"," ","`","$SessionStorage.$","{","string}","`"," ","|"," ","`","$MapStorage.$","{","string}","`"," ","|"," ","`","$WeakMapStorage.$","{","string}","`"," ","|"," ","`","$SessionMapStorage.$","{","string}","`"," ","|"," ","`","$Dispatcher.$","{","string}","`"," ","|"," ","`","$EventBus.$","{","string}","`"," ","|"," ","`","$Observable.$","{","string}","`"," ","|"," ","`","$CacheStorage.$","{","string}","`"," ","|"," ","`","$CacheFactory.$","{","string}","`"," ","|"," ","`","$Cache.$","{","string}","`"," ","|"," ","`","$MetaManager.$","{","string}","`"," ","|"," ","`","$ControllerDecorator.$","{","string}","`"," ","|"," ","`","$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","$PageStateManager.$","{","string}","`"," ","|"," ","`","$PageFactory.$","{","string}","`"," ","|"," ","`","$ComponentUtils.$","{","string}","`"," ","|"," ","`","$Utils.$","{","string}","`"," ","|"," ","`","$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","$PageManager.$","{","string}","`"," ","|"," ","`","$RouteFactory.$","{","string}","`"," ","|"," ","`","$Router.$","{","string}","`"," ","|"," ","`","$RouteNames.$","{","string}","`"," ","|"," ","`","$RouterEvents.$","{","string}","`"," ","|"," ","`","$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","$Http.$","{","string}","`"," ","|"," ","`","$HttpStatusCode.$","{","string}","`"," ","|"," ","`","$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"?$PageRenderer"')," ","|"," ","`","?$Helper.$","{","string}","`"," ","|"," ","`","?$oc.$","{","string}","`"," ","|"," ","`","?$Settings.$","{","string}","`"," ","|"," ","`","?$Env.$","{","string}","`"," ","|"," ","`","?$Protocol.$","{","string}","`"," ","|"," ","`","?$Secure.$","{","string}","`"," ","|"," ","`","?$Request.$","{","string}","`"," ","|"," ","`","?$Response.$","{","string}","`"," ","|"," ","`","?$Window.$","{","string}","`"," ","|"," ","`","?$Error.$","{","string}","`"," ","|"," ","`","?$Dictionary.$","{","string}","`"," ","|"," ","`","?$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","?$CookieStorage.$","{","string}","`"," ","|"," ","`","?$SessionStorage.$","{","string}","`"," ","|"," ","`","?$MapStorage.$","{","string}","`"," ","|"," ","`","?$WeakMapStorage.$","{","string}","`"," ","|"," ","`","?$SessionMapStorage.$","{","string}","`"," ","|"," ","`","?$Dispatcher.$","{","string}","`"," ","|"," ","`","?$EventBus.$","{","string}","`"," ","|"," ","`","?$Observable.$","{","string}","`"," ","|"," ","`","?$CacheStorage.$","{","string}","`"," ","|"," ","`","?$CacheFactory.$","{","string}","`"," ","|"," ","`","?$Cache.$","{","string}","`"," ","|"," ","`","?$MetaManager.$","{","string}","`"," ","|"," ","`","?$ControllerDecorator.$","{","string}","`"," ","|"," ","`","?$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","?$PageStateManager.$","{","string}","`"," ","|"," ","`","?$PageFactory.$","{","string}","`"," ","|"," ","`","?$ComponentUtils.$","{","string}","`"," ","|"," ","`","?$Utils.$","{","string}","`"," ","|"," ","`","?$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","?$PageManager.$","{","string}","`"," ","|"," ","`","?$RouteFactory.$","{","string}","`"," ","|"," ","`","?$Router.$","{","string}","`"," ","|"," ","`","?$RouteNames.$","{","string}","`"," ","|"," ","`","?$RouterEvents.$","{","string}","`"," ","|"," ","`","?$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","?$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","?$Http.$","{","string}","`"," ","|"," ","`","?$HttpStatusCode.$","{","string}","`"," ","|"," ","`","?$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...?$PageRenderer"')," ","|"," ","`","...?$Helper.$","{","string}","`"," ","|"," ","`","...?$oc.$","{","string}","`"," ","|"," ","`","...?$Settings.$","{","string}","`"," ","|"," ","`","...?$Env.$","{","string}","`"," ","|"," ","`","...?$Protocol.$","{","string}","`"," ","|"," ","`","...?$Secure.$","{","string}","`"," ","|"," ","`","...?$Request.$","{","string}","`"," ","|"," ","`","...?$Response.$","{","string}","`"," ","|"," ","`","...?$Window.$","{","string}","`"," ","|"," ","`","...?$Error.$","{","string}","`"," ","|"," ","`","...?$Dictionary.$","{","string}","`"," ","|"," ","`","...?$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","...?$CookieStorage.$","{","string}","`"," ","|"," ","`","...?$SessionStorage.$","{","string}","`"," ","|"," ","`","...?$MapStorage.$","{","string}","`"," ","|"," ","`","...?$WeakMapStorage.$","{","string}","`"," ","|"," ","`","...?$SessionMapStorage.$","{","string}","`"," ","|"," ","`","...?$Dispatcher.$","{","string}","`"," ","|"," ","`","...?$EventBus.$","{","string}","`"," ","|"," ","`","...?$Observable.$","{","string}","`"," ","|"," ","`","...?$CacheStorage.$","{","string}","`"," ","|"," ","`","...?$CacheFactory.$","{","string}","`"," ","|"," ","`","...?$Cache.$","{","string}","`"," ","|"," ","`","...?$MetaManager.$","{","string}","`"," ","|"," ","`","...?$ControllerDecorator.$","{","string}","`"," ","|"," ","`","...?$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","...?$PageStateManager.$","{","string}","`"," ","|"," ","`","...?$PageFactory.$","{","string}","`"," ","|"," ","`","...?$ComponentUtils.$","{","string}","`"," ","|"," ","`","...?$Utils.$","{","string}","`"," ","|"," ","`","...?$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","...?$PageManager.$","{","string}","`"," ","|"," ","`","...?$RouteFactory.$","{","string}","`"," ","|"," ","`","...?$Router.$","{","string}","`"," ","|"," ","`","...?$RouteNames.$","{","string}","`"," ","|"," ","`","...?$RouterEvents.$","{","string}","`"," ","|"," ","`","...?$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","...?$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","...?$Http.$","{","string}","`"," ","|"," ","`","...?$HttpStatusCode.$","{","string}","`"," ","|"," ","`","...?$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Helper"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$oc"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Settings"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Secure"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Request"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Response"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Window"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Error"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Dictionary"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CookieTransformFunction"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CookieStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$SessionStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$MapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$WeakMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$SessionMapStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Dispatcher"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$EventBus"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Observable"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CacheStorage"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$CacheFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Cache"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$MetaManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$ControllerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageStateManagerDecorator"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageStateManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$ComponentUtils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Utils"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageHandlerRegistry"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageManager"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$RouteFactory"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Router"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$RouteNames"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$RouterEvents"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$HttpUrlTransformer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$HttpAgentProxy"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$Http"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$HttpStatusCode"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"...$PageRenderer"')," ","|"," ","`","...$Helper.$","{","string}","`"," ","|"," ","`","...$oc.$","{","string}","`"," ","|"," ","`","...$Settings.$","{","string}","`"," ","|"," ","`","...$Env.$","{","string}","`"," ","|"," ","`","...$Protocol.$","{","string}","`"," ","|"," ","`","...$Secure.$","{","string}","`"," ","|"," ","`","...$Request.$","{","string}","`"," ","|"," ","`","...$Response.$","{","string}","`"," ","|"," ","`","...$Window.$","{","string}","`"," ","|"," ","`","...$Error.$","{","string}","`"," ","|"," ","`","...$Dictionary.$","{","string}","`"," ","|"," ","`","...$CookieTransformFunction.$","{","string}","`"," ","|"," ","`","...$CookieStorage.$","{","string}","`"," ","|"," ","`","...$SessionStorage.$","{","string}","`"," ","|"," ","`","...$MapStorage.$","{","string}","`"," ","|"," ","`","...$WeakMapStorage.$","{","string}","`"," ","|"," ","`","...$SessionMapStorage.$","{","string}","`"," ","|"," ","`","...$Dispatcher.$","{","string}","`"," ","|"," ","`","...$EventBus.$","{","string}","`"," ","|"," ","`","...$Observable.$","{","string}","`"," ","|"," ","`","...$CacheStorage.$","{","string}","`"," ","|"," ","`","...$CacheFactory.$","{","string}","`"," ","|"," ","`","...$Cache.$","{","string}","`"," ","|"," ","`","...$MetaManager.$","{","string}","`"," ","|"," ","`","...$ControllerDecorator.$","{","string}","`"," ","|"," ","`","...$PageStateManagerDecorator.$","{","string}","`"," ","|"," ","`","...$PageStateManager.$","{","string}","`"," ","|"," ","`","...$PageFactory.$","{","string}","`"," ","|"," ","`","...$ComponentUtils.$","{","string}","`"," ","|"," ","`","...$Utils.$","{","string}","`"," ","|"," ","`","...$PageHandlerRegistry.$","{","string}","`"," ","|"," ","`","...$PageManager.$","{","string}","`"," ","|"," ","`","...$RouteFactory.$","{","string}","`"," ","|"," ","`","...$Router.$","{","string}","`"," ","|"," ","`","...$RouteNames.$","{","string}","`"," ","|"," ","`","...$RouterEvents.$","{","string}","`"," ","|"," ","`","...$HttpUrlTransformer.$","{","string}","`"," ","|"," ","`","...$HttpAgentProxy.$","{","string}","`"," ","|"," ","`","...$Http.$","{","string}","`"," ","|"," ","`","...$HttpStatusCode.$","{","string}","`"," ","|"," ","`","...$PageRenderer.$","{","string}","`"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," [",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">",", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"optional"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," }])[]"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L44"},"packages/core/src/router/Router.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"managedrootview"},"managedRootView"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"managedRootView"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L38"},"packages/core/src/router/Router.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"middlewares"},"middlewares"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"middlewares"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,r.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L43"},"packages/core/src/router/Router.ts:43")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"onlyupdate"},"onlyUpdate"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"onlyUpdate"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L39"},"packages/core/src/router/Router.ts:39")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"viewadapter"},"viewAdapter"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"viewAdapter"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L42"},"packages/core/src/router/Router.ts:42")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/162a65f7.756089b2.js b/assets/js/162a65f7.756089b2.js new file mode 100644 index 000000000..2a8e213cf --- /dev/null +++ b/assets/js/162a65f7.756089b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3403],{2874:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"basic-features/page-manager","title":"Page Manager","description":"Basic features > Page Manager and app rendering","source":"@site/../docs/basic-features/page-manager.md","sourceDirName":"basic-features","slug":"/basic-features/page-manager","permalink":"/basic-features/page-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/page-manager.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Page Manager","description":"Basic features > Page Manager and app rendering"},"sidebar":"docs","previous":{"title":"Handling scripts and styles","permalink":"/basic-features/handling-scripts-and-styles"},"next":{"title":"Events","permalink":"/basic-features/events"}}');var t=r(2540),i=r(3023);const s={title:"Page Manager",description:"Basic features > Page Manager and app rendering"},o=void 0,d={},l=[{value:"Managing process",id:"managing-process",level:2},{value:"Intervene into the process",id:"intervene-into-the-process",level:2},{value:"PageManagerHandlers",id:"pagemanagerhandlers",level:3},{value:"1. init() method",id:"1-init-method",level:4},{value:"2. handlePreManagedState() method",id:"2-handlepremanagedstate-method",level:4},{value:"3. handlePostManagedState() method",id:"3-handlepostmanagedstate-method",level:4},{value:"4. destroy() method",id:"4-destroy-method",level:4},{value:"Registering PageManagerHandlers",id:"registering-pagemanagerhandlers",level:2},{value:"PageNavigationHandler",id:"pagenavigationhandler",level:2}];function c(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Page Manager is an essential part of IMA.js. It's something like a puppeteer that manipulates with pages and views. Once a router matches URL to one of route's path the page manager takes care of the rest."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:r(7346).A+"",width:"881",height:"421"})}),"\n",(0,t.jsx)(n.h2,{id:"managing-process",children:"Managing process"}),"\n",(0,t.jsxs)(n.p,{children:["If the new matched route has ",(0,t.jsxs)(n.a,{href:"./routing/introduction#onlyupdate",children:[(0,t.jsx)(n.code,{children:"onlyUpdate"})," option"]})," set to ",(0,t.jsx)(n.code,{children:"true"})," and the controller and view hasn't changed the route transition is dispatched only through ",(0,t.jsxs)(n.a,{href:"./controller-lifecycle#update-client",children:[(0,t.jsx)(n.code,{children:"update"})," method"]})," of the controller."]}),"\n",(0,t.jsx)(n.p,{children:"In every other case the manager goes through it's full process:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Unload previous controller and extensions"})," - To make room for the new, manager has to get rid of the old controller and extensions. First calls ",(0,t.jsxs)(n.a,{href:"./controller-lifecycle#deactivate-client",children:[(0,t.jsx)(n.code,{children:"deactivate"})," method"]})," on every extension registered in the old controller and then the same method on the controller itself.\nSame process follows with ",(0,t.jsxs)(n.a,{href:"./controller-lifecycle#destroy-client",children:[(0,t.jsx)(n.code,{children:"destroy"})," method"]}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Clear state and unmount view"})," - After unloading controller and extensions the page state is cleared and view (starting from ",(0,t.jsx)(n.a,{href:"./rendering-process#managedrootview",children:"ManagedRootView"}),") is unmounted. However if the ",(0,t.jsx)(n.a,{href:"./rendering-process#documentview",children:"DocumentView"}),", ",(0,t.jsx)(n.a,{href:"./rendering-process#viewadapter",children:"ViewAdapter"})," and ",(0,t.jsx)(n.a,{href:"./rendering-process#managedrootview",children:"ManagedRootView"})," are the same for the new route the view is cleared rather then unmounted. This way you can achieve component persistency."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Loading new controller and extensions"})," - After the manager is done with clearing previous resource it initializes the new ones. First the ",(0,t.jsxs)(n.a,{href:"./controller-lifecycle#init-serverclient",children:[(0,t.jsx)(n.code,{children:"init"})," method"]})," is called on controller then on every extension (Extensions may ",(0,t.jsx)(n.a,{href:"./extensions#how-to-use-extensions",children:"be initialized"})," during the controllers ",(0,t.jsx)(n.code,{children:"init"})," method call).\nWhen the initialization is complete manager starts loading resources via ",(0,t.jsx)(n.code,{children:"load"})," method of the controller and extensions. For detailed explanation see the ",(0,t.jsxs)(n.a,{href:"./controller-lifecycle#load-serverclient",children:[(0,t.jsx)(n.code,{children:"load"})," method documentation"]}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Rendering new view"})," - After the ",(0,t.jsx)(n.code,{children:"load"})," method has been called a view for the controller is rendered. It doesn't matter if all promises returned by the ",(0,t.jsx)(n.code,{children:"load"})," method have been resolved. The process of handling promises is described in the ",(0,t.jsxs)(n.a,{href:"./controller-lifecycle#load-serverclient",children:[(0,t.jsx)(n.code,{children:"load"})," method documentation"]}),". Following rendering process is described on a page ",(0,t.jsx)(n.a,{href:"./rendering-process",children:"Rendering process"})," and ",(0,t.jsx)(n.a,{href:"./views-and-components",children:"View & Components"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"intervene-into-the-process",children:"Intervene into the process"}),"\n",(0,t.jsxs)(n.p,{children:["It's possible for you to intervene into the process before it starts and after it finished. One way is to listen to ",(0,t.jsx)(n.a,{href:"./events#built-in-events",children:(0,t.jsx)(n.code,{children:"BEFORE_HANDLE_ROUTE"})})," and ",(0,t.jsx)(n.a,{href:"./events#built-in-events",children:(0,t.jsx)(n.code,{children:"AFTER_HANDLE_ROUTE"})})," dispatcher events. However from inside event listeners you cannot intercept or modify the process. For this purpose we've introduced PageManagerHandlers in ",(0,t.jsx)(n.a,{href:"/migration/migration-0.16.0",children:"v16"})]}),"\n",(0,t.jsx)(n.h3,{id:"pagemanagerhandlers",children:"PageManagerHandlers"}),"\n",(0,t.jsxs)(n.p,{children:["PageManagerHandler is a simple class that extends ",(0,t.jsx)(n.code,{children:"ima/page/handler/PageHandler"}),". It can obtain dependencies through ",(0,t.jsx)(n.a,{href:"./object-container#1-dependency-injection",children:"dependency injection"}),". Each handler should contain 4 methods:"]}),"\n",(0,t.jsxs)(n.h4,{id:"1-init-method",children:["1. ",(0,t.jsx)(n.code,{children:"init()"})," method"]}),"\n",(0,t.jsx)(n.p,{children:"For purpose of initializing."}),"\n",(0,t.jsxs)(n.h4,{id:"2-handlepremanagedstate-method",children:["2. ",(0,t.jsx)(n.code,{children:"handlePreManagedState()"})," method"]}),"\n",(0,t.jsxs)(n.p,{children:["This method is called before the page manager start taking any action. It receives 3 arguments ",(0,t.jsx)(n.code,{children:"managedPage"}),", ",(0,t.jsx)(n.code,{children:"nextManagedPage"})," and ",(0,t.jsx)(n.code,{children:"action"}),". ",(0,t.jsx)(n.code,{children:"managedPage"})," holds information about current page, ",(0,t.jsx)(n.code,{children:"nextManagedPage"}),' about following page. Each of the "managed page" arguments has following shape:']}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"{\n controller: ?(string|function(new: Controller)), // controller class\n controllerInstance: ?Controller, // instantiated controller\n decoratedController: ?Controller, // controller decorator created from controller instance\n view: ?React.Component, // view class/component\n viewInstance: ?React.Element, // instantiated view\n route: ?Route, // matched route that leads to the controller\n options: ?RouteOptions, // route options\n params: ?Object, // route parameters and their values\n state: {\n activated: boolean // if the page has been activated\n }\n}\n"})}),"\n",(0,t.jsxs)(n.p,{children:["and finally the ",(0,t.jsx)(n.code,{children:"action"})," is an object describing what triggered the routing. If a ",(0,t.jsx)(n.code,{children:"PopStateEvent"})," triggered the routing the action object will look like this: ",(0,t.jsx)(n.code,{children:"{ type: 'popstate', event: PopStateEvent }"})," otherwise the ",(0,t.jsx)(n.code,{children:"event"})," property will contain ",(0,t.jsx)(n.code,{children:"MouseEvent"})," (e.g. clicked on a link) and ",(0,t.jsx)(n.code,{children:"type"})," property will have value ",(0,t.jsx)(n.code,{children:"'redirect'"}),", ",(0,t.jsx)(n.code,{children:"'click'"})," or ",(0,t.jsx)(n.code,{children:"'error'"}),"."]}),"\n",(0,t.jsxs)(n.h4,{id:"3-handlepostmanagedstate-method",children:["3. ",(0,t.jsx)(n.code,{children:"handlePostManagedState()"})," method"]}),"\n",(0,t.jsxs)(n.p,{children:["This method is a counterpart to ",(0,t.jsx)(n.code,{children:"handlePreManagedState()"})," method. It's called after page transition is finished. It receives similar arguments (",(0,t.jsx)(n.code,{children:"managedPage"}),", ",(0,t.jsx)(n.code,{children:"previousManagedPage"})," and ",(0,t.jsx)(n.code,{children:"action"}),"). ",(0,t.jsx)(n.code,{children:"previousManagedPage"})," holds information about previous page."]}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Note:"})," ",(0,t.jsx)(n.code,{children:"handlePreManagedState()"})," and ",(0,t.jsx)(n.code,{children:"handlePostManagedState()"})," methods can interrupt transition process by throwing an error. The thrown error should be instance of ",(0,t.jsx)(n.a,{href:"./error-handling",children:(0,t.jsx)(n.code,{children:"GenericError"})})," with a status code specified. That way the router can handle thrown error accordingly."]}),"\n"]}),"\n",(0,t.jsxs)(n.h4,{id:"4-destroy-method",children:["4. ",(0,t.jsx)(n.code,{children:"destroy()"})," method"]}),"\n",(0,t.jsx)(n.p,{children:"For purpose of destructing"}),"\n",(0,t.jsx)(n.h2,{id:"registering-pagemanagerhandlers",children:"Registering PageManagerHandlers"}),"\n",(0,t.jsxs)(n.p,{children:["PageManagerHandlers have their own registry ",(0,t.jsx)(n.strong,{children:"PageHandlerRegistry"}),". Every handler you create should be registered as a dependency of this registry."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\nimport { PageHandlerRegistry, Window } from '@ima/core';\nimport MyOwnHandler from 'app/handler/MyOwnHandler';\n\nexport let init = (ns, oc, config) => {\n // ...\n\n if (oc.get(Window).isClient()) { // register different handlers for client and server\n oc.inject(PageHandlerRegistry, [MyOwnHandler]);\n } else {\n oc.inject(PageHandlerRegistry, []);\n }\n};\n"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Note:"}),"\xa0Handlers are executed in series and each one waits for the previous one to complete its task."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"pagenavigationhandler",children:"PageNavigationHandler"}),"\n",(0,t.jsxs)(n.p,{children:["With introduction of PageManagerHandlers in ",(0,t.jsx)(n.a,{href:"/migration/migration-0.16.0",children:"v16"})," we've moved some functionality to predefined handler ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/master/packages/core/src/page/handler/PageNavigationHandler.js",children:(0,t.jsx)(n.strong,{children:"PageNavigationHandler"})}),". This handler takes care of saving scroll position, restoring scroll position and settings browser's address bar URL. You're free to extend it, override it or whatever else you want."]}),"\n",(0,t.jsx)(n.p,{children:"PageNavigationHandler is registered by default, but when you register your own handlers you need to specify PageNavigationHandler as well."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:"import { PageHandlerRegistry, PageNavigationHandler } from '@ima/core';\nimport MyOwnHandler from 'app/handler/MyOwnHandler';\n\nexport let init = (ns, oc, config) => {\n // ...\n oc.inject(PageHandlerRegistry, [PageNavigationHandler, MyOwnHandler]);\n};\n"})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7346:(e,n,r)=>{r.d(n,{A:()=>a});const a=r.p+"assets/images/diagram-page-manager-e1a61acbae5ac5651fe727dd2c2a8c31.png"},3023:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var a=r(3696);const t={},i=a.createContext(t);function s(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/162a65f7.96551b59.js b/assets/js/162a65f7.96551b59.js deleted file mode 100644 index 6d11c6f4b..000000000 --- a/assets/js/162a65f7.96551b59.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3403],{7346:(e,n,a)=>{a.d(n,{A:()=>t});const t=a.p+"assets/images/diagram-page-manager-e1a61acbae5ac5651fe727dd2c2a8c31.png"},5680:(e,n,a)=>{a.d(n,{xA:()=>g,yg:()=>h});var t=a(6540);function r(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function o(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function i(e){for(var n=1;n=0||(r[a]=e[a]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=t.createContext({}),d=function(e){var n=t.useContext(s),a=n;return e&&(a="function"==typeof e?e(n):i(i({},n),e)),a},g=function(e){var n=d(e.components);return t.createElement(s.Provider,{value:n},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},m=t.forwardRef((function(e,n){var a=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),p=d(a),m=r,h=p["".concat(s,".").concat(m)]||p[m]||c[m]||o;return a?t.createElement(h,i(i({ref:n},g),{},{components:a})):t.createElement(h,i({ref:n},g))}));function h(e,n){var a=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var d=2;d{a.r(n),a.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var t=a(8102),r=(a(6540),a(5680));const o={title:"Page Manager",description:"Basic features > Page Manager and app rendering"},i=void 0,l={unversionedId:"basic-features/page-manager",id:"basic-features/page-manager",title:"Page Manager",description:"Basic features > Page Manager and app rendering",source:"@site/../docs/basic-features/page-manager.md",sourceDirName:"basic-features",slug:"/basic-features/page-manager",permalink:"/basic-features/page-manager",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/page-manager.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Page Manager",description:"Basic features > Page Manager and app rendering"},sidebar:"docs",previous:{title:"Handling scripts and styles",permalink:"/basic-features/handling-scripts-and-styles"},next:{title:"Events",permalink:"/basic-features/events"}},s={},d=[{value:"Managing process",id:"managing-process",level:2},{value:"Intervene into the process",id:"intervene-into-the-process",level:2},{value:"PageManagerHandlers",id:"pagemanagerhandlers",level:3},{value:"1. init() method",id:"1-init-method",level:4},{value:"2. handlePreManagedState() method",id:"2-handlepremanagedstate-method",level:4},{value:"3. handlePostManagedState() method",id:"3-handlepostmanagedstate-method",level:4},{value:"4. destroy() method",id:"4-destroy-method",level:4},{value:"Registering PageManagerHandlers",id:"registering-pagemanagerhandlers",level:2},{value:"PageNavigationHandler",id:"pagenavigationhandler",level:2}],g={toc:d},p="wrapper";function c(e){let{components:n,...o}=e;return(0,r.yg)(p,(0,t.A)({},g,o,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"Page Manager is an essential part of IMA.js. It's something like a puppeteer that manipulates with pages and views. Once a router matches URL to one of route's path the page manager takes care of the rest."),(0,r.yg)("p",null,(0,r.yg)("img",{src:a(7346).A,width:"881",height:"421"})),(0,r.yg)("h2",{id:"managing-process"},"Managing process"),(0,r.yg)("p",null,"If the new matched route has ",(0,r.yg)("a",{parentName:"p",href:"./routing/introduction#onlyupdate"},(0,r.yg)("inlineCode",{parentName:"a"},"onlyUpdate")," option")," set to ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," and the controller and view hasn't changed the route transition is dispatched only through ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#update-client"},(0,r.yg)("inlineCode",{parentName:"a"},"update")," method")," of the controller."),(0,r.yg)("p",null,"In every other case the manager goes through it's full process:"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"Unload previous controller and extensions")," - To make room for the new, manager has to get rid of the old controller and extensions. First calls ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#deactivate-client"},(0,r.yg)("inlineCode",{parentName:"a"},"deactivate")," method")," on every extension registered in the old controller and then the same method on the controller itself.\nSame process follows with ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#destroy-client"},(0,r.yg)("inlineCode",{parentName:"a"},"destroy")," method"),".")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"Clear state and unmount view")," - After unloading controller and extensions the page state is cleared and view (starting from ",(0,r.yg)("a",{parentName:"p",href:"./rendering-process#managedrootview"},"ManagedRootView"),") is unmounted. However if the ",(0,r.yg)("a",{parentName:"p",href:"./rendering-process#documentview"},"DocumentView"),", ",(0,r.yg)("a",{parentName:"p",href:"./rendering-process#viewadapter"},"ViewAdapter")," and ",(0,r.yg)("a",{parentName:"p",href:"./rendering-process#managedrootview"},"ManagedRootView")," are the same for the new route the view is cleared rather then unmounted. This way you can achieve component persistency.")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"Loading new controller and extensions")," - After the manager is done with clearing previous resource it initializes the new ones. First the ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#init-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"init")," method")," is called on controller then on every extension (Extensions may ",(0,r.yg)("a",{parentName:"p",href:"./extensions#how-to-use-extensions"},"be initialized")," during the controllers ",(0,r.yg)("inlineCode",{parentName:"p"},"init")," method call).\nWhen the initialization is complete manager starts loading resources via ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method of the controller and extensions. For detailed explanation see the ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load")," method documentation"),".")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"Rendering new view")," - After the ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method has been called a view for the controller is rendered. It doesn't matter if all promises returned by the ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method have been resolved. The process of handling promises is described in the ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load")," method documentation"),". Following rendering process is described on a page ",(0,r.yg)("a",{parentName:"p",href:"./rendering-process"},"Rendering process")," and ",(0,r.yg)("a",{parentName:"p",href:"./views-and-components"},"View & Components"),"."))),(0,r.yg)("h2",{id:"intervene-into-the-process"},"Intervene into the process"),(0,r.yg)("p",null,"It's possible for you to intervene into the process before it starts and after it finished. One way is to listen to ",(0,r.yg)("a",{parentName:"p",href:"./events#built-in-events"},(0,r.yg)("inlineCode",{parentName:"a"},"BEFORE_HANDLE_ROUTE"))," and ",(0,r.yg)("a",{parentName:"p",href:"./events#built-in-events"},(0,r.yg)("inlineCode",{parentName:"a"},"AFTER_HANDLE_ROUTE"))," dispatcher events. However from inside event listeners you cannot intercept or modify the process. For this purpose we've introduced PageManagerHandlers in ",(0,r.yg)("a",{parentName:"p",href:"/migration/migration-0.16.0"},"v16")),(0,r.yg)("h3",{id:"pagemanagerhandlers"},"PageManagerHandlers"),(0,r.yg)("p",null,"PageManagerHandler is a simple class that extends ",(0,r.yg)("inlineCode",{parentName:"p"},"ima/page/handler/PageHandler"),". It can obtain dependencies through ",(0,r.yg)("a",{parentName:"p",href:"./object-container#1-dependency-injection"},"dependency injection"),". Each handler should contain 4 methods:"),(0,r.yg)("h4",{id:"1-init-method"},"1. ",(0,r.yg)("inlineCode",{parentName:"h4"},"init()")," method"),(0,r.yg)("p",null,"For purpose of initializing."),(0,r.yg)("h4",{id:"2-handlepremanagedstate-method"},"2. ",(0,r.yg)("inlineCode",{parentName:"h4"},"handlePreManagedState()")," method"),(0,r.yg)("p",null,"This method is called before the page manager start taking any action. It receives 3 arguments ",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextManagedPage")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),". ",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage")," holds information about current page, ",(0,r.yg)("inlineCode",{parentName:"p"},"nextManagedPage"),' about following page. Each of the "managed page" arguments has following shape:'),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"{\n controller: ?(string|function(new: Controller)), // controller class\n controllerInstance: ?Controller, // instantiated controller\n decoratedController: ?Controller, // controller decorator created from controller instance\n view: ?React.Component, // view class/component\n viewInstance: ?React.Element, // instantiated view\n route: ?Route, // matched route that leads to the controller\n options: ?RouteOptions, // route options\n params: ?Object, // route parameters and their values\n state: {\n activated: boolean // if the page has been activated\n }\n}\n")),(0,r.yg)("p",null,"and finally the ",(0,r.yg)("inlineCode",{parentName:"p"},"action")," is an object describing what triggered the routing. If a ",(0,r.yg)("inlineCode",{parentName:"p"},"PopStateEvent")," triggered the routing the action object will look like this: ",(0,r.yg)("inlineCode",{parentName:"p"},"{ type: 'popstate', event: PopStateEvent }")," otherwise the ",(0,r.yg)("inlineCode",{parentName:"p"},"event")," property will contain ",(0,r.yg)("inlineCode",{parentName:"p"},"MouseEvent")," (e.g. clicked on a link) and ",(0,r.yg)("inlineCode",{parentName:"p"},"type")," property will have value ",(0,r.yg)("inlineCode",{parentName:"p"},"'redirect'"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"'click'")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"'error'"),"."),(0,r.yg)("h4",{id:"3-handlepostmanagedstate-method"},"3. ",(0,r.yg)("inlineCode",{parentName:"h4"},"handlePostManagedState()")," method"),(0,r.yg)("p",null,"This method is a counterpart to ",(0,r.yg)("inlineCode",{parentName:"p"},"handlePreManagedState()")," method. It's called after page transition is finished. It receives similar arguments (",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"previousManagedPage")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"). ",(0,r.yg)("inlineCode",{parentName:"p"},"previousManagedPage")," holds information about previous page."),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("strong",{parentName:"p"},"Note:")," ",(0,r.yg)("inlineCode",{parentName:"p"},"handlePreManagedState()")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"handlePostManagedState()")," methods can interrupt transition process by throwing an error. The thrown error should be instance of ",(0,r.yg)("a",{parentName:"p",href:"./error-handling"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError"))," with a status code specified. That way the router can handle thrown error accordingly.")),(0,r.yg)("h4",{id:"4-destroy-method"},"4. ",(0,r.yg)("inlineCode",{parentName:"h4"},"destroy()")," method"),(0,r.yg)("p",null,"For purpose of destructing"),(0,r.yg)("h2",{id:"registering-pagemanagerhandlers"},"Registering PageManagerHandlers"),(0,r.yg)("p",null,"PageManagerHandlers have their own registry ",(0,r.yg)("strong",{parentName:"p"},"PageHandlerRegistry"),". Every handler you create should be registered as a dependency of this registry."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\nimport { PageHandlerRegistry, Window } from '@ima/core';\nimport MyOwnHandler from 'app/handler/MyOwnHandler';\n\nexport let init = (ns, oc, config) => {\n // ...\n\n if (oc.get(Window).isClient()) { // register different handlers for client and server\n oc.inject(PageHandlerRegistry, [MyOwnHandler]);\n } else {\n oc.inject(PageHandlerRegistry, []);\n }\n};\n")),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("strong",{parentName:"p"},"Note:"),"\xa0Handlers are executed in series and each one waits for the previous one to complete its task.")),(0,r.yg)("h2",{id:"pagenavigationhandler"},"PageNavigationHandler"),(0,r.yg)("p",null,"With introduction of PageManagerHandlers in ",(0,r.yg)("a",{parentName:"p",href:"/migration/migration-0.16.0"},"v16")," we've moved some functionality to predefined handler ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/master/packages/core/src/page/handler/PageNavigationHandler.js"},(0,r.yg)("strong",{parentName:"a"},"PageNavigationHandler")),". This handler takes care of saving scroll position, restoring scroll position and settings browser's address bar URL. You're free to extend it, override it or whatever else you want."),(0,r.yg)("p",null,"PageNavigationHandler is registered by default, but when you register your own handlers you need to specify PageNavigationHandler as well."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import { PageHandlerRegistry, PageNavigationHandler } from '@ima/core';\nimport MyOwnHandler from 'app/handler/MyOwnHandler';\n\nexport let init = (ns, oc, config) => {\n // ...\n oc.inject(PageHandlerRegistry, [PageNavigationHandler, MyOwnHandler]);\n};\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/16feba69.92465fe1.js b/assets/js/16feba69.92465fe1.js deleted file mode 100644 index f23ea8f2b..000000000 --- a/assets/js/16feba69.92465fe1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3317],{5680:(e,a,n)=>{n.d(a,{xA:()=>o,yg:()=>c});var t=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function g(e){for(var a=1;a=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=t.createContext({}),d=function(e){var a=t.useContext(p),n=a;return e&&(n="function"==typeof e?e(a):g(g({},a),e)),n},o=function(e){var a=d(e.components);return t.createElement(p.Provider,{value:a},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},y=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),s=d(n),y=r,c=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return n?t.createElement(c,g(g({ref:a},o),{},{components:n})):t.createElement(c,g({ref:a},o))}));function c(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,g=new Array(i);g[0]=y;var l={};for(var p in a)hasOwnProperty.call(a,p)&&(l[p]=a[p]);l.originalType=e,l[s]="string"==typeof e?e:r,g[1]=l;for(var d=2;d{n.r(a),n.d(a,{assets:()=>p,contentTitle:()=>g,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var t=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.ClientPageManager",title:"Class: ClientPageManager",sidebar_label:"@ima/core.ClientPageManager",custom_edit_url:null},g=void 0,l={unversionedId:"api/classes/ima_core.ClientPageManager",id:"api/classes/ima_core.ClientPageManager",title:"Class: ClientPageManager",description:"@ima/core.ClientPageManager",source:"@site/../docs/api/classes/ima_core.ClientPageManager.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ClientPageManager",permalink:"/api/classes/ima_core.ClientPageManager",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ClientPageManager",title:"Class: ClientPageManager",sidebar_label:"@ima/core.ClientPageManager",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.CancelError",permalink:"/api/classes/ima_core.CancelError"},next:{title:"@ima/core.ClientRouter",permalink:"/api/classes/ima_core.ClientRouter"}},p={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_eventBus",id:"_eventbus",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_managedPage",id:"_managedpage",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_pageFactory",id:"_pagefactory",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_pageHandlerRegistry",id:"_pagehandlerregistry",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_pageRenderer",id:"_pagerenderer",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_previousManagedPage",id:"_previousmanagedpage",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_window",id:"_window",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"Methods",id:"methods",level:2},{value:"#cancelable",id:"cancelable",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_activateController",id:"_activatecontroller",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_activateExtensions",id:"_activateextensions",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_activatePageSource",id:"_activatepagesource",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_boundOnCustomEventHandler",id:"_boundoncustomeventhandler",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"_clearComponentState",id:"_clearcomponentstate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_constructManagedPageValue",id:"_constructmanagedpagevalue",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_deactivateController",id:"_deactivatecontroller",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"_deactivateExtensions",id:"_deactivateextensions",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"_deactivatePageSource",id:"_deactivatepagesource",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"_destroyController",id:"_destroycontroller",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"_destroyExtensions",id:"_destroyextensions",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"_destroyPageSource",id:"_destroypagesource",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"_getInitialManagedPage",id:"_getinitialmanagedpage",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"_getLoadedControllerState",id:"_getloadedcontrollerstate",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"_getLoadedExtensionsState",id:"_getloadedextensionsstate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"_getUpdatedControllerState",id:"_getupdatedcontrollerstate",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"_getUpdatedExtensionsState",id:"_getupdatedextensionsstate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"_handleEventWithController",id:"_handleeventwithcontroller",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"_handleEventWithExtensions",id:"_handleeventwithextensions",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"_hasOnlyUpdate",id:"_hasonlyupdate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"_initController",id:"_initcontroller",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"_initExtensions",id:"_initextensions",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"_initPageSource",id:"_initpagesource",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"_loadPageSource",id:"_loadpagesource",level:3},{value:"Returns",id:"returns-25",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"_onChangeStateHandler",id:"_onchangestatehandler",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"_onCustomEventHandler",id:"_oncustomeventhandler",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-27",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"_parseCustomEvent",id:"_parsecustomevent",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"_runPostManageHandlers",id:"_runpostmanagehandlers",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"_runPreManageHandlers",id:"_runpremanagehandlers",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-30",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"_setRestrictedPageStateManager",id:"_setrestrictedpagestatemanager",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-31",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"_storeManagedPageSnapshot",id:"_storemanagedpagesnapshot",level:3},{value:"Returns",id:"returns-32",level:4},{value:"Inherited from",id:"inherited-from-32",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"_stripManagedPageValueForPublic",id:"_stripmanagedpagevalueforpublic",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-33",level:4},{value:"Inherited from",id:"inherited-from-33",level:4},{value:"Defined in",id:"defined-in-43",level:4},{value:"_switchToPageStateManager",id:"_switchtopagestatemanager",level:3},{value:"Returns",id:"returns-34",level:4},{value:"Inherited from",id:"inherited-from-34",level:4},{value:"Defined in",id:"defined-in-44",level:4},{value:"_switchToPageStateManagerAfterLoaded",id:"_switchtopagestatemanagerafterloaded",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-35",level:4},{value:"Inherited from",id:"inherited-from-35",level:4},{value:"Defined in",id:"defined-in-45",level:4},{value:"_updatePageSource",id:"_updatepagesource",level:3},{value:"Returns",id:"returns-36",level:4},{value:"Inherited from",id:"inherited-from-36",level:4},{value:"Defined in",id:"defined-in-46",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-37",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-47",level:4},{value:"getViewController",id:"getviewcontroller",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-38",level:4},{value:"Inherited from",id:"inherited-from-37",level:4},{value:"Defined in",id:"defined-in-48",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-39",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-49",level:4},{value:"manage",id:"manage",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-40",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-50",level:4},{value:"postManage",id:"postmanage",level:3},{value:"Returns",id:"returns-41",level:4},{value:"Inherited from",id:"inherited-from-38",level:4},{value:"Defined in",id:"defined-in-51",level:4},{value:"preManage",id:"premanage",level:3},{value:"Returns",id:"returns-42",level:4},{value:"Inherited from",id:"inherited-from-39",level:4},{value:"Defined in",id:"defined-in-52",level:4}],o={toc:d},s="wrapper";function m(e){let{components:a,...n}=e;return(0,r.yg)(s,(0,t.A)({},o,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ClientPageManager"),(0,r.yg)("p",null,"Page manager for controller on the client side."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPageManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"ClientPageManager"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new ClientPageManager"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"pageFactory"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pageRenderer"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pageStateManager"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"handlerRegistry"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dispatcher"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"window"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventBus"),")"),(0,r.yg)("p",null,"Initializes the client-side page manager."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageFactory")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Factory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageRenderer")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageRenderer"},(0,r.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current renderer of the page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageStateManager")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"handlerRegistry")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Instance of HandlerRegistry that holds a list of pre-manage and post-manage handlers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"IMA Dispatcher.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"window")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The utility for manipulating the global context and global client-side-specific APIs.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventBus")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event bus for dispatching and listening for custom IMA events propagated through the DOM.")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L70"},"packages/core/src/page/manager/ClientPageManager.ts:70")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_dispatcher"},"_dispatcher")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L81"},"packages/core/src/page/manager/AbstractPageManager.ts:81")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_eventbus"},"_","eventBus"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","eventBus"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"The event bus for dispatching and listening for custom IMA events\npropagated through the DOM."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L33"},"packages/core/src/page/manager/ClientPageManager.ts:33")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_managedpage"},"_","managedPage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","managedPage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("p",null,"Details of the currently managed page."),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_managedpage"},"_managedPage")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L68"},"packages/core/src/page/manager/AbstractPageManager.ts:68")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagefactory"},"_","pageFactory"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageFactory"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,r.yg)("p",null,"Factory used by the page manager to create instances of the\ncontroller for the current route, and decorate the controllers and\npage state managers."),(0,r.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagefactory"},"_pageFactory")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L63"},"packages/core/src/page/manager/AbstractPageManager.ts:63")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagehandlerregistry"},"_","pageHandlerRegistry"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageHandlerRegistry"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("p",null,"A registry that holds a list of pre-manage and post-manage handlers."),(0,r.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagehandlerregistry"},"_pageHandlerRegistry")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L80"},"packages/core/src/page/manager/AbstractPageManager.ts:80")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagerenderer"},"_","pageRenderer"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageRenderer"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageRenderer"},(0,r.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,r.yg)("p",null,"The current renderer of the page."),(0,r.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagerenderer"},"_pageRenderer")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L72"},"packages/core/src/page/manager/AbstractPageManager.ts:72")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagestatemanager"},"_","pageStateManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageStateManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,r.yg)("p",null,"The current page state manager."),(0,r.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagestatemanager"},"_pageStateManager")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L76"},"packages/core/src/page/manager/AbstractPageManager.ts:76")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_previousmanagedpage"},"_","previousManagedPage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","previousManagedPage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("p",null,"Snapshot of the previously managed page before it was replaced with\na new one"),(0,r.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_previousmanagedpage"},"_previousManagedPage")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L57"},"packages/core/src/page/manager/AbstractPageManager.ts:57")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_window"},"_","window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("p",null,"The utility for manipulating the global context and global\nclient-side-specific APIs."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L28"},"packages/core/src/page/manager/ClientPageManager.ts:28")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L42"},"packages/core/src/page/manager/ClientPageManager.ts:42")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"cancelable"},"#cancelable"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#cancelable"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"promise"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"promise")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager##cancelable"},"#cancelable")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L845"},"packages/core/src/page/manager/AbstractPageManager.ts:845")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_activatecontroller"},"_","activateController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_activateController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Activate managed instance of controller."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_activatecontroller"},"_activateController")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L549"},"packages/core/src/page/manager/AbstractPageManager.ts:549")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_activateextensions"},"_","activateExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_activateExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Activate extensions for managed instance of controller."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_activateextensions"},"_activateExtensions")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L563"},"packages/core/src/page/manager/AbstractPageManager.ts:563")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_activatepagesource"},"_","activatePageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_activatePageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Activate page source so call activate method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_activatepagesource"},"_activatePageSource")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L529"},"packages/core/src/page/manager/AbstractPageManager.ts:529")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_boundoncustomeventhandler"},"_","boundOnCustomEventHandler"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_boundOnCustomEventHandler"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Event listener for the custom DOM events used by the event bus,\nbound to this instance."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L38"},"packages/core/src/page/manager/ClientPageManager.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_clearcomponentstate"},"_","clearComponentState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_clearComponentState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"The method clear state on current rendered component to DOM."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_clearcomponentstate"},"_clearComponentState")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L753"},"packages/core/src/page/manager/AbstractPageManager.ts:753")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_constructmanagedpagevalue"},"_","constructManagedPageValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_constructManagedPageValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"route"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"controllerInstance"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"decoratedController"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"viewInstance"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerInstance")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,r.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"decoratedController")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"viewInstance")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_constructmanagedpagevalue"},"_constructManagedPageValue")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L245"},"packages/core/src/page/manager/AbstractPageManager.ts:245")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_deactivatecontroller"},"_","deactivateController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_deactivateController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Deactivate last managed instance of controller only If controller was\nactivated."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_deactivatecontroller"},"_deactivateController")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L691"},"packages/core/src/page/manager/AbstractPageManager.ts:691")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_deactivateextensions"},"_","deactivateExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_deactivateExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Deactivate extensions for last managed instance of controller only if\nthey were activated."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_deactivateextensions"},"_deactivateExtensions")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L702"},"packages/core/src/page/manager/AbstractPageManager.ts:702")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_deactivatepagesource"},"_","deactivatePageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_deactivatePageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Deactivate page source so call deactivate method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_deactivatepagesource"},"_deactivatePageSource")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L677"},"packages/core/src/page/manager/AbstractPageManager.ts:677")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_destroycontroller"},"_","destroyController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_destroyController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Destroy last managed instance of controller."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_destroycontroller"},"_destroyController")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L726"},"packages/core/src/page/manager/AbstractPageManager.ts:726")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_destroyextensions"},"_","destroyExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_destroyExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Destroy extensions for last managed instance of controller."),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_destroyextensions"},"_destroyExtensions")),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L739"},"packages/core/src/page/manager/AbstractPageManager.ts:739")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_destroypagesource"},"_","destroyPageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_destroyPageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Destroy page source so call destroy method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_destroypagesource"},"_destroyPageSource")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L714"},"packages/core/src/page/manager/AbstractPageManager.ts:714")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getinitialmanagedpage"},"_","getInitialManagedPage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getInitialManagedPage"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("p",null,"Clear value from managed page."),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getinitialmanagedpage"},"_getInitialManagedPage")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L302"},"packages/core/src/page/manager/AbstractPageManager.ts:302")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getloadedcontrollerstate"},"_","getLoadedControllerState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getLoadedControllerState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("p",null,"Load controller state from managed instance of controller."),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("h4",{id:"inherited-from-20"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getloadedcontrollerstate"},"_getLoadedControllerState")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L485"},"packages/core/src/page/manager/AbstractPageManager.ts:485")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getloadedextensionsstate"},"_","getLoadedExtensionsState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getLoadedExtensionsState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controllerState?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"Load extensions state from managed instance of controller."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerState?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("h4",{id:"inherited-from-21"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getloadedextensionsstate"},"_getLoadedExtensionsState")),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L501"},"packages/core/src/page/manager/AbstractPageManager.ts:501")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getupdatedcontrollerstate"},"_","getUpdatedControllerState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getUpdatedControllerState"),"(): {} ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("p",null,"Return updated controller state for current page controller."),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,"{} ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("h4",{id:"inherited-from-22"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getupdatedcontrollerstate"},"_getUpdatedControllerState")),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L621"},"packages/core/src/page/manager/AbstractPageManager.ts:621")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getupdatedextensionsstate"},"_","getUpdatedExtensionsState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getUpdatedExtensionsState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controllerState?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"Return updated extensions state for current page controller."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerState?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("h4",{id:"inherited-from-23"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getupdatedextensionsstate"},"_getUpdatedExtensionsState")),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L637"},"packages/core/src/page/manager/AbstractPageManager.ts:637")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_handleeventwithcontroller"},"_","handleEventWithController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_handleEventWithController"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prefix"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Attempts to handle the currently processed event bus custom DOM event\nusing the current controller. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the\nevent is handled by the controller."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prefix")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the method the current controller should use to process the currently processed event bus custom DOM event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The custom event's data.")))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the event has been handled by the\ncontroller, ",(0,r.yg)("inlineCode",{parentName:"p"},"false")," if the controller does not have a\nmethod for processing the event."),(0,r.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L215"},"packages/core/src/page/manager/ClientPageManager.ts:215")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_handleeventwithextensions"},"_","handleEventWithExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_handleEventWithExtensions"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prefix"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Attempts to handle the currently processed event bus custom DOM event\nusing the registered extensions of the current controller. The method\nreturns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the event is handled by the controller."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prefix")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the method the current controller should use to process the currently processed event bus custom DOM event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The custom event's data.")))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the event has been handled by one of\nthe controller's extensions, ",(0,r.yg)("inlineCode",{parentName:"p"},"false")," if none of the\ncontroller's extensions has a method for processing the event."),(0,r.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L251"},"packages/core/src/page/manager/ClientPageManager.ts:251")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_hasonlyupdate"},"_","hasOnlyUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_hasOnlyUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Return true if manager has to update last managed controller and view."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))))),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from-24"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_hasonlyupdate"},"_hasOnlyUpdate")),(0,r.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L769"},"packages/core/src/page/manager/AbstractPageManager.ts:769")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_initcontroller"},"_","initController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_initController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Initializes managed instance of controller with the provided parameters."),(0,r.yg)("h4",{id:"returns-22"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-25"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_initcontroller"},"_initController")),(0,r.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L398"},"packages/core/src/page/manager/AbstractPageManager.ts:398")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_initextensions"},"_","initExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_initExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Initialize extensions for managed instance of controller with the\nprovided parameters."),(0,r.yg)("h4",{id:"returns-23"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-26"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_initextensions"},"_initExtensions")),(0,r.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L413"},"packages/core/src/page/manager/AbstractPageManager.ts:413")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_initpagesource"},"_","initPageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_initPageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Initialize page source so call init method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-24"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-27"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_initpagesource"},"_initPageSource")),(0,r.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L383"},"packages/core/src/page/manager/AbstractPageManager.ts:383")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_loadpagesource"},"_","loadPageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_loadPageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"Load page source so call load method on controller and his extensions.\nMerge loaded state and render it."),(0,r.yg)("h4",{id:"returns-25"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("h4",{id:"inherited-from-28"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_loadpagesource"},"_loadPageSource")),(0,r.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L443"},"packages/core/src/page/manager/AbstractPageManager.ts:443")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_onchangestatehandler"},"_","onChangeStateHandler"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_onChangeStateHandler"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"On change event handler set state to view."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-26"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L276"},"packages/core/src/page/manager/ClientPageManager.ts:276")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_oncustomeventhandler"},"_","onCustomEventHandler"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_onCustomEventHandler"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Custom DOM event handler."),(0,r.yg)("p",null,"The handler invokes the event listener in the active controller, if such\nlistener is present. The name of the controller's listener method is\ncreated by turning the first symbol of the event's name to upper case,\nand then prefixing the result with the 'on' prefix."),(0,r.yg)("p",null,"For example: for an event named 'toggle' the controller's listener\nwould be named 'onToggle'."),(0,r.yg)("p",null,"The controller's listener will be invoked with the event's data as an\nargument."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The encountered event bus DOM event.")))),(0,r.yg)("h4",{id:"returns-27"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L151"},"packages/core/src/page/manager/ClientPageManager.ts:151")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_parsecustomevent"},"_","parseCustomEvent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_parseCustomEvent"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Extracts the details of the provided event bus custom DOM event, along\nwith the expected name of the current controller's method for\nintercepting the event."),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The encountered event bus custom DOM event.")))),(0,r.yg)("h4",{id:"returns-28"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"The event's\ndetails."),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prefix")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L188"},"packages/core/src/page/manager/ClientPageManager.ts:188")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_runpostmanagehandlers"},"_","runPostManageHandlers"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_runPostManageHandlers"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"previousManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"previousManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,r.yg)("h4",{id:"returns-29"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"inherited-from-29"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_runpostmanagehandlers"},"_runPostManageHandlers")),(0,r.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L809"},"packages/core/src/page/manager/AbstractPageManager.ts:809")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_runpremanagehandlers"},"_","runPreManageHandlers"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_runPreManageHandlers"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"actualManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"actualManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,r.yg)("h4",{id:"returns-30"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"inherited-from-30"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_runpremanagehandlers"},"_runPreManageHandlers")),(0,r.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L788"},"packages/core/src/page/manager/AbstractPageManager.ts:788")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_setrestrictedpagestatemanager"},"_","setRestrictedPageStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_setRestrictedPageStateManager"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"extensionState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Set page state manager to extension which has restricted rights to set\nglobal state."),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extension")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extensionState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-31"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-31"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_setrestrictedpagestatemanager"},"_setRestrictedPageStateManager")),(0,r.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L342"},"packages/core/src/page/manager/AbstractPageManager.ts:342")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_storemanagedpagesnapshot"},"_","storeManagedPageSnapshot"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_storeManagedPageSnapshot"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Creates a cloned version of currently managed page and stores it in\na helper property.\nSnapshot is used in manager handlers to easily determine differences\nbetween the current and the previous state."),(0,r.yg)("h4",{id:"returns-32"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-32"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_storemanagedpagesnapshot"},"_storeManagedPageSnapshot")),(0,r.yg)("h4",{id:"defined-in-42"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L281"},"packages/core/src/page/manager/AbstractPageManager.ts:281")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_stripmanagedpagevalueforpublic"},"_","stripManagedPageValueForPublic"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_stripManagedPageValueForPublic"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Removes properties we do not want to propagate outside of the page manager"),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The managed page object to strip down")))),(0,r.yg)("h4",{id:"returns-33"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"inherited-from-33"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_stripmanagedpagevalueforpublic"},"_stripManagedPageValueForPublic")),(0,r.yg)("h4",{id:"defined-in-43"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L332"},"packages/core/src/page/manager/AbstractPageManager.ts:332")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_switchtopagestatemanager"},"_","switchToPageStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_switchToPageStateManager"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Iterates over extensions of current controller and switches each one to\npageStateManager and clears their partial state."),(0,r.yg)("h4",{id:"returns-34"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-34"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_switchtopagestatemanager"},"_switchToPageStateManager")),(0,r.yg)("h4",{id:"defined-in-44"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L430"},"packages/core/src/page/manager/AbstractPageManager.ts:430")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_switchtopagestatemanagerafterloaded"},"_","switchToPageStateManagerAfterLoaded"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_switchToPageStateManagerAfterLoaded"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"extensionState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"For defined extension switches to pageStageManager and clears partial state\nafter extension state is loaded."),(0,r.yg)("h4",{id:"parameters-17"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extension")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extensionState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-35"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-35"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_switchtopagestatemanagerafterloaded"},"_switchToPageStateManagerAfterLoaded")),(0,r.yg)("h4",{id:"defined-in-45"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L363"},"packages/core/src/page/manager/AbstractPageManager.ts:363")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_updatepagesource"},"_","updatePageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_updatePageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"Update page source so call update method on controller and his\nextensions. Merge updated state and render it."),(0,r.yg)("h4",{id:"returns-36"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("h4",{id:"inherited-from-36"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_updatepagesource"},"_updatePageSource")),(0,r.yg)("h4",{id:"defined-in-46"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L580"},"packages/core/src/page/manager/AbstractPageManager.ts:580")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,r.yg)("h4",{id:"returns-37"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#destroy"},"destroy")),(0,r.yg)("h4",{id:"defined-in-47"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L126"},"packages/core/src/page/manager/ClientPageManager.ts:126")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getviewcontroller"},"getViewController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"getViewController"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"route"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController"))," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteView"))," }",">"),(0,r.yg)("h4",{id:"parameters-18"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,r.yg)("h4",{id:"returns-38"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController"))," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteView"))," }",">"),(0,r.yg)("h4",{id:"inherited-from-37"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#getviewcontroller"},"getViewController")),(0,r.yg)("h4",{id:"defined-in-48"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L833"},"packages/core/src/page/manager/AbstractPageManager.ts:833")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the page manager."),(0,r.yg)("h4",{id:"returns-39"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#init"},"init")),(0,r.yg)("h4",{id:"defined-in-49"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L95"},"packages/core/src/page/manager/ClientPageManager.ts:95")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"manage"},"manage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"manage"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"\xabdestructured\xbb"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."),(0,r.yg)("p",null,"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."),(0,r.yg)("h4",{id:"parameters-19"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"\xabdestructured\xbb")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#manageargs"},(0,r.yg)("inlineCode",{parentName:"a"},"ManageArgs")))))),(0,r.yg)("h4",{id:"returns-40"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"A promise that will resolve to information about the rendered page.\nThe ",(0,r.yg)("inlineCode",{parentName:"p"},"status")," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#manage"},"manage")),(0,r.yg)("h4",{id:"defined-in-50"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ClientPageManager.ts#L109"},"packages/core/src/page/manager/ClientPageManager.ts:109")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"postmanage"},"postManage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"postManage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called by router after currently managed route is resolved."),(0,r.yg)("h4",{id:"returns-41"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-38"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#postmanage"},"postManage")),(0,r.yg)("h4",{id:"defined-in-51"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L223"},"packages/core/src/page/manager/AbstractPageManager.ts:223")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"premanage"},"preManage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"preManage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."),(0,r.yg)("h4",{id:"returns-42"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"inherited-from-39"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#premanage"},"preManage")),(0,r.yg)("h4",{id:"defined-in-52"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L123"},"packages/core/src/page/manager/AbstractPageManager.ts:123")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/173fd68b.5706c0c2.js b/assets/js/173fd68b.5706c0c2.js deleted file mode 100644 index 3094093c6..000000000 --- a/assets/js/173fd68b.5706c0c2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[880],{4061:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/1774.ac8a7eec.js b/assets/js/1774.ac8a7eec.js deleted file mode 100644 index 901923ad7..000000000 --- a/assets/js/1774.ac8a7eec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1774],{1774:(e,t,a)=>{a.r(t),a.d(t,{default:()=>i});var n=a(6540),l=a(1312),o=a(9024),r=a(2546);function i(){return n.createElement(n.Fragment,null,n.createElement(o.be,{title:(0,l.T)({id:"theme.NotFound.title",message:"Page Not Found"})}),n.createElement(r.A,null,n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col col--6 col--offset-3"},n.createElement("h1",{className:"hero__title"},n.createElement(l.A,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),n.createElement("p",null,n.createElement(l.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),n.createElement("p",null,n.createElement(l.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/assets/js/17896441.104652ac.js b/assets/js/17896441.104652ac.js new file mode 100644 index 000000000..be9ae3201 --- /dev/null +++ b/assets/js/17896441.104652ac.js @@ -0,0 +1 @@ +(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8401],{3815:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>an});var s=n(3696),a=n(2952),o=n(8225),i=n(2540);const l=s.createContext(null);function c(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,i.jsx)(l.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(l);if(null===e)throw new o.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,i.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(2689),m=n(7978),h=n(7963),p=n(9985);function f(e){const{permalink:t,title:n,subLabel:s,isNext:a}=e;return(0,i.jsxs)(p.A,{className:(0,u.A)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}function x(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(f,{...t,subLabel:(0,i.jsx)(h.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(f,{...n,subLabel:(0,i.jsx)(h.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function b(){const{metadata:e}=r();return(0,i.jsx)(x,{previous:e.previous,next:e.next})}var g=n(4669),j=n(9294),v=n(7404),N=n(1599),A=n(6658);const C={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,i.jsx)(h.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,i.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,i.jsx)(h.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,i.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function y(e){const t=C[e.versionMetadata.banner];return(0,i.jsx)(t,{...e})}function k(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,i.jsx)(h.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,i.jsx)("b",{children:(0,i.jsx)(p.A,{to:n,onClick:s,children:(0,i.jsx)(h.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function L(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,g.A)(),{pluginId:a}=(0,j.vT)({failfast:!0}),{savePreferredVersionName:o}=(0,N.g1)(a),{latestDocSuggestion:l,latestVersionSuggestion:c}=(0,j.HW)(a),r=l??(d=c).docs.find((e=>e.id===d.mainDocId));var d;return(0,i.jsxs)("div",{className:(0,u.A)(t,v.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,i.jsx)("div",{children:(0,i.jsx)(y,{siteTitle:s,versionMetadata:n})}),(0,i.jsx)("div",{className:"margin-top--md",children:(0,i.jsx)(k,{versionLabel:c.label,to:r.path,onClick:()=>o(c.name)})})]})}function B(e){let{className:t}=e;const n=(0,A.r)();return n.banner?(0,i.jsx)(L,{className:t,versionMetadata:n}):null}function _(e){let{className:t}=e;const n=(0,A.r)();return n.badge?(0,i.jsx)("span",{className:(0,u.A)(t,v.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,i.jsx)(h.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}const w={tag:"tag_otG2",tagRegular:"tagRegular_s0E1",tagWithCount:"tagWithCount_PGyn"};function T(e){let{permalink:t,label:n,count:s,description:a}=e;return(0,i.jsxs)(p.A,{href:t,title:a,className:(0,u.A)(w.tag,s?w.tagWithCount:w.tagRegular),children:[n,s&&(0,i.jsx)("span",{children:s})]})}const E={tags:"tags_Ow0B",tag:"tag_DFxh"};function H(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(h.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,u.A)(E.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,i.jsx)("li",{className:E.tag,children:(0,i.jsx)(T,{...e})},e.permalink)))})]})}const M={iconEdit:"iconEdit_bHB7"};function I(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.A)(M.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function S(e){let{editUrl:t}=e;return(0,i.jsxs)(p.A,{to:t,className:v.G.common.editThisPage,children:[(0,i.jsx)(I,{}),(0,i.jsx)(h.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}function U(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,g.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,g.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}function R(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=U({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,i.jsx)(h.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function z(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(h.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function V(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,i.jsxs)("span",{className:v.G.common.lastUpdated,children:[(0,i.jsx)(h.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,i.jsx)(R,{lastUpdatedAt:t}):"",byUser:n?(0,i.jsx)(z,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const O={lastUpdated:"lastUpdated_ydrU"};function D(e){let{className:t,editUrl:n,lastUpdatedAt:s,lastUpdatedBy:a}=e;return(0,i.jsxs)("div",{className:(0,u.A)("row",t),children:[(0,i.jsx)("div",{className:"col",children:n&&(0,i.jsx)(S,{editUrl:n})}),(0,i.jsx)("div",{className:(0,u.A)("col",O.lastUpdated),children:(s||a)&&(0,i.jsx)(V,{lastUpdatedAt:s,lastUpdatedBy:a})})]})}function G(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,o=a.length>0,l=!!(t||n||s);return o||l?(0,i.jsxs)("footer",{className:(0,u.A)(v.G.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,i.jsx)("div",{className:(0,u.A)("row margin-top--sm",v.G.docs.docFooterTagsRow),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(H,{tags:a})})}),l&&(0,i.jsx)(D,{className:(0,u.A)("margin-top--sm",v.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var P=n(9695),F=n(2427);function $(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function W(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=W({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function q(e){const t=e.getBoundingClientRect();return t.top===t.bottom?q(e.parentNode):t}function Q(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>q(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function Z(e){const t=(0,s.useRef)(void 0),n=X();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:o,maxHeadingLevel:i}),c=Q(l,{anchorTopOffset:n.current}),r=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===r)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}function Y(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,i.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,i.jsxs)("li",{children:[(0,i.jsx)(p.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,i.jsx)(Y,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const J=s.memo(Y);function K(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:a="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:l,maxHeadingLevel:c,...r}=e;const d=(0,F.p)(),u=l??d.tableOfContents.minHeadingLevel,m=c??d.tableOfContents.maxHeadingLevel,h=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>W({toc:$(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:u,maxHeadingLevel:m});return Z((0,s.useMemo)((()=>{if(a&&o)return{linkClassName:a,linkActiveClassName:o,minHeadingLevel:u,maxHeadingLevel:m}}),[a,o,u,m])),(0,i.jsx)(J,{toc:h,className:n,linkClassName:a,...r})}const ee={tocCollapsibleButton:"tocCollapsibleButton_iI2p",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_cHjC"};function te(e){let{collapsed:t,...n}=e;return(0,i.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",ee.tocCollapsibleButton,!t&&ee.tocCollapsibleButtonExpanded,n.className),children:(0,i.jsx)(h.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const ne={tocCollapsible:"tocCollapsible_wXna",tocCollapsibleContent:"tocCollapsibleContent_vea0",tocCollapsibleExpanded:"tocCollapsibleExpanded_BbRn"};function se(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:o,toggleCollapsed:l}=(0,P.u)({initialState:!0});return(0,i.jsxs)("div",{className:(0,u.A)(ne.tocCollapsible,!o&&ne.tocCollapsibleExpanded,n),children:[(0,i.jsx)(te,{collapsed:o,onClick:l}),(0,i.jsx)(P.N,{lazy:!0,className:ne.tocCollapsibleContent,collapsed:o,children:(0,i.jsx)(K,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const ae={tocMobile:"tocMobile_Ojys"};function oe(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(se,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(v.G.docs.docTocMobile,ae.tocMobile)})}const ie={tableOfContents:"tableOfContents_XG6w",docItemContainer:"docItemContainer_Tr6w"},le="table-of-contents__link toc-highlight",ce="table-of-contents__link--active";function re(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,u.A)(ie.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(K,{...n,linkClassName:le,linkActiveClassName:ce})})}function de(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(re,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:v.G.docs.docTocDesktop})}var ue=n(1282),me=n(3023),he=n(7943),pe=n(5200),fe=n(4996);function xe(){const{prism:e}=(0,F.p)(),{colorMode:t}=(0,fe.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var be=n(9934),ge=n.n(be);const je=/title=(?["'])(?.*?)\1/,ve=/\{(?<range>[\d,-]+)\}/,Ne={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},Ae={...Ne,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},Ce=Object.keys(Ne);function ye(e,t){const n=e.map((e=>{const{start:n,end:s}=Ae[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function ke(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&ve.test(o)){const e=o.match(ve).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=ge()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return ye(["js","jsBlock"],t);case"jsx":case"tsx":return ye(["js","jsBlock","jsx"],t);case"html":return ye(["js","jsBlock","html"],t);case"python":case"py":case"bash":return ye(["bash"],t);case"markdown":case"md":return ye(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return ye(["tex"],t);case"lua":case"haskell":return ye(["lua"],t);case"sql":return ye(["lua","jsBlock"],t);case"wasm":return ye(["wasm"],t);case"vb":case"vba":case"visual-basic":return ye(["vb","rem"],t);case"vbnet":return ye(["vbnet","rem"],t);case"batch":return ye(["rem"],t);case"basic":return ye(["rem","f90"],t);case"fsharp":return ye(["js","ml"],t);case"ocaml":case"sml":return ye(["ml"],t);case"fortran":return ye(["f90"],t);case"cobol":return ye(["cobol"],t);default:return ye(Ce,t)}}(s,a),l=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),r=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<l.length;){const e=l[h].match(i);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));r[t]?c[r[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),l.splice(h,1)}n=l.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;ge()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const Le="codeBlockContainer_mQmQ";function Be(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(xe());return(0,i.jsx)(t,{...n,style:s,className:(0,u.A)(n.className,Le,v.G.common.codeBlock)})}const _e={codeBlockContent:"codeBlockContent_D5yF",codeBlockTitle:"codeBlockTitle_x_ju",codeBlock:"codeBlock_RMoD",codeBlockStandalone:"codeBlockStandalone_wQog",codeBlockLines:"codeBlockLines_AclH",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_O625",buttonGroup:"buttonGroup_aaMX"};function we(e){let{children:t,className:n}=e;return(0,i.jsx)(Be,{as:"pre",tabIndex:0,className:(0,u.A)(_e.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:_e.codeBlockLines,children:t})})}const Te={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ee(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=Te);const a=(0,o._q)(t),i=(0,o.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var He=n(3915);const Me="codeLine_FAqz",Ie="codeLineNumber_BE9Z",Se="codeLineContent_EF2y";function Ue(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const l=a({line:t,className:(0,u.A)(n,s&&Me)}),c=t.map(((e,t)=>(0,i.jsx)("span",{...o({token:e})},t)));return(0,i.jsxs)("span",{...l,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Ie}),(0,i.jsx)("span",{className:Se,children:c})]}):c,(0,i.jsx)("br",{})]})}function Re(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function ze(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const Ve={copyButtonCopied:"copyButtonCopied_TYdd",copyButtonIcons:"copyButtonIcons_z5j7",copyButtonIcon:"copyButtonIcon_FoOz",copyButtonSuccessIcon:"copyButtonSuccessIcon_L0B6"};function Oe(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),l=(0,s.useRef)(void 0),c=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),i=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}s.remove(),i&&(o.removeAllRanges(),o.addRange(i)),a&&a.focus()}(t),o(!0),l.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,i.jsx)("button",{type:"button","aria-label":a?(0,h.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,h.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,h.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.A)("clean-btn",n,Ve.copyButton,a&&Ve.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:Ve.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(Re,{className:Ve.copyButtonIcon}),(0,i.jsx)(ze,{className:Ve.copyButtonSuccessIcon})]})})}function De(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Ge="wordWrapButtonIcon_HV9T",Pe="wordWrapButtonEnabled_XzR1";function Fe(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,h.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,u.A)("clean-btn",t,s&&Pe),"aria-label":a,title:a,children:(0,i.jsx)(De,{className:Ge,"aria-hidden":"true"})})}function $e(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:r,magicComments:d}}=(0,F.p)(),m=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??r),h=xe(),p=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return Ee(o,l),(0,s.useEffect)((()=>{l()}),[e,l]),(0,s.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:i}}(),f=function(e){return e?.match(je)?.groups.title??""}(a)||o,{lineClassNames:x,code:b}=ke(t,{metastring:a,language:m,magicComments:d}),g=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,i.jsxs)(Be,{as:"div",className:(0,u.A)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`),children:[f&&(0,i.jsx)("div",{className:_e.codeBlockTitle,children:f}),(0,i.jsxs)("div",{className:_e.codeBlockContent,children:[(0,i.jsx)(He.f4,{theme:h,code:b,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,u.A)(t,_e.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,u.A)(_e.codeBlockLines,g&&_e.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,i.jsx)(Ue,{line:e,getLineProps:a,getTokenProps:o,classNames:x[t],showLineNumbers:g},t)))})})}}),(0,i.jsxs)("div",{className:_e.buttonGroup,children:[(p.isEnabled||p.isCodeScrollable)&&(0,i.jsx)(Fe,{className:_e.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),(0,i.jsx)(Oe,{className:_e.codeButton,code:b})]})]})]})}function We(e){let{children:t,...n}=e;const a=(0,pe.A)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof o?$e:we;return(0,i.jsx)(l,{...n,children:o},String(a))}function qe(e){return(0,i.jsx)("code",{...e})}var Qe=n(9256),Xe=n(5470);const Ze="details_IpIu",Ye="isBrowser_QD4r",Je="collapsibleContent_Fd2D";function Ke(e){return!!e&&("SUMMARY"===e.tagName||Ke(e.parentElement))}function et(e,t){return!!e&&(e===t||et(e.parentElement,t))}function tt(e){let{summary:t,children:n,...a}=e;(0,Xe.A)().collectAnchor(a.id);const o=(0,pe.A)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:r}=(0,P.u)({initialState:!a.open}),[d,u]=(0,s.useState)(a.open),m=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...a,ref:l,open:d,"data-collapsed":c,className:(0,Qe.A)(Ze,o&&Ye,a.className),onMouseDown:e=>{Ke(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Ke(t)&&et(t,l.current)&&(e.preventDefault(),c?(r(!1),u(!0)):r(!0))},children:[m,(0,i.jsx)(P.N,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),u(!e)},children:(0,i.jsx)("div",{className:Je,children:n})})]})}const nt="details_jERq";function st(e){let{...t}=e;return(0,i.jsx)(tt,{...t,className:(0,u.A)("alert alert--info",nt,t.className)})}function at(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==n))});return(0,i.jsx)(st,{...e,summary:n,children:a})}function ot(e){return(0,i.jsx)(ue.A,{...e})}const it="containsTaskList_QWGu";function lt(e){if(void 0!==e)return(0,u.A)(e,e?.includes("contains-task-list")&&it)}const ct="img_SS3x";function rt(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:a.length>0?(0,i.jsx)(i.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const dt="admonition_WCGJ",ut="admonitionHeading_GCBg",mt="admonitionIcon_L39b",ht="admonitionContent_pbrs";function pt(e){let{type:t,className:n,children:s}=e;return(0,i.jsx)("div",{className:(0,u.A)(v.G.common.admonition,v.G.common.admonitionType(t),dt,n),children:s})}function ft(e){let{icon:t,title:n}=e;return(0,i.jsxs)("div",{className:ut,children:[(0,i.jsx)("span",{className:mt,children:t}),n]})}function xt(e){let{children:t}=e;return t?(0,i.jsx)("div",{className:ht,children:t}):null}function bt(e){const{type:t,icon:n,title:s,children:a,className:o}=e;return(0,i.jsxs)(pt,{type:t,className:o,children:[s||n?(0,i.jsx)(ft,{title:s,icon:n}):null,(0,i.jsx)(xt,{children:a})]})}function gt(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const jt={icon:(0,i.jsx)(gt,{}),title:(0,i.jsx)(h.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function vt(e){return(0,i.jsx)(bt,{...jt,...e,className:(0,u.A)("alert alert--secondary",e.className),children:e.children})}function Nt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const At={icon:(0,i.jsx)(Nt,{}),title:(0,i.jsx)(h.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function Ct(e){return(0,i.jsx)(bt,{...At,...e,className:(0,u.A)("alert alert--success",e.className),children:e.children})}function yt(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const kt={icon:(0,i.jsx)(yt,{}),title:(0,i.jsx)(h.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function Lt(e){return(0,i.jsx)(bt,{...kt,...e,className:(0,u.A)("alert alert--info",e.className),children:e.children})}function Bt(e){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const _t={icon:(0,i.jsx)(Bt,{}),title:(0,i.jsx)(h.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function wt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const Tt={icon:(0,i.jsx)(wt,{}),title:(0,i.jsx)(h.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const Et={icon:(0,i.jsx)(Bt,{}),title:(0,i.jsx)(h.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const Ht={...{note:vt,tip:Ct,info:Lt,warning:function(e){return(0,i.jsx)(bt,{..._t,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,i.jsx)(bt,{...Tt,...e,className:(0,u.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,i.jsx)(vt,{title:"secondary",...e}),important:e=>(0,i.jsx)(Lt,{title:"important",...e}),success:e=>(0,i.jsx)(Ct,{title:"success",...e}),caution:function(e){return(0,i.jsx)(bt,{...Et,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})}}};function Mt(e){const t=rt(e),n=(s=t.type,Ht[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),Ht.info));var s;return(0,i.jsx)(n,{...t})}const It={Head:he.A,details:at,Details:at,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,i.jsx)(qe,{...e}):(0,i.jsx)(We,{...e})},a:function(e){return(0,i.jsx)(p.A,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:lt(e.className)})},li:function(e){return(0,Xe.A)().collectAnchor(e.id),(0,i.jsx)("li",{...e})},img:function(e){return(0,i.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,u.A)(t,ct))});var t},h1:e=>(0,i.jsx)(ot,{as:"h1",...e}),h2:e=>(0,i.jsx)(ot,{as:"h2",...e}),h3:e=>(0,i.jsx)(ot,{as:"h3",...e}),h4:e=>(0,i.jsx)(ot,{as:"h4",...e}),h5:e=>(0,i.jsx)(ot,{as:"h5",...e}),h6:e=>(0,i.jsx)(ot,{as:"h6",...e}),admonition:Mt,mermaid:()=>null};function St(e){let{children:t}=e;return(0,i.jsx)(me.x,{components:It,children:t})}function Ut(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=r();return t.hide_title||void 0!==n?null:e.title}();return(0,i.jsxs)("div",{className:(0,u.A)(v.G.docs.docMarkdown,"markdown"),children:[n&&(0,i.jsx)("header",{children:(0,i.jsx)(ue.A,{as:"h1",children:n})}),(0,i.jsx)(St,{children:t})]})}var Rt=n(3511),zt=n(4422),Vt=n(3254);function Ot(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const Dt={breadcrumbHomeIcon:"breadcrumbHomeIcon_sfvy"};function Gt(){const e=(0,Vt.Ay)("/");return(0,i.jsx)("li",{className:"breadcrumbs__item",children:(0,i.jsx)(p.A,{"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,i.jsx)(Ot,{className:Dt.breadcrumbHomeIcon})})})}const Pt={breadcrumbsContainer:"breadcrumbsContainer_T5ub"};function Ft(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,i.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,i.jsx)(p.A,{className:a,href:n,itemProp:"item",children:(0,i.jsx)("span",{itemProp:"name",children:t})}):(0,i.jsx)("span",{className:a,children:t})}function $t(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,i.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,i.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function Wt(){const e=(0,Rt.OF)(),t=(0,zt.Dt)();return e?(0,i.jsx)("nav",{className:(0,u.A)(v.G.docs.docBreadcrumbs,Pt.breadcrumbsContainer),"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,i.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,i.jsx)(Gt,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,i.jsx)($t,{active:s,index:n,addMicrodata:!!a,children:(0,i.jsx)(Ft,{href:a,isLast:s,children:t.label})},n)}))]})}):null}function qt(){return(0,i.jsx)(h.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function Qt(){return(0,i.jsx)(h.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function Xt(){return(0,i.jsx)(he.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Zt(){return(0,i.jsx)(h.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function Yt(){return(0,i.jsx)(h.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}function Jt(e){let{className:t}=e;return(0,i.jsx)(Mt,{type:"caution",title:(0,i.jsx)(Zt,{}),className:(0,u.A)(t,v.G.common.draftBanner),children:(0,i.jsx)(Yt,{})})}function Kt(e){let{className:t}=e;return(0,i.jsx)(Mt,{type:"caution",title:(0,i.jsx)(qt,{}),className:(0,u.A)(t,v.G.common.unlistedBanner),children:(0,i.jsx)(Qt,{})})}function en(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Xt,{}),(0,i.jsx)(Kt,{...e})]})}function tn(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,i.jsxs)(i.Fragment,{children:[(n||s.unlisted)&&(0,i.jsx)(en,{}),s.draft&&(0,i.jsx)(Jt,{})]})}const nn={docItemContainer:"docItemContainer_tjFy",docItemCol:"docItemCol_Qr34"};function sn(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,i.jsx)(oe,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,i.jsx)(de,{})}}(),{metadata:s}=r();return(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&nn.docItemCol),children:[(0,i.jsx)(tn,{metadata:s}),(0,i.jsx)(B,{}),(0,i.jsxs)("div",{className:nn.docItemContainer,children:[(0,i.jsxs)("article",{children:[(0,i.jsx)(Wt,{}),(0,i.jsx)(_,{}),n.mobile,(0,i.jsx)(Ut,{children:t}),(0,i.jsx)(G,{})]}),(0,i.jsx)(b,{})]})]}),n.desktop&&(0,i.jsx)("div",{className:"col col--3",children:n.desktop})]})}function an(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,i.jsx)(c,{content:e.content,children:(0,i.jsxs)(a.e3,{className:t,children:[(0,i.jsx)(d,{}),(0,i.jsx)(sn,{children:(0,i.jsx)(n,{})})]})})}},9934:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s<o?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(o+=e);for(let t=s;t!==o;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},3023:(e,t,n)=>{"use strict";n.d(t,{R:()=>i,x:()=>l});var s=n(3696);const a={},o=s.createContext(a);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/17896441.cac09774.js b/assets/js/17896441.cac09774.js deleted file mode 100644 index 9a9030df2..000000000 --- a/assets/js/17896441.cac09774.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8401],{9934:(e,t)=>{function n(e){let t,n=[];for(let a of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(a))n.push(parseInt(a,10));else if(t=a.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,a,o,r]=t;if(a&&r){a=parseInt(a),r=parseInt(r);const e=a<r?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(r+=e);for(let t=a;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},5680:(e,t,n)=>{"use strict";n.d(t,{xA:()=>d,yg:()=>f});var a=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),i=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=i(e.components);return a.createElement(s.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),m=i(n),p=o,f=m["".concat(s,".").concat(p)]||m[p]||u[p]||r;return n?a.createElement(f,l(l({ref:t},d),{},{components:n})):a.createElement(f,l({ref:t},d))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,l=new Array(r);l[0]=p;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[m]="string"==typeof e?e:o,l[1]=c;for(var i=2;i<r;i++)l[i]=n[i];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}p.displayName="MDXCreateElement"},6093:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Mt});var a=n(6540),o=n(9024),r=n(9532);const l=a.createContext(null);function c(e){let{children:t,content:n}=e;const o=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(l.Provider,{value:o},t)}function s(){const e=(0,a.useContext)(l);if(null===e)throw new r.dV("DocProvider");return e}function i(){const{metadata:e,frontMatter:t,assets:n}=s();return a.createElement(o.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var d=n(8017),m=n(4581),u=n(8102),p=n(1312),f=n(5489);function h(e){const{permalink:t,title:n,subLabel:o,isNext:r}=e;return a.createElement(f.A,{className:(0,d.A)("pagination-nav__link",r?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},o&&a.createElement("div",{className:"pagination-nav__sublabel"},o),a.createElement("div",{className:"pagination-nav__label"},n))}function g(e){const{previous:t,next:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,p.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&a.createElement(h,(0,u.A)({},t,{subLabel:a.createElement(p.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&a.createElement(h,(0,u.A)({},n,{subLabel:a.createElement(p.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function b(){const{metadata:e}=s();return a.createElement(g,{previous:e.previous,next:e.next})}var v=n(4586),E=n(4070),y=n(7559),k=n(5597),N=n(2252);const A={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(p.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(p.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function C(e){const t=A[e.versionMetadata.banner];return a.createElement(t,e)}function L(e){let{versionLabel:t,to:n,onClick:o}=e;return a.createElement(p.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(f.A,{to:n,onClick:o},a.createElement(p.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function T(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,v.A)(),{pluginId:r}=(0,E.vT)({failfast:!0}),{savePreferredVersionName:l}=(0,k.g1)(r),{latestDocSuggestion:c,latestVersionSuggestion:s}=(0,E.HW)(r),i=c??(m=s).docs.find((e=>e.id===m.mainDocId));var m;return a.createElement("div",{className:(0,d.A)(t,y.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(C,{siteTitle:o,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(L,{versionLabel:s.label,to:i.path,onClick:()=>l(s.name)})))}function _(e){let{className:t}=e;const n=(0,N.r)();return n.banner?a.createElement(T,{className:t,versionMetadata:n}):null}function w(e){let{className:t}=e;const n=(0,N.r)();return n.badge?a.createElement("span",{className:(0,d.A)(t,y.G.docs.docVersionBadge,"badge badge--secondary")},a.createElement(p.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}function x(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(p.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function B(e){let{lastUpdatedBy:t}=e;return a.createElement(p.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function O(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:o}=e;return a.createElement("span",{className:y.G.common.lastUpdated},a.createElement(p.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(x,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:o?a.createElement(B,{lastUpdatedBy:o}):""}},"Last updated{atDate}{byUser}"),!1)}const H={iconEdit:"iconEdit_Z9Sw"};function j(e){let{className:t,...n}=e;return a.createElement("svg",(0,u.A)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,d.A)(H.iconEdit,t),"aria-hidden":"true"},n),a.createElement("g",null,a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}function S(e){let{editUrl:t}=e;return a.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:y.G.common.editThisPage},a.createElement(j,null),a.createElement(p.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}const M={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function P(e){let{permalink:t,label:n,count:o}=e;return a.createElement(f.A,{href:t,className:(0,d.A)(M.tag,o?M.tagWithCount:M.tagRegular)},n,o&&a.createElement("span",null,o))}const I={tags:"tags_jXut",tag:"tag_QGVx"};function U(e){let{tags:t}=e;return a.createElement(a.Fragment,null,a.createElement("b",null,a.createElement(p.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),a.createElement("ul",{className:(0,d.A)(I.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return a.createElement("li",{key:n,className:I.tag},a.createElement(P,{label:t,permalink:n}))}))))}const V={lastUpdated:"lastUpdated_vwxv"};function z(e){return a.createElement("div",{className:(0,d.A)(y.G.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(U,e)))}function D(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:o,formattedLastUpdatedAt:r}=e;return a.createElement("div",{className:(0,d.A)(y.G.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(S,{editUrl:t})),a.createElement("div",{className:(0,d.A)("col",V.lastUpdated)},(n||o)&&a.createElement(O,{lastUpdatedAt:n,formattedLastUpdatedAt:r,lastUpdatedBy:o})))}function R(){const{metadata:e}=s(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:o,lastUpdatedBy:r,tags:l}=e,c=l.length>0,i=!!(t||n||r);return c||i?a.createElement("footer",{className:(0,d.A)(y.G.docs.docFooter,"docusaurus-mt-lg")},c&&a.createElement(z,{tags:l}),i&&a.createElement(D,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r,formattedLastUpdatedAt:o})):null}var W=n(1422),G=n(6342);function $(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...o}=e;n>=0?t[n].children.push(o):a.push(o)})),a}function F(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=F({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function q(e){const t=e.getBoundingClientRect();return t.top===t.bottom?q(e.parentNode):t}function Y(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>q(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(q(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function Z(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,G.p)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function Q(e){const t=(0,a.useRef)(void 0),n=Z();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:o,minHeadingLevel:r,maxHeadingLevel:l}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),c=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let o=t;o<=n;o+=1)a.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:r,maxHeadingLevel:l}),s=Y(c,{anchorTopOffset:n.current}),i=e.find((e=>s&&s.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(o),e.classList.add(o),t.current=e):e.classList.remove(o)}(e,e===i)}))}return document.addEventListener("scroll",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}function X(e){let{toc:t,className:n,linkClassName:o,isChild:r}=e;return t.length?a.createElement("ul",{className:r?void 0:n},t.map((e=>a.createElement("li",{key:e.id},a.createElement("a",{href:`#${e.id}`,className:o??void 0,dangerouslySetInnerHTML:{__html:e.value}}),a.createElement(X,{isChild:!0,toc:e.children,className:n,linkClassName:o}))))):null}const J=a.memo(X);function K(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:l,maxHeadingLevel:c,...s}=e;const i=(0,G.p)(),d=l??i.tableOfContents.minHeadingLevel,m=c??i.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,a.useMemo)((()=>F({toc:$(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:d,maxHeadingLevel:m});return Q((0,a.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:d,maxHeadingLevel:m}}),[o,r,d,m])),a.createElement(J,(0,u.A)({toc:p,className:n,linkClassName:o},s))}const ee={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function te(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,u.A)({type:"button"},n,{className:(0,d.A)("clean-btn",ee.tocCollapsibleButton,!t&&ee.tocCollapsibleButtonExpanded,n.className)}),a.createElement(p.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const ne={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function ae(e){let{toc:t,className:n,minHeadingLevel:o,maxHeadingLevel:r}=e;const{collapsed:l,toggleCollapsed:c}=(0,W.u)({initialState:!0});return a.createElement("div",{className:(0,d.A)(ne.tocCollapsible,!l&&ne.tocCollapsibleExpanded,n)},a.createElement(te,{collapsed:l,onClick:c}),a.createElement(W.N,{lazy:!0,className:ne.tocCollapsibleContent,collapsed:l},a.createElement(K,{toc:t,minHeadingLevel:o,maxHeadingLevel:r})))}const oe={tocMobile:"tocMobile_ITEo"};function re(){const{toc:e,frontMatter:t}=s();return a.createElement(ae,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,d.A)(y.G.docs.docTocMobile,oe.tocMobile)})}const le={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},ce="table-of-contents__link toc-highlight",se="table-of-contents__link--active";function ie(e){let{className:t,...n}=e;return a.createElement("div",{className:(0,d.A)(le.tableOfContents,"thin-scrollbar",t)},a.createElement(K,(0,u.A)({},n,{linkClassName:ce,linkActiveClassName:se})))}function de(){const{toc:e,frontMatter:t}=s();return a.createElement(ie,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:y.G.docs.docTocDesktop})}const me={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function ue(e){let{as:t,id:n,...o}=e;const{navbar:{hideOnScroll:r}}=(0,G.p)();if("h1"===t||!n)return a.createElement(t,(0,u.A)({},o,{id:void 0}));const l=(0,p.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof o.children?o.children:n});return a.createElement(t,(0,u.A)({},o,{className:(0,d.A)("anchor",r?me.anchorWithHideOnScrollNavbar:me.anchorWithStickyNavbar,o.className),id:n}),o.children,a.createElement(f.A,{className:"hash-link",to:`#${n}`,"aria-label":l,title:l},"\u200b"))}var pe=n(5680),fe=n(5260);var he=n(2303),ge=n(5293);function be(){const{prism:e}=(0,G.p)(),{colorMode:t}=(0,ge.G)(),n=e.theme,a=e.darkTheme||n;return"dark"===t?a:n}var ve=n(9934),Ee=n.n(ve);const ye=/title=(?<quote>["'])(?<title>.*?)\1/,ke=/\{(?<range>[\d,-]+)\}/,Ne={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function Ae(e,t){const n=e.map((e=>{const{start:n,end:a}=Ne[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${a})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function Ce(e,t){let n=e.replace(/\n$/,"");const{language:a,magicComments:o,metastring:r}=t;if(r&&ke.test(r)){const e=r.match(ke).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,a=Ee()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(a),code:n}}if(void 0===a)return{lineClassNames:{},code:n};const l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return Ae(["js","jsBlock"],t);case"jsx":case"tsx":return Ae(["js","jsBlock","jsx"],t);case"html":return Ae(["js","jsBlock","html"],t);case"python":case"py":case"bash":return Ae(["bash"],t);case"markdown":case"md":return Ae(["html","jsx","bash"],t);default:return Ae(Object.keys(Ne),t)}}(a,o),c=n.split("\n"),s=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),i=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(l);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));i[t]?s[i[t]].range+=`${p},`:d[t]?s[d[t]].start=p:m[t]&&(s[m[t]].range+=`${s[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const u={};return Object.entries(s).forEach((e=>{let[t,{range:n}]=e;Ee()(n).forEach((e=>{u[e]??=[],u[e].push(t)}))})),{lineClassNames:u,code:n}}const Le="codeBlockContainer_Ckt0";function Te(e){let{as:t,...n}=e;const o=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[a,o]=e;const r=t[a];r&&"string"==typeof o&&(n[r]=o)})),n}(be());return a.createElement(t,(0,u.A)({},n,{style:o,className:(0,d.A)(n.className,Le,y.G.common.codeBlock)}))}const _e={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function we(e){let{children:t,className:n}=e;return a.createElement(Te,{as:"pre",tabIndex:0,className:(0,d.A)(_e.codeBlockStandalone,"thin-scrollbar",n)},a.createElement("code",{className:_e.codeBlockLines},t))}const xe={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Be(e,t){const[n,o]=(0,a.useState)(),l=(0,a.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,a.useEffect)((()=>{l()}),[l]),function(e,t,n){void 0===n&&(n=xe);const o=(0,r._q)(t),l=(0,r.Be)(n);(0,a.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,l),()=>t.disconnect()}),[e,o,l])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),l())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const Oe={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var He={Prism:n(2725).A,theme:Oe};function je(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Se(){return Se=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Se.apply(this,arguments)}var Me=/\r\n|\r|\n/,Pe=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Ie=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)};function Ue(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}var Ve=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),je(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?function(e,t){var n=e.plain,a=Object.create(null),o=e.styles.reduce((function(e,n){var a=n.languages,o=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=Se({},e[t],o);e[t]=n})),e}),a);return o.root=n,o.plain=Se({},n,{backgroundColor:null}),o}(e.theme,e.language):void 0;return t.themeDict=n})),je(this,"getLineProps",(function(e){var n=e.key,a=e.className,o=e.style,r=Se({},Ue(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(r.style=l.plain),void 0!==o&&(r.style=void 0!==r.style?Se({},r.style,o):o),void 0!==n&&(r.key=n),a&&(r.className+=" "+a),r})),je(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,o=n.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===o&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===o&&!a)return r[n[0]];var l=a?{display:"inline-block"}:{},c=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[l].concat(c))}})),je(this,"getTokenProps",(function(e){var n=e.key,a=e.className,o=e.style,r=e.token,l=Se({},Ue(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==o&&(l.style=void 0!==l.style?Se({},l.style,o):o),void 0!==n&&(l.key=n),a&&(l.className+=" "+a),l})),je(this,"tokenize",(function(e,t,n,a){var o={code:t,grammar:n,language:a,tokens:[]};e.hooks.run("before-tokenize",o);var r=o.tokens=e.tokenize(o.code,o.grammar,o.language);return e.hooks.run("after-tokenize",o),r}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,o=e.children,r=this.getThemeDict(this.props),l=t.languages[n];return o({tokens:function(e){for(var t=[[]],n=[e],a=[0],o=[e.length],r=0,l=0,c=[],s=[c];l>-1;){for(;(r=a[l]++)<o[l];){var i=void 0,d=t[l],m=n[l][r];if("string"==typeof m?(d=l>0?d:["plain"],i=m):(d=Ie(d,m.type),m.alias&&(d=Ie(d,m.alias)),i=m.content),"string"==typeof i){var u=i.split(Me),p=u.length;c.push({types:d,content:u[0]});for(var f=1;f<p;f++)Pe(c),s.push(c=[]),c.push({types:d,content:u[f]})}else l++,t.push(d),n.push(i),a.push(0),o.push(i.length)}l--,t.pop(),n.pop(),a.pop(),o.pop()}return Pe(c),s}(void 0!==l?this.tokenize(t,a,l,n):[a]),className:"prism-code language-"+n,style:void 0!==r?r.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(a.Component);const ze=Ve,De="codeLine_lJS_",Re="codeLineNumber_Tfdd",We="codeLineContent_feaV";function Ge(e){let{line:t,classNames:n,showLineNumbers:o,getLineProps:r,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=r({line:t,className:(0,d.A)(n,o&&De)}),s=t.map(((e,t)=>a.createElement("span",(0,u.A)({key:t},l({token:e,key:t})))));return a.createElement("span",c,o?a.createElement(a.Fragment,null,a.createElement("span",{className:Re}),a.createElement("span",{className:We},s)):s,a.createElement("br",null))}function $e(e){return a.createElement("svg",(0,u.A)({viewBox:"0 0 24 24"},e),a.createElement("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"}))}function Fe(e){return a.createElement("svg",(0,u.A)({viewBox:"0 0 24 24"},e),a.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const qe={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function Ye(e){let{code:t,className:n}=e;const[o,r]=(0,a.useState)(!1),l=(0,a.useRef)(void 0),c=(0,a.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const a=document.createElement("textarea"),o=document.activeElement;a.value=e,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const r=document.getSelection(),l=r.rangeCount>0&&r.getRangeAt(0);n.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}a.remove(),l&&(r.removeAllRanges(),r.addRange(l)),o&&o.focus()}(t),r(!0),l.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,a.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),a.createElement("button",{type:"button","aria-label":o?(0,p.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,p.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,p.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,d.A)("clean-btn",n,qe.copyButton,o&&qe.copyButtonCopied),onClick:c},a.createElement("span",{className:qe.copyButtonIcons,"aria-hidden":"true"},a.createElement($e,{className:qe.copyButtonIcon}),a.createElement(Fe,{className:qe.copyButtonSuccessIcon})))}function Ze(e){return a.createElement("svg",(0,u.A)({viewBox:"0 0 24 24"},e),a.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}))}const Qe="wordWrapButtonIcon_Bwma",Xe="wordWrapButtonEnabled_EoeP";function Je(e){let{className:t,onClick:n,isEnabled:o}=e;const r=(0,p.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return a.createElement("button",{type:"button",onClick:n,className:(0,d.A)("clean-btn",t,o&&Xe),"aria-label":r,title:r},a.createElement(Ze,{className:Qe,"aria-hidden":"true"}))}function Ke(e){let{children:t,className:n="",metastring:o,title:r,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:s,magicComments:i}}=(0,G.p)(),m=c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??s,p=be(),f=function(){const[e,t]=(0,a.useState)(!1),[n,o]=(0,a.useState)(!1),r=(0,a.useRef)(null),l=(0,a.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),c=(0,a.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");o(n)}),[r]);return Be(r,c),(0,a.useEffect)((()=>{c()}),[e,c]),(0,a.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:l}}(),h=function(e){return e?.match(ye)?.groups.title??""}(o)||r,{lineClassNames:g,code:b}=Ce(t,{metastring:o,language:m,magicComments:i}),v=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return a.createElement(Te,{as:"div",className:(0,d.A)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`)},h&&a.createElement("div",{className:_e.codeBlockTitle},h),a.createElement("div",{className:_e.codeBlockContent},a.createElement(ze,(0,u.A)({},He,{theme:p,code:b,language:m??"text"}),(e=>{let{className:t,tokens:n,getLineProps:o,getTokenProps:r}=e;return a.createElement("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,d.A)(t,_e.codeBlock,"thin-scrollbar")},a.createElement("code",{className:(0,d.A)(_e.codeBlockLines,v&&_e.codeBlockLinesWithNumbering)},n.map(((e,t)=>a.createElement(Ge,{key:t,line:e,getLineProps:o,getTokenProps:r,classNames:g[t],showLineNumbers:v})))))})),a.createElement("div",{className:_e.buttonGroup},(f.isEnabled||f.isCodeScrollable)&&a.createElement(Je,{className:_e.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),a.createElement(Ye,{className:_e.codeButton,code:b}))))}function et(e){let{children:t,...n}=e;const o=(0,he.A)(),r=function(e){return a.Children.toArray(e).some((e=>(0,a.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof r?Ke:we;return a.createElement(l,(0,u.A)({key:String(o)},n),r)}const tt="details_lb9f",nt="isBrowser_bmU9",at="collapsibleContent_i85q";function ot(e){return!!e&&("SUMMARY"===e.tagName||ot(e.parentElement))}function rt(e,t){return!!e&&(e===t||rt(e.parentElement,t))}function lt(e){let{summary:t,children:n,...o}=e;const r=(0,he.A)(),l=(0,a.useRef)(null),{collapsed:c,setCollapsed:s}=(0,W.u)({initialState:!o.open}),[i,m]=(0,a.useState)(o.open),p=a.isValidElement(t)?t:a.createElement("summary",null,t??"Details");return a.createElement("details",(0,u.A)({},o,{ref:l,open:i,"data-collapsed":c,className:(0,d.A)(tt,r&&nt,o.className),onMouseDown:e=>{ot(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;ot(t)&&rt(t,l.current)&&(e.preventDefault(),c?(s(!1),m(!0)):s(!0))}}),p,a.createElement(W.N,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{s(e),m(!e)}},a.createElement("div",{className:at},n)))}const ct="details_b_Ee";function st(e){let{...t}=e;return a.createElement(lt,(0,u.A)({},t,{className:(0,d.A)("alert alert--info",ct,t.className)}))}function it(e){return a.createElement(ue,e)}const dt="containsTaskList_mC6p";function mt(e){if(void 0!==e)return(0,d.A)(e,e?.includes("contains-task-list")&&dt)}const ut="img_ev3q";const pt="admonition_LlT9",ft="admonitionHeading_tbUL",ht="admonitionIcon_kALy",gt="admonitionContent_S0QG";const bt={note:{infimaClassName:"secondary",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:a.createElement(p.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:a.createElement(p.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:a.createElement(p.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:a.createElement(p.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 16 16"},a.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:a.createElement(p.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},vt={secondary:"note",important:"info",success:"tip",warning:"danger"};function Et(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=a.Children.toArray(e),n=t.find((e=>a.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:o}}(e.children);return{...e,title:e.title??t,children:n}}const yt={head:function(e){const t=a.Children.map(e.children,(e=>a.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...o}=e.props;return a.createElement(e.props.originalType,o)}return e}(e):e));return a.createElement(fe.A,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return a.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,a.isValidElement)(e)&&t.includes(e.props?.mdxType)))?a.createElement("code",e):a.createElement(et,e)},a:function(e){return a.createElement(f.A,e)},pre:function(e){return a.createElement(et,(0,a.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=a.Children.toArray(e.children),n=t.find((e=>a.isValidElement(e)&&"summary"===e.props?.mdxType)),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return a.createElement(st,(0,u.A)({},e,{summary:n}),o)},ul:function(e){return a.createElement("ul",(0,u.A)({},e,{className:mt(e.className)}))},img:function(e){return a.createElement("img",(0,u.A)({loading:"lazy"},e,{className:(t=e.className,(0,d.A)(t,ut))}));var t},h1:e=>a.createElement(it,(0,u.A)({as:"h1"},e)),h2:e=>a.createElement(it,(0,u.A)({as:"h2"},e)),h3:e=>a.createElement(it,(0,u.A)({as:"h3"},e)),h4:e=>a.createElement(it,(0,u.A)({as:"h4"},e)),h5:e=>a.createElement(it,(0,u.A)({as:"h5"},e)),h6:e=>a.createElement(it,(0,u.A)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:o,icon:r}=Et(e),l=function(e){const t=vt[e]??e,n=bt[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),bt.info)}(n),c=o??l.label,{iconComponent:s}=l,i=r??a.createElement(s,null);return a.createElement("div",{className:(0,d.A)(y.G.common.admonition,y.G.common.admonitionType(e.type),"alert",`alert--${l.infimaClassName}`,pt)},a.createElement("div",{className:ft},a.createElement("span",{className:ht},i),c),a.createElement("div",{className:gt},t))},mermaid:()=>null};function kt(e){let{children:t}=e;return a.createElement(pe.xA,{components:yt},t)}function Nt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=s();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,d.A)(y.G.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(ue,{as:"h1"},n)),a.createElement(kt,null,t))}var At=n(4142),Ct=n(9169),Lt=n(6025);function Tt(e){return a.createElement("svg",(0,u.A)({viewBox:"0 0 24 24"},e),a.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const _t={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function wt(){const e=(0,Lt.A)("/");return a.createElement("li",{className:"breadcrumbs__item"},a.createElement(f.A,{"aria-label":(0,p.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e},a.createElement(Tt,{className:_t.breadcrumbHomeIcon})))}const xt={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function Bt(e){let{children:t,href:n,isLast:o}=e;const r="breadcrumbs__link";return o?a.createElement("span",{className:r,itemProp:"name"},t):n?a.createElement(f.A,{className:r,href:n,itemProp:"item"},a.createElement("span",{itemProp:"name"},t)):a.createElement("span",{className:r},t)}function Ot(e){let{children:t,active:n,index:o,addMicrodata:r}=e;return a.createElement("li",(0,u.A)({},r&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.A)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,a.createElement("meta",{itemProp:"position",content:String(o+1)}))}function Ht(){const e=(0,At.OF)(),t=(0,Ct.Dt)();return e?a.createElement("nav",{className:(0,d.A)(y.G.docs.docBreadcrumbs,xt.breadcrumbsContainer),"aria-label":(0,p.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},a.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&a.createElement(wt,null),e.map(((t,n)=>{const o=n===e.length-1;return a.createElement(Ot,{key:n,active:o,index:n,addMicrodata:!!t.href},a.createElement(Bt,{href:t.href,isLast:o},t.label))})))):null}const jt={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function St(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=s(),n=(0,m.l)(),o=e.hide_table_of_contents,r=!o&&t.length>0;return{hidden:o,mobile:r?a.createElement(re,null):void 0,desktop:!r||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(de,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,d.A)("col",!n.hidden&&jt.docItemCol)},a.createElement(_,null),a.createElement("div",{className:jt.docItemContainer},a.createElement("article",null,a.createElement(Ht,null),a.createElement(w,null),n.mobile,a.createElement(Nt,null,t),a.createElement(R,null)),a.createElement(b,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function Mt(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(c,{content:e.content},a.createElement(o.e3,{className:t},a.createElement(i,null),a.createElement(St,null,a.createElement(n,null))))}},2252:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>c});var a=n(6540),o=n(9532);const r=a.createContext(null);function l(e){let{children:t,version:n}=e;return a.createElement(r.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(r);if(null===e)throw new o.dV("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/17b7345f.b6852b50.js b/assets/js/17b7345f.b6852b50.js new file mode 100644 index 000000000..7c43b8df2 --- /dev/null +++ b/assets/js/17b7345f.b6852b50.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7534],{4170:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>n,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/RoutePathExpression","title":"Type Alias: RoutePathExpression","description":"RoutePathExpression: object","source":"@site/../docs/api/@ima/core/type-aliases/RoutePathExpression.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/RoutePathExpression","permalink":"/api/@ima/core/type-aliases/RoutePathExpression","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/RoutePathExpression.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: RouteParams\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/RouteParams"},"next":{"title":"Type Alias: RouteView","permalink":"/api/@ima/core/type-aliases/RouteView"}}');var s=r(2540),i=r(3023);const n={},o="Type Alias: RoutePathExpression",c={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"extractParameters()",id:"extractparameters",level:3},{value:"Parameters",id:"parameters",level:4},{value:"trimmedPath",id:"trimmedpath",level:5},{value:"additionalData",id:"additionaldata",level:5},{value:"path",id:"path",level:6},{value:"query",id:"query",level:6},{value:"Returns",id:"returns",level:4},{value:"matcher",id:"matcher",level:3},{value:"toPath()",id:"topath",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-1",level:4}];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"type-alias-routepathexpression",children:"Type Alias: RoutePathExpression"})}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"RoutePathExpression"}),": ",(0,s.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/DynamicRoute.ts#L23",children:"packages/core/src/router/DynamicRoute.ts:23"})]}),"\n",(0,s.jsx)(a.p,{children:"Path expression type used for router routes definition."}),"\n",(0,s.jsx)(a.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,s.jsx)(a.h3,{id:"extractparameters",children:"extractParameters()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"extractParameters"}),": (",(0,s.jsx)(a.code,{children:"trimmedPath"}),", ",(0,s.jsx)(a.code,{children:"additionalData"}),") => ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,s.jsx)(a.p,{children:"Function which takes care of parsing url params from given path.\nIt returns object of key/value pairs which correspond to expected path url\nparams and their values."}),"\n",(0,s.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"trimmedpath",children:"trimmedPath"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"string"})}),"\n",(0,s.jsx)(a.h5,{id:"additionaldata",children:"additionalData"}),"\n",(0,s.jsx)(a.h6,{id:"path",children:"path"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"string"})}),"\n",(0,s.jsx)(a.h6,{id:"query",children:"query"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})})}),"\n",(0,s.jsx)(a.h3,{id:"matcher",children:"matcher"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"matcher"}),": ",(0,s.jsx)(a.code,{children:"RegExp"})]}),"\n"]}),"\n",(0,s.jsx)(a.p,{children:"RegExp use in router for path matching to current route."}),"\n",(0,s.jsx)(a.h3,{id:"topath",children:"toPath()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"toPath"}),": (",(0,s.jsx)(a.code,{children:"params"}),") => ",(0,s.jsx)(a.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(a.p,{children:"Function that generates valid path from given route params."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"params",children:"params"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"string"})})]})}function h(e={}){const{wrapper:a}={...(0,i.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,a,r)=>{r.d(a,{R:()=>n,x:()=>o});var t=r(3696);const s={},i=t.createContext(s);function n(e){const a=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),t.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/18ba1c5e.dcff89ed.js b/assets/js/18ba1c5e.dcff89ed.js deleted file mode 100644 index 4048dd7ee..000000000 --- a/assets/js/18ba1c5e.dcff89ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[57],{5680:(e,i,n)=>{n.d(i,{xA:()=>m,yg:()=>f});var a=n(6540);function t(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function r(e,i){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);i&&(a=a.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?r(Object(n),!0).forEach((function(i){t(e,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))}))}return e}function p(e,i){if(null==e)return{};var n,a,t=function(e,i){if(null==e)return{};var n,a,t={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],i.indexOf(n)>=0||(t[n]=e[n]);return t}(e,i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}var g=a.createContext({}),d=function(e){var i=a.useContext(g),n=i;return e&&(n="function"==typeof e?e(i):l(l({},i),e)),n},m=function(e){var i=d(e.components);return a.createElement(g.Provider,{value:i},e.children)},s="mdxType",o={inlineCode:"code",wrapper:function(e){var i=e.children;return a.createElement(a.Fragment,{},i)}},y=a.forwardRef((function(e,i){var n=e.components,t=e.mdxType,r=e.originalType,g=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),s=d(n),y=t,f=s["".concat(g,".").concat(y)]||s[y]||o[y]||r;return n?a.createElement(f,l(l({ref:i},m),{},{components:n})):a.createElement(f,l({ref:i},m))}));function f(e,i){var n=arguments,t=i&&i.mdxType;if("string"==typeof e||t){var r=n.length,l=new Array(r);l[0]=y;var p={};for(var g in i)hasOwnProperty.call(i,g)&&(p[g]=i[g]);p.originalType=e,p[s]="string"==typeof e?e:t,l[1]=p;for(var d=2;d<r;d++)l[d]=n[d];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}y.displayName="MDXCreateElement"},4734:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>g,contentTitle:()=>l,default:()=>o,frontMatter:()=>r,metadata:()=>p,toc:()=>d});var a=n(8102),t=(n(6540),n(5680));const r={id:"ima_cli.ImaConfigurationContext",title:"Interface: ImaConfigurationContext",sidebar_label:"@ima/cli.ImaConfigurationContext",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_cli.ImaConfigurationContext",id:"api/interfaces/ima_cli.ImaConfigurationContext",title:"Interface: ImaConfigurationContext",description:"@ima/cli.ImaConfigurationContext",source:"@site/../docs/api/interfaces/ima_cli.ImaConfigurationContext.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_cli.ImaConfigurationContext",permalink:"/api/interfaces/ima_cli.ImaConfigurationContext",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_cli.ImaConfigurationContext",title:"Interface: ImaConfigurationContext",sidebar_label:"@ima/cli.ImaConfigurationContext",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/cli.ImaCliPlugin",permalink:"/api/interfaces/ima_cli.ImaCliPlugin"},next:{title:"@ima/core.AppEnvironment",permalink:"/api/interfaces/ima_core.AppEnvironment"}},g={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"appDir",id:"appdir",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"clean",id:"clean",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"clearCache",id:"clearcache",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"command",id:"command",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"devtool",id:"devtool",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"environment",id:"environment",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"forceLegacy",id:"forcelegacy",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"forceSPA",id:"forcespa",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"hostname",id:"hostname",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"ignoreWarnings",id:"ignorewarnings",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"imaEnvironment",id:"imaenvironment",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"inspect",id:"inspect",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"isClient",id:"isclient",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"isClientES",id:"isclientes",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"isDevEnv",id:"isdevenv",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"isServer",id:"isserver",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"lazyServer",id:"lazyserver",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"legacy",id:"legacy",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"lessGlobalsPath",id:"lessglobalspath",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"mode",id:"mode",level:3},{value:"Defined in",id:"defined-in-19",level:4},{value:"name",id:"name",level:3},{value:"Defined in",id:"defined-in-20",level:4},{value:"open",id:"open",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"openUrl",id:"openurl",level:3},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"outputFolders",id:"outputfolders",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"port",id:"port",level:3},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"processCss",id:"processcss",level:3},{value:"Defined in",id:"defined-in-25",level:4},{value:"profile",id:"profile",level:3},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"publicUrl",id:"publicurl",level:3},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"reactRefresh",id:"reactrefresh",level:3},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"rootDir",id:"rootdir",level:3},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"targets",id:"targets",level:3},{value:"Defined in",id:"defined-in-30",level:4},{value:"typescript",id:"typescript",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"useHMR",id:"usehmr",level:3},{value:"Defined in",id:"defined-in-32",level:4},{value:"useSourceMaps",id:"usesourcemaps",level:3},{value:"Defined in",id:"defined-in-33",level:4},{value:"verbose",id:"verbose",level:3},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"writeToDisk",id:"writetodisk",level:3},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-35",level:4}],m={toc:d},s="wrapper";function o(e){let{components:i,...n}=e;return(0,t.yg)(s,(0,a.A)({},m,n,{components:i,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_cli"},"@ima/cli"),".ImaConfigurationContext"),(0,t.yg)("p",null,"CLI arguments merged with concrete configuration context."),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,t.yg)("inlineCode",{parentName:"a"},"ImaCliArgs"))),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"ImaConfigurationContext"))))),(0,t.yg)("h2",{id:"properties"},"Properties"),(0,t.yg)("h3",{id:"appdir"},"appDir"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"appDir"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L74"},"types.ts:74")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"clean"},"clean"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"clean"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#clean"},"clean")),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L33"},"types.ts:33")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"clearcache"},"clearCache"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"clearCache"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#clearcache"},"clearCache")),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L34"},"types.ts:34")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"command"},"command"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"command"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_cli#imaclicommand"},(0,t.yg)("inlineCode",{parentName:"a"},"ImaCliCommand"))),(0,t.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#command"},"command")),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L32"},"types.ts:32")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"devtool"},"devtool"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"devtool"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L81"},"types.ts:81")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"environment"},"environment"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"environment"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#environment"},"environment")),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L46"},"types.ts:46")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"forcelegacy"},"forceLegacy"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"forceLegacy"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#forcelegacy"},"forceLegacy")),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L49"},"types.ts:49")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"forcespa"},"forceSPA"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"forceSPA"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#forcespa"},"forceSPA")),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L41"},"types.ts:41")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"hostname"},"hostname"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"hostname"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#hostname"},"hostname")),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L44"},"types.ts:44")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"ignorewarnings"},"ignoreWarnings"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"ignoreWarnings"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#ignorewarnings"},"ignoreWarnings")),(0,t.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L37"},"types.ts:37")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"imaenvironment"},"imaEnvironment"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"imaEnvironment"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,t.yg)("inlineCode",{parentName:"a"},"Environment"))),(0,t.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L73"},"types.ts:73")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"inspect"},"inspect"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"inspect"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#inspect"},"inspect")),(0,t.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L36"},"types.ts:36")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isclient"},"isClient"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"isClient"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L59"},"types.ts:59")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isclientes"},"isClientES"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"isClientES"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L60"},"types.ts:60")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isdevenv"},"isDevEnv"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"isDevEnv"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L79"},"types.ts:79")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isserver"},"isServer"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"isServer"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L58"},"types.ts:58")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"lazyserver"},"lazyServer"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"lazyServer"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#lazyserver"},"lazyServer")),(0,t.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L50"},"types.ts:50")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"legacy"},"legacy"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"legacy"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#legacy"},"legacy")),(0,t.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L40"},"types.ts:40")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"lessglobalspath"},"lessGlobalsPath"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"lessGlobalsPath"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L75"},"types.ts:75")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"mode"},"mode"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"mode"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"development"')," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"production"')," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"none"')),(0,t.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L76"},"types.ts:76")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"name"},"name"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"name"),": ",(0,t.yg)("inlineCode",{parentName:"p"},'"server"')," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"client"')," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"client.es"')),(0,t.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L57"},"types.ts:57")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"open"},"open"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"open"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#open"},"open")),(0,t.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L38"},"types.ts:38")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"openurl"},"openUrl"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"openUrl"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#openurl"},"openUrl")),(0,t.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L39"},"types.ts:39")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"outputfolders"},"outputFolders"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"outputFolders"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"Object")),(0,t.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"css")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"hot")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"js")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"media")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"public")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string"))))),(0,t.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L62"},"types.ts:62")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"port"},"port"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"port"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"number")),(0,t.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#port"},"port")),(0,t.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L43"},"types.ts:43")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"processcss"},"processCss"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"processCss"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L61"},"types.ts:61")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"profile"},"profile"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"profile"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#profile"},"profile")),(0,t.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L42"},"types.ts:42")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"publicurl"},"publicUrl"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"publicUrl"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#publicurl"},"publicUrl")),(0,t.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L45"},"types.ts:45")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"reactrefresh"},"reactRefresh"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"reactRefresh"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#reactrefresh"},"reactRefresh")),(0,t.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L48"},"types.ts:48")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"rootdir"},"rootDir"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"rootDir"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#rootdir"},"rootDir")),(0,t.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L31"},"types.ts:31")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"targets"},"targets"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"targets"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,t.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L80"},"types.ts:80")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"typescript"},"typescript"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"typescript"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"Object")),(0,t.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"enabled")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"tsconfigPath")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"td"},"string"))))),(0,t.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L69"},"types.ts:69")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"usehmr"},"useHMR"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"useHMR"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L77"},"types.ts:77")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"usesourcemaps"},"useSourceMaps"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"useSourceMaps"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L78"},"types.ts:78")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"verbose"},"verbose"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"verbose"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#verbose"},"verbose")),(0,t.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L35"},"types.ts:35")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"writetodisk"},"writeToDisk"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"writeToDisk"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs"),".",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaCliArgs#writetodisk"},"writeToDisk")),(0,t.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L47"},"types.ts:47")))}o.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/192c90c3.b0a2dbdc.js b/assets/js/192c90c3.b0a2dbdc.js deleted file mode 100644 index ddc19b4af..000000000 --- a/assets/js/192c90c3.b0a2dbdc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1041],{5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>c});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=a.createContext({}),s=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),g=s(n),y=r,c=g["".concat(o,".").concat(y)]||g[y]||m[y]||i;return n?a.createElement(c,l(l({ref:t},d),{},{components:n})):a.createElement(c,l({ref:t},d))}));function c(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=y;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p[g]="string"==typeof e?e:r,l[1]=p;for(var s=2;s<i;s++)l[s]=n[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}y.displayName="MDXCreateElement"},8709:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.ComponentUtils",title:"Class: ComponentUtils",sidebar_label:"@ima/core.ComponentUtils",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.ComponentUtils",id:"api/classes/ima_core.ComponentUtils",title:"Class: ComponentUtils",description:"@ima/core.ComponentUtils",source:"@site/../docs/api/classes/ima_core.ComponentUtils.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ComponentUtils",permalink:"/api/classes/ima_core.ComponentUtils",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ComponentUtils",title:"Class: ComponentUtils",sidebar_label:"@ima/core.ComponentUtils",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ClientWindow",permalink:"/api/classes/ima_core.ClientWindow"},next:{title:"@ima/core.Controller",permalink:"/api/classes/ima_core.Controller"}},o={},s=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_oc",id:"_oc",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_utilities",id:"_utilities",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_utilityClasses",id:"_utilityclasses",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_utilityReferrers",id:"_utilityreferrers",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"_createUtilityInstance",id:"_createutilityinstance",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getReferrers",id:"getreferrers",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getUtils",id:"getutils",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"register",id:"register",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-8",level:4}],d={toc:s},g="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(g,(0,a.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ComponentUtils"),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new ComponentUtils"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),")"),(0,r.yg)("p",null,"Initializes the registry used for managing component utils."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The application's dependency injector - the object container.")))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L31"},"packages/core/src/page/renderer/ComponentUtils.ts:31")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_oc"},"_","oc"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"The application's dependency injector - the object container."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L8"},"packages/core/src/page/renderer/ComponentUtils.ts:8")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_utilities"},"_","utilities"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","utilities"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"Map of instantiated utilities"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L18"},"packages/core/src/page/renderer/ComponentUtils.ts:18")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_utilityclasses"},"_","utilityClasses"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","utilityClasses"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"{}")),(0,r.yg)("p",null,"Map of registered utilities."),(0,r.yg)("h4",{id:"index-signature"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L12"},"packages/core/src/page/renderer/ComponentUtils.ts:12")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_utilityreferrers"},"_","utilityReferrers"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","utilityReferrers"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters"))," = ",(0,r.yg)("inlineCode",{parentName:"p"},"{}")),(0,r.yg)("p",null,"Map of referrers to utilities"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L23"},"packages/core/src/page/renderer/ComponentUtils.ts:23")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_createutilityinstance"},"_","createUtilityInstance"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_createUtilityInstance"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"alias"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"utilityClass"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"alias")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"utilityClass")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L104"},"packages/core/src/page/renderer/ComponentUtils.ts:104")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getreferrers"},"getReferrers"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getReferrers"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L100"},"packages/core/src/page/renderer/ComponentUtils.ts:100")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getutils"},"getUtils"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getUtils"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"Returns object containing all registered utilities"),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L80"},"packages/core/src/page/renderer/ComponentUtils.ts:80")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"register"},"register"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"register"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"componentUtilityClass?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"referrer?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Registers single utility class or multiple classes in alias->class mapping."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">","; } ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"," & ",(0,r.yg)("inlineCode",{parentName:"td"},"WithDependencies")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"," & ",(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"WithDependencies"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Function")," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"prototype"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"T")," } & ",(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"WithDependencies"),">"," ","|"," [",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">",", ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"optional"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," }]")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"componentUtilityClass?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"referrer?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/ComponentUtils.ts#L38"},"packages/core/src/page/renderer/ComponentUtils.ts:38")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/198995d1.3168ed08.js b/assets/js/198995d1.3168ed08.js new file mode 100644 index 000000000..5e363fd7e --- /dev/null +++ b/assets/js/198995d1.3168ed08.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8767],{7033:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>c,metadata:()=>t,toc:()=>r});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/EventBusOptions","title":"Type Alias: EventBusOptions","description":"EventBusOptions: object","source":"@site/../docs/api/@ima/core/type-aliases/EventBusOptions.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/EventBusOptions","permalink":"/api/@ima/core/type-aliases/EventBusOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/EventBusOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: EventBusListener()","permalink":"/api/@ima/core/type-aliases/EventBusListener"},"next":{"title":"Type Alias: ExecutionJob()","permalink":"/api/@ima/core/type-aliases/ExecutionJob"}}');var o=s(2540),i=s(3023);const c={},a="Type Alias: EventBusOptions",l={},r=[{value:"Type declaration",id:"type-declaration",level:2},{value:"bubbles?",id:"bubbles",level:3},{value:"cancelable?",id:"cancelable",level:3},{value:"composed?",id:"composed",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"type-alias-eventbusoptions",children:"Type Alias: EventBusOptions"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"EventBusOptions"}),": ",(0,o.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Defined in: ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L9",children:"packages/core/src/event/EventBus.ts:9"})]}),"\n",(0,o.jsx)(n.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,o.jsx)(n.h3,{id:"bubbles",children:"bubbles?"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"optional"})," ",(0,o.jsx)(n.strong,{children:"bubbles"}),": ",(0,o.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"cancelable",children:"cancelable?"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"optional"})," ",(0,o.jsx)(n.strong,{children:"cancelable"}),": ",(0,o.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"composed",children:"composed?"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"optional"})," ",(0,o.jsx)(n.strong,{children:"composed"}),": ",(0,o.jsx)(n.code,{children:"boolean"})]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>a});var t=s(3696);const o={},i=t.createContext(o);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a0a7d21.579c892b.js b/assets/js/1a0a7d21.579c892b.js new file mode 100644 index 000000000..ca34a894e --- /dev/null +++ b/assets/js/1a0a7d21.579c892b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5926],{7769:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"api/@ima/core/interfaces/GlobalImaObject","title":"Interface: GlobalImaObject","description":"Defined in51","source":"@site/../docs/api/@ima/core/interfaces/GlobalImaObject.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/GlobalImaObject","permalink":"/api/@ima/core/interfaces/GlobalImaObject","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/GlobalImaObject.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Environment","permalink":"/api/@ima/core/interfaces/Environment"},"next":{"title":"Interface: HttpAgentRequestOptions","permalink":"/api/@ima/core/interfaces/HttpAgentRequestOptions"}}');var r=n(2540),a=n(3023);const i={},t="Interface: GlobalImaObject",l={},d=[{value:"Properties",id:"properties",level:2},{value:"$App",id:"app",level:3},{value:"$Debug",id:"debug",level:3},{value:"$Env",id:"env",level:3},{value:"$Host",id:"host",level:3},{value:"$IMA",id:"ima",level:3},{value:"$Language",id:"language",level:3},{value:"$LanguagePartPath",id:"languagepartpath",level:3},{value:"$Path",id:"path",level:3},{value:"$Protocol",id:"protocol",level:3},{value:"$PublicPath",id:"publicpath",level:3},{value:"$RequestID",id:"requestid",level:3},{value:"$Root",id:"root",level:3},{value:"$Version",id:"version",level:3},{value:"Cache?",id:"cache",level:3},{value:"fatalErrorHandler()?",id:"fatalerrorhandler",level:3},{value:"Parameters",id:"parameters",level:4},{value:"error",id:"error",level:5},{value:"Returns",id:"returns",level:4},{value:"i18n",id:"i18n",level:3},{value:"Runner",id:"runner",level:3},{value:"SPA",id:"spa",level:3},{value:"Test",id:"test",level:3}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"interface-globalimaobject",children:"Interface: GlobalImaObject"})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L51",children:"packages/core/src/types.ts:51"})]}),"\n",(0,r.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(s.h3,{id:"app",children:"$App"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$App"}),": ",(0,r.jsx)(s.code,{children:"$AppSettings"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L54",children:"packages/core/src/types.ts:54"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"debug",children:"$Debug"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Debug"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L56",children:"packages/core/src/types.ts:56"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"env",children:"$Env"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Env"}),": keyof ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/AppEnvironment",children:(0,r.jsx)(s.code,{children:"AppEnvironment"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L52",children:"packages/core/src/types.ts:52"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"host",children:"$Host"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Host"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L58",children:"packages/core/src/types.ts:58"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"ima",children:"$IMA"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$IMA"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/GlobalImaObject",children:(0,r.jsx)(s.code,{children:"GlobalImaObject"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L65",children:"packages/core/src/types.ts:65"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"language",children:"$Language"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Language"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L55",children:"packages/core/src/types.ts:55"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"languagepartpath",children:"$LanguagePartPath"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$LanguagePartPath"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L61",children:"packages/core/src/types.ts:61"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"path",children:"$Path"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Path"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L59",children:"packages/core/src/types.ts:59"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"protocol",children:"$Protocol"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Protocol"}),": ",(0,r.jsx)(s.code,{children:'"http:"'})," | ",(0,r.jsx)(s.code,{children:'"https:"'})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L57",children:"packages/core/src/types.ts:57"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"publicpath",children:"$PublicPath"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PublicPath"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L67",children:"packages/core/src/types.ts:67"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"requestid",children:"$RequestID"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$RequestID"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L66",children:"packages/core/src/types.ts:66"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"root",children:"$Root"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Root"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L60",children:"packages/core/src/types.ts:60"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"version",children:"$Version"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Version"}),": ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L53",children:"packages/core/src/types.ts:53"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"cache",children:"Cache?"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"optional"})," ",(0,r.jsx)(s.strong,{children:"Cache"}),": ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L70",children:"packages/core/src/types.ts:70"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"fatalerrorhandler",children:"fatalErrorHandler()?"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"optional"})," ",(0,r.jsx)(s.strong,{children:"fatalErrorHandler"}),": (",(0,r.jsx)(s.code,{children:"error"}),") => ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L69",children:"packages/core/src/types.ts:69"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"error",children:"error"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"Error"})}),"\n",(0,r.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"i18n",children:"i18n"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"i18n"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DictionaryData",children:(0,r.jsx)(s.code,{children:"DictionaryData"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L68",children:"packages/core/src/types.ts:68"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"runner",children:"Runner"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Runner"}),": ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L62",children:"packages/core/src/types.ts:62"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"spa",children:"SPA"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"SPA"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L64",children:"packages/core/src/types.ts:64"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"test",children:"Test"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Test"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L63",children:"packages/core/src/types.ts:63"})]})]})}function h(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>i,x:()=>t});var c=n(3696);const r={},a=c.createContext(r);function i(e){const s=c.useContext(a);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),c.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a187b39.50e0f1d6.js b/assets/js/1a187b39.50e0f1d6.js new file mode 100644 index 000000000..718198bb0 --- /dev/null +++ b/assets/js/1a187b39.50e0f1d6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7465],{2322:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"api/@ima/plugin-cli/type-aliases/TransformerOptions","title":"Type Alias: TransformerOptions","description":"TransformerOptions: object","source":"@site/../docs/api/@ima/plugin-cli/type-aliases/TransformerOptions.md","sourceDirName":"api/@ima/plugin-cli/type-aliases","slug":"/api/@ima/plugin-cli/type-aliases/TransformerOptions","permalink":"/api/@ima/plugin-cli/type-aliases/TransformerOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/type-aliases/TransformerOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Transformer()","permalink":"/api/@ima/plugin-cli/type-aliases/Transformer"},"next":{"title":"Variable: clientServerConfig","permalink":"/api/@ima/plugin-cli/variables/clientServerConfig"}}');var i=s(2540),r=s(3023);const a={},o="Type Alias: TransformerOptions",l={},c=[{value:"Type declaration",id:"type-declaration",level:2},{value:"test",id:"test",level:3}];function p(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"type-alias-transformeroptions",children:"Type Alias: TransformerOptions"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"TransformerOptions"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L11",children:"types.ts:11"})]}),"\n",(0,i.jsx)(n.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(n.h3,{id:"test",children:"test"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"test"}),": ",(0,i.jsx)(n.code,{children:"RegExp"})]}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>o});var t=s(3696);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.13cca538.js b/assets/js/1a4e3797.13cca538.js deleted file mode 100644 index 27b39c0eb..000000000 --- a/assets/js/1a4e3797.13cca538.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 1a4e3797.13cca538.js.LICENSE.txt */ -(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2138],{4073:e=>{function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,a,s,c,o,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(i(a=this._events[e]))return!1;if(r(a))switch(arguments.length){case 1:a.call(this);break;case 2:a.call(this,arguments[1]);break;case 3:a.call(this,arguments[1],arguments[2]);break;default:c=Array.prototype.slice.call(arguments,1),a.apply(this,c)}else if(n(a))for(c=Array.prototype.slice.call(arguments,1),s=(u=a.slice()).length,o=0;o<s;o++)u[o].apply(this,c);return!0},t.prototype.addListener=function(e,a){var s;if(!r(a))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(a.listener)?a.listener:a),this._events[e]?n(this._events[e])?this._events[e].push(a):this._events[e]=[this._events[e],a]:this._events[e]=a,n(this._events[e])&&!this._events[e].warned&&(s=i(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},t.prototype.removeListener=function(e,t){var i,a,s,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(i=this._events[e]).length,a=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(i)){for(c=s;c-- >0;)if(i[c]===t||i[c].listener&&i[c].listener===t){a=c;break}if(a<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},3003:(e,t,r)=>{"use strict";var n=r(7311),i=r(4483),a=r(7635),s=r(4495),c=r(5479);function o(e,t,r,i){return new n(e,t,r,i)}o.version=r(4222),o.AlgoliaSearchHelper=n,o.SearchParameters=s,o.RecommendParameters=i,o.SearchResults=c,o.RecommendResults=a,e.exports=o},7568:(e,t,r)=>{"use strict";var n=r(4073);function i(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}r(786)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},i.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)},e.exports=i},4483:e=>{"use strict";function t(e){e=e||{},this.params=e.params||[]}t.prototype={constructor:t,addParams:function(e){var r=this.params.slice();return r.push(e),new t({params:r})},removeParams:function(e){return new t({params:this.params.filter((function(t){return t.$$id!==e}))})},addFrequentlyBoughtTogether:function(e){return this.addParams(Object.assign({},e,{model:"bought-together"}))},addRelatedProducts:function(e){return this.addParams(Object.assign({},e,{model:"related-products"}))},addTrendingItems:function(e){return this.addParams(Object.assign({},e,{model:"trending-items"}))},addTrendingFacets:function(e){return this.addParams(Object.assign({},e,{model:"trending-facets"}))},addLookingSimilar:function(e){return this.addParams(Object.assign({},e,{model:"looking-similar"}))},_buildQueries:function(e,t){return this.params.filter((function(e){return void 0===t[e.$$id]})).map((function(t){var r=Object.assign({},t,{indexName:e,threshold:t.threshold||0});return delete r.$$id,r}))}},e.exports=t},7635:e=>{"use strict";function t(e,t){this._state=e,this._rawResults={};var r=this;e.params.forEach((function(e){var n=e.$$id;r[n]=t[n],r._rawResults[n]=t[n]}))}t.prototype={constructor:t},e.exports=t},3034:(e,t,r)=>{"use strict";var n=r(4394),i=r(4745),a=r(9107),s={addRefinement:function(e,t,r){if(s.isRefined(e,t,r))return e;var i=""+r,a=e[t]?e[t].concat(i):[i],c={};return c[t]=a,n({},c,e)},removeRefinement:function(e,t,r){if(void 0===r)return s.clearRefinement(e,(function(e,r){return t===r}));var n=""+r;return s.clearRefinement(e,(function(e,r){return t===r&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return s.isRefined(e,t,r)?s.removeRefinement(e,t,r):s.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return i(e)?{}:e;if("string"==typeof t)return a(e,[t]);if("function"==typeof t){var n=!1,s=Object.keys(e).reduce((function(i,a){var s=e[a]||[],c=s.filter((function(e){return!t(e,a,r)}));return c.length!==s.length&&(n=!0),i[a]=c,i}),{});return n?s:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}};e.exports=s},4495:(e,t,r)=>{"use strict";var n=r(4394),i=r(2861),a=r(2327),s=r(4612),c=r(4745),o=r(9107),u=r(623),h=r(5156),l=r(3034);function f(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return f(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var n=-1!==m.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach((function(e){var i=n[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=i}))})),t.numericRefinements=r}return s(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:l.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:l.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:l.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:l.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n=u(r);if(this.isNumericRefined(e,t,n))return this;var i=s({},this.numericRefinements);return i[e]=s({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&f(r.val,u(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce((function(n,i){var a=r[i],s={};return a=a||{},Object.keys(a).forEach((function(r){var n=a[r]||[],c=[];n.forEach((function(t){e({val:t,op:r},i,"numeric")||c.push(t)})),c.length!==n.length&&(t=!0),s[r]=c})),n[i]=s,n}),{});return t?n:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:l.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:l.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return l.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:l.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:l.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:l.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return l.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:l.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:l.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:l.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:l.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),i={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?i[e]=[]:i[e]=[t.slice(0,t.lastIndexOf(r))]:i[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},i,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:n({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&l.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&l.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&l.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!n)return n;var a,s,c=u(r),o=void 0!==(a=this.numericRefinements[e][t],s=c,i(a,(function(e){return f(e,s)})));return n&&o},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=a(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return a(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(n){var i=r[n];-1===e.indexOf(n)&&void 0!==i&&(t[n]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,n=m._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),a=Object.keys(n).reduce((function(e,t){var r=void 0!==e[t],i=void 0!==n[t];return r&&!i?o(e,[t]):(i&&(e[t]=n[t]),e)}),i);return new this.constructor(a)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return i(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},6949:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var n=e.hierarchicalFacets[r],u=e.hierarchicalFacetsRefinements[n.name]&&e.hierarchicalFacetsRefinements[n.name][0]||"",h=e._getHierarchicalFacetSeparator(n),l=e._getHierarchicalRootPath(n),f=e._getHierarchicalShowParentLevel(n),m=a(e._getHierarchicalFacetSortBy(n)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,n,a){return function(u,h,l){var f=u;if(l>0){var m=0;for(f=u;m<l;){var d=f&&Array.isArray(f.data)?f.data:[];f=i(d,(function(e){return e.isRefined})),m++}}if(f){var p=Object.keys(h.data).map((function(e){return[e,h.data[e]]})).filter((function(e){return function(e,t,r,n,i,a){if(i&&(0!==e.indexOf(i)||i===e))return!1;return!i&&-1===e.indexOf(n)||i&&e.split(n).length-i.split(n).length==1||-1===e.indexOf(n)&&-1===r.indexOf(n)||0===r.indexOf(e)||0===e.indexOf(t+n)&&(a||0===e.indexOf(r))}(e[0],f.path||r,a,t,r,n)}));f.data=s(p.map((function(e){var r=e[0];return function(e,t,r,n,i){var a=t.split(r);return{name:a[a.length-1].trim(),path:t,escapedValue:c(t),count:e,isRefined:n===t||0===n.indexOf(t+r),exhaustive:i,data:null}}(e[1],r,t,o(a),h.exhaustive)})),e[0],e[1])}return u}}(m,h,l,f,u),g=t;return l&&(g=t.slice(l.split(h).length)),g.reduce(p,{name:e.hierarchicalFacets[r].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:d,data:null})}};var n=r(4569),i=r(2861),a=r(221),s=r(5053),c=n.escapeFacetValue,o=n.unescapeFacetValue},5479:(e,t,r)=>{"use strict";var n=r(1481),i=r(4394),a=r(4569),s=r(2861),c=r(7209),o=r(221),u=r(4612),h=r(5053),l=a.escapeFacetValue,f=a.unescapeFacetValue,m=r(6949);function d(e){var t={};return e.forEach((function(e,r){t[e]=r})),t}function p(e,t,r){t&&t[r]&&(e.stats=t[r])}function g(e,t,r){var a=t[0]||{};this._rawResults=t;var o=this;Object.keys(a).forEach((function(e){o[e]=a[e]}));var h=u({persistHierarchicalRootCount:!1},r);Object.keys(h).forEach((function(e){o[e]=h[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var l=e.getRefinedDisjunctiveFacets(),g=d(e.facets),v=d(e.disjunctiveFacets),y=1,R=a.facets||{};Object.keys(R).forEach((function(t){var r,n,i=R[t],u=(r=e.hierarchicalFacets,n=t,s(r,(function(e){return(e.attributes||[]).indexOf(n)>-1})));if(u){var h=u.attributes.indexOf(t),l=c(e.hierarchicalFacets,(function(e){return e.name===u.name}));o.hierarchicalFacets[l][h]={attribute:t,data:i,exhaustive:a.exhaustiveFacetsCount}}else{var f,m=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);m&&(f=v[t],o.disjunctiveFacets[f]={name:t,data:i,exhaustive:a.exhaustiveFacetsCount},p(o.disjunctiveFacets[f],a.facets_stats,t)),d&&(f=g[t],o.facets[f]={name:t,data:i,exhaustive:a.exhaustiveFacetsCount},p(o.facets[f],a.facets_stats,t))}})),this.hierarchicalFacets=n(this.hierarchicalFacets),l.forEach((function(r){var n=t[y],s=n&&n.facets?n.facets:{},h=e.getHierarchicalFacetByName(r);Object.keys(s).forEach((function(t){var r,l=s[t];if(h){r=c(e.hierarchicalFacets,(function(e){return e.name===h.name}));var m=c(o.hierarchicalFacets[r],(function(e){return e.attribute===t}));if(-1===m)return;o.hierarchicalFacets[r][m].data=u({},o.hierarchicalFacets[r][m].data,l)}else{r=v[t];var d=a.facets&&a.facets[t]||{};o.disjunctiveFacets[r]={name:t,data:i({},l,d),exhaustive:n.exhaustiveFacetsCount},p(o.disjunctiveFacets[r],n.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!o.disjunctiveFacets[r].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(f(n))>-1&&(o.disjunctiveFacets[r].data[n]=0)}))}})),y++})),e.getRefinedHierarchicalFacets().forEach((function(r){var n=e.getHierarchicalFacetByName(r),a=e._getHierarchicalFacetSeparator(n),s=e.getHierarchicalRefinement(r);0===s.length||s[0].split(a).length<2||t.slice(y).forEach((function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach((function(t){var u=r[t],h=c(e.hierarchicalFacets,(function(e){return e.name===n.name})),l=c(o.hierarchicalFacets[h],(function(e){return e.attribute===t}));if(-1!==l){var f={};if(s.length>0&&!o.persistHierarchicalRootCount){var m=s[0].split(a)[0];f[m]=o.hierarchicalFacets[h][l].data[m]}o.hierarchicalFacets[h][l].data=i(f,u,o.hierarchicalFacets[h][l].data)}})),y++}))})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],n=g[t];o.facets[n]={name:t,data:R[t],exhaustive:a.exhaustiveFacetsCount},r.forEach((function(e){o.facets[n]=o.facets[n]||{name:t},o.facets[n].data=o.facets[n].data||{},o.facets[n].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(m(e)),this.facets=n(this.facets),this.disjunctiveFacets=n(this.disjunctiveFacets),this._state=e}function v(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var n=s(e.facets,r);return n?Object.keys(n.data).map((function(r){var i=l(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,r)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=s(e.disjunctiveFacets,r);return i?Object.keys(i.data).map((function(r){var n=l(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t)){var a=s(e.hierarchicalFacets,r);if(!a)return a;var c=e._state.getHierarchicalFacetByName(t),o=e._state._getHierarchicalFacetSeparator(c),u=f(e._state.getHierarchicalRefinement(t)[0]||"");0===u.indexOf(c.rootPath)&&(u=u.replace(c.rootPath+o,""));var h=u.split(o);return h.unshift(t),y(a,h,0),a}}function y(e,t,r){e.isRefined=e.name===(t[r]&&t[r].trim()),e.data&&e.data.forEach((function(e){y(e,t,r+1)}))}function R(e,t,r,n){if(n=n||0,Array.isArray(t))return e(t,r[n]);if(!t.data||0===t.data.length)return t;var a=t.data.map((function(t){return R(e,t,r,n+1)})),s=e(a,r[n]);return i({data:s},t)}function F(e,t){var r=s(e,(function(e){return e.name===t}));return r&&r.stats}function b(e,t,r,n,i){var a=s(i,(function(e){return e.name===r})),c=a&&a.data&&a.data[n]?a.data[n]:0,o=a&&a.exhaustive||!1;return{type:t,attributeName:r,name:n,count:c,exhaustive:o}}g.prototype.getFacetByName=function(e){function t(t){return t.name===e}return s(this.facets,t)||s(this.disjunctiveFacets,t)||s(this.hierarchicalFacets,t)},g.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],g.prototype.getFacetValues=function(e,t){var r=v(this,e);if(r){var n,a=i({},t,{sortBy:g.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),s=this;if(Array.isArray(r))n=[e];else n=s._state.getHierarchicalFacetByName(r.name).attributes;return R((function(e,t){if(a.facetOrdering){var r=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(s,t);if(r)return function(e,t){var r=[],n=[],i=t.hide||[],a=(t.order||[]).reduce((function(e,t,r){return e[t]=r,e}),{});e.forEach((function(e){var t=e.path||e.name,s=i.indexOf(t)>-1;s||void 0===a[t]?s||n.push(e):r[a[t]]=e})),r=r.filter((function(e){return e}));var s,c=t.sortRemainingBy;return"hidden"===c?r:(s="alpha"===c?[["path","name"],["asc","asc"]]:[["count"],["desc"]],r.concat(h(n,s[0],s[1])))}(e,r)}if(Array.isArray(a.sortBy)){var n=o(a.sortBy,g.DEFAULT_SORT);return h(e,n[0],n[1])}if("function"==typeof a.sortBy)return function(e,t){return t.sort(e)}(a.sortBy,e);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}),r,n)}},g.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},g.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach((function(n){e.facetsRefinements[n].forEach((function(i){r.push(b(e,"facet",n,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(n){e.facetsExcludes[n].forEach((function(i){r.push(b(e,"exclude",n,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(n){e.disjunctiveFacetsRefinements[n].forEach((function(i){r.push(b(e,"disjunctive",n,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(n){e.hierarchicalFacetsRefinements[n].forEach((function(i){r.push(function(e,t,r,n){var i=e.getHierarchicalFacetByName(t),a=e._getHierarchicalFacetSeparator(i),c=r.split(a),o=s(n,(function(e){return e.name===t})),u=c.reduce((function(e,t){var r=e&&s(e.data,(function(e){return e.name===t}));return void 0!==r?r:e}),o),h=u&&u.count||0,l=u&&u.exhaustive||!1,f=u&&u.path||"";return{type:"hierarchical",attributeName:t,name:f,count:h,exhaustive:l}}(e,n,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t];Object.keys(n).forEach((function(e){n[e].forEach((function(n){r.push({type:"numeric",attributeName:t,name:n,numericValue:n,operator:e})}))}))})),e.tagRefinements.forEach((function(e){r.push({type:"tag",attributeName:"_tags",name:e})})),r},e.exports=g},7311:(e,t,r)=>{"use strict";var n=r(4073),i=r(7568),a=r(4569).escapeFacetValue,s=r(786),c=r(4612),o=r(4745),u=r(9107),h=r(4483),l=r(7635),f=r(2184),m=r(4495),d=r(5479),p=r(9017),g=r(4222);function v(e,t,r,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+g+")"),this.setClient(e);var i=r||{};i.index=t,this.state=m.make(i),this.recommendState=new h({params:i.recommendState}),this.lastResults=null,this.lastRecommendResults=null,this._queryId=0,this._recommendQueryId=0,this._lastQueryIdReceived=-1,this._lastRecommendQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._currentNbRecommendQueries=0,this._searchResultsOptions=n,this._recommendCache={}}function y(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function R(){return this.state.page}s(v,n),v.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},v.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},v.prototype.recommend=function(){return this._recommend(),this},v.prototype.getQuery=function(){var e=this.state;return f._getHitsSearchParams(e)},v.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,n=f._getQueries(r.index,r),i=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(n).then((function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),{content:new d(r,e.results),state:r,_originalResponse:e}}),(function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),e}));this.client.search(n).then((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(null,new d(r,e.results),r)})).catch((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(e,null,r)}))},v.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var n=r.getModifiedState(t),i=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:u(f._getHitsSearchParams(n),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),a="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(a);var s=this.client.initIndex(n.index);if("function"!=typeof s.findAnswers)throw new Error(a);return s.findAnswers(n.query,e.queryLanguages,i)},v.prototype.searchForFacetValues=function(e,t,r,n){var i="function"==typeof this.client.searchForFacetValues&&"function"!=typeof this.client.searchForFacets,s="function"==typeof this.client.initIndex;if(!i&&!s&&"function"!=typeof this.client.search)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var c=this.state.setQueryParameters(n||{}),o=c.isDisjunctiveFacet(e),u=f.getSearchForFacetQuery(e,t,r,c);this._currentNbQueries++;var h,l=this;return i?h=this.client.searchForFacetValues([{indexName:c.index,params:u}]):s?h=this.client.initIndex(c.index).searchForFacetValues(u):(delete u.facetName,h=this.client.search([{type:"facet",facet:e,indexName:c.index,params:u}]).then((function(e){return e.results[0]}))),this.emit("searchForFacetValues",{state:c,facet:e,query:t}),h.then((function(t){return l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.escapedValue=a(t.value),t.isRefined=o?c.isDisjunctiveFacetRefined(e,t.escapedValue):c.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),e}))},v.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},v.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},v.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},v.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},v.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},v.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},v.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},v.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},v.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},v.prototype.addFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.addFrequentlyBoughtTogether(e)}),this},v.prototype.addRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.addRelatedProducts(e)}),this},v.prototype.addTrendingItems=function(e){return this._recommendChange({state:this.recommendState.addTrendingItems(e)}),this},v.prototype.addTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.addTrendingFacets(e)}),this},v.prototype.addLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.addLookingSimilar(e)}),this},v.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},v.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},v.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},v.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},v.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},v.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},v.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},v.prototype.removeFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeTrendingItems=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},v.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},v.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},v.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},v.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},v.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},v.prototype.setCurrentPage=y,v.prototype.setPage=y,v.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},v.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},v.prototype.setState=function(e){return this._change({state:m.make(e),isPageReset:!1}),this},v.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new m(e),this},v.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},v.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},v.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},v.prototype.hasTag=function(e){return this.state.isTagRefined(e)},v.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},v.prototype.getIndex=function(){return this.state.index},v.prototype.getCurrentPage=R,v.prototype.getPage=R,v.prototype.getTags=function(){return this.state.tagRefinements},v.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach((function(e){var n=r[e];t.push({value:n,operator:e,type:"numeric"})})),t},v.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},v.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},v.prototype._search=function(e){var t=this.state,r=[],n=[];e.onlyWithDerivedHelpers||(n=f._getQueries(t.index,t),r.push({state:t,queriesCount:n.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var n=e.getModifiedState(t),i=n.index?f._getQueries(n.index,n):[];return r.push({state:n,queriesCount:i.length,helper:e}),e.emit("search",{state:n,results:e.lastResults}),i})),a=Array.prototype.concat.apply(n,i),s=this._queryId++;if(this._currentNbQueries++,!a.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,s));try{this.client.search(a).then(this._dispatchAlgoliaResponse.bind(this,r,s)).catch(this._dispatchAlgoliaError.bind(this,s))}catch(c){this.emit("error",{error:c})}},v.prototype._recommend=function(){var e=this.state,t=this.recommendState,r=this.getIndex(),n=[{state:t,index:r,helper:this}],i=t.params.map((function(e){return e.$$id}));this.emit("fetch",{recommend:{state:t,results:this.lastRecommendResults}});var a=this._recommendCache,s=this.derivedHelpers.map((function(t){var r=t.getModifiedState(e).index;if(!r)return[];var s=t.getModifiedRecommendState(new h);return n.push({state:s,index:r,helper:t}),i=Array.prototype.concat.apply(i,s.params.map((function(e){return e.$$id}))),t.emit("fetch",{recommend:{state:s,results:t.lastRecommendResults}}),s._buildQueries(r,a)})),c=Array.prototype.concat.apply(this.recommendState._buildQueries(r,a),s);if(0!==c.length)if(c.length>0&&void 0===this.client.getRecommendations)console.warn("Please update algoliasearch/lite to the latest version in order to use recommend widgets.");else{var o=this._recommendQueryId++;this._currentNbRecommendQueries++;try{this.client.getRecommendations(c).then(this._dispatchRecommendResponse.bind(this,o,n,i)).catch(this._dispatchRecommendError.bind(this,o))}catch(u){this.emit("error",{error:u})}}},v.prototype._dispatchAlgoliaResponse=function(e,t,r){var n=this;if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit("searchQueueEmpty");var i=r.results.slice();e.forEach((function(e){var t=e.state,r=e.queriesCount,a=e.helper,s=i.splice(0,r);t.index?(a.lastResults=new d(t,s,n._searchResultsOptions),a.emit("result",{results:a.lastResults,state:t})):a.emit("result",{results:null,state:t})}))}},v.prototype._dispatchRecommendResponse=function(e,t,r,n){if(!(e<this._lastRecommendQueryIdReceived)){this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty");var i=this._recommendCache,a={};r.filter((function(e){return void 0===i[e]})).forEach((function(e,t){a[e]||(a[e]=[]),a[e].push(t)})),Object.keys(a).forEach((function(e){var t=a[e],r=n.results[t[0]];1!==t.length?i[e]=Object.assign({},r,{hits:p(t.map((function(e){return n.results[e].hits})))}):i[e]=r}));var s={};r.forEach((function(e){s[e]=i[e]})),t.forEach((function(e){var t=e.state,r=e.helper;e.index?(r.lastRecommendResults=new l(t,s),r.emit("recommend:result",{recommend:{results:r.lastRecommendResults,state:t}})):r.emit("recommend:result",{results:null,state:t})}))}},v.prototype._dispatchAlgoliaError=function(e,t){e<this._lastQueryIdReceived||(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbQueries&&this.emit("searchQueueEmpty"))},v.prototype._dispatchRecommendError=function(e,t){e<this._lastRecommendQueryIdReceived||(this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty"))},v.prototype.containsRefinement=function(e,t,r,n){return e||0!==t.length||0!==r.length||0!==n.length},v.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&this.state.disjunctiveRefinements[e].length>0},v.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},v.prototype._recommendChange=function(e){var t=e.state;t!==this.recommendState&&(this.recommendState=t,this.emit("recommend:change",{search:{results:this.lastResults,state:this.state},recommend:{results:this.lastRecommendResults,state:this.recommendState}}))},v.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},v.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+g+")"),this.client=e),this},v.prototype.getClient=function(){return this.client},v.prototype.derive=function(e,t){var r=new i(this,e,t);return this.derivedHelpers.push(r),r},v.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},v.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=v},1481:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},4394:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])})),e}),{})}},4569:e=>{"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},2861:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]}},7209:e=>{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r<e.length;r++)if(t(e[r]))return r;return-1}},9869:e=>{e.exports=function(e){return e.reduce((function(e,t){return e.concat(t)}),[])}},221:(e,t,r)=>{"use strict";var n=r(2861);e.exports=function(e,t){var r=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),a=n(r,(function(e){return e[0]===i[0]}));return i.length>1||!a?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(a[0]),e[1].push(a[1]),e)}),[[],[]])}},786:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},2327:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},4612:e=>{"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function r(e,n){if(e===n)return e;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&"__proto__"!==i&&"constructor"!==i){var a=n[i],s=e[i];void 0!==s&&void 0===a||(t(s)&&t(a)?e[i]=r(s,a):e[i]="object"==typeof(c=a)&&null!==c?r(Array.isArray(c)?[]:{},c):c)}var c;return e}e.exports=function(e){t(e)||(e={});for(var n=1,i=arguments.length;n<i;n++){var a=arguments[n];t(a)&&r(e,a)}return e}},4745:e=>{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},9107:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}},5053:e=>{"use strict";function t(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=void 0!==t,a=null===t;if(!a&&e>t||n&&i||!r)return 1;if(!n&&e<t||a&&r||!i)return-1}return 0}e.exports=function(e,r,n){if(!Array.isArray(e))return[];Array.isArray(n)||(n=[]);var i=e.map((function(e,t){return{criteria:r.map((function(t){return e[t]})),index:t,value:e}}));return i.sort((function(e,r){for(var i=-1;++i<e.criteria.length;){var a=t(e.criteria[i],r.criteria[i]);if(a)return i>=n.length?a:"desc"===n[i]?-a:a}return e.index-r.index})),i.map((function(e){return e.value}))}},623:e=>{"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},2184:(e,t,r)=>{"use strict";var n=r(4612);function i(e){return Object.keys(e).sort().reduce((function(t,r){return t[r]=e[r],t}),{})}var a={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:a._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach((function(n){r.push({indexName:e,params:a._getDisjunctiveFacetSearchParams(t,n)})})),t.getRefinedHierarchicalFacets().forEach((function(n){var i=t.getHierarchicalFacetByName(n),s=t.getHierarchicalRefinement(n),c=t._getHierarchicalFacetSeparator(i);if(s.length>0&&s[0].split(c).length>1){var o=s[0].split(c).slice(0,-1).reduce((function(e,t,r){return e.concat({attribute:i.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})}),[]);o.forEach((function(n,s){var c=a._getDisjunctiveFacetSearchParams(t,n.attribute,0===s);function u(e){return i.attributes.some((function(t){return t===e.split(":")[0]}))}var h=(c.facetFilters||[]).reduce((function(e,t){if(Array.isArray(t)){var r=t.filter((function(e){return!u(e)}));r.length>0&&e.push(r)}return"string"!=typeof t||u(t)||e.push(t),e}),[]),l=o[s-1];s>0?c.facetFilters=h.concat(l.attribute+":"+l.value):h.length>0?c.facetFilters=h:delete c.facetFilters,r.push({indexName:e,params:c})}))}})),r},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(a._getHitsHierarchicalFacetsAttributes(e)).sort(),r=a._getFacetFilters(e),s=a._getNumericFilters(e),c=a._getTagFilters(e),o={};return t.length>0&&(o.facets=t.indexOf("*")>-1?["*"]:t),c.length>0&&(o.tagFilters=c),r.length>0&&(o.facetFilters=r),s.length>0&&(o.numericFilters=s),i(n({},e.getQueryParams(),o))},_getDisjunctiveFacetSearchParams:function(e,t,r){var s=a._getFacetFilters(e,t,r),c=a._getNumericFilters(e,t),o=a._getTagFilters(e),u={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};o.length>0&&(u.tagFilters=o);var h=e.getHierarchicalFacetByName(t);return u.facets=h?a._getDisjunctiveHierarchicalFacetAttribute(e,h,r):t,c.length>0&&(u.numericFilters=c),s.length>0&&(u.facetFilters=s),i(n({},e.getQueryParams(),u))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach((function(n){var i=e.numericRefinements[n]||{};Object.keys(i).forEach((function(e){var a=i[e]||[];t!==n&&a.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return n+e+t}));r.push(i)}else r.push(n+e+t)}))}))})),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var n=[],i=e.facetsRefinements||{};Object.keys(i).sort().forEach((function(e){(i[e]||[]).slice().sort().forEach((function(t){n.push(e+":"+t)}))}));var a=e.facetsExcludes||{};Object.keys(a).sort().forEach((function(e){(a[e]||[]).sort().forEach((function(t){n.push(e+":-"+t)}))}));var s=e.disjunctiveFacetsRefinements||{};Object.keys(s).sort().forEach((function(e){var r=s[e]||[];if(e!==t&&r&&0!==r.length){var i=[];r.slice().sort().forEach((function(t){i.push(e+":"+t)})),n.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach((function(i){var a=(c[i]||[])[0];if(void 0!==a){var s,o,u=e.getHierarchicalFacetByName(i),h=e._getHierarchicalFacetSeparator(u),l=e._getHierarchicalRootPath(u);if(t===i){if(-1===a.indexOf(h)||!l&&!0===r||l&&l.split(h).length===a.split(h).length)return;l?(o=l.split(h).length-1,a=l):(o=a.split(h).length-2,a=a.slice(0,a.lastIndexOf(h))),s=u.attributes[o]}else o=a.split(h).length-1,s=u.attributes[o];s&&n.push([s+":"+a])}})),n},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,r){var n=e.getHierarchicalRefinement(r.name)[0];if(!n)return t.push(r.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(r),a=n.split(i).length,s=r.attributes.slice(0,a+1);return t.concat(s)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n=e._getHierarchicalFacetSeparator(t);if(!0===r){var i=e._getHierarchicalRootPath(t),a=0;return i&&(a=i.split(n).length),[t.attributes[a]]}var s=(e.getHierarchicalRefinement(t.name)[0]||"").split(n).length-1;return t.attributes.slice(0,s+1)},getSearchForFacetQuery:function(e,t,r,s){var c=s.isDisjunctiveFacet(e)?s.clearRefinements(e):s,o={facetQuery:t,facetName:e};return"number"==typeof r&&(o.maxFacetHits=r),i(n({},a._getHitsSearchParams(c),o))}};e.exports=a},5156:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},9017:(e,t,r)=>{"use strict";var n=r(2861),i=r(9869);e.exports=function(e){var t={};return e.forEach((function(e){e.forEach((function(e,r){t[e.objectID]?t[e.objectID]={indexSum:t[e.objectID].indexSum+r,count:t[e.objectID].count+1}:t[e.objectID]={indexSum:r,count:1}}))})),function(e,t){var r=[];return Object.keys(e).forEach((function(n){e[n].count<2&&(e[n].indexSum+=100),r.push({objectID:n,avgOfIndices:e[n].indexSum/t})})),r.sort((function(e,t){return e.avgOfIndices>t.avgOfIndices?1:-1}))}(t,e.length).reduce((function(t,r){var a=n(i(e),(function(e){return e.objectID===r.objectID}));return a?t.concat(a):t}),[])}},4222:e=>{"use strict";e.exports="3.22.5"},2799:function(e){e.exports=function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){e(r,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))}))}return r}function n(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,a=void 0;try{for(var s,c=e[Symbol.iterator]();!(n=(s=c.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw a}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function s(e){var t,r="algoliasearch-client-js-".concat(e.key),n=function(){return void 0===t&&(t=e.localStorage||window.localStorage),t},a=function(){return JSON.parse(n().getItem(r)||"{}")},s=function(e){n().setItem(r,JSON.stringify(e))},c=function(){var t=e.timeToLive?1e3*e.timeToLive:null,r=a(),n=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==i(e,2)[1].timestamp})));if(s(n),t){var c=Object.fromEntries(Object.entries(n).filter((function(e){var r=i(e,2)[1],n=(new Date).getTime();return!(r.timestamp+t<n)})));s(c)}};return{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){c();var t=JSON.stringify(e);return a()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=i(e,2),n=t[0],a=t[1];return Promise.all([n,a||r.miss(n)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=a();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function c(e){var t=a(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,i).catch((function(){return c({caches:t}).get(e,n,i)}))},set:function(e,n){return r.set(e,n).catch((function(){return c({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return c({caches:t}).clear()}))}}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var s=n(),c=i&&i.miss||function(){return Promise.resolve()};return s.then((function(e){return c(e)})).then((function(){return s}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function u(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function h(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function l(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=0;return e.replace(/%s/g,(function(){return encodeURIComponent(r[i++])}))}var f={WithinQueryParameters:0,WithinHeaders:1};function m(e,t){var r=e||{},n=r.data||{};return Object.keys(r).forEach((function(e){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,g=2,v=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function _(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===v&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(a(r),a(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,n,i){var s=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}}(n,i),o=function(e,t){var n=r(r({},e.headers),t.headers),i={};return Object.keys(n).forEach((function(e){var t=n[e];i[e.toLowerCase()]=t})),i}(e,i),u=n.method,h=n.method!==F?{}:r(r({},n.data),i.data),l=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),h),i.queryParameters),f=0,m=function t(r,a){var h=r.pop();if(void 0===h)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .",transporterStackTrace:O(s)};var m={data:c,headers:o,method:u,url:E(h,n.path,l),connectTimeout:a(f,e.timeouts.connect),responseTimeout:a(f,i.timeout)},d=function(e){var t={request:m,response:e,host:h,triesLeft:r.length};return s.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var i=d(n);return n.isTimedOut&&f++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(h,y(h,n.isTimedOut?v:g))]).then((function(){return t(r,a)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,i=r;try{i=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(i,n,t)}(e,O(s))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&!~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return _(e.hostsCache,t).then((function(e){return m(a(e.statelessHosts).reverse(),e.getTimeout)}))}function j(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function E(e,t,r){var n=x(r),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(i+="?".concat(n)),i}function x(e){return Object.keys(e).map((function(t){return l("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function O(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var S=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===f.WithinHeaders?n:{}},queryParameters:function(){return e===f.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:f.WithinHeaders,t,e.apiKey),a=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,a=e.requestsCache,s=e.responsesCache,c=e.timeouts,o=e.userAgent,u=e.hosts,h=e.queryParameters,l={hostsCache:t,logger:r,requester:n,requestsCache:a,responsesCache:s,timeouts:c,userAgent:o,headers:e.headers,queryParameters:h,hosts:u.map((function(e){return R(e)})),read:function(e,t){var r=m(t,l.timeouts.read),n=function(){return P(l,l.hosts.filter((function(e){return!!(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var a={request:e,mappedRequestOptions:r,transporter:{queryParameters:l.queryParameters,headers:l.headers}};return l.responsesCache.get(a,(function(){return l.requestsCache.get(a,(function(){return l.requestsCache.set(a,n()).then((function(e){return Promise.all([l.requestsCache.delete(a),e])}),(function(e){return Promise.all([l.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return l.responsesCache.set(a,e)}})},write:function(e,t){return P(l,l.hosts.filter((function(e){return!!(e.accept&d.Write)})),e,m(t,l.timeouts.write))}};return l}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(u([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)},A=function(e){return function(t,r){return t.method===F?e.transporter.read(t,r):e.transporter.write(t,r)}},N=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h({transporter:e.transporter,appId:e.appId,indexName:t},r.methods)}},T=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{params:x(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},n)}},H=function(e){return function(t,i){return Promise.all(t.map((function(t){var a=t.params,s=a.facetName,c=a.facetQuery,o=n(a,["facetName","facetQuery"]);return N(e)(t.indexName,{methods:{searchForFacetValues:I}}).searchForFacetValues(s,c,r(r({},i),o))})))}},Q=function(e){return function(t,r,n){return e.transporter.read({method:b,path:l("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},C=function(e){return function(t,r){return e.transporter.read({method:b,path:l("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},I=function(e){return function(t,r,n){return e.transporter.read({method:b,path:l("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},k=1,D=2,q=3,L=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:b,path:"1/indexes/*/recommendations",data:{requests:i},cacheable:!0},n)}};function V(e,t,n){var i,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,i=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},a=i(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(a),n=i(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(a),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(a),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(i=q,{debug:function(e,t){return k>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return D>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:o(),requestsCache:o({serializable:!1}),hostsCache:c({caches:[s({key:"".concat("4.24.0","-").concat(e)}),o()]}),userAgent:j("4.24.0").add({segment:"Browser",version:"lite"}),authMode:f.WithinQueryParameters};return S(r(r(r({},a),n),{},{methods:{search:T,searchForFacetValues:H,multipleQueries:T,multipleSearchForFacetValues:H,customRequest:A,initIndex:function(e){return function(t){return N(e)(t,{methods:{search:C,searchForFacetValues:I,findAnswers:Q}})}},getRecommendations:L}}))}return V.version="4.24.0",V}()},9138:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>A});var n=r(6540),i=r(8017),a=r(3003),s=r.n(a),c=r(2799),o=r.n(c),u=r(8193),h=r(5260),l=r(5489),f=r(4070),m=r(4586);const d=["zero","one","two","few","many","other"];function p(e){return d.filter((t=>e.includes(t)))}const g={locale:"en",pluralForms:p(["one","other"]),select:e=>1===e?"one":"other"};function v(){const{i18n:{currentLocale:e}}=(0,m.A)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:p(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),g}}),[e])}function y(){const e=v();return{selectMessage:(t,r)=>function(e,t,r){const n=e.split("|");if(1===n.length)return n[0];n.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const i=r.select(t),a=r.pluralForms.indexOf(i);return n[Math.min(a,n.length-1)]}(r,t,e)}}var R=r(4255),F=r(9532),b=r(9024),_=r(481),P=r(1312),j=r(8126),E=r(1062),x=r(2546);const O={searchQueryInput:"searchQueryInput_u2C7",searchVersionInput:"searchVersionInput_m0Ui",searchResultsColumn:"searchResultsColumn_JPFH",algoliaLogo:"algoliaLogo_rT1R",algoliaLogoPathFill:"algoliaLogoPathFill_WdUC",searchResultItem:"searchResultItem_Tv2o",searchResultItemHeading:"searchResultItemHeading_KbCB",searchResultItemPath:"searchResultItemPath_lhe1",searchResultItemSummary:"searchResultItemSummary_AEaO",searchQueryColumn:"searchQueryColumn_RTkw",searchVersionColumn:"searchVersionColumn_ypXd",searchLogoColumn:"searchLogoColumn_rJIA",loadingSpinner:"loadingSpinner_XVxU","loading-spin":"loading-spin_vzvp",loader:"loader_vvXV"};function w(e){let{docsSearchVersionsHelpers:t}=e;const r=Object.entries(t.allDocsData).filter((e=>{let[,t]=e;return t.versions.length>1}));return n.createElement("div",{className:(0,i.A)("col","col--3","padding-left--none",O.searchVersionColumn)},r.map((e=>{let[i,a]=e;const s=r.length>1?`${i}: `:"";return n.createElement("select",{key:i,onChange:e=>t.setSearchVersion(i,e.target.value),defaultValue:t.searchVersions[i],className:O.searchVersionInput},a.versions.map(((e,t)=>n.createElement("option",{key:t,label:`${s}${e.label}`,value:e.name}))))})))}function S(){const{i18n:{currentLocale:e}}=(0,m.A)(),{algolia:{appId:t,apiKey:r,indexName:a}}=(0,j.c)(),c=(0,E.C)(),d=function(){const{selectMessage:e}=y();return t=>e(t,(0,P.T)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One document found|{count} documents found"},{count:t}))}(),p=function(){const e=(0,f.Gy)(),[t,r]=(0,n.useState)((()=>Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:n.versions[0].name}}),{}))),i=Object.values(e).some((e=>e.versions.length>1));return{allDocsData:e,versioningEnabled:i,searchVersions:t,setSearchVersion:(e,t)=>r((r=>({...r,[e]:t})))}}(),[g,v]=(0,R.b)(),b={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[S,A]=(0,n.useReducer)(((e,t)=>{switch(t.type){case"reset":return b;case"loading":return{...e,loading:!0};case"update":return g!==t.value.query?e:{...t.value,items:0===t.value.lastPage?t.value.items:e.items.concat(t.value.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),b),N=o()(t,r),T=s()(N,a,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:["language","docusaurus_tag"]});T.on("result",(e=>{let{results:{query:t,hits:r,page:n,nbHits:i,nbPages:a}}=e;if(""===t||!Array.isArray(r))return void A({type:"reset"});const s=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),o=r.map((e=>{let{url:t,_highlightResult:{hierarchy:r},_snippetResult:n={}}=e;const i=Object.keys(r).map((e=>s(r[e].value)));return{title:i.pop(),url:c(t),summary:n.content?`${s(n.content.value)}...`:"",breadcrumbs:i}}));A({type:"update",value:{items:o,query:t,totalResults:i,totalPages:a,lastPage:n,hasMore:a>n+1,loading:!1}})}));const[H,Q]=(0,n.useState)(null),C=(0,n.useRef)(0),I=(0,n.useRef)(u.A.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&C.current>r&&A({type:"advance"}),C.current=r}),{threshold:1})),k=()=>g?(0,P.T)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:g}):(0,P.T)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),D=(0,F._q)((function(t){void 0===t&&(t=0),T.addDisjunctiveFacetRefinement("docusaurus_tag","default"),T.addDisjunctiveFacetRefinement("language",e),Object.entries(p.searchVersions).forEach((e=>{let[t,r]=e;T.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${t}-${r}`)})),T.setQuery(g).setPage(t).search()}));return(0,n.useEffect)((()=>{if(!H)return;const e=I.current;return e?(e.observe(H),()=>e.unobserve(H)):()=>!0}),[H]),(0,n.useEffect)((()=>{A({type:"reset"}),g&&(A({type:"loading"}),setTimeout((()=>{D()}),300))}),[g,p.searchVersions,D]),(0,n.useEffect)((()=>{S.lastPage&&0!==S.lastPage&&D(S.lastPage)}),[D,S.lastPage]),n.createElement(x.A,null,n.createElement(h.A,null,n.createElement("title",null,(0,_.s)(k())),n.createElement("meta",{property:"robots",content:"noindex, follow"})),n.createElement("div",{className:"container margin-vert--lg"},n.createElement("h1",null,k()),n.createElement("form",{className:"row",onSubmit:e=>e.preventDefault()},n.createElement("div",{className:(0,i.A)("col",O.searchQueryColumn,{"col--9":p.versioningEnabled,"col--12":!p.versioningEnabled})},n.createElement("input",{type:"search",name:"q",className:O.searchQueryInput,placeholder:(0,P.T)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,P.T)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>v(e.target.value),value:g,autoComplete:"off",autoFocus:!0})),p.versioningEnabled&&n.createElement(w,{docsSearchVersionsHelpers:p})),n.createElement("div",{className:"row"},n.createElement("div",{className:(0,i.A)("col","col--8",O.searchResultsColumn)},!!S.totalResults&&d(S.totalResults)),n.createElement("div",{className:(0,i.A)("col","col--4","text--right",O.searchLogoColumn)},n.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.algolia.com/","aria-label":(0,P.T)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"})},n.createElement("svg",{viewBox:"0 0 168 24",className:O.algoliaLogo},n.createElement("g",{fill:"none"},n.createElement("path",{className:O.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),n.createElement("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),n.createElement("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})))))),S.items.length>0?n.createElement("main",null,S.items.map(((e,t)=>{let{title:r,url:a,summary:s,breadcrumbs:c}=e;return n.createElement("article",{key:t,className:O.searchResultItem},n.createElement("h2",{className:O.searchResultItemHeading},n.createElement(l.A,{to:a,dangerouslySetInnerHTML:{__html:r}})),c.length>0&&n.createElement("nav",{"aria-label":"breadcrumbs"},n.createElement("ul",{className:(0,i.A)("breadcrumbs",O.searchResultItemPath)},c.map(((e,t)=>n.createElement("li",{key:t,className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}}))))),s&&n.createElement("p",{className:O.searchResultItemSummary,dangerouslySetInnerHTML:{__html:s}}))}))):[g&&!S.loading&&n.createElement("p",{key:"no-results"},n.createElement(P.A,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result"},"No results were found")),!!S.loading&&n.createElement("div",{key:"spinner",className:O.loadingSpinner})],S.hasMore&&n.createElement("div",{className:O.loader,ref:Q},n.createElement(P.A,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results"},"Fetching new results..."))))}function A(){return n.createElement(b.e3,{className:"search-page-wrapper"},n.createElement(S,null))}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.13cca538.js.LICENSE.txt b/assets/js/1a4e3797.13cca538.js.LICENSE.txt deleted file mode 100644 index bfc7620fe..000000000 --- a/assets/js/1a4e3797.13cca538.js.LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -/*! algoliasearch-lite.umd.js | 4.24.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ diff --git a/assets/js/1a4e3797.215a22b7.js b/assets/js/1a4e3797.215a22b7.js new file mode 100644 index 000000000..71cfd75a4 --- /dev/null +++ b/assets/js/1a4e3797.215a22b7.js @@ -0,0 +1 @@ +(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2138],{4073:e=>{function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"object"==typeof e&&null!==e}function n(e){return void 0===e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,s,a,c,o,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(n(s=this._events[e]))return!1;if(r(s))switch(arguments.length){case 1:s.call(this);break;case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:c=Array.prototype.slice.call(arguments,1),s.apply(this,c)}else if(i(s))for(c=Array.prototype.slice.call(arguments,1),a=(u=s.slice()).length,o=0;o<a;o++)u[o].apply(this,c);return!0},t.prototype.addListener=function(e,s){var a;if(!r(s))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(s.listener)?s.listener:s),this._events[e]?i(this._events[e])?this._events[e].push(s):this._events[e]=[this._events[e],s]:this._events[e]=s,i(this._events[e])&&!this._events[e].warned&&(a=n(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&a>0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var i=!1;function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}return n.listener=t,this.on(e,n),this},t.prototype.removeListener=function(e,t){var n,s,a,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,s=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(c=a;c-- >0;)if(n[c]===t||n[c].listener&&n[c].listener===t){s=c;break}if(s<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(i=this._events[e]))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},3003:(e,t,r)=>{"use strict";var i=r(7311),n=r(4483),s=r(7635),a=r(4495),c=r(5479);function o(e,t,r,n){return new i(e,t,r,n)}o.version=r(4222),o.AlgoliaSearchHelper=i,o.SearchParameters=a,o.RecommendParameters=n,o.SearchResults=c,o.RecommendResults=s,e.exports=o},7568:(e,t,r)=>{"use strict";var i=r(4073);function n(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}r(786)(n,i),n.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},n.prototype.getModifiedState=function(e){return this.fn(e)},n.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)},e.exports=n},4483:e=>{"use strict";function t(e){e=e||{},this.params=e.params||[]}t.prototype={constructor:t,addParams:function(e){var r=this.params.slice();return r.push(e),new t({params:r})},removeParams:function(e){return new t({params:this.params.filter((function(t){return t.$$id!==e}))})},addFrequentlyBoughtTogether:function(e){return this.addParams(Object.assign({},e,{model:"bought-together"}))},addRelatedProducts:function(e){return this.addParams(Object.assign({},e,{model:"related-products"}))},addTrendingItems:function(e){return this.addParams(Object.assign({},e,{model:"trending-items"}))},addTrendingFacets:function(e){return this.addParams(Object.assign({},e,{model:"trending-facets"}))},addLookingSimilar:function(e){return this.addParams(Object.assign({},e,{model:"looking-similar"}))},_buildQueries:function(e,t){return this.params.filter((function(e){return void 0===t[e.$$id]})).map((function(t){var r=Object.assign({},t,{indexName:e,threshold:t.threshold||0});return delete r.$$id,r}))}},e.exports=t},7635:e=>{"use strict";function t(e,t){this._state=e,this._rawResults={};var r=this;e.params.forEach((function(e){var i=e.$$id;r[i]=t[i],r._rawResults[i]=t[i]}))}t.prototype={constructor:t},e.exports=t},3034:(e,t,r)=>{"use strict";var i=r(4394),n=r(4745),s=r(9107),a={addRefinement:function(e,t,r){if(a.isRefined(e,t,r))return e;var n=""+r,s=e[t]?e[t].concat(n):[n],c={};return c[t]=s,i(c,e)},removeRefinement:function(e,t,r){if(void 0===r)return a.clearRefinement(e,(function(e,r){return t===r}));var i=""+r;return a.clearRefinement(e,(function(e,r){return t===r&&i===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return a.isRefined(e,t,r)?a.removeRefinement(e,t,r):a.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return n(e)?{}:e;if("string"==typeof t)return s(e,[t]);if("function"==typeof t){var i=!1,a=Object.keys(e).reduce((function(n,s){var a=e[s]||[],c=a.filter((function(e){return!t(e,s,r)}));return c.length!==a.length&&(i=!0),n[s]=c,n}),{});return i?a:e}},isRefined:function(e,t,r){var i=Boolean(e[t])&&e[t].length>0;if(void 0===r||!i)return i;var n=""+r;return-1!==e[t].indexOf(n)}};e.exports=a},4495:(e,t,r)=>{"use strict";var i=r(4394),n=r(2861),s=r(2327),a=r(4612),c=r(4745),o=r(9107),u=r(623),h=r(5156),l=r(3034);function f(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return f(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var i=-1!==m.PARAMETERS.indexOf(e),n=void 0!==t[e];!i&&n&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var i=e[r];if("string"==typeof i){var n=parseFloat(i);t[r]=isNaN(n)?i:n}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var i=e.numericRefinements[t]||{};r[t]={},Object.keys(i).forEach((function(e){var n=i[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=n}))})),t.numericRefinements=r}return a(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:l.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:l.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:l.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:l.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var i=u(r);if(this.isNumericRefined(e,t,i))return this;var n=a({},this.numericRefinements);return n[e]=a({},n[e]),n[e][t]?(n[e][t]=n[e][t].slice(),n[e][t].push(i)):n[e][t]=[i],this.setQueryParameters({numericRefinements:n})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var i=r;return void 0!==i?this.isNumericRefined(e,t,i)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t&&f(r.val,u(i))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,i=Object.keys(r).reduce((function(i,n){var s=r[n],a={};return s=s||{},Object.keys(s).forEach((function(r){var i=s[r]||[],c=[];i.forEach((function(t){e({val:t,op:r},n,"numeric")||c.push(t)})),c.length!==i.length&&(t=!0),a[r]=c})),i[n]=a,i}),{});return t?i:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:l.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:l.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return l.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:l.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:l.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return l.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:l.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return l.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:l.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:l.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:l.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:l.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),n={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?n[e]=[]:n[e]=[t.slice(0,t.lastIndexOf(r))]:n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i(n,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i(r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:i(t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&l.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&l.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&l.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var i=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!i)return i;var s,a,c=u(r),o=void 0!==(s=this.numericRefinements[e][t],a=c,n(s,(function(e){return f(e,a)})));return i&&o},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=s(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return s(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(i){var n=r[i];-1===e.indexOf(i)&&void 0!==n&&(t[i]=n)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,i=m._parseNumbers(e),n=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),s=Object.keys(i).reduce((function(e,t){var r=void 0!==e[t],n=void 0!==i[t];return r&&!n?o(e,[t]):(n&&(e[t]=i[t]),e)}),n);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return n(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},6949:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var i=e.hierarchicalFacets[r],u=e.hierarchicalFacetsRefinements[i.name]&&e.hierarchicalFacetsRefinements[i.name][0]||"",h=e._getHierarchicalFacetSeparator(i),l=e._getHierarchicalRootPath(i),f=e._getHierarchicalShowParentLevel(i),m=s(e._getHierarchicalFacetSortBy(i)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,i,s){return function(u,h,l){var f=u;if(l>0){var m=0;for(f=u;m<l;){var d=f&&Array.isArray(f.data)?f.data:[];f=n(d,(function(e){return e.isRefined})),m++}}if(f){var p=Object.keys(h.data).map((function(e){return[e,h.data[e]]})).filter((function(e){return function(e,t,r,i,n,s){if(n&&(0!==e.indexOf(n)||n===e))return!1;return!n&&-1===e.indexOf(i)||n&&e.split(i).length-n.split(i).length==1||-1===e.indexOf(i)&&-1===r.indexOf(i)||0===r.indexOf(e)||0===e.indexOf(t+i)&&(s||0===e.indexOf(r))}(e[0],f.path||r,s,t,r,i)}));f.data=a(p.map((function(e){var r=e[0];return function(e,t,r,i,n){var s=t.split(r);return{name:s[s.length-1].trim(),path:t,escapedValue:c(t),count:e,isRefined:i===t||0===i.indexOf(t+r),exhaustive:n,data:null}}(e[1],r,t,o(s),h.exhaustive)})),e[0],e[1])}return u}}(m,h,l,f,u),g=t;return l&&(g=t.slice(l.split(h).length)),g.reduce(p,{name:e.hierarchicalFacets[r].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:d,data:null})}};var i=r(4569),n=r(2861),s=r(221),a=r(5053),c=i.escapeFacetValue,o=i.unescapeFacetValue},5479:(e,t,r)=>{"use strict";var i=r(1481),n=r(4394),s=r(4569),a=r(2861),c=r(7209),o=r(221),u=r(2907),h=r(5053),l=s.escapeFacetValue,f=s.unescapeFacetValue,m=r(6949);function d(e){var t={};return e.forEach((function(e,r){t[e]=r})),t}function p(e,t,r){t&&t[r]&&(e.stats=t[r])}function g(e,t,r){var s=t[0]||{};this._rawResults=t;var o=this;Object.keys(s).forEach((function(e){o[e]=s[e]}));var h=n(r,{persistHierarchicalRootCount:!1});Object.keys(h).forEach((function(e){o[e]=h[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var l=e.getRefinedDisjunctiveFacets(),g=d(e.facets),v=d(e.disjunctiveFacets),y=1,R=s.facets||{};Object.keys(R).forEach((function(t){var r,i,n=R[t],u=(r=e.hierarchicalFacets,i=t,a(r,(function(e){return(e.attributes||[]).indexOf(i)>-1})));if(u){var h=u.attributes.indexOf(t),l=c(e.hierarchicalFacets,(function(e){return e.name===u.name}));o.hierarchicalFacets[l][h]={attribute:t,data:n,exhaustive:s.exhaustiveFacetsCount}}else{var f,m=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);m&&(f=v[t],o.disjunctiveFacets[f]={name:t,data:n,exhaustive:s.exhaustiveFacetsCount},p(o.disjunctiveFacets[f],s.facets_stats,t)),d&&(f=g[t],o.facets[f]={name:t,data:n,exhaustive:s.exhaustiveFacetsCount},p(o.facets[f],s.facets_stats,t))}})),this.hierarchicalFacets=i(this.hierarchicalFacets),l.forEach((function(r){var i=t[y],a=i&&i.facets?i.facets:{},h=e.getHierarchicalFacetByName(r);Object.keys(a).forEach((function(t){var r,l=a[t];if(h){r=c(e.hierarchicalFacets,(function(e){return e.name===h.name}));var m=c(o.hierarchicalFacets[r],(function(e){return e.attribute===t}));if(-1===m)return;o.hierarchicalFacets[r][m].data=o.persistHierarchicalRootCount?u(o.hierarchicalFacets[r][m].data,l):n(l,o.hierarchicalFacets[r][m].data)}else{r=v[t];var d=s.facets&&s.facets[t]||{};o.disjunctiveFacets[r]={name:t,data:u(d,l),exhaustive:i.exhaustiveFacetsCount},p(o.disjunctiveFacets[r],i.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(i){!o.disjunctiveFacets[r].data[i]&&e.disjunctiveFacetsRefinements[t].indexOf(f(i))>-1&&(o.disjunctiveFacets[r].data[i]=0)}))}})),y++})),e.getRefinedHierarchicalFacets().forEach((function(r){var i=e.getHierarchicalFacetByName(r),s=e._getHierarchicalFacetSeparator(i),a=e.getHierarchicalRefinement(r);0===a.length||a[0].split(s).length<2||t.slice(y).forEach((function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach((function(t){var u=r[t],h=c(e.hierarchicalFacets,(function(e){return e.name===i.name})),l=c(o.hierarchicalFacets[h],(function(e){return e.attribute===t}));if(-1!==l){var f={};if(a.length>0&&!o.persistHierarchicalRootCount){var m=a[0].split(s)[0];f[m]=o.hierarchicalFacets[h][l].data[m]}o.hierarchicalFacets[h][l].data=n(f,u,o.hierarchicalFacets[h][l].data)}})),y++}))})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],i=g[t];o.facets[i]={name:t,data:R[t],exhaustive:s.exhaustiveFacetsCount},r.forEach((function(e){o.facets[i]=o.facets[i]||{name:t},o.facets[i].data=o.facets[i].data||{},o.facets[i].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(m(e)),this.facets=i(this.facets),this.disjunctiveFacets=i(this.disjunctiveFacets),this._state=e}function v(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var i=a(e.facets,r);return i?Object.keys(i.data).map((function(r){var n=l(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isFacetRefined(t,n),isExcluded:e._state.isExcludeRefined(t,r)}})):[]}if(e._state.isDisjunctiveFacet(t)){var n=a(e.disjunctiveFacets,r);return n?Object.keys(n.data).map((function(r){var i=l(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,i)}})):[]}if(e._state.isHierarchicalFacet(t)){var s=a(e.hierarchicalFacets,r);if(!s)return s;var c=e._state.getHierarchicalFacetByName(t),o=e._state._getHierarchicalFacetSeparator(c),u=f(e._state.getHierarchicalRefinement(t)[0]||"");0===u.indexOf(c.rootPath)&&(u=u.replace(c.rootPath+o,""));var h=u.split(o);return h.unshift(t),y(s,h,0),s}}function y(e,t,r){e.isRefined=e.name===(t[r]&&t[r].trim()),e.data&&e.data.forEach((function(e){y(e,t,r+1)}))}function R(e,t,r,i){if(i=i||0,Array.isArray(t))return e(t,r[i]);if(!t.data||0===t.data.length)return t;var s=t.data.map((function(t){return R(e,t,r,i+1)})),a=e(s,r[i]);return n({data:a},t)}function F(e,t){var r=a(e,(function(e){return e.name===t}));return r&&r.stats}function _(e,t,r,i,n){var s=a(n,(function(e){return e.name===r})),c=s&&s.data&&s.data[i]?s.data[i]:0,o=s&&s.exhaustive||!1;return{type:t,attributeName:r,name:i,count:c,exhaustive:o}}g.prototype.getFacetByName=function(e){function t(t){return t.name===e}return a(this.facets,t)||a(this.disjunctiveFacets,t)||a(this.hierarchicalFacets,t)},g.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],g.prototype.getFacetValues=function(e,t){var r=v(this,e);if(r){var i,s=n(t,{sortBy:g.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;if(Array.isArray(r))i=[e];else i=a._state.getHierarchicalFacetByName(r.name).attributes;return R((function(e,t){if(s.facetOrdering){var r=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(a,t);if(r)return function(e,t){var r=[],i=[],n=t.hide||[],s=(t.order||[]).reduce((function(e,t,r){return e[t]=r,e}),{});e.forEach((function(e){var t=e.path||e.name,a=n.indexOf(t)>-1;a||void 0===s[t]?a||i.push(e):r[s[t]]=e})),r=r.filter((function(e){return e}));var a,c=t.sortRemainingBy;return"hidden"===c?r:(a="alpha"===c?[["path","name"],["asc","asc"]]:[["count"],["desc"]],r.concat(h(i,a[0],a[1])))}(e,r)}if(Array.isArray(s.sortBy)){var i=o(s.sortBy,g.DEFAULT_SORT);return h(e,i[0],i[1])}if("function"==typeof s.sortBy)return function(e,t){return t.sort(e)}(s.sortBy,e);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}),r,i)}},g.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},g.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach((function(i){e.facetsRefinements[i].forEach((function(n){r.push(_(e,"facet",i,n,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(i){e.facetsExcludes[i].forEach((function(n){r.push(_(e,"exclude",i,n,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(i){e.disjunctiveFacetsRefinements[i].forEach((function(n){r.push(_(e,"disjunctive",i,n,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(i){e.hierarchicalFacetsRefinements[i].forEach((function(n){r.push(function(e,t,r,i){var n=e.getHierarchicalFacetByName(t),s=e._getHierarchicalFacetSeparator(n),c=r.split(s),o=a(i,(function(e){return e.name===t})),u=c.reduce((function(e,t){var r=e&&a(e.data,(function(e){return e.name===t}));return void 0!==r?r:e}),o),h=u&&u.count||0,l=u&&u.exhaustive||!1,f=u&&u.path||"";return{type:"hierarchical",attributeName:t,name:f,count:h,exhaustive:l}}(e,i,n,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var i=e.numericRefinements[t];Object.keys(i).forEach((function(e){i[e].forEach((function(i){r.push({type:"numeric",attributeName:t,name:i,numericValue:i,operator:e})}))}))})),e.tagRefinements.forEach((function(e){r.push({type:"tag",attributeName:"_tags",name:e})})),r},e.exports=g},7311:(e,t,r)=>{"use strict";var i=r(4073),n=r(7568),s=r(4569).escapeFacetValue,a=r(786),c=r(4612),o=r(4745),u=r(9107),h=r(4483),l=r(7635),f=r(2184),m=r(4495),d=r(5479),p=r(9017),g=r(4222);function v(e,t,r,i){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+g+")"),this.setClient(e);var n=r||{};n.index=t,this.state=m.make(n),this.recommendState=new h({params:n.recommendState}),this.lastResults=null,this.lastRecommendResults=null,this._queryId=0,this._recommendQueryId=0,this._lastQueryIdReceived=-1,this._lastRecommendQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._currentNbRecommendQueries=0,this._searchResultsOptions=i,this._recommendCache={}}function y(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function R(){return this.state.page}a(v,i),v.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},v.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},v.prototype.searchWithComposition=function(){return this._runComposition({onlyWithDerivedHelpers:!0}),this},v.prototype.recommend=function(){return this._recommend(),this},v.prototype.getQuery=function(){var e=this.state;return f._getHitsSearchParams(e)},v.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,i=f._getQueries(r.index,r),n=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(i).then((function(e){return n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),{content:new d(r,e.results),state:r,_originalResponse:e}}),(function(e){throw n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),e}));this.client.search(i).then((function(e){n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),t(null,new d(r,e.results),r)})).catch((function(e){n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),t(e,null,r)}))},v.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var i=r.getModifiedState(t),n=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:u(f._getHitsSearchParams(i),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),s="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(s);var a=this.client.initIndex(i.index);if("function"!=typeof a.findAnswers)throw new Error(s);return a.findAnswers(i.query,e.queryLanguages,n)},v.prototype.searchForFacetValues=function(e,t,r,i){var n="function"==typeof this.client.searchForFacetValues&&"function"!=typeof this.client.searchForFacets,a="function"==typeof this.client.initIndex;if(!n&&!a&&"function"!=typeof this.client.search)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var c=this.state.setQueryParameters(i||{}),o=c.isDisjunctiveFacet(e),u=f.getSearchForFacetQuery(e,t,r,c);this._currentNbQueries++;var h,l=this;return n?h=this.client.searchForFacetValues([{indexName:c.index,params:u}]):a?h=this.client.initIndex(c.index).searchForFacetValues(u):(delete u.facetName,h=this.client.search([{type:"facet",facet:e,indexName:c.index,params:u}]).then((function(e){return e.results[0]}))),this.emit("searchForFacetValues",{state:c,facet:e,query:t}),h.then((function(t){return l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.escapedValue=s(t.value),t.isRefined=o?c.isDisjunctiveFacetRefined(e,t.escapedValue):c.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),e}))},v.prototype.searchForCompositionFacetValues=function(e,t,r,i){if("function"!=typeof this.client.searchForFacetValues)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues");var n=this.state.setQueryParameters(i||{}),a=n.isDisjunctiveFacet(e);this._currentNbQueries++;var c,o=this;return c=this.client.searchForFacetValues({compositionID:n.index,facetName:e,searchForFacetValuesRequest:{params:{query:t,maxFacetHits:r,searchQuery:f._getCompositionHitsSearchParams(n)}}}),this.emit("searchForFacetValues",{state:n,facet:e,query:t}),c.then((function(t){return o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),(t=t.results[0]).facetHits.forEach((function(t){t.escapedValue=s(t.value),t.isRefined=a?n.isDisjunctiveFacetRefined(e,t.escapedValue):n.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),e}))},v.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},v.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},v.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},v.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},v.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},v.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},v.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},v.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},v.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},v.prototype.addFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.addFrequentlyBoughtTogether(e)}),this},v.prototype.addRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.addRelatedProducts(e)}),this},v.prototype.addTrendingItems=function(e){return this._recommendChange({state:this.recommendState.addTrendingItems(e)}),this},v.prototype.addTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.addTrendingFacets(e)}),this},v.prototype.addLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.addLookingSimilar(e)}),this},v.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},v.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},v.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},v.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},v.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},v.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},v.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},v.prototype.removeFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeTrendingItems=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},v.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},v.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},v.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},v.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},v.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},v.prototype.setCurrentPage=y,v.prototype.setPage=y,v.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},v.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},v.prototype.setState=function(e){return this._change({state:m.make(e),isPageReset:!1}),this},v.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new m(e),this},v.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},v.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},v.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},v.prototype.hasTag=function(e){return this.state.isTagRefined(e)},v.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},v.prototype.getIndex=function(){return this.state.index},v.prototype.getCurrentPage=R,v.prototype.getPage=R,v.prototype.getTags=function(){return this.state.tagRefinements},v.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach((function(e){var i=r[e];t.push({value:i,operator:e,type:"numeric"})})),t},v.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},v.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},v.prototype._search=function(e){var t=this.state,r=[],i=[];e.onlyWithDerivedHelpers||(i=f._getQueries(t.index,t),r.push({state:t,queriesCount:i.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var n=this.derivedHelpers.map((function(e){var i=e.getModifiedState(t),n=i.index?f._getQueries(i.index,i):[];return r.push({state:i,queriesCount:n.length,helper:e}),e.emit("search",{state:i,results:e.lastResults}),n})),s=Array.prototype.concat.apply(i,n),a=this._queryId++;if(this._currentNbQueries++,!s.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,a));try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,r,a)).catch(this._dispatchAlgoliaError.bind(this,a))}catch(c){this.emit("error",{error:c})}},v.prototype._runComposition=function(){var e=this.state,t=[],r=this.derivedHelpers.map((function(r){var i=r.getModifiedState(e),n=f._getCompositionQueries(i);return t.push({state:i,queriesCount:n.length,helper:r}),r.emit("search",{state:i,results:r.lastResults}),n})),i=Array.prototype.concat.apply([],r),n=this._queryId++;if(this._currentNbQueries++,!i.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,t,n));if(i.length>1)throw new Error("Only one query is allowed when using a composition.");var s=i[0];try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,t,n)).catch(this._dispatchAlgoliaError.bind(this,n))}catch(a){this.emit("error",{error:a})}},v.prototype._recommend=function(){var e=this.state,t=this.recommendState,r=this.getIndex(),i=[{state:t,index:r,helper:this}],n=t.params.map((function(e){return e.$$id}));this.emit("fetch",{recommend:{state:t,results:this.lastRecommendResults}});var s=this._recommendCache,a=this.derivedHelpers.map((function(t){var r=t.getModifiedState(e).index;if(!r)return[];var a=t.getModifiedRecommendState(new h);return i.push({state:a,index:r,helper:t}),n=Array.prototype.concat.apply(n,a.params.map((function(e){return e.$$id}))),t.emit("fetch",{recommend:{state:a,results:t.lastRecommendResults}}),a._buildQueries(r,s)})),c=Array.prototype.concat.apply(this.recommendState._buildQueries(r,s),a);if(0!==c.length)if(c.length>0&&void 0===this.client.getRecommendations)console.warn("Please update algoliasearch/lite to the latest version in order to use recommend widgets.");else{var o=this._recommendQueryId++;this._currentNbRecommendQueries++;try{this.client.getRecommendations(c).then(this._dispatchRecommendResponse.bind(this,o,i,n)).catch(this._dispatchRecommendError.bind(this,o))}catch(u){this.emit("error",{error:u})}}},v.prototype._dispatchAlgoliaResponse=function(e,t,r){var i=this;if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit("searchQueueEmpty");var n=r.results.slice(),s=Object.keys(r).reduce((function(e,t){return"results"!==t&&(e[t]=r[t]),e}),{});Object.keys(s).length<=0&&(s=void 0),e.forEach((function(e){var t=e.state,r=e.queriesCount,a=e.helper,c=n.splice(0,r);t.index?(a.lastResults=new d(t,c,i._searchResultsOptions),void 0!==s&&(a.lastResults._rawContent=s),a.emit("result",{results:a.lastResults,state:t})):a.emit("result",{results:null,state:t})}))}},v.prototype._dispatchRecommendResponse=function(e,t,r,i){if(!(e<this._lastRecommendQueryIdReceived)){this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty");var n=this._recommendCache,s={};r.filter((function(e){return void 0===n[e]})).forEach((function(e,t){s[e]||(s[e]=[]),s[e].push(t)})),Object.keys(s).forEach((function(e){var t=s[e],r=i.results[t[0]];1!==t.length?n[e]=Object.assign({},r,{hits:p(t.map((function(e){return i.results[e].hits})))}):n[e]=r}));var a={};r.forEach((function(e){a[e]=n[e]})),t.forEach((function(e){var t=e.state,r=e.helper;e.index?(r.lastRecommendResults=new l(t,a),r.emit("recommend:result",{recommend:{results:r.lastRecommendResults,state:t}})):r.emit("recommend:result",{results:null,state:t})}))}},v.prototype._dispatchAlgoliaError=function(e,t){e<this._lastQueryIdReceived||(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbQueries&&this.emit("searchQueueEmpty"))},v.prototype._dispatchRecommendError=function(e,t){e<this._lastRecommendQueryIdReceived||(this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty"))},v.prototype.containsRefinement=function(e,t,r,i){return e||0!==t.length||0!==r.length||0!==i.length},v.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&this.state.disjunctiveRefinements[e].length>0},v.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},v.prototype._recommendChange=function(e){var t=e.state;t!==this.recommendState&&(this.recommendState=t,this.emit("recommend:change",{search:{results:this.lastResults,state:this.state},recommend:{results:this.lastRecommendResults,state:this.recommendState}}))},v.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},v.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+g+")"),this.client=e),this},v.prototype.getClient=function(){return this.client},v.prototype.derive=function(e,t){var r=new n(this,e,t);return this.derivedHelpers.push(r),r},v.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},v.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=v},1481:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},4394:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])})),e}),{})}},4569:e=>{"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},2861:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]}},7209:e=>{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r<e.length;r++)if(t(e[r]))return r;return-1}},9869:e=>{e.exports=function(e){return e.reduce((function(e,t){return e.concat(t)}),[])}},221:(e,t,r)=>{"use strict";var i=r(2861);e.exports=function(e,t){var r=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var n=t.split(":"),s=i(r,(function(e){return e[0]===n[0]}));return n.length>1||!s?(e[0].push(n[0]),e[1].push(n[1]),e):(e[0].push(s[0]),e[1].push(s[1]),e)}),[[],[]])}},786:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},2327:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,i){return t.indexOf(r)>-1&&e.indexOf(r)===i}))}},4612:e=>{"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function r(e,i){if(e===i)return e;for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)&&"__proto__"!==n&&"constructor"!==n){var s=i[n],a=e[n];void 0!==a&&void 0===s||(t(a)&&t(s)?e[n]=r(a,s):e[n]="object"==typeof(c=s)&&null!==c?r(Array.isArray(c)?[]:{},c):c)}var c;return e}e.exports=function(e){t(e)||(e={});for(var i=1,n=arguments.length;i<n;i++){var s=arguments[i];t(s)&&r(e,s)}return e}},2907:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){var i="number"==typeof e[r]?e[r]:0,n=t[r];void 0!==n&&n>=i&&(void 0!==e[r]&&delete e[r],e[r]=n)})),e}),{})}},4745:e=>{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},9107:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,i,n={},s=Object.keys(e);for(i=0;i<s.length;i++)r=s[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}},5053:e=>{"use strict";function t(e,t){if(e!==t){var r=void 0!==e,i=null===e,n=void 0!==t,s=null===t;if(!s&&e>t||i&&n||!r)return 1;if(!i&&e<t||s&&r||!n)return-1}return 0}e.exports=function(e,r,i){if(!Array.isArray(e))return[];Array.isArray(i)||(i=[]);var n=e.map((function(e,t){return{criteria:r.map((function(t){return e[t]})),index:t,value:e}}));return n.sort((function(e,r){for(var n=-1;++n<e.criteria.length;){var s=t(e.criteria[n],r.criteria[n]);if(s)return n>=i.length?s:"desc"===i[n]?-s:s}return e.index-r.index})),n.map((function(e){return e.value}))}},623:e=>{"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},2184:(e,t,r)=>{"use strict";var i=r(4612);function n(e){return Object.keys(e).sort().reduce((function(t,r){return t[r]=e[r],t}),{})}var s={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:s._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach((function(i){r.push({indexName:e,params:s._getDisjunctiveFacetSearchParams(t,i)})})),t.getRefinedHierarchicalFacets().forEach((function(i){var n=t.getHierarchicalFacetByName(i),a=t.getHierarchicalRefinement(i),c=t._getHierarchicalFacetSeparator(n);if(a.length>0&&a[0].split(c).length>1){var o=a[0].split(c).slice(0,-1).reduce((function(e,t,r){return e.concat({attribute:n.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})}),[]);o.forEach((function(i,a){var c=s._getDisjunctiveFacetSearchParams(t,i.attribute,0===a);function u(e){return n.attributes.some((function(t){return t===e.split(":")[0]}))}var h=(c.facetFilters||[]).reduce((function(e,t){if(Array.isArray(t)){var r=t.filter((function(e){return!u(e)}));r.length>0&&e.push(r)}return"string"!=typeof t||u(t)||e.push(t),e}),[]),l=o[a-1];a>0?c.facetFilters=h.concat(l.attribute+":"+l.value):h.length>0?c.facetFilters=h:delete c.facetFilters,r.push({indexName:e,params:c})}))}})),r},_getCompositionQueries:function(e){return[{compositionID:e.index,requestBody:{params:s._getCompositionHitsSearchParams(e)}}]},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),o={};return t.length>0&&(o.facets=t.indexOf("*")>-1?["*"]:t),c.length>0&&(o.tagFilters=c),r.length>0&&(o.facetFilters=r),a.length>0&&(o.numericFilters=a),n(i({},e.getQueryParams(),o))},_getCompositionHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets.map((function(e){return"disjunctive("+e+")"}))).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),o={};t.length>0&&(o.facets=t.indexOf("*")>-1?["*"]:t),c.length>0&&(o.tagFilters=c),r.length>0&&(o.facetFilters=r),a.length>0&&(o.numericFilters=a);var u=e.getQueryParams();return delete u.highlightPreTag,delete u.highlightPostTag,delete u.index,n(i({},u,o))},_getDisjunctiveFacetSearchParams:function(e,t,r){var a=s._getFacetFilters(e,t,r),c=s._getNumericFilters(e,t),o=s._getTagFilters(e),u={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};o.length>0&&(u.tagFilters=o);var h=e.getHierarchicalFacetByName(t);return u.facets=h?s._getDisjunctiveHierarchicalFacetAttribute(e,h,r):t,c.length>0&&(u.numericFilters=c),a.length>0&&(u.facetFilters=a),n(i({},e.getQueryParams(),u))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach((function(i){var n=e.numericRefinements[i]||{};Object.keys(n).forEach((function(e){var s=n[e]||[];t!==i&&s.forEach((function(t){if(Array.isArray(t)){var n=t.map((function(t){return i+e+t}));r.push(n)}else r.push(i+e+t)}))}))})),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var i=[],n=e.facetsRefinements||{};Object.keys(n).sort().forEach((function(e){(n[e]||[]).slice().sort().forEach((function(t){i.push(e+":"+t)}))}));var s=e.facetsExcludes||{};Object.keys(s).sort().forEach((function(e){(s[e]||[]).sort().forEach((function(t){i.push(e+":-"+t)}))}));var a=e.disjunctiveFacetsRefinements||{};Object.keys(a).sort().forEach((function(e){var r=a[e]||[];if(e!==t&&r&&0!==r.length){var n=[];r.slice().sort().forEach((function(t){n.push(e+":"+t)})),i.push(n)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach((function(n){var s=(c[n]||[])[0];if(void 0!==s){var a,o,u=e.getHierarchicalFacetByName(n),h=e._getHierarchicalFacetSeparator(u),l=e._getHierarchicalRootPath(u);if(t===n){if(-1===s.indexOf(h)||!l&&!0===r||l&&l.split(h).length===s.split(h).length)return;l?(o=l.split(h).length-1,s=l):(o=s.split(h).length-2,s=s.slice(0,s.lastIndexOf(h))),a=u.attributes[o]}else o=s.split(h).length-1,a=u.attributes[o];a&&i.push([a+":"+s])}})),i},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,r){var i=e.getHierarchicalRefinement(r.name)[0];if(!i)return t.push(r.attributes[0]),t;var n=e._getHierarchicalFacetSeparator(r),s=i.split(n).length,a=r.attributes.slice(0,s+1);return t.concat(a)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var i=e._getHierarchicalFacetSeparator(t);if(!0===r){var n=e._getHierarchicalRootPath(t),s=0;return n&&(s=n.split(i).length),[t.attributes[s]]}var a=(e.getHierarchicalRefinement(t.name)[0]||"").split(i).length-1;return t.attributes.slice(0,a+1)},getSearchForFacetQuery:function(e,t,r,a){var c=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,o={facetQuery:t,facetName:e};return"number"==typeof r&&(o.maxFacetHits=r),n(i({},s._getHitsSearchParams(c),o))}};e.exports=s},5156:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},9017:(e,t,r)=>{"use strict";var i=r(2861),n=r(9869);e.exports=function(e){var t={};return e.forEach((function(e){e.forEach((function(e,r){t[e.objectID]?t[e.objectID]={indexSum:t[e.objectID].indexSum+r,count:t[e.objectID].count+1}:t[e.objectID]={indexSum:r,count:1}}))})),function(e,t){var r=[];return Object.keys(e).forEach((function(i){e[i].count<2&&(e[i].indexSum+=100),r.push({objectID:i,avgOfIndices:e[i].indexSum/t})})),r.sort((function(e,t){return e.avgOfIndices>t.avgOfIndices?1:-1}))}(t,e.length).reduce((function(t,r){var s=i(n(e),(function(e){return e.objectID===r.objectID}));return s?t.concat(s):t}),[])}},4222:e=>{"use strict";e.exports="3.24.1"},2966:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>K});var i=r(3696);function n(e){var t,r,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(r=n(e[t]))&&(i&&(i+=" "),i+=r)}else for(r in e)e[r]&&(i&&(i+=" "),i+=r);return i}const s=function(){for(var e,t,r=0,i="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=n(e))&&(i&&(i+=" "),i+=t);return i};var a=r(3003),c=r.n(a);function o(e){let t;const r=`algolia-client-js-${e.key}`;function i(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function n(){return JSON.parse(i().getItem(r)||"{}")}function s(e){i().setItem(r,JSON.stringify(e))}return{get:(t,r,i={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const t=e.timeToLive?1e3*e.timeToLive:null,r=n(),i=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(s(i),!t)return;s(Object.fromEntries(Object.entries(i).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)}))))}(),n()[JSON.stringify(t)]))).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||i.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve().then((()=>{const s=n();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},i().setItem(r,JSON.stringify(s)),t})),delete:e=>Promise.resolve().then((()=>{const t=n();delete t[JSON.stringify(e)],i().setItem(r,JSON.stringify(t))})),clear:()=>Promise.resolve().then((()=>{i().removeItem(r)}))}}function u(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,i,n={miss:()=>Promise.resolve()})=>r.get(e,i,n).catch((()=>u({caches:t}).get(e,i,n))),set:(e,i)=>r.set(e,i).catch((()=>u({caches:t}).set(e,i))),delete:e=>r.delete(e).catch((()=>u({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>u({caches:t}).clear()))}}function h(e={serializable:!0}){let t={};return{get(r,i,n={miss:()=>Promise.resolve()}){const s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);const a=i();return a.then((e=>n.miss(e))).then((()=>a))},set:(r,i)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(i):i,Promise.resolve(i)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function l({algoliaAgents:e,client:t,version:r}){const i=function(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}(r).add({segment:t,version:r});return e.forEach((e=>i.add(e))),i}var f=12e4;function m(e,t="up"){const r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>f},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=f}}}var d=class extends Error{name="AlgoliaError";constructor(e,t){super(e),t&&(this.name=t)}},p=class extends d{stackTrace;constructor(e,t,r){super(e,r),this.stackTrace=t}},g=class extends p{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",e,"RetryError")}},v=class extends p{status;constructor(e,t,r,i="ApiError"){super(e,r,i),this.status=t}},y=class extends d{response;constructor(e,t){super(e,"DeserializationError"),this.response=t}},R=class extends v{error;constructor(e,t,r,i){super(e,t,i,"DetailedApiError"),this.error=r}};function F(e,t,r){const i=(n=r,Object.keys(n).filter((e=>void 0!==n[e])).sort().map((e=>`${e}=${encodeURIComponent("[object Array]"===Object.prototype.toString.call(n[e])?n[e].join(","):n[e]).replace(/\+/g,"%20")}`)).join("&"));var n;let s=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return i.length&&(s+=`?${i}`),s}function _(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function b({hosts:e,hostsCache:t,baseHeaders:r,logger:i,baseQueryParameters:n,algoliaAgent:s,timeouts:a,requester:c,requestsCache:o,responsesCache:u}){async function h(o,u,h=!0){const l=[],f=function(e,t){if("GET"===e.method||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(o,u),d=function(e,t,r){const i={Accept:"application/json",...e,...t,...r},n={};return Object.keys(i).forEach((e=>{const t=i[e];n[e.toLowerCase()]=t})),n}(r,o.headers,u.headers),p="GET"===o.method?{...o.data,...u.data}:{},b={...n,...o.queryParameters,...p};if(s.value&&(b["x-algolia-agent"]=s.value),u&&u.queryParameters)for(const e of Object.keys(u.queryParameters))u.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(u.queryParameters[e])?b[e]=u.queryParameters[e].toString():b[e]=u.queryParameters[e];let P=0;const j=async(e,r)=>{const n=e.pop();if(void 0===n)throw new g(function(e){return e.map((e=>_(e)))}(l));const s={...a,...u.timeouts},p={data:f,headers:d,method:o.method,url:F(n,o.path,b),connectTimeout:r(P,s.connect),responseTimeout:r(P,h?s.read:s.write)},x=t=>{const r={request:p,response:t,host:n,triesLeft:e.length};return l.push(r),r},E=await c.send(p);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&!~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(E)){const s=x(E);return E.isTimedOut&&P++,i.info("Retryable failure",_(s)),await t.set(n,m(n,E.isTimedOut?"timed out":"down")),j(e,r)}if(function({status:e}){return 2==~~(e/100)}(E))return function(e){try{return JSON.parse(e.content)}catch(t){throw new y(t.message,e)}}(E);throw x(E),function({content:e,status:t},r){try{const i=JSON.parse(e);return"error"in i?new R(i.message,t,i.error,r):new v(i.message,t,r)}catch{}return new v(e,t,r)}(E,l)},x=e.filter((e=>"readWrite"===e.accept||(h?"read"===e.accept:"write"===e.accept))),E=await async function(e){const r=await Promise.all(e.map((e=>t.get(e,(()=>Promise.resolve(m(e))))))),i=r.filter((e=>e.isUp())),n=r.filter((e=>e.isTimedOut())),s=[...i,...n];return{hosts:s.length>0?s:e,getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t}}(x);return j([...E.hosts].reverse(),E.getTimeout)}return{hostsCache:t,requester:c,timeouts:a,logger:i,algoliaAgent:s,baseHeaders:r,baseQueryParameters:n,hosts:e,request:function(e,t={}){const i=e.useReadTransporter||"GET"===e.method;if(!i)return h(e,t,i);const s=()=>h(e,t);if(!0!==(t.cacheable||e.cacheable))return s();const a={request:e,requestOptions:t,transporter:{queryParameters:n,headers:r}};return u.get(a,(()=>o.get(a,(()=>o.set(a,s()).then((e=>Promise.all([o.delete(a),e])),(e=>Promise.all([o.delete(a),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>u.set(a,e)})},requestsCache:o,responsesCache:u}}var P="5.20.0";function j(e){return[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){const t=e;for(let r=e.length-1;r>0;r--){const i=Math.floor(Math.random()*(r+1)),n=e[r];t[r]=e[i],t[i]=n}return t}([{url:`${e}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-3.algolianet.com`,accept:"readWrite",protocol:"https"}]))}function x(e,t,r){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");return function({appId:e,apiKey:t,authMode:r,algoliaAgents:i,...n}){const s=function(e,t,r="WithinHeaders"){const i={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?i:{},queryParameters:()=>"WithinQueryParameters"===r?i:{}}}(e,t,r),a=b({hosts:j(e),...n,algoliaAgent:l({algoliaAgents:i,client:"Lite",version:P}),baseHeaders:{"content-type":"text/plain",...s.headers(),...n.baseHeaders},baseQueryParameters:{...s.queryParameters(),...n.baseQueryParameters}});return{transporter:a,appId:e,apiKey:t,clearCache:()=>Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((()=>{})),get _ua(){return a.algoliaAgent.value},addAlgoliaAgent(e,t){a.algoliaAgent.add({segment:e,version:t})},setClientApiKey({apiKey:e}){r&&"WithinHeaders"!==r?a.baseQueryParameters["x-algolia-api-key"]=e:a.baseHeaders["x-algolia-api-key"]=e},searchForHits(e,t){return this.search(e,t)},searchForFacets(e,t){return this.search(e,t)},customPost({path:e,parameters:t,body:r},i){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return a.request(n,i)},getRecommendations(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");const r={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return a.request(r,t)},search(e,t){if(e&&Array.isArray(e)){const t={requests:e.map((({params:e,...t})=>"facet"===t.type?{...t,...e,type:"facet"}:{...t,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0}))};e=t}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");const r={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return a.request(r,t)}}}({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:(e,t)=>Promise.resolve(),info:(e,t)=>Promise.resolve(),error:(e,t)=>Promise.resolve()},requester:{send:function(e){return new Promise((t=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));let i,n=(e,i)=>setTimeout((()=>{r.abort(),t({status:0,content:i,isTimedOut:!0})}),e),s=n(e.connectTimeout,"Connection timeout");r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===i&&(clearTimeout(s),i=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(s),clearTimeout(i),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(s),clearTimeout(i),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:h(),requestsCache:h({serializable:!1}),hostsCache:u({caches:[o({key:`${P}-${e}`}),h()]}),...r})}var E=r(9006),w=r(7943),O=r(9985),A=r(9294),S=r(4669);const H=["zero","one","two","few","many","other"];function Q(e){return H.filter((t=>e.includes(t)))}const T={locale:"en",pluralForms:Q(["one","other"]),select:e=>1===e?"one":"other"};function N(){const{i18n:{currentLocale:e}}=(0,S.A)();return(0,i.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:Q(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),T}}),[e])}function C(){const e=N();return{selectMessage:(t,r)=>function(e,t,r){const i=e.split("|");if(1===i.length)return i[0];i.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${i.length}: ${e}`);const n=r.select(t),s=r.pluralForms.indexOf(n);return i[Math.min(s,i.length-1)]}(r,t,e)}}var I=r(4280),D=r(8225),k=r(2952),q=r(124),V=r(7963),L=r(4683),$=r(3623),B=r(8730),M=r(1282);const z={searchQueryInput:"searchQueryInput_RVvj",searchVersionInput:"searchVersionInput_QmSs",searchResultsColumn:"searchResultsColumn_Vh0c",algoliaLogo:"algoliaLogo_yiAH",algoliaLogoPathFill:"algoliaLogoPathFill_tzCx",searchResultItem:"searchResultItem_q31K",searchResultItemHeading:"searchResultItemHeading_Iq68",searchResultItemPath:"searchResultItemPath_pr04",searchResultItemSummary:"searchResultItemSummary_fqhL",searchQueryColumn:"searchQueryColumn_YWTO",searchVersionColumn:"searchVersionColumn_pdNL",searchLogoColumn:"searchLogoColumn_ugtA",loadingSpinner:"loadingSpinner_hU64","loading-spin":"loading-spin_xBR4",loader:"loader_DZsO"};var J=r(2540);function W(e){let{docsSearchVersionsHelpers:t}=e;const r=Object.entries(t.allDocsData).filter((e=>{let[,t]=e;return t.versions.length>1}));return(0,J.jsx)("div",{className:s("col","col--3","padding-left--none",z.searchVersionColumn),children:r.map((e=>{let[i,n]=e;const s=r.length>1?`${i}: `:"";return(0,J.jsx)("select",{onChange:e=>t.setSearchVersion(i,e.target.value),defaultValue:t.searchVersions[i],className:z.searchVersionInput,children:n.versions.map(((e,t)=>(0,J.jsx)("option",{label:`${s}${e.label}`,value:e.name},t)))},i)}))})}function U(){const{i18n:{currentLocale:e}}=(0,S.A)(),{algolia:{appId:t,apiKey:r,indexName:n,contextualSearch:a}}=(0,L.c)(),o=(0,$.C)(),u=function(){const{selectMessage:e}=C();return t=>e(t,(0,V.T)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One document found|{count} documents found"},{count:t}))}(),h=function(){const e=(0,A.Gy)(),[t,r]=(0,i.useState)((()=>Object.entries(e).reduce(((e,t)=>{let[r,i]=t;return{...e,[r]:i.versions[0].name}}),{}))),n=Object.values(e).some((e=>e.versions.length>1));return{allDocsData:e,versioningEnabled:n,searchVersions:t,setSearchVersion:(e,t)=>r((r=>({...r,[e]:t})))}}(),[l,f]=(0,I.b)(),m={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[d,p]=(0,i.useReducer)(((e,t)=>{switch(t.type){case"reset":return m;case"loading":return{...e,loading:!0};case"update":return l!==t.value.query?e:{...t.value,items:0===t.value.lastPage?t.value.items:e.items.concat(t.value.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),m),g=a?["language","docusaurus_tag"]:[],v=x(t,r),y=c()(v,n,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:g});y.on("result",(e=>{let{results:{query:t,hits:r,page:i,nbHits:n,nbPages:s}}=e;if(""===t||!Array.isArray(r))return void p({type:"reset"});const a=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),c=r.map((e=>{let{url:t,_highlightResult:{hierarchy:r},_snippetResult:i={}}=e;const n=Object.keys(r).map((e=>a(r[e].value)));return{title:n.pop(),url:o(t),summary:i.content?`${a(i.content.value)}...`:"",breadcrumbs:n}}));p({type:"update",value:{items:c,query:t,totalResults:n,totalPages:s,lastPage:i,hasMore:s>i+1,loading:!1}})}));const[R,F]=(0,i.useState)(null),_=(0,i.useRef)(0),b=(0,i.useRef)(E.A.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&_.current>r&&p({type:"advance"}),_.current=r}),{threshold:1})),P=()=>l?(0,V.T)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:l}):(0,V.T)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),j=(0,D._q)((function(t){void 0===t&&(t=0),a&&(y.addDisjunctiveFacetRefinement("docusaurus_tag","default"),y.addDisjunctiveFacetRefinement("language",e),Object.entries(h.searchVersions).forEach((e=>{let[t,r]=e;y.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${t}-${r}`)}))),y.setQuery(l).setPage(t).search()}));return(0,i.useEffect)((()=>{if(!R)return;const e=b.current;return e?(e.observe(R),()=>e.unobserve(R)):()=>!0}),[R]),(0,i.useEffect)((()=>{p({type:"reset"}),l&&(p({type:"loading"}),setTimeout((()=>{j()}),300))}),[l,h.searchVersions,j]),(0,i.useEffect)((()=>{d.lastPage&&0!==d.lastPage&&j(d.lastPage)}),[j,d.lastPage]),(0,J.jsxs)(B.A,{children:[(0,J.jsxs)(w.A,{children:[(0,J.jsx)("title",{children:(0,q.s)(P())}),(0,J.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,J.jsxs)("div",{className:"container margin-vert--lg",children:[(0,J.jsx)(M.A,{as:"h1",children:P()}),(0,J.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,J.jsx)("div",{className:s("col",z.searchQueryColumn,{"col--9":h.versioningEnabled,"col--12":!h.versioningEnabled}),children:(0,J.jsx)("input",{type:"search",name:"q",className:z.searchQueryInput,placeholder:(0,V.T)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,V.T)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>f(e.target.value),value:l,autoComplete:"off",autoFocus:!0})}),a&&h.versioningEnabled&&(0,J.jsx)(W,{docsSearchVersionsHelpers:h})]}),(0,J.jsxs)("div",{className:"row",children:[(0,J.jsx)("div",{className:s("col","col--8",z.searchResultsColumn),children:!!d.totalResults&&u(d.totalResults)}),(0,J.jsx)("div",{className:s("col","col--4","text--right",z.searchLogoColumn),children:(0,J.jsx)(O.A,{to:"https://www.algolia.com/","aria-label":(0,V.T)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,J.jsx)("svg",{viewBox:"0 0 168 24",className:z.algoliaLogo,children:(0,J.jsxs)("g",{fill:"none",children:[(0,J.jsx)("path",{className:z.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),(0,J.jsx)("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),(0,J.jsx)("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})]})})})})]}),d.items.length>0?(0,J.jsx)("main",{children:d.items.map(((e,t)=>{let{title:r,url:i,summary:n,breadcrumbs:a}=e;return(0,J.jsxs)("article",{className:z.searchResultItem,children:[(0,J.jsx)(M.A,{as:"h2",className:z.searchResultItemHeading,children:(0,J.jsx)(O.A,{to:i,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,J.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,J.jsx)("ul",{className:s("breadcrumbs",z.searchResultItemPath),children:a.map(((e,t)=>(0,J.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},t)))})}),n&&(0,J.jsx)("p",{className:z.searchResultItemSummary,dangerouslySetInnerHTML:{__html:n}})]},t)}))}):[l&&!d.loading&&(0,J.jsx)("p",{children:(0,J.jsx)(V.A,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!d.loading&&(0,J.jsx)("div",{className:z.loadingSpinner},"spinner")],d.hasMore&&(0,J.jsx)("div",{className:z.loader,ref:F,children:(0,J.jsx)(V.A,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function K(){return(0,J.jsx)(k.e3,{className:"search-page-wrapper",children:(0,J.jsx)(U,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1ae6f9c3.6565ae73.js b/assets/js/1ae6f9c3.6565ae73.js deleted file mode 100644 index 71aea90cc..000000000 --- a/assets/js/1ae6f9c3.6565ae73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2125],{5680:(e,r,a)=>{a.d(r,{xA:()=>o,yg:()=>c});var t=a(6540);function n(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function i(e,r){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),a.push.apply(a,t)}return a}function p(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{};r%2?i(Object(a),!0).forEach((function(r){n(e,r,a[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))}))}return e}function d(e,r){if(null==e)return{};var a,t,n=function(e,r){if(null==e)return{};var a,t,n={},i=Object.keys(e);for(t=0;t<i.length;t++)a=i[t],r.indexOf(a)>=0||(n[a]=e[a]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)a=i[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=t.createContext({}),g=function(e){var r=t.useContext(l),a=r;return e&&(a="function"==typeof e?e(r):p(p({},r),e)),a},o=function(e){var r=g(e.components);return t.createElement(l.Provider,{value:r},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},y=t.forwardRef((function(e,r){var a=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,o=d(e,["components","mdxType","originalType","parentName"]),s=g(a),y=n,c=s["".concat(l,".").concat(y)]||s[y]||m[y]||i;return a?t.createElement(c,p(p({ref:r},o),{},{components:a})):t.createElement(c,p({ref:r},o))}));function c(e,r){var a=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=a.length,p=new Array(i);p[0]=y;var d={};for(var l in r)hasOwnProperty.call(r,l)&&(d[l]=r[l]);d.originalType=e,d[s]="string"==typeof e?e:n,p[1]=d;for(var g=2;g<i;g++)p[g]=a[g];return t.createElement.apply(null,p)}return t.createElement.apply(null,a)}y.displayName="MDXCreateElement"},324:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>l,contentTitle:()=>p,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>g});var t=a(8102),n=(a(6540),a(5680));const i={id:"ima_react_page_renderer.ServerPageRenderer",title:"Class: ServerPageRenderer",sidebar_label:"@ima/react-page-renderer.ServerPageRenderer",custom_edit_url:null},p=void 0,d={unversionedId:"api/classes/ima_react_page_renderer.ServerPageRenderer",id:"api/classes/ima_react_page_renderer.ServerPageRenderer",title:"Class: ServerPageRenderer",description:"@ima/react-page-renderer.ServerPageRenderer",source:"@site/../docs/api/classes/ima_react_page_renderer.ServerPageRenderer.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.ServerPageRenderer",permalink:"/api/classes/ima_react_page_renderer.ServerPageRenderer",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.ServerPageRenderer",title:"Class: ServerPageRenderer",sidebar_label:"@ima/react-page-renderer.ServerPageRenderer",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.PageRendererFactory",permalink:"/api/classes/ima_react_page_renderer.PageRendererFactory"},next:{title:"@ima/react-page-renderer.ViewAdapter",permalink:"/api/classes/ima_react_page_renderer.ViewAdapter"}},l={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_factory",id:"_factory",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"_helpers",id:"_helpers",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_settings",id:"_settings",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_viewAdapter",id:"_viewadapter",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_viewAdapterProps",id:"_viewadapterprops",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"Methods",id:"methods",level:2},{value:"_generateViewAdapterProps",id:"_generateviewadapterprops",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_getDocumentView",id:"_getdocumentview",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_getViewAdapterElement",id:"_getviewadapterelement",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_prepareViewAdapter",id:"_prepareviewadapter",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"mount",id:"mount",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"setState",id:"setstate",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"unmount",id:"unmount",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"update",id:"update",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-14",level:4}],o={toc:g},s="wrapper";function m(e){let{components:r,...a}=e;return(0,n.yg)(s,(0,t.A)({},o,a,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".ServerPageRenderer"),(0,n.yg)("p",null,"Server-side page renderer. The renderer renders the page into the HTML\nmarkup and sends it to the client."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("inlineCode",{parentName:"p"},"AbstractPageRenderer")),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"ServerPageRenderer"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new ServerPageRenderer"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"factory"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"helpers"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"dispatcher"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings"),")"),(0,n.yg)("p",null,"Initializes the server-side page renderer."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"factory")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.PageRendererFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"PageRendererFactory"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Factory for receive $Utils to view.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"helpers")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"__module")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The IMA.js helper methods.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Dispatcher fires events to app.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,n.yg)("inlineCode",{parentName:"a"},"Settings"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Application setting for the current application environment.")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,"AbstractPageRenderer.constructor"),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L34"},"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:34")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","dispatcher"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L37"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:37")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_factory"},"_","factory"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","factory"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.PageRendererFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"PageRendererFactory"))),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","factory"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L38"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:38")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_helpers"},"_","helpers"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","helpers"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"__module")),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","helpers"),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L39"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:39")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_settings"},"_","settings"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","settings"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Settings"},(0,n.yg)("inlineCode",{parentName:"a"},"Settings"))),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","settings"),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L40"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:40")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_viewadapter"},"_","viewAdapter"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"_","viewAdapter"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","viewAdapter"),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L41"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:41")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_viewadapterprops"},"_","viewAdapterProps"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","viewAdapterProps"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," = ",(0,n.yg)("inlineCode",{parentName:"p"},"{}")),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","viewAdapterProps"),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L42"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:42")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_generateviewadapterprops"},"_","generateViewAdapterProps"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_generateViewAdapterProps"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"managedRootView"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pageView"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"state?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,n.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps"))),(0,n.yg)("p",null,"Generate properties for view from state."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"managedRootView")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ComponentType"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageView")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ComponentType"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"state")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,n.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps"))),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","generateViewAdapterProps"),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L128"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:128")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getdocumentview"},"_","getDocumentView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_getDocumentView"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeOptions"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("p",null,"Returns the class constructor of the specified document view component."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeOptions")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("p",null,"The constructor of the document view component."),(0,n.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","getDocumentView"),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L176"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:176")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getviewadapterelement"},"_","getViewAdapterElement"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getViewAdapterElement"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"props?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"ReactElement"),"\\<{}, ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"JSXElementConstructor"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"props")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object"))))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"ReactElement"),"\\<{}, ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"JSXElementConstructor"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","getViewAdapterElement"),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L115"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:115")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_prepareviewadapter"},"_","prepareViewAdapter"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_prepareViewAdapter"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pageView"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"routeOptions"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Returns wrapped page view component with managed root view and view adapter."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<{}, {}, {}",">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageView")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ComponentType")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeOptions")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,n.yg)("p",null,"AbstractPageRenderer.","_","prepareViewAdapter"),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L148"},"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:148")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"mount"},"mount"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"mount"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pageView"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pageResources"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"routeOptions"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"PageData"),">"),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator"},(0,n.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageView")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ComponentType"),"\\<{}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageResources")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownpromiseparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownPromiseParameters")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeOptions")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")))))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"PageData"),">"),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,"AbstractPageRenderer.mount"),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L46"},"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:46")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setstate"},"setState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setState"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,"AbstractPageRenderer.setState"),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L72"},"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:72")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unmount"},"unmount"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unmount"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,"AbstractPageRenderer.unmount"),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L88"},"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:88")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"update"},"update"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"update"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"never"),">"),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"never"),">"),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,"AbstractPageRenderer.update"),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L79"},"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:79")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1ae9d490.fb29f575.js b/assets/js/1ae9d490.fb29f575.js deleted file mode 100644 index 3c9503ab9..000000000 --- a/assets/js/1ae9d490.fb29f575.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[732],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>u});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),d=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),s=d(a),y=n,u=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return a?r.createElement(u,l(l({ref:t},g),{},{components:a})):r.createElement(u,l({ref:t},g))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=y;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:n,l[1]=o;for(var d=2;d<i;d++)l[d]=a[d];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}y.displayName="MDXCreateElement"},7499:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.ClientRouter",title:"Class: ClientRouter",sidebar_label:"@ima/core.ClientRouter",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.ClientRouter",id:"api/classes/ima_core.ClientRouter",title:"Class: ClientRouter",description:"@ima/core.ClientRouter",source:"@site/../docs/api/classes/ima_core.ClientRouter.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ClientRouter",permalink:"/api/classes/ima_core.ClientRouter",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ClientRouter",title:"Class: ClientRouter",sidebar_label:"@ima/core.ClientRouter",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ClientPageManager",permalink:"/api/classes/ima_core.ClientPageManager"},next:{title:"@ima/core.ClientWindow",permalink:"/api/classes/ima_core.ClientWindow"}},p={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_currentMiddlewareId",id:"_currentmiddlewareid",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_currentlyRoutedPath",id:"_currentlyroutedpath",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_factory",id:"_factory",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_host",id:"_host",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_isSPARouted",id:"_issparouted",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_languagePartPath",id:"_languagepartpath",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_middlewareTimeout",id:"_middlewaretimeout",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_mountedPromise",id:"_mountedpromise",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"_pageManager",id:"_pagemanager",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_protocol",id:"_protocol",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_root",id:"_root",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_routeHandlers",id:"_routehandlers",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_window",id:"_window",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"Methods",id:"methods",level:2},{value:"#addParamsFromOriginalRoute",id:"addparamsfromoriginalroute",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"#handleMounted",id:"handlemounted",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"#isSPARouted",id:"issparouted",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"_boundHandleClick",id:"_boundhandleclick",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"_boundHandlePopState",id:"_boundhandlepopstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"_extractRoutePath",id:"_extractroutepath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"_getAnchorElement",id:"_getanchorelement",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"_getCurrentlyRoutedPath",id:"_getcurrentlyroutedpath",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"_getMiddlewaresForRoute",id:"_getmiddlewaresforroute",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"_handle",id:"_handle",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"_handleClick",id:"_handleclick",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"_handleFatalError",id:"_handlefatalerror",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"_handlePopState",id:"_handlepopstate",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"_isHashLink",id:"_ishashlink",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"_isSameDomain",id:"_issamedomain",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"_runMiddlewares",id:"_runmiddlewares",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"add",id:"add",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"getBaseUrl",id:"getbaseurl",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"getCurrentRouteInfo",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"getProtocol",id:"getprotocol",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"getRouteHandler",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"getRouteHandlers",id:"getroutehandlers",level:3},{value:"Returns",id:"returns-25",level:4},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"getRouteHandlersByPath",id:"getroutehandlersbypath",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-27",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"handleError",id:"handleerror",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-43",level:4},{value:"handleNotFound",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-29",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-44",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"Returns",id:"returns-30",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-45",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"Returns",id:"returns-31",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"Defined in",id:"defined-in-46",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"Returns",id:"returns-32",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"Defined in",id:"defined-in-47",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"Returns",id:"returns-33",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"Defined in",id:"defined-in-48",level:4},{value:"listen",id:"listen",level:3},{value:"Returns",id:"returns-34",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-49",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-24",level:4},{value:"Returns",id:"returns-35",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-50",level:4},{value:"remove",id:"remove",level:3},{value:"Parameters",id:"parameters-25",level:4},{value:"Returns",id:"returns-36",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"Defined in",id:"defined-in-51",level:4},{value:"route",id:"route",level:3},{value:"Parameters",id:"parameters-26",level:4},{value:"Returns",id:"returns-37",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-52",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Returns",id:"returns-38",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-53",level:4},{value:"use",id:"use",level:3},{value:"Parameters",id:"parameters-27",level:4},{value:"Returns",id:"returns-39",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"Defined in",id:"defined-in-54",level:4}],g={toc:d},s="wrapper";function m(e){let{components:t,...a}=e;return(0,n.yg)(s,(0,r.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ClientRouter"),(0,n.yg)("p",null,"The client-side implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router")," interface."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"ClientRouter"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new ClientRouter"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"factory"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"dispatcher"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"window"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings"),")"),(0,n.yg)("p",null,"Initializes the client-side router."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The page manager handling UI rendering, and transitions between pages if at the client side.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"factory")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.RouteFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Factory for routes.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Dispatcher fires events to app.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"window")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,n.yg)("inlineCode",{parentName:"a"},"Window"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current global client-side APIs provider.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ","{"," ",(0,n.yg)("inlineCode",{parentName:"td"},"isSPARouted?"),": (",(0,n.yg)("inlineCode",{parentName:"td"},"url"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"action?"),": ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,n.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,n.yg)("inlineCode",{parentName:"td"},"middlewareTimeout?"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," }"),(0,n.yg)("td",{parentName:"tr",align:"left"},"$Router settings.")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L79"},"packages/core/src/router/ClientRouter.ts:79")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_currentmiddlewareid"},"_","currentMiddlewareId"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","currentMiddlewareId"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"0")),(0,n.yg)("p",null,"Middleware ID counter which is used to auto-generate unique middleware\nnames when adding them to routeHandlers map."),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_currentmiddlewareid"},"_currentMiddlewareId")),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L92"},"packages/core/src/router/AbstractRouter.ts:92")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_currentlyroutedpath"},"_","currentlyRoutedPath"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","currentlyRoutedPath"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_currentlyroutedpath"},"_currentlyRoutedPath")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L93"},"packages/core/src/router/AbstractRouter.ts:93")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("p",null,"Dispatcher fires events to app."),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_dispatcher"},"_dispatcher")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L62"},"packages/core/src/router/AbstractRouter.ts:62")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_factory"},"_","factory"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","factory"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.RouteFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,n.yg)("p",null,"Factory for routes."),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_factory"},"_factory")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L58"},"packages/core/src/router/AbstractRouter.ts:58")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_host"},"_","host"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","host"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The application's host."),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_host"},"_host")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L71"},"packages/core/src/router/AbstractRouter.ts:71")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_issparouted"},"_","isSPARouted"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","isSPARouted"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," (",(0,n.yg)("inlineCode",{parentName:"p"},"url"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_issparouted"},"_isSPARouted")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L95"},"packages/core/src/router/AbstractRouter.ts:95")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_languagepartpath"},"_","languagePartPath"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","languagePartPath"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The URL path fragment used as a suffix to the ",(0,n.yg)("inlineCode",{parentName:"p"},"_root")," field\nthat specifies the current language."),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_languagepartpath"},"_languagePartPath")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L80"},"packages/core/src/router/AbstractRouter.ts:80")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_middlewaretimeout"},"_","middlewareTimeout"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","middlewareTimeout"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_middlewaretimeout"},"_middlewareTimeout")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L94"},"packages/core/src/router/AbstractRouter.ts:94")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_mountedpromise"},"_","mountedPromise"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","mountedPromise"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ","{"," ",(0,n.yg)("inlineCode",{parentName:"p"},"promise"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"," ; ",(0,n.yg)("inlineCode",{parentName:"p"},"reject"),": () => ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ; ",(0,n.yg)("inlineCode",{parentName:"p"},"resolve"),": () => ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," } = ",(0,n.yg)("inlineCode",{parentName:"p"},"null")),(0,n.yg)("p",null,"Mounted promise to prevent routing until app is fully mounted."),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L53"},"packages/core/src/router/ClientRouter.ts:53")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pagemanager"},"_","pageManager"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","pageManager"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,n.yg)("p",null,"The page manager handling UI rendering, and transitions between\npages if at the client side."),(0,n.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_pagemanager"},"_pageManager")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L54"},"packages/core/src/router/AbstractRouter.ts:54")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_protocol"},"_","protocol"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","protocol"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The current protocol used to access the application, terminated by a\ncolon (for example ",(0,n.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,n.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_protocol"},"_protocol")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L67"},"packages/core/src/router/AbstractRouter.ts:67")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_root"},"_","root"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","root"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The URL path pointing to the application's root."),(0,n.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_root"},"_root")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L75"},"packages/core/src/router/AbstractRouter.ts:75")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_routehandlers"},"_","routeHandlers"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","routeHandlers"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("p",null,"Storage of all known routes and middlewares. The key are their names."),(0,n.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_routehandlers"},"_routeHandlers")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L84"},"packages/core/src/router/AbstractRouter.ts:84")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_window"},"_","window"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","window"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,n.yg)("inlineCode",{parentName:"a"},"Window"))),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L44"},"packages/core/src/router/ClientRouter.ts:44")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L59"},"packages/core/src/router/ClientRouter.ts:59")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"addparamsfromoriginalroute"},"#addParamsFromOriginalRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#addParamsFromOriginalRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Obtains original route that was handled before not-found / error route\nand assigns its params to current params"),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Route params for not-found or error page")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Provided params merged with params\nfrom original route"),(0,n.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter##addparamsfromoriginalroute"},"#addParamsFromOriginalRoute")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L733"},"packages/core/src/router/AbstractRouter.ts:733")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handlemounted"},"#handleMounted"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#handleMounted"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L476"},"packages/core/src/router/ClientRouter.ts:476")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"issparouted"},"#isSPARouted"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#isSPARouted"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"url?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"This option allows user to override how certain URLs are handled\nduring SPA (client) routing. This adds possibility to opt-out\nof SPA routing for specific URLs and let them be handled by browser\nnatively."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"url?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"''")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if url routing should be handled by IMA."),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L472"},"packages/core/src/router/ClientRouter.ts:472")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_boundhandleclick"},"_","boundHandleClick"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_boundHandleClick"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Event"))))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L45"},"packages/core/src/router/ClientRouter.ts:45")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_boundhandlepopstate"},"_","boundHandlePopState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_boundHandlePopState"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Event"))))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L47"},"packages/core/src/router/ClientRouter.ts:47")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_extractroutepath"},"_","extractRoutePath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_extractRoutePath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Strips the URL path part that points to the application's root (base\nURL) from the provided path."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Relative or absolute URL path.")))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"URL path relative to the application's base URL."),(0,n.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_extractroutepath"},"_extractRoutePath")),(0,n.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L526"},"packages/core/src/router/AbstractRouter.ts:526")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getanchorelement"},"_","getAnchorElement"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getAnchorElement"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"target"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Node")),(0,n.yg)("p",null,"The method determines whether an anchor element or a child of an anchor\nelement has been clicked, and if it was, the method returns anchor\nelement else null."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"target")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Node"))))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Node")),(0,n.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L408"},"packages/core/src/router/ClientRouter.ts:408")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getcurrentlyroutedpath"},"_","getCurrentlyRoutedPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getCurrentlyRoutedPath"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns path that is stored in private property when a ",(0,n.yg)("inlineCode",{parentName:"p"},"route"),"\nmethod is called."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_getcurrentlyroutedpath"},"_getCurrentlyRoutedPath")),(0,n.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L664"},"packages/core/src/router/AbstractRouter.ts:664")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getmiddlewaresforroute"},"_","getMiddlewaresForRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getMiddlewaresForRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeName"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("p",null,"Returns middlewares preceding given route name."),(0,n.yg)("h4",{id:"parameters-7"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_getmiddlewaresforroute"},"_getMiddlewaresForRoute")),(0,n.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L642"},"packages/core/src/router/AbstractRouter.ts:642")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_handle"},"_","handle"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handle"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"route"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"Handles the provided route and parameters by initializing the route's\ncontroller and rendering its state via the route's view."),(0,n.yg)("p",null,"The result is then sent to the client if used at the server side, or\ndisplayed if used as the client side."),(0,n.yg)("h4",{id:"parameters-8"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route that should have its associated controller rendered via the associated view.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")))),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise that resolves when the\npage is rendered and the result is sent to the client, or\ndisplayed if used at the client side."),(0,n.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_handle"},"_handle")),(0,n.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L549"},"packages/core/src/router/AbstractRouter.ts:549")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_handleclick"},"_","handleClick"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handleClick"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Handles a click event. The method performs navigation to the target\nlocation of the anchor (if it has one)."),(0,n.yg)("p",null,"The navigation will be handled by the router if the protocol and domain\nof the anchor's target location (href) is the same as the current,\notherwise the method results in a hard redirect."),(0,n.yg)("h4",{id:"parameters-9"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"MouseEvent")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The click event.")))),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L350"},"packages/core/src/router/ClientRouter.ts:350")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_handlefatalerror"},"_","handleFatalError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handleFatalError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"error"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Handle a fatal error application state. IMA handle fatal error when IMA\nhandle error."),(0,n.yg)("h4",{id:"parameters-10"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"error")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error"))))),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L305"},"packages/core/src/router/ClientRouter.ts:305")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_handlepopstate"},"_","handlePopState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handlePopState"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Handles a popstate event. The method is performed when the active history\nentry changes."),(0,n.yg)("p",null,"The navigation will be handled by the router if the event state is defined\nand event is not ",(0,n.yg)("inlineCode",{parentName:"p"},"defaultPrevented"),"."),(0,n.yg)("h4",{id:"parameters-11"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"PopStateEvent")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The popstate event.")))),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L326"},"packages/core/src/router/ClientRouter.ts:326")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_ishashlink"},"_","isHashLink"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_isHashLink"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"targetUrl"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests whether the provided target URL contains only an update of the\nhash fragment of the current URL."),(0,n.yg)("h4",{id:"parameters-12"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"targetUrl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The target URL.")))),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the navigation to target URL would\nresult only in updating the hash fragment of the current URL."),(0,n.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L436"},"packages/core/src/router/ClientRouter.ts:436")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_issamedomain"},"_","isSameDomain"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_isSameDomain"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests whether the the protocol and domain of the provided URL are the\nsame as the current."),(0,n.yg)("h4",{id:"parameters-13"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"url?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"''")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL.")))),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the protocol and domain of the\nprovided URL are the same as the current."),(0,n.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L459"},"packages/core/src/router/ClientRouter.ts:459")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_runmiddlewares"},"_","runMiddlewares"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_runMiddlewares"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"middlewares"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Runs provided middlewares in sequence."),(0,n.yg)("h4",{id:"parameters-14"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middlewares")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Array of middlewares.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Router params that can be mutated by middlewares.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-16"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_runmiddlewares"},"_runMiddlewares")),(0,n.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L677"},"packages/core/src/router/AbstractRouter.ts:677")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"add"},"add"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"add"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"Adds a new route to router."),(0,n.yg)("h4",{id:"parameters-15"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of this route, identifying it among the rest of the routes in the application.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"A path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":parameterName"),". The name of the parameter is terminated by a forward slash (",(0,n.yg)("inlineCode",{parentName:"td"},"/"),") or the end of the path expression string. The path expression may also contain optional parameters, which are specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":?parameterName"),". It is recommended to specify the optional parameters at the end of the path expression.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name of Object Container alias identifying the controller associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name or Object Container alias identifying the view class associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Additional route options, specified how the navigation to the route will be handled. The ",(0,n.yg)("inlineCode",{parentName:"td"},"onlyUpdate")," can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a ",(0,n.yg)("inlineCode",{parentName:"td"},"boolean")," representing the value of the flag. This flag is disabled by default. The ",(0,n.yg)("inlineCode",{parentName:"td"},"autoScroll")," flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.")))),(0,n.yg)("h4",{id:"returns-17"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a route with the same name already exists."),(0,n.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#add"},"add")),(0,n.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L167"},"packages/core/src/router/AbstractRouter.ts:167")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getbaseurl"},"getBaseUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getBaseUrl"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the application's absolute base URL, pointing to the public root\nof the application."),(0,n.yg)("h4",{id:"returns-18"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The application's base URL."),(0,n.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getbaseurl"},"getBaseUrl")),(0,n.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L243"},"packages/core/src/router/AbstractRouter.ts:243")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getcurrentrouteinfo"},"getCurrentRouteInfo"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getCurrentRouteInfo"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the information about the currently active route."),(0,n.yg)("h4",{id:"returns-19"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),"\\<{}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a route is not define for current path."),(0,n.yg)("h4",{id:"inherited-from-20"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getcurrentrouteinfo"},"getCurrentRouteInfo")),(0,n.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L271"},"packages/core/src/router/AbstractRouter.ts:271")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getdomain"},"getDomain"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the application's domain in the following form\n",(0,n.yg)("inlineCode",{parentName:"p"},"${protocol}//${host}"),"."),(0,n.yg)("h4",{id:"returns-20"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application's domain."),(0,n.yg)("h4",{id:"inherited-from-21"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getdomain"},"getDomain")),(0,n.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L250"},"packages/core/src/router/AbstractRouter.ts:250")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gethost"},"getHost"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns application's host (domain and, if necessary, the port number)."),(0,n.yg)("h4",{id:"returns-21"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application's host."),(0,n.yg)("h4",{id:"inherited-from-22"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#gethost"},"getHost")),(0,n.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L257"},"packages/core/src/router/AbstractRouter.ts:257")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getpath"},"getPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current path part of the current URL, including the query\nstring (if any)."),(0,n.yg)("h4",{id:"returns-22"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The path and query parts of the current URL."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getpath"},"getPath")),(0,n.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L120"},"packages/core/src/router/ClientRouter.ts:120")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getprotocol"},"getProtocol"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getProtocol"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,n.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,n.yg)("h4",{id:"returns-23"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application protocol used to access the\napplication."),(0,n.yg)("h4",{id:"inherited-from-23"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getprotocol"},"getProtocol")),(0,n.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L264"},"packages/core/src/router/AbstractRouter.ts:264")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandler"},"getRouteHandler"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandler"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("p",null,"Returns specified handler from registered route handlers."),(0,n.yg)("h4",{id:"parameters-16"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route's unique name.")))),(0,n.yg)("h4",{id:"returns-24"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("p",null,"Route with given name or undefined."),(0,n.yg)("h4",{id:"inherited-from-24"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getroutehandler"},"getRouteHandler")),(0,n.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L220"},"packages/core/src/router/AbstractRouter.ts:220")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandlers"},"getRouteHandlers"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandlers"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("h4",{id:"returns-25"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"inherited-from-25"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getroutehandlers"},"getRouteHandlers")),(0,n.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L297"},"packages/core/src/router/AbstractRouter.ts:297")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandlersbypath"},"getRouteHandlersByPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandlersByPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the route matching the provided URL path part (the path may\ncontain a query) and all middlewares preceding this route definition."),(0,n.yg)("h4",{id:"parameters-17"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")))),(0,n.yg)("h4",{id:"returns-26"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The route\nmatching the path and middlewares preceding it or ",(0,n.yg)("inlineCode",{parentName:"p"},"{}"),"\n(empty object) if no such route exists."),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middlewares")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("h4",{id:"inherited-from-26"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getroutehandlersbypath"},"getRouteHandlersByPath")),(0,n.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L615"},"packages/core/src/router/AbstractRouter.ts:615")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"geturl"},"getUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current absolute URL (including protocol, host, query, etc)."),(0,n.yg)("h4",{id:"returns-27"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current absolute URL."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#geturl"},"getUrl")),(0,n.yg)("h4",{id:"defined-in-42"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L113"},"packages/core/src/router/ClientRouter.ts:113")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handleerror"},"handleError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"handleError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'),(0,n.yg)("h4",{id:"parameters-18"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-28"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#handleerror"},"handleError")),(0,n.yg)("h4",{id:"defined-in-43"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L233"},"packages/core/src/router/ClientRouter.ts:233")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handlenotfound"},"handleNotFound"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"handleNotFound"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'),(0,n.yg)("h4",{id:"parameters-19"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#stringparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-29"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#handlenotfound"},"handleNotFound")),(0,n.yg)("h4",{id:"defined-in-44"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L293"},"packages/core/src/router/ClientRouter.ts:293")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"Initializes the router with the provided configuration."),(0,n.yg)("h4",{id:"parameters-20"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Router configuration. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Protocol")," field must be the current protocol used to access the application, terminated by a colon (for example ",(0,n.yg)("inlineCode",{parentName:"td"},"https:"),"). The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Root")," field must specify the URL path pointing to the application's root. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$LanguagePartPath")," field must be the URL path fragment used as a suffix to the ",(0,n.yg)("inlineCode",{parentName:"td"},"$Root")," field that specifies the current language. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Host")," field must be the application's domain (and the port number if other than the default is used) in the following form: ",(0,n.yg)("inlineCode",{parentName:"td"},"${protocol}//${host}"),".")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Host")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$LanguagePartPath")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Protocol")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Root")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-30"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#init"},"init")),(0,n.yg)("h4",{id:"defined-in-45"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L97"},"packages/core/src/router/ClientRouter.ts:97")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isclienterror"},"isClientError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isClientError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."),(0,n.yg)("h4",{id:"parameters-21"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"reason")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,n.yg)("h4",{id:"returns-31"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,n.yg)("h4",{id:"inherited-from-27"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#isclienterror"},"isClientError")),(0,n.yg)("h4",{id:"defined-in-46"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L507"},"packages/core/src/router/AbstractRouter.ts:507")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isredirection"},"isRedirection"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isRedirection"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, if possible, whether the specified error lead to redirection."),(0,n.yg)("h4",{id:"parameters-22"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"reason")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,n.yg)("h4",{id:"returns-32"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nredirection."),(0,n.yg)("h4",{id:"inherited-from-28"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#isredirection"},"isRedirection")),(0,n.yg)("h4",{id:"defined-in-47"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L514"},"packages/core/src/router/AbstractRouter.ts:514")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"link"},"link"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"link"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeName"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."),(0,n.yg)("h4",{id:"parameters-23"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of the route, identifying the route to use.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.")))),(0,n.yg)("h4",{id:"returns-33"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"An absolute URL for the specified route and parameters."),(0,n.yg)("h4",{id:"inherited-from-29"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#link"},"link")),(0,n.yg)("h4",{id:"defined-in-48"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L338"},"packages/core/src/router/AbstractRouter.ts:338")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"listen"},"listen"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"listen"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,n.yg)("p",null,"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,n.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,n.yg)("p",null,"The effects of this method can be reverted with ",(0,n.yg)("inlineCode",{parentName:"p"},"unlisten"),". This\nmethod has no effect at the server side."),(0,n.yg)("h4",{id:"returns-34"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#listen"},"listen")),(0,n.yg)("h4",{id:"defined-in-49"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L127"},"packages/core/src/router/ClientRouter.ts:127")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"redirect"},"redirect"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"redirect"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Redirects the client to the specified location."),(0,n.yg)("p",null,"At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,n.yg)("inlineCode",{parentName:"p"},"Location")," header."),(0,n.yg)("p",null,"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."),(0,n.yg)("p",null,"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."),(0,n.yg)("h4",{id:"parameters-24"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"url")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL to which the client should be redirected.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-35"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#redirect"},"redirect")),(0,n.yg)("h4",{id:"defined-in-50"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L169"},"packages/core/src/router/ClientRouter.ts:169")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"remove"},"remove"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"remove"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"Removes the specified route from the router's known routes."),(0,n.yg)("h4",{id:"parameters-25"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route's unique name, identifying the route to remove.")))),(0,n.yg)("h4",{id:"returns-36"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"inherited-from-30"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#remove"},"remove")),(0,n.yg)("h4",{id:"defined-in-51"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L211"},"packages/core/src/router/AbstractRouter.ts:211")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"route"},"route"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"route"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."),(0,n.yg)("h4",{id:"parameters-26"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path part received from the client, with optional query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-37"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#route"},"route")),(0,n.yg)("h4",{id:"defined-in-52"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L198"},"packages/core/src/router/ClientRouter.ts:198")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unlisten"},"unlisten"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unlisten"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,n.yg)("p",null,"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,n.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,n.yg)("p",null,"The effects of this method can be reverted with ",(0,n.yg)("inlineCode",{parentName:"p"},"unlisten"),". This method has no effect\nat the server side."),(0,n.yg)("h4",{id:"returns-38"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-9"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#unlisten"},"unlisten")),(0,n.yg)("h4",{id:"defined-in-53"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ClientRouter.ts#L148"},"packages/core/src/router/ClientRouter.ts:148")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"use"},"use"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"use"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"middleware"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"Adds a new middleware to router."),(0,n.yg)("h4",{id:"parameters-27"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middleware")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Middleware function accepting routeParams as a first argument, which can be mutated and ",(0,n.yg)("inlineCode",{parentName:"td"},"locals")," object as second argument. This can be used to pass data between middlewares.")))),(0,n.yg)("h4",{id:"returns-39"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a middleware with the same name already exists."),(0,n.yg)("h4",{id:"inherited-from-31"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#use"},"use")),(0,n.yg)("h4",{id:"defined-in-54"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L199"},"packages/core/src/router/AbstractRouter.ts:199")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1af54293.2ab8263f.js b/assets/js/1af54293.2ab8263f.js new file mode 100644 index 000000000..a07aab234 --- /dev/null +++ b/assets/js/1af54293.2ab8263f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7960],{5096:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/core/type-aliases/MetaManagerRecord","title":"Type Alias: MetaManagerRecord\\\\<K\\\\>","description":"MetaManagerRecord\\\\ MetaValue } & [MetaAttributes","source":"@site/../docs/api/@ima/core/type-aliases/MetaManagerRecord.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/MetaManagerRecord","permalink":"/api/@ima/core/type-aliases/MetaManagerRecord","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/MetaManagerRecord.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: MetaAttributes","permalink":"/api/@ima/core/type-aliases/MetaAttributes"},"next":{"title":"Type Alias: MetaManagerRecordKeys","permalink":"/api/@ima/core/type-aliases/MetaManagerRecordKeys"}}');var s=t(2540),n=t(3023);const i={},c="Type Alias: MetaManagerRecord<K>",o={},d=[{value:"Type Parameters",id:"type-parameters",level:2}];function l(e){const a={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"type-alias-metamanagerrecordk",children:"Type Alias: MetaManagerRecord<K>"})}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"MetaManagerRecord"}),"<",(0,s.jsx)(a.code,{children:"K"}),">: ",(0,s.jsx)(a.code,{children:"{ [key in K]: MetaValue }"})," & ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,s.jsx)(a.code,{children:"MetaAttributes"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L5",children:"packages/core/src/meta/MetaManager.ts:5"})]}),"\n",(0,s.jsx)(a.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,s.jsxs)(a.p,{children:["\u2022 ",(0,s.jsx)(a.strong,{children:"K"})," ",(0,s.jsx)(a.em,{children:"extends"})," ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecordKeys",children:(0,s.jsx)(a.code,{children:"MetaManagerRecordKeys"})})]})]})}function p(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>i,x:()=>c});var r=t(3696);const s={},n=r.createContext(s);function i(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1afd1704.ddede8b6.js b/assets/js/1afd1704.ddede8b6.js deleted file mode 100644 index 99e5df45b..000000000 --- a/assets/js/1afd1704.ddede8b6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9375],{7757:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/1b1b4238.017dbb7f.js b/assets/js/1b1b4238.017dbb7f.js new file mode 100644 index 000000000..4f0bb08bb --- /dev/null +++ b/assets/js/1b1b4238.017dbb7f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6076],{9809:(e,o,i)=>{i.r(o),i.d(o,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/Cookie","title":"Type Alias: Cookie","description":"Cookie: object","source":"@site/../docs/api/@ima/core/type-aliases/Cookie.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/Cookie","permalink":"/api/@ima/core/type-aliases/Cookie","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/Cookie.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: BootSettings","permalink":"/api/@ima/core/type-aliases/BootSettings"},"next":{"title":"Type Alias: CookieOptions","permalink":"/api/@ima/core/type-aliases/CookieOptions"}}');var t=i(2540),n=i(3023);const a={},c="Type Alias: Cookie",r={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"options",id:"options",level:3},{value:"value",id:"value",level:3}];function d(e){const o={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.header,{children:(0,t.jsx)(o.h1,{id:"type-alias-cookie",children:"Type Alias: Cookie"})}),"\n",(0,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"Cookie"}),": ",(0,t.jsx)(o.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(o.p,{children:["Defined in: ",(0,t.jsx)(o.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L33",children:"packages/core/src/storage/CookieStorage.ts:33"})]}),"\n",(0,t.jsx)(o.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,t.jsx)(o.h3,{id:"options",children:"options"}),"\n",(0,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"options"}),": ",(0,t.jsx)(o.a,{href:"/api/@ima/core/type-aliases/CookieOptions",children:(0,t.jsx)(o.code,{children:"CookieOptions"})})]}),"\n"]}),"\n",(0,t.jsx)(o.h3,{id:"value",children:"value"}),"\n",(0,t.jsxs)(o.blockquote,{children:["\n",(0,t.jsxs)(o.p,{children:[(0,t.jsx)(o.strong,{children:"value"}),": ",(0,t.jsx)(o.code,{children:"string"})," | ",(0,t.jsx)(o.code,{children:"number"})," | ",(0,t.jsx)(o.code,{children:"boolean"})," | ",(0,t.jsx)(o.code,{children:"Date"})," | ",(0,t.jsx)(o.code,{children:"undefined"})]}),"\n"]})]})}function p(e={}){const{wrapper:o}={...(0,n.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,o,i)=>{i.d(o,{R:()=>a,x:()=>c});var s=i(3696);const t={},n=s.createContext(t);function a(e){const o=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function c(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(n.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1b8d9881.7110193e.js b/assets/js/1b8d9881.7110193e.js new file mode 100644 index 000000000..5147e66b0 --- /dev/null +++ b/assets/js/1b8d9881.7110193e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4356],{2408:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/EntryOptions","title":"Type Alias: EntryOptions","description":"EntryOptions: object","source":"@site/../docs/api/@ima/core/type-aliases/EntryOptions.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/EntryOptions","permalink":"/api/@ima/core/type-aliases/EntryOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/EntryOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: DispatcherListener()\\\\<D\\\\>","permalink":"/api/@ima/core/type-aliases/DispatcherListener"},"next":{"title":"Type Alias: EventBusEventHandler()","permalink":"/api/@ima/core/type-aliases/EventBusEventHandler"}}');var i=n(2540),a=n(3023);const r={},o="Type Alias: EntryOptions",c={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"writeable",id:"writeable",level:3}];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"type-alias-entryoptions",children:"Type Alias: EntryOptions"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"EntryOptions"}),": ",(0,i.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Defined in: ",(0,i.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L7",children:"packages/core/src/oc/Entry.ts:7"})]}),"\n",(0,i.jsx)(t.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(t.h3,{id:"writeable",children:"writeable"}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"writeable"}),": ",(0,i.jsx)(t.code,{children:"boolean"})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(3696);const i={},a=s.createContext(i);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ba2ef78.9adce384.js b/assets/js/1ba2ef78.9adce384.js new file mode 100644 index 000000000..06e089b6e --- /dev/null +++ b/assets/js/1ba2ef78.9adce384.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4355],{4556:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"basic-features/routing/async-routing","title":"Async Routing","description":"Basic features > Routing > Async Routing","source":"@site/../docs/basic-features/routing/async-routing.md","sourceDirName":"basic-features/routing","slug":"/basic-features/routing/async-routing","permalink":"/basic-features/routing/async-routing","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/async-routing.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Async Routing","description":"Basic features > Routing > Async Routing"},"sidebar":"docs","previous":{"title":"Middlewares","permalink":"/basic-features/routing/middlewares"},"next":{"title":"Extensions","permalink":"/basic-features/extensions"}}');var i=t(2540),r=t(3023);const s={title:"Async Routing",description:"Basic features > Routing > Async Routing"},a=void 0,c={},l=[{value:"Merging view and controller imports into one",id:"merging-view-and-controller-imports-into-one",level:2},{value:"Preloading routeHandlers",id:"preloading-routehandlers",level:2},{value:"Prefetching/Preloading modules",id:"prefetchingpreloading-modules",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Async routing allows you to split views and controllers into separate bundles and load them dynamically. This can be useful for some specific routes, that are not visited regularly and contain large amounts of unique code."}),"\n",(0,i.jsxs)(n.p,{children:["To take advantage of this feature, you simply wrap your ",(0,i.jsx)(n.a,{href:"/basic-features/routing/introduction#controller",children:(0,i.jsx)(n.code,{children:"controller"})})," and ",(0,i.jsx)(n.a,{href:"/basic-features/routing/introduction#view",children:(0,i.jsx)(n.code,{children:"view"})})," arguments into ",(0,i.jsx)(n.code,{children:"async"})," function which calls a dynamic import():"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/routes.js",children:"import { RouteNames } from '@ima/core';\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add(\n 'home',\n '/',\n async() => import('app/page/home/HomeController'),\n async() => import('app/page/home/HomeView')\n )\n}\n"})}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["When using ",(0,i.jsx)(n.strong,{children:"default exports"}),", you don't have to explicitly set the import promise to the default export, the router does this by default."]}),(0,i.jsx)(n.p,{children:"However when using named exports you need to let the router know, where is the controller/view located in the resolved promise:"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"async() => import('app/page/home/HomeView').then(module => module.HomeView);\n"})})]}),"\n",(0,i.jsx)(n.h2,{id:"merging-view-and-controller-imports-into-one",children:"Merging view and controller imports into one"}),"\n",(0,i.jsx)(n.p,{children:"Since the method above produces 2 separate JS chunk files (can depend on the actual environment). If you have really small controller and view files, you can help webpack in creating only one small chunk file which usually loads faster."}),"\n",(0,i.jsx)(n.p,{children:"This can be done by exporting view and controller from the same file:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/page/home/index.js",children:"export { default as HomeView } from './HomeView';\nexport { default as HomeController } from './HomeController';\n"})}),"\n",(0,i.jsx)(n.p,{children:"And then merging those two dynamic imports into one:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/routes.js",children:"import { RouteNames } from '@ima/core';\n\nconst homeModules = async () => import('app/page/home');\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add(\n 'home',\n '/',\n // highlight-next-line\n async () => homeModules().then(module => module.HomeController),\n // highlight-next-line\n async () => homeModules().then(module => module.HomeView)\n )\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"preloading-routehandlers",children:"Preloading routeHandlers"}),"\n",(0,i.jsxs)(n.p,{children:["Each route handler exposes ",(0,i.jsx)(n.code,{children:"preload()"})," method, which can be used to programmatically trigger preload of the dynamic imports for specific route."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"Use this in situations when the browser is idle and you want to preload some specific route handlers that the user will probably go next. This speeds up the responsiveness of your application dramatically."})}),"\n",(0,i.jsxs)(n.p,{children:["To call the ",(0,i.jsx)(n.code,{children:"preload()"})," method, ",(0,i.jsx)(n.a,{href:"/basic-features/routing/introduction#generating-links-outside-of-app-components",children:"you first need to get access"})," to the ",(0,i.jsx)(n.code,{children:"Router"})," instance (we can use ",(0,i.jsx)(n.code,{children:"useComponentUtils"})," hook in this example) and then you can use ",(0,i.jsx)(n.code,{children:"getRouteHandler()"})," method to get specific route handler instance. After that just call ",(0,i.jsx)(n.code,{children:"preload()"})," on this handler:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:"title=./app/config/routes.js",children:"import { useComponentUtils } from '@ima/react-hooks';\n\nexport default function Card() {\n const { $Router } = useComponentUtils();\n const homeRouteHandler = $Router.getRouteHandler('home');\n\n useEffect(() => {\n // highlight-next-line\n homeRouteHandler.preload();\n }, [])\n\n return (\n <a href={$Router.link('home')}>Home</a>\n );\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The method returns a promise, which resolves to tuple of ",(0,i.jsx)(n.code,{children:"[controller, view]"})," instances."]}),"\n",(0,i.jsx)(n.h3,{id:"prefetchingpreloading-modules",children:"Prefetching/Preloading modules"}),"\n",(0,i.jsxs)(n.p,{children:["As with the ",(0,i.jsx)(n.a,{href:"/advanced-features/dynamic-imports",children:"dynamic imports"}),", you can also use ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#prefetchingpreloading-modules",children:"webpack directives"})," for prefetching and preloading. Simply use the inline commend as it is mentioned in the ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/guides/code-splitting/#prefetchingpreloading-modules",children:"webpack documentation"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/routes.js",children:"// ...\nasync() => import(/* webpackPrefetch: true */ 'app/page/home/HomeController'),\nasync() => import(/* webpackPreload: true */ 'app/page/home/HomeView')\n// ...\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var o=t(3696);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ba2ef78.e6659834.js b/assets/js/1ba2ef78.e6659834.js deleted file mode 100644 index 8bce351a2..000000000 --- a/assets/js/1ba2ef78.e6659834.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4355],{5680:(e,t,n)=>{n.d(t,{xA:()=>c,yg:()=>g});var o=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),d=r,g=u["".concat(l,".").concat(d)]||u[d]||m[d]||a;return n?o.createElement(g,i(i({ref:t},c),{},{components:n})):o.createElement(g,i({ref:t},c))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:r,i[1]=s;for(var p=2;p<a;p++)i[p]=n[p];return o.createElement.apply(null,i)}return o.createElement.apply(null,n)}d.displayName="MDXCreateElement"},8113:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var o=n(8102),r=(n(6540),n(5680));const a={title:"Async Routing",description:"Basic features > Routing > Async Routing"},i=void 0,s={unversionedId:"basic-features/routing/async-routing",id:"basic-features/routing/async-routing",title:"Async Routing",description:"Basic features > Routing > Async Routing",source:"@site/../docs/basic-features/routing/async-routing.md",sourceDirName:"basic-features/routing",slug:"/basic-features/routing/async-routing",permalink:"/basic-features/routing/async-routing",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/async-routing.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Async Routing",description:"Basic features > Routing > Async Routing"},sidebar:"docs",previous:{title:"Middlewares",permalink:"/basic-features/routing/middlewares"},next:{title:"Extensions",permalink:"/basic-features/extensions"}},l={},p=[{value:"Merging view and controller imports into one",id:"merging-view-and-controller-imports-into-one",level:2},{value:"Preloading routeHandlers",id:"preloading-routehandlers",level:2},{value:"Prefetching/Preloading modules",id:"prefetchingpreloading-modules",level:3}],c={toc:p},u="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,o.A)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"Async routing allows you to split views and controllers into separate bundles and load them dynamically. This can be useful for some specific routes, that are not visited regularly and contain large amounts of unique code."),(0,r.yg)("p",null,"To take advantage of this feature, you simply wrap your ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#controller"},(0,r.yg)("inlineCode",{parentName:"a"},"controller"))," and ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#view"},(0,r.yg)("inlineCode",{parentName:"a"},"view"))," arguments into ",(0,r.yg)("inlineCode",{parentName:"p"},"async")," function which calls a dynamic import():"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"import { RouteNames } from '@ima/core';\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add(\n 'home',\n '/',\n async() => import('app/page/home/HomeController'),\n async() => import('app/page/home/HomeView')\n )\n}\n")),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"When using ",(0,r.yg)("strong",{parentName:"p"},"default exports"),", you don't have to explicitly set the import promise to the default export, the router does this by default."),(0,r.yg)("p",{parentName:"admonition"},"However when using named exports you need to let the router know, where is the controller/view located in the resolved promise:"),(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async() => import('app/page/home/HomeView').then(module => module.HomeView);\n"))),(0,r.yg)("h2",{id:"merging-view-and-controller-imports-into-one"},"Merging view and controller imports into one"),(0,r.yg)("p",null,"Since the method above produces 2 separate JS chunk files (can depend on the actual environment). If you have really small controller and view files, you can help webpack in creating only one small chunk file which usually loads faster."),(0,r.yg)("p",null,"This can be done by exporting view and controller from the same file:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/page/home/index.js",title:"./app/page/home/index.js"},"export { default as HomeView } from './HomeView';\nexport { default as HomeController } from './HomeController';\n")),(0,r.yg)("p",null,"And then merging those two dynamic imports into one:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"import { RouteNames } from '@ima/core';\n\nconst homeModules = async () => import('app/page/home');\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add(\n 'home',\n '/',\n // highlight-next-line\n async () => homeModules().then(module => module.HomeController),\n // highlight-next-line\n async () => homeModules().then(module => module.HomeView)\n )\n}\n")),(0,r.yg)("h2",{id:"preloading-routehandlers"},"Preloading routeHandlers"),(0,r.yg)("p",null,"Each route handler exposes ",(0,r.yg)("inlineCode",{parentName:"p"},"preload()")," method, which can be used to programmatically trigger preload of the dynamic imports for specific route."),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"Use this in situations when the browser is idle and you want to preload some specific route handlers that the user will probably go next. This speeds up the responsiveness of your application dramatically.")),(0,r.yg)("p",null,"To call the ",(0,r.yg)("inlineCode",{parentName:"p"},"preload()")," method, ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#generating-links-outside-of-app-components"},"you first need to get access")," to the ",(0,r.yg)("inlineCode",{parentName:"p"},"Router")," instance (we can use ",(0,r.yg)("inlineCode",{parentName:"p"},"useComponentUtils")," hook in this example) and then you can use ",(0,r.yg)("inlineCode",{parentName:"p"},"getRouteHandler()")," method to get specific route handler instance. After that just call ",(0,r.yg)("inlineCode",{parentName:"p"},"preload()")," on this handler:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-jsx",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"import { useComponentUtils } from '@ima/react-hooks';\n\nexport default function Card() {\n const { $Router } = useComponentUtils();\n const homeRouteHandler = $Router.getRouteHandler('home');\n\n useEffect(() => {\n // highlight-next-line\n homeRouteHandler.preload();\n }, [])\n\n return (\n <a href={$Router.link('home')}>Home</a>\n );\n}\n")),(0,r.yg)("p",null,"The method returns a promise, which resolves to tuple of ",(0,r.yg)("inlineCode",{parentName:"p"},"[controller, view]")," instances."),(0,r.yg)("h3",{id:"prefetchingpreloading-modules"},"Prefetching/Preloading modules"),(0,r.yg)("p",null,"As with the ",(0,r.yg)("a",{parentName:"p",href:"/advanced-features/dynamic-imports"},"dynamic imports"),", you can also use ",(0,r.yg)("a",{parentName:"p",href:"https://webpack.js.org/guides/code-splitting/#prefetchingpreloading-modules"},"webpack directives")," for prefetching and preloading. Simply use the inline commend as it is mentioned in the ",(0,r.yg)("a",{parentName:"p",href:"https://webpack.js.org/guides/code-splitting/#prefetchingpreloading-modules"},"webpack documentation"),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"// ...\nasync() => import(/* webpackPrefetch: true */ 'app/page/home/HomeController'),\nasync() => import(/* webpackPreload: true */ 'app/page/home/HomeView')\n// ...\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1bd618df.76955ff1.js b/assets/js/1bd618df.76955ff1.js deleted file mode 100644 index e6c2fc45c..000000000 --- a/assets/js/1bd618df.76955ff1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1965],{5680:(e,a,n)=>{n.d(a,{xA:()=>d,yg:()=>N});var t=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?i(Object(n),!0).forEach((function(a){r(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function p(e,a){if(null==e)return{};var n,t,r=function(e,a){if(null==e)return{};var n,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var g=t.createContext({}),o=function(e){var a=t.useContext(g),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},d=function(e){var a=o(e.components);return t.createElement(g.Provider,{value:a},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},s=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),y=o(n),s=r,N=y["".concat(g,".").concat(s)]||y[s]||m[s]||i;return n?t.createElement(N,l(l({ref:a},d),{},{components:n})):t.createElement(N,l({ref:a},d))}));function N(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=s;var p={};for(var g in a)hasOwnProperty.call(a,g)&&(p[g]=a[g]);p.originalType=e,p[y]="string"==typeof e?e:r,l[1]=p;for(var o=2;o<i;o++)l[o]=n[o];return t.createElement.apply(null,l)}return t.createElement.apply(null,n)}s.displayName="MDXCreateElement"},3552:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>g,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>o});var t=n(8102),r=(n(6540),n(5680));const i={id:"ima_core",title:"Module: @ima/core",sidebar_label:"@ima/core",sidebar_position:0,custom_edit_url:null},l=void 0,p={unversionedId:"api/modules/ima_core",id:"api/modules/ima_core",title:"Module: @ima/core",description:"Enumerations",source:"@site/../docs/api/modules/ima_core.md",sourceDirName:"api/modules",slug:"/api/modules/ima_core",permalink:"/api/modules/ima_core",draft:!1,editUrl:null,tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"ima_core",title:"Module: @ima/core",sidebar_label:"@ima/core",sidebar_position:0,custom_edit_url:null},sidebar:"api",previous:{title:"@ima/cli",permalink:"/api/modules/ima_cli"},next:{title:"@ima/dev-utils",permalink:"/api/modules/ima_dev_utils"}},g={},o=[{value:"Enumerations",id:"enumerations",level:2},{value:"Classes",id:"classes",level:2},{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"AnyParameters",id:"anyparameters",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"AppSettings",id:"appsettings",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"AsyncRouteController",id:"asyncroutecontroller",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"AsyncRouteView",id:"asyncrouteview",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"BootSettings",id:"bootsettings",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Cookie",id:"cookie",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"CookieOptions",id:"cookieoptions",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"CookieTransformFunction",id:"cookietransformfunction",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"DecoratedOCAliasMap",id:"decoratedocaliasmap",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"Dependencies",id:"dependencies",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"Dependency",id:"dependency",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"DictionaryConfig",id:"dictionaryconfig",level:3},{value:"Type declaration",id:"type-declaration-4",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"DictionaryData",id:"dictionarydata",level:3},{value:"Index signature",id:"index-signature-1",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"DispatcherListener",id:"dispatcherlistener",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Type declaration",id:"type-declaration-5",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-13",level:4},{value:"EntryOptions",id:"entryoptions",level:3},{value:"Type declaration",id:"type-declaration-6",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"EventBusEventHandler",id:"eventbuseventhandler",level:3},{value:"Type declaration",id:"type-declaration-7",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-15",level:4},{value:"EventBusListener",id:"eventbuslistener",level:3},{value:"Type declaration",id:"type-declaration-8",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-16",level:4},{value:"EventBusOptions",id:"eventbusoptions",level:3},{value:"Type declaration",id:"type-declaration-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"ExecutionJob",id:"executionjob",level:3},{value:"Type declaration",id:"type-declaration-10",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5},{value:"Defined in",id:"defined-in-18",level:4},{value:"GenericErrorParams",id:"genericerrorparams",level:3},{value:"Index signature",id:"index-signature-2",level:4},{value:"Type declaration",id:"type-declaration-11",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"HttpAgentResponse",id:"httpagentresponse",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Type declaration",id:"type-declaration-12",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"HttpProxyErrorParams",id:"httpproxyerrorparams",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"HttpProxyRequestParams",id:"httpproxyrequestparams",level:3},{value:"Type declaration",id:"type-declaration-13",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"InitBindFunction",id:"initbindfunction",level:3},{value:"Type declaration",id:"type-declaration-14",level:4},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-4",level:5},{value:"Defined in",id:"defined-in-23",level:4},{value:"InitRoutesFunction",id:"initroutesfunction",level:3},{value:"Type declaration",id:"type-declaration-15",level:4},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-5",level:5},{value:"Defined in",id:"defined-in-24",level:4},{value:"InitServicesFunction",id:"initservicesfunction",level:3},{value:"Type declaration",id:"type-declaration-16",level:4},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-6",level:5},{value:"Defined in",id:"defined-in-25",level:4},{value:"InitSettingsFunction",id:"initsettingsfunction",level:3},{value:"Type declaration",id:"type-declaration-17",level:4},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-7",level:5},{value:"Defined in",id:"defined-in-26",level:4},{value:"LoadedResources",id:"loadedresources",level:3},{value:"Type parameters",id:"type-parameters-5",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"LocalizationFunction",id:"localizationfunction",level:3},{value:"Type declaration",id:"type-declaration-18",level:4},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-8",level:5},{value:"Defined in",id:"defined-in-28",level:4},{value:"ManageArgs",id:"manageargs",level:3},{value:"Type declaration",id:"type-declaration-19",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"ManagedPage",id:"managedpage",level:3},{value:"Type declaration",id:"type-declaration-20",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"MetaAttributes",id:"metaattributes",level:3},{value:"Defined in",id:"defined-in-31",level:4},{value:"MetaManagerRecord",id:"metamanagerrecord",level:3},{value:"Type parameters",id:"type-parameters-6",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"MetaManagerRecordKeys",id:"metamanagerrecordkeys",level:3},{value:"Defined in",id:"defined-in-33",level:4},{value:"MetaValue",id:"metavalue",level:3},{value:"Defined in",id:"defined-in-34",level:4},{value:"NativeListener",id:"nativelistener",level:3},{value:"Type declaration",id:"type-declaration-21",level:4},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-9",level:5},{value:"Defined in",id:"defined-in-35",level:4},{value:"OCInjectable",id:"ocinjectable",level:3},{value:"Type parameters",id:"type-parameters-7",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"OCInstance",id:"ocinstance",level:3},{value:"Type parameters",id:"type-parameters-8",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"OCInstanceConstrain",id:"ocinstanceconstrain",level:3},{value:"Type parameters",id:"type-parameters-9",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"ObjectParameters",id:"objectparameters",level:3},{value:"Index signature",id:"index-signature-3",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"PageData",id:"pagedata",level:3},{value:"Defined in",id:"defined-in-40",level:4},{value:"PageState",id:"pagestate",level:3},{value:"Index signature",id:"index-signature-4",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"PluginInitBindFunction",id:"plugininitbindfunction",level:3},{value:"Type declaration",id:"type-declaration-22",level:4},{value:"Parameters",id:"parameters-10",level:5},{value:"Returns",id:"returns-10",level:5},{value:"Defined in",id:"defined-in-42",level:4},{value:"PluginInitServicesFunction",id:"plugininitservicesfunction",level:3},{value:"Type declaration",id:"type-declaration-23",level:4},{value:"Parameters",id:"parameters-11",level:5},{value:"Returns",id:"returns-11",level:5},{value:"Defined in",id:"defined-in-43",level:4},{value:"PluginInitSettingsFunction",id:"plugininitsettingsfunction",level:3},{value:"Type declaration",id:"type-declaration-24",level:4},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-12",level:5},{value:"Defined in",id:"defined-in-44",level:4},{value:"Resource",id:"resource",level:3},{value:"Defined in",id:"defined-in-45",level:4},{value:"RouteController",id:"routecontroller",level:3},{value:"Defined in",id:"defined-in-46",level:4},{value:"RouteParams",id:"routeparams",level:3},{value:"Type parameters",id:"type-parameters-10",level:4},{value:"Defined in",id:"defined-in-47",level:4},{value:"RoutePathExpression",id:"routepathexpression",level:3},{value:"Type declaration",id:"type-declaration-25",level:4},{value:"Defined in",id:"defined-in-48",level:4},{value:"RouteView",id:"routeview",level:3},{value:"Defined in",id:"defined-in-49",level:4},{value:"RouterMiddleware",id:"routermiddleware",level:3},{value:"Type declaration",id:"type-declaration-26",level:4},{value:"Parameters",id:"parameters-13",level:5},{value:"Returns",id:"returns-13",level:5},{value:"Defined in",id:"defined-in-50",level:4},{value:"SerializedCacheEntry",id:"serializedcacheentry",level:3},{value:"Type parameters",id:"type-parameters-11",level:4},{value:"Type declaration",id:"type-declaration-27",level:4},{value:"Defined in",id:"defined-in-51",level:4},{value:"SerializedData",id:"serializeddata",level:3},{value:"Type parameters",id:"type-parameters-12",level:4},{value:"Index signature",id:"index-signature-5",level:4},{value:"Defined in",id:"defined-in-52",level:4},{value:"StringParameters",id:"stringparameters",level:3},{value:"Index signature",id:"index-signature-6",level:4},{value:"Defined in",id:"defined-in-53",level:4},{value:"UnknownParameters",id:"unknownparameters",level:3},{value:"Index signature",id:"index-signature-7",level:4},{value:"Defined in",id:"defined-in-54",level:4},{value:"UnknownPromiseParameters",id:"unknownpromiseparameters",level:3},{value:"Index signature",id:"index-signature-8",level:4},{value:"Defined in",id:"defined-in-55",level:4},{value:"WindowEventTargets",id:"windoweventtargets",level:3},{value:"Defined in",id:"defined-in-56",level:4},{value:"WindowEventTargetsMap",id:"windoweventtargetsmap",level:3},{value:"Type parameters",id:"type-parameters-13",level:4},{value:"Defined in",id:"defined-in-57",level:4},{value:"Variables",id:"variables",level:2},{value:"ns",id:"ns",level:3},{value:"Defined in",id:"defined-in-58",level:4},{value:"pluginLoader",id:"pluginloader",level:3},{value:"Defined in",id:"defined-in-59",level:4},{value:"Functions",id:"functions",level:2},{value:"bootClientApp",id:"bootclientapp",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-60",level:4},{value:"createImaApp",id:"createimaapp",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-61",level:4},{value:"getClientBootConfig",id:"getclientbootconfig",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-62",level:4},{value:"getInitialImaConfigFunctions",id:"getinitialimaconfigfunctions",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-63",level:4},{value:"getInitialPluginConfig",id:"getinitialpluginconfig",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-64",level:4},{value:"getNamespace",id:"getnamespace",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-65",level:4},{value:"onLoad",id:"onload",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-66",level:4},{value:"reviveClientApp",id:"reviveclientapp",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-67",level:4},{value:"routeClientApp",id:"routeclientapp",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Defined in",id:"defined-in-68",level:4}],d={toc:o},y="wrapper";function m(e){let{components:a,...n}=e;return(0,r.yg)(y,(0,t.A)({},d,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("h2",{id:"enumerations"},"Enumerations"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.ActionTypes"},"ActionTypes")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.BindingState"},"BindingState")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.HttpStatusCode"},"HttpStatusCode")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.RendererEvents"},"RendererEvents")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.RendererTypes"},"RendererTypes")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.RouteNames"},"RouteNames")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.RouterEvents"},"RouterEvents")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/enums/ima_core.StateEvents"},"StateEvents"))),(0,r.yg)("h2",{id:"classes"},"Classes"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.AbstractController"},"AbstractController")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.AbstractExecution"},"AbstractExecution")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.AbstractExtension"},"AbstractExtension")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Bootstrap"},"Bootstrap")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Cache"},"Cache")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.CacheEntry"},"CacheEntry")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.CacheFactory"},"CacheFactory")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.CacheImpl"},"CacheImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.CancelError"},"CancelError")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ClientPageManager"},"ClientPageManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ClientRouter"},"ClientRouter")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ClientWindow"},"ClientWindow")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ComponentUtils"},"ComponentUtils")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Controller"},"Controller")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ControllerDecorator"},"ControllerDecorator")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.CookieStorage"},"CookieStorage")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Dictionary"},"Dictionary")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.DispatcherImpl"},"DispatcherImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.DynamicRoute"},"DynamicRoute")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Entry"},"Entry")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Error"},"Error")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.EventBus"},"EventBus")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.EventBusImpl"},"EventBusImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Execution"},"Execution")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Extension"},"Extension")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.GenericError"},"GenericError")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.HttpAgentImpl"},"HttpAgentImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.HttpProxy"},"HttpProxy")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.MapStorage"},"MapStorage")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.MessageFormatDictionary"},"MessageFormatDictionary")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.MetaManager"},"MetaManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.MetaManagerImpl"},"MetaManagerImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Namespace"},"Namespace")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ObjectContainer"},"ObjectContainer")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Observable"},"Observable")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ObservableImpl"},"ObservableImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageFactory"},"PageFactory")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageHandler"},"PageHandler")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageHandlerRegistry"},"PageHandlerRegistry")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageManager"},"PageManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageMetaHandler"},"PageMetaHandler")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageNavigationHandler"},"PageNavigationHandler")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageRenderer"},"PageRenderer")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageStateManagerDecorator"},"PageStateManagerDecorator")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PageStateManagerImpl"},"PageStateManagerImpl")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.PluginLoader"},"PluginLoader")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Request"},"Request")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Response"},"Response")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.RouteFactory"},"RouteFactory")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Router"},"Router")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.SerialBatch"},"SerialBatch")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ServerPageManager"},"ServerPageManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ServerRouter"},"ServerRouter")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.ServerWindow"},"ServerWindow")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.SessionMapStorage"},"SessionMapStorage")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.SessionStorage"},"SessionStorage")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.StaticRoute"},"StaticRoute")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Storage"},"Storage")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.UrlTransformer"},"UrlTransformer")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.WeakMapStorage"},"WeakMapStorage")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_core.Window"},"Window"))),(0,r.yg)("h2",{id:"interfaces"},"Interfaces"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.AppEnvironment"},"AppEnvironment")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.BootConfig"},"BootConfig")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.BootServices"},"BootServices")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.DictionaryMap"},"DictionaryMap")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.DispatcherEventsMap"},"DispatcherEventsMap")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.Environment"},"Environment")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.GlobalImaObject"},"GlobalImaObject")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},"HttpAgentRequestOptions")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.ImaRequestInit"},"ImaRequestInit")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.InitAppConfig"},"InitAppConfig")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.InitImaConfig"},"InitImaConfig")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.InitPluginConfig"},"InitPluginConfig")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.Manifest"},"Manifest")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.ManifestAsset"},"ManifestAsset")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.OCAliasMap"},"OCAliasMap")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.PageAction"},"PageAction")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.PageRendererSettings"},"PageRendererSettings")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.Resources"},"Resources")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.RouteAction"},"RouteAction")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.RouteFactoryOptions"},"RouteFactoryOptions")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.RouteLocals"},"RouteLocals")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.RouteOptions"},"RouteOptions")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.Settings"},"Settings")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.Utils"},"Utils")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_core.WindowCustomEventsMap"},"WindowCustomEventsMap"))),(0,r.yg)("h2",{id:"type-aliases"},"Type Aliases"),(0,r.yg)("h3",{id:"anyparameters"},"AnyParameters"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"AnyParameters"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L22"},"packages/core/src/types.ts:22")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"appsettings"},"AppSettings"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"AppSettings"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"App settings function, used in ./app/config/settings.js"),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dev?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"PartialDeep"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prod")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"regression?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"PartialDeep"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"test?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"PartialDeep"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings")),">")))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L159"},"packages/core/src/boot.ts:159")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"asyncroutecontroller"},"AsyncRouteController"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"AsyncRouteController"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"WithAsync"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L27"},"packages/core/src/router/AbstractRoute.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"asyncrouteview"},"AsyncRouteView"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"AsyncRouteView"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"WithAsync"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L28"},"packages/core/src/router/AbstractRoute.ts:28")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"bootsettings"},"BootSettings"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"BootSettings"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.GlobalImaObject"},(0,r.yg)("inlineCode",{parentName:"a"},"GlobalImaObject")),", ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Version"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Debug"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Env"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Version"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$App"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Protocol"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Language"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Host"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Path"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$Root"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"$LanguagePartPath"'),">"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L82"},"packages/core/src/Bootstrap.ts:82")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cookie"},"Cookie"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"Cookie"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Date")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))))),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L33"},"packages/core/src/storage/CookieStorage.ts:33")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cookieoptions"},"CookieOptions"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"CookieOptions"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-2"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"domain?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"expires?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Date"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"httpOnly?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"maxAge?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"partitioned?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"sameSite?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},'"none"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"lax"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"strict"'))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"secure?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L22"},"packages/core/src/storage/CookieStorage.ts:22")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cookietransformfunction"},"CookieTransformFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"CookieTransformFunction"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-3"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"decode")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"encode")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L10"},"packages/core/src/router/Response.ts:10")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"decoratedocaliasmap"},"DecoratedOCAliasMap"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"DecoratedOCAliasMap"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"AddOCChaining"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap")),">"," & ",(0,r.yg)("inlineCode",{parentName:"p"},"WithOCOptional"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap")),">"," & ",(0,r.yg)("inlineCode",{parentName:"p"},"WithOCOptionalSpread"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap")),">"," & ",(0,r.yg)("inlineCode",{parentName:"p"},"WithOCSpread"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap")),">"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/config/bind.ts#L68"},"packages/core/src/config/bind.ts:68")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dependencies"},"Dependencies"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"Dependencies"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","[]"),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L24"},"packages/core/src/oc/ObjectContainer.ts:24")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dependency"},"Dependency"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"Dependency"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": keyof ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#decoratedocaliasmap"},(0,r.yg)("inlineCode",{parentName:"a"},"DecoratedOCAliasMap"))," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," ","|"," [",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"optional"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," }]"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L25"},"packages/core/src/oc/ObjectContainer.ts:25")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dictionaryconfig"},"DictionaryConfig"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"DictionaryConfig"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-4"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"$Language")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dictionary")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dictionarydata"},(0,r.yg)("inlineCode",{parentName:"a"},"DictionaryData")))))),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L3"},"packages/core/src/dictionary/Dictionary.ts:3")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dictionarydata"},"DictionaryData"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"DictionaryData"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-1"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dictionarydata"},(0,r.yg)("inlineCode",{parentName:"a"},"DictionaryData"))," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#localizationfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"LocalizationFunction"))),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L8"},"packages/core/src/dictionary/Dictionary.ts:8")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dispatcherlistener"},"DispatcherListener"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"DispatcherListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"D"),">",": (",(0,r.yg)("inlineCode",{parentName:"p"},"data"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"D"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"D"))))),(0,r.yg)("h4",{id:"type-declaration-5"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"D"))))),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L11"},"packages/core/src/event/Dispatcher.ts:11")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"entryoptions"},"EntryOptions"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"EntryOptions"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-6"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"writeable")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L7"},"packages/core/src/oc/Entry.ts:7")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"eventbuseventhandler"},"EventBusEventHandler"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"EventBusEventHandler"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration-7"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h5",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L5"},"packages/core/src/event/EventBus.ts:5")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"eventbuslistener"},"EventBusListener"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"EventBusListener"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"CustomEvent"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"type-declaration-8"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h5",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEvent"))))),(0,r.yg)("h5",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L3"},"packages/core/src/event/EventBus.ts:3")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"eventbusoptions"},"EventBusOptions"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"EventBusOptions"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-9"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bubbles?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cancelable?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"composed?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L9"},"packages/core/src/event/EventBus.ts:9")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"executionjob"},"ExecutionJob"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"ExecutionJob"),": (...",(0,r.yg)("inlineCode",{parentName:"p"},"args"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),"[]) => ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"type-declaration-10"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"...args"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h5",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"...args")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),"[]")))),(0,r.yg)("h5",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/Execution.ts#L1"},"packages/core/src/execution/Execution.ts:1")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"genericerrorparams"},"GenericErrorParams"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"GenericErrorParams"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-2"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"type-declaration-11"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cause?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"status?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L3"},"packages/core/src/error/GenericError.ts:3")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpagentresponse"},"HttpAgentResponse"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"HttpAgentResponse"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"A response from the server."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"type-declaration-12"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"body")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cached")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"headers")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"headersRaw?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Headers"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"status")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L55"},"packages/core/src/http/HttpAgent.ts:55")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpproxyerrorparams"},"HttpProxyErrorParams"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"HttpProxyErrorParams"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",": ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"body"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"B")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"cause"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Error")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"errorName"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"status"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," } & ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams"))),(0,r.yg)("p",null,"An object that describes a failed HTTP request, providing\ninformation about both the failure reported by the server and how the\nrequest has been sent to the server."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L51"},"packages/core/src/http/HttpProxy.ts:51")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"httpproxyrequestparams"},"HttpProxyRequestParams"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"HttpProxyRequestParams"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"An object representing the complete request parameters used to create and\nsend the HTTP request."),(0,r.yg)("h4",{id:"type-declaration-13"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"transformedUrl")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L27"},"packages/core/src/http/HttpProxy.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initbindfunction"},"InitBindFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"InitBindFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Required"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),">","[",(0,r.yg)("inlineCode",{parentName:"p"},'"bind"'),"]",", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/enums/ima_core.BindingState"},(0,r.yg)("inlineCode",{parentName:"a"},"BindingState")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration-14"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Required"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),">","[",(0,r.yg)("inlineCode",{parentName:"td"},'"bind"'),"]")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/enums/ima_core.BindingState"},(0,r.yg)("inlineCode",{parentName:"a"},"BindingState")))))),(0,r.yg)("h5",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L16"},"packages/core/src/Bootstrap.ts:16")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initroutesfunction"},"InitRoutesFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"InitRoutesFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"routes"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"router"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration-15"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"routes"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"router"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"routes")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"router")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router")))))),(0,r.yg)("h5",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L23"},"packages/core/src/Bootstrap.ts:23")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initservicesfunction"},"InitServicesFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"InitServicesFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"services"'),"]",") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration-16"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"td"},'"services"'),"]")))),(0,r.yg)("h5",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L30"},"packages/core/src/Bootstrap.ts:30")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initsettingsfunction"},"InitSettingsFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"InitSettingsFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"settings"'),"]",") => ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#appsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"AppSettings"))),(0,r.yg)("h4",{id:"type-declaration-17"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#appsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"AppSettings"))),(0,r.yg)("h5",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"td"},'"settings"'),"]")))),(0,r.yg)("h5",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#appsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"AppSettings"))),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L36"},"packages/core/src/Bootstrap.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"loadedresources"},"LoadedResources"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"LoadedResources"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"Intersection"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Matching"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">",">",">",", ",(0,r.yg)("inlineCode",{parentName:"p"},"Required"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"NonMatching"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">",">",">",">"),(0,r.yg)("h4",{id:"type-parameters-5"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L27"},"packages/core/src/controller/Controller.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"localizationfunction"},"LocalizationFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"LocalizationFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"parameters"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#objectparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectParameters")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"type-declaration-18"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"parameters"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h5",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"parameters")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#objectparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectParameters")))))),(0,r.yg)("h5",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L12"},"packages/core/src/dictionary/Dictionary.ts:12")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"manageargs"},"ManageArgs"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"ManageArgs"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-19"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"InstanceType"),"\\<typeof ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),">")))),(0,r.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/PageManager.ts#L5"},"packages/core/src/page/manager/PageManager.ts:5")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"managedpage"},"ManagedPage"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"ManagedPage"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-20"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerInstance")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,r.yg)("inlineCode",{parentName:"a"},"Controller")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"decoratedController")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"InstanceType"),"\\<typeof ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"abort?"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"promise"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"void"),">"," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"reject"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"resolve"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," } ; ",(0,r.yg)("inlineCode",{parentName:"td"},"activated"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"cancelled"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"executed"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"initialized"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"mounted"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"page"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"promise"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"void"),">"," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"reject"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"resolve"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," } }")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.abort?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"promise"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"void"),">"," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"reject"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"resolve"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," }")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.abort.promise")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"void"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.abort.reject")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.abort.resolve")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.activated")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.cancelled")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.executed")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.initialized")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.mounted")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.page")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"promise"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"void"),">"," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"reject"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"resolve"),": () => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," }")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.page.promise")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"void"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.page.reject")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state.page.resolve")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"viewInstance")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageTypes.ts#L11"},"packages/core/src/page/PageTypes.ts:11")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"metaattributes"},"MetaAttributes"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"MetaAttributes"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metavalue"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaValue")),">"),(0,r.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L2"},"packages/core/src/meta/MetaManager.ts:2")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"metamanagerrecord"},"MetaManagerRecord"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"MetaManagerRecord"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">",": ","{"," ","[key in K]",": MetaValue } & ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metaattributes"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,r.yg)("h4",{id:"type-parameters-6"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metamanagerrecordkeys"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecordKeys")))))),(0,r.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L5"},"packages/core/src/meta/MetaManager.ts:5")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"metamanagerrecordkeys"},"MetaManagerRecordKeys"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"MetaManagerRecordKeys"),": ",(0,r.yg)("inlineCode",{parentName:"p"},'"content"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"href"')),(0,r.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L4"},"packages/core/src/meta/MetaManager.ts:4")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"metavalue"},"MetaValue"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"MetaValue"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")),(0,r.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L1"},"packages/core/src/meta/MetaManager.ts:1")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"nativelistener"},"NativeListener"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"NativeListener"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"CustomEvent")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"type-declaration-21"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h5",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEvent")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))))),(0,r.yg)("h5",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L7"},"packages/core/src/event/EventBus.ts:7")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"ocinjectable"},"OCInjectable"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"OCInjectable"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," & ",(0,r.yg)("inlineCode",{parentName:"p"},"WithDependencies")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," & ",(0,r.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"WithDependencies"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Function")," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"prototype"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"T")," } & ",(0,r.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"WithDependencies"),">"),(0,r.yg)("h4",{id:"type-parameters-7"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L18"},"packages/core/src/oc/ObjectContainer.ts:18")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"ocinstance"},"OCInstance"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"OCInstance"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"T")," extends keyof ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#decoratedocaliasmap"},(0,r.yg)("inlineCode",{parentName:"a"},"DecoratedOCAliasMap"))," ? ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#decoratedocaliasmap"},(0,r.yg)("inlineCode",{parentName:"a"},"DecoratedOCAliasMap")),"[",(0,r.yg)("inlineCode",{parentName:"p"},"T"),"]"," : ",(0,r.yg)("inlineCode",{parentName:"p"},"T")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"InstanceType"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," : ",(0,r.yg)("inlineCode",{parentName:"p"},"T")," extends ","[",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"optional"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," }]"," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"InstanceType"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),"[",(0,r.yg)("inlineCode",{parentName:"p"},"0"),"]",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"T")),(0,r.yg)("h4",{id:"type-parameters-8"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinstanceconstrain"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstanceConstrain")))))),(0,r.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L41"},"packages/core/src/oc/ObjectContainer.ts:41")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"ocinstanceconstrain"},"OCInstanceConstrain"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"OCInstanceConstrain"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": keyof ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#decoratedocaliasmap"},(0,r.yg)("inlineCode",{parentName:"a"},"DecoratedOCAliasMap"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," ","|"," ","[",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"optional"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," }]"),(0,r.yg)("h4",{id:"type-parameters-9"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L35"},"packages/core/src/oc/ObjectContainer.ts:35")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"objectparameters"},"ObjectParameters"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"ObjectParameters"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-3"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Date")),(0,r.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L30"},"packages/core/src/types.ts:30")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagedata"},"PageData"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"PageData"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"status"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," } & ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageTypes.ts#L50"},"packages/core/src/page/PageTypes.ts:50")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagestate"},"PageState"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"PageState"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-4"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L1"},"packages/core/src/page/state/PageStateManager.ts:1")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"plugininitbindfunction"},"PluginInitBindFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"PluginInitBindFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Required"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),">","[",(0,r.yg)("inlineCode",{parentName:"p"},'"bind"'),"]",", ",(0,r.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"name?"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration-22"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"name?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Required"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),">","[",(0,r.yg)("inlineCode",{parentName:"td"},'"bind"'),"]")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"isDynamicallyLoaded")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h5",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-42"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L42"},"packages/core/src/Bootstrap.ts:42")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"plugininitservicesfunction"},"PluginInitServicesFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"PluginInitServicesFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"services"'),"]",", ",(0,r.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration-23"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"td"},'"services"'),"]")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"isDynamicallyLoaded")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,r.yg)("h5",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-43"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L50"},"packages/core/src/Bootstrap.ts:50")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"plugininitsettingsfunction"},"PluginInitSettingsFunction"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"PluginInitSettingsFunction"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"settings"'),"]",", ",(0,r.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"PartialDeep"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#appsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"AppSettings")),">"),(0,r.yg)("h4",{id:"type-declaration-24"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"ns"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"PartialDeep"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#appsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"AppSettings")),">"),(0,r.yg)("h5",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ns")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")),"[",(0,r.yg)("inlineCode",{parentName:"td"},'"settings"'),"]")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"isDynamicallyLoaded")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,r.yg)("h5",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"PartialDeep"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#appsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"AppSettings")),">"),(0,r.yg)("h4",{id:"defined-in-44"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L57"},"packages/core/src/Bootstrap.ts:57")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"resource"},"Resource"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"Resource"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," [",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"[attribute: string]"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),"; ",(0,r.yg)("inlineCode",{parentName:"p"},"fallback"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," }]"),(0,r.yg)("h4",{id:"defined-in-45"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L37"},"packages/core/src/boot.ts:37")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routecontroller"},"RouteController"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"RouteController"),": keyof ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,r.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,r.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,r.yg)("h4",{id:"defined-in-46"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L15"},"packages/core/src/router/AbstractRoute.ts:15")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routeparams"},"RouteParams"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"RouteParams"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<","{"," ","[K in keyof T]",": T","[K]"," }",">"," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"; }"),(0,r.yg)("h4",{id:"type-parameters-10"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{}")))),(0,r.yg)("h4",{id:"defined-in-47"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L9"},"packages/core/src/router/AbstractRoute.ts:9")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routepathexpression"},"RoutePathExpression"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"RoutePathExpression"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Path expression type used for router routes definition."),(0,r.yg)("h4",{id:"type-declaration-25"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extractParameters")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"trimmedPath"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"additionalData"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"path"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"query"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))," }) => ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Function which takes care of parsing url params from given path. It returns object of key/value pairs which correspond to expected path url params and their values.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"matcher")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"RegExp")),(0,r.yg)("td",{parentName:"tr",align:"left"},"RegExp use in router for path matching to current route.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"toPath")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"params"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Function that generates valid path from given route params.")))),(0,r.yg)("h4",{id:"defined-in-48"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/DynamicRoute.ts#L23"},"packages/core/src/router/DynamicRoute.ts:23")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routeview"},"RouteView"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"RouteView"),": keyof ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"," ","|"," (...",(0,r.yg)("inlineCode",{parentName:"p"},"args"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),"[]) => ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"defined-in-49"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L20"},"packages/core/src/router/AbstractRoute.ts:20")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routermiddleware"},"RouterMiddleware"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"RouterMiddleware"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"params"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"locals"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteLocals"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteLocals")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"next?"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"result"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void"),") => ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"type-declaration-26"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"locals"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"next?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h5",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"locals")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteLocals")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"next?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"result"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h5",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-50"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L29"},"packages/core/src/router/Router.ts:29")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"serializedcacheentry"},"SerializedCacheEntry"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"SerializedCacheEntry"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-parameters-11"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h4",{id:"type-declaration-27"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ttl")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h4",{id:"defined-in-51"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L1"},"packages/core/src/cache/CacheEntry.ts:1")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"serializeddata"},"SerializedData"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"SerializedData"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-parameters-12"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"index-signature-5"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"ttl"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"V")," }"),(0,r.yg)("h4",{id:"defined-in-52"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L1"},"packages/core/src/cache/Cache.ts:1")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"stringparameters"},"StringParameters"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"StringParameters"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-6"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-53"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L14"},"packages/core/src/types.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unknownparameters"},"UnknownParameters"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"UnknownParameters"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-7"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h4",{id:"defined-in-54"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L18"},"packages/core/src/types.ts:18")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unknownpromiseparameters"},"UnknownPromiseParameters"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"UnknownPromiseParameters"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"index-signature-8"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-55"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L26"},"packages/core/src/types.ts:26")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"windoweventtargets"},"WindowEventTargets"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"WindowEventTargets"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Document")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"globalThis.Window")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLBodyElement")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SVGSVGElement")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SVGElement")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLMediaElement")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLVideoElement")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Element")),(0,r.yg)("h4",{id:"defined-in-56"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L3"},"packages/core/src/window/Window.ts:3")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"windoweventtargetsmap"},"WindowEventTargetsMap"),(0,r.yg)("p",null,"\u01ac ",(0,r.yg)("strong",{parentName:"p"},"WindowEventTargetsMap"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">",": ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"Document")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"DocumentEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"globalThis.Window")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"WindowEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLBodyElement")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLBodyElementEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"SVGSVGElement")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"SVGSVGElementEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"SVGElement")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"SVGElementEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLMediaElement")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLMediaElementEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"E")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLVideoElement")," ? ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLVideoElementEventMap")," : ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElementEventMap")," & ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.WindowCustomEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowCustomEventsMap"))),(0,r.yg)("h4",{id:"type-parameters-13"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargets"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargets")))))),(0,r.yg)("h4",{id:"defined-in-57"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L13"},"packages/core/src/window/Window.ts:13")),(0,r.yg)("h2",{id:"variables"},"Variables"),(0,r.yg)("h3",{id:"ns"},"ns"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,r.yg)("strong",{parentName:"p"},"ns"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace"))),(0,r.yg)("h4",{id:"defined-in-58"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L123"},"packages/core/src/Namespace.ts:123")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pluginloader"},"pluginLoader"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,r.yg)("strong",{parentName:"p"},"pluginLoader"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PluginLoader"},(0,r.yg)("inlineCode",{parentName:"a"},"PluginLoader"))),(0,r.yg)("h4",{id:"defined-in-59"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L93"},"packages/core/src/pluginLoader.ts:93")),(0,r.yg)("h2",{id:"functions"},"Functions"),(0,r.yg)("h3",{id:"bootclientapp"},"bootClientApp"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"bootClientApp"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"app"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"bootConfig"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"app")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"app.bootstrap")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"app.oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bootConfig")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig")))))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bootstrap")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))))),(0,r.yg)("h4",{id:"defined-in-60"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L254"},"packages/core/src/boot.ts:254")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"createimaapp"},"createImaApp"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"createImaApp"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bootstrap")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))))),(0,r.yg)("h4",{id:"defined-in-61"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L182"},"packages/core/src/boot.ts:182")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getclientbootconfig"},"getClientBootConfig"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getClientBootConfig"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"initialAppConfigFunctions"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"initialAppConfigFunctions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitAppConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitAppConfig")))))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))),(0,r.yg)("h4",{id:"defined-in-62"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L190"},"packages/core/src/boot.ts:190")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getinitialimaconfigfunctions"},"getInitialImaConfigFunctions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getInitialImaConfigFunctions"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitImaConfig"))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitImaConfig"))),(0,r.yg)("h4",{id:"defined-in-63"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L166"},"packages/core/src/boot.ts:166")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getinitialpluginconfig"},"getInitialPluginConfig"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getInitialPluginConfig"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"plugins")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"name"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"plugin"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))," }[]")))),(0,r.yg)("h4",{id:"defined-in-64"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L170"},"packages/core/src/boot.ts:170")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getnamespace"},"getNamespace"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getNamespace"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace"))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace"))),(0,r.yg)("h4",{id:"defined-in-65"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L125"},"packages/core/src/Namespace.ts:125")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"onload"},"onLoad"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"onLoad"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-66"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L310"},"packages/core/src/boot.ts:310")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"reviveclientapp"},"reviveClientApp"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"reviveClientApp"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"initialAppConfigFunctions"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"app"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"bootstrap"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap"))," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))," } ; ",(0,r.yg)("inlineCode",{parentName:"p"},"bootConfig"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))," }",">"),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"initialAppConfigFunctions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitAppConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitAppConfig")))))),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"app"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"bootstrap"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap"))," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"oc"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))," } ; ",(0,r.yg)("inlineCode",{parentName:"p"},"bootConfig"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))," }",">"),(0,r.yg)("h4",{id:"defined-in-67"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L289"},"packages/core/src/boot.ts:289")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"routeclientapp"},"routeClientApp"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"routeClientApp"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"app"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("h4",{id:"parameters-17"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"app")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"app.bootstrap")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"app.oc")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))))),(0,r.yg)("h4",{id:"returns-22"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("h4",{id:"defined-in-68"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L269"},"packages/core/src/boot.ts:269")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1bdefe9f.861ed04e.js b/assets/js/1bdefe9f.861ed04e.js new file mode 100644 index 000000000..a409bd80a --- /dev/null +++ b/assets/js/1bdefe9f.861ed04e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4977],{5817:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/interfaces/InitPluginConfig","title":"Interface: InitPluginConfig","description":"Defined in64","source":"@site/../docs/api/@ima/core/interfaces/InitPluginConfig.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/InitPluginConfig","permalink":"/api/@ima/core/interfaces/InitPluginConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/InitPluginConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: InitImaConfig","permalink":"/api/@ima/core/interfaces/InitImaConfig"},"next":{"title":"Interface: Manifest","permalink":"/api/@ima/core/interfaces/Manifest"}}');var s=n(2540),c=n(3023);const r={},a="Interface: InitPluginConfig",o={},l=[{value:"Properties",id:"properties",level:2},{value:"initBind?",id:"initbind",level:3},{value:"initServices?",id:"initservices",level:3},{value:"initSettings?",id:"initsettings",level:3}];function d(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.header,{children:(0,s.jsx)(i.h1,{id:"interface-initpluginconfig",children:"Interface: InitPluginConfig"})}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L64",children:"packages/core/src/Bootstrap.ts:64"})]}),"\n",(0,s.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(i.h3,{id:"initbind",children:"initBind?"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"optional"})," ",(0,s.jsx)(i.strong,{children:"initBind"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PluginInitBindFunction",children:(0,s.jsx)(i.code,{children:"PluginInitBindFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L66",children:"packages/core/src/Bootstrap.ts:66"})]}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"initservices",children:"initServices?"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"optional"})," ",(0,s.jsx)(i.strong,{children:"initServices"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PluginInitServicesFunction",children:(0,s.jsx)(i.code,{children:"PluginInitServicesFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L65",children:"packages/core/src/Bootstrap.ts:65"})]}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"initsettings",children:"initSettings?"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"optional"})," ",(0,s.jsx)(i.strong,{children:"initSettings"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PluginInitSettingsFunction",children:(0,s.jsx)(i.code,{children:"PluginInitSettingsFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L67",children:"packages/core/src/Bootstrap.ts:67"})]})]})}function p(e={}){const{wrapper:i}={...(0,c.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>r,x:()=>a});var t=n(3696);const s={},c=t.createContext(s);function r(e){const i=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1be78505.1c7baf05.js b/assets/js/1be78505.1c7baf05.js deleted file mode 100644 index 775bfd771..000000000 --- a/assets/js/1be78505.1c7baf05.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1774,8714],{1960:(e,t,n)=>{n.r(t),n.d(t,{default:()=>_e});var a=n(6540),o=n(8017),l=n(9024),r=n(7559),c=n(2967),i=n(4142),s=n(2252),d=n(6588),m=n(2546),u=n(1312),b=n(3104),p=n(5062);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.gk)();return(0,b.Mq)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(l.current?l.current=!1:a>=r?(c(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,p.$)((e=>{e.location.hash&&(l.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",r.G.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var f=n(3109),g=n(9519),v=n(4581),_=n(6342),C=n(3465),A=n(8102);function k(e){return a.createElement("svg",(0,A.A)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const S="collapseSidebarButton_PEFL",N="collapseSidebarButtonIcon_kv0_";function T(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",S),onClick:t},a.createElement(k,{className:N}))}var I=n(5041),x=n(9532);const w=Symbol("EmptyContext"),y=a.createContext(w);function B(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),l=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return a.createElement(y.Provider,{value:l},t)}var M=n(1422),L=n(9169),P=n(5489),H=n(2303);function G(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.T)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function F(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,_.p)(),f=function(e){const t=(0,H.A)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,i._o)(e):void 0),[e,t])}(t),g=(0,i.w8)(t,l),v=(0,L.ys)(h,l),{collapsed:C,setCollapsed:k}=(0,M.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:S,setExpandedItem:N}=function(){const e=(0,a.useContext)(y);if(e===w)throw new x.dV("DocSidebarItemsExpandedStateProvider");return e}(),T=function(e){void 0===e&&(e=!C),N(e?null:s),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const l=(0,x.ZC)(t);(0,a.useEffect)((()=>{t&&!l&&n&&o(!1)}),[t,l,n,o])}({isActive:g,collapsed:C,updateCollapsed:T}),(0,a.useEffect)((()=>{b&&null!=S&&S!==s&&E&&k(!0)}),[b,S,s,k,E]),a.createElement("li",{className:(0,o.A)(r.G.docs.docSidebarItemCategory,r.G.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":C},p)},a.createElement("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v})},a.createElement(P.A,(0,A.A)({className:(0,o.A)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{n?.(t),h?T(!1):(e.preventDefault(),T())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":b?!C:void 0,href:b?f??"#":f},d),u),h&&b&&a.createElement(G,{categoryLabel:u,onClick:e=>{e.preventDefault(),T()}})),a.createElement(M.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:C},a.createElement(q,{items:m,tabIndex:C?-1:0,onItemClick:n,activePath:l,level:c+1})))}var W=n(6654),D=n(4384);const V="menuExternalLink_NmtK";function U(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,i.w8)(t,l),E=(0,W.A)(m);return a.createElement("li",{className:(0,o.A)(r.G.docs.docSidebarItemLink,r.G.docs.docSidebarItemLinkLevel(c),"menu__list-item",b),key:u},a.createElement(P.A,(0,A.A)({className:(0,o.A)("menu__link",!E&&V,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(D.A,null)))}const z="menuHtmlItem_M9Kj";function R(e){let{item:t,level:n,index:l}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,o.A)(r.G.docs.docSidebarItemLink,r.G.docs.docSidebarItemLinkLevel(n),i&&[z,"menu__list-item"],s),key:l,dangerouslySetInnerHTML:{__html:c}})}function j(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(F,(0,A.A)({item:t},n));case"html":return a.createElement(R,(0,A.A)({item:t},n));default:return a.createElement(U,(0,A.A)({item:t},n))}}function K(e){let{items:t,...n}=e;return a.createElement(B,null,t.map(((e,t)=>a.createElement(j,(0,A.A)({key:t,item:e,index:t},n)))))}const q=(0,a.memo)(K),O="menu_SIkG",X="menuWithAnnouncementBar_GW3s";function Y(e){let{path:t,sidebar:n,className:l}=e;const c=function(){const{isActive:e}=(0,I.Mj)(),[t,n]=(0,a.useState)(e);return(0,b.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",O,c&&X,l)},a.createElement("ul",{className:(0,o.A)(r.G.docs.docSidebarMenu,"menu__list")},a.createElement(q,{items:n,activePath:t,level:1})))}const Z="sidebar_njMd",$="sidebarWithHideableNavbar_wUlq",J="sidebarHidden_VK0M",Q="sidebarLogo_isFc";function ee(e){let{path:t,sidebar:n,onCollapse:l,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,_.p)();return a.createElement("div",{className:(0,o.A)(Z,c&&$,r&&J)},c&&a.createElement(C.A,{tabIndex:-1,className:Q}),a.createElement(Y,{path:t,sidebar:n}),i&&a.createElement(T,{onClick:l}))}const te=a.memo(ee);var ne=n(5600),ae=n(2069);const oe=e=>{let{sidebar:t,path:n}=e;const l=(0,ae.M)();return a.createElement("ul",{className:(0,o.A)(r.G.docs.docSidebarMenu,"menu__list")},a.createElement(q,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&l.toggle(),"link"===e.type&&l.toggle()},level:1}))};function le(e){return a.createElement(ne.GX,{component:oe,props:e})}const re=a.memo(le);function ce(e){const t=(0,v.l)(),n="desktop"===t||"ssr"===t,o="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement(te,e),o&&a.createElement(re,e))}const ie={expandButton:"expandButton_m80_",expandButtonIcon:"expandButtonIcon_BlDH"};function se(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:ie.expandButton,title:(0,u.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(k,{className:ie.expandButtonIcon}))}const de={docSidebarContainer:"docSidebarContainer_b6E3",docSidebarContainerHidden:"docSidebarContainerHidden_b3ry",sidebarViewport:"sidebarViewport_Xe31"};function me(e){let{children:t}=e;const n=(0,d.t)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function ue(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:l}=e;const{pathname:c}=(0,g.zy)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),!i&&(0,f.O)()&&s(!0),l((e=>!e))}),[l,i]);return a.createElement("aside",{className:(0,o.A)(r.G.docs.docSidebarContainer,de.docSidebarContainer,n&&de.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(de.docSidebarContainer)&&n&&s(!0)}},a.createElement(me,null,a.createElement("div",{className:(0,o.A)(de.sidebarViewport,i&&de.sidebarViewportHidden)},a.createElement(ce,{sidebar:t,path:c,onCollapse:d,isHidden:i}),i&&a.createElement(se,{toggleSidebar:d}))))}const be={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function pe(e){let{hiddenSidebarContainer:t,children:n}=e;const l=(0,d.t)();return a.createElement("main",{className:(0,o.A)(be.docMainContainer,(t||!l)&&be.docMainContainerEnhanced)},a.createElement("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",be.docItemWrapper,t&&be.docItemWrapperEnhanced)},n))}const he={docPage:"docPage__5DB",docsWrapper:"docsWrapper_BCFX","themedComponent--light":"themedComponent--light_NU7w"};function Ee(e){let{children:t}=e;const n=(0,d.t)(),[o,l]=(0,a.useState)(!1);return a.createElement(m.A,{wrapperClassName:he.docsWrapper},a.createElement(E,null),a.createElement("div",{className:he.docPage},n&&a.createElement(ue,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:l}),a.createElement(pe,{hiddenSidebarContainer:o},t)))}var fe=n(1774),ge=n(1463);function ve(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(ge.A,{version:t.version,tag:(0,c.tU)(t.pluginId,t.version)}),a.createElement(l.be,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function _e(e){const{versionMetadata:t}=e,n=(0,i.mz)(e);if(!n)return a.createElement(fe.default,null);const{docElement:c,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(ve,e),a.createElement(l.e3,{className:(0,o.A)(r.G.wrapper.docsPages,r.G.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.n,{version:t},a.createElement(d.V,{name:m,items:u},a.createElement(Ee,null,c)))))}},1774:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(6540),o=n(1312),l=n(9024),r=n(2546);function c(){return a.createElement(a.Fragment,null,a.createElement(l.be,{title:(0,o.T)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.A,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},2252:(e,t,n)=>{n.d(t,{n:()=>r,r:()=>c});var a=n(6540),o=n(9532);const l=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(l.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(l);if(null===e)throw new o.dV("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/1d150b43.2d361014.js b/assets/js/1d150b43.2d361014.js deleted file mode 100644 index 85747d130..000000000 --- a/assets/js/1d150b43.2d361014.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8347],{5680:(e,n,i)=>{i.d(n,{xA:()=>s,yg:()=>m});var t=i(6540);function r(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function a(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,t)}return i}function o(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?a(Object(i),!0).forEach((function(n){r(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function l(e,n){if(null==e)return{};var i,t,r=function(e,n){if(null==e)return{};var i,t,r={},a=Object.keys(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||(r[i]=e[i]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=t.createContext({}),p=function(e){var n=t.useContext(c),i=n;return e&&(i="function"==typeof e?e(n):o(o({},n),e)),i},s=function(e){var n=p(e.components);return t.createElement(c.Provider,{value:n},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},f=t.forwardRef((function(e,n){var i=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(i),f=r,m=u["".concat(c,".").concat(f)]||u[f]||g[f]||a;return i?t.createElement(m,o(o({ref:n},s),{},{components:i})):t.createElement(m,o({ref:n},s))}));function m(e,n){var i=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=i.length,o=new Array(a);o[0]=f;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<a;p++)o[p]=i[p];return t.createElement.apply(null,o)}return t.createElement.apply(null,i)}f.displayName="MDXCreateElement"},8790:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var t=i(8102),r=(i(6540),i(5680));const a={id:"ima_core.InitPluginConfig",title:"Interface: InitPluginConfig",sidebar_label:"@ima/core.InitPluginConfig",custom_edit_url:null},o=void 0,l={unversionedId:"api/interfaces/ima_core.InitPluginConfig",id:"api/interfaces/ima_core.InitPluginConfig",title:"Interface: InitPluginConfig",description:"@ima/core.InitPluginConfig",source:"@site/../docs/api/interfaces/ima_core.InitPluginConfig.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.InitPluginConfig",permalink:"/api/interfaces/ima_core.InitPluginConfig",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.InitPluginConfig",title:"Interface: InitPluginConfig",sidebar_label:"@ima/core.InitPluginConfig",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.InitImaConfig",permalink:"/api/interfaces/ima_core.InitImaConfig"},next:{title:"@ima/core.Manifest",permalink:"/api/interfaces/ima_core.Manifest"}},c={},p=[{value:"Properties",id:"properties",level:2},{value:"initBind",id:"initbind",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"initServices",id:"initservices",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"initSettings",id:"initsettings",level:3},{value:"Defined in",id:"defined-in-2",level:4}],s={toc:p},u="wrapper";function g(e){let{components:n,...i}=e;return(0,r.yg)(u,(0,t.A)({},s,i,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".InitPluginConfig"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"initbind"},"initBind"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"initBind"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#plugininitbindfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"PluginInitBindFunction"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L66"},"packages/core/src/Bootstrap.ts:66")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initservices"},"initServices"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"initServices"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#plugininitservicesfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"PluginInitServicesFunction"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L65"},"packages/core/src/Bootstrap.ts:65")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initsettings"},"initSettings"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"initSettings"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#plugininitsettingsfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"PluginInitSettingsFunction"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L67"},"packages/core/src/Bootstrap.ts:67")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1d236428.54bf61d0.js b/assets/js/1d236428.54bf61d0.js new file mode 100644 index 000000000..11ea9a3d8 --- /dev/null +++ b/assets/js/1d236428.54bf61d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2869],{8208:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/core/interfaces/RouteAction","title":"Interface: RouteAction","description":"Defined in17","source":"@site/../docs/api/@ima/core/interfaces/RouteAction.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/RouteAction","permalink":"/api/@ima/core/interfaces/RouteAction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/RouteAction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Resources","permalink":"/api/@ima/core/interfaces/Resources"},"next":{"title":"Interface: RouteFactoryOptions","permalink":"/api/@ima/core/interfaces/RouteFactoryOptions"}}');var c=n(2540),i=n(3023);const s={},o="Interface: RouteAction",a={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Properties",id:"properties",level:2},{value:"event?",id:"event",level:3},{value:"type?",id:"type",level:3},{value:"url?",id:"url",level:3}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(t.header,{children:(0,c.jsx)(t.h1,{id:"interface-routeaction",children:"Interface: RouteAction"})}),"\n",(0,c.jsxs)(t.p,{children:["Defined in: ",(0,c.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L17",children:"packages/core/src/router/Router.ts:17"})]}),"\n",(0,c.jsx)(t.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,c.jsxs)(t.ul,{children:["\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,c.jsx)(t.code,{children:"PageAction"})})}),"\n"]}),"\n",(0,c.jsx)(t.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(t.h3,{id:"event",children:"event?"}),"\n",(0,c.jsxs)(t.blockquote,{children:["\n",(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:"optional"})," ",(0,c.jsx)(t.strong,{children:"event"}),": ",(0,c.jsx)(t.code,{children:"Event"})]}),"\n"]}),"\n",(0,c.jsxs)(t.p,{children:["Defined in: ",(0,c.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L19",children:"packages/core/src/router/Router.ts:19"})]}),"\n",(0,c.jsx)(t.hr,{}),"\n",(0,c.jsx)(t.h3,{id:"type",children:"type?"}),"\n",(0,c.jsxs)(t.blockquote,{children:["\n",(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:"optional"})," ",(0,c.jsx)(t.strong,{children:"type"}),": ",(0,c.jsx)(t.a,{href:"/api/@ima/core/enumerations/ActionTypes",children:(0,c.jsx)(t.code,{children:"ActionTypes"})})]}),"\n"]}),"\n",(0,c.jsxs)(t.p,{children:["Defined in: ",(0,c.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L18",children:"packages/core/src/router/Router.ts:18"})]}),"\n",(0,c.jsx)(t.hr,{}),"\n",(0,c.jsx)(t.h3,{id:"url",children:"url?"}),"\n",(0,c.jsxs)(t.blockquote,{children:["\n",(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:"optional"})," ",(0,c.jsx)(t.strong,{children:"url"}),": ",(0,c.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(t.p,{children:["Defined in: ",(0,c.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L20",children:"packages/core/src/router/Router.ts:20"})]})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(l,{...e})}):l(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>o});var r=n(3696);const c={},i=r.createContext(c);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1e67d591.303e74ba.js b/assets/js/1e67d591.303e74ba.js new file mode 100644 index 000000000..48418b001 --- /dev/null +++ b/assets/js/1e67d591.303e74ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5055],{3453:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/cli/functions/compileLanguages","title":"Function: compileLanguages()","description":"compileLanguages(imaConfig, rootDir, watch): Promise\\\\","source":"@site/../docs/api/@ima/cli/functions/compileLanguages.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/compileLanguages","permalink":"/api/@ima/cli/functions/compileLanguages","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/compileLanguages.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"index","permalink":"/api/@ima/cli/"},"next":{"title":"Function: createCacheKey()","permalink":"/api/@ima/cli/functions/createCacheKey"}}');var a=i(2540),s=i(3023);const o={},t="Function: compileLanguages()",r={},l=[{value:"Parameters",id:"parameters",level:2},{value:"imaConfig",id:"imaconfig",level:3},{value:"rootDir",id:"rootdir",level:3},{value:"watch",id:"watch",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"function-compilelanguages",children:"Function: compileLanguages()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"compileLanguages"}),"(",(0,a.jsx)(n.code,{children:"imaConfig"}),", ",(0,a.jsx)(n.code,{children:"rootDir"}),", ",(0,a.jsx)(n.code,{children:"watch"}),"): ",(0,a.jsx)(n.code,{children:"Promise"}),"<",(0,a.jsx)(n.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/languages.ts#L203",children:"webpack/languages.ts:203"})]}),"\n",(0,a.jsx)(n.p,{children:"Compile language files defined in imaConfig."}),"\n",(0,a.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(n.h3,{id:"imaconfig",children:"imaConfig"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,a.jsx)(n.code,{children:"ImaConfig"})})}),"\n",(0,a.jsx)(n.p,{children:"ima.config.js file contents."}),"\n",(0,a.jsx)(n.h3,{id:"rootdir",children:"rootDir"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"string"})}),"\n",(0,a.jsx)(n.p,{children:"Current compilation root directory."}),"\n",(0,a.jsx)(n.h3,{id:"watch",children:"watch"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"boolean"})," = ",(0,a.jsx)(n.code,{children:"false"})]}),"\n",(0,a.jsx)(n.p,{children:"When set to true, it creates chokidar instances\nwhich watch language files for changes and trigger recompilation."}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"Promise"}),"<",(0,a.jsx)(n.code,{children:"void"}),">"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>t});var c=i(3696);const a={},s=c.createContext(a);function o(e){const n=c.useContext(s);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),c.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1e7da5b4.36629560.js b/assets/js/1e7da5b4.36629560.js new file mode 100644 index 000000000..d8dcce604 --- /dev/null +++ b/assets/js/1e7da5b4.36629560.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4420],{6358:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>o,frontMatter:()=>l,metadata:()=>i,toc:()=>h});const i=JSON.parse('{"id":"api/@ima/core/classes/Dispatcher","title":"Class: abstract Dispatcher","description":"Defined in26","source":"@site/../docs/api/@ima/core/classes/Dispatcher.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Dispatcher","permalink":"/api/@ima/core/classes/Dispatcher","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Dispatcher.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Dictionary","permalink":"/api/@ima/core/classes/Dictionary"},"next":{"title":"Class: DispatcherImpl","permalink":"/api/@ima/core/classes/DispatcherImpl"}}');var r=s(2540),t=s(3023);const l={},c="Class: abstract Dispatcher",d={},h=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Dispatcher()",id:"new-dispatcher",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"fire()",id:"fire",level:3},{value:"Call Signature",id:"call-signature",level:4},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Parameters",id:"parameters",level:5},{value:"event",id:"event",level:6},{value:"data",id:"data",level:6},{value:"Returns",id:"returns-2",level:5},{value:"Call Signature",id:"call-signature-1",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"event",id:"event-1",level:6},{value:"data",id:"data-1",level:6},{value:"Returns",id:"returns-3",level:5},{value:"listen()",id:"listen",level:3},{value:"Call Signature",id:"call-signature-2",level:4},{value:"Type Parameters",id:"type-parameters-1",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"event",id:"event-2",level:6},{value:"listener",id:"listener",level:6},{value:"scope?",id:"scope",level:6},{value:"Returns",id:"returns-4",level:5},{value:"Call Signature",id:"call-signature-3",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"event",id:"event-3",level:6},{value:"listener",id:"listener-1",level:6},{value:"scope?",id:"scope-1",level:6},{value:"Returns",id:"returns-5",level:5},{value:"listenAll()",id:"listenall",level:3},{value:"Call Signature",id:"call-signature-4",level:4},{value:"Type Parameters",id:"type-parameters-2",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"listener",id:"listener-2",level:6},{value:"scope?",id:"scope-2",level:6},{value:"Returns",id:"returns-6",level:5},{value:"Call Signature",id:"call-signature-5",level:4},{value:"Parameters",id:"parameters-5",level:5},{value:"listener",id:"listener-3",level:6},{value:"scope?",id:"scope-3",level:6},{value:"Returns",id:"returns-7",level:5},{value:"unlisten()",id:"unlisten",level:3},{value:"Call Signature",id:"call-signature-6",level:4},{value:"Type Parameters",id:"type-parameters-3",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"event",id:"event-4",level:6},{value:"listener",id:"listener-4",level:6},{value:"scope?",id:"scope-4",level:6},{value:"Returns",id:"returns-8",level:5},{value:"Call Signature",id:"call-signature-7",level:4},{value:"Parameters",id:"parameters-7",level:5},{value:"event",id:"event-5",level:6},{value:"listener",id:"listener-5",level:6},{value:"scope?",id:"scope-5",level:6},{value:"Returns",id:"returns-9",level:5},{value:"unlistenAll()",id:"unlistenall",level:3},{value:"Call Signature",id:"call-signature-8",level:4},{value:"Type Parameters",id:"type-parameters-4",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"listener",id:"listener-6",level:6},{value:"scope?",id:"scope-6",level:6},{value:"Returns",id:"returns-10",level:5},{value:"Call Signature",id:"call-signature-9",level:4},{value:"Parameters",id:"parameters-9",level:5},{value:"listener",id:"listener-7",level:6},{value:"scope?",id:"scope-7",level:6},{value:"Returns",id:"returns-11",level:5}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsxs)(n.h1,{id:"class-abstract-dispatcher",children:["Class: ",(0,r.jsx)(n.code,{children:"abstract"})," Dispatcher"]})}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L26",children:"packages/core/src/event/Dispatcher.ts:26"})]}),"\n",(0,r.jsx)(n.p,{children:"A Dispatcher is a utility that manager event listeners registered for events\nand allows distributing (firing) events to the listeners registered for the\ngiven event."}),"\n",(0,r.jsx)(n.p,{children:"The dispatcher provides a single-node event bus and is usually used to\npropagate events from controllers to UI components when modifying/passing\nthe state is impractical for any reason."}),"\n",(0,r.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,r.jsx)(n.code,{children:"DispatcherImpl"})})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(n.h3,{id:"new-dispatcher",children:"new Dispatcher()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"new Dispatcher"}),"(): ",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,r.jsx)(n.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,r.jsx)(n.code,{children:"Dispatcher"})})}),"\n",(0,r.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(n.h3,{id:"clear",children:"clear()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"clear"}),"(): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L31",children:"packages/core/src/event/Dispatcher.ts:31"})]}),"\n",(0,r.jsx)(n.p,{children:"Deregisters all event listeners currently registered with this\ndispatcher."}),"\n",(0,r.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,r.jsx)(n.h4,{id:"call-signature",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"fire"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"data"}),"): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L158",children:"packages/core/src/event/Dispatcher.ts:158"})]}),"\n",(0,r.jsx)(n.p,{children:"Fires a new event of the specified name, carrying the provided data."}),"\n",(0,r.jsx)(n.p,{children:"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."}),"\n",(0,r.jsx)(n.p,{children:"It will also execute all event listeners registered to listen to all events."}),"\n",(0,r.jsx)(n.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,r.jsx)(n.h5,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," keyof ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,r.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"event",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"E"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event to fire."}),"\n",(0,r.jsx)(n.h6,{id:"data",children:"data"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})}),"[",(0,r.jsx)(n.code,{children:"E"}),"]"]}),"\n",(0,r.jsx)(n.p,{children:"The data to pass to the event listeners."}),"\n",(0,r.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-1",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"fire"}),"(",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"data"}),"): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L162",children:"packages/core/src/event/Dispatcher.ts:162"})]}),"\n",(0,r.jsx)(n.p,{children:"Fires a new event of the specified name, carrying the provided data."}),"\n",(0,r.jsx)(n.p,{children:"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."}),"\n",(0,r.jsx)(n.p,{children:"It will also execute all event listeners registered to listen to all events."}),"\n",(0,r.jsx)(n.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,r.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"event-1",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event to fire."}),"\n",(0,r.jsx)(n.h6,{id:"data-1",children:"data"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"any"})}),"\n",(0,r.jsx)(n.p,{children:"The data to pass to the event listeners."}),"\n",(0,r.jsx)(n.h5,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"listen",children:"listen()"}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-2",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"listen"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L52",children:"packages/core/src/event/Dispatcher.ts:52"})]}),"\n",(0,r.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specified\nevent is fired on this dispatcher."}),"\n",(0,r.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the data passed with the event as the first argument."}),"\n",(0,r.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener for the\nsame event and with the same scope multiple times has no effect."}),"\n",(0,r.jsx)(n.h5,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," keyof ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,r.jsx)(n.h5,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"event-2",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"E"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event to listen for."}),"\n",(0,r.jsx)(n.h6,{id:"listener",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,r.jsx)(n.code,{children:"DispatcherListener"})}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})}),"[",(0,r.jsx)(n.code,{children:"E"}),"]>"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener to register."}),"\n",(0,r.jsx)(n.h6,{id:"scope",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword\nwill be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-3",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"listen"}),"(",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L57",children:"packages/core/src/event/Dispatcher.ts:57"})]}),"\n",(0,r.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specified\nevent is fired on this dispatcher."}),"\n",(0,r.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the data passed with the event as the first argument."}),"\n",(0,r.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener for the\nsame event and with the same scope multiple times has no effect."}),"\n",(0,r.jsx)(n.h5,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"event-3",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event to listen for."}),"\n",(0,r.jsx)(n.h6,{id:"listener-1",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,r.jsx)(n.code,{children:"DispatcherListener"})}),"<",(0,r.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener to register."}),"\n",(0,r.jsx)(n.h6,{id:"scope-1",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword\nwill be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"listenall",children:"listenAll()"}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-4",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"listenAll"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L86",children:"packages/core/src/event/Dispatcher.ts:86"})]}),"\n",(0,r.jsx)(n.p,{children:"Registers the provided event listener to be executed when any event is fired\non this dispatcher."}),"\n",(0,r.jsx)(n.p,{children:"When any event is fired, the event listener will be executed with the data\npassed with the event as the first argument."}),"\n",(0,r.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener with the same\nscope multiple times has no effect."}),"\n",(0,r.jsx)(n.h5,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," keyof ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,r.jsx)(n.h5,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"listener-2",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"DispatcherListenerAll"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})}),"[",(0,r.jsx)(n.code,{children:"E"}),"]>"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener to register."}),"\n",(0,r.jsx)(n.h6,{id:"scope-2",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword\nwill be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-6",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-5",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"listenAll"}),"(",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L90",children:"packages/core/src/event/Dispatcher.ts:90"})]}),"\n",(0,r.jsx)(n.p,{children:"Registers the provided event listener to be executed when any event is fired\non this dispatcher."}),"\n",(0,r.jsx)(n.p,{children:"When any event is fired, the event listener will be executed with the data\npassed with the event as the first argument."}),"\n",(0,r.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener with the same\nscope multiple times has no effect."}),"\n",(0,r.jsx)(n.h5,{id:"parameters-5",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"listener-3",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"DispatcherListenerAll"}),"<",(0,r.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener to register."}),"\n",(0,r.jsx)(n.h6,{id:"scope-3",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword\nwill be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-7",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-6",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"unlisten"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L106",children:"packages/core/src/event/Dispatcher.ts:106"})]}),"\n",(0,r.jsx)(n.p,{children:"Deregisters the provided event listener, so it will no longer be\nexecuted with the specified scope when the specified event is fired."}),"\n",(0,r.jsx)(n.h5,{id:"type-parameters-3",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," keyof ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,r.jsx)(n.h5,{id:"parameters-6",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"event-4",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"E"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event for which the listener\nshould be deregistered."}),"\n",(0,r.jsx)(n.h6,{id:"listener-4",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,r.jsx)(n.code,{children:"DispatcherListener"})}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})}),"[",(0,r.jsx)(n.code,{children:"E"}),"]>"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener to deregister."}),"\n",(0,r.jsx)(n.h6,{id:"scope-4",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword\nwould be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-8",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-7",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"unlisten"}),"(",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L111",children:"packages/core/src/event/Dispatcher.ts:111"})]}),"\n",(0,r.jsx)(n.p,{children:"Deregisters the provided event listener, so it will no longer be\nexecuted with the specified scope when the specified event is fired."}),"\n",(0,r.jsx)(n.h5,{id:"parameters-7",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"event-5",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event for which the listener\nshould be deregistered."}),"\n",(0,r.jsx)(n.h6,{id:"listener-5",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,r.jsx)(n.code,{children:"DispatcherListener"})}),"<",(0,r.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener to deregister."}),"\n",(0,r.jsx)(n.h6,{id:"scope-5",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword\nwould be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-9",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"unlistenall",children:"unlistenAll()"}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-8",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"unlistenAll"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L132",children:"packages/core/src/event/Dispatcher.ts:132"})]}),"\n",(0,r.jsx)(n.p,{children:"Deregisters the provided event listener, so it will no longer be\nexecuted when any event is fired."}),"\n",(0,r.jsx)(n.h5,{id:"type-parameters-4",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," keyof ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,r.jsx)(n.h5,{id:"parameters-8",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"listener-6",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"DispatcherListenerAll"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,r.jsx)(n.code,{children:"DispatcherEventsMap"})}),"[",(0,r.jsx)(n.code,{children:"E"}),"]>"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener function to deregister for all events."}),"\n",(0,r.jsx)(n.h6,{id:"scope-6",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["Optional. The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword would be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-10",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher instance."}),"\n",(0,r.jsx)(n.h4,{id:"call-signature-9",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"unlistenAll"}),"(",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L136",children:"packages/core/src/event/Dispatcher.ts:136"})]}),"\n",(0,r.jsx)(n.p,{children:"Deregisters the provided event listener, so it will no longer be\nexecuted when any event is fired."}),"\n",(0,r.jsx)(n.h5,{id:"parameters-9",children:"Parameters"}),"\n",(0,r.jsx)(n.h6,{id:"listener-7",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"DispatcherListenerAll"}),"<",(0,r.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"The event listener function to deregister for all events."}),"\n",(0,r.jsx)(n.h6,{id:"scope-7",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})}),"\n",(0,r.jsxs)(n.p,{children:["Optional. The object to which the ",(0,r.jsx)(n.code,{children:"this"})," keyword would be bound in the event listener."]}),"\n",(0,r.jsx)(n.h5,{id:"returns-11",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"this"})}),"\n",(0,r.jsx)(n.p,{children:"This dispatcher instance."})]})}function o(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>c});var i=s(3696);const r={},t=i.createContext(r);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f21f457.78b8a72f.js b/assets/js/1f21f457.78b8a72f.js new file mode 100644 index 000000000..811b7d485 --- /dev/null +++ b/assets/js/1f21f457.78b8a72f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6327],{3597:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>o,frontMatter:()=>d,metadata:()=>r,toc:()=>a});const r=JSON.parse('{"id":"api/@ima/core/classes/HttpAgentImpl","title":"Class: HttpAgentImpl","description":"Defined in27","source":"@site/../docs/api/@ima/core/classes/HttpAgentImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/HttpAgentImpl","permalink":"/api/@ima/core/classes/HttpAgentImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/HttpAgentImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract HttpAgent","permalink":"/api/@ima/core/classes/HttpAgent"},"next":{"title":"Class: HttpProxy","permalink":"/api/@ima/core/classes/HttpProxy"}}');var t=n(2540),i=n(3023);const d={},c="Class: HttpAgentImpl",l={},a=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new HttpAgentImpl()",id:"new-httpagentimpl",level:3},{value:"Parameters",id:"parameters",level:4},{value:"proxy",id:"proxy",level:5},{value:"cache",id:"cache",level:5},{value:"cookie",id:"cookie",level:5},{value:"config",id:"config",level:5},{value:"Helper",id:"helper",level:5},{value:"Returns",id:"returns",level:4},{value:"Examples",id:"examples",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_cache",id:"_cache",level:3},{value:"_cacheOptions",id:"_cacheoptions",level:3},{value:"_cookie",id:"_cookie",level:3},{value:"_defaultRequestOptions",id:"_defaultrequestoptions",level:3},{value:"_Helper",id:"_helper",level:3},{value:"_internalCacheOfPromises",id:"_internalcacheofpromises",level:3},{value:"_proxy",id:"_proxy",level:3},{value:"Methods",id:"methods",level:2},{value:"_cleanResponse()",id:"_cleanresponse",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"response",id:"response",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_clone()",id:"_clone",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_getCachedData()",id:"_getcacheddata",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"method",id:"method",level:5},{value:"url",id:"url",level:5},{value:"data?",id:"data",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_getCacheKeySuffix()",id:"_getcachekeysuffix",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"method",id:"method-1",level:5},{value:"url",id:"url-1",level:5},{value:"data?",id:"data-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_prepareOptions()",id:"_prepareoptions",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"options",id:"options",level:5},{value:"url",id:"url-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"_proxyRejected()",id:"_proxyrejected",level:3},{value:"Type Parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"error",id:"error",level:5},{value:"Returns",id:"returns-6",level:4},{value:"_proxyResolved()",id:"_proxyresolved",level:3},{value:"Type Parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"response",id:"response-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"_request()",id:"_request",level:3},{value:"Type Parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"method",id:"method-2",level:5},{value:"url",id:"url-3",level:5},{value:"data",id:"data-2",level:5},{value:"options",id:"options-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"_requestWithCheckCache()",id:"_requestwithcheckcache",level:3},{value:"Type Parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"method",id:"method-3",level:5},{value:"url",id:"url-4",level:5},{value:"data?",id:"data-3",level:5},{value:"options?",id:"options-2",level:5},{value:"Returns",id:"returns-9",level:4},{value:"_saveAgentResponseToCache()",id:"_saveagentresponsetocache",level:3},{value:"Type Parameters",id:"type-parameters-7",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"agentResponse",id:"agentresponse",level:5},{value:"Returns",id:"returns-10",level:4},{value:"_setCookiesFromResponse()",id:"_setcookiesfromresponse",level:3},{value:"Type Parameters",id:"type-parameters-8",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"agentResponse",id:"agentresponse-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"clearDefaultHeaders()",id:"cleardefaultheaders",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Type Parameters",id:"type-parameters-9",level:4},{value:"Parameters",id:"parameters-12",level:4},{value:"url",id:"url-5",level:5},{value:"data?",id:"data-4",level:5},{value:"options?",id:"options-3",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"get()",id:"get",level:3},{value:"Type Parameters",id:"type-parameters-10",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"url",id:"url-6",level:5},{value:"data?",id:"data-5",level:5},{value:"options?",id:"options-4",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"getCacheKey()",id:"getcachekey",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"method",id:"method-4",level:5},{value:"url",id:"url-7",level:5},{value:"data?",id:"data-6",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"invalidateCache()",id:"invalidatecache",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"method",id:"method-5",level:5},{value:"url",id:"url-8",level:5},{value:"data?",id:"data-7",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"patch()",id:"patch",level:3},{value:"Type Parameters",id:"type-parameters-11",level:4},{value:"Parameters",id:"parameters-16",level:4},{value:"url",id:"url-9",level:5},{value:"data?",id:"data-8",level:5},{value:"options?",id:"options-5",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"post()",id:"post",level:3},{value:"Type Parameters",id:"type-parameters-12",level:4},{value:"Parameters",id:"parameters-17",level:4},{value:"url",id:"url-10",level:5},{value:"data?",id:"data-9",level:5},{value:"options?",id:"options-6",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"put()",id:"put",level:3},{value:"Type Parameters",id:"type-parameters-13",level:4},{value:"Parameters",id:"parameters-18",level:4},{value:"url",id:"url-11",level:5},{value:"data?",id:"data-10",level:5},{value:"options?",id:"options-7",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"setDefaultHeader()",id:"setdefaultheader",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"header",id:"header",level:5},{value:"value",id:"value-1",level:5},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-9",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"class-httpagentimpl",children:"Class: HttpAgentImpl"})}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L27",children:"packages/core/src/http/HttpAgentImpl.ts:27"})]}),"\n",(0,t.jsxs)(s.p,{children:["Implementation of the ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:"HttpAgent"})," interface with internal caching\nof completed and ongoing HTTP requests and cookie storage."]}),"\n",(0,t.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"new-httpagentimpl",children:"new HttpAgentImpl()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"new HttpAgentImpl"}),"(",(0,t.jsx)(s.code,{children:"proxy"}),", ",(0,t.jsx)(s.code,{children:"cache"}),", ",(0,t.jsx)(s.code,{children:"cookie"}),", ",(0,t.jsx)(s.code,{children:"config"}),", ",(0,t.jsx)(s.code,{children:"Helper"}),"): ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgentImpl",children:(0,t.jsx)(s.code,{children:"HttpAgentImpl"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L69",children:"packages/core/src/http/HttpAgentImpl.ts:69"})]}),"\n",(0,t.jsx)(s.p,{children:"Initializes the HTTP handler."}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"proxy",children:"proxy"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpProxy",children:(0,t.jsx)(s.code,{children:"HttpProxy"})})}),"\n",(0,t.jsx)(s.p,{children:"The low-level HTTP proxy for sending the HTTP\nrequests."}),"\n",(0,t.jsx)(s.h5,{id:"cache",children:"cache"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Cache",children:(0,t.jsx)(s.code,{children:"Cache"})}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"unknown"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"Cache to use for caching ongoing and completed\nrequests."}),"\n",(0,t.jsx)(s.h5,{id:"cookie",children:"cookie"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/CookieStorage",children:(0,t.jsx)(s.code,{children:"CookieStorage"})})}),"\n",(0,t.jsx)(s.p,{children:"The cookie storage to use internally."}),"\n",(0,t.jsx)(s.h5,{id:"config",children:"config"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"HttpAgentImplConfig"})}),"\n",(0,t.jsx)(s.p,{children:"Configuration of the HTTP handler for\nthe current application environment, specifying the various\ndefault request option values and cache option values."}),"\n",(0,t.jsx)(s.h5,{id:"helper",children:"Helper"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"__module"})}),"\n",(0,t.jsx)(s.p,{children:"The IMA.js helper methods."}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgentImpl",children:(0,t.jsx)(s.code,{children:"HttpAgentImpl"})})}),"\n",(0,t.jsx)(s.h4,{id:"examples",children:"Examples"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ts",children:"http\n .get('url', { data: data }, {\n ttl: 2000,\n repeatRequest: 1,\n withCredentials: true,\n timeout: 2000,\n accept: 'application/json',\n language: 'en'\n })\n .then((response) => {\n //resolve\n }\n .catch((error) => {\n //catch\n });\n"})}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ts",children:"http\n .setDefaultHeader('Accept-Language', 'en')\n .clearDefaultHeaders();\n"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#constructors",children:(0,t.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,t.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"_cache",children:"_cache"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_cache"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Cache",children:(0,t.jsx)(s.code,{children:"Cache"})}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"unknown"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L29",children:"packages/core/src/http/HttpAgentImpl.ts:29"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_cacheoptions",children:"_cacheOptions"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_cacheOptions"}),": ",(0,t.jsx)(s.code,{children:"HttpAgentImplCacheOptions"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L31",children:"packages/core/src/http/HttpAgentImpl.ts:31"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_cookie",children:"_cookie"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_cookie"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/CookieStorage",children:(0,t.jsx)(s.code,{children:"CookieStorage"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L30",children:"packages/core/src/http/HttpAgentImpl.ts:30"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_defaultrequestoptions",children:"_defaultRequestOptions"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_defaultRequestOptions"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L32",children:"packages/core/src/http/HttpAgentImpl.ts:32"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_helper",children:"_Helper"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_Helper"}),": ",(0,t.jsx)(s.code,{children:"__module"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L33",children:"packages/core/src/http/HttpAgentImpl.ts:33"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_internalcacheofpromises",children:"_internalCacheOfPromises"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_internalCacheOfPromises"}),": ",(0,t.jsx)(s.code,{children:"Map"}),"<",(0,t.jsx)(s.code,{children:"any"}),", ",(0,t.jsx)(s.code,{children:"any"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L34",children:"packages/core/src/http/HttpAgentImpl.ts:34"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_proxy",children:"_proxy"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_proxy"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpProxy",children:(0,t.jsx)(s.code,{children:"HttpProxy"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L28",children:"packages/core/src/http/HttpAgentImpl.ts:28"})]}),"\n",(0,t.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"_cleanresponse",children:"_cleanResponse()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_cleanResponse"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"response"}),"): ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L540",children:"packages/core/src/http/HttpAgentImpl.ts:540"})]}),"\n",(0,t.jsx)(s.p,{children:"Cleans cache response from data (abort controller, postProcessors), that cannot be persisted,\nbefore saving the data to the cache."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"response",children:"response"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_clone",children:"_clone()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_clone"}),"<",(0,t.jsx)(s.code,{children:"V"}),">(",(0,t.jsx)(s.code,{children:"value"}),"): ",(0,t.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L221",children:"packages/core/src/http/HttpAgentImpl.ts:221"})]}),"\n",(0,t.jsx)(s.p,{children:"Attempts to clone the provided value, if possible. Values that cannot be\ncloned (e.g. promises) will be simply returned."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"V"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"V"})}),"\n",(0,t.jsx)(s.p,{children:"The value to clone."}),"\n",(0,t.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"V"})}),"\n",(0,t.jsx)(s.p,{children:"The created clone, or the provided value if the value cannot be\ncloned."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_getcacheddata",children:"_getCachedData()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_getCachedData"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"method"}),", ",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?): ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L278",children:"packages/core/src/http/HttpAgentImpl.ts:278"})]}),"\n",(0,t.jsx)(s.p,{children:"Tests whether an ongoing or completed HTTP request for the specified URL\nand data is present in the internal cache and, if it is, the method\nreturns a promise that resolves to the response body parsed as JSON."}),"\n",(0,t.jsxs)(s.p,{children:["The method returns ",(0,t.jsx)(s.code,{children:"null"})," if no such request is present in the\ncache."]}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"method",children:"method"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The HTTP method used by the request."}),"\n",(0,t.jsx)(s.h5,{id:"url",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request was made."}),"\n",(0,t.jsx)(s.h5,{id:"data",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data sent\nto the server with the request."}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsxs)(s.p,{children:["A promise that will resolve to the\nserver response with the body parsed as JSON, or ",(0,t.jsx)(s.code,{children:"null"})," if\nno such request is present in the cache."]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_getcachekeysuffix",children:"_getCacheKeySuffix()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_getCacheKeySuffix"}),"(",(0,t.jsx)(s.code,{children:"method"}),", ",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?): ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L478",children:"packages/core/src/http/HttpAgentImpl.ts:478"})]}),"\n",(0,t.jsx)(s.p,{children:"Generates cache key suffix for an HTTP request to the specified URL with\nthe specified data."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"method-1",children:"method"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The HTTP method used by the request."}),"\n",(0,t.jsx)(s.h5,{id:"url-1",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request is sent."}),"\n",(0,t.jsx)(s.h5,{id:"data-1",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data sent\nwith the request."}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The suffix of a cache key to use for a request to the\nspecified URL, carrying the specified data."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_prepareoptions",children:"_prepareOptions()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_prepareOptions"}),"(",(0,t.jsx)(s.code,{children:"options"}),", ",(0,t.jsx)(s.code,{children:"url"}),"): ",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L435",children:"packages/core/src/http/HttpAgentImpl.ts:435"})]}),"\n",(0,t.jsx)(s.p,{children:"Prepares the provided request options object by filling in missing\noptions with default values and adding extra options used internally."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"options",children:"options"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),"> = ",(0,t.jsx)(s.code,{children:"{}"})]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h5,{id:"url-2",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})})}),"\n",(0,t.jsx)(s.p,{children:"Request options with set filled-in\ndefault values for missing fields, and extra options used\ninternally."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_proxyrejected",children:"_proxyRejected()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_proxyRejected"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"error"}),"): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L398",children:"packages/core/src/http/HttpAgentImpl.ts:398"})]}),"\n",(0,t.jsx)(s.p,{children:"Handles rejection of the HTTP request by the HTTP proxy. The method\ntests whether there are any remaining tries for the request, and if\nthere are any, it attempts re-send the request."}),"\n",(0,t.jsx)(s.p,{children:"The method rejects the internal request promise if there are no tries\nleft."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-3",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"error",children:"error"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(s.code,{children:"GenericError"})}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpProxyErrorParams",children:(0,t.jsx)(s.code,{children:"HttpProxyErrorParams"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"The error provided by the HttpProxy,\ncarrying the error parameters, such as the request url, data,\nmethod, options and other useful data."}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that will either resolve to a\nserver's response (with the body parsed as JSON) if there are\nany tries left and the re-tried request succeeds, or rejects\nwith an error containing details of the cause of the request's\nfailure."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_proxyresolved",children:"_proxyResolved()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_proxyResolved"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"response"}),"): ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L343",children:"packages/core/src/http/HttpAgentImpl.ts:343"})]}),"\n",(0,t.jsx)(s.p,{children:"Handles successful completion of an HTTP request by the HTTP proxy."}),"\n",(0,t.jsx)(s.p,{children:"The method also updates the internal cookie storage with the cookies\nreceived from the server."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-4",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"response-1",children:"response"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Server response."}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"The post-processed server response."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_request",children:"_request()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_request"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"method"}),", ",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),", ",(0,t.jsx)(s.code,{children:"options"}),"): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L314",children:"packages/core/src/http/HttpAgentImpl.ts:314"})]}),"\n",(0,t.jsx)(s.p,{children:"Sends a new HTTP request using the specified method to the specified\nurl. The request will carry the provided data as query parameters if the\nHTTP method is GET, but the data will be sent as request body for any\nother request method."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-5",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"method-2",children:"method"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"HTTP method to use."}),"\n",(0,t.jsx)(s.h5,{id:"url-3",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request is sent."}),"\n",(0,t.jsx)(s.h5,{id:"data-2",children:"data"}),"\n",(0,t.jsx)(s.p,{children:"The data sent\nwith the request."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(s.h5,{id:"options-1",children:"options"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})})}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the response\nwith the body parsed as JSON."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_requestwithcheckcache",children:"_requestWithCheckCache()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_requestWithCheckCache"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"method"}),", ",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?, ",(0,t.jsx)(s.code,{children:"options"}),"?): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L243",children:"packages/core/src/http/HttpAgentImpl.ts:243"})]}),"\n",(0,t.jsx)(s.p,{children:"Check cache and if data isn\u2019t available then make real request."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-6",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"method-3",children:"method"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The HTTP method to use."}),"\n",(0,t.jsx)(s.h5,{id:"url-4",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request should be sent."}),"\n",(0,t.jsx)(s.h5,{id:"data-3",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data to send with the request."}),"\n",(0,t.jsx)(s.h5,{id:"options-2",children:"options?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the response\nwith body parsed as JSON."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_saveagentresponsetocache",children:"_saveAgentResponseToCache()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_saveAgentResponseToCache"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"agentResponse"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L522",children:"packages/core/src/http/HttpAgentImpl.ts:522"})]}),"\n",(0,t.jsx)(s.p,{children:"Saves the server response to the cache to be used as the result of the\nnext request of the same properties."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-7",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"agentresponse",children:"agentResponse"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"The response of the server."}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_setcookiesfromresponse",children:"_setCookiesFromResponse()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"_setCookiesFromResponse"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"agentResponse"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L501",children:"packages/core/src/http/HttpAgentImpl.ts:501"})]}),"\n",(0,t.jsxs)(s.p,{children:["Sets all cookies from the ",(0,t.jsx)(s.code,{children:"Set-Cookie"})," response header to the\ncookie storage."]}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-8",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"agentresponse-1",children:"agentResponse"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"The response of the server."}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"cleardefaultheaders",children:"clearDefaultHeaders()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"clearDefaultHeaders"}),"(): ",(0,t.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L207",children:"packages/core/src/http/HttpAgentImpl.ts:207"})]}),"\n",(0,t.jsx)(s.p,{children:"Clears all configured default headers."}),"\n",(0,t.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"this"})}),"\n",(0,t.jsx)(s.p,{children:"This HTTP agent."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#cleardefaultheaders",children:(0,t.jsx)(s.code,{children:"clearDefaultHeaders"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"delete"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?, ",(0,t.jsx)(s.code,{children:"options"}),"?): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L164",children:"packages/core/src/http/HttpAgentImpl.ts:164"})]}),"\n",(0,t.jsx)(s.p,{children:"Sends an HTTP DELETE request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-9",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})," = ",(0,t.jsx)(s.code,{children:"unknown"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"url-5",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,t.jsx)(s.h5,{id:"data-4",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,t.jsx)(s.h5,{id:"options-3",children:"options?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#delete",children:(0,t.jsx)(s.code,{children:"delete"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"get"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?, ",(0,t.jsx)(s.code,{children:"options"}),"?): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L105",children:"packages/core/src/http/HttpAgentImpl.ts:105"})]}),"\n",(0,t.jsx)(s.p,{children:"Sends an HTTP GET request to the specified URL, sending the provided\ndata as query parameters."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-10",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})," = ",(0,t.jsx)(s.code,{children:"unknown"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"url-6",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,t.jsx)(s.h5,{id:"data-5",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data to send\nto the server as query parameters."}),"\n",(0,t.jsx)(s.h5,{id:"options-4",children:"options?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#get",children:(0,t.jsx)(s.code,{children:"get"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getcachekey",children:"getCacheKey()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getCacheKey"}),"(",(0,t.jsx)(s.code,{children:"method"}),", ",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?): ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L180",children:"packages/core/src/http/HttpAgentImpl.ts:180"})]}),"\n",(0,t.jsx)(s.p,{children:"Generates a cache key to use for identifying a request to the specified\nURL using the specified HTTP method, submitting the provided data."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"method-4",children:"method"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The HTTP method used by the request."}),"\n",(0,t.jsx)(s.h5,{id:"url-7",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request is sent."}),"\n",(0,t.jsx)(s.h5,{id:"data-6",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data associated with the\nrequest. These can be either the query parameters or request body\ndata."}),"\n",(0,t.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The key to use for identifying such a request in the\ncache."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#getcachekey",children:(0,t.jsx)(s.code,{children:"getCacheKey"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"invalidatecache",children:"invalidateCache()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"invalidateCache"}),"(",(0,t.jsx)(s.code,{children:"method"}),", ",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L189",children:"packages/core/src/http/HttpAgentImpl.ts:189"})]}),"\n",(0,t.jsx)(s.p,{children:"Method invalidate cache for given params"}),"\n",(0,t.jsx)(s.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"method-5",children:"method"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.h5,{id:"url-8",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.h5,{id:"data-7",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#invalidatecache",children:(0,t.jsx)(s.code,{children:"invalidateCache"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"patch",children:"patch()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"patch"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?, ",(0,t.jsx)(s.code,{children:"options"}),"?): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L148",children:"packages/core/src/http/HttpAgentImpl.ts:148"})]}),"\n",(0,t.jsx)(s.p,{children:"Sends an HTTP PATCH request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-11",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})," = ",(0,t.jsx)(s.code,{children:"unknown"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"url-9",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,t.jsx)(s.h5,{id:"data-8",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,t.jsx)(s.h5,{id:"options-5",children:"options?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#patch",children:(0,t.jsx)(s.code,{children:"patch"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"post",children:"post()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"post"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?, ",(0,t.jsx)(s.code,{children:"options"}),"?): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L116",children:"packages/core/src/http/HttpAgentImpl.ts:116"})]}),"\n",(0,t.jsx)(s.p,{children:"Sends an HTTP POST request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-12",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})," = ",(0,t.jsx)(s.code,{children:"unknown"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"url-10",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,t.jsx)(s.h5,{id:"data-9",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,t.jsx)(s.h5,{id:"options-6",children:"options?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#post",children:(0,t.jsx)(s.code,{children:"post"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"put",children:"put()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"put"}),"<",(0,t.jsx)(s.code,{children:"B"}),">(",(0,t.jsx)(s.code,{children:"url"}),", ",(0,t.jsx)(s.code,{children:"data"}),"?, ",(0,t.jsx)(s.code,{children:"options"}),"?): ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L132",children:"packages/core/src/http/HttpAgentImpl.ts:132"})]}),"\n",(0,t.jsx)(s.p,{children:"Sends an HTTP PUT request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-13",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"B"})," = ",(0,t.jsx)(s.code,{children:"unknown"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"url-11",children:"url"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,t.jsx)(s.h5,{id:"data-10",children:"data?"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,t.jsx)(s.h5,{id:"options-7",children:"options?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,t.jsx)(s.p,{children:"Optional request options."}),"\n",(0,t.jsx)(s.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#put",children:(0,t.jsx)(s.code,{children:"put"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"setdefaultheader",children:"setDefaultHeader()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"setDefaultHeader"}),"(",(0,t.jsx)(s.code,{children:"header"}),", ",(0,t.jsx)(s.code,{children:"value"}),"): ",(0,t.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgentImpl.ts#L198",children:"packages/core/src/http/HttpAgentImpl.ts:198"})]}),"\n",(0,t.jsx)(s.p,{children:"Sets the specified header to be sent with every subsequent HTTP request,\nunless explicitly overridden by request options."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"header",children:"header"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The name of the header."}),"\n",(0,t.jsx)(s.h5,{id:"value-1",children:"value"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsxs)(s.p,{children:["The header value. To provide multiple values,\nseparate them with commas\n(see ",(0,t.jsx)(s.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2"}),")."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-20",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"this"})}),"\n",(0,t.jsx)(s.p,{children:"This HTTP agent."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,t.jsx)(s.code,{children:"HttpAgent"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent#setdefaultheader",children:(0,t.jsx)(s.code,{children:"setDefaultHeader"})})]})]})}function o(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>c});var r=n(3696);const t={},i=r.createContext(t);function d(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f47704f.31645bd9.js b/assets/js/1f47704f.31645bd9.js new file mode 100644 index 000000000..8c1c1bae5 --- /dev/null +++ b/assets/js/1f47704f.31645bd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5566],{6558:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>c,default:()=>a,frontMatter:()=>l,metadata:()=>i,toc:()=>h});const i=JSON.parse('{"id":"api/@ima/core/classes/ClientWindow","title":"Class: ClientWindow","description":"Defined in9","source":"@site/../docs/api/@ima/core/classes/ClientWindow.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ClientWindow","permalink":"/api/@ima/core/classes/ClientWindow","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ClientWindow.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ClientRouter","permalink":"/api/@ima/core/classes/ClientRouter"},"next":{"title":"Class: ComponentUtils","permalink":"/api/@ima/core/classes/ComponentUtils"}}');var r=s(2540),d=s(3023);const l={},c="Class: ClientWindow",t={},h=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ClientWindow()",id:"new-clientwindow",level:3},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"bindEventListener()",id:"bindeventlistener",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"event",id:"event",level:5},{value:"listener",id:"listener",level:5},{value:"options",id:"options",level:5},{value:"scope?",id:"scope",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides",level:4},{value:"createCustomEvent()",id:"createcustomevent",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name",level:5},{value:"options",id:"options-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"See",id:"see",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getBody()",id:"getbody",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"getDocument()",id:"getdocument",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"getElementById()",id:"getelementbyid",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"id",id:"id",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"getHistoryState()",id:"gethistorystate",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getScrollX()",id:"getscrollx",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"getScrollY()",id:"getscrolly",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"getWindow()",id:"getwindow",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"hasSessionStorage()",id:"hassessionstorage",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"isClient()",id:"isclient",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"isCookieEnabled()",id:"iscookieenabled",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"pushState()",id:"pushstate",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"state",id:"state",level:5},{value:"title",id:"title",level:5},{value:"url?",id:"url",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"querySelector()",id:"queryselector",level:3},{value:"Type Parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"selector",id:"selector",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"querySelectorAll()",id:"queryselectorall",level:3},{value:"Type Parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"selector",id:"selector-1",level:5},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"url",id:"url-1",level:5},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"replaceState()",id:"replacestate",level:3},{value:"Type Parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"state",id:"state-1",level:5},{value:"title",id:"title-1",level:5},{value:"url?",id:"url-2",level:5},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"scrollTo()",id:"scrollto",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"x",id:"x",level:5},{value:"y",id:"y",level:5},{value:"Returns",id:"returns-23",level:4},{value:"Overrides",id:"overrides-21",level:4},{value:"setTitle()",id:"settitle",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"title",id:"title-2",level:5},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-22",level:4},{value:"unbindEventListener()",id:"unbindeventlistener",level:3},{value:"Type Parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"eventTarget",id:"eventtarget-1",level:5},{value:"event",id:"event-1",level:5},{value:"listener",id:"listener-1",level:5},{value:"options",id:"options-2",level:5},{value:"scope?",id:"scope-1",level:5},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-23",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"class-clientwindow",children:"Class: ClientWindow"})}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L9",children:"packages/core/src/window/ClientWindow.ts:9"})]}),"\n",(0,r.jsxs)(n.p,{children:["Client-side implementation of the ",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:"Window"})," utility API."]}),"\n",(0,r.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(n.h3,{id:"new-clientwindow",children:"new ClientWindow()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"new ClientWindow"}),"(): ",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/ClientWindow",children:(0,r.jsx)(n.code,{children:"ClientWindow"})})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/ClientWindow",children:(0,r.jsx)(n.code,{children:"ClientWindow"})})}),"\n",(0,r.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#constructors",children:(0,r.jsx)(n.code,{children:"constructor"})})]}),"\n",(0,r.jsx)(n.h2,{id:"accessors",children:"Accessors"}),"\n",(0,r.jsx)(n.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,r.jsx)(n.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"get"})," ",(0,r.jsx)(n.code,{children:"static"})," ",(0,r.jsx)(n.strong,{children:"$dependencies"}),"(): ",(0,r.jsx)(n.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L12",children:"packages/core/src/window/ClientWindow.ts:12"})]}),"\n",(0,r.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"never"}),"[]"]}),"\n",(0,r.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(n.h3,{id:"bindeventlistener",children:"bindEventListener()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"bindEventListener"}),"<",(0,r.jsx)(n.code,{children:"T"}),", ",(0,r.jsx)(n.code,{children:"E"}),", ",(0,r.jsx)(n.code,{children:"S"}),">(",(0,r.jsx)(n.code,{children:"eventTarget"}),", ",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"options"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L213",children:"packages/core/src/window/ClientWindow.ts:213"})]}),"\n",(0,r.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."}),"\n",(0,r.jsxs)(n.p,{children:["Registering the same event listener for the same event on the same event\ntarget with the same ",(0,r.jsx)(n.code,{children:"useCapture"})," flag value repeatedly has no\neffect."]}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"EventTarget"})]}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"Event"})]}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"S"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"T"})}),"\n",(0,r.jsx)(n.p,{children:"The event target."}),"\n",(0,r.jsx)(n.h5,{id:"event",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event."}),"\n",(0,r.jsx)(n.h5,{id:"listener",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:["(",(0,r.jsx)(n.code,{children:"event"}),") => ",(0,r.jsx)(n.code,{children:"void"})]}),"\n",(0,r.jsx)(n.p,{children:"The event listener."}),"\n",(0,r.jsx)(n.h5,{id:"options",children:"options"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"boolean"})," | ",(0,r.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,r.jsx)(n.h5,{id:"scope",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"S"})}),"\n",(0,r.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#bindeventlistener",children:(0,r.jsx)(n.code,{children:"bindEventListener"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"createcustomevent",children:"createCustomEvent()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"createCustomEvent"}),"<",(0,r.jsx)(n.code,{children:"T"}),">(",(0,r.jsx)(n.code,{children:"name"}),", ",(0,r.jsx)(n.code,{children:"options"}),"): ",(0,r.jsx)(n.code,{children:"CustomEvent"}),"<",(0,r.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L203",children:"packages/core/src/window/ClientWindow.ts:203"})]}),"\n",(0,r.jsx)(n.p,{children:"Create new instance of CustomEvent of the specified name and using the\nprovided options."}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Custom event's name (sometimes referred to as the\nevent's type)."}),"\n",(0,r.jsx)(n.h5,{id:"options-1",children:"options"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"CustomEventInit"}),"<",(0,r.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"The custom event's options."}),"\n",(0,r.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"CustomEvent"}),"<",(0,r.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"The created custom event."}),"\n",(0,r.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent",children:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#createcustomevent",children:(0,r.jsx)(n.code,{children:"createCustomEvent"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getbody",children:"getBody()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getBody"}),"(): ",(0,r.jsx)(n.code,{children:"undefined"})," | ",(0,r.jsx)(n.code,{children:"HTMLElement"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L141",children:"packages/core/src/window/ClientWindow.ts:141"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns the document's body element. The method returns\n",(0,r.jsx)(n.code,{children:"undefined"})," if invoked at the server-side."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"undefined"})," | ",(0,r.jsx)(n.code,{children:"HTMLElement"})]}),"\n",(0,r.jsxs)(n.p,{children:["The document's body element, or\n",(0,r.jsx)(n.code,{children:"undefined"})," if invoked at the server side."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getbody",children:(0,r.jsx)(n.code,{children:"getBody"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getdocument",children:"getDocument()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getDocument"}),"(): ",(0,r.jsx)(n.code,{children:"Document"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L69",children:"packages/core/src/window/ClientWindow.ts:69"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns the native ",(0,r.jsx)(n.code,{children:"document"})," object representing any web page loaded\nin the browser and serves as an entry point into the web page's content\nwhich is the DOM tree at the client-side. The method returns ",(0,r.jsx)(n.code,{children:"undefined"}),"\nif used at the server-side."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"Document"})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"document"})," object at the\nclient-side, or ",(0,r.jsx)(n.code,{children:"undefined"})," at the server-side."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getdocument",children:(0,r.jsx)(n.code,{children:"getDocument"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getDomain"}),"(): ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L113",children:"packages/core/src/window/ClientWindow.ts:113"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns the domain of the current document's URL as\n",(0,r.jsx)(n.code,{children:"${protocol}://${host}"}),"."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The current domain."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getdomain",children:(0,r.jsx)(n.code,{children:"getDomain"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getelementbyid",children:"getElementById()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getElementById"}),"(",(0,r.jsx)(n.code,{children:"id"}),"): ",(0,r.jsx)(n.code,{children:"null"})," | ",(0,r.jsx)(n.code,{children:"HTMLElement"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L148",children:"packages/core/src/window/ClientWindow.ts:148"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns the HTML element with the specified ",(0,r.jsx)(n.code,{children:"id"})," attribute value."]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"id",children:"id"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsxs)(n.p,{children:["The value of the ",(0,r.jsx)(n.code,{children:"id"})," attribute to look for."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"null"})," | ",(0,r.jsx)(n.code,{children:"HTMLElement"})]}),"\n",(0,r.jsxs)(n.p,{children:["The element with the specified id, or\n",(0,r.jsx)(n.code,{children:"null"})," if no such element exists."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getelementbyid",children:(0,r.jsx)(n.code,{children:"getElementById"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"gethistorystate",children:"getHistoryState()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getHistoryState"}),"(): ",(0,r.jsx)(n.code,{children:"any"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L155",children:"packages/core/src/window/ClientWindow.ts:155"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns the history state."}),"\n",(0,r.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"any"})}),"\n",(0,r.jsx)(n.p,{children:"The current history state"}),"\n",(0,r.jsx)(n.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#gethistorystate",children:(0,r.jsx)(n.code,{children:"getHistoryState"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"gethost",children:"getHost()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getHost"}),"(): ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L120",children:"packages/core/src/window/ClientWindow.ts:120"})]}),"\n",(0,r.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The current host."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#gethost",children:(0,r.jsx)(n.code,{children:"getHost"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getpath",children:"getPath()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getPath"}),"(): ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L127",children:"packages/core/src/window/ClientWindow.ts:127"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns the path part of the current URL, including the query string."}),"\n",(0,r.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The path and query string parts of the current URL."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getpath",children:(0,r.jsx)(n.code,{children:"getPath"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getscrollx",children:"getScrollX()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getScrollX"}),"(): ",(0,r.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L76",children:"packages/core/src/window/ClientWindow.ts:76"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns the number of pixels the viewport is scrolled horizontally."}),"\n",(0,r.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"number"})}),"\n",(0,r.jsx)(n.p,{children:"The number of pixels the viewport is scrolled\nhorizontally."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getscrollx",children:(0,r.jsx)(n.code,{children:"getScrollX"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getscrolly",children:"getScrollY()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getScrollY"}),"(): ",(0,r.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L91",children:"packages/core/src/window/ClientWindow.ts:91"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns the number of pixels the document is scrolled vertically."}),"\n",(0,r.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"number"})}),"\n",(0,r.jsx)(n.p,{children:"The number of pixels the document is scrolled\nvertically."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getscrolly",children:(0,r.jsx)(n.code,{children:"getScrollY"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getUrl"}),"(): ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L134",children:"packages/core/src/window/ClientWindow.ts:134"})]}),"\n",(0,r.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The current document's URL."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#geturl",children:(0,r.jsx)(n.code,{children:"getUrl"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"getwindow",children:"getWindow()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getWindow"}),"(): ",(0,r.jsx)(n.code,{children:"Window"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L62",children:"packages/core/src/window/ClientWindow.ts:62"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns the native ",(0,r.jsx)(n.code,{children:"window"})," object representing the global context\nat the client-side. The method returns ",(0,r.jsx)(n.code,{children:"undefined"})," if used at the\nserver-side."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"Window"})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"window"})," object at the\nclient-side, or ",(0,r.jsx)(n.code,{children:"undefined"})," at the server-side."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#getwindow",children:(0,r.jsx)(n.code,{children:"getWindow"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"hassessionstorage",children:"hasSessionStorage()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"hasSessionStorage"}),"(): ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L33",children:"packages/core/src/window/ClientWindow.ts:33"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns ",(0,r.jsx)(n.code,{children:"true"})," if the session storage is supported."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"boolean"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"true"})," if the session storage is supported."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#hassessionstorage",children:(0,r.jsx)(n.code,{children:"hasSessionStorage"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"isclient",children:"isClient()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"isClient"}),"(): ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L19",children:"packages/core/src/window/ClientWindow.ts:19"})]}),"\n",(0,r.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"boolean"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"true"})," if invoked at the client side."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#isclient",children:(0,r.jsx)(n.code,{children:"isClient"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"iscookieenabled",children:"isCookieEnabled()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"isCookieEnabled"}),"(): ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L26",children:"packages/core/src/window/ClientWindow.ts:26"})]}),"\n",(0,r.jsxs)(n.p,{children:["Returns ",(0,r.jsx)(n.code,{children:"true"})," if the cookies are set and processed with every\nHTTP request and response automatically by the environment."]}),"\n",(0,r.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"boolean"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"true"})," if cookies are handled automatically by\nthe environment."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#iscookieenabled",children:(0,r.jsx)(n.code,{children:"isCookieEnabled"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"pushstate",children:"pushState()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"pushState"}),"<",(0,r.jsx)(n.code,{children:"T"}),">(",(0,r.jsx)(n.code,{children:"state"}),", ",(0,r.jsx)(n.code,{children:"title"}),", ",(0,r.jsx)(n.code,{children:"url"}),"?): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L185",children:"packages/core/src/window/ClientWindow.ts:185"})]}),"\n",(0,r.jsx)(n.p,{children:"Pushes a new state to the browser history. The method has no effect if\nthe current browser does not support the history API (IE9)."}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"state",children:"state"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"T"})}),"\n",(0,r.jsx)(n.p,{children:"A state object associated with the\nhistory item, preferably representing the page state."}),"\n",(0,r.jsx)(n.h5,{id:"title",children:"title"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The page title related to the state. Note that\nthis parameter is ignored by some browsers."}),"\n",(0,r.jsx)(n.h5,{id:"url",children:"url?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The new URL at which the state is available."}),"\n",(0,r.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-16",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#pushstate",children:(0,r.jsx)(n.code,{children:"pushState"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"queryselector",children:"querySelector()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"querySelector"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"selector"}),"): ",(0,r.jsx)(n.code,{children:"null"})," | ",(0,r.jsx)(n.code,{children:"E"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L162",children:"packages/core/src/window/ClientWindow.ts:162"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns the first element matching the specified CSS 3 selector."}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters-3",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"Element"})," = ",(0,r.jsx)(n.code,{children:"Element"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"selector",children:"selector"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The CSS selector."}),"\n",(0,r.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"null"})," | ",(0,r.jsx)(n.code,{children:"E"})]}),"\n",(0,r.jsxs)(n.p,{children:["The first element matching the CSS selector or\n",(0,r.jsx)(n.code,{children:"null"})," if no such element exists."]}),"\n",(0,r.jsx)(n.h4,{id:"overrides-17",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#queryselector",children:(0,r.jsx)(n.code,{children:"querySelector"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"queryselectorall",children:"querySelectorAll()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"querySelectorAll"}),"<",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"selector"}),"): ",(0,r.jsx)(n.code,{children:"NodeListOf"}),"<",(0,r.jsx)(n.code,{children:"E"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L169",children:"packages/core/src/window/ClientWindow.ts:169"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns a node list of all elements matching the specified CSS 3\nselector."}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters-4",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"Element"})," = ",(0,r.jsx)(n.code,{children:"Element"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"selector-1",children:"selector"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The CSS selector."}),"\n",(0,r.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"NodeListOf"}),"<",(0,r.jsx)(n.code,{children:"E"}),">"]}),"\n",(0,r.jsx)(n.p,{children:"A node list containing all elements matching the\nspecified CSS selector."}),"\n",(0,r.jsx)(n.h4,{id:"overrides-18",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#queryselectorall",children:(0,r.jsx)(n.code,{children:"querySelectorAll"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"redirect",children:"redirect()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"redirect"}),"(",(0,r.jsx)(n.code,{children:"url"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L178",children:"packages/core/src/window/ClientWindow.ts:178"})]}),"\n",(0,r.jsx)(n.p,{children:"Performs a hard redirect (discarding the current JavaScript state) to\nthe specified URL."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"url-1",children:"url"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The URL to which the browser will be redirected."}),"\n",(0,r.jsx)(n.h4,{id:"returns-21",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-19",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#redirect",children:(0,r.jsx)(n.code,{children:"redirect"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"replacestate",children:"replaceState()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"replaceState"}),"<",(0,r.jsx)(n.code,{children:"T"}),">(",(0,r.jsx)(n.code,{children:"state"}),", ",(0,r.jsx)(n.code,{children:"title"}),", ",(0,r.jsx)(n.code,{children:"url"}),"?): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L194",children:"packages/core/src/window/ClientWindow.ts:194"})]}),"\n",(0,r.jsx)(n.p,{children:"Replaces the current history entry. The method has no effect if the\ncurrent browser does not support the history API (IE9)."}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters-5",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"state-1",children:"state"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"T"})}),"\n",(0,r.jsx)(n.p,{children:"A state object associated with the\nhistory item, preferably representing the page state."}),"\n",(0,r.jsx)(n.h5,{id:"title-1",children:"title"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The page title related to the state. Note that\nthis parameter is ignored by some browsers."}),"\n",(0,r.jsx)(n.h5,{id:"url-2",children:"url?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The new URL at which the state is available."}),"\n",(0,r.jsx)(n.h4,{id:"returns-22",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-20",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#replacestate",children:(0,r.jsx)(n.code,{children:"replaceState"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"scrollto",children:"scrollTo()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"scrollTo"}),"(",(0,r.jsx)(n.code,{children:"x"}),", ",(0,r.jsx)(n.code,{children:"y"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L106",children:"packages/core/src/window/ClientWindow.ts:106"})]}),"\n",(0,r.jsx)(n.p,{children:"Scrolls the viewport to the specified location (if possible)."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"x",children:"x"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"number"})}),"\n",(0,r.jsx)(n.p,{children:"Horizontal scroll offset in pixels."}),"\n",(0,r.jsx)(n.h5,{id:"y",children:"y"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"number"})}),"\n",(0,r.jsx)(n.p,{children:"Vertical scroll offset in pixels."}),"\n",(0,r.jsx)(n.h4,{id:"returns-23",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-21",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#scrollto",children:(0,r.jsx)(n.code,{children:"scrollTo"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"settitle",children:"setTitle()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"setTitle"}),"(",(0,r.jsx)(n.code,{children:"title"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L55",children:"packages/core/src/window/ClientWindow.ts:55"})]}),"\n",(0,r.jsx)(n.p,{children:"Sets the new page title of the document."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"title-2",children:"title"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The new page title."}),"\n",(0,r.jsx)(n.h4,{id:"returns-24",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-22",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#settitle",children:(0,r.jsx)(n.code,{children:"setTitle"})})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"unbindeventlistener",children:"unbindEventListener()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"unbindEventListener"}),"<",(0,r.jsx)(n.code,{children:"T"}),", ",(0,r.jsx)(n.code,{children:"E"}),", ",(0,r.jsx)(n.code,{children:"S"}),">(",(0,r.jsx)(n.code,{children:"eventTarget"}),", ",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"options"}),", ",(0,r.jsx)(n.code,{children:"scope"}),"?): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ClientWindow.ts#L254",children:"packages/core/src/window/ClientWindow.ts:254"})]}),"\n",(0,r.jsx)(n.p,{children:"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."}),"\n",(0,r.jsx)(n.p,{children:"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."}),"\n",(0,r.jsx)(n.h4,{id:"type-parameters-6",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"EventTarget"})]}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"Event"})," = ",(0,r.jsx)(n.code,{children:"Event"})]}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"S"})," = ",(0,r.jsx)(n.code,{children:"any"})]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"T"})}),"\n",(0,r.jsx)(n.p,{children:"The event target."}),"\n",(0,r.jsx)(n.h5,{id:"event-1",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"The name of the event."}),"\n",(0,r.jsx)(n.h5,{id:"listener-1",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:["(",(0,r.jsx)(n.code,{children:"event"}),") => ",(0,r.jsx)(n.code,{children:"void"})]}),"\n",(0,r.jsx)(n.p,{children:"The event listener."}),"\n",(0,r.jsx)(n.h5,{id:"options-2",children:"options"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"useCapture"})," flag value that was used when the\nlistener was registered, or provide capture option through object options."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"boolean"})," | ",(0,r.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,r.jsx)(n.h5,{id:"scope-1",children:"scope?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"S"})}),"\n",(0,r.jsx)(n.h4,{id:"returns-25",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"overrides-23",children:"Overrides"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(n.code,{children:"Window"})}),".",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Window#unbindeventlistener",children:(0,r.jsx)(n.code,{children:"unbindEventListener"})})]})]})}function a(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>c});var i=s(3696);const r={},d=i.createContext(r);function l(e){const n=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f992b54.80079b4b.js b/assets/js/1f992b54.80079b4b.js new file mode 100644 index 000000000..b3288746b --- /dev/null +++ b/assets/js/1f992b54.80079b4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3027],{5662:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>p});const r=JSON.parse('{"id":"api/@ima/core/functions/routeClientApp","title":"Function: routeClientApp()","description":"routeClientApp(app): Promise\\\\","source":"@site/../docs/api/@ima/core/functions/routeClientApp.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/routeClientApp","permalink":"/api/@ima/core/functions/routeClientApp","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/routeClientApp.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: reviveClientApp()","permalink":"/api/@ima/core/functions/reviveClientApp"},"next":{"title":"@ima/core","permalink":"/api/@ima/core/globals"}}');var i=t(2540),o=t(3023);const s={},c="Function: routeClientApp()",a={},p=[{value:"Parameters",id:"parameters",level:2},{value:"app",id:"app",level:3},{value:"bootstrap",id:"bootstrap",level:4},{value:"oc",id:"oc",level:4},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"function-routeclientapp",children:"Function: routeClientApp()"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"routeClientApp"}),"(",(0,i.jsx)(n.code,{children:"app"}),"): ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(n.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L269",children:"packages/core/src/boot.ts:269"})]}),"\n",(0,i.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h3,{id:"app",children:"app"}),"\n",(0,i.jsx)(n.h4,{id:"bootstrap",children:"bootstrap"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,i.jsx)(n.code,{children:"Bootstrap"})})}),"\n",(0,i.jsx)(n.h4,{id:"oc",children:"oc"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,i.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,i.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(n.code,{children:"UnknownParameters"})}),">"]})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var r=t(3696);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/201713f2.09bfa377.js b/assets/js/201713f2.09bfa377.js deleted file mode 100644 index 1c3b0ad12..000000000 --- a/assets/js/201713f2.09bfa377.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9541],{5680:(e,r,t)=>{t.d(r,{xA:()=>p,yg:()=>g});var a=t(6540);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=a.createContext({}),u=function(e){var r=a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=u(e.components);return a.createElement(s.Provider,{value:r},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},d=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=u(t),d=n,g=c["".concat(s,".").concat(d)]||c[d]||m[d]||l;return t?a.createElement(g,i(i({ref:r},p),{},{components:t})):a.createElement(g,i({ref:r},p))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var l=t.length,i=new Array(l);i[0]=d;var o={};for(var s in r)hasOwnProperty.call(r,s)&&(o[s]=r[s]);o.originalType=e,o[c]="string"==typeof e?e:n,i[1]=o;for(var u=2;u<l;u++)i[u]=t[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},6185:(e,r,t)=>{t.d(r,{A:()=>i});var a=t(6540),n=t(8017);const l={tabItem:"tabItem_Ymn6"};function i(e){let{children:r,hidden:t,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,n.A)(l.tabItem,i),hidden:t},r)}},1253:(e,r,t)=>{t.d(r,{A:()=>j});var a=t(8102),n=t(6540),l=t(8017),i=t(3104),o=t(9519),s=t(7485),u=t(1682),p=t(9466);function c(e){return function(e){return n.Children.map(e,(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:r,label:t,attributes:a,default:n}}=e;return{value:r,label:t,attributes:a,default:n}}))}function m(e){const{values:r,children:t}=e;return(0,n.useMemo)((()=>{const e=r??c(t);return function(e){const r=(0,u.X)(e,((e,r)=>e.value===r.value));if(r.length>0)throw new Error(`Docusaurus error: Duplicate values "${r.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[r,t])}function d(e){let{value:r,tabValues:t}=e;return t.some((e=>e.value===r))}function g(e){let{queryString:r=!1,groupId:t}=e;const a=(0,o.W6)(),l=function(e){let{queryString:r=!1,groupId:t}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:r,groupId:t});return[(0,s.aZ)(l),(0,n.useCallback)((e=>{if(!l)return;const r=new URLSearchParams(a.location.search);r.set(l,e),a.replace({...a.location,search:r.toString()})}),[l,a])]}function y(e){const{defaultValue:r,queryString:t=!1,groupId:a}=e,l=m(e),[i,o]=(0,n.useState)((()=>function(e){let{defaultValue:r,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(r){if(!d({value:r,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:r,tabValues:l}))),[s,u]=g({queryString:t,groupId:a}),[c,y]=function(e){let{groupId:r}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(r),[a,l]=(0,p.Dv)(t);return[a,(0,n.useCallback)((e=>{t&&l.set(e)}),[t,l])]}({groupId:a}),v=(()=>{const e=s??c;return d({value:e,tabValues:l})?e:null})();(0,n.useLayoutEffect)((()=>{v&&o(v)}),[v]);return{selectedValue:i,selectValue:(0,n.useCallback)((e=>{if(!d({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),y(e)}),[u,y,l]),tabValues:l}}var v=t(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:r,block:t,selectedValue:o,selectValue:s,tabValues:u}=e;const p=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),m=e=>{const r=e.currentTarget,t=p.indexOf(r),a=u[t].value;a!==o&&(c(r),s(a))},d=e=>{let r=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":{const t=p.indexOf(e.currentTarget)+1;r=p[t]??p[0];break}case"ArrowLeft":{const t=p.indexOf(e.currentTarget)-1;r=p[t]??p[p.length-1];break}}r?.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.A)("tabs",{"tabs--block":t},r)},u.map((e=>{let{value:r,label:t,attributes:i}=e;return n.createElement("li",(0,a.A)({role:"tab",tabIndex:o===r?0:-1,"aria-selected":o===r,key:r,ref:e=>p.push(e),onKeyDown:d,onClick:m},i,{className:(0,l.A)("tabs__item",f.tabItem,i?.className,{"tabs__item--active":o===r})}),t??r)})))}function h(e){let{lazy:r,children:t,selectedValue:a}=e;const l=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){const e=l.find((e=>e.props.value===a));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},l.map(((e,r)=>(0,n.cloneElement)(e,{key:r,hidden:e.props.value!==a}))))}function N(e){const r=y(e);return n.createElement("div",{className:(0,l.A)("tabs-container",f.tabList)},n.createElement(b,(0,a.A)({},e,r)),n.createElement(h,(0,a.A)({},e,r)))}function j(e){const r=(0,v.A)();return n.createElement(N,(0,a.A)({key:String(r)},e))}},8809:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>s,default:()=>g,frontMatter:()=>o,metadata:()=>u,toc:()=>c});var a=t(8102),n=(t(6540),t(5680)),l=t(1253),i=t(6185);const o={title:"Migration 18.0.0",description:"Migration > Migration to version 18.0.0"},s=void 0,u={unversionedId:"migration/migration-18.0.0",id:"migration/migration-18.0.0",title:"Migration 18.0.0",description:"Migration > Migration to version 18.0.0",source:"@site/../docs/migration/migration-18.0.0.md",sourceDirName:"migration",slug:"/migration/migration-18.0.0",permalink:"/migration/migration-18.0.0",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-18.0.0.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Migration 18.0.0",description:"Migration > Migration to version 18.0.0"},sidebar:"docs",previous:{title:"Migration 17.0.0",permalink:"/migration/migration-17.0.0"},next:{title:"Migration 19.0.0",permalink:"/migration/migration-19.0.0"}},p={},c=[{value:"Update requirements",id:"update-requirements",level:2},{value:"Moved from gulp to webpack",id:"moved-from-gulp-to-webpack",level:2},{value:"Change scripts in package.json",id:"change-scripts-in-packagejson",level:3},{value:"Update settings.js",id:"update-settingsjs",level:3},{value:"Remove gulp specific things",id:"remove-gulp-specific-things",level:3},{value:"Removed build.js, optionally add ima.config.js file to root",id:"removed-buildjs-optionally-add-imaconfigjs-file-to-root",level:3},{value:"Moved from babel to swc",id:"moved-from-babel-to-swc",level:2},{value:"New React-page-renderer",id:"new-react-page-renderer",level:2},{value:"Update EventBus",id:"update-eventbus",level:3},{value:"Update DocumentView",id:"update-documentview",level:2},{value:"Update Server",id:"update-server",level:2},{value:"Split server.js -> server.js and app.js",id:"split-serverjs---serverjs-and-appjs",level:3},{value:"Server changes",id:"server-changes",level:3},{value:"Move environment.js file",id:"move-environmentjs-file",level:3},{value:"Templates",id:"templates",level:3},{value:"Update DocumentView",id:"update-documentview-1",level:3},{value:"Assets => app/public",id:"assets--apppublic",level:2},{value:"Styles",id:"styles",level:2},{value:"Tests",id:"tests",level:2},{value:"Other changes",id:"other-changes",level:2},{value:"Deleted packages",id:"deleted-packages",level:2},{value:"IMA.js Plugins",id:"imajs-plugins",level:2}],m={toc:c},d="wrapper";function g(e){let{components:r,...t}=e;return(0,n.yg)(d,(0,a.A)({},m,t,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("p",null,"IMA.js brings few major breaking changes. For more information read below."),(0,n.yg)("h2",{id:"update-requirements"},"Update requirements"),(0,n.yg)("p",null,"IMA.js v18 requires node >= 18, npm >= 8 and react 18."),(0,n.yg)("h2",{id:"moved-from-gulp-to-webpack"},"Moved from gulp to webpack"),(0,n.yg)("p",null,"You can remove gulp things. There is new @ima/cli plugin for helping with webpack.\nFrom now, you have to import everything you want to be present in your bundle (that's how webpack works)."),(0,n.yg)("h3",{id:"change-scripts-in-packagejson"},"Change scripts in package.json"),(0,n.yg)("p",null,"There is new @ima/cli used in scripts instead of gulp."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},"Example:")),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},'...\n "scripts": {\n "test": "jest",\n "lint": "eslint \'./**/*.{js,jsx,ts,tsx}\'",\n "dev": "ima dev",\n "build": "NODE_ENV=production ima build",\n "start": "NODE_ENV=production node server/server.js"\n},\n...\n')),(0,n.yg)("p",null,"Remove ",(0,n.yg)("inlineCode",{parentName:"p"},'"main": "build/server.js"')," from ",(0,n.yg)("inlineCode",{parentName:"p"},"package.json")," too. (Server is not anymore in build/server.js.)"),(0,n.yg)("h3",{id:"update-settingsjs"},"Update settings.js"),(0,n.yg)("p",null,"Remove scripts and esScripts from $Page.$Render (IMA process this things now by manifest and contentVariables)."),(0,n.yg)("h3",{id:"remove-gulp-specific-things"},"Remove gulp specific things"),(0,n.yg)("p",null,"Dependencies:"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"@ima/gulp-task-loader"),(0,n.yg)("li",{parentName:"ul"},"@ima/gulp-tasks")),(0,n.yg)("p",null,"Files:"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"gulpfile.js"),(0,n.yg)("li",{parentName:"ul"},"gulpConfig.js")),(0,n.yg)("h3",{id:"removed-buildjs-optionally-add-imaconfigjs-file-to-root"},"Removed build.js, optionally add ima.config.js file to root"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"look at ",(0,n.yg)("a",{parentName:"li",href:"../cli/ima-config-js"},"ima.config.js")," "),(0,n.yg)("li",{parentName:"ul"},"definition of languages moved from ",(0,n.yg)("inlineCode",{parentName:"li"},"build.js")," to ",(0,n.yg)("inlineCode",{parentName:"li"},"ima.config.js")),(0,n.yg)("li",{parentName:"ul"},"definition of less file pathes is not needed - see section Styles below")),(0,n.yg)("h2",{id:"moved-from-babel-to-swc"},"Moved from babel to swc"),(0,n.yg)("p",null,"You can remove @babel dependencies (except for eslint specific). "),(0,n.yg)("p",null,"Add ",(0,n.yg)("inlineCode",{parentName:"p"},"@swc/jest")," devDependency for tests."),(0,n.yg)("h2",{id:"new-react-page-renderer"},"New React-page-renderer"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"React-page-renderer moved to new package @ima/react-page-renderer ")),(0,n.yg)(l.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,n.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npm i @ima/react-page-renderer\n"))),(0,n.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add @ima/react-page-renderer\n"))),(0,n.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add @ima/react-page-renderer\n")))),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"You can use codemod ",(0,n.yg)("inlineCode",{parentName:"p"},"npx @cns/web-plugins-codemods")," -> ima18: react page renderer imports")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"Update DocumentView - use AbstractPureComponent from @ima/react-page-renderer instead of AbstractDocumentView"))),(0,n.yg)("h3",{id:"update-eventbus"},"Update EventBus"),(0,n.yg)("p",null,"You have to add target as the second argument for EventBus fire, listen/unlisten."),(0,n.yg)("h2",{id:"update-documentview"},"Update DocumentView"),(0,n.yg)("p",null,"Rewrite your DocumentView similar like in create-ima-app."),(0,n.yg)("h2",{id:"update-server"},"Update Server"),(0,n.yg)("p",null,"You have to add dependency to ",(0,n.yg)("inlineCode",{parentName:"p"},"error-to-json")," on your own. It was removed from @ima/server."),(0,n.yg)("p",null,"Replace"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},"let errorToJSON = require('error-to-json');\n")),(0,n.yg)("p",null,"by"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},"const errorToJSON = require('error-to-json').default;\n")),(0,n.yg)("h3",{id:"split-serverjs---serverjs-and-appjs"},"Split server.js -> server.js and app.js"),(0,n.yg)("p",null,"This change is optionally, but we use it in our create-ima-app."),(0,n.yg)("h3",{id:"server-changes"},"Server changes"),(0,n.yg)("p",null,"Remove:"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},"'use strict';\n\nrequire('@ima/core/polyfill/imaLoader.js');\nrequire('@ima/core/polyfill/imaRunner.js');\n")),(0,n.yg)("p",null,"Replace this part:"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},"let imaServer = require('@ima/server');\n\nlet clientApp = imaServer.clientApp;\nlet urlParser = imaServer.urlParser;\nlet environment = imaServer.environment;\nlet logger = imaServer.logger;\nlet cache = imaServer.cache;\n")),(0,n.yg)("p",null,"by"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},"const imaServer = require('@ima/server')();\nconst { serverApp, urlParser, environment, logger, cache, memStaticProxy } =\n imaServer;\n\nrequire('@ima/react-page-renderer/hook/server')(imaServer);\n")),(0,n.yg)("p",null,"Replace clientApp.requestHandler by serverApp.requestHandlerMiddleware."),(0,n.yg)("p",null,"Remove staticErrorPage and replace errorHandler function by"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js"},"function renderError(error, req, res, next) {\n serverApp\n .errorHandlerMiddleware(error, req, res, next)\n .then(response => {\n logger.error(response.error);\n })\n .catch(next);\n}\n")),(0,n.yg)("h3",{id:"move-environmentjs-file"},"Move environment.js file"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"File ",(0,n.yg)("inlineCode",{parentName:"li"},"app/environment.js")," was moved to location ",(0,n.yg)("inlineCode",{parentName:"li"},"/server/config/environment.js"),"\nThere was removed ",(0,n.yg)("strong",{parentName:"li"},"test")," env.")),(0,n.yg)("h3",{id:"templates"},"Templates"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"400, 500, spa templates are in ",(0,n.yg)("inlineCode",{parentName:"li"},"server/template")," (look at ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/template/server/template"},"create-ima-app"),")")),(0,n.yg)("h3",{id:"update-documentview-1"},"Update DocumentView"),(0,n.yg)("p",null,"You can remove getAsyncScripts method and body content replace with:\n(You have to add $Page.$Render.masterElementId property to settings.js)"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-jsx"}," <div\n id={this.utils.$Settings.$Page.$Render.masterElementId}\n dangerouslySetInnerHTML={{ __html: this.props.page }}\n/>\n {'#{revivalCache}'}\n {'#{revivalSettings}'}\n {'#{runner}'}\n")),(0,n.yg)("p",null,"Instead of app css loading use:"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre"}," {'#{styles}'}\n")),(0,n.yg)("h2",{id:"assets--apppublic"},"Assets => app/public"),(0,n.yg)("p",null,"Everything from folder app/public is moved to build folder into static folder."),(0,n.yg)("h2",{id:"styles"},"Styles"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Remove files mark as ",(0,n.yg)("inlineCode",{parentName:"li"},"FAKE FILE FOR GULP LESS")),(0,n.yg)("li",{parentName:"ul"},"Move less files from ",(0,n.yg)("inlineCode",{parentName:"li"},"assets/less")," to ",(0,n.yg)("inlineCode",{parentName:"li"},"app/less")),(0,n.yg)("li",{parentName:"ul"},'You have to move definition of less files pathes from build.js to "imports" - you have two options:',(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"import less files per component"),(0,n.yg)("li",{parentName:"ul"},"import root less file e.g. in main.js and use glob pattern to import other less files similar like it was in build.js"))),(0,n.yg)("li",{parentName:"ul"},"app/less/globals.less - this file is prepending to every less file so that you can import here variables, mixins, etc."),(0,n.yg)("li",{parentName:"ul"},"strictMaths is enabled")),(0,n.yg)("h2",{id:"tests"},"Tests"),(0,n.yg)("p",null,"Add ",(0,n.yg)("inlineCode",{parentName:"p"},"@swc/jest")," dependency.\nAdd ",(0,n.yg)("inlineCode",{parentName:"p"},"identity-obj-proxy")," for css/less in jest.\nReplace ",(0,n.yg)("inlineCode",{parentName:"p"},"enzyme-adapter-react-16")," with ",(0,n.yg)("inlineCode",{parentName:"p"},"@cfaester/enzyme-adapter-react-18"),"."),(0,n.yg)("h2",{id:"other-changes"},"Other changes"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Prepared for typescript")),(0,n.yg)("h2",{id:"deleted-packages"},"Deleted packages"),(0,n.yg)("p",null,"You can remove following packages:"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"@ima/react-hooks - functionality moved to @ima/react-page-renderer"),(0,n.yg)("li",{parentName:"ul"},"@ima/plugin-less-constants moved to @ima/cli-plugin-less-constants"),(0,n.yg)("li",{parentName:"ul"},"@ima/plugin-hot-reload"),(0,n.yg)("li",{parentName:"ul"},"@ima/plugin-websocket"),(0,n.yg)("li",{parentName:"ul"},"@ima/gulp-task-loader"),(0,n.yg)("li",{parentName:"ul"},"@ima/gulp-tasks")),(0,n.yg)("h2",{id:"imajs-plugins"},"IMA.js Plugins"),(0,n.yg)("p",null,"All IMA.js plugins need to be updated to the latest version. Older versions won't work."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/201713f2.8fe8aa39.js b/assets/js/201713f2.8fe8aa39.js new file mode 100644 index 000000000..b2ed8aef1 --- /dev/null +++ b/assets/js/201713f2.8fe8aa39.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9541],{9881:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>u});const s=JSON.parse('{"id":"migration/migration-18.0.0","title":"Migration 18.0.0","description":"Migration > Migration to version 18.0.0","source":"@site/../docs/migration/migration-18.0.0.md","sourceDirName":"migration","slug":"/migration/migration-18.0.0","permalink":"/migration/migration-18.0.0","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-18.0.0.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Migration 18.0.0","description":"Migration > Migration to version 18.0.0"},"sidebar":"docs","previous":{"title":"Migration 17.0.0","permalink":"/migration/migration-17.0.0"},"next":{"title":"Migration 19.0.0","permalink":"/migration/migration-19.0.0"}}');var i=r(2540),t=r(3023),a=r(3776),l=r(6052);const o={title:"Migration 18.0.0",description:"Migration > Migration to version 18.0.0"},c=void 0,d={},u=[{value:"Update requirements",id:"update-requirements",level:2},{value:"Moved from gulp to webpack",id:"moved-from-gulp-to-webpack",level:2},{value:"Change scripts in package.json",id:"change-scripts-in-packagejson",level:3},{value:"Update settings.js",id:"update-settingsjs",level:3},{value:"Remove gulp specific things",id:"remove-gulp-specific-things",level:3},{value:"Removed build.js, optionally add ima.config.js file to root",id:"removed-buildjs-optionally-add-imaconfigjs-file-to-root",level:3},{value:"Moved from babel to swc",id:"moved-from-babel-to-swc",level:2},{value:"New React-page-renderer",id:"new-react-page-renderer",level:2},{value:"Update EventBus",id:"update-eventbus",level:3},{value:"Update DocumentView",id:"update-documentview",level:2},{value:"Update Server",id:"update-server",level:2},{value:"Split server.js -> server.js and app.js",id:"split-serverjs---serverjs-and-appjs",level:3},{value:"Server changes",id:"server-changes",level:3},{value:"Move environment.js file",id:"move-environmentjs-file",level:3},{value:"Templates",id:"templates",level:3},{value:"Update DocumentView",id:"update-documentview-1",level:3},{value:"Assets => app/public",id:"assets--apppublic",level:2},{value:"Styles",id:"styles",level:2},{value:"Tests",id:"tests",level:2},{value:"Other changes",id:"other-changes",level:2},{value:"Deleted packages",id:"deleted-packages",level:2},{value:"IMA.js Plugins",id:"imajs-plugins",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"IMA.js brings few major breaking changes. For more information read below."}),"\n",(0,i.jsx)(n.h2,{id:"update-requirements",children:"Update requirements"}),"\n",(0,i.jsx)(n.p,{children:"IMA.js v18 requires node >= 18, npm >= 8 and react 18."}),"\n",(0,i.jsx)(n.h2,{id:"moved-from-gulp-to-webpack",children:"Moved from gulp to webpack"}),"\n",(0,i.jsx)(n.p,{children:"You can remove gulp things. There is new @ima/cli plugin for helping with webpack.\nFrom now, you have to import everything you want to be present in your bundle (that's how webpack works)."}),"\n",(0,i.jsx)(n.h3,{id:"change-scripts-in-packagejson",children:"Change scripts in package.json"}),"\n",(0,i.jsx)(n.p,{children:"There is new @ima/cli used in scripts instead of gulp."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Example:"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:'...\n "scripts": {\n "test": "jest",\n "lint": "eslint \'./**/*.{js,jsx,ts,tsx}\'",\n "dev": "ima dev",\n "build": "NODE_ENV=production ima build",\n "start": "NODE_ENV=production node server/server.js"\n},\n...\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Remove ",(0,i.jsx)(n.code,{children:'"main": "build/server.js"'})," from ",(0,i.jsx)(n.code,{children:"package.json"})," too. (Server is not anymore in build/server.js.)"]}),"\n",(0,i.jsx)(n.h3,{id:"update-settingsjs",children:"Update settings.js"}),"\n",(0,i.jsx)(n.p,{children:"Remove scripts and esScripts from $Page.$Render (IMA process this things now by manifest and contentVariables)."}),"\n",(0,i.jsx)(n.h3,{id:"remove-gulp-specific-things",children:"Remove gulp specific things"}),"\n",(0,i.jsx)(n.p,{children:"Dependencies:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"@ima/gulp-task-loader"}),"\n",(0,i.jsx)(n.li,{children:"@ima/gulp-tasks"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Files:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"gulpfile.js"}),"\n",(0,i.jsx)(n.li,{children:"gulpConfig.js"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"removed-buildjs-optionally-add-imaconfigjs-file-to-root",children:"Removed build.js, optionally add ima.config.js file to root"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["look at ",(0,i.jsx)(n.a,{href:"../cli/ima-config-js",children:"ima.config.js"})]}),"\n",(0,i.jsxs)(n.li,{children:["definition of languages moved from ",(0,i.jsx)(n.code,{children:"build.js"})," to ",(0,i.jsx)(n.code,{children:"ima.config.js"})]}),"\n",(0,i.jsx)(n.li,{children:"definition of less file pathes is not needed - see section Styles below"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"moved-from-babel-to-swc",children:"Moved from babel to swc"}),"\n",(0,i.jsx)(n.p,{children:"You can remove @babel dependencies (except for eslint specific)."}),"\n",(0,i.jsxs)(n.p,{children:["Add ",(0,i.jsx)(n.code,{children:"@swc/jest"})," devDependency for tests."]}),"\n",(0,i.jsx)(n.h2,{id:"new-react-page-renderer",children:"New React-page-renderer"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"React-page-renderer moved to new package @ima/react-page-renderer"}),"\n"]}),"\n",(0,i.jsxs)(a.A,{groupId:"npm2yarn",children:[(0,i.jsx)(l.A,{value:"npm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm i @ima/react-page-renderer\n"})})}),(0,i.jsx)(l.A,{value:"yarn",label:"Yarn",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"yarn add @ima/react-page-renderer\n"})})}),(0,i.jsx)(l.A,{value:"pnpm",label:"pnpm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"pnpm add @ima/react-page-renderer\n"})})})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["You can use codemod ",(0,i.jsx)(n.code,{children:"npx @cns/web-plugins-codemods"})," -> ima18: react page renderer imports"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Update DocumentView - use AbstractPureComponent from @ima/react-page-renderer instead of AbstractDocumentView"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"update-eventbus",children:"Update EventBus"}),"\n",(0,i.jsx)(n.p,{children:"You have to add target as the second argument for EventBus fire, listen/unlisten."}),"\n",(0,i.jsx)(n.h2,{id:"update-documentview",children:"Update DocumentView"}),"\n",(0,i.jsx)(n.p,{children:"Rewrite your DocumentView similar like in create-ima-app."}),"\n",(0,i.jsx)(n.h2,{id:"update-server",children:"Update Server"}),"\n",(0,i.jsxs)(n.p,{children:["You have to add dependency to ",(0,i.jsx)(n.code,{children:"error-to-json"})," on your own. It was removed from @ima/server."]}),"\n",(0,i.jsx)(n.p,{children:"Replace"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"let errorToJSON = require('error-to-json');\n"})}),"\n",(0,i.jsx)(n.p,{children:"by"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const errorToJSON = require('error-to-json').default;\n"})}),"\n",(0,i.jsx)(n.h3,{id:"split-serverjs---serverjs-and-appjs",children:"Split server.js -> server.js and app.js"}),"\n",(0,i.jsx)(n.p,{children:"This change is optionally, but we use it in our create-ima-app."}),"\n",(0,i.jsx)(n.h3,{id:"server-changes",children:"Server changes"}),"\n",(0,i.jsx)(n.p,{children:"Remove:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"'use strict';\n\nrequire('@ima/core/polyfill/imaLoader.js');\nrequire('@ima/core/polyfill/imaRunner.js');\n"})}),"\n",(0,i.jsx)(n.p,{children:"Replace this part:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"let imaServer = require('@ima/server');\n\nlet clientApp = imaServer.clientApp;\nlet urlParser = imaServer.urlParser;\nlet environment = imaServer.environment;\nlet logger = imaServer.logger;\nlet cache = imaServer.cache;\n"})}),"\n",(0,i.jsx)(n.p,{children:"by"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const imaServer = require('@ima/server')();\nconst { serverApp, urlParser, environment, logger, cache, memStaticProxy } =\n imaServer;\n\nrequire('@ima/react-page-renderer/hook/server')(imaServer);\n"})}),"\n",(0,i.jsx)(n.p,{children:"Replace clientApp.requestHandler by serverApp.requestHandlerMiddleware."}),"\n",(0,i.jsx)(n.p,{children:"Remove staticErrorPage and replace errorHandler function by"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"function renderError(error, req, res, next) {\n serverApp\n .errorHandlerMiddleware(error, req, res, next)\n .then(response => {\n logger.error(response.error);\n })\n .catch(next);\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"move-environmentjs-file",children:"Move environment.js file"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["File ",(0,i.jsx)(n.code,{children:"app/environment.js"})," was moved to location ",(0,i.jsx)(n.code,{children:"/server/config/environment.js"}),"\nThere was removed ",(0,i.jsx)(n.strong,{children:"test"})," env."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"templates",children:"Templates"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["400, 500, spa templates are in ",(0,i.jsx)(n.code,{children:"server/template"})," (look at ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/template/server/template",children:"create-ima-app"}),")"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"update-documentview-1",children:"Update DocumentView"}),"\n",(0,i.jsx)(n.p,{children:"You can remove getAsyncScripts method and body content replace with:\n(You have to add $Page.$Render.masterElementId property to settings.js)"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:" <div\n id={this.utils.$Settings.$Page.$Render.masterElementId}\n dangerouslySetInnerHTML={{ __html: this.props.page }}\n/>\n\t{'#{revivalCache}'}\n {'#{revivalSettings}'}\n {'#{runner}'}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Instead of app css loading use:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:" {'#{styles}'}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"assets--apppublic",children:"Assets => app/public"}),"\n",(0,i.jsx)(n.p,{children:"Everything from folder app/public is moved to build folder into static folder."}),"\n",(0,i.jsx)(n.h2,{id:"styles",children:"Styles"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Remove files mark as ",(0,i.jsx)(n.code,{children:"FAKE FILE FOR GULP LESS"})]}),"\n",(0,i.jsxs)(n.li,{children:["Move less files from ",(0,i.jsx)(n.code,{children:"assets/less"})," to ",(0,i.jsx)(n.code,{children:"app/less"})]}),"\n",(0,i.jsxs)(n.li,{children:['You have to move definition of less files pathes from build.js to "imports" - you have two options:',"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"import less files per component"}),"\n",(0,i.jsx)(n.li,{children:"import root less file e.g. in main.js and use glob pattern to import other less files similar like it was in build.js"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"app/less/globals.less - this file is prepending to every less file so that you can import here variables, mixins, etc."}),"\n",(0,i.jsx)(n.li,{children:"strictMaths is enabled"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"tests",children:"Tests"}),"\n",(0,i.jsxs)(n.p,{children:["Add ",(0,i.jsx)(n.code,{children:"@swc/jest"})," dependency.\nAdd ",(0,i.jsx)(n.code,{children:"identity-obj-proxy"})," for css/less in jest.\nReplace ",(0,i.jsx)(n.code,{children:"enzyme-adapter-react-16"})," with ",(0,i.jsx)(n.code,{children:"@cfaester/enzyme-adapter-react-18"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Prepared for typescript"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"deleted-packages",children:"Deleted packages"}),"\n",(0,i.jsx)(n.p,{children:"You can remove following packages:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"@ima/react-hooks - functionality moved to @ima/react-page-renderer"}),"\n",(0,i.jsx)(n.li,{children:"@ima/plugin-less-constants moved to @ima/cli-plugin-less-constants"}),"\n",(0,i.jsx)(n.li,{children:"@ima/plugin-hot-reload"}),"\n",(0,i.jsx)(n.li,{children:"@ima/plugin-websocket"}),"\n",(0,i.jsx)(n.li,{children:"@ima/gulp-task-loader"}),"\n",(0,i.jsx)(n.li,{children:"@ima/gulp-tasks"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"imajs-plugins",children:"IMA.js Plugins"}),"\n",(0,i.jsx)(n.p,{children:"All IMA.js plugins need to be updated to the latest version. Older versions won't work."})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},6052:(e,n,r)=>{r.d(n,{A:()=>a});r(3696);var s=r(2689);const i={tabItem:"tabItem_wHwb"};var t=r(2540);function a(e){let{children:n,hidden:r,className:a}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,s.A)(i.tabItem,a),hidden:r,children:n})}},3776:(e,n,r)=>{r.d(n,{A:()=>y});var s=r(3696),i=r(2689),t=r(3707),a=r(9519),l=r(3604),o=r(5196),c=r(6229),d=r(8030);function u(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:r}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:r,attributes:s,default:i}}=e;return{value:n,label:r,attributes:s,default:i}}))}(r);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,r])}function h(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:r}=e;const i=(0,a.W6)(),t=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,o.aZ)(t),(0,s.useCallback)((e=>{if(!t)return;const n=new URLSearchParams(i.location.search);n.set(t,e),i.replace({...i.location,search:n.toString()})}),[t,i])]}function j(e){const{defaultValue:n,queryString:r=!1,groupId:i}=e,t=p(e),[a,o]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!h({value:n,tabValues:r}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=r.find((e=>e.default))??r[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:t}))),[c,u]=m({queryString:r,groupId:i}),[j,v]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[i,t]=(0,d.Dv)(r);return[i,(0,s.useCallback)((e=>{r&&t.set(e)}),[r,t])]}({groupId:i}),g=(()=>{const e=c??j;return h({value:e,tabValues:t})?e:null})();(0,l.A)((()=>{g&&o(g)}),[g]);return{selectedValue:a,selectValue:(0,s.useCallback)((e=>{if(!h({value:e,tabValues:t}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),v(e)}),[u,v,t]),tabValues:t}}var v=r(5200);const g={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var x=r(2540);function f(e){let{className:n,block:r,selectedValue:s,selectValue:a,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,t.a_)(),d=e=>{const n=e.currentTarget,r=o.indexOf(n),i=l[r].value;i!==s&&(c(n),a(i))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=o.indexOf(e.currentTarget)+1;n=o[r]??o[0];break}case"ArrowLeft":{const r=o.indexOf(e.currentTarget)-1;n=o[r]??o[o.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":r},n),children:l.map((e=>{let{value:n,label:r,attributes:t}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>{o.push(e)},onKeyDown:u,onClick:d,...t,className:(0,i.A)("tabs__item",g.tabItem,t?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function b(e){let{lazy:n,children:r,selectedValue:t}=e;const a=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===t));return e?(0,s.cloneElement)(e,{className:(0,i.A)("margin-top--md",e.props.className)}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function w(e){const n=j(e);return(0,x.jsxs)("div",{className:(0,i.A)("tabs-container",g.tabList),children:[(0,x.jsx)(f,{...n,...e}),(0,x.jsx)(b,{...n,...e})]})}function y(e){const n=(0,v.A)();return(0,x.jsx)(w,{...e,children:u(e.children)},String(n))}},3023:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>l});var s=r(3696);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/942.f88e018c.js b/assets/js/205.61f3d2ad.js similarity index 99% rename from assets/js/942.f88e018c.js rename to assets/js/205.61f3d2ad.js index d4ace9088..d2e46cdc7 100644 --- a/assets/js/942.f88e018c.js +++ b/assets/js/205.61f3d2ad.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[942],{942:(e,t,r)=>{var l=r(6540),o=r(2688);function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(l),i=a(o);function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e},d.apply(this,arguments)}function u(e,t){if(null==e)return{};var r,l,o=function(e,t){if(null==e)return{};var r,l,o={},a=Object.keys(e);for(l=0;l<a.length;l++)r=a[l],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)r=a[l],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=["color","size"],s=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,c);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11 5l-7 7 7 7"}),n.default.createElement("path",{d:"M4 12h16"}))};s.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var f=["color","size"],h=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,f);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 12h16"}),n.default.createElement("path",{d:"M13 5l7 7-7 7"}))};h.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var v=["color","size"],p=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,v);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 20V4"}),n.default.createElement("path",{d:"M5 11l7-7 7 7"}))};p.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var g=["color","size"],m=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,g);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 20V4"}),n.default.createElement("path",{d:"M5 13l7 7 7-7"}))};m.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var w=["color","size"],z=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,w);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 18L18 6"}),n.default.createElement("path",{d:"M6 8v10h10"}))};z.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var E=["color","size"],k=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,E);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 6l12 12"}),n.default.createElement("path",{d:"M16 6H6v10"}))};k.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var x=["color","size"],M=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,x);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 6L6 18"}),n.default.createElement("path",{d:"M8 6h10v10"}))};M.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var y=["color","size"],L=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,y);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 18L6 6"}),n.default.createElement("path",{d:"M8 18h10V8"}))};L.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var T=["color","size"],C=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,T);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 4l-8 8 8 8"}))};C.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var b=["color","size"],O=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,b);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 4l8 8-8 8"}))};O.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var B=["color","size"],j=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,B);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 15l8-8 8 8"}))};j.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var W=["color","size"],H=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,W);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 9l8 8 8-8"}))};H.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var V=["color","size"],R=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,V);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 12c0 6-4.39 10-9.806 10C7.792 22 4.24 19.665 3 16"}),n.default.createElement("path",{d:"M2 12C2 6 6.39 2 11.806 2 16.209 2 19.76 4.335 21 8"}),n.default.createElement("path",{d:"M7 17l-4-1-1 4"}),n.default.createElement("path",{d:"M17 7l4 1 1-4"}))};R.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var A=["color","size"],_=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,A);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19.734 16.06a8.923 8.923 0 0 1-3.915 3.978 8.706 8.706 0 0 1-5.471.832 8.795 8.795 0 0 1-4.887-2.64 9.067 9.067 0 0 1-2.388-5.079 9.136 9.136 0 0 1 1.044-5.53 8.904 8.904 0 0 1 4.069-3.815 8.7 8.7 0 0 1 5.5-.608c1.85.401 3.366 1.313 4.62 2.755.151.16.735.806 1.22 1.781"}),n.default.createElement("path",{d:"M15.069 7.813l5.04.907L21 3.59"}))};_.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var P=["color","size"],S=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,P);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.266 16.06a8.923 8.923 0 0 0 3.915 3.978 8.706 8.706 0 0 0 5.471.832 8.796 8.796 0 0 0 4.887-2.64 9.067 9.067 0 0 0 2.388-5.079 9.137 9.137 0 0 0-1.044-5.53 8.904 8.904 0 0 0-4.068-3.815 8.7 8.7 0 0 0-5.5-.608c-1.85.401-3.367 1.313-4.62 2.755-.152.16-.736.806-1.22 1.781"}),n.default.createElement("path",{d:"M8.931 7.813l-5.04.907L3 3.59"}))};S.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var q=["color","size"],F=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,q);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 11l7-9v5c11.953 0 13.332 9.678 13 15-.502-2.685-.735-7-13-7v5l-7-9z"}))};F.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var I=["color","size"],J=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,I);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10 2a1 1 0 0 0-1.79-.614l-7 9a1 1 0 0 0 0 1.228l7 9A1 1 0 0 0 10 20v-3.99c5.379.112 7.963 1.133 9.261 2.243 1.234 1.055 1.46 2.296 1.695 3.596l.061.335a1 1 0 0 0 1.981-.122c.171-2.748-.086-6.73-2.027-10.061C19.087 8.768 15.694 6.282 10 6.022V2z"}))};J.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var D=["color","size"],G=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,D);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 11l-7-9v5C3.047 7 1.668 16.678 2 22c.502-2.685.735-7 13-7v5l7-9z"}))};G.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var K=["color","size"],N=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,K);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.675 1.054a1 1 0 0 1 1.114.332l7 9a1 1 0 0 1 0 1.228l-7 9A1 1 0 0 1 14 20v-3.99c-5.379.112-7.963 1.133-9.261 2.243-1.234 1.055-1.46 2.296-1.695 3.596l-.061.335a1 1 0 0 1-1.981-.122c-.172-2.748.086-6.73 2.027-10.061C4.913 8.768 8.305 6.282 14 6.022V2a1 1 0 0 1 .675-.946z"}))};N.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Q=["color","size"],U=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Q);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 12H2m20 0l-4 4m4-4l-4-4M2 12l4 4m-4-4l4-4"}))};U.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var X=["color","size"],Y=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,X);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22V2m0 20l-4-4m4 4l4-4M12 2L8 6m4-4l4 4"}))};Y.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Z=["color","size"],$=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Z);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14.5 9.5L21 3m0 0h-6m6 0v6M3 21l6.5-6.5M3 21v-6m0 6h6"}))};$.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ee=["color","size"],te=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ee);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 10l7-7m-7 7h6m-6 0V4M3 21l7-7m0 0v6m0-6H4"}))};te.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var re=["color","size"],le=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,re);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 12l7-9v4.99L21 8v8H10v5l-7-9z"}))};le.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oe=["color","size"],ae=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 21l9-7h-4.99L16 3H8v11H3l9 7z"}))};ae.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ne=["color","size"],ie=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ne);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 12l-7-9v4.99L3 8v8h11v5l7-9z"}))};ie.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var de=["color","size"],ue=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,de);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3l9 7h-4.99L16 21H8V10H3l9-7z"}))};ue.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ce=["color","size"],se=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ce);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 5l-5 5 5 5"}),n.default.createElement("path",{d:"M3 10h8c5.523 0 10 4.477 10 10v1"}))};se.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fe=["color","size"],he=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 5l5 5-5 5"}),n.default.createElement("path",{d:"M21 10h-8C7.477 10 3 14.477 3 20v1"}))};he.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ve=["color","size"],pe=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ve);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 12l8-6v12l-8-6z"}))};pe.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ge=["color","size"],me=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ge);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 12L9 6v12l8-6z"}))};me.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var we=["color","size"],ze=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,we);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 7l-6 8h12l-6-8z"}))};ze.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ee=["color","size"],ke=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ee);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 17L6 9h12l-6 8z"}))};ke.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xe=["color","size"],Me=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M16 12l-6-4v8l6-4z"}))};Me.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ye=["color","size"],Le=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ye);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 12l6-4v8l-6-4z"}))};Le.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Te=["color","size"],Ce=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Te);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 8l-4 6h8l-4-6z"}))};Ce.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var be=["color","size"],Oe=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,be);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 16l-4-6h8l-4 6z"}))};Oe.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Be=["color","size"],je=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Be);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M13.5 8l-4 4 4 4"}))};je.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var We=["color","size"],He=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,We);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M10.5 8l4 4-4 4"}))};He.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ve=["color","size"],Re=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ve);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 13.5l4-4 4 4"}))};Re.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ae=["color","size"],_e=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ae);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 10.5l4 4 4-4"}))};_e.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pe=["color","size"],Se=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-2 7.8c0-.295.152-.566.396-.705a.71.71 0 0 1 .77.04l4.5 3.2A.815.815 0 0 1 16 12a.815.815 0 0 1-.334.666l-4.5 3.2a.71.71 0 0 1-.77.04A.809.809 0 0 1 10 15.2V8.8z"}))};Se.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qe=["color","size"],Fe=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm2 7.8a.809.809 0 0 0-.396-.705.71.71 0 0 0-.77.04l-4.5 3.2A.815.815 0 0 0 8 12c0 .268.125.517.334.666l4.5 3.2a.71.71 0 0 0 .77.04A.809.809 0 0 0 14 15.2V8.8z"}))};Fe.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ie=["color","size"],Je=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ie);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8.8 14a.809.809 0 0 1-.705-.396.71.71 0 0 1 .04-.77l3.2-4.5A.815.815 0 0 1 12 8c.268 0 .517.125.666.334l3.2 4.5a.71.71 0 0 1 .04.77.809.809 0 0 1-.706.396H8.8z"}))};Je.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var De=["color","size"],Ge=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,De);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-3.2 9a.809.809 0 0 0-.705.396.71.71 0 0 0 .04.77l3.2 4.5A.815.815 0 0 0 12 16a.815.815 0 0 0 .666-.334l3.2-4.5a.71.71 0 0 0 .04-.77A.809.809 0 0 0 15.2 10H8.8z"}))};Ge.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ke=["color","size"],Ne=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ke);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm2.207 7.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L10.914 12l3.293-3.293z"}))};Ne.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qe=["color","size"],Ue=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM9.793 8.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L13.086 12 9.793 8.707z"}))};Ue.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xe=["color","size"],Ye=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8.707 14.207a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 10.914l-3.293 3.293z"}))};Ye.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ze=["color","size"],$e=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ze);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8.707 9.793a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L12 13.086 8.707 9.793z"}))};$e.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var et=["color","size"],tt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,et);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 8l4 4-4 4"}),n.default.createElement("path",{d:"M7 8l-4 4 4 4"}))};tt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rt=["color","size"],lt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 17l4 4 4-4"}),n.default.createElement("path",{d:"M8 7l4-4 4 4"}))};lt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ot=["color","size"],at=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ot);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 3v18M6 3l4 4M6 3L2 7"}),n.default.createElement("path",{d:"M18 21V3m0 18l4-4m-4 4l-4-4"}))};at.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nt=["color","size"],it=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 6H3m18 0l-4 4m4-4l-4-4"}),n.default.createElement("path",{d:"M3 18h18M3 18l4 4m-4-4l4-4"}))};it.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dt=["color","size"],ut=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 19h3.908a2 2 0 0 0 1.682-.919L11.5 12l3.91-6.082A2 2 0 0 1 17.091 5H22m0 14h-4.908a2 2 0 0 1-1.682-.919L13.428 15M2 5h3.908a2 2 0 0 1 1.682.918L9.571 9"}),n.default.createElement("path",{d:"M19 2l3 3-3 3"}),n.default.createElement("path",{d:"M19 16l3 3-3 3"}))};ut.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ct=["color","size"],st=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ct);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 2l3 3-3 3"}),n.default.createElement("path",{d:"M6 22l-3-3 3-3"}),n.default.createElement("path",{d:"M21 5H10a7 7 0 0 0-7 7"}),n.default.createElement("path",{d:"M3 19h11a7 7 0 0 0 7-7"}))};st.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ft=["color","size"],ht=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ft);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 3v18M9 3l4 4M9 3L5 7"}),n.default.createElement("path",{d:"M16 10l4 4-4 4"}),n.default.createElement("path",{d:"M9 21v0a7 7 0 0 1 7-7h4"}))};ht.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vt=["color","size"],pt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 3v18m0-18l-4 4m4-4l4 4"}),n.default.createElement("path",{d:"M8 10l-4 4 4 4"}),n.default.createElement("path",{d:"M15 21v0a7 7 0 0 0-7-7H4"}))};pt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gt=["color","size"],mt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M16 6a1 1 0 0 0-1.6-.8l-8 6a1 1 0 0 0 0 1.6l8 6A1 1 0 0 0 16 18V6z"}))};mt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wt=["color","size"],zt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M8 6a1 1 0 0 1 1.6-.8l8 6a1 1 0 0 1 0 1.6l-8 6A1 1 0 0 1 8 18V6z"}))};zt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Et=["color","size"],kt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Et);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M6 16a1 1 0 0 1-.8-1.6l6-8a1 1 0 0 1 1.6 0l6 8A1 1 0 0 1 18 16H6z"}))};kt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xt=["color","size"],Mt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M6 8a1 1 0 0 0-.8 1.6l6 8a1 1 0 0 0 1.6 0l6-8A1 1 0 0 0 18 8H6z"}))};Mt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yt=["color","size"],Lt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 10l6 6 6-6"}))};Lt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tt=["color","size"],Ct=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 14l6-6 6 6"}))};Ct.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bt=["color","size"],Ot=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 6l6 6-6 6"}))};Ot.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bt=["color","size"],jt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 6l-6 6 6 6"}))};jt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wt=["color","size"],Ht=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 20v-8m0 0V4m0 8h8m-8 0H4"}))};Ht.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vt=["color","size"],Rt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 12H4"}))};Rt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var At=["color","size"],_t=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,At);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 20L4 4m16 0L4 20"}))};_t.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pt=["color","size"],St=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 12l6 6L20 6"}))};St.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qt=["color","size"],Ft=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M10 8.484C10.5 7.494 11 7 12 7c1.246 0 2 .989 2 1.978s-.5 1.483-2 2.473V13m0 3.5v.5"}))};Ft.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var It=["color","size"],Jt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,It);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 7v6m0 3.5v.5"}))};Jt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dt=["color","size"],Gt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 15L9 9m6 0l-6 6"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Gt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kt=["color","size"],Nt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 12.5l3 3 5-6"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Nt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qt=["color","size"],Ut=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 8v4m0 0v4m0-4h4m-4 0H8"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Ut.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xt=["color","size"],Yt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 12H8"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Yt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zt=["color","size"],$t=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 9v5"}),n.default.createElement("path",{d:"M12 17.5v.5"}),n.default.createElement("path",{d:"M2.232 19.016L10.35 3.052c.713-1.403 2.59-1.403 3.302 0l8.117 15.964C22.45 20.36 21.544 22 20.116 22H3.883c-1.427 0-2.334-1.64-1.65-2.984z"}))};$t.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var er=["color","size"],tr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,er);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 2L2 8.156V16l6 6h8l6-6V8.156L16 2H8z"}),n.default.createElement("path",{d:"M16 12H8"}))};tr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rr=["color","size"],lr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 7h.01"}),n.default.createElement("path",{d:"M10 11h2v5"}),n.default.createElement("path",{d:"M10 16h4"}))};lr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var or=["color","size"],ar=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,or);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 4v16"}),n.default.createElement("path",{d:"M20 12L6 20"}),n.default.createElement("path",{d:"M20 12L6 4"}))};ar.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nr=["color","size"],ir=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 5v14M17 5v14"}))};ir.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dr=["color","size"],ur=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9.3 17.85a3.15 3.15 0 1 1-3.15-3.15h11.7a3.15 3.15 0 1 1-3.15 3.15V6.15a3.15 3.15 0 1 1 3.15 3.15H6.15A3.15 3.15 0 1 1 9.3 6.15v11.7z"}))};ur.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cr=["color","size"],sr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 12h-6"}),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}))};sr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fr=["color","size"],hr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}),n.default.createElement("path",{d:"M16 8.5c1.333 1.778 1.333 5.222 0 7"}),n.default.createElement("path",{d:"M19 5c3.988 3.808 4.012 10.217 0 14"}))};hr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vr=["color","size"],pr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 15l-6-6m6 0l-6 6"}),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}))};pr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gr=["color","size"],mr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 9v3m0 0v3m0-3h3m-3 0h-3"}),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}))};mr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wr=["color","size"],zr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5.636 16C2.91 16 2 14 2 12s.91-4 3.636-4c3.637 0 9.091 8 12.728 8C21.09 16 22 14 22 12s-.91-4-3.636-4c-3.637 0-9.091 8-12.728 8z"}))};zr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Er=["color","size"],kr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Er);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 16l6 5H6l6-5z"}),n.default.createElement("path",{d:"M4 18a9.956 9.956 0 0 1-2-6C2 6.477 6.477 2 12 2s10 4.477 10 10a9.956 9.956 0 0 1-2 6"}),n.default.createElement("path",{d:"M17.123 15.125a6 6 0 1 0-10.247-.002"}),n.default.createElement("path",{d:"M14 12a2 2 0 1 0-4 0"}))};kr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xr=["color","size"],Mr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"}),n.default.createElement("path",{d:"M12 16l6 5H6l6-5z"}))};Mr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yr=["color","size"],Lr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.default.createElement("rect",{x:"13",y:"13",width:"9",height:"7",rx:"2"}))};Lr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tr=["color","size"],Cr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M3 12h10M3 18h15"}))};Cr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var br=["color","size"],Or=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,br);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M7 12h10M5 18h14"}))};Or.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Br=["color","size"],jr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Br);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18m-10 6h10M6 18h15"}))};jr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wr=["color","size"],Hr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M3 12h18M3 18h18"}))};Hr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vr=["color","size"],Rr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"4"}),n.default.createElement("path",{d:"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12s4.477 10 10 10c2.252 0 4.33-.744 6.001-2"}),n.default.createElement("path",{d:"M16 8v4c0 1 .6 3 3 3s3-2 3-3"}))};Rr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ar=["color","size"],_r=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ar);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 3C4.239 3 2 5.216 2 7.95c0 2.207.875 7.445 9.488 12.74a.985.985 0 0 0 1.024 0C21.125 15.395 22 10.157 22 7.95 22 5.216 19.761 3 17 3s-5 3-5 3-2.239-3-5-3z"}))};_r.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pr=["color","size"],Sr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 7V2h5"}),n.default.createElement("path",{d:"M22 7V2h-5"}),n.default.createElement("path",{d:"M7 22H2v-5"}),n.default.createElement("path",{d:"M17 22h5v-5"}))};Sr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qr=["color","size"],Fr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 2v5H2"}),n.default.createElement("path",{d:"M17 2v5h5"}),n.default.createElement("path",{d:"M2 17h5v5"}),n.default.createElement("path",{d:"M22 17h-5v5"}))};Fr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ir=["color","size"],Jr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ir);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 3v18"}),n.default.createElement("rect",{x:"6",y:"6",width:"16",height:"4"}),n.default.createElement("rect",{x:"6",y:"14",width:"10",height:"4"}))};Jr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dr=["color","size"],Gr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3v18"}),n.default.createElement("path",{d:"M16 6h4v4h-4"}),n.default.createElement("path",{d:"M8 10H4V6h4"}),n.default.createElement("path",{d:"M16 14h2v4h-2"}),n.default.createElement("path",{d:"M8 14H6v4h2"}))};Gr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kr=["color","size"],Nr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 3v18"}),n.default.createElement("rect",{x:"2",y:"6",width:"16",height:"4"}),n.default.createElement("rect",{x:"8",y:"14",width:"10",height:"4"}))};Nr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qr=["color","size"],Ur=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 2H3"}),n.default.createElement("path",{d:"M6 22V6h4v16H6z"}),n.default.createElement("path",{d:"M14 16V6h4v10h-4z"}))};Ur.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xr=["color","size"],Yr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 12H3"}),n.default.createElement("path",{d:"M6 16v4h4v-4"}),n.default.createElement("path",{d:"M14 16v2h4v-2"}),n.default.createElement("path",{d:"M14 8V6h4v2"}),n.default.createElement("path",{d:"M10 8V4H6v4"}))};Yr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zr=["color","size"],$r=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 22H3"}),n.default.createElement("path",{d:"M6 18V2h4v16H6z"}),n.default.createElement("path",{d:"M14 18V8h4v10h-4z"}))};$r.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var el=["color","size"],tl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,el);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3v12m0-12L8 7m4-4l4 4"}),n.default.createElement("path",{d:"M2 17l.621 2.485A2 2 0 0 0 4.561 21H19.439a2 2 0 0 0 1.94-1.515L22 17"}))};tl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rl=["color","size"],ll=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 15V3m0 12l-4-4m4 4l4-4"}),n.default.createElement("path",{d:"M2 17l.621 2.485A2 2 0 0 0 4.561 21H19.439a2 2 0 0 0 1.94-1.515L22 17"}))};ll.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ol=["color","size"],al=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ol);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22V7"}),n.default.createElement("path",{d:"M5 14l7-7 7 7"}),n.default.createElement("path",{d:"M3 2h18"}))};al.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nl=["color","size"],il=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 12H3"}),n.default.createElement("path",{d:"M12 2v6"}),n.default.createElement("path",{d:"M12 22v-6"}),n.default.createElement("path",{d:"M9 5l3 3 3-3"}),n.default.createElement("path",{d:"M9 19l3-3 3 3"}))};il.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dl=["color","size"],ul=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 22h18"}),n.default.createElement("path",{d:"M12 2v15"}),n.default.createElement("path",{d:"M5 10l7 7 7-7"}))};ul.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cl=["color","size"],sl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M5 19L19 5"}))};sl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fl=["color","size"],hl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0z"}))};hl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vl=["color","size"],pl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}))};pl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gl=["color","size"],ml=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 10c6-6.667 14-6.667 20 0"}),n.default.createElement("path",{d:"M6 14c3.6-4 8.4-4 12 0"}),n.default.createElement("circle",{cx:"12",cy:"18",r:"1"}))};ml.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wl=["color","size"],zl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 7l12 10-6 5V2l6 5L5 17"}))};zl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var El=["color","size"],kl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,El);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"10",r:"3"}),n.default.createElement("path",{d:"M12 2a8 8 0 0 0-8 8c0 1.892.402 3.13 1.5 4.5L12 22l6.5-7.5c1.098-1.37 1.5-2.608 1.5-4.5a8 8 0 0 0-8-8z"}))};kl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xl=["color","size"],Ml=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.544 10.456a4.368 4.368 0 0 0-6.176 0l-3.089 3.088a4.367 4.367 0 1 0 6.177 6.177L12 18.177"}),n.default.createElement("path",{d:"M10.456 13.544a4.368 4.368 0 0 0 6.176 0l3.089-3.088a4.367 4.367 0 1 0-6.177-6.177L12 5.823"}))};Ml.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yl=["color","size"],Ll=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.5 10.5L21 3"}),n.default.createElement("path",{d:"M16 3h5v5"}),n.default.createElement("path",{d:"M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5"}))};Ll.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tl=["color","size"],Cl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13 12h9m0 0l-3.333-4M22 12l-3.333 4"}),n.default.createElement("path",{d:"M14 7V5.174a2 2 0 0 0-2.166-1.993l-8 .666A2 2 0 0 0 2 5.84v12.32a2 2 0 0 0 1.834 1.993l8 .667A2 2 0 0 0 14 18.826V17"}))};Cl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bl=["color","size"],Ol=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 3L6 21"}),n.default.createElement("path",{d:"M18 3l-4 18"}),n.default.createElement("path",{d:"M4 8h17"}),n.default.createElement("path",{d:"M3 16h17"}))};Ol.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bl=["color","size"],jl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),n.default.createElement("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),n.default.createElement("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),n.default.createElement("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"}))};jl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wl=["color","size"],Hl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 12h6"}),n.default.createElement("path",{d:"M15 6h1a6 6 0 0 1 0 12h-1"}),n.default.createElement("path",{d:"M9 18H8A6 6 0 0 1 8 6h1"}))};Hl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vl=["color","size"],Rl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 6h1a6 6 0 0 1 0 12h-1"}),n.default.createElement("path",{d:"M9 18H8A6 6 0 0 1 8 6h1"}))};Rl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Al=["color","size"],_l=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Al);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};_l.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pl=["color","size"],Sl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 8v3m0 0v3m0-3h3m-3 0H9"}),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};Sl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ql=["color","size"],Fl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ql);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 11H9"}),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};Fl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Il=["color","size"],Jl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Il);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 21l-4.486-4.494M19 10.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0z"}),n.default.createElement("path",{d:"M10.5 7v3.5m0 0V14m0-3.5H14m-3.5 0H7"}))};Jl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dl=["color","size"],Gl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 21l-4.486-4.494M19 10.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0z"}),n.default.createElement("path",{d:"M13 10.5H8"}))};Gl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kl=["color","size"],Nl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}))};Nl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ql=["color","size"],Ul=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ql);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),n.default.createElement("path",{d:"M9 12l2.25 2L15 10"}))};Ul.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xl=["color","size"],Yl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 2a5 5 0 0 0-5 5v10a5 5 0 0 0 5 5h10a5 5 0 0 0 5-5V7a5 5 0 0 0-5-5H7zm8.73 8.684a1 1 0 1 0-1.46-1.368l-3.083 3.29-1.523-1.353a1 1 0 0 0-1.328 1.494l2.25 2a1 1 0 0 0 1.393-.063l3.75-4z"}))};Yl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zl=["color","size"],$l=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 10.418c6.068-.319 9.9 3.514 9.582 9.582"}),n.default.createElement("circle",{cx:"5",cy:"19",r:"1"}),n.default.createElement("path",{d:"M4 4.03C14.114 3.5 20.501 9.887 19.97 20"}))};$l.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var eo=["color","size"],to=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,eo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 15l-6-6m6 0l-6 6"}),n.default.createElement("path",{d:"M7.4 4.8A2 2 0 0 1 9 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H9a2 2 0 0 1-1.6-.8l-4.5-6a2 2 0 0 1 0-2.4l4.5-6z"}))};to.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ro=["color","size"],lo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ro);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.6 4.2A3 3 0 0 1 9 3h11a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H9a3 3 0 0 1-2.4-1.2l-4.5-6a3 3 0 0 1 0-3.6l4.5-6zm11.107 5.507a1 1 0 0 0-1.414-1.414L14 10.586l-2.293-2.293a1 1 0 1 0-1.414 1.414L12.586 12l-2.293 2.293a1 1 0 0 0 1.414 1.414L14 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L15.414 12l2.293-2.293z"}))};lo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oo=["color","size"],ao=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 12l5.25 5 2.625-3"}),n.default.createElement("path",{d:"M8 12l5.25 5L22 7"}),n.default.createElement("path",{d:"M16 7l-3.5 4"}))};ao.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var no=["color","size"],io=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,no);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}))};io.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uo=["color","size"],co=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}))};co.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var so=["color","size"],fo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,so);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm8 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm10 2a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm10 2a2 2 0 1 0-4 0 2 2 0 0 0 4 0zm6-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zM6 20a2 2 0 1 0-4 0 2 2 0 0 0 4 0zm6-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm10 2a2 2 0 1 0-4 0 2 2 0 0 0 4 0z"}))};fo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ho=["color","size"],vo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ho);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M12 11v.01"}),n.default.createElement("path",{d:"M8 11v.01"}),n.default.createElement("path",{d:"M16 11v.01"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};vo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var po=["color","size"],go=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,po);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}),n.default.createElement("path",{d:"M9.879 8.879L12 11m0 0l2.121 2.121M12 11l2.121-2.121M12 11l-2.121 2.121"}))};go.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mo=["color","size"],wo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v5H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h5v5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-5h5a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-5V3z"}))};wo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zo=["color","size"],Eo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-1.108 7.935c.23-.453.4-.668.541-.78.106-.084.25-.155.567-.155.625 0 1 .47 1 .978 0 .278-.054.416-.202.592-.207.246-.59.545-1.348 1.046l-.45.296V13a1 1 0 1 0 2 0v-1.017c.542-.374.997-.732 1.327-1.124.477-.566.673-1.17.673-1.881C15 7.508 13.867 6 12 6c-.684 0-1.289.176-1.808.587-.484.383-.814.91-1.084 1.445a1 1 0 1 0 1.784.903zM13 16.5a1 1 0 1 0-2 0v.5a1 1 0 1 0 2 0v-.5z"}))};Eo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ko=["color","size"],xo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ko);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm1 6a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0V7zm0 9.5a1 1 0 1 0-2 0v.5a1 1 0 1 0 2 0v-.5z"}))};xo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mo=["color","size"],yo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm3.707 8.707a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293a1 1 0 1 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293z"}))};yo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lo=["color","size"],To=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm1 15a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 1 1 2 0v3h3a1 1 0 1 1 0 2h-3v3z"}))};To.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Co=["color","size"],bo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Co);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8 11a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8z"}))};bo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Oo=["color","size"],Bo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Oo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm4.768 9.14a1 1 0 1 0-1.536-1.28l-4.3 5.159-2.225-2.226a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.475-.067l5-6z"}))};Bo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jo=["color","size"],Wo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.543 2.598a2.821 2.821 0 0 0-5.086 0L1.341 18.563C.37 20.469 1.597 23 3.883 23h16.233c2.287 0 3.512-2.53 2.543-4.437L14.543 2.598zM12 8a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1zm0 8.5a1 1 0 0 1 1 1v.5a1 1 0 1 1-2 0v-.5a1 1 0 0 1 1-1z"}))};Wo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ho=["color","size"],Vo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ho);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 1a1 1 0 0 0-.716.302l-6 6.156A1 1 0 0 0 1 8.156V16a1 1 0 0 0 .293.707l6 6A1 1 0 0 0 8 23h8a1 1 0 0 0 .707-.293l6-6A1 1 0 0 0 23 16V8.156a1 1 0 0 0-.284-.698l-6-6.156A1 1 0 0 0 16 1H8zm0 10a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8z"}))};Vo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ro=["color","size"],Ao=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ro);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-.5 5a1 1 0 1 0 0 2h.5a1 1 0 1 0 0-2h-.5zM10 10a1 1 0 1 0 0 2h1v3h-1a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-1v-4a1 1 0 0 0-1-1h-2z"}))};Ao.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _o=["color","size"],Po=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_o);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22v-9m0 9l-2.5-2m2.5 2l2.5-2"}),n.default.createElement("path",{d:"M5.034 9.117A4.002 4.002 0 0 0 6 17h1"}),n.default.createElement("path",{d:"M15.83 7.138a5.5 5.5 0 0 0-10.796 1.98S5.187 10 5.5 10.5"}),n.default.createElement("path",{d:"M17 17a5 5 0 1 0-1.17-9.862L14.5 7.5"}))};Po.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var So=["color","size"],qo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,So);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 12v9m0-9l-2.5 2m2.5-2l2.5 2"}),n.default.createElement("path",{d:"M5.034 9.117A4.002 4.002 0 0 0 6 17h1"}),n.default.createElement("path",{d:"M15.83 7.138a5.5 5.5 0 0 0-10.796 1.98S5.187 10 5.5 10.5"}),n.default.createElement("path",{d:"M17 17a5 5 0 1 0-1.17-9.862L14.5 7.5"}))};qo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fo=["color","size"],Io=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"18",cy:"5",r:"3"}),n.default.createElement("circle",{cx:"18",cy:"19",r:"3"}),n.default.createElement("circle",{cx:"6",cy:"12",r:"3"}),n.default.createElement("path",{d:"M15.408 6.512l-6.814 3.975m6.814 7.001l-6.814-3.975"}))};Io.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jo=["color","size"],Do=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"7",width:"20",height:"10",rx:"5"}),n.default.createElement("circle",{cx:"7",cy:"12",r:"5"}))};Do.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Go=["color","size"],Ko=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Go);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"7",width:"20",height:"10",rx:"5"}),n.default.createElement("circle",{cx:"17",cy:"12",r:"5"}))};Ko.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var No=["color","size"],Qo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,No);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 7a5 5 0 0 0 0 10h10a5 5 0 0 0 0-10H7zm0 2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"}))};Qo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uo=["color","size"],Xo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 7a5 5 0 0 0 0 10h10a5 5 0 0 0 0-10H7zm10 2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"}))};Xo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yo=["color","size"],Zo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 6h14M5 12h14M5 18h14"}))};Zo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $o=["color","size"],ea=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$o);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 19V5m6 14V5M6 19V5"}))};ea.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ta=["color","size"],ra=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ta);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 9h14M5 15h14"}))};ra.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var la=["color","size"],oa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,la);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 19V5M9 19V5"}))};oa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var aa=["color","size"],na=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,aa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.6 4.2A3 3 0 0 1 9 3h11a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H9a3 3 0 0 1-2.4-1.2l-4.5-6a3 3 0 0 1 0-3.6l4.5-6z"}))};na.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ia=["color","size"],da=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ia);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.9 4.2A3 3 0 0 0 15.5 3h-11a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h11a3 3 0 0 0 2.4-1.2l4.5-6a3 3 0 0 0 0-3.6l-4.5-6z"}))};da.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ua=["color","size"],ca=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ua);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.05 6.35a3 3 0 0 1 1.2 2.4v11a3 3 0 0 1-3 3h-12a3 3 0 0 1-3-3v-11a3 3 0 0 1 1.2-2.4l6-4.5a3 3 0 0 1 3.6 0l6 4.5z"}))};ca.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sa=["color","size"],fa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.05 17.65a3 3 0 0 0 1.2-2.4v-11a3 3 0 0 0-3-3h-12a3 3 0 0 0-3 3v11a3 3 0 0 0 1.2 2.4l6 4.5a3 3 0 0 0 3.6 0l6-4.5z"}))};fa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ha=["color","size"],va=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ha);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M9 11l2.25 2L15 9"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};va.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pa=["color","size"],ga=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M10 8.484C10.5 7.494 11 7 12 7c1.246 0 2 .989 2 1.978s-.5 1.033-2 2.022v1m0 2.5v.5"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};ga.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ma=["color","size"],wa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ma);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M15.207 6.793a1 1 0 0 0-1.418.003l-4.55 4.597a2 2 0 0 0-.54 1.015l-.18.896a1 1 0 0 0 1.177 1.177l.896-.18a2 2 0 0 0 1.015-.54l4.597-4.55a1 1 0 0 0 .003-1.418l-1-1z"}),n.default.createElement("path",{d:"M12.5 9.5l1 1"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};wa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var za=["color","size"],Ea=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,za);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 3l7 19 2.051-6.154a6 6 0 0 1 3.795-3.795L22 10 3 3z"}))};Ea.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ka=["color","size"],xa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ka);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 3v18"}),n.default.createElement("path",{d:"M18 3v18"}),n.default.createElement("path",{d:"M3 6h18"}),n.default.createElement("path",{d:"M3 18h18"}))};xa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ma=["color","size"],ya=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ma);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13 21H3l10-10v10z"}),n.default.createElement("path",{d:"M5 19L21 3v4l-8 8"}))};ya.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var La=["color","size"],Ta=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,La);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 19L19 5"}),n.default.createElement("circle",{cx:"7",cy:"7",r:"3"}),n.default.createElement("circle",{cx:"17",cy:"17",r:"3"}))};Ta.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ca=["color","size"],ba=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ca);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 2a6 6 0 0 0-6 6c0 1.419.302 2.348 1.125 3.375L12 17l4.875-5.625C17.698 10.348 18 9.419 18 8a6 6 0 0 0-6-6z"}),n.default.createElement("path",{d:"M5 15.143C3.149 15.87 2 16.881 2 18c0 2.21 4.477 4 10 4s10-1.79 10-4c0-1.119-1.149-2.13-3-2.857"}),n.default.createElement("circle",{cx:"12",cy:"8",r:"1"}))};ba.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Oa=["color","size"],Ba=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Oa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"4"}),n.default.createElement("path",{d:"M15 12l-5-3v6l5-3z"}))};Ba.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ja=["color","size"],Wa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ja);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"7",cy:"18",r:"3"}),n.default.createElement("path",{d:"M15 15L7 3"}),n.default.createElement("path",{d:"M9 15l3-4.5M17 3l-3 4.5"}),n.default.createElement("circle",{cx:"17",cy:"18",r:"3"}))};Wa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ha=["color","size"],Va=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ha);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"12",cy:"5",rx:"9",ry:"2"}),n.default.createElement("path",{d:"M3 5c0 2.23 3.871 6.674 5.856 8.805A4.197 4.197 0 0 1 10 16.657V19a2 2 0 0 0 2 2v0a2 2 0 0 0 2-2v-2.343c0-1.061.421-2.075 1.144-2.852C17.13 11.674 21 7.231 21 5"}))};Va.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ra=["color","size"],Aa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ra);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 5h4m14 0H11m-8 7h12m6 0h-2M3 19h2m16 0H9"}),n.default.createElement("circle",{cx:"9",cy:"5",r:"2"}),n.default.createElement("circle",{cx:"17",cy:"12",r:"2"}),n.default.createElement("circle",{cx:"7",cy:"19",r:"2"}))};Aa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _a=["color","size"],Pa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_a);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 3v4m0 14V11m-7-8v12m0 6v-2M5 3v2m0 16V9"}),n.default.createElement("circle",{cx:"19",cy:"9",r:"2",transform:"rotate(90 19 9)"}),n.default.createElement("circle",{cx:"12",cy:"17",r:"2",transform:"rotate(90 12 17)"}),n.default.createElement("circle",{cx:"5",cy:"7",r:"2",transform:"rotate(90 5 7)"}))};Pa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sa=["color","size"],qa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 3v18M6 3l3 3.333M6 3L3 6.333"}),n.default.createElement("path",{d:"M14 21h8l-1-4h-7v4z"}),n.default.createElement("path",{d:"M14 14h6l-1-4h-5v4z"}),n.default.createElement("path",{d:"M14 7h4l-1-4h-3v4z"}))};qa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fa=["color","size"],Ia=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 21V3m0 18l3-3.333M6 21l-3-3.333"}),n.default.createElement("path",{d:"M14 3h8l-1 4h-7V3z"}),n.default.createElement("path",{d:"M14 10h6l-1 4h-5v-4z"}),n.default.createElement("path",{d:"M14 17h4l-1 4h-3v-4z"}))};Ia.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ja=["color","size"],Da=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ja);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),n.default.createElement("path",{d:"M7 14l4-4 4 4 6-6"}),n.default.createElement("path",{d:"M18 8h3v3"}))};Da.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ga=["color","size"],Ka=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ga);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),n.default.createElement("path",{d:"M7 9l4 4 4-4 6 6"}),n.default.createElement("path",{d:"M18 15h3v-3"}))};Ka.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Na=["color","size"],Qa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Na);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M15 3v18"}))};Qa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ua=["color","size"],Xa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ua);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M9 3v18"}))};Xa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ya=["color","size"],Za=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ya);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M9 3v18"}),n.default.createElement("path",{d:"M22 12H9"}))};Za.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $a=["color","size"],en=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$a);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 5a2 2 0 0 1 2-2h6v18H4a2 2 0 0 1-2-2V5z"}),n.default.createElement("path",{d:"M14 3h6a2 2 0 0 1 2 2v5h-8V3z"}),n.default.createElement("path",{d:"M14 14h8v5a2 2 0 0 1-2 2h-6v-7z"}))};en.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var tn=["color","size"],rn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,tn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M22 15H2"}))};rn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ln=["color","size"],on=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ln);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M22 9H2"}))};on.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var an=["color","size"],nn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,an);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M12 3v18"}))};nn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dn=["color","size"],un=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M22 12H2"}))};un.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cn=["color","size"],sn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}),n.default.createElement("path",{d:"M5.5 13.5l1-2m0 0l1.106-2.211a1 1 0 0 1 1.788 0L10.5 11.5m-4 0h4m0 0l1 2m1-6h1.982V9c0 .5-.496 1.5-1.487 1.5m3.964-3v2m0 0v4m0-4H18.5"}))};sn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fn=["color","size"],hn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M6 12h12m-9 6h6"}))};hn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vn=["color","size"],pn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 14H8"}),n.default.createElement("path",{d:"M16 10H8"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};pn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gn=["color","size"],mn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm6 2a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1zm1-5a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8z"}))};mn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wn=["color","size"],zn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0z"}))};zn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var En=["color","size"],kn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,En);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm0 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z"}))};kn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xn=["color","size"],Mn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 21h10a4 4 0 0 0 4-4V7.414a1 1 0 0 0-.293-.707l-3.414-3.414A1 1 0 0 0 16.586 3H7a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4z"}),n.default.createElement("path",{d:"M9 3h6v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V3z"}),n.default.createElement("path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"}),n.default.createElement("path",{d:"M11 17h2"}))};Mn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yn=["color","size"],Ln=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.971 6.617a2 2 0 0 1 2.058 0l3.486 2.092a1 1 0 0 1 .485.857v4.302a2 2 0 0 1-.971 1.715l-3 1.8a2 2 0 0 1-2.058 0l-3-1.8A2 2 0 0 1 7 13.868V9.566a1 1 0 0 1 .486-.857l3.485-2.092z"}),n.default.createElement("path",{d:"M7 9l5 2.759m0 0L17 9m-5 2.759V17"}),n.default.createElement("path",{d:"M6 2H4a2 2 0 0 0-2 2v2"}),n.default.createElement("path",{d:"M18 22h2a2 2 0 0 0 2-2v-2"}),n.default.createElement("path",{d:"M22 6V4a2 2 0 0 0-2-2h-2"}),n.default.createElement("path",{d:"M2 18v2a2 2 0 0 0 2 2h2"}))};Ln.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tn=["color","size"],Cn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.266 16.06a8.923 8.923 0 0 0 3.915 3.978 8.706 8.706 0 0 0 5.471.832 8.795 8.795 0 0 0 4.887-2.64 9.067 9.067 0 0 0 2.388-5.079 9.135 9.135 0 0 0-1.044-5.53 8.903 8.903 0 0 0-4.069-3.815 8.7 8.7 0 0 0-5.5-.608c-1.85.401-3.366 1.313-4.62 2.755-.151.16-.735.806-1.22 1.781M7.5 8l-3.609.72L3 5m9 4v4l3 2"}))};Cn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bn=["color","size"],On=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 17L7 7m10 0L7 17"}))};On.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bn=["color","size"],jn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 5v14.586c0 .89 1.077 1.337 1.707.707L12 14l6.293 6.293c.63.63 1.707.184 1.707-.707V5a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2z"}))};jn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wn=["color","size"],Hn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.554 6.24L7.171 2.335c-.39-.45-1.105-.448-1.558.006L2.831 5.128c-.828.829-1.065 2.06-.586 3.047a29.207 29.207 0 0 0 13.561 13.58c.986.479 2.216.242 3.044-.587l2.808-2.813c.455-.455.456-1.174.002-1.564l-3.92-3.365c-.41-.352-1.047-.306-1.458.106l-1.364 1.366a.462.462 0 0 1-.553.088 14.557 14.557 0 0 1-5.36-5.367.463.463 0 0 1 .088-.554l1.36-1.361c.412-.414.457-1.054.101-1.465z"}))};Hn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vn=["color","size"],Rn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 7.91V16a6 6 0 0 0 6 6v0a6 6 0 0 0 6-6V6a4 4 0 0 0-4-4v0a4 4 0 0 0-4 4v9.182a2 2 0 0 0 2 2v0a2 2 0 0 0 2-2V8"}))};Rn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var An=["color","size"],_n=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,An);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17.684 3.603c.521-.659.03-1.603-.836-1.603h-6.716c-.375 0-.722.192-.909.502l-5.082 8.456c-.401.666.103 1.497.908 1.497h3.429l-3.23 8.065c-.467 1.02.795 1.953 1.643 1.215L20 9.331h-6.849l4.533-5.728z"}))};_n.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pn=["color","size"],Sn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9.912 12H4L2.023 4.135A.662.662 0 0 1 2 3.995c-.022-.721.772-1.221 1.46-.891L22 12 3.46 20.896c-.68.327-1.464-.159-1.46-.867a.66.66 0 0 1 .033-.186L3.5 15"}))};Sn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qn=["color","size"],Fn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3V2m0 20v-1m9-9h1M2 12h1m15.5-6.5L20 4M4 20l1.5-1.5M4 4l1.5 1.5m13 13L20 20"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"4"}))};Fn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var In=["color","size"],Jn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,In);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20.958 15.325c.204-.486-.379-.9-.868-.684a7.684 7.684 0 0 1-3.101.648c-4.185 0-7.577-3.324-7.577-7.425a7.28 7.28 0 0 1 1.134-3.91c.284-.448-.057-1.068-.577-.936C5.96 4.041 3 7.613 3 11.862 3 16.909 7.175 21 12.326 21c3.9 0 7.24-2.345 8.632-5.675z"}),n.default.createElement("path",{d:"M15.611 3.103c-.53-.354-1.162.278-.809.808l.63.945a2.332 2.332 0 0 1 0 2.588l-.63.945c-.353.53.28 1.162.81.808l.944-.63a2.332 2.332 0 0 1 2.588 0l.945.63c.53.354 1.162-.278.808-.808l-.63-.945a2.332 2.332 0 0 1 0-2.588l.63-.945c.354-.53-.278-1.162-.809-.808l-.944.63a2.332 2.332 0 0 1-2.588 0l-.945-.63z"}))};Jn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dn=["color","size"],Gn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.333 16.048L16.57 3.81a2.56 2.56 0 0 1 3.62 3.619L7.951 19.667a2 2 0 0 1-1.022.547L3 21l.786-3.93a2 2 0 0 1 .547-1.022z"}),n.default.createElement("path",{d:"M14.5 6.5l3 3"}))};Gn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kn=["color","size"],Nn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 10.726l-3 .505L11.23 2l-.504 3M12 16.881l-.77 2.042 7.693-7.692-2.042.769m-1.804 3.077L21 21M3.538 9.692l6.154-6.154.236.341a52.22 52.22 0 0 0 7.376 8.518l.235.218-4.924 4.923-.218-.234A52.22 52.22 0 0 0 3.88 9.928l-.34-.236z"}))};Nn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qn=["color","size"],Un=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.5 6v4H16m-1.315-8H10a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2z"}),n.default.createElement("path",{d:"M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2"}))};Un.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xn=["color","size"],Yn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21.257 10.962c.474.62.474 1.457 0 2.076C19.764 14.987 16.182 19 12 19c-4.182 0-7.764-4.013-9.257-5.962a1.692 1.692 0 0 1 0-2.076C4.236 9.013 7.818 5 12 5c4.182 0 7.764 4.013 9.257 5.962z"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"3"}))};Yn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zn=["color","size"],$n=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6.873 17.129c-1.845-1.31-3.305-3.014-4.13-4.09a1.693 1.693 0 0 1 0-2.077C4.236 9.013 7.818 5 12 5c1.876 0 3.63.807 5.13 1.874"}),n.default.createElement("path",{d:"M14.13 9.887a3 3 0 1 0-4.243 4.242"}),n.default.createElement("path",{d:"M4 20L20 4"}),n.default.createElement("path",{d:"M10 18.704A7.124 7.124 0 0 0 12 19c4.182 0 7.764-4.013 9.257-5.962a1.694 1.694 0 0 0-.001-2.078A22.939 22.939 0 0 0 19.57 9"}))};$n.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ei=["color","size"],ti=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ei);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 10s3.5 4 10 4 10-4 10-4"}),n.default.createElement("path",{d:"M4 11.645L2 14"}),n.default.createElement("path",{d:"M22 14l-1.996-2.352"}),n.default.createElement("path",{d:"M8.914 13.68L8 16.5"}),n.default.createElement("path",{d:"M15.063 13.688L16 16.5"}))};ti.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ri=["color","size"],li=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ri);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 7c0 2.21 1.644 4 4 4s4-1.79 4-4-1.644-4-4-4-4 1.79-4 4z"}),n.default.createElement("path",{d:"M10 7c0 2.21-1.644 4-4 4S2 9.21 2 7s1.644-4 4-4 4 1.79 4 4z"}),n.default.createElement("path",{d:"M14 7v12a2 2 0 0 0 2 2v0a2 2 0 0 0 2-2v-8"}),n.default.createElement("path",{d:"M14 17h4"}),n.default.createElement("path",{d:"M6 17h4"}),n.default.createElement("path",{d:"M10 7v12a2 2 0 0 1-2 2v0a2 2 0 0 1-2-2v-8"}),n.default.createElement("path",{d:"M20 4v0a5.408 5.408 0 0 0 0 6v0"}),n.default.createElement("path",{d:"M4 4v0a5.408 5.408 0 0 1 0 6v0"}))};li.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oi=["color","size"],ai=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 4v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.342a2 2 0 0 0-.602-1.43l-4.44-4.342A2 2 0 0 0 13.56 2H6a2 2 0 0 0-2 2z"}),n.default.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}))};ai.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ni=["color","size"],ii=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ni);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 4v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.342a2 2 0 0 0-.602-1.43l-4.44-4.342A2 2 0 0 0 13.56 2H6a2 2 0 0 0-2 2z"}),n.default.createElement("path",{d:"M9 13h6"}),n.default.createElement("path",{d:"M9 17h3"}),n.default.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}))};ii.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var di=["color","size"],ui=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,di);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 13.565C2 11.512 4 11 6 11v9a4 4 0 0 1-4-4v-2.435z"}),n.default.createElement("path",{d:"M22 13.565C22 11.512 20 11 18 11v9a4 4 0 0 0 4-4v-2.435z"}),n.default.createElement("path",{d:"M6 20V10a6 6 0 1 1 12 0v10"}))};ui.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ci=["color","size"],si=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ci);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"6",y:"2",width:"12",height:"20",rx:"2"}),n.default.createElement("path",{d:"M11.95 18h.1"}))};si.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fi=["color","size"],hi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2"}),n.default.createElement("path",{d:"M11 18h2"}))};hi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vi=["color","size"],pi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9H4V7z"}),n.default.createElement("path",{d:"M2 19h20"}))};pi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gi=["color","size"],mi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"}),n.default.createElement("path",{d:"M8 20h8"}))};mi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wi=["color","size"],zi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7z"}),n.default.createElement("path",{d:"M9 22h6"}),n.default.createElement("path",{d:"M9 2h6"}))};zi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ei=["color","size"],ki=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ei);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"}),n.default.createElement("path",{d:"M2 8h20"}),n.default.createElement("path",{d:"M2 12h7c0 1 .6 3 3 3s3-2 3-3h7"}))};ki.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xi=["color","size"],Mi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 21l-4.486-4.494M19 10.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0z"}))};Mi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yi=["color","size"],Li=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"10",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M6 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v4H6V6z"}))};Li.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ti=["color","size"],Ci=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ti);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"10",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M6 10V5a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v1"}))};Ci.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bi=["color","size"],Oi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6.233 5.834l.445-2.226A2 2 0 0 1 8.64 2h6.72a2 2 0 0 1 1.962 1.608l.445 2.226a1.879 1.879 0 0 0 1.387 1.454A3.758 3.758 0 0 1 22 10.934V18a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4v-7.066a3.758 3.758 0 0 1 2.846-3.646 1.879 1.879 0 0 0 1.387-1.454z"}),n.default.createElement("circle",{cx:"12",cy:"14",r:"4"}),n.default.createElement("path",{d:"M11 6h2"}))};Oi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bi=["color","size"],ji=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V6z"}),n.default.createElement("circle",{cx:"8.5",cy:"8.5",r:"2.5"}),n.default.createElement("path",{d:"M14.526 12.621L6 22h12.133A3.867 3.867 0 0 0 22 18.133V18c0-.466-.175-.645-.49-.99l-4.03-4.395a2 2 0 0 0-2.954.006z"}))};ji.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wi=["color","size"],Hi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 19V9a2 2 0 0 0-2-2h-6.764a2 2 0 0 1-1.789-1.106l-.894-1.788A2 2 0 0 0 8.763 3H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z"}))};Hi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vi=["color","size"],Ri=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 19V9a2 2 0 0 0-2-2h-6.764a2 2 0 0 1-1.789-1.106l-.894-1.788A2 2 0 0 0 8.763 3H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z"}),n.default.createElement("path",{d:"M12 11v3m0 0v3m0-3h3m-3 0H9"}))};Ri.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ai=["color","size"],_i=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ai);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"18",rx:"4"}),n.default.createElement("path",{d:"M8 2v4"}),n.default.createElement("path",{d:"M16 2v4"}),n.default.createElement("path",{d:"M2 10h20"}))};_i.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pi=["color","size"],Si=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12.721 5.003L11.255 5c-3.344-.008-6.247 2.709-6.27 6v3.79c0 .79-.1 1.561-.531 2.218l-.287.438C3.73 18.11 4.2 19 4.985 19h14.03c.785 0 1.254-.89.818-1.554l-.287-.438c-.43-.657-.531-1.429-.531-2.219v-3.788c-.04-3.292-2.95-5.99-6.294-5.998z"}),n.default.createElement("path",{d:"M15 19a3 3 0 1 1-6 0"}),n.default.createElement("path",{d:"M12 2a2 2 0 0 1 2 2v1h-4V4a2 2 0 0 1 2-2z"}))};Si.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qi=["color","size"],Fi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}))};Fi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ii=["color","size"],Ji=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ii);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M7 10v4"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}))};Ji.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Di=["color","size"],Gi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Di);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}),n.default.createElement("path",{d:"M7 10v4"}),n.default.createElement("path",{d:"M11 10v4"}))};Gi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ki=["color","size"],Ni=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ki);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M7 10v4"}),n.default.createElement("path",{d:"M11 10v4"}),n.default.createElement("path",{d:"M15 10v4"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}))};Ni.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qi=["color","size"],Ui=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 4v1c0 1.636 2 4 3 5l.75 9.01A3.26 3.26 0 0 0 12 22v0a3.26 3.26 0 0 0 3.25-2.99L16 10c1-1 3-3.364 3-5V4"}),n.default.createElement("path",{d:"M12 11v2"}),n.default.createElement("ellipse",{cx:"12",cy:"4",rx:"7",ry:"2"}))};Ui.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xi=["color","size"],Yi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v5H2V6z"}),n.default.createElement("path",{d:"M18.5 16.5h-3"}),n.default.createElement("path",{d:"M12 11h10v7a4 4 0 0 1-4 4h-6V11z"}),n.default.createElement("path",{d:"M12 11H2v7a4 4 0 0 0 4 4h6V11z"}),n.default.createElement("path",{d:"M5.5 18L7 16.5m0 0L8.5 15M7 16.5L8.5 18M7 16.5L5.5 15"}))};Yi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zi=["color","size"],$i=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"13",r:"9"}),n.default.createElement("path",{d:"M15.5 9.5L12 13"}),n.default.createElement("path",{d:"M19 19l1 3"}),n.default.createElement("path",{d:"M5 19l-1 3"}),n.default.createElement("path",{d:"M2 5l3-3"}),n.default.createElement("path",{d:"M19 2l3 3"}),n.default.createElement("path",{d:"M12 4V2"}))};$i.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ed=["color","size"],td=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ed);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("ellipse",{cx:"12",cy:"12",rx:"10",ry:"4",transform:"rotate(90 12 12)"}),n.default.createElement("path",{d:"M2 12h20"}))};td.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rd=["color","size"],ld=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6s1.5-2 5-2 5 2 5 2v14s-1.5-1-5-1-5 1-5 1V6z"}),n.default.createElement("path",{d:"M12 6s1.5-2 5-2 5 2 5 2v14s-1.5-1-5-1-5 1-5 1V6z"}))};ld.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var od=["color","size"],ad=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,od);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5.034 11.117A4.002 4.002 0 0 0 6 19h11a5 5 0 1 0-1.17-9.862L14.5 9.5"}),n.default.createElement("path",{d:"M15.83 9.138a5.5 5.5 0 0 0-10.796 1.98S5.187 12 5.5 12.5"}))};ad.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nd=["color","size"],id=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"}),n.default.createElement("path",{d:"M2 8l7.501 6.001a4 4 0 0 0 4.998 0L22 8"}))};id.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dd=["color","size"],ud=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3.977 9.84A2 2 0 0 1 5.971 8h12.058a2 2 0 0 1 1.994 1.84l.803 10A2 2 0 0 1 18.833 22H5.167a2 2 0 0 1-1.993-2.16l.803-10z"}),n.default.createElement("path",{d:"M16 11V6a4 4 0 0 0-4-4v0a4 4 0 0 0-4 4v5"}))};ud.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cd=["color","size"],sd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"8",width:"18",height:"14",rx:"2"}),n.default.createElement("path",{d:"M12 5a3 3 0 1 0-3 3"}),n.default.createElement("path",{d:"M15 8a3 3 0 1 0-3-3"}),n.default.createElement("path",{d:"M12 5v17"}),n.default.createElement("path",{d:"M21 15H3"}))};sd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fd=["color","size"],hd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8.368 4.79l-2.736-.913A2 2 0 0 0 3 5.775v11.783a2 2 0 0 0 1.368 1.898l4 1.333a2 2 0 0 0 1.264 0l4.736-1.578a2 2 0 0 1 1.264 0l2.736.912A2 2 0 0 0 21 18.224V6.442a2 2 0 0 0-1.367-1.898l-4-1.333a2 2 0 0 0-1.265 0L9.631 4.789a2 2 0 0 1-1.264 0z"}),n.default.createElement("path",{d:"M9 5v16"}),n.default.createElement("path",{d:"M15 3v16"}))};hd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vd=["color","size"],pd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.147 21.197l1.67-1.168a13.393 13.393 0 0 0 5.447-13.624.837.837 0 0 0-.453-.586L12 2 4.19 5.819a.837.837 0 0 0-.454.586 13.393 13.393 0 0 0 5.448 13.624l1.67 1.168a2 2 0 0 0 2.293 0z"}))};pd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gd=["color","size"],md=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15.244 21.366a2.164 2.164 0 0 1-3.061 0l-8.549-8.549A2.164 2.164 0 0 1 3 11.287V5.163C3 3.97 3.97 3 5.164 3h6.123c.573 0 1.124.228 1.53.634l8.549 8.549a2.164 2.164 0 0 1 0 3.061l-6.122 6.122z"}),n.default.createElement("path",{d:"M6.5 6.5L7 7"}))};md.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wd=["color","size"],zd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 3.269C14 2.568 13.432 2 12.731 2H11.27C10.568 2 10 2.568 10 3.269v0c0 .578-.396 1.074-.935 1.286-.085.034-.17.07-.253.106-.531.23-1.162.16-1.572-.249v0a1.269 1.269 0 0 0-1.794 0L4.412 5.446a1.269 1.269 0 0 0 0 1.794v0c.41.41.48 1.04.248 1.572a7.946 7.946 0 0 0-.105.253c-.212.539-.708.935-1.286.935v0C2.568 10 2 10.568 2 11.269v1.462C2 13.432 2.568 14 3.269 14v0c.578 0 1.074.396 1.286.935.034.085.07.17.105.253.231.531.161 1.162-.248 1.572v0a1.269 1.269 0 0 0 0 1.794l1.034 1.034a1.269 1.269 0 0 0 1.794 0v0c.41-.41 1.04-.48 1.572-.249.083.037.168.072.253.106.539.212.935.708.935 1.286v0c0 .701.568 1.269 1.269 1.269h1.462c.701 0 1.269-.568 1.269-1.269v0c0-.578.396-1.074.935-1.287.085-.033.17-.068.253-.104.531-.232 1.162-.161 1.571.248v0a1.269 1.269 0 0 0 1.795 0l1.034-1.034a1.269 1.269 0 0 0 0-1.794v0c-.41-.41-.48-1.04-.249-1.572.037-.083.072-.168.106-.253.212-.539.708-.935 1.286-.935v0c.701 0 1.269-.568 1.269-1.269V11.27c0-.701-.568-1.269-1.269-1.269v0c-.578 0-1.074-.396-1.287-.935a7.755 7.755 0 0 0-.105-.253c-.23-.531-.16-1.162.249-1.572v0a1.269 1.269 0 0 0 0-1.794l-1.034-1.034a1.269 1.269 0 0 0-1.794 0v0c-.41.41-1.04.48-1.572.249a7.913 7.913 0 0 0-.253-.106C14.396 4.343 14 3.847 14 3.27v0z"}),n.default.createElement("path",{d:"M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0z"}))};zd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ed=["color","size"],kd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ed);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 15h13.865a1 1 0 0 0 .768-1.64L15 9l3.633-4.36A1 1 0 0 0 17.865 3H4v18"}))};kd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xd=["color","size"],Md=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8.707 3.293c-.39.39-.369 1.021-.138 1.523a2.83 2.83 0 0 1-3.753 3.753c-.502-.23-1.133-.252-1.523.138l-.586.586a1 1 0 0 0 0 1.414l10.586 10.586a1 1 0 0 0 1.414 0l.586-.586c.39-.39.369-1.021.138-1.523a2.83 2.83 0 0 1 3.753-3.753c.502.23 1.133.252 1.523-.138l.586-.586a1 1 0 0 0 0-1.414L10.707 2.707a1 1 0 0 0-1.414 0l-.586.586z"}))};Md.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yd=["color","size"],Ld=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 9a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v5a7 7 0 0 1-7 7v0a7 7 0 0 1-7-7V9z"}),n.default.createElement("path",{d:"M8 6v-.425c0-.981.384-1.96 1.326-2.238 1.525-.45 3.823-.45 5.348 0C15.616 3.615 16 4.594 16 5.575V6"}),n.default.createElement("path",{d:"M18.5 7.5L22 4"}),n.default.createElement("path",{d:"M5.5 7.5L2 4"}),n.default.createElement("path",{d:"M6 18l-4 3"}),n.default.createElement("path",{d:"M5 12H1.5"}),n.default.createElement("path",{d:"M22.5 12H19"}),n.default.createElement("path",{d:"M18 18l4 3"}),n.default.createElement("path",{d:"M12 13v8"}))};Ld.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Td=["color","size"],Cd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Td);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z"}),n.default.createElement("path",{d:"M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2"}))};Cd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bd=["color","size"],Od=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("g",{clipPath:"url(#clip0_73_30)"},n.default.createElement("circle",{cx:"12",cy:"12",r:"10",transform:"rotate(45 12 12)"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"4",transform:"rotate(45 12 12)"}),n.default.createElement("path",{d:"M19.071 4.929l-4.243 4.243"}),n.default.createElement("path",{d:"M9.172 14.828l-4.243 4.243"}),n.default.createElement("path",{d:"M19.071 19.071l-4.243-4.243"}),n.default.createElement("path",{d:"M9.172 9.172L4.929 4.929"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_73_30"},n.default.createElement("rect",{width:"24",height:"24"}))))};Od.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bd=["color","size"],jd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.074 2.633c.32-.844 1.531-.844 1.852 0l2.07 5.734c.145.38.514.633.926.633h5.087c.94 0 1.35 1.17.611 1.743L18 14a.968.968 0 0 0-.322 1.092L19 20.695c.322.9-.72 1.673-1.508 1.119l-4.917-3.12a1 1 0 0 0-1.15 0l-4.917 3.12c-.787.554-1.83-.22-1.508-1.119l1.322-5.603A.968.968 0 0 0 6 14l-3.62-3.257C1.64 10.17 2.052 9 2.99 9h5.087a.989.989 0 0 0 .926-.633l2.07-5.734z"}))};jd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wd=["color","size"],Hd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}),n.default.createElement("path",{d:"M11.4 9L9 12h4l-2.4 3"}))};Hd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vd=["color","size"],Rd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v5a7 7 0 0 1-7 7v0a7 7 0 0 1-7-7V4z"}),n.default.createElement("path",{d:"M9 22h6l-3-5-3 5z"}),n.default.createElement("path",{d:"M5 4H4a2 2 0 0 0-2 2v1.239a4 4 0 0 0 2.128 3.535L5.5 11.5"}),n.default.createElement("path",{d:"M19 4h1a2 2 0 0 1 2 2v.637a5 5 0 0 1-2.66 4.419l-.84.444"}))};Rd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ad=["color","size"],_d=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ad);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 18C19.954 18 20.917 7.83 20.994 2.997a.983.983 0 0 0-1.006-.988C3 2.321 3 10.557 3 18v4"}),n.default.createElement("path",{d:"M3 18s0-6 8-7"}))};_d.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pd=["color","size"],Sd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 20H6a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h11a4 4 0 0 1 4 4v3"}),n.default.createElement("path",{d:"M8 2v2"}),n.default.createElement("path",{d:"M15 2v2"}),n.default.createElement("path",{d:"M2 8h19"}),n.default.createElement("path",{d:"M18.5 15.643l-1.5 1.5"}),n.default.createElement("circle",{cx:"17",cy:"17",r:"5"}))};Sd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qd=["color","size"],Fd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7z"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"3"}),n.default.createElement("path",{d:"M2 9v0a4 4 0 0 0 4-4v0"}),n.default.createElement("path",{d:"M18 19v0a4 4 0 0 1 4-4v0"}))};Fd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Id=["color","size"],Jd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Id);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8.252 18.459C7.462 19.764 7.107 21 5.7 21 4.209 21 3 19.757 3 18.223s1.209-2.778 2.7-2.778c1.4 0 2.55 1.095 2.686 2.498a.846.846 0 0 1-.134.515zm0 0l1.948-3.476m5.548 3.476C16.538 19.764 16.893 21 18.3 21c1.491 0 2.7-1.243 2.7-2.777s-1.209-2.778-2.7-2.778c-1.4 0-2.55 1.095-2.687 2.498-.017.182.04.36.135.515zm0 0L7.093 3.346a.659.659 0 0 0-1.1-.081c-1.704 2.19-1.534 5.35.395 7.333l9.36 7.86zm-3.797-6.63l4.953-8.494a.66.66 0 0 1 1.098-.076c1.707 2.194 1.537 5.358-.395 7.345L16.5 11.742"}))};Jd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dd=["color","size"],Gd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"9.5",cy:"10",rx:"9.5",ry:"10",transform:"matrix(-1 0 0 1 20 2)"}),n.default.createElement("path",{d:"M13 8.8a3.583 3.583 0 0 0-2.25-.8C8.679 8 7 9.79 7 12s1.679 4 3.75 4c.844 0 1.623-.298 2.25-.8"}),n.default.createElement("path",{d:"M10 2c4.333 0 13 1 13 10s-8.667 10-13 10"}))};Gd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kd=["color","size"],Nd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 21l6-8 8 8"}),n.default.createElement("path",{d:"M5.228 7.303l13.532-5.06a1 1 0 0 1 1.108.285l.19.22A8 8 0 0 1 22 7.973v.616a1 1 0 0 1-.65.937l-13.536 5.06-2.586-7.283z"}),n.default.createElement("path",{d:"M2.66 11.371a2 2 0 0 1 1.193-2.545l1.694-.624 1.944 5.473-1.64.612a2 2 0 0 1-2.585-1.205l-.606-1.711z"}),n.default.createElement("path",{d:"M13 13v9"}))};Nd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qd=["color","size"],Ud=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"8"}),n.default.createElement("path",{d:"M8.399 4.849C5.372 2.582 2.972 1.489 2.23 2.23c-1.174 1.174 2.248 6.5 7.643 11.895 5.396 5.395 10.722 8.817 11.895 7.643.431-.43.243-1.421-.435-2.769"}))};Ud.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xd=["color","size"],Yd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 15l-2.968 2.968A2.362 2.362 0 0 1 2 16.298V15l1.357-6.784A4 4 0 0 1 7.279 5h9.442a4 4 0 0 1 3.922 3.216L22 15v1.297a2.362 2.362 0 0 1-4.032 1.67L15 15H9z"}),n.default.createElement("path",{d:"M9 5l1 2h4l1-2"}))};Yd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zd=["color","size"],$d=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 10a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3.868a2 2 0 0 1-1.715-.971l-1.56-2.6a1 1 0 0 0-1.714 0l-1.56 2.6A2 2 0 0 1 7.868 19H4a2 2 0 0 1-2-2v-7z"}),n.default.createElement("path",{d:"M3.813 6.781A4 4 0 0 1 7.14 5h9.718a4 4 0 0 1 3.328 1.781L21 8H3l.813-1.219z"}))};$d.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var eu=["color","size"],tu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,eu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2"}),n.default.createElement("path",{d:"M8 5V2"}),n.default.createElement("path",{d:"M16 5V3l1-1"}),n.default.createElement("path",{d:"M16 22v-3"}),n.default.createElement("path",{d:"M9 22v-3"}),n.default.createElement("path",{d:"M5 8H2"}),n.default.createElement("path",{d:"M22 8h-3"}),n.default.createElement("path",{d:"M22 16h-3"}),n.default.createElement("path",{d:"M5 16H3l-1 1"}))};tu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ru=["color","size"],lu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ru);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3.304 6.132A4 4 0 0 1 7.209 3h9.582a4 4 0 0 1 3.905 3.132l.147.662a23.997 23.997 0 0 1 0 10.412l-.147.662A4 4 0 0 1 16.791 21H7.21a4 4 0 0 1-3.905-3.132l-.147-.662a24 24 0 0 1 0-10.412l.147-.662z"}),n.default.createElement("path",{d:"M2.5 13h6.338c0 1 .973 3 3.405 3 2.433 0 3.406-2 3.406-3H21.5"}))};lu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ou=["color","size"],au=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ou);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 22h4M5 9a7 7 0 0 1 14 0 6.972 6.972 0 0 1-3 5.734l-.542 2.566a2 2 0 0 1-1.977 1.7h-2.962a2 2 0 0 1-1.977-1.7L8 14.745A6.992 6.992 0 0 1 5 9z"}),n.default.createElement("path",{d:"M8 15h8"}))};au.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nu=["color","size"],iu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.533 3.81L8 2l1 4-5.37 4.475A1.75 1.75 0 0 0 3 11.82v0c0 .617.537 1.088 1.127.986L9 12l-2.097 7h10.614l1.283-5.745c.913-4.088-1.386-8.21-5.267-9.445z"}),n.default.createElement("path",{d:"M4 21a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H4v-1z"}))};iu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var du=["color","size"],uu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,du);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 6h16l-1.58 14.22A2 2 0 0 1 16.432 22H7.568a2 2 0 0 1-1.988-1.78L4 6z"}),n.default.createElement("path",{d:"M7.345 3.147A2 2 0 0 1 9.154 2h5.692a2 2 0 0 1 1.81 1.147L18 6H6l1.345-2.853z"}),n.default.createElement("path",{d:"M2 6h20"}),n.default.createElement("path",{d:"M10 11v5"}),n.default.createElement("path",{d:"M14 11v5"}))};uu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cu=["color","size"],su=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"8",y:"2",width:"8",height:"13",rx:"4"}),n.default.createElement("path",{d:"M18 16.292A7.98 7.98 0 0 1 12 19a7.98 7.98 0 0 1-6-2.708"}),n.default.createElement("path",{d:"M12 19v3"}),n.default.createElement("path",{d:"M10 22h4"}))};su.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fu=["color","size"],hu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11 7c4.418 0 8 .895 8 2s-3.582 2-8 2-8-.895-8-2c0-.357.375-.693 1.033-.984"}),n.default.createElement("path",{d:"M3 9v9.343c0 1.061.44 2.08 1.409 2.513C5.624 21.399 7.711 22 11 22c3.29 0 5.377-.601 6.591-1.144.968-.433 1.409-1.452 1.409-2.513V9"}),n.default.createElement("path",{d:"M19 10v0a3 3 0 0 1 3 3v0a3 3 0 0 1-3 3v0"}),n.default.createElement("path",{d:"M7 3v4"}),n.default.createElement("path",{d:"M11 2v2"}),n.default.createElement("path",{d:"M15 4v3"}))};hu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vu=["color","size"],pu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.default.createElement("path",{d:"M12 10.016A2.794 2.794 0 0 0 9.857 9C8.28 9 7 10.343 7 12s1.28 3 2.857 3c.854 0 1.62-.393 2.143-1.016M17 12c0 1.657-1.28 3-2.857 3-1.578 0-2.857-1.343-2.857-3s1.279-3 2.857-3C15.72 9 17 10.343 17 12z"}))};pu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gu=["color","size"],mu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11 8V3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v5a4 4 0 0 0 4 4h1a4 4 0 0 0 4-4z"}),n.default.createElement("path",{d:"M15 16V2h3a4 4 0 0 1 4 4v10h-4"}),n.default.createElement("path",{d:"M15 16v5a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-5"}),n.default.createElement("path",{d:"M5 12v9a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-9"}),n.default.createElement("path",{d:"M5 6V2"}),n.default.createElement("path",{d:"M8 6V2"}))};mu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wu=["color","size"],zu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 10H8c-2.188 0-3.698 1.415-3.935 3.282-.325 2.56.529 4.105 3.634 5.128 1.394.46 2.579 1.464 3.01 2.868l.223.722.095-.082a8 8 0 0 1 2.175-1.331l1.921-.789c3.286-1.348 5.22-3.408 4.826-6.516C19.712 11.415 18.188 10 16 10z"}),n.default.createElement("path",{d:"M11.964 6.97s-3.075.306-4.685-1.035C5.669 4.593 6.036 2.03 6.036 2.03s3.075-.306 4.686 1.035c1.61 1.342 1.242 3.905 1.242 3.905z"}),n.default.createElement("path",{d:"M12.036 6.97s3.075.306 4.685-1.035c1.61-1.342 1.243-3.905 1.243-3.905s-3.075-.306-4.685 1.035c-1.61 1.342-1.243 3.905-1.243 3.905z"}),n.default.createElement("path",{d:"M19 11.5c-.5 1-3.134 1.5-7 1.5s-6.5-.5-7-1.5"}))};zu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Eu=["color","size"],ku=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Eu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15.5 4H18a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2.5"}),n.default.createElement("path",{d:"M8.621 3.515A2 2 0 0 1 10.561 2h2.877a2 2 0 0 1 1.94 1.515L16 6H8l.621-2.485z"}),n.default.createElement("path",{d:"M9 12h6"}),n.default.createElement("path",{d:"M9 16h6"}))};ku.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xu=["color","size"],Mu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"6",cy:"15",r:"4"}),n.default.createElement("circle",{cx:"18",cy:"15",r:"4"}),n.default.createElement("path",{d:"M6 15l2-7h7.5"}),n.default.createElement("path",{d:"M6 5h3"}),n.default.createElement("path",{d:"M18 15L15 5h4"}),n.default.createElement("path",{d:"M19 5h.5A1.5 1.5 0 0 1 21 6.5v0A1.5 1.5 0 0 1 19.5 8H19"}))};Mu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yu=["color","size"],Lu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 11l-2 4 3.408 1.363a4 4 0 0 1 2.229 2.229L9 22l4-2-1.21-2.42a2 2 0 0 1 .679-2.56L14 14l4 7 3-4-2.29-7.469.715-.714c1.412-1.412 2.71-3.682 1.075-5.317-1.635-1.635-3.91-.34-5.316 1.077l-.72.708L7 3 3 6l7 4-1.02 1.531a2 2 0 0 1-2.56.68L4 11z"}))};Lu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tu=["color","size"],Cu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M4 11l-2 4 3.408 1.363a4 4 0 0 1 2.229 2.229L9 22l4-2-1.21-2.42a2 2 0 0 1 .679-2.56L14 14l4 7 3-4-2.29-7.469.715-.714c1.412-1.412 2.71-3.682 1.075-5.317-1.635-1.635-3.91-.34-5.316 1.077l-.72.708L7 3 3 6l7 4-1.02 1.531a2 2 0 0 1-2.56.68L4 11z"}))};Cu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bu=["color","size"],Ou=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 9l1.164 8.926a3.875 3.875 0 0 0 2.844 3.243v0c3.27.872 6.713.872 9.984 0v0a3.875 3.875 0 0 0 2.844-3.243L21 9"}),n.default.createElement("path",{d:"M5.035 7.266C3.763 7.661 3 8.165 3 8.714 3 9.977 7.03 11 12 11s9-1.023 9-2.286c0-.55-.764-1.054-2.037-1.448"}),n.default.createElement("path",{d:"M9 4l-3 .51C4.159 4.874 3 5.407 3 6c0 1.105 4.03 2 9 2s9-.895 9-2c0-.592-1.159-1.125-3-1.49L15 4"}),n.default.createElement("path",{d:"M15 4v0a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v0"}))};Ou.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bu=["color","size"],ju=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"6",cy:"14",r:"4"}),n.default.createElement("circle",{cx:"18",cy:"14",r:"4"}),n.default.createElement("path",{d:"M10 14l.211-.106a4 4 0 0 1 3.578 0L14 14"}),n.default.createElement("path",{d:"M19 6l2.838 6.623a2 2 0 0 1 .162.788V14"}),n.default.createElement("path",{d:"M5 6l-2.838 6.623A2 2 0 0 0 2 13.41V14"}))};ju.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wu=["color","size"],Hu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.964 6.97s-3.075.306-4.685-1.035C5.669 4.593 6.036 2.03 6.036 2.03s3.075-.306 4.686 1.035c1.61 1.342 1.242 3.905 1.242 3.905z"}),n.default.createElement("path",{d:"M12.036 6.97s3.075.306 4.685-1.035c1.61-1.342 1.243-3.905 1.243-3.905s-3.075-.306-4.685 1.035c-1.61 1.342-1.243 3.905-1.243 3.905z"}),n.default.createElement("path",{d:"M4 11a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2z"}),n.default.createElement("path",{d:"M5 14h14l-2 8H7l-2-8z"}))};Hu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vu=["color","size"],Ru=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16.474 5.408l2.118 2.117m-.756-3.982L12.109 9.27a2.118 2.118 0 0 0-.58 1.082L11 13l2.648-.53c.41-.082.786-.283 1.082-.579l5.727-5.727a1.853 1.853 0 1 0-2.621-2.621z"}),n.default.createElement("path",{d:"M19 15v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h3"}))};Ru.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Au=["color","size"],_u=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Au);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 4l2.303 14.076a4 4 0 0 0 2.738 3.167l.328.104a12 12 0 0 0 7.262 0l.328-.104a4 4 0 0 0 2.738-3.166L21 4"}),n.default.createElement("ellipse",{cx:"12",cy:"4",rx:"9",ry:"2"}))};_u.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pu=["color","size"],Su=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1zM3.293 3.293a1 1 0 0 1 1.414 0l1.5 1.5a1 1 0 0 1-1.414 1.414l-1.5-1.5a1 1 0 0 1 0-1.414zm17.414 0a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 1 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0zM1 12a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1zm19 0a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1zM6.207 17.793a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 0 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0zm11.586 0a1 1 0 0 1 1.414 0l1.5 1.5a1 1 0 0 1-1.414 1.414l-1.5-1.5a1 1 0 0 1 0-1.414zM12 20a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1z"}))};Su.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qu=["color","size"],Fu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M20.958 15.325c.204-.486-.379-.9-.868-.684a7.684 7.684 0 0 1-3.101.648c-4.185 0-7.577-3.324-7.577-7.425a7.28 7.28 0 0 1 1.134-3.91c.284-.448-.057-1.068-.577-.936C5.96 4.041 3 7.613 3 11.862 3 16.909 7.175 21 12.326 21c3.9 0 7.24-2.345 8.632-5.675z"}),n.default.createElement("path",{d:"M15.611 3.103c-.53-.354-1.162.278-.809.808l.63.945a2.332 2.332 0 0 1 0 2.588l-.63.945c-.353.53.28 1.162.81.808l.944-.63a2.332 2.332 0 0 1 2.588 0l.945.63c.53.354 1.162-.278.808-.808l-.63-.945a2.332 2.332 0 0 1 0-2.588l.63-.945c.354-.53-.278-1.162-.809-.808l-.944.63a2.332 2.332 0 0 1-2.588 0l-.945-.63z"}))};Fu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Iu=["color","size"],Ju=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Iu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 3s3 .5 5 .5 5-.5 5-.5l1 9s-3 1-6 1-6-1-6-1l1-9z"}),n.default.createElement("path",{d:"M3.869 8.147l-.862 10.294c-.03.366.04.733.205 1.06l.197.393A2.01 2.01 0 0 0 5.206 21h13.588a2.01 2.01 0 0 0 1.797-1.106l.197-.392c.165-.328.236-.695.205-1.06l-.862-10.295a3.99 3.99 0 0 0-.79-2.068L17 3s-3 .5-5 .5S6.978 3 6.978 3l-2.32 3.08a3.99 3.99 0 0 0-.79 2.067z"}),n.default.createElement("path",{d:"M6 12l-2.5 8M18 12l2.5 8"}))};Ju.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Du=["color","size"],Gu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Du);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 21h12a4 4 0 0 0 4-4V5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v13c0 1.657-.343 3-2 3z"}),n.default.createElement("path",{d:"M3 10a2 2 0 0 1 2-2h2v10.5c0 1.38-.62 2.5-2 2.5s-2-1.12-2-2.5V10z"}),n.default.createElement("circle",{cx:"12",cy:"8",r:"1"}),n.default.createElement("path",{d:"M11 14h6"}),n.default.createElement("path",{d:"M11 17h3"}))};Gu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ku=["color","size"],Nu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ku);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 2h11a3 3 0 0 1 3 3v14a1 1 0 0 1-1 1h-3"}),n.default.createElement("path",{d:"M5 2l7.588 1.518A3 3 0 0 1 15 6.459V20.78a1 1 0 0 1-1.196.98l-7.196-1.438A2 2 0 0 1 5 18.36V2z"}),n.default.createElement("path",{d:"M12 12v2"}))};Nu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qu=["color","size"],Uu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22a8 8 0 0 1-8-8c0-3.502 2.71-6.303 5.093-8.87L12 2l2.907 3.13C17.29 7.698 20 10.499 20 14a8 8 0 0 1-8 8z"}))};Uu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xu=["color","size"],Yu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22c-4.97 0-9-2.582-9-7v-.088C3 12.794 4.338 11.1 6.375 10c1.949-1.052 3.101-2.99 2.813-5l-.563-3 2.086.795c3.757 1.43 6.886 3.912 8.914 7.066A8.495 8.495 0 0 1 21 14.464V15c0 1.562-.504 2.895-1.375 3.965"}),n.default.createElement("path",{d:"M12 22c-1.657 0-3-1.433-3-3.2 0-1.4 1.016-2.521 1.91-3.548L12 14l1.09 1.252C13.984 16.28 15 17.4 15 18.8c0 1.767-1.343 3.2-3 3.2z"}))};Yu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zu=["color","size"],$u=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 8h7a3 3 0 1 0-3-3"}),n.default.createElement("path",{d:"M4 16h11a3 3 0 1 1-3 3"}),n.default.createElement("path",{d:"M2 12h17a3 3 0 1 0-3-3"}))};$u.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ec=["color","size"],tc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ec);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 19v-6.733a4 4 0 0 0-1.245-2.9L13.378 3.31a2 2 0 0 0-2.755 0L4.245 9.367A4 4 0 0 0 3 12.267V19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"}))};tc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rc=["color","size"],lc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 4c-4.915 0-8.91 3.378-8.999 8.817a.18.18 0 0 0 .182.183.188.188 0 0 0 .17-.11C3.876 11.767 4.782 11.5 6 11.5c1.185 0 1.964.227 2.456 1.302.054.12.172.198.304.198a.366.366 0 0 0 .326-.224C9.56 11.729 10.901 11.5 12 11.5M12 4c4.916 0 8.91 3.378 8.998 8.817a.18.18 0 0 1-.18.183.188.188 0 0 1-.17-.11c-.525-1.123-1.43-1.39-2.648-1.39-1.185 0-1.964.227-2.456 1.302a.336.336 0 0 1-.304.198.366.366 0 0 1-.326-.224C14.44 11.729 13.099 11.5 12 11.5M12 4V2m0 9.5V20a2 2 0 1 1-4 0"}))};lc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oc=["color","size"],ac=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 5.4A2.4 2.4 0 0 1 5.4 3h13.2A2.4 2.4 0 0 1 21 5.4v0a.6.6 0 0 1-.6.6H3.6a.6.6 0 0 1-.6-.6v0z"}),n.default.createElement("path",{d:"M5 6h14l-1.555 14.218A2 2 0 0 1 15.457 22H8.543a2 2 0 0 1-1.988-1.782L5 6z"}),n.default.createElement("path",{d:"M6.313 18l-.875-8h13.125l-.875 8H6.313z"}))};ac.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nc=["color","size"],ic=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 15H4V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"}),n.default.createElement("path",{d:"M2 18h12"}),n.default.createElement("path",{d:"M14 9.2c0-.663.597-1.2 1.333-1.2h5.334C21.403 8 22 8.537 22 9.2v9.6c0 .663-.597 1.2-1.333 1.2h-5.334C14.597 20 14 19.463 14 18.8V9.2z"}),n.default.createElement("path",{d:"M18 17h.01"}))};ic.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dc=["color","size"],uc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.029 2.54a2 2 0 0 1 1.942 0l7.515 4.174a1 1 0 0 1 .514.874v8.235a2 2 0 0 1-1.029 1.748l-7 3.89a2 2 0 0 1-1.942 0l-7-3.89A2 2 0 0 1 3 15.824V7.588a1 1 0 0 1 .514-.874L11.03 2.54z"}),n.default.createElement("path",{d:"M3 7l9 5m0 0l9-5m-9 5v9.5"}),n.default.createElement("path",{d:"M7.5 9.5l9-5"}),n.default.createElement("path",{d:"M6 12.328L9 14"}))};uc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cc=["color","size"],sc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.029 2.54a2 2 0 0 1 1.942 0l7.515 4.174a1 1 0 0 1 .514.874v8.235a2 2 0 0 1-1.029 1.748l-7 3.89a2 2 0 0 1-1.942 0l-7-3.89A2 2 0 0 1 3 15.824V7.588a1 1 0 0 1 .514-.874L11.03 2.54z"}),n.default.createElement("path",{d:"M7.5 4.5l9 5V13"}),n.default.createElement("path",{d:"M6 12.328L9 14"}),n.default.createElement("path",{d:"M3 7l9 5m0 0l9-5m-9 5v9.5"}))};sc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fc=["color","size"],hc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 7h13.79a2 2 0 0 1 1.99 2.199l-.6 6A2 2 0 0 1 18.19 17H8.64a2 2 0 0 1-1.962-1.608L5 7z"}),n.default.createElement("path",{d:"M5 7l-.81-3.243A1 1 0 0 0 3.22 3H2"}),n.default.createElement("path",{d:"M8 21h2"}),n.default.createElement("path",{d:"M16 21h2"}))};hc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vc=["color","size"],pc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2.31 11.242A1 1 0 0 1 3.28 10h17.44a1 1 0 0 1 .97 1.242l-1.811 7.243A2 2 0 0 1 17.939 20H6.061a2 2 0 0 1-1.94-1.515L2.31 11.243z"}),n.default.createElement("path",{d:"M9 14v2"}),n.default.createElement("path",{d:"M15 14v2"}),n.default.createElement("path",{d:"M6 10l4-6"}),n.default.createElement("path",{d:"M18 10l-4-6"}))};pc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gc=["color","size"],mc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 11.083a4 4 0 0 1 1.706-3.277l6-4.2a4 4 0 0 1 4.588 0l6 4.2A4 4 0 0 1 22 11.083V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.917z"}),n.default.createElement("path",{d:"M2.5 9.5l7.001 5.501a4 4 0 0 0 4.998 0L21.5 9.5"}))};mc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wc=["color","size"],zc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M15 16l-2.414-2.414A2 2 0 0 1 12 12.172V6"}))};zc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ec=["color","size"],kc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ec);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 17h6V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a1 1 0 0 0 1 1h1"}),n.default.createElement("path",{d:"M22 16v-4a4 4 0 0 0-4-4h-2v9h5a1 1 0 0 0 1-1z"}),n.default.createElement("path",{d:"M15 17a3 3 0 1 0 6 0h-6z"}),n.default.createElement("path",{d:"M22 14h-2"}),n.default.createElement("circle",{cx:"7",cy:"17",r:"3"}))};kc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xc=["color","size"],Mc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 13c6 0 8-4.477 8-10H4c0 5.523 2 10 8 10z"}),n.default.createElement("path",{d:"M12 13v7"}),n.default.createElement("path",{d:"M5 8h14"}),n.default.createElement("path",{d:"M8 22h8l-4-2-4 2z"}))};Mc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yc=["color","size"],Lc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 10a1 1 0 0 1 1-1h6v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V10z"}),n.default.createElement("path",{d:"M13 15a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v6h-8v-6z"}),n.default.createElement("rect",{x:"15",y:"9",width:"4",height:"3"}),n.default.createElement("rect",{x:"6",y:"4",width:"4",height:"5"}),n.default.createElement("path",{d:"M8 4V2"}),n.default.createElement("path",{d:"M17 9V6"}),n.default.createElement("path",{d:"M17 17v-5"}))};Lc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tc=["color","size"],Cc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"7",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M9 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1H9V6z"}),n.default.createElement("path",{d:"M10 12l.211.106a4 4 0 0 0 3.578 0L14 12"}))};Cc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bc=["color","size"],Oc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16.926 19.381l-4.302 1.414a2 2 0 0 1-1.248 0L7.074 19.38a4 4 0 0 1-2.623-2.794L3 11l9 1 9-1-1.451 5.587a4 4 0 0 1-2.623 2.794z"}),n.default.createElement("path",{d:"M6.497 7.257A2 2 0 0 1 8.354 6h7.292a2 2 0 0 1 1.857 1.257L19 11l-7 1-7-1 1.497-3.743z"}),n.default.createElement("path",{d:"M12 3v3"}),n.default.createElement("path",{d:"M11 3h2"}),n.default.createElement("path",{d:"M12 12v4"}))};Oc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bc=["color","size"],jc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 8l1.304 1.043a4 4 0 0 0 5.995-1.181L12 3l2.701 4.862a4 4 0 0 0 5.995 1.18L22 8l-1.754 8.77a2.564 2.564 0 0 1-1.367 1.79v0a15.381 15.381 0 0 1-13.758 0v0a2.564 2.564 0 0 1-1.367-1.79L2 8z"}),n.default.createElement("path",{d:"M8 15c2.596 1.333 5.404 1.333 8 0"}))};jc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wc=["color","size"],Hc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 3l4-1-1 4-10 10-2.5-.5L8 13 18 3z"}),n.default.createElement("path",{d:"M2 20l2 2"}),n.default.createElement("path",{d:"M5 14l1 4 4 1"}),n.default.createElement("path",{d:"M6 18l-3 3"}))};Hc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vc=["color","size"],Rc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 19.2L3.8 21m.9-7.2l.9 3.6m0 0l3.6.9m-3.6-.9l-2.7 2.7M16.4 3.9l-9 9 .45 2.25 2.25.45 9-9L20 3l-3.6.9z"}),n.default.createElement("path",{d:"M22 19.2L20.2 21m-.9-7.2l-.9 3.6m0 0l2.7 2.7m-2.7-2.7l-1.8.45-1.8.45M9.3 11L4.9 6.6 4 3l3.6.9L12 8.3m.1 5.5l1.8 1.8 2.25-.45.45-2.25-1.8-1.8"}))};Rc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ac=["color","size"],_c=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ac);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 18l2-2h2l1.36-1.36a6.5 6.5 0 1 0-3.997-3.992L2 18v4h4l2-2v-2z"}),n.default.createElement("circle",{cx:"17",cy:"7",r:"1"}))};_c.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pc=["color","size"],Sc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 4.363C9 2.732 3 1.23 3 8.277c0 5.492 1.188 9.756 3.005 12.141.645.847 2.216.584 2.888-.265a1.22 1.22 0 0 0 .174-.328l1.063-2.8c.654-1.72 3.086-1.72 3.74 0l1.063 2.8c.045.116.097.23.174.328.672.85 2.243 1.112 2.888.265C19.812 18.033 21 13.77 21 8.277c0-7.046-6-5.545-9-3.914zm0 0L15 6"}))};Sc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qc=["color","size"],Fc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 13a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7z"}),n.default.createElement("path",{d:"M3 13l2.914 2.331c1.187.95 2.9.855 3.975-.22v0a2.985 2.985 0 0 1 4.222 0v0a2.985 2.985 0 0 0 3.975.22L21 13"}),n.default.createElement("path",{d:"M12 6a2 2 0 0 1-2-2c0-.876.677-1.576 1.273-2.217L12 1l.727.783C13.323 2.424 14 3.124 14 4a2 2 0 0 1-2 2z"}))};Fc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ic=["color","size"],Jc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ic);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 4.222v15.556C4 21.005 5.023 22 6.286 22h11.428C18.977 22 20 21.005 20 19.778V8.444a2 2 0 0 0-2-2H6.286C5.023 6.444 4 5.45 4 4.222zm0 0C4 2.995 5.023 2 6.286 2h9.143c1.262 0 2.285.995 2.285 2.222v2.222"}))};Jc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dc=["color","size"],Gc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 2l.19.94a4 4 0 0 0 2.57 2.974L8 6l-.24.086A4 4 0 0 0 5.19 9.06L5 10l-.19-.94a4 4 0 0 0-2.57-2.974L2 6l.24-.086A4 4 0 0 0 4.81 2.94L5 2z"}),n.default.createElement("path",{d:"M8 16l.23 1.276a2 2 0 0 0 1.219 1.501L10 19l-.551.223a2 2 0 0 0-1.22 1.5L8 22l-.23-1.276a2 2 0 0 0-1.219-1.501L6 19l.551-.223a2 2 0 0 0 1.22-1.5L8 16z"}),n.default.createElement("path",{d:"M16 3l.556 2.654a8 8 0 0 0 5.213 5.92L23 12l-1.231.426a8 8 0 0 0-5.213 5.92L16 21l-.556-2.654a8 8 0 0 0-5.213-5.92L9 12l1.231-.426a8 8 0 0 0 5.213-5.92L16 3z"}))};Gc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kc=["color","size"],Nc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 18V5.716a2 2 0 0 1 1.696-1.977l9-1.385A2 2 0 0 1 21 4.331V16"}),n.default.createElement("path",{d:"M8 9l13-2"}),n.default.createElement("path",{d:"M8 18a3 3 0 1 1-6 0c0-1.657 1.343-2 3-2s3 .343 3 2z"}),n.default.createElement("path",{d:"M21 16a3 3 0 1 1-6 0c0-1.657 1.343-2 3-2s3 .343 3 2z"}))};Nc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qc=["color","size"],Uc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 4v14"}),n.default.createElement("path",{d:"M19 7.674v-.657a4 4 0 0 0-2.901-3.846l-2.824-.807A1 1 0 0 0 12 3.326V7l5.725 1.636A1 1 0 0 0 19 7.674z"}),n.default.createElement("path",{d:"M12 18a3 3 0 1 1-6 0c0-1.657 1.343-2 3-2s3 .343 3 2z"}))};Uc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xc=["color","size"],Yc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V6z"}),n.default.createElement("path",{d:"M9 16.5V8.78a1 1 0 0 1 .757-.97l6-1.5A1 1 0 0 1 17 7.28V15"}),n.default.createElement("path",{d:"M9 11l8-2"}),n.default.createElement("circle",{cx:"7.5",cy:"16.5",r:"1.5"}),n.default.createElement("circle",{cx:"15.5",cy:"15.5",r:"1.5"}))};Yc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zc=["color","size"],$c=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 5c0-2.21 1.792-4 4.002-4h13.996C21.208 1 23 2.79 23 5v14a4 4 0 0 1-4 4H5a4 4 0 0 1-4-4V5zm19 7a8 8 0 1 1-16 0 8 8 0 0 1 16 0zm-8 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"}))};$c.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var es=["color","size"],ts=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,es);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M8.25 11.75v.5"}),n.default.createElement("path",{d:"M8.25 15.75v.5"}),n.default.createElement("path",{d:"M15.5 8h.5"}),n.default.createElement("path",{d:"M15.75 7.75v.5"}),n.default.createElement("path",{d:"M15.75 11.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}),n.default.createElement("path",{d:"M8 12h.5"}),n.default.createElement("path",{d:"M15.5 12h.5"}),n.default.createElement("path",{d:"M8 16h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}))};ts.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rs=["color","size"],ls=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M15.5 8h.5"}),n.default.createElement("path",{d:"M12 12h.5"}),n.default.createElement("path",{d:"M12.25 11.75v.5"}),n.default.createElement("path",{d:"M8 16h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M8.25 15.75v.5"}),n.default.createElement("path",{d:"M15.75 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}))};ls.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var os=["color","size"],as=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,os);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 11V8l-8-5-8 5v3h16z"}),n.default.createElement("path",{d:"M3 21h18"}),n.default.createElement("path",{d:"M5 20v-5h2"}),n.default.createElement("path",{d:"M17 20v-5h2"}),n.default.createElement("path",{d:"M11 20v-5h2"}))};as.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ns=["color","size"],is=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ns);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9.474 16l9.181 3.284a1.1 1.1 0 0 0 1.462-.887L21.99 4.239c.114-.862-.779-1.505-1.567-1.13L2.624 11.605c-.88.42-.814 1.69.106 2.017l2.44.868 1.33.467M13 17.26l-1.99 3.326c-.65.808-1.959.351-1.959-.683V17.24a2 2 0 0 1 .53-1.356l3.871-4.2"}))};is.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ds=["color","size"],us=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ds);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 19v-6.733a4 4 0 0 0-1.245-2.9L13.378 3.31a2 2 0 0 0-2.755 0L4.245 9.367A4 4 0 0 0 3 12.267V19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"}),n.default.createElement("path",{d:"M9 15a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6H9v-6z"}))};us.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cs=["color","size"],ss=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.default.createElement("rect",{x:"6",y:"8",width:"2",height:"2"}))};ss.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fs=["color","size"],hs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 21H7a4 4 0 0 1-4-4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v13c0 1.657.343 3 2 3z"}),n.default.createElement("path",{d:"M21 10a2 2 0 0 0-2-2h-2v10.5c0 1.38.62 2.5 2 2.5s2-1.12 2-2.5V10z"}),n.default.createElement("path",{d:"M13 11H7"}),n.default.createElement("path",{d:"M13 7H7"}),n.default.createElement("path",{d:"M10 15H7"}))};hs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vs=["color","size"],ps=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 22l-2-2 1-1 2 2-1 1z"}),n.default.createElement("path",{d:"M9 13l2 2"}),n.default.createElement("path",{d:"M12 12l-8 8"}),n.default.createElement("path",{d:"M20 4l-1 1"}),n.default.createElement("path",{d:"M9.707 7.707a1 1 0 0 1 0-1.414l4.086-4.086a1 1 0 0 1 1.414 0l6.586 6.586a1 1 0 0 1 0 1.414l-4.086 4.086a1 1 0 0 1-1.414 0L9.707 7.707z"}))};ps.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gs=["color","size"],ms=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"12",cy:"6",rx:"8",ry:"3"}),n.default.createElement("path",{d:"M6.037 12C4.77 12.53 4 13.232 4 14c0 1.657 3.582 3 8 3s8-1.343 8-3c0-.768-.77-1.47-2.037-2"}),n.default.createElement("path",{d:"M4 6v4c0 1.657 3.582 3 8 3s8-1.343 8-3V6"}),n.default.createElement("path",{d:"M4 14v4c0 1.657 3.582 3 8 3s8-1.343 8-3v-4"}))};ms.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ws=["color","size"],zs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ws);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M15.5 8h.5"}),n.default.createElement("path",{d:"M8 16h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M8.25 15.75v.5"}),n.default.createElement("path",{d:"M15.75 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}))};zs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Es=["color","size"],ks=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Es);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M12.25 11.75v.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M12 12h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}))};ks.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xs=["color","size"],Ms=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}))};Ms.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ys=["color","size"],Ls=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ys);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M12.25 11.75v.5"}),n.default.createElement("path",{d:"M12 12h.5"}))};Ls.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ts=["color","size"],Cs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ts);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 7v8a2 2 0 0 0 2 2h1M2 7V5a2 2 0 0 1 2-2h2M2 7a4 4 0 0 0 4-4m0 0h13m-9.236 9A3 3 0 0 1 14 7.764M2 20L20 2m1.22 16.047l.549-6.261c.075-.865-.598-1.63-1.504-1.71l-.82-.071m1.776 8.042l-.137 1.566c-.076.864-.872 1.501-1.778 1.422l-1.64-.144m3.555-2.844c-1.813-.158-3.405 1.115-3.556 2.844m0 0L7 19.958m4.347-3.477c.409.52.94.785 1.67.849 1.359.119 2.553-.836 2.666-2.133.061-.696-.085-1.269-.551-1.743"}))};Cs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bs=["color","size"],Os=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 14h.352a3 3 0 0 1 2.976 2.628l.391 3.124A2 2 0 0 1 18.734 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}))};Os.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bs=["color","size"],js=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}),n.default.createElement("path",{d:"M19 14v4"}),n.default.createElement("path",{d:"M17 16h4"}))};js.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ws=["color","size"],Hs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ws);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}),n.default.createElement("path",{d:"M17 16.5l1.5 1.5 2.5-3"}))};Hs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vs=["color","size"],Rs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}),n.default.createElement("path",{d:"M21 18l-3-3m3 0l-3 3"}))};Rs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var As=["color","size"],_s=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,As);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M12 18a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4z"}))};_s.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ps=["color","size"],Ss=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ps);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M16 14c-.5 1.5-1.79 3-4 3s-3.5-1.5-4-3"}))};Ss.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qs=["color","size"],Fs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M8 14h8"}))};Fs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Is=["color","size"],Js=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Is);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M16 16c-.5-1.5-1.79-3-4-3s-3.5 1.5-4 3"}))};Js.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ds=["color","size"],Gs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ds);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M12 13a4 4 0 0 1 4 4H8a4 4 0 0 1 4-4z"}))};Gs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ks=["color","size"],Ns=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ks);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M7 9h2"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M16 15c-.5 1-1.79 2-4 2s-3.5-1-4-2"}))};Ns.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qs=["color","size"],Us=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.605 5.782l.23-2.369c.091-.952.98-1.598 1.878-1.366 1.351.35 2.3 1.605 2.3 3.044v3.035c0 .675 0 1.013.146 1.26.083.141.197.26.333.345.24.151.567.151 1.22.151h.396c1.703 0 2.554 0 3.078.39.393.293.67.722.78 1.208.146.65-.181 1.463-.836 3.087l-.326.81a3.261 3.261 0 0 0-.226 1.48c.232 2.874-2.047 5.295-4.833 5.136l-10.424-.599c-1.139-.065-1.708-.098-2.222-.553-.515-.455-.612-.924-.805-1.861a14.324 14.324 0 0 1 .055-6.037c.283-1.248 1.475-1.92 2.706-1.76 3.264.42 6.223-2.019 6.55-5.4z"}),n.default.createElement("path",{d:"M7 11.5l-.137.457A14.983 14.983 0 0 0 7 21"}))};Us.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xs=["color","size"],Ys=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12.395 18.218l-.23 2.369c-.091.952-.98 1.598-1.878 1.366-1.351-.35-2.3-1.605-2.3-3.044v-3.035c0-.675 0-1.013-.146-1.26a1.018 1.018 0 0 0-.333-.345c-.24-.151-.567-.151-1.22-.151h-.396c-1.703 0-2.554 0-3.078-.39a2.073 2.073 0 0 1-.78-1.208c-.146-.65.181-1.463.836-3.087l.327-.81c.188-.468.265-.975.225-1.48-.232-2.874 2.047-5.295 4.833-5.135l10.424.598c1.139.065 1.708.098 2.222.553.515.455.612.924.805 1.861a14.317 14.317 0 0 1-.055 6.037c-.283 1.248-1.475 1.92-2.706 1.76-3.264-.42-6.223 2.019-6.55 5.4z"}),n.default.createElement("path",{d:"M17 12.5l.137-.457c.887-2.956.84-6.115-.137-9.043"}))};Ys.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zs=["color","size"],$s=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 11l-1-7.272c0-.466.185-.913.515-1.243 1.024-1.024 2.777-.44 2.982.994L16 10l1.508-6.328a1.682 1.682 0 0 1 3.276.73L19 16"}),n.default.createElement("path",{d:"M19 16c-.536 4-3.358 6-7.5 6C7.358 22 4 20 4 16"}),n.default.createElement("path",{d:"M4 16v-4a2 2 0 1 1 4 0m4 1v-2a2 2 0 1 0-4 0v4"}),n.default.createElement("path",{d:"M13.692 17H11a2 2 0 1 1 0-4h4c2.21 0 4.5 2 3.5 5"}))};$s.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ef=["color","size"],tf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ef);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 16l.87-11.735a2.102 2.102 0 0 0-4.181-.433L15 9"}),n.default.createElement("path",{d:"M8 15v-3a2 2 0 1 0-4 0v4"}),n.default.createElement("path",{d:"M12 13v-1.5a2 2 0 1 0-4 0V15"}),n.default.createElement("path",{d:"M16 13v-2a2 2 0 1 0-4 0v2"}),n.default.createElement("path",{d:"M19 16c-.536 4-3.358 6-7.5 6C7.358 22 4 20 4 16"}),n.default.createElement("path",{d:"M13.692 17H11a2 2 0 1 1 0-4h4c2.21 0 4.5 2 3.5 5"}))};tf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rf=["color","size"],lf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 16l.87-11.735a2.102 2.102 0 0 0-4.181-.433L15 9"}),n.default.createElement("path",{d:"M8 11l-.713-4.279a2.06 2.06 0 0 0-4.083.525L4 16"}),n.default.createElement("path",{d:"M12 13v-1.5a2 2 0 1 0-4 0V15"}),n.default.createElement("path",{d:"M16 13v-2a2 2 0 1 0-4 0v2"}),n.default.createElement("path",{d:"M19 16c-.536 4-3.358 6-7.5 6C7.358 22 4 20 4 16"}),n.default.createElement("path",{d:"M13.692 17H11a2 2 0 1 1 0-4h4c2.21 0 4.5 2 3.5 5"}))};lf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var of=["color","size"],af=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,of);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"7",cy:"6",r:"3"}),n.default.createElement("path",{d:"M10 13H5.818a3 3 0 0 0-2.964 2.537L2.36 18.69A2 2 0 0 0 4.337 21H9"}),n.default.createElement("path",{d:"M21.64 18.691l-.494-3.154A3 3 0 0 0 18.182 13h-2.364a3 3 0 0 0-2.964 2.537l-.493 3.154A2 2 0 0 0 14.337 21h5.326a2 2 0 0 0 1.976-2.309z"}),n.default.createElement("circle",{cx:"17",cy:"6",r:"3"}))};af.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nf=["color","size"],df=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16.719 19.752l-.64-5.124A3 3 0 0 0 13.101 12h-2.204a3 3 0 0 0-2.976 2.628l-.641 5.124A2 2 0 0 0 9.266 22h5.468a2 2 0 0 0 1.985-2.248z"}),n.default.createElement("circle",{cx:"12",cy:"5",r:"3"}),n.default.createElement("circle",{cx:"4",cy:"9",r:"2"}),n.default.createElement("circle",{cx:"20",cy:"9",r:"2"}),n.default.createElement("path",{d:"M4 14h-.306a2 2 0 0 0-1.973 1.671l-.333 2A2 2 0 0 0 3.361 20H7"}),n.default.createElement("path",{d:"M20 14h.306a2 2 0 0 1 1.973 1.671l.333 2A2 2 0 0 1 20.639 20H17"}))};df.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uf=["color","size"],cf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 16V8.5c0-.828-.641-1.5-1.48-1.5C18 7 17 7.3 17 8.5v-3c0-.828-.641-1.5-1.48-1.5-.507 0-1.52.3-1.52 1.5v-2c0-.828-.641-1.5-1.48-1.5-.84 0-1.52.672-1.52 1.5v2C11 4.3 10.007 4 9.5 4 8.66 4 8 4.691 8 5.52V14"}),n.default.createElement("path",{d:"M11 5.5V11"}),n.default.createElement("path",{d:"M14 5.5V11"}),n.default.createElement("path",{d:"M17 5.5V11"}),n.default.createElement("path",{d:"M20 16c0 4-3.134 6-7 6s-5.196-1-8.196-6l-1.571-2.605c-.536-.868-.107-1.994.881-2.314a1.657 1.657 0 0 1 1.818.552L8 14.033"}))};cf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sf=["color","size"],ff=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 16V9.5c0-.828-.641-1.5-1.48-1.5C18 8 17 8.3 17 9.5M8 14V5.52"}),n.default.createElement("path",{d:"M20 16c0 4-3.134 6-7 6s-5.196-1-8.196-6l-1.571-2.605c-.536-.868-.107-1.994.881-2.314a1.657 1.657 0 0 1 1.818.552L8 14.033"}),n.default.createElement("path",{d:"M14 11V7.5A1.5 1.5 0 0 1 15.5 6v0A1.5 1.5 0 0 1 17 7.5V11"}),n.default.createElement("path",{d:"M11 11V6.5A1.5 1.5 0 0 1 12.5 5v0A1.5 1.5 0 0 1 14 6.5V11"}),n.default.createElement("path",{d:"M8 11V2.5A1.5 1.5 0 0 1 9.5 1v0A1.5 1.5 0 0 1 11 2.5V11"}))};ff.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hf=["color","size"],vf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_65_70)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12.067C0 18.033 4.333 22.994 10 24v-8.667H7V12h3V9.333c0-3 1.933-4.666 4.667-4.666.866 0 1.8.133 2.666.266V8H15.8c-1.467 0-1.8.733-1.8 1.667V12h3.2l-.533 3.333H14V24c5.667-1.006 10-5.966 10-11.933C24 5.43 18.6 0 12 0S0 5.43 0 12.067z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_65_70"},n.default.createElement("rect",{width:"24",height:"24"}))))};vf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pf=["color","size"],gf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M23.643 4.937c-.835.37-1.732.62-2.675.733a4.67 4.67 0 0 0 2.048-2.578 9.3 9.3 0 0 1-2.958 1.13 4.66 4.66 0 0 0-7.938 4.25 13.229 13.229 0 0 1-9.602-4.868c-.4.69-.63 1.49-.63 2.342A4.66 4.66 0 0 0 3.96 9.824a4.647 4.647 0 0 1-2.11-.583v.06a4.66 4.66 0 0 0 3.737 4.568 4.692 4.692 0 0 1-2.104.08 4.661 4.661 0 0 0 4.352 3.234 9.348 9.348 0 0 1-5.786 1.995 9.5 9.5 0 0 1-1.112-.065 13.175 13.175 0 0 0 7.14 2.093c8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602a9.47 9.47 0 0 0 2.323-2.41l.002-.003z"}))};gf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mf=["color","size"],wf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 2.838A1.838 1.838 0 0 1 2.838 1H21.16A1.837 1.837 0 0 1 23 2.838V21.16A1.838 1.838 0 0 1 21.161 23H2.838A1.838 1.838 0 0 1 1 21.161V2.838zm8.708 6.55h2.979v1.496c.43-.86 1.53-1.634 3.183-1.634 3.169 0 3.92 1.713 3.92 4.856v5.822h-3.207v-5.106c0-1.79-.43-2.8-1.522-2.8-1.515 0-2.145 1.089-2.145 2.8v5.106H9.708V9.388zm-5.5 10.403h3.208V9.25H4.208v10.54zM7.875 5.812a2.063 2.063 0 1 1-4.125 0 2.063 2.063 0 0 1 4.125 0z"}))};wf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zf=["color","size"],Ef=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_67_12)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12c6.612 0 12-5.375 12-12S18.612 0 12 0zm7.926 5.531a10.202 10.202 0 0 1 2.317 6.378c-.338-.065-3.722-.755-7.132-.325-.079-.17-.144-.352-.222-.534a30.53 30.53 0 0 0-.676-1.484c3.774-1.536 5.492-3.748 5.713-4.035zM12 1.771c2.603 0 4.985.975 6.794 2.576-.182.26-1.731 2.33-5.375 3.696-1.68-3.084-3.54-5.61-3.827-6A10.424 10.424 0 0 1 12 1.77zm-4.36.962c.273.365 2.095 2.903 3.8 5.922-4.79 1.276-9.02 1.25-9.475 1.25.664-3.176 2.812-5.818 5.675-7.172zm-5.896 9.28v-.312c.443.013 5.414.078 10.53-1.458.299.573.572 1.158.832 1.744-.13.039-.273.078-.403.117-5.284 1.705-8.096 6.364-8.33 6.755a10.226 10.226 0 0 1-2.629-6.846zM12 22.256c-2.369 0-4.555-.807-6.286-2.16.182-.378 2.264-4.387 8.043-6.404.026-.013.04-.013.065-.026 1.445 3.735 2.03 6.872 2.187 7.77-1.237.534-2.59.82-4.009.82zm5.714-1.757c-.104-.625-.651-3.618-1.992-7.302 3.215-.507 6.026.326 6.378.443-.443 2.85-2.083 5.31-4.386 6.859z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_67_12"},n.default.createElement("rect",{width:"24",height:"24"}))))};Ef.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var kf=["color","size"],xf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,kf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_67_13)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zm-4.312-.942c.194.277.304.604.316.942a1.751 1.751 0 0 1-.972 1.596c.014.176.014.352 0 .528 0 2.688-3.132 4.872-6.996 4.872-3.864 0-6.996-2.184-6.996-4.872a3.444 3.444 0 0 1 0-.528 1.75 1.75 0 1 1 1.932-2.868 8.568 8.568 0 0 1 4.68-1.476l.888-4.164a.372.372 0 0 1 .444-.288l2.94.588a1.2 1.2 0 1 1-.156.732L13.2 5.58l-.78 3.744a8.544 8.544 0 0 1 4.62 1.476 1.751 1.751 0 0 1 2.648.258zM8.206 12.533a1.2 1.2 0 1 0 1.996 1.334 1.2 1.2 0 0 0-1.996-1.334zm3.806 4.891c1.065.044 2.113-.234 2.964-.876a.335.335 0 1 0-.468-.48A3.936 3.936 0 0 1 12 16.8a3.924 3.924 0 0 1-2.496-.756.324.324 0 0 0-.456.456 4.608 4.608 0 0 0 2.964.924zm2.081-3.178c.198.132.418.25.655.25a1.199 1.199 0 0 0 1.212-1.248 1.2 1.2 0 1 0-1.867.998z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_67_13"},n.default.createElement("rect",{width:"24",height:"24"}))))};xf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mf=["color","size"],yf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_66_158)"},n.default.createElement("path",{d:"M18.895 22.517c-.798.867-2.646 1.456-4.301 1.483h-.182c-5.557 0-6.766-4.164-6.766-6.594v-6.748H5.458a.454.454 0 0 1-.324-.137.472.472 0 0 1-.134-.33V7.003c0-.164.05-.324.142-.458a.782.782 0 0 1 .376-.29c2.855-1.026 3.748-3.562 3.87-5.49.035-.516.297-.765.738-.765H13.4a.451.451 0 0 1 .33.134.468.468 0 0 1 .137.333V5.87h3.823c.121 0 .238.05.324.137a.472.472 0 0 1 .134.33v3.83a.472.472 0 0 1-.134.33.454.454 0 0 1-.324.138h-3.84v6.245c0 1.568 1.015 2.001 1.64 2.001a4.537 4.537 0 0 0 1.488-.321.973.973 0 0 1 .595-.106.483.483 0 0 1 .34.37l1.012 3.014c.068.237.14.498-.03.68z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_66_158"},n.default.createElement("rect",{width:"24",height:"24"}))))};yf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lf=["color","size"],Tf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_67_11)"},n.default.createElement("g",{clipPath:"url(#clip1_67_11)"},n.default.createElement("path",{d:"M0 12c0 5.123 3.211 9.497 7.73 11.218-.11-.937-.227-2.482.025-3.566.217-.932 1.401-5.938 1.401-5.938s-.357-.715-.357-1.774c0-1.66.962-2.9 2.161-2.9 1.02 0 1.512.765 1.512 1.682 0 1.025-.653 2.557-.99 3.978-.281 1.189.597 2.159 1.769 2.159 2.123 0 3.756-2.239 3.756-5.471 0-2.861-2.056-4.86-4.991-4.86-3.398 0-5.393 2.549-5.393 5.184 0 1.027.395 2.127.889 2.726a.36.36 0 0 1 .083.343c-.091.378-.293 1.189-.332 1.355-.053.218-.173.265-.4.159-1.492-.694-2.424-2.875-2.424-4.627 0-3.769 2.737-7.229 7.892-7.229 4.144 0 7.365 2.953 7.365 6.899 0 4.117-2.595 7.431-6.199 7.431-1.211 0-2.348-.63-2.738-1.373 0 0-.599 2.282-.744 2.84-.282 1.084-1.064 2.456-1.549 3.235C9.584 23.815 10.77 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0 0 5.373 0 12z"}))),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_67_11"},n.default.createElement("rect",{width:"24",height:"24"})),n.default.createElement("clipPath",{id:"clip1_67_11"},n.default.createElement("rect",{width:"24",height:"24"}))))};Tf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Cf=["color","size"],bf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Cf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.45 5.948c.166-.546 0-.948-.795-.948H20.03c-.668 0-.976.347-1.143.73 0 0-1.335 3.196-3.226 5.272-.612.602-.89.793-1.224.793-.167 0-.418-.191-.418-.738V5.948c0-.656-.184-.948-.74-.948H9.151c-.417 0-.668.304-.668.593 0 .621.946.765 1.043 2.513v3.798c0 .833-.153.984-.487.984-.89 0-3.055-3.211-4.34-6.885C4.45 5.288 4.198 5 3.527 5H.9c-.75 0-.9.347-.9.73 0 .682.89 4.07 4.145 8.551C6.315 17.341 9.37 19 12.153 19c1.669 0 1.875-.368 1.875-1.003v-2.313c0-.737.158-.884.687-.884.39 0 1.057.192 2.615 1.667C19.11 18.216 19.403 19 20.405 19h2.625c.75 0 1.126-.368.91-1.096-.238-.724-1.088-1.775-2.215-3.022-.612-.71-1.53-1.475-1.809-1.858-.389-.491-.278-.71 0-1.147 0 0 3.2-4.426 3.533-5.929z"}))};bf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Of=["color","size"],Bf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Of);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_100_7)"},n.default.createElement("path",{d:"M23.5 6.507a2.786 2.786 0 0 0-.766-1.27 3.05 3.05 0 0 0-1.338-.742C19.518 4 11.994 4 11.994 4a76.624 76.624 0 0 0-9.39.47 3.16 3.16 0 0 0-1.338.76c-.37.356-.638.795-.778 1.276A29.09 29.09 0 0 0 0 12c-.012 1.841.151 3.68.488 5.494.137.479.404.916.775 1.269.371.353.833.608 1.341.743 1.903.494 9.39.494 9.39.494a76.8 76.8 0 0 0 9.402-.47 3.05 3.05 0 0 0 1.338-.742c.37-.353.633-.792.765-1.27A28.38 28.38 0 0 0 24 12.023a26.579 26.579 0 0 0-.5-5.517zM9.602 15.424V8.577l6.26 3.424-6.26 3.423z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_100_7"},n.default.createElement("rect",{width:"24",height:"24"}))))};Bf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jf=["color","size"],Wf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.465 1.066C8.638 1.012 9.012 1 12 1c2.988 0 3.362.013 4.534.066 1.172.053 1.972.24 2.672.511.733.277 1.398.71 1.948 1.27.56.549.992 1.213 1.268 1.947.272.7.458 1.5.512 2.67C22.988 8.639 23 9.013 23 12c0 2.988-.013 3.362-.066 4.535-.053 1.17-.24 1.97-.512 2.67a5.396 5.396 0 0 1-1.268 1.949c-.55.56-1.215.992-1.948 1.268-.7.272-1.5.458-2.67.512-1.174.054-1.548.066-4.536.066-2.988 0-3.362-.013-4.535-.066-1.17-.053-1.97-.24-2.67-.512a5.397 5.397 0 0 1-1.949-1.268 5.392 5.392 0 0 1-1.269-1.948c-.271-.7-.457-1.5-.511-2.67C1.012 15.361 1 14.987 1 12c0-2.988.013-3.362.066-4.534.053-1.172.24-1.972.511-2.672a5.396 5.396 0 0 1 1.27-1.948 5.392 5.392 0 0 1 1.947-1.269c.7-.271 1.5-.457 2.67-.511zm8.98 1.98c-1.16-.053-1.508-.064-4.445-.064-2.937 0-3.285.011-4.445.064-1.073.049-1.655.228-2.043.379-.513.2-.88.437-1.265.822a3.412 3.412 0 0 0-.822 1.265c-.151.388-.33.97-.379 2.043-.053 1.16-.064 1.508-.064 4.445 0 2.937.011 3.285.064 4.445.049 1.073.228 1.655.379 2.043.176.477.457.91.822 1.265.355.365.788.646 1.265.822.388.151.97.33 2.043.379 1.16.053 1.507.064 4.445.064 2.938 0 3.285-.011 4.445-.064 1.073-.049 1.655-.228 2.043-.379.513-.2.88-.437 1.265-.822.365-.355.646-.788.822-1.265.151-.388.33-.97.379-2.043.053-1.16.064-1.508.064-4.445 0-2.937-.011-3.285-.064-4.445-.049-1.073-.228-1.655-.379-2.043-.2-.513-.437-.88-.822-1.265a3.413 3.413 0 0 0-1.265-.822c-.388-.151-.97-.33-2.043-.379zm-5.85 12.345a3.669 3.669 0 0 0 4-5.986 3.67 3.67 0 1 0-4 5.986zM8.002 8.002a5.654 5.654 0 1 1 7.996 7.996 5.654 5.654 0 0 1-7.996-7.996zm10.906-.814a1.337 1.337 0 1 0-1.89-1.89 1.337 1.337 0 0 0 1.89 1.89z"}))};Wf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Hf=["color","size"],Vf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Hf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_100_5)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.415 0C5.968 0 4 2.053 4 4.568c0 1.529.728 2.887 1.847 3.716A4.613 4.613 0 0 0 4 12c0 1.53.728 2.887 1.847 3.716A4.613 4.613 0 0 0 4 19.432C4 21.947 5.968 24 8.415 24c2.446 0 4.415-2.053 4.415-4.568V15.57a4.307 4.307 0 0 0 2.755.999C18.032 16.568 20 14.515 20 12c0-1.53-.727-2.887-1.847-3.716A4.613 4.613 0 0 0 20 4.568C20 2.053 18.032 0 15.585 0h-7.17zM5.659 4.568c0-1.591 1.242-2.865 2.756-2.865h2.755v5.73H8.415c-1.514 0-2.756-1.275-2.756-2.865zm9.926 2.864H12.83v-5.73h2.755c1.515 0 2.756 1.275 2.756 2.866 0 1.59-1.241 2.864-2.756 2.864zM5.66 12c0-1.59 1.242-2.865 2.756-2.865h2.755v5.73H8.415C6.9 14.865 5.659 13.59 5.659 12zm7.17 0c0-1.59 1.242-2.865 2.756-2.865 1.515 0 2.756 1.274 2.756 2.865 0 1.59-1.241 2.865-2.756 2.865-1.514 0-2.755-1.274-2.755-2.865zm-7.17 7.432c0-1.59 1.242-2.864 2.756-2.864h2.755v2.864c0 1.591-1.24 2.865-2.755 2.865-1.514 0-2.756-1.274-2.756-2.865z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_100_5"},n.default.createElement("rect",{width:"24",height:"24"}))))};Vf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Rf=["color","size"],Af=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Rf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_100_4)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_100_4"},n.default.createElement("rect",{width:"24",height:"24"}))))};Af.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _f=["color","size"],Pf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_f);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_331_272)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zM12.43 8.859c-1.167.485-3.5 1.49-6.998 3.014-.568.226-.866.447-.893.663-.046.366.412.51 1.034.705.085.027.173.054.263.084.613.199 1.437.432 1.865.441.389.008.823-.152 1.302-.48 3.268-2.207 4.955-3.322 5.061-3.346.075-.017.179-.039.249.024.07.062.063.18.056.212-.046.193-1.84 1.862-2.77 2.726-.29.269-.495.46-.537.504-.094.097-.19.19-.282.279-.57.548-.996.96.024 1.632.49.323.882.59 1.273.856.427.291.853.581 1.405.943.14.092.274.187.405.28.497.355.944.673 1.496.623.32-.03.652-.331.82-1.23.397-2.126 1.179-6.73 1.36-8.628a2.111 2.111 0 0 0-.02-.472.506.506 0 0 0-.172-.325c-.143-.117-.365-.142-.465-.14-.451.008-1.143.249-4.476 1.635z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_331_272"},n.default.createElement("rect",{width:"24",height:"24"}))))};Pf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sf=["color","size"],qf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M6 2l6 3.75L6 9.5 0 5.75 6 2zm12 0l6 3.75-6 3.75-6-3.75L18 2zM0 13.25L6 9.5l6 3.75L6 17l-6-3.75zM18 9.5l6 3.75L18 17l-6-3.75 6-3.75zM6 18.25l6-3.75 6 3.75L12 22l-6-3.75z"}))};qf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ff=["color","size"],If=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ff);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M21.456 10.154c.123.659.19 1.348.19 2.067 0 5.624-3.764 9.623-9.449 9.623A9.841 9.841 0 0 1 2.353 12a9.841 9.841 0 0 1 9.844-9.844c2.658 0 4.879.978 6.583 2.566l-2.775 2.775V7.49c-1.033-.984-2.344-1.489-3.808-1.489-3.248 0-5.888 2.744-5.888 5.993 0 3.248 2.64 5.998 5.888 5.998 2.947 0 4.953-1.685 5.365-3.999h-5.365v-3.839h9.26z"}))};If.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jf=["color","size"],Df=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_399_293)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.372 0 0 5.373 0 12s5.372 12 12 12c6.627 0 12-5.373 12-12S18.627 0 12 0zm.14 19.018c-3.868 0-7-3.14-7-7.018 0-3.878 3.132-7.018 7-7.018 1.89 0 3.47.697 4.682 1.829l-1.974 1.978v-.004c-.735-.702-1.667-1.062-2.708-1.062-2.31 0-4.187 1.956-4.187 4.273 0 2.315 1.877 4.277 4.187 4.277 2.096 0 3.522-1.202 3.816-2.852H12.14v-2.737h6.585c.088.47.135.96.135 1.474 0 4.01-2.677 6.86-6.72 6.86z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_399_293"},n.default.createElement("rect",{width:"24",height:"24"}))))};Df.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Gf=["color","size"],Kf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Gf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M17.532 15.106a1.003 1.003 0 1 1 .001-2.007 1.003 1.003 0 0 1 0 2.007zm-11.044 0a1.003 1.003 0 1 1 .001-2.007 1.003 1.003 0 0 1 0 2.007zm11.4-6.018l2.006-3.459a.413.413 0 1 0-.721-.407l-2.027 3.5a12.243 12.243 0 0 0-5.13-1.108c-1.85 0-3.595.398-5.141 1.098l-2.027-3.5a.413.413 0 1 0-.72.407l1.995 3.458C2.696 10.947.345 14.417 0 18.523h24c-.334-4.096-2.675-7.565-6.112-9.435z"}))};Kf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Nf=["color","size"],Qf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Nf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_399_390)"},n.default.createElement("path",{d:"M11.385 15.275c1.111-.004 3.54-.013 3.512-1.558-.027-1.58-2.36-1.485-3.497-1.438-.127.005-.24.01-.332.011l.052 2.987c.075-.002.165-.002.265-.002z"}),n.default.createElement("path",{d:"M11.267 10.922c.927-.001 2.95-.003 2.926-1.408-.026-1.437-1.969-1.352-2.918-1.31-.107.005-.2.009-.278.01l.047 2.709.223-.001z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.096 23.641c6.43 1.603 12.942-2.31 14.545-8.738C25.244 8.474 21.33 1.962 14.9.36 8.474-1.244 1.962 2.67.36 9.1c-1.603 6.428 2.31 12.94 8.737 14.542zm4.282-17.02c1.754.124 3.15.638 3.333 2.242.136 1.174-.344 1.889-1.123 2.303 1.3.288 2.125 1.043 1.995 2.771-.161 2.145-1.748 2.748-4.026 2.918l.038 2.25-1.356.025-.039-2.22c-.351.006-.711.01-1.084.008l.04 2.23-1.356.024-.04-2.254-.383.003c-.194.001-.39.002-.586.006l-1.766.03.241-1.624s1.004-.002.986-.017c.384-.008.481-.285.502-.459L8.693 11.3l.097-.002h.046a1.101 1.101 0 0 0-.144-.007l-.044-2.54c-.057-.274-.241-.59-.79-.58.015-.02-.986.017-.986.017L6.846 6.74l1.872-.032v.007c.281-.005.57-.015.863-.026l-.038-2.229 1.356-.023.038 2.184c.362-.013.726-.027 1.083-.033l-.038-2.17 1.357-.024.039 2.229z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_399_390"},n.default.createElement("rect",{width:"24",height:"24"}))))};Qf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uf=["color","size"],Xf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_399_388)"},n.default.createElement("path",{d:"M11.995 0C5.381 0 0 5.382 0 11.996 0 18.616 5.381 24 11.995 24 18.615 24 24 18.615 24 11.996 24 5.382 18.615 0 11.995 0zM5.908 16.404a14.548 14.548 0 0 1 4.238-.638c2.414 0 4.797.612 6.892 1.77.125.068.238.292.29.572.05.28.03.567-.052.716a.61.61 0 0 1-.834.24A13.107 13.107 0 0 0 6.277 18.03a.61.61 0 0 1-.771-.402c-.107-.35.114-1.13.402-1.224zm-.523-4.42a18.154 18.154 0 0 1 4.76-.635c2.894 0 5.767.7 8.31 2.026.179.09.31.244.37.432a.747.747 0 0 1-.052.578c-.227.444-.493.743-.66.743a.769.769 0 0 1-.35-.086 16.33 16.33 0 0 0-7.617-1.854 16.34 16.34 0 0 0-4.366.585.749.749 0 0 1-.92-.525c-.112-.422.145-1.16.525-1.264zM5.25 9.098a.88.88 0 0 1-1.073-.641c-.123-.498.188-1.076.64-1.19a22.365 22.365 0 0 1 5.328-.649c3.45 0 6.756.776 9.824 2.307a.888.888 0 0 1 .4 1.19c-.143.288-.453.598-.795.598a.924.924 0 0 1-.388-.087 20.026 20.026 0 0 0-9.041-2.126c-1.635 0-3.282.201-4.895.598z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_399_388"},n.default.createElement("rect",{width:"24",height:"24"}))))};Xf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yf=["color","size"],Zf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M1.16 16.466c.049 0 .09-.039.098-.093l.27-2.022-.27-2.069c-.007-.054-.05-.093-.099-.093-.05 0-.094.04-.1.093l-.236 2.069.236 2.021c.006.055.05.094.1.094z"}),n.default.createElement("path",{d:"M.272 15.697c.048 0 .088-.036.095-.09l.209-1.256-.209-1.28c-.007-.053-.047-.09-.095-.09-.051 0-.09.037-.098.09L0 14.351l.174 1.256c.008.053.047.09.098.09z"}),n.default.createElement("path",{d:"M2.22 11.897a.122.122 0 0 0-.12-.114.12.12 0 0 0-.119.114l-.224 2.454.224 2.364a.12.12 0 0 0 .12.112.121.121 0 0 0 .12-.113l.254-2.363-.254-2.454z"}),n.default.createElement("path",{d:"M3.052 16.922a.143.143 0 0 0 .14-.132l.241-2.439-.24-2.522a.143.143 0 0 0-.141-.132.14.14 0 0 0-.14.133l-.213 2.521.212 2.439a.14.14 0 0 0 .141.133z"}),n.default.createElement("path",{d:"M4.01 16.962a.162.162 0 0 0 .162-.152l.226-2.459-.226-2.34a.162.162 0 0 0-.162-.151.16.16 0 0 0-.16.152l-.2 2.34.2 2.458a.16.16 0 0 0 .16.152z"}),n.default.createElement("path",{d:"M5.37 14.352l-.212-3.805a.184.184 0 0 0-.182-.173.183.183 0 0 0-.182.173l-.188 3.805.188 2.458a.183.183 0 0 0 .364 0l.212-2.458z"}),n.default.createElement("path",{d:"M5.951 16.987a.201.201 0 0 0 .201-.192v.002l.199-2.444-.199-4.676a.203.203 0 0 0-.405 0l-.174 4.676.175 2.443a.201.201 0 0 0 .203.19z"}),n.default.createElement("path",{d:"M6.931 9.076a.222.222 0 0 0-.223.212l-.162 5.065.162 2.418a.221.221 0 0 0 .223.211.22.22 0 0 0 .223-.211l.185-2.418-.185-5.065a.22.22 0 0 0-.223-.212z"}),n.default.createElement("path",{d:"M7.92 16.987a.24.24 0 0 0 .244-.232v.002l.17-2.404-.17-5.235a.24.24 0 0 0-.243-.232.238.238 0 0 0-.243.232l-.153 5.235.153 2.404c.002.129.11.23.243.23z"}),n.default.createElement("path",{d:"M8.918 16.985a.26.26 0 0 0 .263-.252v.002l.157-2.381-.157-5.103a.26.26 0 0 0-.263-.25.26.26 0 0 0-.264.25l-.138 5.103.139 2.38c.003.14.119.25.263.25z"}),n.default.createElement("path",{d:"M10.349 14.354l-.142-4.917a.28.28 0 0 0-.284-.27.28.28 0 0 0-.285.271l-.127 4.916.127 2.366a.28.28 0 0 0 .285.27.28.28 0 0 0 .284-.273v.003l.142-2.366z"}),n.default.createElement("path",{d:"M10.935 16.994c.165 0 .301-.13.304-.29l.129-2.349-.129-5.85a.301.301 0 0 0-.304-.291.303.303 0 0 0-.305.291l-.115 5.848.115 2.352c.003.158.14.289.305.289z"}),n.default.createElement("path",{d:"M11.944 7.664a.322.322 0 0 0-.327.31l-.133 6.382.134 2.315a.32.32 0 0 0 .325.308.32.32 0 0 0 .324-.311v.003l.146-2.315-.146-6.381a.32.32 0 0 0-.323-.311z"}),n.default.createElement("path",{d:"M12.866 16.996l8.181.004C22.678 17 24 15.732 24 14.167c0-1.564-1.322-2.832-2.953-2.832-.404 0-.79.079-1.142.22C19.672 9.003 17.44 7 14.718 7c-.665 0-1.314.126-1.887.339-.223.083-.283.168-.285.333v8.989a.349.349 0 0 0 .32.335z"}))};Zf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $f=["color","size"],eh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$f);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_419_281)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.372.19c.38-.253.875-.253 1.256 0L23.492 7.4c.317.21.508.565.508.946v7.308c0 .38-.19.736-.508.947l-10.864 7.21c-.38.252-.875.252-1.256 0L.508 16.6A1.136 1.136 0 0 1 0 15.654V8.346c0-.38.19-.736.508-.947L11.372.19zm-9.1 10.273v3.058l2.288-1.54-2.288-1.518zm4.337 2.878L3.18 15.648l7.684 5.1v-4.583L6.61 13.341zm6.527 2.824v4.582l7.684-5.1-3.43-2.306-4.254 2.824zm6.303-4.183l2.29 1.54v-3.06l-2.29 1.52zm1.371-3.636l-3.41 2.263-4.264-2.868V3.253l7.674 5.093zm-9.946-5.093V7.74l-4.263 2.868L3.19 8.346l7.674-5.093zM12 9.715l-3.35 2.254L12 14.192l3.35-2.223L12 9.715z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_419_281"},n.default.createElement("rect",{width:"24",height:"24"}))))};eh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var th=["color","size"],rh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,th);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_615_275)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.415 14.382c-.298-.149-1.759-.867-2.031-.967-.272-.099-.47-.148-.669.15-.198.296-.767.966-.94 1.164-.174.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.019-.458.13-.606.134-.133.297-.347.446-.52.149-.174.198-.298.297-.497.1-.198.05-.371-.025-.52-.074-.149-.668-1.612-.916-2.207-.241-.579-.486-.5-.668-.51-.174-.008-.372-.01-.57-.01-.198 0-.52.074-.792.372-.273.297-1.04 1.016-1.04 2.479 0 1.462 1.064 2.875 1.213 3.074.149.198 2.095 3.2 5.076 4.487.71.306 1.263.489 1.694.625.712.227 1.36.195 1.872.118.57-.085 1.758-.719 2.006-1.413.247-.694.247-1.289.173-1.413-.074-.124-.272-.198-.57-.347zm-5.422 7.403h-.004a9.87 9.87 0 0 1-5.032-1.378l-.36-.214-3.742.982.999-3.648-.235-.374a9.861 9.861 0 0 1-1.511-5.26c.002-5.45 4.436-9.884 9.889-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.892 6.993c-.002 5.45-4.436 9.885-9.884 9.885zm8.412-18.297A11.815 11.815 0 0 0 11.992 0C5.438 0 .102 5.335.1 11.892c-.001 2.096.546 4.142 1.587 5.945L0 24l6.304-1.654a11.881 11.881 0 0 0 5.684 1.448h.005c6.554 0 11.89-5.335 11.892-11.893a11.821 11.821 0 0 0-3.48-8.413"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_615_275"},n.default.createElement("rect",{width:"24",height:"24"}))))};rh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var lh=["color","size"],oh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,lh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.429 8.969h3.714v1.85c.535-1.064 1.907-2.02 3.968-2.02 3.951 0 4.889 2.118 4.889 6.004V22h-4v-6.312c0-2.213-.535-3.461-1.897-3.461-1.889 0-2.674 1.345-2.674 3.46V22h-4V8.969zM2.57 21.83h4V8.799h-4V21.83zM7.143 4.55a2.53 2.53 0 0 1-.753 1.802A2.573 2.573 0 0 1 4.57 7.1a2.59 2.59 0 0 1-1.818-.747A2.548 2.548 0 0 1 2 4.55c0-.677.27-1.325.753-1.803A2.583 2.583 0 0 1 4.571 2c.682 0 1.336.269 1.819.747.482.478.753 1.126.753 1.803z"}))};oh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ah=["color","size"],nh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ah);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M21.99 7.16c-.092 2.027-1.52 4.8-4.28 8.323C14.857 19.161 12.44 21 10.462 21c-1.225 0-2.26-1.122-3.106-3.359-.564-2.055-1.127-4.11-1.697-6.16-.627-2.237-1.3-3.359-2.025-3.359-.155 0-.707.33-1.645.98L1 7.837c1.035-.906 2.06-1.805 3.066-2.71 1.38-1.185 2.422-1.805 3.112-1.868 1.633-.153 2.64.951 3.02 3.325.408 2.556.69 4.15.851 4.77.472 2.124.99 3.183 1.553 3.183.437 0 1.099-.688 1.979-2.066.88-1.378 1.351-2.425 1.415-3.143.126-1.19-.345-1.782-1.415-1.782-.5 0-1.018.114-1.553.342 1.03-3.353 3.002-4.982 5.913-4.885 2.157.057 3.175 1.446 3.049 4.156z"}))};nh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ih=["color","size"],dh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ih);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M4.372 7.264a.784.784 0 0 0-.252-.658L2.252 4.339V4H8.05l4.482 9.905L16.472 4H22v.339L20.403 5.88a.472.472 0 0 0-.177.452v11.334a.472.472 0 0 0 .177.452l1.56 1.542V20h-7.844v-.339l1.616-1.58c.159-.16.159-.207.159-.451V8.468l-4.492 11.494h-.606L5.566 8.468v7.704c-.043.323.064.65.29.884l2.101 2.568v.338H2v-.338l2.1-2.568a1.03 1.03 0 0 0 .272-.884V7.264z"}))};dh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uh=["color","size"],ch=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_822_311)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zM6 16.2h9V9.6a1.8 1.8 0 0 0-1.8-1.8h-9v6.6A1.8 1.8 0 0 0 6 16.2zm10.2-2.4l3.6 2.4V7.8l-3.6 2.4v3.6z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_822_311"},n.default.createElement("rect",{width:"24",height:"24"}))))};ch.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sh=["color","size"],fh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.066 1a2.2 2.2 0 1 0 .001 4.4h2.2V3.2a2.202 2.202 0 0 0-2.2-2.2zm0 5.867H3.2a2.2 2.2 0 0 0 0 4.4h5.866a2.2 2.2 0 1 0 0-4.4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23 9.066a2.2 2.2 0 0 0-4.4 0v2.2h2.2a2.2 2.2 0 0 0 2.2-2.2zm-5.867 0V3.2a2.2 2.2 0 0 0-4.4 0v5.866a2.2 2.2 0 1 0 4.4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.933 23a2.2 2.2 0 1 0 0-4.4h-2.2v2.2c-.001 1.213.984 2.198 2.2 2.2zm0-5.868H20.8a2.2 2.2 0 0 0 0-4.4h-5.866a2.2 2.2 0 0 0-.001 4.4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 14.933a2.2 2.2 0 0 0 4.4 0v-2.2H3.2a2.2 2.2 0 0 0-2.2 2.2zm5.867 0v5.866a2.2 2.2 0 0 0 4.4.001v-5.866a2.2 2.2 0 0 0-4.4-.001z"}))};fh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hh=["color","size"],vh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M18.372 20.222v-5.358h1.79V22H4v-7.136h1.79v5.358h12.582z"}),n.default.createElement("path",{d:"M7.768 14.356l8.79 1.824.372-1.755L8.14 12.6l-.372 1.756zm1.162-4.157l8.14 3.764.744-1.617-8.14-3.787-.744 1.64zm2.256-3.973l6.907 5.705 1.14-1.363-6.907-5.704-1.14 1.362zM15.651 2L14.21 3.062l5.35 7.16L21 9.159 15.651 2zm-8.07 16.42h8.977v-1.778H7.581v1.778z"}))};vh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ph=["color","size"],gh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ph);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.547 1L1 4.776v15.433h5.5V23h3.093l2.922-2.791h4.47L23 14.462V1H2.547zm18.39 12.478l-3.438 3.283H12l-2.922 2.791v-2.79h-4.64V2.97h16.499v10.508zm-3.438-6.731v5.74h-2.062v-5.74H17.5zm-5.499 0v5.74H9.938v-5.74H12z"}))};gh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mh=["color","size"],wh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_822_337)"},n.default.createElement("path",{d:"M5.829 4.533c-.6 1.344-.363 3.752-.267 5.436-.648.359-1.48-.271-1.951-.271-.49 0-1.075.322-1.167.802-.066.346.089.85 1.201 1.289.43.17 1.453.37 1.69.928.333.784-1.71 4.403-4.918 4.931a.498.498 0 0 0-.416.519c.056.975 2.242 1.357 3.211 1.507.099.134.179.7.306 1.131.057.193.204.424.582.424.493 0 1.312-.38 2.738-.144 1.398.233 2.712 2.215 5.235 2.215 2.345 0 3.744-1.991 5.09-2.215.779-.129 1.448-.088 2.196.058.515.101.977.157 1.124-.349.129-.437.208-.992.305-1.123.96-.149 3.156-.53 3.211-1.505a.498.498 0 0 0-.416-.519c-3.154-.52-5.259-4.128-4.918-4.931.236-.557 1.252-.755 1.69-.928.814-.321 1.222-.716 1.213-1.173-.011-.585-.715-.934-1.233-.934-.527 0-1.284.624-1.897.286.096-1.698.332-4.095-.267-5.438C17.036 1.986 14.511.7 11.987.7 9.479.7 6.973 1.968 5.829 4.533z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_822_337"},n.default.createElement("rect",{width:"24",height:"24"}))))};wh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zh=["color","size"],Eh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M8.422 20.081c0 .896.01 1.753.016 2.285a.617.617 0 0 0 .422.58c2.078.686 4.317.718 6.414.091l.292-.087a.67.67 0 0 0 .478-.638c.005-.733.017-2.017.017-3.53 0-1.372-.477-2.25-1.031-2.707 3.399-.366 6.97-1.61 6.97-7.227 0-1.61-.592-2.91-1.566-3.934.153-.366.688-1.866-.153-3.878 0 0-1.28-.403-4.201 1.5a14.76 14.76 0 0 0-3.82-.494c-1.298 0-2.597.165-3.819.494C5.52.65 4.24 1.036 4.24 1.036c-.84 2.012-.306 3.512-.153 3.878a5.565 5.565 0 0 0-1.566 3.934c0 5.598 3.552 6.86 6.951 7.227-.439.366-.84 1.006-.973 1.957-.879.384-3.075 1.006-4.45-1.207-.286-.44-1.146-1.519-2.349-1.5-1.28.018-.516.695.02.97.648.347 1.393 1.646 1.565 2.067.306.823 1.299 2.396 5.137 1.72z"}))};Eh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var kh=["color","size"],xh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,kh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M20.317 4.492c-1.53-.69-3.17-1.2-4.885-1.49a.075.075 0 0 0-.079.036c-.21.369-.444.85-.608 1.23a18.566 18.566 0 0 0-5.487 0 12.36 12.36 0 0 0-.617-1.23A.077.077 0 0 0 8.562 3c-1.714.29-3.354.8-4.885 1.491a.07.07 0 0 0-.032.027C.533 9.093-.32 13.555.099 17.961a.08.08 0 0 0 .031.055 20.03 20.03 0 0 0 5.993 2.98.078.078 0 0 0 .084-.026c.462-.62.874-1.275 1.226-1.963.021-.04.001-.088-.041-.104a13.201 13.201 0 0 1-1.872-.878.075.075 0 0 1-.008-.125c.126-.093.252-.19.372-.287a.075.075 0 0 1 .078-.01c3.927 1.764 8.18 1.764 12.061 0a.075.075 0 0 1 .079.009c.12.098.245.195.372.288a.075.075 0 0 1-.006.125c-.598.344-1.22.635-1.873.877a.075.075 0 0 0-.041.105c.36.687.772 1.341 1.225 1.962a.077.077 0 0 0 .084.028 19.963 19.963 0 0 0 6.002-2.981.076.076 0 0 0 .032-.054c.5-5.094-.838-9.52-3.549-13.442a.06.06 0 0 0-.031-.028zM8.02 15.278c-1.182 0-2.157-1.069-2.157-2.38 0-1.312.956-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.956 2.38-2.157 2.38zm7.975 0c-1.183 0-2.157-1.069-2.157-2.38 0-1.312.955-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.946 2.38-2.157 2.38z"}))};xh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mh=["color","size"],yh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_1599_271)"},n.default.createElement("path",{d:"M22 7h-7V5h7v2zm1.726 10c-.442 1.297-2.029 3-5.101 3-3.074 0-5.564-1.729-5.564-5.675 0-3.91 2.325-5.92 5.466-5.92 3.082 0 4.964 1.782 5.375 4.426.078.506.109 1.188.095 2.14H15.97c.13 3.211 3.483 3.312 4.588 2.029h3.168zm-7.686-4h4.965c-.105-1.547-1.136-2.219-2.477-2.219-1.466 0-2.277.768-2.488 2.219zm-9.574 6.988H0V5.021h6.953c5.476.081 5.58 5.444 2.72 6.906 3.461 1.26 3.577 8.061-3.207 8.061zM3 11h3.584c2.508 0 2.906-3-.312-3H3v3zm3.391 3H3v3.016h3.341c3.055 0 2.868-3.016.05-3.016z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_1599_271"},n.default.createElement("rect",{width:"24",height:"24"}))))};yh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lh=["color","size"],Th=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M16.805 1a9.85 9.85 0 0 0-2.603.37l-.06.018a10.629 10.629 0 0 0-1.615-.151c-1.113-.019-2.07.243-2.84.68-.76-.256-2.336-.697-3.997-.609-1.157.061-2.419.402-3.354 1.36-.933.958-1.426 2.44-1.322 4.457.028.557.191 1.464.463 2.64.27 1.175.652 2.55 1.127 3.805.475 1.256.996 2.384 1.81 3.15.406.384.965.707 1.624.68.463-.018.882-.215 1.243-.506.176.225.364.323.535.414.215.114.425.192.642.244.39.094 1.059.22 1.84.091.267-.043.548-.127.828-.247.01.302.022.598.035.898.038.95.063 1.827.357 2.596.047.126.176.773.687 1.344.51.572 1.51.928 2.648.692.803-.167 1.825-.468 2.503-1.404.67-.926.973-2.255 1.033-4.409.015-.116.033-.215.052-.308l.16.014h.018c.857.038 1.787-.08 2.564-.43.688-.31 1.208-.622 1.587-1.177.095-.137.199-.303.227-.59.028-.285-.14-.733-.421-.939-.563-.414-.916-.257-1.295-.18-.373.08-.753.124-1.136.133 1.093-1.784 1.876-3.68 2.323-5.358.264-.99.413-1.903.425-2.701.012-.798-.055-1.505-.548-2.117-1.541-1.91-3.708-2.438-5.384-2.456-.052-.001-.104-.002-.156-.001V1zm-.044.587c1.585-.015 3.611.417 5.065 2.22.327.405.424.997.413 1.727-.012.729-.151 1.601-.405 2.557-.493 1.852-1.425 4.01-2.738 5.948a.724.724 0 0 0 .15.079c.274.11.898.204 2.145-.044.313-.065.543-.108.781.068a.478.478 0 0 1 .173.39.635.635 0 0 1-.123.308c-.24.351-.716.684-1.326.958-.539.244-1.313.371-1.999.379-.344.003-.661-.023-.93-.104l-.018-.006c-.104.971-.343 2.89-.498 3.765-.125.706-.343 1.267-.76 1.687-.416.42-1.004.673-1.796.838-.981.204-1.696-.016-2.157-.393-.46-.375-.671-.874-.798-1.18-.087-.21-.132-.483-.176-.848a18.073 18.073 0 0 1-.097-1.315 45.725 45.725 0 0 1-.028-2.313c-.41.364-.92.606-1.467.697-.65.107-1.232.002-1.579-.082a2.19 2.19 0 0 1-.49-.185c-.162-.083-.315-.177-.417-.363a.5.5 0 0 1-.054-.35.559.559 0 0 1 .206-.303c.188-.148.435-.23.808-.306.68-.135.917-.228 1.061-.339.123-.095.262-.287.508-.57a1.166 1.166 0 0 1-.003-.037 2.864 2.864 0 0 1-1.257-.329c-.141.145-.865.888-1.748 1.918-.371.431-.781.678-1.214.696-.433.018-.824-.194-1.156-.506-.665-.626-1.195-1.703-1.657-2.92-.46-1.218-.836-2.574-1.102-3.729-.268-1.155-.426-2.086-.448-2.535-.1-1.909.36-3.195 1.15-4.006.79-.811 1.872-1.118 2.928-1.177 1.894-.106 3.693.535 4.057.673.701-.462 1.604-.75 2.733-.732a7.185 7.185 0 0 1 1.588.2l.019-.008c.229-.078.462-.144.698-.196a9.362 9.362 0 0 1 1.957-.23v-.002zm.143.614h-.137a8.502 8.502 0 0 0-1.61.176 7.048 7.048 0 0 1 2.692 2.062c.435.539.795 1.13 1.07 1.76.104.242.174.447.213.605.02.08.034.147.038.217a.392.392 0 0 1-.011.132l-.006.012c.029.803-.176 1.347-.201 2.113-.019.556.127 1.209.163 1.92.034.67-.049 1.405-.497 2.127.038.044.072.088.108.132 1.185-1.81 2.04-3.814 2.495-5.521.243-.92.373-1.753.384-2.413.01-.66-.117-1.139-.279-1.338-1.268-1.573-2.983-1.974-4.422-1.985zm-4.525.235c-1.117.002-1.919.33-2.526.82-.627.507-1.047 1.2-1.323 1.911a7.898 7.898 0 0 0-.485 2.213l.013-.007c.337-.184.78-.367 1.254-.473.475-.106.986-.139 1.449.035.463.175.846.584.985 1.206.665 2.986-.207 4.096-.529 4.933a8.628 8.628 0 0 0-.313.929c.041-.01.082-.02.122-.024a1.06 1.06 0 0 1 .51.1c.324.13.546.402.666.714.031.082.054.17.067.26.014.038.02.077.019.117a49.059 49.059 0 0 0 .012 3.426c.022.494.054.928.095 1.271.04.342.098.602.135.69.12.294.297.678.617.939.32.26.777.434 1.614.26.726-.151 1.174-.36 1.474-.663.298-.301.477-.72.591-1.363.171-.963.515-3.754.556-4.28-.018-.395.042-.7.172-.932.135-.238.343-.384.522-.463.09-.04.174-.066.243-.085a5.487 5.487 0 0 0-.23-.298 4.065 4.065 0 0 1-.629-1.007 7.578 7.578 0 0 0-.243-.443c-.125-.22-.284-.495-.45-.804-.333-.619-.695-1.369-.883-2.1-.187-.729-.215-1.484.265-2.017.426-.473 1.172-.669 2.293-.559-.033-.096-.053-.176-.109-.304a7.125 7.125 0 0 0-.983-1.617c-.95-1.178-2.487-2.346-4.863-2.384h-.108v-.001zm-6.276.047c-.12 0-.24.004-.36.01-.954.053-1.856.322-2.501.986-.647.663-1.072 1.751-.98 3.553.019.34.172 1.296.434 2.43.262 1.136.634 2.471 1.08 3.65.446 1.18.988 2.207 1.502 2.693.259.243.484.341.688.333.205-.01.451-.124.753-.475a40.03 40.03 0 0 1 1.71-1.877 3.206 3.206 0 0 1-.932-1.307 3.116 3.116 0 0 1-.17-1.58c.097-.678.11-1.312.099-1.812-.012-.488-.048-.812-.048-1.015V8.044c-.001-1.056.188-2.103.559-3.095.264-.682.658-1.375 1.249-1.936-.58-.185-1.61-.467-2.725-.52a7.4 7.4 0 0 0-.36-.01h.002zm11.714 4.842c-.641.008-1.001.169-1.19.379-.268.298-.293.82-.127 1.464.165.644.507 1.365.829 1.963.16.3.316.57.442.788.127.22.22.376.276.51.052.122.11.23.168.331.248-.509.293-1.008.267-1.529-.033-.644-.187-1.303-.164-1.97.025-.78.184-1.289.198-1.892a5.639 5.639 0 0 0-.699-.044zm-7.78.105a2.743 2.743 0 0 0-.582.068 4.49 4.49 0 0 0-1.09.412c-.115.06-.226.13-.33.209l-.02.018c.006.134.033.459.045.936.01.523-.002 1.19-.106 1.91-.226 1.568.946 2.866 2.324 2.868.08-.322.213-.648.345-.992.384-1.003 1.139-1.734.503-4.589-.104-.467-.31-.656-.594-.763a1.431 1.431 0 0 0-.495-.077zm7.48.187h.048c.062.002.12.009.17.02a.396.396 0 0 1 .13.051.153.153 0 0 1 .071.1v.008a.215.215 0 0 1-.034.124.614.614 0 0 1-.104.137.646.646 0 0 1-.364.195.57.57 0 0 1-.388-.095.569.569 0 0 1-.123-.108.235.235 0 0 1-.06-.116.151.151 0 0 1 .04-.118.361.361 0 0 1 .111-.082 1.256 1.256 0 0 1 .504-.118v.002zm-7.388.154c.05 0 .103.005.157.012.144.02.273.057.371.112.048.025.09.057.126.097.019.022.033.046.042.073.009.027.012.055.009.083a.274.274 0 0 1-.071.141.608.608 0 0 1-.135.12.619.619 0 0 1-.424.103.694.694 0 0 1-.396-.209.652.652 0 0 1-.112-.15.25.25 0 0 1-.039-.162c.014-.1.099-.15.18-.18a.842.842 0 0 1 .29-.036l.002-.004zm8.56 6.732h-.003c-.139.05-.253.07-.35.11a.423.423 0 0 0-.225.197c-.06.105-.11.292-.095.61a.49.49 0 0 0 .14.064c.161.048.432.08.735.075.602-.007 1.344-.143 1.738-.321.323-.146.623-.336.891-.564-1.317.264-2.06.194-2.517.011a1.247 1.247 0 0 1-.314-.183zm-7.588.086h-.02c-.05.004-.123.02-.263.172-.33.358-.444.582-.716.792-.27.21-.623.321-1.327.461-.223.044-.35.093-.436.132.028.022.025.028.066.049.103.055.236.103.342.13.303.073.8.159 1.319.073.518-.086 1.058-.327 1.518-.953.08-.108.088-.268.023-.44-.067-.17-.211-.318-.313-.36a.632.632 0 0 0-.193-.054v-.002z"}))};Th.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ch=["color","size"],bh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ch);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12.158 0c-3.068.025-6.02.357-7.74 1.147 0 0-3.41 1.526-3.41 6.733 0 1.192-.024 2.617.014 4.129.123 5.091.933 10.11 5.64 11.355 2.171.575 4.035.695 5.535.613 2.722-.151 4.25-.972 4.25-.972l-.09-1.974s-1.945.613-4.13.538c-2.163-.074-4.448-.233-4.798-2.89a5.448 5.448 0 0 1-.048-.745s2.124.519 4.816.642c1.647.076 3.19-.096 4.759-.283 3.007-.36 5.625-2.212 5.954-3.905.519-2.667.476-6.508.476-6.508 0-5.207-3.411-6.733-3.411-6.733C18.255.357 15.302.025 12.233 0h-.075zM8.686 4.068c1.278 0 2.245.491 2.885 1.474l.622 1.043.623-1.043c.64-.983 1.607-1.474 2.885-1.474 1.105 0 1.995.388 2.675 1.146.658.757.986 1.781.986 3.07v6.303h-2.497V8.47c0-1.29-.543-1.945-1.628-1.945-1.2 0-1.802.777-1.802 2.313v3.349h-2.483v-3.35c0-1.535-.601-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.945v6.118H5.024V8.283c0-1.288.328-2.312.987-3.07.68-.757 1.57-1.145 2.675-1.145z"}))};bh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Oh=["color","size"],Bh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Oh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M19.321 5.562a5.124 5.124 0 0 1-.443-.258 6.228 6.228 0 0 1-1.137-.966c-.849-.971-1.166-1.956-1.282-2.645h.004c-.097-.573-.057-.943-.05-.943h-3.865v14.943c0 .2 0 .399-.008.595 0 .024-.003.046-.004.073 0 .01 0 .022-.003.033v.009a3.28 3.28 0 0 1-1.65 2.604 3.226 3.226 0 0 1-1.6.422c-1.8 0-3.26-1.468-3.26-3.281 0-1.814 1.46-3.282 3.26-3.282.341 0 .68.054 1.004.16l.005-3.936A7.178 7.178 0 0 0 4.76 10.71a7.583 7.583 0 0 0-1.655 2.04c-.163.281-.779 1.412-.853 3.246-.047 1.04.266 2.12.415 2.565v.01c.093.262.457 1.158 1.049 1.913a7.856 7.856 0 0 0 1.674 1.58v-.01l.009.01c1.87 1.27 3.945 1.187 3.945 1.187.359-.015 1.562 0 2.928-.647 1.515-.718 2.377-1.787 2.377-1.787a7.43 7.43 0 0 0 1.296-2.153c.35-.92.466-2.022.466-2.462V8.273c.047.028.672.441.672.441s.9.577 2.303.952c1.006.267 2.363.324 2.363.324V6.153c-.475.052-1.44-.098-2.429-.59z"}))};Bh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jh=["color","size"],Wh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.25 2h7.5v5.625h-7.5V2zM2 10.75h6.268v5.675h7.517V10.75H22V22H2V10.75z"}))};Wh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Hh=["color","size"],Vh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Hh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_2601_269)"},n.default.createElement("path",{d:"M15.402 10.2c0 .992-.808 1.8-1.8 1.8H10.2V8.4h3.402c.992 0 1.8.808 1.8 1.8zM24 12c0 6.629-5.371 12-12 12S0 18.629 0 12 5.371 0 12 0s12 5.371 12 12zm-6.198-1.8c0-2.318-1.883-4.2-4.2-4.2H7.8v12h2.4v-3.6h3.402c2.317 0 4.2-1.882 4.2-4.2z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_2601_269"},n.default.createElement("rect",{width:"24",height:"24"}))))};Vh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Rh=["color","size"],Ah=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Rh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.98 11.264l4.701 2.278a1.075 1.075 0 0 1 .6 1.074 1.066 1.066 0 0 1-.81.927L4.393 16.8a1.088 1.088 0 0 1-1.187-.492 1.069 1.069 0 0 1-.146-.429 9.159 9.159 0 0 1 .424-3.996 1.07 1.07 0 0 1 .606-.645 1.085 1.085 0 0 1 .888.026z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.862 20.879l3.5-3.861a1.08 1.08 0 0 1 1.205-.277 1.076 1.076 0 0 1 .673 1.03l-.183 5.195a1.066 1.066 0 0 1-.396.793 1.083 1.083 0 0 1-.861.226 9.401 9.401 0 0 1-3.748-1.506 1.074 1.074 0 0 1-.46-.758 1.065 1.065 0 0 1 .27-.842z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.16 15.74l4.975 1.606a1.08 1.08 0 0 1 .657.596 1.064 1.064 0 0 1-.017.884 9.312 9.312 0 0 1-2.487 3.166 1.082 1.082 0 0 1-1.602-.258l-2.773-4.408a1.065 1.065 0 0 1 .065-1.226 1.078 1.078 0 0 1 1.182-.36z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.219 12.588l-5.029 1.433a1.085 1.085 0 0 1-1.169-.4A1.065 1.065 0 0 1 14 12.393l2.926-4.308a1.075 1.075 0 0 1 .755-.464 1.085 1.085 0 0 1 .85.257 9.222 9.222 0 0 1 2.379 3.25 1.069 1.069 0 0 1-.691 1.46z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.469.468a15.12 15.12 0 0 0-2.585.946 1.077 1.077 0 0 0-.564.65 1.063 1.063 0 0 0 .097.851l4.915 8.456a1.076 1.076 0 0 0 1.212.499 1.066 1.066 0 0 0 .799-1.034V1.072A1.065 1.065 0 0 0 11.622.06a1.084 1.084 0 0 0-.437-.057c-.918.072-1.826.228-2.715.465z"}))};Ah.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _h=["color","size"],Ph=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_h);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M13.808 10.469L20.88 2h-1.676l-6.142 7.353L8.158 2H2.5l7.418 11.12L2.5 22h1.676l6.486-7.765L15.842 22H21.5l-7.693-11.531zm-2.296 2.748l-.752-1.107L4.78 3.3h2.575l4.826 7.11.751 1.107 6.273 9.242h-2.574l-5.12-7.541z"}))};Ph.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sh=["color","size"],qh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M17.692 11.123a8.547 8.547 0 0 0-.315-.142c-.185-3.414-2.05-5.368-5.182-5.388h-.042c-1.873 0-3.431.8-4.39 2.255l1.722 1.181c.716-1.087 1.84-1.318 2.669-1.318h.028c1.031.006 1.81.306 2.313.89.367.426.612 1.015.733 1.757a13.176 13.176 0 0 0-2.96-.143c-2.977.172-4.892 1.909-4.763 4.322.065 1.223.675 2.277 1.717 2.964.88.582 2.015.866 3.194.802 1.558-.085 2.78-.68 3.632-1.766.647-.825 1.056-1.894 1.237-3.241.742.448 1.292 1.037 1.596 1.745.516 1.205.546 3.184-1.068 4.797-1.415 1.414-3.116 2.025-5.686 2.044-2.851-.02-5.008-.935-6.41-2.717-1.313-1.67-1.991-4.08-2.016-7.165.025-3.085.703-5.496 2.016-7.165 1.402-1.782 3.558-2.696 6.41-2.717 2.871.02 5.065.94 6.521 2.73.714.879 1.252 1.983 1.607 3.27l2.018-.538c-.43-1.585-1.107-2.95-2.027-4.083C18.38 1.2 15.65.024 12.134 0h-.014C8.61.024 5.912 1.205 4.099 3.51c-1.614 2.05-2.446 4.904-2.474 8.482v.016c.028 3.578.86 6.431 2.474 8.482 1.813 2.305 4.511 3.486 8.02 3.51h.015c3.12-.022 5.319-.838 7.13-2.649 2.371-2.368 2.3-5.336 1.518-7.158-.56-1.307-1.629-2.368-3.09-3.07zm-5.387 5.065c-1.305.074-2.66-.512-2.728-1.766-.05-.93.662-1.969 2.808-2.092.246-.015.487-.021.724-.021.78 0 1.508.075 2.171.22-.247 3.088-1.697 3.59-2.975 3.66z"}))};qh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fh=["color","size"],Ih=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Ih.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jh=["color","size"],Dh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"11"}))};Dh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Gh=["color","size"],Kh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Gh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.293 4.793c.78-1.277 2.634-1.277 3.414 0l7.433 12.164C21.955 18.29 20.996 20 19.434 20H4.566c-1.562 0-2.52-1.71-1.706-3.043l7.433-12.164z"}))};Kh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Nh=["color","size"],Qh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Nh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M10.285 3.858c.777-1.294 2.653-1.294 3.43 0l8.468 14.113c.8 1.333-.16 3.029-1.715 3.029H3.532c-1.554 0-2.514-1.696-1.715-3.029l8.468-14.113z"}))};Qh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uh=["color","size"],Xh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}))};Xh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yh=["color","size"],Zh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("rect",{x:"2",y:"2",width:"20",height:"20",rx:"2"}))};Zh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $h=["color","size"],ev=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$h);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3.575 13.388a1.962 1.962 0 0 1 0-2.776l7.037-7.037a1.962 1.962 0 0 1 2.776 0l7.037 7.037a1.963 1.963 0 0 1 0 2.776l-7.037 7.037a1.963 1.963 0 0 1-2.776 0l-7.037-7.037z"}))};ev.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var tv=["color","size"],rv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,tv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M10.61 2.576a1.966 1.966 0 0 1 2.78 0l8.034 8.034a1.966 1.966 0 0 1 0 2.78l-8.034 8.034a1.966 1.966 0 0 1-2.78 0L2.576 13.39a1.966 1.966 0 0 1 0-2.78l8.034-8.034z"}))};rv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var lv=["color","size"],ov=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,lv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.75 3a2 2 0 0 1 2.5 0l7.63 6.103a2 2 0 0 1 .63 2.246l-3.031 8.334A2 2 0 0 1 16.599 21H7.401a2 2 0 0 1-1.88-1.317l-3.03-8.334a2 2 0 0 1 .63-2.246L10.75 3z"}))};ov.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var av=["color","size"],nv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,av);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.126 2.219a3 3 0 0 1 3.748 0l7.63 6.104a3 3 0 0 1 .945 3.367l-3.03 8.335A3 3 0 0 1 16.599 22H7.401a3 3 0 0 1-2.82-1.975l-3.03-8.334a3 3 0 0 1 .945-3.368l7.63-6.104z"}))};nv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var iv=["color","size"],dv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,iv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.029 2.54a2 2 0 0 1 1.942 0l7 3.888A2 2 0 0 1 21 8.177v7.646a2 2 0 0 1-1.029 1.748l-7 3.89a2 2 0 0 1-1.942 0l-7-3.89A2 2 0 0 1 3 15.824V8.177a2 2 0 0 1 1.029-1.749l7-3.888z"}))};dv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uv=["color","size"],cv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M11.036 1.53a2 2 0 0 1 1.928 0l8 4.4A2 2 0 0 1 22 7.683v8.634a2 2 0 0 1-1.036 1.753l-8 4.4a2 2 0 0 1-1.928 0l-8-4.4A2 2 0 0 1 2 16.317V7.683A2 2 0 0 1 3.036 5.93l8-4.4z"}))};cv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sv=["color","size"],fv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.114 2.438a2 2 0 0 1 1.772 0l6.275 3.1a2 2 0 0 1 1.066 1.358l1.569 7.047a2 2 0 0 1-.374 1.662l-4.371 5.623a2 2 0 0 1-1.579.772H8.528a2 2 0 0 1-1.579-.772l-4.371-5.623a2 2 0 0 1-.374-1.662l1.569-7.047a2 2 0 0 1 1.066-1.359l6.275-3.1z"}))};fv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hv=["color","size"],vv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M11.114 1.438a2 2 0 0 1 1.772 0l7.077 3.495a2 2 0 0 1 1.066 1.359l1.767 7.937a2 2 0 0 1-.374 1.662l-4.926 6.337a2 2 0 0 1-1.579.772H8.083a2 2 0 0 1-1.579-.772L1.578 15.89a2 2 0 0 1-.374-1.662l1.767-7.937a2 2 0 0 1 1.066-1.359l7.077-3.495z"}))};vv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pv=["color","size"],gv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.235 2.317a2 2 0 0 1 1.53 0l5.54 2.295a2 2 0 0 1 1.083 1.082l2.295 5.54a2 2 0 0 1 0 1.531l-2.295 5.54a2 2 0 0 1-1.082 1.083l-5.54 2.295a2 2 0 0 1-1.531 0l-5.54-2.295a2 2 0 0 1-1.083-1.082l-2.295-5.54a2 2 0 0 1 0-1.531l2.295-5.54a2 2 0 0 1 1.082-1.083l5.54-2.295z"}))};gv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mv=["color","size"],wv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M11.235 1.317a2 2 0 0 1 1.53 0l6.248 2.588a2 2 0 0 1 1.082 1.082l2.588 6.248a2 2 0 0 1 0 1.53l-2.588 6.248a2 2 0 0 1-1.082 1.082l-6.248 2.588a2 2 0 0 1-1.53 0l-6.248-2.588a2 2 0 0 1-1.082-1.082l-2.588-6.248a2 2 0 0 1 0-1.53l2.588-6.248a2 2 0 0 1 1.082-1.082l6.248-2.588z"}))};wv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zv=["color","size"],Ev=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"12",cy:"12",rx:"8",ry:"10"}))};Ev.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var kv=["color","size"],xv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,kv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5.586 6.45A2 2 0 0 1 7.509 5h11.84a2 2 0 0 1 1.923 2.55l-2.858 10A2 2 0 0 1 16.491 19H4.651a2 2 0 0 1-1.923-2.55l2.858-10z"}))};xv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mv=["color","size"],yv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.511 13.542c-.681-.852-.681-2.232 0-3.084l6.256-7.82c.68-.85 1.785-.85 2.466 0l6.256 7.82c.681.852.681 2.232 0 3.084l-6.256 7.82c-.68.85-1.785.85-2.466 0l-6.256-7.82z"}))};yv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lv=["color","size"],Tv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.985 2c-1.37 0-2.383 1.199-2.337 2.498.043 1.25-.013 2.867-.42 4.186-.41 1.322-1.1 2.16-2.228 2.268v1.215c1.128.107 1.819.945 2.227 2.268.408 1.319.464 2.936.42 4.185-.045 1.3.968 2.499 2.338 2.499h14.032c1.37 0 2.383-1.199 2.337-2.499-.043-1.249.013-2.866.42-4.185.409-1.323 1.098-2.16 2.226-2.268v-1.215c-1.128-.108-1.817-.946-2.226-2.268-.407-1.32-.463-2.937-.42-4.186C21.4 3.198 20.386 2 19.017 2H4.985zM16.27 13.769c0 1.79-1.335 2.875-3.55 2.875H8.949a.407.407 0 0 1-.407-.407V6.881a.407.407 0 0 1 .407-.406h3.75c1.847 0 3.06 1 3.06 2.537 0 1.078-.816 2.043-1.855 2.213v.056c1.415.155 2.367 1.135 2.367 2.488zM12.31 7.764h-2.15v3.038h1.811c1.4 0 2.172-.564 2.172-1.572 0-.944-.664-1.466-1.833-1.466zm-2.15 4.243v3.347h2.23c1.457 0 2.23-.585 2.23-1.684 0-1.1-.794-1.663-2.324-1.663h-2.136z"}))};Tv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Cv=["color","size"],bv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Cv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_642)"},n.default.createElement("path",{d:"M24 11.689c0-1.59-1.991-3.097-5.044-4.031.705-3.111.392-5.587-.988-6.38a2.145 2.145 0 0 0-1.096-.273v1.09c.225 0 .406.045.558.128.665.382.954 1.834.729 3.703-.054.46-.142.944-.25 1.438a23.706 23.706 0 0 0-3.106-.533 23.857 23.857 0 0 0-2.035-2.446c1.595-1.482 3.092-2.294 4.11-2.294V1c-1.346 0-3.107.959-4.888 2.622C10.21 1.97 8.448 1.02 7.103 1.02v1.09c1.013 0 2.515.808 4.11 2.28-.685.72-1.37 1.536-2.021 2.441a22.844 22.844 0 0 0-3.111.538c-.113-.489-.196-.963-.255-1.418-.23-1.87.054-3.322.715-3.708.146-.088.337-.128.562-.128v-1.09c-.41 0-.783.088-1.105.273-1.375.793-1.683 3.263-.974 6.365C1.981 8.603 0 10.104 0 11.689c0 1.59 1.991 3.097 5.044 4.03-.705 3.112-.392 5.588.988 6.38.318.186.69.274 1.1.274 1.346 0 3.107-.959 4.888-2.622 1.78 1.653 3.541 2.602 4.887 2.602a2.18 2.18 0 0 0 1.105-.274c1.375-.792 1.683-3.262.974-6.364C22.019 14.781 24 13.274 24 11.689zm-6.37-3.263a22.023 22.023 0 0 1-.66 1.932 26.444 26.444 0 0 0-1.345-2.319c.695.103 1.365.23 2.006.387zm-2.24 5.21c-.381.66-.773 1.287-1.179 1.869a25.453 25.453 0 0 1-4.412.005 25.457 25.457 0 0 1-2.201-3.806 26.064 26.064 0 0 1 2.192-3.82 25.455 25.455 0 0 1 4.411-.006c.406.582.803 1.204 1.184 1.86.372.64.71 1.29 1.018 1.946a27.41 27.41 0 0 1-1.013 1.952zM16.97 13c.264.655.49 1.311.675 1.947-.64.157-1.316.289-2.015.391A27.044 27.044 0 0 0 16.97 13zm-4.96 5.22c-.455-.47-.91-.993-1.36-1.566.44.02.89.035 1.345.035.46 0 .915-.01 1.36-.035-.44.573-.895 1.096-1.345 1.566zm-3.64-2.882a22.113 22.113 0 0 1-2.006-.386c.181-.631.406-1.282.66-1.932.201.39.412.782.642 1.174.23.391.464.773.704 1.144zm3.615-10.18c.455.47.91.993 1.36 1.566-.44-.02-.89-.035-1.345-.035-.46 0-.915.01-1.36.035.44-.573.895-1.096 1.345-1.566zM8.365 8.04a27.02 27.02 0 0 0-1.34 2.333 20.96 20.96 0 0 1-.675-1.947c.64-.152 1.316-.284 2.015-.386zm-4.427 6.124c-1.732-.738-2.852-1.707-2.852-2.475s1.12-1.742 2.852-2.475c.42-.181.88-.343 1.355-.494.279.958.646 1.956 1.1 2.979a23.165 23.165 0 0 0-1.085 2.964 14.875 14.875 0 0 1-1.37-.499zm2.632 6.99c-.665-.38-.954-1.834-.729-3.702.054-.46.142-.945.25-1.439.958.235 2.005.416 3.106.534a23.87 23.87 0 0 0 2.035 2.446c-1.595 1.482-3.092 2.294-4.11 2.294a1.167 1.167 0 0 1-.552-.132zm11.604-3.727c.23 1.869-.054 3.322-.715 3.708-.146.088-.337.127-.562.127-1.013 0-2.515-.807-4.11-2.28.685-.718 1.37-1.535 2.021-2.44a22.843 22.843 0 0 0 3.111-.538c.113.494.2.968.255 1.423zm1.883-3.263c-.42.181-.88.343-1.355.494a23.482 23.482 0 0 0-1.1-2.979c.45-1.017.811-2.01 1.085-2.964.485.151.944.318 1.375.499 1.732.738 2.852 1.707 2.852 2.475-.005.768-1.125 1.742-2.857 2.475z"}),n.default.createElement("path",{d:"M11.995 13.925a2.236 2.236 0 1 0 0-4.472 2.236 2.236 0 0 0 0 4.472z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_642"},n.default.createElement("rect",{width:"24",height:"24"}))))};bv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ov=["color","size"],Bv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ov);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M10.174 12.594h3.652L12 8.095l-1.826 4.499z"}),n.default.createElement("path",{d:"M12 1L2 4.652l1.525 13.541L12 23l8.475-4.807L22 4.652 12 1zm6.24 16.786h-2.33l-1.257-3.212H9.347L8.09 17.786H5.76L12 3.431l6.24 14.355z"}))};Bv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jv=["color","size"],Wv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M19.114 2H15l-3 4.9L9.429 2H0l12 21L24 2h-4.886zM3 3.75h2.914L12 14.6l6.086-10.85H21L12 19.5 3 3.75z"}))};Wv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Hv=["color","size"],Vv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Hv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_640)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 0h24v24H0V0zm18.347 20.12c-1.113 0-1.742-.58-2.225-1.37l-1.833 1.065c.662 1.308 2.015 2.306 4.11 2.306 2.142 0 3.737-1.112 3.737-3.143 0-1.883-1.082-2.72-2.998-3.543l-.564-.241c-.968-.42-1.387-.693-1.387-1.37 0-.547.42-.966 1.08-.966.647 0 1.064.273 1.451.966l1.756-1.127c-.743-1.307-1.773-1.806-3.207-1.806-2.014 0-3.303 1.288-3.303 2.98 0 1.835 1.08 2.704 2.708 3.397l.564.242c1.029.45 1.642.724 1.642 1.497 0 .646-.597 1.113-1.531 1.113zm-8.74-.015c-.775 0-1.098-.53-1.452-1.16l-1.836 1.112c.532 1.126 1.578 2.06 3.383 2.06 1.999 0 3.368-1.063 3.368-3.398v-7.7h-2.255v7.67c0 1.127-.468 1.416-1.209 1.416z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_640"},n.default.createElement("rect",{width:"24",height:"24"}))))};Vv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Rv=["color","size"],Av=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Rv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 23.956c-.342 0-.66-.089-.957-.243l-3.029-1.738c-.455-.242-.227-.33-.09-.374.614-.198.728-.242 1.366-.595.068-.044.16-.022.228.022l2.323 1.343c.09.044.205.044.273 0l9.087-5.084c.09-.044.136-.132.136-.242V6.899c0-.11-.045-.198-.136-.242l-9.087-5.061c-.091-.044-.205-.044-.273 0L2.754 6.657c-.091.044-.137.154-.137.242v10.146c0 .088.046.198.137.242l2.482 1.387c1.344.66 2.186-.11 2.186-.88V7.78c0-.132.114-.264.274-.264h1.161c.137 0 .273.11.273.264v10.013c0 1.739-.979 2.751-2.687 2.751-.524 0-.934 0-2.095-.55l-2.391-1.32A1.847 1.847 0 0 1 1 17.067V6.921c0-.66.364-1.276.957-1.606L11.044.23a2.095 2.095 0 0 1 1.912 0l9.088 5.084c.592.33.956.946.956 1.606v10.146c0 .66-.364 1.276-.956 1.607l-9.088 5.083a2.4 2.4 0 0 1-.956.198zm2.801-6.977c-3.985 0-4.805-1.76-4.805-3.257 0-.132.114-.264.273-.264h1.184c.137 0 .25.088.25.22.183 1.166.707 1.738 3.121 1.738 1.913 0 2.733-.418 2.733-1.408 0-.572-.228-.99-3.211-1.276-2.483-.243-4.031-.77-4.031-2.685 0-1.783 1.548-2.84 4.145-2.84 2.915 0 4.35.969 4.532 3.082a.347.347 0 0 1-.069.198c-.045.044-.113.088-.182.088h-1.184a.265.265 0 0 1-.25-.198c-.274-1.21-.98-1.607-2.847-1.607-2.096 0-2.346.704-2.346 1.232 0 .639.296.837 3.12 1.189 2.801.352 4.122.858 4.122 2.75-.023 1.938-1.662 3.038-4.555 3.038z"}))};Av.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _v=["color","size"],Pv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_v);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_633)"},n.default.createElement("path",{d:"M5.08 0h1.082v1.069h.99V0h1.082v3.236H7.152V2.153h-.99v1.083H5.081V0z"}),n.default.createElement("path",{d:"M9.656 1.073h-.952V0h2.987v1.073h-.953v2.163H9.656V1.073z"}),n.default.createElement("path",{d:"M12.165 0h1.128l.694 1.137L14.68 0h1.128v3.236h-1.077V1.632l-.744 1.151h-.019l-.745-1.15v1.603h-1.058V0z"}),n.default.createElement("path",{d:"M16.346 0h1.083v2.167h1.52v1.07h-2.603V0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.046 22.072L3 4.717h18L18.953 22.07 11.99 24l-6.944-1.928zm4.137-9.5l-.194-2.18h8.145l.19-2.128H6.664l.574 6.437h7.377l-.247 2.76-2.374.642h-.002l-2.37-.64-.152-1.697H7.332l.298 3.342 4.36 1.21 4.367-1.21.532-5.964.052-.571H9.183z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_633"},n.default.createElement("rect",{width:"24",height:"24"}))))};Pv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sv=["color","size"],qv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M7.502 0h2.578v1.078h-1.5v1.078h1.5v1.078H7.502V0z"}),n.default.createElement("path",{d:"M10.595 0h2.579v.938h-1.5v.187h1.5v2.156h-2.579v-.984h1.5v-.188h-1.5V0z"}),n.default.createElement("path",{d:"M13.69 0h2.577v.938h-1.5v.187h1.5v2.156H13.69v-.984h1.5v-.188h-1.5V0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.991 24l-6.944-1.928L3 4.717h18L18.954 22.07 11.991 24zM7.047 12.573l.191 2.128h7.377l-.247 2.76-2.374.642h-.002l-2.37-.64-.152-1.697H7.333l.298 3.342 4.36 1.21 4.367-1.21.532-5.964.052-.571.384-4.309H6.664l.194 2.129h8.136l-.194 2.18H7.047z"}))};qv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fv=["color","size"],Iv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 1l12 21H0L12 1z"}))};Iv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jv=["color","size"],Dv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_641)"},n.default.createElement("path",{d:"M11.214.006c-.052.005-.216.022-.364.033C7.442.347 4.25 2.186 2.226 5.013a11.88 11.88 0 0 0-2.118 5.243c-.096.66-.108.854-.108 1.748s.012 1.089.108 1.748c.652 4.507 3.86 8.293 8.209 9.696.779.251 1.6.422 2.533.526.364.04 1.936.04 2.3 0 1.611-.179 2.977-.578 4.323-1.265.207-.105.247-.134.219-.157-.02-.014-.899-1.194-1.955-2.62l-1.919-2.593-2.404-3.559a342.499 342.499 0 0 0-2.422-3.556c-.009-.003-.018 1.578-.023 3.51-.007 3.38-.01 3.516-.052 3.596a.426.426 0 0 1-.206.213c-.075.038-.14.045-.495.045H7.81l-.108-.068a.44.44 0 0 1-.157-.172l-.05-.105.005-4.704.007-4.706.073-.092a.644.644 0 0 1 .174-.143c.096-.047.133-.051.54-.051.478 0 .558.018.682.154.035.038 1.337 2 2.895 4.362l4.734 7.172 1.9 2.878.097-.063a12.318 12.318 0 0 0 2.465-2.163 11.947 11.947 0 0 0 2.825-6.135c.096-.66.108-.854.108-1.748s-.012-1.088-.108-1.748C23.24 5.75 20.032 1.963 15.683.56a12.6 12.6 0 0 0-2.498-.523c-.226-.024-1.776-.05-1.97-.03zm4.913 7.26a.473.473 0 0 1 .237.276c.018.06.023 1.365.018 4.305l-.007 4.218-.743-1.14-.746-1.14v-3.066c0-1.983.009-3.097.023-3.151a.478.478 0 0 1 .232-.296c.097-.05.132-.054.5-.054.347 0 .408.005.486.047z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_641"},n.default.createElement("rect",{width:"24",height:"24"}))))};Dv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Gv=["color","size"],Kv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Gv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_630)"},n.default.createElement("path",{d:"M16.63 16.563c.885-.092 1.557-.863 1.527-1.788a1.723 1.723 0 0 0-1.71-1.665h-.062c-.947.03-1.68.832-1.65 1.788.032.463.215.863.49 1.14-1.039 2.067-2.627 3.577-5.01 4.841-1.618.864-3.298 1.172-4.977.956-1.375-.185-2.444-.802-3.116-1.819-.977-1.51-1.068-3.145-.244-4.779.58-1.171 1.497-2.035 2.077-2.466-.122-.401-.305-1.08-.397-1.573C-.871 14.436-.412 18.814.93 20.88c1.008 1.542 3.054 2.498 5.315 2.498.61 0 1.221-.062 1.832-.216 3.91-.77 6.872-3.114 8.552-6.598zm5.375-3.823c-2.321-2.744-5.742-4.255-9.651-4.255h-.489a1.677 1.677 0 0 0-1.496-.925h-.062c-.946.031-1.68.833-1.649 1.789.03.925.794 1.664 1.71 1.664h.062a1.721 1.721 0 0 0 1.496-1.048h.55c2.321 0 4.52.678 6.505 2.004 1.527 1.018 2.627 2.343 3.237 3.947.52 1.294.49 2.558-.06 3.638-.856 1.634-2.291 2.528-4.185 2.528-1.221 0-2.382-.37-2.993-.648a18.07 18.07 0 0 1-1.374 1.11c1.313.617 2.657.956 3.94.956 2.932 0 5.1-1.634 5.925-3.268.885-1.788.824-4.871-1.466-7.492zM6.49 17.087c.03.925.794 1.665 1.71 1.665h.061c.947-.03 1.68-.832 1.65-1.788a1.723 1.723 0 0 0-1.71-1.665h-.062c-.061 0-.153 0-.214.03-1.252-2.096-1.771-4.377-1.588-6.844.122-1.85.733-3.453 1.802-4.779.886-1.14 2.596-1.695 3.757-1.726 3.237-.062 4.611 4.008 4.703 5.642.397.092 1.069.308 1.527.462C17.759 3.09 14.706.5 11.773.5 9.025.5 6.49 2.504 5.482 5.464c-1.405 3.946-.489 7.738 1.222 10.729-.153.216-.245.555-.214.894z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_630"},n.default.createElement("rect",{width:"24",height:"24"}))))};Kv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Nv=["color","size"],Qv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Nv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_629)"},n.default.createElement("path",{d:"M11.914 0C5.82 0 6.2 2.656 6.2 2.656l.007 2.752h5.814v.826H3.9S0 5.789 0 11.969c0 6.18 3.403 5.96 3.403 5.96h2.03v-2.867s-.109-3.42 3.35-3.42h5.766s3.24.052 3.24-3.148V3.202S18.28 0 11.913 0zM8.708 1.85c.578 0 1.046.47 1.046 1.052 0 .581-.468 1.051-1.046 1.051-.579 0-1.046-.47-1.046-1.051 0-.582.467-1.052 1.046-1.052z"}),n.default.createElement("path",{d:"M12.087 24c6.092 0 5.712-2.656 5.712-2.656l-.007-2.752h-5.814v-.826h8.123s3.9.445 3.9-5.735c0-6.18-3.404-5.96-3.404-5.96h-2.03v2.867s.109 3.42-3.35 3.42H9.452s-3.24-.052-3.24 3.148v5.292S5.72 24 12.087 24zm3.206-1.85c-.579 0-1.046-.47-1.046-1.052 0-.581.467-1.051 1.046-1.051.578 0 1.046.47 1.046 1.051 0 .582-.468 1.052-1.046 1.052z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_629"},n.default.createElement("rect",{width:"24",height:"24"}))))};Qv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uv=["color","size"],Xv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_628)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.384 4.187a2.132 2.132 0 0 0 1.171.018l6.326 11.182a2.126 2.126 0 0 0-.593 1.038H5.71a2.148 2.148 0 0 0-.64-1.079l6.313-11.159zm-.921-.565c.018.02.038.039.057.058L4.193 14.865a2.11 2.11 0 0 0-.09-.022V9.156A2.122 2.122 0 0 0 5.481 8.14a2.142 2.142 0 0 0 .19-1.694l4.792-2.823zm3.57-.835a2.134 2.134 0 1 0-4.079-.04L5.159 5.573A2.131 2.131 0 0 0 1.785 6a2.146 2.146 0 0 0 1.322 3.143v5.715A2.147 2.147 0 0 0 1.79 18a2.13 2.13 0 0 0 3.368.43l4.795 2.826a2.151 2.151 0 0 0-.086.605C9.868 23.044 10.82 24 12 24a2.138 2.138 0 0 0 2.012-2.848l4.751-2.8a2.128 2.128 0 0 0 3.44-.352 2.138 2.138 0 0 0-1.384-3.159v-5.68A2.147 2.147 0 0 0 22.215 6a2.133 2.133 0 0 0-3.401-.398l-4.78-2.816zm-.599.937l.075-.072 4.808 2.833a2.142 2.142 0 0 0 .203 1.654 2.12 2.12 0 0 0 1.303 1v5.72a2.074 2.074 0 0 0-.078.023L13.434 3.724zm4.895 13.858l-4.774 2.814a2.124 2.124 0 0 0-1.554-.674c-.606 0-1.152.252-1.54.658l-4.785-2.82c.012-.039.023-.078.032-.118H18.29c.012.047.025.094.04.14z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_628"},n.default.createElement("rect",{width:"24",height:"24"}))))};Xv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yv=["color","size"],Zv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 5.5C5.271 5.5 0 8.355 0 12s5.271 6.5 12 6.5 12-2.855 12-6.5-5.271-6.5-12-6.5zm-1.246 2h1.31l-.416 2h1.17c.742 0 1.24.104 1.524.363.277.256.361.676.25 1.248l-.52 2.389H12.74l.479-2.209c.058-.303.035-.514-.067-.625-.101-.111-.324-.166-.658-.166h-1.049l-.633 3H9.5l1.254-6zM5 9.5h2.666c1.271 0 2.041.852 1.74 2.123C9.056 13.1 8.12 13.5 6.396 13.5h-.824L5.311 15H3.986L5 9.5zm10.5 0h2.666c1.271 0 2.041.852 1.74 2.123-.35 1.477-1.287 1.877-3.01 1.877h-.824l-.261 1.5h-1.325L15.5 9.5zm-9.365 1l-.377 2h.855c.74 0 1.428-.084 1.543-1.188.043-.427-.135-.812-.99-.812H6.135zm10.5 0l-.377 2h.855c.74 0 1.428-.084 1.543-1.188.043-.427-.134-.812-.99-.812h-1.031z"}))};Zv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $v=["color","size"],ep=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$v);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_626)"},n.default.createElement("path",{d:"M13.301 5.601c-.628-1.528-.54-3.247.367-4.63L14.346 0c-1.254 2.35-.06 5.236 1.86 6.749a6.343 6.343 0 0 0 1.698.95c.164.06.35.124.52.167 2.146.54 3.895.167 4.936-1.389-.032.048-.073.124-.125.22-.464.86-1.822 3.377-5.76 2.587-.075-.015-.147-.04-.219-.063l-.064-.022-.046-.015a2.119 2.119 0 0 0-.064-.021 5.8 5.8 0 0 1-.174-.063c-1.585-.604-2.944-1.876-3.607-3.499z"}),n.default.createElement("path",{d:"M8.12 2.966c-1.537 2.295-1.453 5.368-.254 7.796a10.242 10.242 0 0 0 .762 1.301c.209.313.439.66.708.902.111.127.227.25.345.371l.068.07.023.023a10.22 10.22 0 0 0 .367.353l.001.001.002.002a10.623 10.623 0 0 0 .465.397l.04.032c.14.112.283.222.43.327l.006.004.007.005c.047.034.095.067.143.099l.053.036a3.109 3.109 0 0 1 .093.064c.105.07.211.137.319.203l.03.017.015.01a11.466 11.466 0 0 0 .351.201l.031.016.04.022c.052.028.104.057.158.084l.03.015a9.941 9.941 0 0 0 .47.224l.032.013a10.315 10.315 0 0 0 .451.186l.03.011c.103.04.206.076.31.112l.052.018.088.029c.039.012.078.026.116.039.109.038.218.075.332.095C22.168 17.408 24 11.068 24 11.068c-1.651 2.468-4.849 3.646-8.261 2.726a9.54 9.54 0 0 1-.45-.135c-.04-.012-.08-.026-.12-.04l-.015-.005a8.82 8.82 0 0 1-.314-.112l-.003-.002a10.08 10.08 0 0 1-.512-.21l-.056-.025a9.272 9.272 0 0 1-.58-.287l-.042-.022-.12-.064a9.64 9.64 0 0 1-.325-.19 10.318 10.318 0 0 1-.62-.41 10.976 10.976 0 0 1-.429-.326l-.035-.029a6.304 6.304 0 0 1-.061-.05c-1.494-1.224-2.678-2.897-3.24-4.793-.59-1.968-.463-4.176.559-5.968L8.12 2.966z"}),n.default.createElement("path",{d:"M1.524 5.637C-.6 8.807-.336 12.932 1.287 16.3c.03.065.063.129.095.192l.024.048.03.059a2.987 2.987 0 0 0 .08.155l.013.025.07.13.015.027c.05.092.102.184.155.276l.017.03a9.464 9.464 0 0 0 .251.413l.018.03.059.093c.084.13.17.261.26.39v.001a.085.085 0 0 0 .007.009l.024.033.02.028c.078.11.157.22.238.328l.09.118a18.083 18.083 0 0 0 .608.746l.006.007.005.005.007.008a15.627 15.627 0 0 0 .658.697l.03.03.071.07a12.947 12.947 0 0 0 .346.326l.033.03.026.022a18.342 18.342 0 0 0 .38.33l.056.047c.085.07.171.14.258.208l.137.109c.096.073.192.145.289.215l.016.012.09.066.028.02c.088.064.177.124.267.184l.014.01a5.661 5.661 0 0 1 .12.083 15.577 15.577 0 0 0 .507.319l.054.032a14.516 14.516 0 0 0 .459.26l.053.029.059.032c.059.032.117.064.177.095l.025.012.03.015.034.017c.02.01.041.02.062.032.124.061.248.121.374.18l.047.021.032.015a13.238 13.238 0 0 0 .953.39l.01.003.042.016a13.91 13.91 0 0 0 .69.228c.116.039.233.077.353.1 10.277 1.946 13.262-6.41 13.262-6.41-2.507 3.39-6.957 4.285-11.174 3.289a5.368 5.368 0 0 1-.47-.137l-.118-.037c-.152-.048-.303-.1-.453-.153l-.062-.023c-.135-.05-.267-.1-.4-.154l-.112-.046c-.145-.06-.289-.121-.431-.186l-.046-.02a17.296 17.296 0 0 1-.404-.194l-.041-.022a5.56 5.56 0 0 1-.064-.031l-.214-.113-.068-.036a6.057 6.057 0 0 0-.067-.036l-.12-.066c-.114-.063-.226-.13-.338-.197l-.043-.025-.07-.04a16.203 16.203 0 0 1-.516-.332l-.043-.03a12.657 12.657 0 0 1-1.225-.929 15.269 15.269 0 0 1-.352-.307l-.016-.015a16.412 16.412 0 0 1-.448-.428 11.175 11.175 0 0 1-.25-.255l-.034-.034a13.54 13.54 0 0 1-.38-.414l-.006-.006-.002-.003c-.106-.12-.21-.244-.312-.368l-.082-.101a13.975 13.975 0 0 1-.307-.395c-.088-.12-.175-.238-.26-.359-2.34-3.314-3.181-7.886-1.31-11.64L1.524 5.637z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_626"},n.default.createElement("rect",{width:"24",height:"24"}))))};ep.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var tp=["color","size"],rp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,tp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_625)"},n.default.createElement("path",{d:"M12 0c6.6 0 12 5.4 12 12s-5.4 12-12 12S0 18.6 0 12 5.4 0 12 0zM9.6 15.975c.15.675.15 1.275 0 1.8L9.525 18c0 .075-.075.15-.075.15-.15.3-.3.525-.525.825-.675.75-1.65 1.05-2.1.825-.45-.225-.225-1.35.6-2.175.9-.9 2.1-1.5 2.1-1.5l.075-.15zM19.5 5.1c-.525-2.1-4.05-2.85-7.425-1.65-1.95.75-4.125 1.875-5.7 3.3-1.875 1.725-2.1 3.225-2.025 3.825C4.8 12.75 7.8 14.25 9.075 15.3 8.7 15.45 6 16.8 5.4 18.225c-.675 1.5.075 2.55.6 2.625 1.575.45 3.225-.375 4.05-1.65.825-1.275.75-2.85.375-3.675a3.532 3.532 0 0 1 1.8-.075c2.1.225 2.55 1.575 2.4 2.1-.15.525-.525.825-.675.975-.15.075-.225.15-.15.15 0 .075.075.075.225.075.15 0 1.125-.45 1.125-1.5.075-1.275-1.2-2.7-3.375-2.7-.9 0-1.5.075-1.875.225 0-.075-.075-.075-.075-.075-1.35-1.425-3.825-2.475-3.75-4.425 0-.675.3-2.55 4.8-4.8 3.675-1.875 6.675-1.35 7.2-.225.75 1.575-1.575 4.575-5.4 5.025-1.5.15-2.25-.375-2.4-.6-.225-.225-.225-.225-.3-.225-.15.075-.075.225 0 .375.15.3.6.825 1.425 1.125.675.225 2.4.375 4.5-.45 2.325-.9 4.125-3.375 3.6-5.475V5.1z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_625"},n.default.createElement("rect",{width:"24",height:"24"}))))};rp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var lp=["color","size"],op=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,lp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_624)"},n.default.createElement("path",{d:"M12 0C5.323 0 0 5.317 0 12s5.317 12 12 12 12-5.323 12-12S18.683 0 12 0zM2.608 12.101l9.29 9.286c-5.114.005-9.29-4.171-9.29-9.286zm11.477 9.083L2.821 9.909C3.76 5.733 7.515 2.603 12 2.603a9.493 9.493 0 0 1 7.616 3.861l-1.355 1.147A7.666 7.666 0 0 0 11.9 4.267 7.57 7.57 0 0 0 4.693 9.38l9.814 9.819c2.4-.837 4.277-2.923 4.8-5.43h-4.07V12h6.155c0 4.485-3.13 8.245-7.307 9.184z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_624"},n.default.createElement("rect",{width:"24",height:"24"}))))};op.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ap=["color","size"],np=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ap);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_637)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 0H0v24h24V0zM2.578 2.578H21.42V21.42H16.67V7.33h-4.752V21.42h-9.34V2.578z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_637"},n.default.createElement("rect",{width:"24",height:"24"}))))};np.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ip=["color","size"],dp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ip);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_623)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.994 11.675C23.825 5.23 18.561.013 12.004 0 5.21-.005-.3 5.668.013 12.556c.28 6.216 5.344 11.296 11.71 11.441 6.81.157 12.449-5.4 12.271-12.322zM7.92 7.525c-.145.28-.258.575-.336.879-.025.018-.02.05-.032.073 0 .05 0 .1-.014.147v.328c.017.05.012.1.017.15.029.065-.019.146.054.198.088.3.187.594.347.861.05.084.042.129-.031.194-.381.349-.723.734-.987 1.183-.472.802-.648 1.679-.648 2.6a.323.323 0 0 1-.016.104.275.275 0 0 1-.062.105c-.609.667-.936 1.427-.786 2.348.076.467.212.91.49 1.298a.395.395 0 0 1 .089.273c-.018.404.144.732.488.939.58.351 1.207.477 1.875.328a.735.735 0 0 0 .133-.052c.068-.032.137-.063.198-.053.068.01.128.063.189.115.035.03.07.06.107.084.381.228.809.286 1.238.267 1.044-.044 2.085-.107 3.121-.252.342-.047.67-.133.95-.343a.64.64 0 0 1 .198-.1c1.049-.346 2.052-.798 2.967-1.406.555-.364 1.137-.662 1.794-.808.359-.078.62-.315.78-.648.408-.844-.217-1.79-1.19-1.799-.658-.005-1.263.2-1.843.49a8.696 8.696 0 0 0-.615.352c-.19.115-.38.231-.579.333l-.029.017c-.04.024-.083.049-.136.046v-.1c.052-1.395-.401-2.607-1.328-3.646-.056-.062-.046-.102-.005-.162a6.753 6.753 0 0 0 .831-1.6c.344-.973.413-1.972.308-2.987-.05-.489-.15-.966-.356-1.417-.18-.385-.515-.567-.93-.474-.111.023-.149-.01-.194-.102a4.747 4.747 0 0 0-.468-.817.886.886 0 0 0-.685-.36c-.444-.025-.75.216-1.008.539-.194.243-.34.519-.458.805-.036.087-.08.136-.15.162a.382.382 0 0 1-.094.02 3.28 3.28 0 0 0-2.014.97 1.34 1.34 0 0 1-.543.349c-.293.097-.496.299-.637.57z"}),n.default.createElement("path",{d:"M14.947 15.813c0 .242-.056.478-.086.713-.026.207-.005.231.205.195.472-.082.9-.28 1.311-.515.441-.251.861-.537 1.332-.726a3.013 3.013 0 0 1 1.134-.243c.343 0 .582.186.624.48.04.272-.11.533-.384.59-.781.166-1.456.551-2.113.98-.882.569-1.842.98-2.841 1.295-.037.01-.085.019-.108.041-.236.25-.548.292-.863.333-.884.116-1.773.168-2.665.22a3.049 3.049 0 0 1-.77-.026c-.41-.08-.583-.233-.645-.57-.056-.301.086-.587.388-.784l.116-.073a1.306 1.306 0 0 1-.398-.364c-.05-.069-.076-.026-.092.031l-.15.57c-.034.126-.076.25-.129.37-.152.348-.43.516-.797.55a1.976 1.976 0 0 1-1.065-.215c-.23-.113-.299-.283-.223-.533.04-.134.116-.25.207-.391-.317.063-.456-.121-.566-.344a2.374 2.374 0 0 1-.231-1.54c.081-.424.33-.77.63-1.069.175-.175.228-.344.223-.59-.04-1.425.498-2.595 1.605-3.499.097-.081.195-.165.297-.239.063-.044.07-.073.018-.138-.286-.36-.509-.75-.61-1.204-.117-.511.057-.955.314-1.38.037-.057.094-.086.158-.11.323-.116.595-.291.842-.538.555-.555 1.243-.81 2.03-.776.1.005.144-.024.175-.118.117-.344.264-.675.461-.98a1.26 1.26 0 0 1 .26-.31c.194-.16.36-.137.49.076.242.386.428.8.616 1.215.048.105.084.142.194.07a2.03 2.03 0 0 1 .417-.189c.116-.04.184-.013.234.108.147.354.226.724.27 1.104.013.105.037.207.024.312-.008.228.003.457.005.688 0 .102-.036.205-.005.309-.023.624-.189 1.214-.43 1.786-.225.535-.553 1.01-.881 1.485-.129.183-.126.186.042.336.818.737 1.27 1.663 1.42 2.743.006.042.004.087.004.131-.034.1.003.197.005.294.009.148-.025.296 0 .44z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_623"},n.default.createElement("rect",{width:"24",height:"24"}))))};dp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var up=["color","size"],cp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,up);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.172 0h-4.176v5.932c-.623-.15-1.14-.2-1.816-.2C4.816 5.731 2 8.305 2 12.273c0 4.118 2.655 6.263 7.755 6.268 1.703 0 3.278-.15 5.417-.53V0zM9.734 8.977c.516 0 .92.05 1.408.2v6.248c-.596.075-.972.1-1.434.1-2.14 0-3.305-1.142-3.305-3.21 0-2.125 1.22-3.338 3.331-3.338z"}),n.default.createElement("path",{d:"M22 15.233V6.215h-4.17v7.675c0 3.387-.188 4.674-.785 5.786-.57 1.087-1.462 1.8-3.305 2.606L17.615 24c1.843-.862 2.735-1.643 3.412-2.88.726-1.288.973-2.782.973-5.887z"}),n.default.createElement("path",{d:"M21.584 0H17.41v3.993h4.175V0z"}))};cp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sp=["color","size"],fp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_639)"},n.default.createElement("path",{d:"M.228 8.37s-.584-.427.117-.995L1.98 5.897s.467-.497.962-.064l15.081 11.542v5.534s-.007.87-1.11.774L.227 8.369z"}),n.default.createElement("path",{d:"M4.116 11.937L.228 15.509s-.4.3 0 .837l1.805 1.66s.429.465 1.062-.065l4.121-3.158-3.1-2.846z"}),n.default.createElement("path",{d:"M10.94 11.966l7.13-5.502-.047-5.505s-.305-1.202-1.32-.576L7.216 9.11l3.724 2.856z"}),n.default.createElement("path",{d:"M16.912 23.69c.414.428.916.288.916.288l5.556-2.767c.711-.49.611-1.098.611-1.098V3.588c0-.726-.735-.977-.735-.977L18.444.264c-1.052-.657-1.741.119-1.741.119s.886-.645 1.32.576v21.85c0 .15-.032.297-.095.43-.127.259-.402.5-1.062.4l.046.051z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_639"},n.default.createElement("rect",{width:"24",height:"24"}))))};fp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hp=["color","size"],vp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_2147_271)"},n.default.createElement("path",{d:"M23.429 0H.57A.571.571 0 0 0 0 .571V23.43c0 .315.255.571.571.571H23.43a.571.571 0 0 0 .571-.571V.57A.571.571 0 0 0 23.429 0zm-9.143 12.826h-2.857v8.888H9.143v-8.888H6.286v-1.969h8v1.969zm.64 8.38v-2.375s1.298.978 2.855.978 1.497-1.018 1.497-1.158c0-1.477-4.412-1.477-4.412-4.751 0-4.452 6.429-2.695 6.429-2.695l-.08 2.116s-1.078-.719-2.296-.719c-1.218 0-1.657.58-1.657 1.198 0 1.597 4.452 1.438 4.452 4.652 0 4.95-6.788 2.755-6.788 2.755z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_2147_271"},n.default.createElement("rect",{width:"24",height:"24"}))))};vp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pp=["color","size"],gp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M22.749 9.769l-.031-.08-3.027-7.9a.788.788 0 0 0-.782-.495.81.81 0 0 0-.456.17.81.81 0 0 0-.268.408L16.14 8.125H7.865L5.822 1.872a.794.794 0 0 0-.269-.409.81.81 0 0 0-.926-.05c-.14.09-.25.22-.312.376L1.283 9.684l-.03.08a5.62 5.62 0 0 0 1.864 6.496l.01.008.028.02 4.61 3.453 2.282 1.726 1.39 1.049a.935.935 0 0 0 1.13 0l1.389-1.05 2.281-1.726 4.639-3.473.011-.01A5.623 5.623 0 0 0 22.75 9.77z"}))};gp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])},t.Jlk=St,t.Mdu=Gu,t.FEq=jd}}]); \ No newline at end of file +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[205],{942:(e,t,r)=>{var l=r(3696),o=r(2688);function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=a(l),i=a(o);function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e},d.apply(this,arguments)}function u(e,t){if(null==e)return{};var r,l,o=function(e,t){if(null==e)return{};var r,l,o={},a=Object.keys(e);for(l=0;l<a.length;l++)r=a[l],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)r=a[l],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=["color","size"],s=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,c);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11 5l-7 7 7 7"}),n.default.createElement("path",{d:"M4 12h16"}))};s.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var f=["color","size"],h=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,f);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 12h16"}),n.default.createElement("path",{d:"M13 5l7 7-7 7"}))};h.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var v=["color","size"],p=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,v);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 20V4"}),n.default.createElement("path",{d:"M5 11l7-7 7 7"}))};p.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var g=["color","size"],m=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,g);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 20V4"}),n.default.createElement("path",{d:"M5 13l7 7 7-7"}))};m.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var w=["color","size"],z=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,w);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 18L18 6"}),n.default.createElement("path",{d:"M6 8v10h10"}))};z.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var E=["color","size"],k=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,E);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 6l12 12"}),n.default.createElement("path",{d:"M16 6H6v10"}))};k.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var x=["color","size"],M=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,x);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 6L6 18"}),n.default.createElement("path",{d:"M8 6h10v10"}))};M.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var y=["color","size"],L=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,y);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 18L6 6"}),n.default.createElement("path",{d:"M8 18h10V8"}))};L.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var T=["color","size"],C=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,T);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 4l-8 8 8 8"}))};C.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var b=["color","size"],O=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,b);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 4l8 8-8 8"}))};O.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var B=["color","size"],j=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,B);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 15l8-8 8 8"}))};j.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var W=["color","size"],H=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,W);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 9l8 8 8-8"}))};H.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var V=["color","size"],R=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,V);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 12c0 6-4.39 10-9.806 10C7.792 22 4.24 19.665 3 16"}),n.default.createElement("path",{d:"M2 12C2 6 6.39 2 11.806 2 16.209 2 19.76 4.335 21 8"}),n.default.createElement("path",{d:"M7 17l-4-1-1 4"}),n.default.createElement("path",{d:"M17 7l4 1 1-4"}))};R.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var A=["color","size"],_=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,A);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19.734 16.06a8.923 8.923 0 0 1-3.915 3.978 8.706 8.706 0 0 1-5.471.832 8.795 8.795 0 0 1-4.887-2.64 9.067 9.067 0 0 1-2.388-5.079 9.136 9.136 0 0 1 1.044-5.53 8.904 8.904 0 0 1 4.069-3.815 8.7 8.7 0 0 1 5.5-.608c1.85.401 3.366 1.313 4.62 2.755.151.16.735.806 1.22 1.781"}),n.default.createElement("path",{d:"M15.069 7.813l5.04.907L21 3.59"}))};_.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var P=["color","size"],S=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,P);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.266 16.06a8.923 8.923 0 0 0 3.915 3.978 8.706 8.706 0 0 0 5.471.832 8.796 8.796 0 0 0 4.887-2.64 9.067 9.067 0 0 0 2.388-5.079 9.137 9.137 0 0 0-1.044-5.53 8.904 8.904 0 0 0-4.068-3.815 8.7 8.7 0 0 0-5.5-.608c-1.85.401-3.367 1.313-4.62 2.755-.152.16-.736.806-1.22 1.781"}),n.default.createElement("path",{d:"M8.931 7.813l-5.04.907L3 3.59"}))};S.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var q=["color","size"],F=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,q);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 11l7-9v5c11.953 0 13.332 9.678 13 15-.502-2.685-.735-7-13-7v5l-7-9z"}))};F.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var I=["color","size"],J=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,I);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10 2a1 1 0 0 0-1.79-.614l-7 9a1 1 0 0 0 0 1.228l7 9A1 1 0 0 0 10 20v-3.99c5.379.112 7.963 1.133 9.261 2.243 1.234 1.055 1.46 2.296 1.695 3.596l.061.335a1 1 0 0 0 1.981-.122c.171-2.748-.086-6.73-2.027-10.061C19.087 8.768 15.694 6.282 10 6.022V2z"}))};J.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var D=["color","size"],G=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,D);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 11l-7-9v5C3.047 7 1.668 16.678 2 22c.502-2.685.735-7 13-7v5l7-9z"}))};G.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var K=["color","size"],N=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,K);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.675 1.054a1 1 0 0 1 1.114.332l7 9a1 1 0 0 1 0 1.228l-7 9A1 1 0 0 1 14 20v-3.99c-5.379.112-7.963 1.133-9.261 2.243-1.234 1.055-1.46 2.296-1.695 3.596l-.061.335a1 1 0 0 1-1.981-.122c-.172-2.748.086-6.73 2.027-10.061C4.913 8.768 8.305 6.282 14 6.022V2a1 1 0 0 1 .675-.946z"}))};N.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Q=["color","size"],U=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Q);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 12H2m20 0l-4 4m4-4l-4-4M2 12l4 4m-4-4l4-4"}))};U.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var X=["color","size"],Y=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,X);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22V2m0 20l-4-4m4 4l4-4M12 2L8 6m4-4l4 4"}))};Y.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Z=["color","size"],$=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Z);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14.5 9.5L21 3m0 0h-6m6 0v6M3 21l6.5-6.5M3 21v-6m0 6h6"}))};$.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ee=["color","size"],te=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ee);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 10l7-7m-7 7h6m-6 0V4M3 21l7-7m0 0v6m0-6H4"}))};te.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var re=["color","size"],le=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,re);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 12l7-9v4.99L21 8v8H10v5l-7-9z"}))};le.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oe=["color","size"],ae=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 21l9-7h-4.99L16 3H8v11H3l9 7z"}))};ae.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ne=["color","size"],ie=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ne);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 12l-7-9v4.99L3 8v8h11v5l7-9z"}))};ie.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var de=["color","size"],ue=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,de);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3l9 7h-4.99L16 21H8V10H3l9-7z"}))};ue.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ce=["color","size"],se=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ce);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 5l-5 5 5 5"}),n.default.createElement("path",{d:"M3 10h8c5.523 0 10 4.477 10 10v1"}))};se.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fe=["color","size"],he=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 5l5 5-5 5"}),n.default.createElement("path",{d:"M21 10h-8C7.477 10 3 14.477 3 20v1"}))};he.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ve=["color","size"],pe=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ve);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 12l8-6v12l-8-6z"}))};pe.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ge=["color","size"],me=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ge);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 12L9 6v12l8-6z"}))};me.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var we=["color","size"],ze=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,we);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 7l-6 8h12l-6-8z"}))};ze.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ee=["color","size"],ke=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ee);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 17L6 9h12l-6 8z"}))};ke.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xe=["color","size"],Me=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M16 12l-6-4v8l6-4z"}))};Me.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ye=["color","size"],Le=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ye);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 12l6-4v8l-6-4z"}))};Le.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Te=["color","size"],Ce=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Te);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 8l-4 6h8l-4-6z"}))};Ce.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var be=["color","size"],Oe=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,be);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 16l-4-6h8l-4 6z"}))};Oe.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Be=["color","size"],je=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Be);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M13.5 8l-4 4 4 4"}))};je.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var We=["color","size"],He=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,We);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M10.5 8l4 4-4 4"}))};He.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ve=["color","size"],Re=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ve);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 13.5l4-4 4 4"}))};Re.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ae=["color","size"],_e=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ae);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 10.5l4 4 4-4"}))};_e.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pe=["color","size"],Se=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-2 7.8c0-.295.152-.566.396-.705a.71.71 0 0 1 .77.04l4.5 3.2A.815.815 0 0 1 16 12a.815.815 0 0 1-.334.666l-4.5 3.2a.71.71 0 0 1-.77.04A.809.809 0 0 1 10 15.2V8.8z"}))};Se.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qe=["color","size"],Fe=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm2 7.8a.809.809 0 0 0-.396-.705.71.71 0 0 0-.77.04l-4.5 3.2A.815.815 0 0 0 8 12c0 .268.125.517.334.666l4.5 3.2a.71.71 0 0 0 .77.04A.809.809 0 0 0 14 15.2V8.8z"}))};Fe.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ie=["color","size"],Je=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ie);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8.8 14a.809.809 0 0 1-.705-.396.71.71 0 0 1 .04-.77l3.2-4.5A.815.815 0 0 1 12 8c.268 0 .517.125.666.334l3.2 4.5a.71.71 0 0 1 .04.77.809.809 0 0 1-.706.396H8.8z"}))};Je.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var De=["color","size"],Ge=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,De);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-3.2 9a.809.809 0 0 0-.705.396.71.71 0 0 0 .04.77l3.2 4.5A.815.815 0 0 0 12 16a.815.815 0 0 0 .666-.334l3.2-4.5a.71.71 0 0 0 .04-.77A.809.809 0 0 0 15.2 10H8.8z"}))};Ge.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ke=["color","size"],Ne=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ke);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm2.207 7.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L10.914 12l3.293-3.293z"}))};Ne.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qe=["color","size"],Ue=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM9.793 8.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L13.086 12 9.793 8.707z"}))};Ue.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xe=["color","size"],Ye=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xe);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8.707 14.207a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 10.914l-3.293 3.293z"}))};Ye.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ze=["color","size"],$e=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ze);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8.707 9.793a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L12 13.086 8.707 9.793z"}))};$e.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var et=["color","size"],tt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,et);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 8l4 4-4 4"}),n.default.createElement("path",{d:"M7 8l-4 4 4 4"}))};tt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rt=["color","size"],lt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 17l4 4 4-4"}),n.default.createElement("path",{d:"M8 7l4-4 4 4"}))};lt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ot=["color","size"],at=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ot);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 3v18M6 3l4 4M6 3L2 7"}),n.default.createElement("path",{d:"M18 21V3m0 18l4-4m-4 4l-4-4"}))};at.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nt=["color","size"],it=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 6H3m18 0l-4 4m4-4l-4-4"}),n.default.createElement("path",{d:"M3 18h18M3 18l4 4m-4-4l4-4"}))};it.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dt=["color","size"],ut=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 19h3.908a2 2 0 0 0 1.682-.919L11.5 12l3.91-6.082A2 2 0 0 1 17.091 5H22m0 14h-4.908a2 2 0 0 1-1.682-.919L13.428 15M2 5h3.908a2 2 0 0 1 1.682.918L9.571 9"}),n.default.createElement("path",{d:"M19 2l3 3-3 3"}),n.default.createElement("path",{d:"M19 16l3 3-3 3"}))};ut.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ct=["color","size"],st=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ct);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 2l3 3-3 3"}),n.default.createElement("path",{d:"M6 22l-3-3 3-3"}),n.default.createElement("path",{d:"M21 5H10a7 7 0 0 0-7 7"}),n.default.createElement("path",{d:"M3 19h11a7 7 0 0 0 7-7"}))};st.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ft=["color","size"],ht=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ft);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 3v18M9 3l4 4M9 3L5 7"}),n.default.createElement("path",{d:"M16 10l4 4-4 4"}),n.default.createElement("path",{d:"M9 21v0a7 7 0 0 1 7-7h4"}))};ht.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vt=["color","size"],pt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 3v18m0-18l-4 4m4-4l4 4"}),n.default.createElement("path",{d:"M8 10l-4 4 4 4"}),n.default.createElement("path",{d:"M15 21v0a7 7 0 0 0-7-7H4"}))};pt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gt=["color","size"],mt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M16 6a1 1 0 0 0-1.6-.8l-8 6a1 1 0 0 0 0 1.6l8 6A1 1 0 0 0 16 18V6z"}))};mt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wt=["color","size"],zt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M8 6a1 1 0 0 1 1.6-.8l8 6a1 1 0 0 1 0 1.6l-8 6A1 1 0 0 1 8 18V6z"}))};zt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Et=["color","size"],kt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Et);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M6 16a1 1 0 0 1-.8-1.6l6-8a1 1 0 0 1 1.6 0l6 8A1 1 0 0 1 18 16H6z"}))};kt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xt=["color","size"],Mt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M6 8a1 1 0 0 0-.8 1.6l6 8a1 1 0 0 0 1.6 0l6-8A1 1 0 0 0 18 8H6z"}))};Mt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yt=["color","size"],Lt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 10l6 6 6-6"}))};Lt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tt=["color","size"],Ct=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 14l6-6 6 6"}))};Ct.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bt=["color","size"],Ot=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 6l6 6-6 6"}))};Ot.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bt=["color","size"],jt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 6l-6 6 6 6"}))};jt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wt=["color","size"],Ht=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 20v-8m0 0V4m0 8h8m-8 0H4"}))};Ht.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vt=["color","size"],Rt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 12H4"}))};Rt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var At=["color","size"],_t=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,At);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 20L4 4m16 0L4 20"}))};_t.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pt=["color","size"],St=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 12l6 6L20 6"}))};St.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qt=["color","size"],Ft=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M10 8.484C10.5 7.494 11 7 12 7c1.246 0 2 .989 2 1.978s-.5 1.483-2 2.473V13m0 3.5v.5"}))};Ft.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var It=["color","size"],Jt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,It);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 7v6m0 3.5v.5"}))};Jt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dt=["color","size"],Gt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 15L9 9m6 0l-6 6"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Gt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kt=["color","size"],Nt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 12.5l3 3 5-6"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Nt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qt=["color","size"],Ut=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 8v4m0 0v4m0-4h4m-4 0H8"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Ut.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xt=["color","size"],Yt=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 12H8"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Yt.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zt=["color","size"],$t=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zt);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 9v5"}),n.default.createElement("path",{d:"M12 17.5v.5"}),n.default.createElement("path",{d:"M2.232 19.016L10.35 3.052c.713-1.403 2.59-1.403 3.302 0l8.117 15.964C22.45 20.36 21.544 22 20.116 22H3.883c-1.427 0-2.334-1.64-1.65-2.984z"}))};$t.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var er=["color","size"],tr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,er);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 2L2 8.156V16l6 6h8l6-6V8.156L16 2H8z"}),n.default.createElement("path",{d:"M16 12H8"}))};tr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rr=["color","size"],lr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M12 7h.01"}),n.default.createElement("path",{d:"M10 11h2v5"}),n.default.createElement("path",{d:"M10 16h4"}))};lr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var or=["color","size"],ar=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,or);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 4v16"}),n.default.createElement("path",{d:"M20 12L6 20"}),n.default.createElement("path",{d:"M20 12L6 4"}))};ar.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nr=["color","size"],ir=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 5v14M17 5v14"}))};ir.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dr=["color","size"],ur=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9.3 17.85a3.15 3.15 0 1 1-3.15-3.15h11.7a3.15 3.15 0 1 1-3.15 3.15V6.15a3.15 3.15 0 1 1 3.15 3.15H6.15A3.15 3.15 0 1 1 9.3 6.15v11.7z"}))};ur.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cr=["color","size"],sr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 12h-6"}),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}))};sr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fr=["color","size"],hr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}),n.default.createElement("path",{d:"M16 8.5c1.333 1.778 1.333 5.222 0 7"}),n.default.createElement("path",{d:"M19 5c3.988 3.808 4.012 10.217 0 14"}))};hr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vr=["color","size"],pr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 15l-6-6m6 0l-6 6"}),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}))};pr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gr=["color","size"],mr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 9v3m0 0v3m0-3h3m-3 0h-3"}),n.default.createElement("path",{d:"M2 14.959V9.04C2 8.466 2.448 8 3 8h3.586a.98.98 0 0 0 .707-.305l3-3.388c.63-.656 1.707-.191 1.707.736v13.914c0 .934-1.09 1.395-1.716.726l-2.99-3.369A.98.98 0 0 0 6.578 16H3c-.552 0-1-.466-1-1.041z"}))};mr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wr=["color","size"],zr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5.636 16C2.91 16 2 14 2 12s.91-4 3.636-4c3.637 0 9.091 8 12.728 8C21.09 16 22 14 22 12s-.91-4-3.636-4c-3.637 0-9.091 8-12.728 8z"}))};zr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Er=["color","size"],kr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Er);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 16l6 5H6l6-5z"}),n.default.createElement("path",{d:"M4 18a9.956 9.956 0 0 1-2-6C2 6.477 6.477 2 12 2s10 4.477 10 10a9.956 9.956 0 0 1-2 6"}),n.default.createElement("path",{d:"M17.123 15.125a6 6 0 1 0-10.247-.002"}),n.default.createElement("path",{d:"M14 12a2 2 0 1 0-4 0"}))};kr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xr=["color","size"],Mr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"}),n.default.createElement("path",{d:"M12 16l6 5H6l6-5z"}))};Mr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yr=["color","size"],Lr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.default.createElement("rect",{x:"13",y:"13",width:"9",height:"7",rx:"2"}))};Lr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tr=["color","size"],Cr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M3 12h10M3 18h15"}))};Cr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var br=["color","size"],Or=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,br);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M7 12h10M5 18h14"}))};Or.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Br=["color","size"],jr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Br);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18m-10 6h10M6 18h15"}))};jr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wr=["color","size"],Hr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M3 12h18M3 18h18"}))};Hr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vr=["color","size"],Rr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"4"}),n.default.createElement("path",{d:"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12s4.477 10 10 10c2.252 0 4.33-.744 6.001-2"}),n.default.createElement("path",{d:"M16 8v4c0 1 .6 3 3 3s3-2 3-3"}))};Rr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ar=["color","size"],_r=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ar);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 3C4.239 3 2 5.216 2 7.95c0 2.207.875 7.445 9.488 12.74a.985.985 0 0 0 1.024 0C21.125 15.395 22 10.157 22 7.95 22 5.216 19.761 3 17 3s-5 3-5 3-2.239-3-5-3z"}))};_r.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pr=["color","size"],Sr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 7V2h5"}),n.default.createElement("path",{d:"M22 7V2h-5"}),n.default.createElement("path",{d:"M7 22H2v-5"}),n.default.createElement("path",{d:"M17 22h5v-5"}))};Sr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qr=["color","size"],Fr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 2v5H2"}),n.default.createElement("path",{d:"M17 2v5h5"}),n.default.createElement("path",{d:"M2 17h5v5"}),n.default.createElement("path",{d:"M22 17h-5v5"}))};Fr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ir=["color","size"],Jr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ir);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 3v18"}),n.default.createElement("rect",{x:"6",y:"6",width:"16",height:"4"}),n.default.createElement("rect",{x:"6",y:"14",width:"10",height:"4"}))};Jr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dr=["color","size"],Gr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3v18"}),n.default.createElement("path",{d:"M16 6h4v4h-4"}),n.default.createElement("path",{d:"M8 10H4V6h4"}),n.default.createElement("path",{d:"M16 14h2v4h-2"}),n.default.createElement("path",{d:"M8 14H6v4h2"}))};Gr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kr=["color","size"],Nr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 3v18"}),n.default.createElement("rect",{x:"2",y:"6",width:"16",height:"4"}),n.default.createElement("rect",{x:"8",y:"14",width:"10",height:"4"}))};Nr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qr=["color","size"],Ur=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 2H3"}),n.default.createElement("path",{d:"M6 22V6h4v16H6z"}),n.default.createElement("path",{d:"M14 16V6h4v10h-4z"}))};Ur.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xr=["color","size"],Yr=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 12H3"}),n.default.createElement("path",{d:"M6 16v4h4v-4"}),n.default.createElement("path",{d:"M14 16v2h4v-2"}),n.default.createElement("path",{d:"M14 8V6h4v2"}),n.default.createElement("path",{d:"M10 8V4H6v4"}))};Yr.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zr=["color","size"],$r=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zr);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 22H3"}),n.default.createElement("path",{d:"M6 18V2h4v16H6z"}),n.default.createElement("path",{d:"M14 18V8h4v10h-4z"}))};$r.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var el=["color","size"],tl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,el);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3v12m0-12L8 7m4-4l4 4"}),n.default.createElement("path",{d:"M2 17l.621 2.485A2 2 0 0 0 4.561 21H19.439a2 2 0 0 0 1.94-1.515L22 17"}))};tl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rl=["color","size"],ll=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 15V3m0 12l-4-4m4 4l4-4"}),n.default.createElement("path",{d:"M2 17l.621 2.485A2 2 0 0 0 4.561 21H19.439a2 2 0 0 0 1.94-1.515L22 17"}))};ll.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ol=["color","size"],al=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ol);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22V7"}),n.default.createElement("path",{d:"M5 14l7-7 7 7"}),n.default.createElement("path",{d:"M3 2h18"}))};al.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nl=["color","size"],il=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 12H3"}),n.default.createElement("path",{d:"M12 2v6"}),n.default.createElement("path",{d:"M12 22v-6"}),n.default.createElement("path",{d:"M9 5l3 3 3-3"}),n.default.createElement("path",{d:"M9 19l3-3 3 3"}))};il.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dl=["color","size"],ul=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 22h18"}),n.default.createElement("path",{d:"M12 2v15"}),n.default.createElement("path",{d:"M5 10l7 7 7-7"}))};ul.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cl=["color","size"],sl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M5 19L19 5"}))};sl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fl=["color","size"],hl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0z"}))};hl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vl=["color","size"],pl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}))};pl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gl=["color","size"],ml=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 10c6-6.667 14-6.667 20 0"}),n.default.createElement("path",{d:"M6 14c3.6-4 8.4-4 12 0"}),n.default.createElement("circle",{cx:"12",cy:"18",r:"1"}))};ml.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wl=["color","size"],zl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 7l12 10-6 5V2l6 5L5 17"}))};zl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var El=["color","size"],kl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,El);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"10",r:"3"}),n.default.createElement("path",{d:"M12 2a8 8 0 0 0-8 8c0 1.892.402 3.13 1.5 4.5L12 22l6.5-7.5c1.098-1.37 1.5-2.608 1.5-4.5a8 8 0 0 0-8-8z"}))};kl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xl=["color","size"],Ml=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.544 10.456a4.368 4.368 0 0 0-6.176 0l-3.089 3.088a4.367 4.367 0 1 0 6.177 6.177L12 18.177"}),n.default.createElement("path",{d:"M10.456 13.544a4.368 4.368 0 0 0 6.176 0l3.089-3.088a4.367 4.367 0 1 0-6.177-6.177L12 5.823"}))};Ml.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yl=["color","size"],Ll=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.5 10.5L21 3"}),n.default.createElement("path",{d:"M16 3h5v5"}),n.default.createElement("path",{d:"M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5"}))};Ll.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tl=["color","size"],Cl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13 12h9m0 0l-3.333-4M22 12l-3.333 4"}),n.default.createElement("path",{d:"M14 7V5.174a2 2 0 0 0-2.166-1.993l-8 .666A2 2 0 0 0 2 5.84v12.32a2 2 0 0 0 1.834 1.993l8 .667A2 2 0 0 0 14 18.826V17"}))};Cl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bl=["color","size"],Ol=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 3L6 21"}),n.default.createElement("path",{d:"M18 3l-4 18"}),n.default.createElement("path",{d:"M4 8h17"}),n.default.createElement("path",{d:"M3 16h17"}))};Ol.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bl=["color","size"],jl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),n.default.createElement("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),n.default.createElement("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),n.default.createElement("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"}))};jl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wl=["color","size"],Hl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 12h6"}),n.default.createElement("path",{d:"M15 6h1a6 6 0 0 1 0 12h-1"}),n.default.createElement("path",{d:"M9 18H8A6 6 0 0 1 8 6h1"}))};Hl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vl=["color","size"],Rl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 6h1a6 6 0 0 1 0 12h-1"}),n.default.createElement("path",{d:"M9 18H8A6 6 0 0 1 8 6h1"}))};Rl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Al=["color","size"],_l=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Al);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};_l.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pl=["color","size"],Sl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 8v3m0 0v3m0-3h3m-3 0H9"}),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};Sl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ql=["color","size"],Fl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ql);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 11H9"}),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};Fl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Il=["color","size"],Jl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Il);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 21l-4.486-4.494M19 10.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0z"}),n.default.createElement("path",{d:"M10.5 7v3.5m0 0V14m0-3.5H14m-3.5 0H7"}))};Jl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dl=["color","size"],Gl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 21l-4.486-4.494M19 10.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0z"}),n.default.createElement("path",{d:"M13 10.5H8"}))};Gl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kl=["color","size"],Nl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}))};Nl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ql=["color","size"],Ul=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ql);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),n.default.createElement("path",{d:"M9 12l2.25 2L15 10"}))};Ul.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xl=["color","size"],Yl=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 2a5 5 0 0 0-5 5v10a5 5 0 0 0 5 5h10a5 5 0 0 0 5-5V7a5 5 0 0 0-5-5H7zm8.73 8.684a1 1 0 1 0-1.46-1.368l-3.083 3.29-1.523-1.353a1 1 0 0 0-1.328 1.494l2.25 2a1 1 0 0 0 1.393-.063l3.75-4z"}))};Yl.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zl=["color","size"],$l=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zl);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 10.418c6.068-.319 9.9 3.514 9.582 9.582"}),n.default.createElement("circle",{cx:"5",cy:"19",r:"1"}),n.default.createElement("path",{d:"M4 4.03C14.114 3.5 20.501 9.887 19.97 20"}))};$l.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var eo=["color","size"],to=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,eo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 15l-6-6m6 0l-6 6"}),n.default.createElement("path",{d:"M7.4 4.8A2 2 0 0 1 9 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H9a2 2 0 0 1-1.6-.8l-4.5-6a2 2 0 0 1 0-2.4l4.5-6z"}))};to.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ro=["color","size"],lo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ro);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.6 4.2A3 3 0 0 1 9 3h11a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H9a3 3 0 0 1-2.4-1.2l-4.5-6a3 3 0 0 1 0-3.6l4.5-6zm11.107 5.507a1 1 0 0 0-1.414-1.414L14 10.586l-2.293-2.293a1 1 0 1 0-1.414 1.414L12.586 12l-2.293 2.293a1 1 0 0 0 1.414 1.414L14 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L15.414 12l2.293-2.293z"}))};lo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oo=["color","size"],ao=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 12l5.25 5 2.625-3"}),n.default.createElement("path",{d:"M8 12l5.25 5L22 7"}),n.default.createElement("path",{d:"M16 7l-3.5 4"}))};ao.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var no=["color","size"],io=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,no);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"}))};io.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uo=["color","size"],co=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z"}))};co.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var so=["color","size"],fo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,so);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm8 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm10 2a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm10 2a2 2 0 1 0-4 0 2 2 0 0 0 4 0zm6-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zM6 20a2 2 0 1 0-4 0 2 2 0 0 0 4 0zm6-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm10 2a2 2 0 1 0-4 0 2 2 0 0 0 4 0z"}))};fo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ho=["color","size"],vo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ho);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M12 11v.01"}),n.default.createElement("path",{d:"M8 11v.01"}),n.default.createElement("path",{d:"M16 11v.01"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};vo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var po=["color","size"],go=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,po);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}),n.default.createElement("path",{d:"M9.879 8.879L12 11m0 0l2.121 2.121M12 11l2.121-2.121M12 11l-2.121 2.121"}))};go.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mo=["color","size"],wo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v5H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h5v5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-5h5a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-5V3z"}))};wo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zo=["color","size"],Eo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-1.108 7.935c.23-.453.4-.668.541-.78.106-.084.25-.155.567-.155.625 0 1 .47 1 .978 0 .278-.054.416-.202.592-.207.246-.59.545-1.348 1.046l-.45.296V13a1 1 0 1 0 2 0v-1.017c.542-.374.997-.732 1.327-1.124.477-.566.673-1.17.673-1.881C15 7.508 13.867 6 12 6c-.684 0-1.289.176-1.808.587-.484.383-.814.91-1.084 1.445a1 1 0 1 0 1.784.903zM13 16.5a1 1 0 1 0-2 0v.5a1 1 0 1 0 2 0v-.5z"}))};Eo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ko=["color","size"],xo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ko);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm1 6a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0V7zm0 9.5a1 1 0 1 0-2 0v.5a1 1 0 1 0 2 0v-.5z"}))};xo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mo=["color","size"],yo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm3.707 8.707a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293a1 1 0 1 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293z"}))};yo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lo=["color","size"],To=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm1 15a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 1 1 2 0v3h3a1 1 0 1 1 0 2h-3v3z"}))};To.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Co=["color","size"],bo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Co);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM8 11a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8z"}))};bo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Oo=["color","size"],Bo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Oo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm4.768 9.14a1 1 0 1 0-1.536-1.28l-4.3 5.159-2.225-2.226a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.475-.067l5-6z"}))};Bo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jo=["color","size"],Wo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.543 2.598a2.821 2.821 0 0 0-5.086 0L1.341 18.563C.37 20.469 1.597 23 3.883 23h16.233c2.287 0 3.512-2.53 2.543-4.437L14.543 2.598zM12 8a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1zm0 8.5a1 1 0 0 1 1 1v.5a1 1 0 1 1-2 0v-.5a1 1 0 0 1 1-1z"}))};Wo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ho=["color","size"],Vo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ho);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 1a1 1 0 0 0-.716.302l-6 6.156A1 1 0 0 0 1 8.156V16a1 1 0 0 0 .293.707l6 6A1 1 0 0 0 8 23h8a1 1 0 0 0 .707-.293l6-6A1 1 0 0 0 23 16V8.156a1 1 0 0 0-.284-.698l-6-6.156A1 1 0 0 0 16 1H8zm0 10a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8z"}))};Vo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ro=["color","size"],Ao=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ro);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm-.5 5a1 1 0 1 0 0 2h.5a1 1 0 1 0 0-2h-.5zM10 10a1 1 0 1 0 0 2h1v3h-1a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-1v-4a1 1 0 0 0-1-1h-2z"}))};Ao.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _o=["color","size"],Po=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_o);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22v-9m0 9l-2.5-2m2.5 2l2.5-2"}),n.default.createElement("path",{d:"M5.034 9.117A4.002 4.002 0 0 0 6 17h1"}),n.default.createElement("path",{d:"M15.83 7.138a5.5 5.5 0 0 0-10.796 1.98S5.187 10 5.5 10.5"}),n.default.createElement("path",{d:"M17 17a5 5 0 1 0-1.17-9.862L14.5 7.5"}))};Po.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var So=["color","size"],qo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,So);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 12v9m0-9l-2.5 2m2.5-2l2.5 2"}),n.default.createElement("path",{d:"M5.034 9.117A4.002 4.002 0 0 0 6 17h1"}),n.default.createElement("path",{d:"M15.83 7.138a5.5 5.5 0 0 0-10.796 1.98S5.187 10 5.5 10.5"}),n.default.createElement("path",{d:"M17 17a5 5 0 1 0-1.17-9.862L14.5 7.5"}))};qo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fo=["color","size"],Io=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"18",cy:"5",r:"3"}),n.default.createElement("circle",{cx:"18",cy:"19",r:"3"}),n.default.createElement("circle",{cx:"6",cy:"12",r:"3"}),n.default.createElement("path",{d:"M15.408 6.512l-6.814 3.975m6.814 7.001l-6.814-3.975"}))};Io.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jo=["color","size"],Do=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"7",width:"20",height:"10",rx:"5"}),n.default.createElement("circle",{cx:"7",cy:"12",r:"5"}))};Do.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Go=["color","size"],Ko=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Go);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"7",width:"20",height:"10",rx:"5"}),n.default.createElement("circle",{cx:"17",cy:"12",r:"5"}))};Ko.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var No=["color","size"],Qo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,No);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 7a5 5 0 0 0 0 10h10a5 5 0 0 0 0-10H7zm0 2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"}))};Qo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uo=["color","size"],Xo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 7a5 5 0 0 0 0 10h10a5 5 0 0 0 0-10H7zm10 2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z"}))};Xo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yo=["color","size"],Zo=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yo);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 6h14M5 12h14M5 18h14"}))};Zo.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $o=["color","size"],ea=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$o);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 19V5m6 14V5M6 19V5"}))};ea.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ta=["color","size"],ra=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ta);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 9h14M5 15h14"}))};ra.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var la=["color","size"],oa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,la);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15 19V5M9 19V5"}))};oa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var aa=["color","size"],na=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,aa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.6 4.2A3 3 0 0 1 9 3h11a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H9a3 3 0 0 1-2.4-1.2l-4.5-6a3 3 0 0 1 0-3.6l4.5-6z"}))};na.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ia=["color","size"],da=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ia);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.9 4.2A3 3 0 0 0 15.5 3h-11a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h11a3 3 0 0 0 2.4-1.2l4.5-6a3 3 0 0 0 0-3.6l-4.5-6z"}))};da.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ua=["color","size"],ca=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ua);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.05 6.35a3 3 0 0 1 1.2 2.4v11a3 3 0 0 1-3 3h-12a3 3 0 0 1-3-3v-11a3 3 0 0 1 1.2-2.4l6-4.5a3 3 0 0 1 3.6 0l6 4.5z"}))};ca.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sa=["color","size"],fa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.05 17.65a3 3 0 0 0 1.2-2.4v-11a3 3 0 0 0-3-3h-12a3 3 0 0 0-3 3v11a3 3 0 0 0 1.2 2.4l6 4.5a3 3 0 0 0 3.6 0l6-4.5z"}))};fa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ha=["color","size"],va=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ha);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M9 11l2.25 2L15 9"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};va.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pa=["color","size"],ga=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M10 8.484C10.5 7.494 11 7 12 7c1.246 0 2 .989 2 1.978s-.5 1.033-2 2.022v1m0 2.5v.5"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};ga.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ma=["color","size"],wa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ma);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M15.207 6.793a1 1 0 0 0-1.418.003l-4.55 4.597a2 2 0 0 0-.54 1.015l-.18.896a1 1 0 0 0 1.177 1.177l.896-.18a2 2 0 0 0 1.015-.54l4.597-4.55a1 1 0 0 0 .003-1.418l-1-1z"}),n.default.createElement("path",{d:"M12.5 9.5l1 1"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}))};wa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var za=["color","size"],Ea=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,za);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 3l7 19 2.051-6.154a6 6 0 0 1 3.795-3.795L22 10 3 3z"}))};Ea.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ka=["color","size"],xa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ka);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 3v18"}),n.default.createElement("path",{d:"M18 3v18"}),n.default.createElement("path",{d:"M3 6h18"}),n.default.createElement("path",{d:"M3 18h18"}))};xa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ma=["color","size"],ya=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ma);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13 21H3l10-10v10z"}),n.default.createElement("path",{d:"M5 19L21 3v4l-8 8"}))};ya.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var La=["color","size"],Ta=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,La);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 19L19 5"}),n.default.createElement("circle",{cx:"7",cy:"7",r:"3"}),n.default.createElement("circle",{cx:"17",cy:"17",r:"3"}))};Ta.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ca=["color","size"],ba=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ca);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 2a6 6 0 0 0-6 6c0 1.419.302 2.348 1.125 3.375L12 17l4.875-5.625C17.698 10.348 18 9.419 18 8a6 6 0 0 0-6-6z"}),n.default.createElement("path",{d:"M5 15.143C3.149 15.87 2 16.881 2 18c0 2.21 4.477 4 10 4s10-1.79 10-4c0-1.119-1.149-2.13-3-2.857"}),n.default.createElement("circle",{cx:"12",cy:"8",r:"1"}))};ba.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Oa=["color","size"],Ba=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Oa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"4"}),n.default.createElement("path",{d:"M15 12l-5-3v6l5-3z"}))};Ba.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ja=["color","size"],Wa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ja);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"7",cy:"18",r:"3"}),n.default.createElement("path",{d:"M15 15L7 3"}),n.default.createElement("path",{d:"M9 15l3-4.5M17 3l-3 4.5"}),n.default.createElement("circle",{cx:"17",cy:"18",r:"3"}))};Wa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ha=["color","size"],Va=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ha);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"12",cy:"5",rx:"9",ry:"2"}),n.default.createElement("path",{d:"M3 5c0 2.23 3.871 6.674 5.856 8.805A4.197 4.197 0 0 1 10 16.657V19a2 2 0 0 0 2 2v0a2 2 0 0 0 2-2v-2.343c0-1.061.421-2.075 1.144-2.852C17.13 11.674 21 7.231 21 5"}))};Va.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ra=["color","size"],Aa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ra);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 5h4m14 0H11m-8 7h12m6 0h-2M3 19h2m16 0H9"}),n.default.createElement("circle",{cx:"9",cy:"5",r:"2"}),n.default.createElement("circle",{cx:"17",cy:"12",r:"2"}),n.default.createElement("circle",{cx:"7",cy:"19",r:"2"}))};Aa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _a=["color","size"],Pa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_a);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 3v4m0 14V11m-7-8v12m0 6v-2M5 3v2m0 16V9"}),n.default.createElement("circle",{cx:"19",cy:"9",r:"2",transform:"rotate(90 19 9)"}),n.default.createElement("circle",{cx:"12",cy:"17",r:"2",transform:"rotate(90 12 17)"}),n.default.createElement("circle",{cx:"5",cy:"7",r:"2",transform:"rotate(90 5 7)"}))};Pa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sa=["color","size"],qa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 3v18M6 3l3 3.333M6 3L3 6.333"}),n.default.createElement("path",{d:"M14 21h8l-1-4h-7v4z"}),n.default.createElement("path",{d:"M14 14h6l-1-4h-5v4z"}),n.default.createElement("path",{d:"M14 7h4l-1-4h-3v4z"}))};qa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fa=["color","size"],Ia=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fa);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 21V3m0 18l3-3.333M6 21l-3-3.333"}),n.default.createElement("path",{d:"M14 3h8l-1 4h-7V3z"}),n.default.createElement("path",{d:"M14 10h6l-1 4h-5v-4z"}),n.default.createElement("path",{d:"M14 17h4l-1 4h-3v-4z"}))};Ia.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ja=["color","size"],Da=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ja);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),n.default.createElement("path",{d:"M7 14l4-4 4 4 6-6"}),n.default.createElement("path",{d:"M18 8h3v3"}))};Da.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ga=["color","size"],Ka=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ga);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 3v16a2 2 0 0 0 2 2h16"}),n.default.createElement("path",{d:"M7 9l4 4 4-4 6 6"}),n.default.createElement("path",{d:"M18 15h3v-3"}))};Ka.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Na=["color","size"],Qa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Na);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M15 3v18"}))};Qa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ua=["color","size"],Xa=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ua);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M9 3v18"}))};Xa.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ya=["color","size"],Za=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ya);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M9 3v18"}),n.default.createElement("path",{d:"M22 12H9"}))};Za.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $a=["color","size"],en=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$a);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 5a2 2 0 0 1 2-2h6v18H4a2 2 0 0 1-2-2V5z"}),n.default.createElement("path",{d:"M14 3h6a2 2 0 0 1 2 2v5h-8V3z"}),n.default.createElement("path",{d:"M14 14h8v5a2 2 0 0 1-2 2h-6v-7z"}))};en.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var tn=["color","size"],rn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,tn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M22 15H2"}))};rn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ln=["color","size"],on=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ln);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M22 9H2"}))};on.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var an=["color","size"],nn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,an);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M12 3v18"}))};nn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dn=["color","size"],un=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"3",width:"20",height:"18",rx:"2"}),n.default.createElement("path",{d:"M22 12H2"}))};un.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cn=["color","size"],sn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 19c3.771 0 5.657 0 6.828-1.172C22 16.657 22 14.771 22 11c0-3.771 0-5.657-1.172-6.828C19.657 3 17.771 3 14 3h-4C6.229 3 4.343 3 3.172 4.172 2 5.343 2 7.229 2 11c0 3.771 0 5.657 1.172 6.828.653.654 1.528.943 2.828 1.07"}),n.default.createElement("path",{d:"M14 19c-1.236 0-2.598.5-3.841 1.145-1.998 1.037-2.997 1.556-3.489 1.225-.492-.33-.399-1.355-.212-3.404L6.5 17.5"}),n.default.createElement("path",{d:"M5.5 13.5l1-2m0 0l1.106-2.211a1 1 0 0 1 1.788 0L10.5 11.5m-4 0h4m0 0l1 2m1-6h1.982V9c0 .5-.496 1.5-1.487 1.5m3.964-3v2m0 0v4m0-4H18.5"}))};sn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fn=["color","size"],hn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 6h18M6 12h12m-9 6h6"}))};hn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vn=["color","size"],pn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 14H8"}),n.default.createElement("path",{d:"M16 10H8"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};pn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gn=["color","size"],mn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm6 2a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1zm1-5a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8z"}))};mn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wn=["color","size"],zn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0z"}))};zn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var En=["color","size"],kn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,En);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm0 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z"}))};kn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xn=["color","size"],Mn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 21h10a4 4 0 0 0 4-4V7.414a1 1 0 0 0-.293-.707l-3.414-3.414A1 1 0 0 0 16.586 3H7a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4z"}),n.default.createElement("path",{d:"M9 3h6v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V3z"}),n.default.createElement("path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"}),n.default.createElement("path",{d:"M11 17h2"}))};Mn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yn=["color","size"],Ln=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.971 6.617a2 2 0 0 1 2.058 0l3.486 2.092a1 1 0 0 1 .485.857v4.302a2 2 0 0 1-.971 1.715l-3 1.8a2 2 0 0 1-2.058 0l-3-1.8A2 2 0 0 1 7 13.868V9.566a1 1 0 0 1 .486-.857l3.485-2.092z"}),n.default.createElement("path",{d:"M7 9l5 2.759m0 0L17 9m-5 2.759V17"}),n.default.createElement("path",{d:"M6 2H4a2 2 0 0 0-2 2v2"}),n.default.createElement("path",{d:"M18 22h2a2 2 0 0 0 2-2v-2"}),n.default.createElement("path",{d:"M22 6V4a2 2 0 0 0-2-2h-2"}),n.default.createElement("path",{d:"M2 18v2a2 2 0 0 0 2 2h2"}))};Ln.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tn=["color","size"],Cn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.266 16.06a8.923 8.923 0 0 0 3.915 3.978 8.706 8.706 0 0 0 5.471.832 8.795 8.795 0 0 0 4.887-2.64 9.067 9.067 0 0 0 2.388-5.079 9.135 9.135 0 0 0-1.044-5.53 8.903 8.903 0 0 0-4.069-3.815 8.7 8.7 0 0 0-5.5-.608c-1.85.401-3.366 1.313-4.62 2.755-.151.16-.735.806-1.22 1.781M7.5 8l-3.609.72L3 5m9 4v4l3 2"}))};Cn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bn=["color","size"],On=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17 17L7 7m10 0L7 17"}))};On.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bn=["color","size"],jn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 5v14.586c0 .89 1.077 1.337 1.707.707L12 14l6.293 6.293c.63.63 1.707.184 1.707-.707V5a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2z"}))};jn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wn=["color","size"],Hn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.554 6.24L7.171 2.335c-.39-.45-1.105-.448-1.558.006L2.831 5.128c-.828.829-1.065 2.06-.586 3.047a29.207 29.207 0 0 0 13.561 13.58c.986.479 2.216.242 3.044-.587l2.808-2.813c.455-.455.456-1.174.002-1.564l-3.92-3.365c-.41-.352-1.047-.306-1.458.106l-1.364 1.366a.462.462 0 0 1-.553.088 14.557 14.557 0 0 1-5.36-5.367.463.463 0 0 1 .088-.554l1.36-1.361c.412-.414.457-1.054.101-1.465z"}))};Hn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vn=["color","size"],Rn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6 7.91V16a6 6 0 0 0 6 6v0a6 6 0 0 0 6-6V6a4 4 0 0 0-4-4v0a4 4 0 0 0-4 4v9.182a2 2 0 0 0 2 2v0a2 2 0 0 0 2-2V8"}))};Rn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var An=["color","size"],_n=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,An);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M17.684 3.603c.521-.659.03-1.603-.836-1.603h-6.716c-.375 0-.722.192-.909.502l-5.082 8.456c-.401.666.103 1.497.908 1.497h3.429l-3.23 8.065c-.467 1.02.795 1.953 1.643 1.215L20 9.331h-6.849l4.533-5.728z"}))};_n.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pn=["color","size"],Sn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9.912 12H4L2.023 4.135A.662.662 0 0 1 2 3.995c-.022-.721.772-1.221 1.46-.891L22 12 3.46 20.896c-.68.327-1.464-.159-1.46-.867a.66.66 0 0 1 .033-.186L3.5 15"}))};Sn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qn=["color","size"],Fn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 3V2m0 20v-1m9-9h1M2 12h1m15.5-6.5L20 4M4 20l1.5-1.5M4 4l1.5 1.5m13 13L20 20"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"4"}))};Fn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var In=["color","size"],Jn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,In);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20.958 15.325c.204-.486-.379-.9-.868-.684a7.684 7.684 0 0 1-3.101.648c-4.185 0-7.577-3.324-7.577-7.425a7.28 7.28 0 0 1 1.134-3.91c.284-.448-.057-1.068-.577-.936C5.96 4.041 3 7.613 3 11.862 3 16.909 7.175 21 12.326 21c3.9 0 7.24-2.345 8.632-5.675z"}),n.default.createElement("path",{d:"M15.611 3.103c-.53-.354-1.162.278-.809.808l.63.945a2.332 2.332 0 0 1 0 2.588l-.63.945c-.353.53.28 1.162.81.808l.944-.63a2.332 2.332 0 0 1 2.588 0l.945.63c.53.354 1.162-.278.808-.808l-.63-.945a2.332 2.332 0 0 1 0-2.588l.63-.945c.354-.53-.278-1.162-.809-.808l-.944.63a2.332 2.332 0 0 1-2.588 0l-.945-.63z"}))};Jn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dn=["color","size"],Gn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.333 16.048L16.57 3.81a2.56 2.56 0 0 1 3.62 3.619L7.951 19.667a2 2 0 0 1-1.022.547L3 21l.786-3.93a2 2 0 0 1 .547-1.022z"}),n.default.createElement("path",{d:"M14.5 6.5l3 3"}))};Gn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kn=["color","size"],Nn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 10.726l-3 .505L11.23 2l-.504 3M12 16.881l-.77 2.042 7.693-7.692-2.042.769m-1.804 3.077L21 21M3.538 9.692l6.154-6.154.236.341a52.22 52.22 0 0 0 7.376 8.518l.235.218-4.924 4.923-.218-.234A52.22 52.22 0 0 0 3.88 9.928l-.34-.236z"}))};Nn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qn=["color","size"],Un=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.5 6v4H16m-1.315-8H10a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2z"}),n.default.createElement("path",{d:"M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2"}))};Un.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xn=["color","size"],Yn=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21.257 10.962c.474.62.474 1.457 0 2.076C19.764 14.987 16.182 19 12 19c-4.182 0-7.764-4.013-9.257-5.962a1.692 1.692 0 0 1 0-2.076C4.236 9.013 7.818 5 12 5c4.182 0 7.764 4.013 9.257 5.962z"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"3"}))};Yn.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zn=["color","size"],$n=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zn);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6.873 17.129c-1.845-1.31-3.305-3.014-4.13-4.09a1.693 1.693 0 0 1 0-2.077C4.236 9.013 7.818 5 12 5c1.876 0 3.63.807 5.13 1.874"}),n.default.createElement("path",{d:"M14.13 9.887a3 3 0 1 0-4.243 4.242"}),n.default.createElement("path",{d:"M4 20L20 4"}),n.default.createElement("path",{d:"M10 18.704A7.124 7.124 0 0 0 12 19c4.182 0 7.764-4.013 9.257-5.962a1.694 1.694 0 0 0-.001-2.078A22.939 22.939 0 0 0 19.57 9"}))};$n.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ei=["color","size"],ti=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ei);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 10s3.5 4 10 4 10-4 10-4"}),n.default.createElement("path",{d:"M4 11.645L2 14"}),n.default.createElement("path",{d:"M22 14l-1.996-2.352"}),n.default.createElement("path",{d:"M8.914 13.68L8 16.5"}),n.default.createElement("path",{d:"M15.063 13.688L16 16.5"}))};ti.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ri=["color","size"],li=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ri);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 7c0 2.21 1.644 4 4 4s4-1.79 4-4-1.644-4-4-4-4 1.79-4 4z"}),n.default.createElement("path",{d:"M10 7c0 2.21-1.644 4-4 4S2 9.21 2 7s1.644-4 4-4 4 1.79 4 4z"}),n.default.createElement("path",{d:"M14 7v12a2 2 0 0 0 2 2v0a2 2 0 0 0 2-2v-8"}),n.default.createElement("path",{d:"M14 17h4"}),n.default.createElement("path",{d:"M6 17h4"}),n.default.createElement("path",{d:"M10 7v12a2 2 0 0 1-2 2v0a2 2 0 0 1-2-2v-8"}),n.default.createElement("path",{d:"M20 4v0a5.408 5.408 0 0 0 0 6v0"}),n.default.createElement("path",{d:"M4 4v0a5.408 5.408 0 0 1 0 6v0"}))};li.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oi=["color","size"],ai=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 4v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.342a2 2 0 0 0-.602-1.43l-4.44-4.342A2 2 0 0 0 13.56 2H6a2 2 0 0 0-2 2z"}),n.default.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}))};ai.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ni=["color","size"],ii=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ni);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 4v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.342a2 2 0 0 0-.602-1.43l-4.44-4.342A2 2 0 0 0 13.56 2H6a2 2 0 0 0-2 2z"}),n.default.createElement("path",{d:"M9 13h6"}),n.default.createElement("path",{d:"M9 17h3"}),n.default.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}))};ii.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var di=["color","size"],ui=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,di);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 13.565C2 11.512 4 11 6 11v9a4 4 0 0 1-4-4v-2.435z"}),n.default.createElement("path",{d:"M22 13.565C22 11.512 20 11 18 11v9a4 4 0 0 0 4-4v-2.435z"}),n.default.createElement("path",{d:"M6 20V10a6 6 0 1 1 12 0v10"}))};ui.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ci=["color","size"],si=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ci);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"6",y:"2",width:"12",height:"20",rx:"2"}),n.default.createElement("path",{d:"M11.95 18h.1"}))};si.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fi=["color","size"],hi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2"}),n.default.createElement("path",{d:"M11 18h2"}))};hi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vi=["color","size"],pi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9H4V7z"}),n.default.createElement("path",{d:"M2 19h20"}))};pi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gi=["color","size"],mi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"}),n.default.createElement("path",{d:"M8 20h8"}))};mi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wi=["color","size"],zi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7z"}),n.default.createElement("path",{d:"M9 22h6"}),n.default.createElement("path",{d:"M9 2h6"}))};zi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ei=["color","size"],ki=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ei);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"}),n.default.createElement("path",{d:"M2 8h20"}),n.default.createElement("path",{d:"M2 12h7c0 1 .6 3 3 3s3-2 3-3h7"}))};ki.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xi=["color","size"],Mi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 21l-4.486-4.494M19 10.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0z"}))};Mi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yi=["color","size"],Li=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"10",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M6 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v4H6V6z"}))};Li.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ti=["color","size"],Ci=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ti);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"10",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M6 10V5a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v1"}))};Ci.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bi=["color","size"],Oi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M6.233 5.834l.445-2.226A2 2 0 0 1 8.64 2h6.72a2 2 0 0 1 1.962 1.608l.445 2.226a1.879 1.879 0 0 0 1.387 1.454A3.758 3.758 0 0 1 22 10.934V18a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4v-7.066a3.758 3.758 0 0 1 2.846-3.646 1.879 1.879 0 0 0 1.387-1.454z"}),n.default.createElement("circle",{cx:"12",cy:"14",r:"4"}),n.default.createElement("path",{d:"M11 6h2"}))};Oi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bi=["color","size"],ji=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V6z"}),n.default.createElement("circle",{cx:"8.5",cy:"8.5",r:"2.5"}),n.default.createElement("path",{d:"M14.526 12.621L6 22h12.133A3.867 3.867 0 0 0 22 18.133V18c0-.466-.175-.645-.49-.99l-4.03-4.395a2 2 0 0 0-2.954.006z"}))};ji.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wi=["color","size"],Hi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 19V9a2 2 0 0 0-2-2h-6.764a2 2 0 0 1-1.789-1.106l-.894-1.788A2 2 0 0 0 8.763 3H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z"}))};Hi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vi=["color","size"],Ri=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M22 19V9a2 2 0 0 0-2-2h-6.764a2 2 0 0 1-1.789-1.106l-.894-1.788A2 2 0 0 0 8.763 3H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z"}),n.default.createElement("path",{d:"M12 11v3m0 0v3m0-3h3m-3 0H9"}))};Ri.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ai=["color","size"],_i=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ai);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"18",rx:"4"}),n.default.createElement("path",{d:"M8 2v4"}),n.default.createElement("path",{d:"M16 2v4"}),n.default.createElement("path",{d:"M2 10h20"}))};_i.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pi=["color","size"],Si=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12.721 5.003L11.255 5c-3.344-.008-6.247 2.709-6.27 6v3.79c0 .79-.1 1.561-.531 2.218l-.287.438C3.73 18.11 4.2 19 4.985 19h14.03c.785 0 1.254-.89.818-1.554l-.287-.438c-.43-.657-.531-1.429-.531-2.219v-3.788c-.04-3.292-2.95-5.99-6.294-5.998z"}),n.default.createElement("path",{d:"M15 19a3 3 0 1 1-6 0"}),n.default.createElement("path",{d:"M12 2a2 2 0 0 1 2 2v1h-4V4a2 2 0 0 1 2-2z"}))};Si.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qi=["color","size"],Fi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}))};Fi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ii=["color","size"],Ji=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ii);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M7 10v4"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}))};Ji.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Di=["color","size"],Gi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Di);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}),n.default.createElement("path",{d:"M7 10v4"}),n.default.createElement("path",{d:"M11 10v4"}))};Gi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ki=["color","size"],Ni=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ki);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M7 10v4"}),n.default.createElement("path",{d:"M11 10v4"}),n.default.createElement("path",{d:"M15 10v4"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}))};Ni.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qi=["color","size"],Ui=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 4v1c0 1.636 2 4 3 5l.75 9.01A3.26 3.26 0 0 0 12 22v0a3.26 3.26 0 0 0 3.25-2.99L16 10c1-1 3-3.364 3-5V4"}),n.default.createElement("path",{d:"M12 11v2"}),n.default.createElement("ellipse",{cx:"12",cy:"4",rx:"7",ry:"2"}))};Ui.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xi=["color","size"],Yi=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v5H2V6z"}),n.default.createElement("path",{d:"M18.5 16.5h-3"}),n.default.createElement("path",{d:"M12 11h10v7a4 4 0 0 1-4 4h-6V11z"}),n.default.createElement("path",{d:"M12 11H2v7a4 4 0 0 0 4 4h6V11z"}),n.default.createElement("path",{d:"M5.5 18L7 16.5m0 0L8.5 15M7 16.5L8.5 18M7 16.5L5.5 15"}))};Yi.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zi=["color","size"],$i=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zi);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"13",r:"9"}),n.default.createElement("path",{d:"M15.5 9.5L12 13"}),n.default.createElement("path",{d:"M19 19l1 3"}),n.default.createElement("path",{d:"M5 19l-1 3"}),n.default.createElement("path",{d:"M2 5l3-3"}),n.default.createElement("path",{d:"M19 2l3 3"}),n.default.createElement("path",{d:"M12 4V2"}))};$i.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ed=["color","size"],td=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ed);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("ellipse",{cx:"12",cy:"12",rx:"10",ry:"4",transform:"rotate(90 12 12)"}),n.default.createElement("path",{d:"M2 12h20"}))};td.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rd=["color","size"],ld=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6s1.5-2 5-2 5 2 5 2v14s-1.5-1-5-1-5 1-5 1V6z"}),n.default.createElement("path",{d:"M12 6s1.5-2 5-2 5 2 5 2v14s-1.5-1-5-1-5 1-5 1V6z"}))};ld.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var od=["color","size"],ad=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,od);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5.034 11.117A4.002 4.002 0 0 0 6 19h11a5 5 0 1 0-1.17-9.862L14.5 9.5"}),n.default.createElement("path",{d:"M15.83 9.138a5.5 5.5 0 0 0-10.796 1.98S5.187 12 5.5 12.5"}))};ad.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nd=["color","size"],id=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"}),n.default.createElement("path",{d:"M2 8l7.501 6.001a4 4 0 0 0 4.998 0L22 8"}))};id.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dd=["color","size"],ud=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3.977 9.84A2 2 0 0 1 5.971 8h12.058a2 2 0 0 1 1.994 1.84l.803 10A2 2 0 0 1 18.833 22H5.167a2 2 0 0 1-1.993-2.16l.803-10z"}),n.default.createElement("path",{d:"M16 11V6a4 4 0 0 0-4-4v0a4 4 0 0 0-4 4v5"}))};ud.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cd=["color","size"],sd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"8",width:"18",height:"14",rx:"2"}),n.default.createElement("path",{d:"M12 5a3 3 0 1 0-3 3"}),n.default.createElement("path",{d:"M15 8a3 3 0 1 0-3-3"}),n.default.createElement("path",{d:"M12 5v17"}),n.default.createElement("path",{d:"M21 15H3"}))};sd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fd=["color","size"],hd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8.368 4.79l-2.736-.913A2 2 0 0 0 3 5.775v11.783a2 2 0 0 0 1.368 1.898l4 1.333a2 2 0 0 0 1.264 0l4.736-1.578a2 2 0 0 1 1.264 0l2.736.912A2 2 0 0 0 21 18.224V6.442a2 2 0 0 0-1.367-1.898l-4-1.333a2 2 0 0 0-1.265 0L9.631 4.789a2 2 0 0 1-1.264 0z"}),n.default.createElement("path",{d:"M9 5v16"}),n.default.createElement("path",{d:"M15 3v16"}))};hd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vd=["color","size"],pd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.147 21.197l1.67-1.168a13.393 13.393 0 0 0 5.447-13.624.837.837 0 0 0-.453-.586L12 2 4.19 5.819a.837.837 0 0 0-.454.586 13.393 13.393 0 0 0 5.448 13.624l1.67 1.168a2 2 0 0 0 2.293 0z"}))};pd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gd=["color","size"],md=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15.244 21.366a2.164 2.164 0 0 1-3.061 0l-8.549-8.549A2.164 2.164 0 0 1 3 11.287V5.163C3 3.97 3.97 3 5.164 3h6.123c.573 0 1.124.228 1.53.634l8.549 8.549a2.164 2.164 0 0 1 0 3.061l-6.122 6.122z"}),n.default.createElement("path",{d:"M6.5 6.5L7 7"}))};md.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wd=["color","size"],zd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M14 3.269C14 2.568 13.432 2 12.731 2H11.27C10.568 2 10 2.568 10 3.269v0c0 .578-.396 1.074-.935 1.286-.085.034-.17.07-.253.106-.531.23-1.162.16-1.572-.249v0a1.269 1.269 0 0 0-1.794 0L4.412 5.446a1.269 1.269 0 0 0 0 1.794v0c.41.41.48 1.04.248 1.572a7.946 7.946 0 0 0-.105.253c-.212.539-.708.935-1.286.935v0C2.568 10 2 10.568 2 11.269v1.462C2 13.432 2.568 14 3.269 14v0c.578 0 1.074.396 1.286.935.034.085.07.17.105.253.231.531.161 1.162-.248 1.572v0a1.269 1.269 0 0 0 0 1.794l1.034 1.034a1.269 1.269 0 0 0 1.794 0v0c.41-.41 1.04-.48 1.572-.249.083.037.168.072.253.106.539.212.935.708.935 1.286v0c0 .701.568 1.269 1.269 1.269h1.462c.701 0 1.269-.568 1.269-1.269v0c0-.578.396-1.074.935-1.287.085-.033.17-.068.253-.104.531-.232 1.162-.161 1.571.248v0a1.269 1.269 0 0 0 1.795 0l1.034-1.034a1.269 1.269 0 0 0 0-1.794v0c-.41-.41-.48-1.04-.249-1.572.037-.083.072-.168.106-.253.212-.539.708-.935 1.286-.935v0c.701 0 1.269-.568 1.269-1.269V11.27c0-.701-.568-1.269-1.269-1.269v0c-.578 0-1.074-.396-1.287-.935a7.755 7.755 0 0 0-.105-.253c-.23-.531-.16-1.162.249-1.572v0a1.269 1.269 0 0 0 0-1.794l-1.034-1.034a1.269 1.269 0 0 0-1.794 0v0c-.41.41-1.04.48-1.572.249a7.913 7.913 0 0 0-.253-.106C14.396 4.343 14 3.847 14 3.27v0z"}),n.default.createElement("path",{d:"M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0z"}))};zd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ed=["color","size"],kd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ed);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 15h13.865a1 1 0 0 0 .768-1.64L15 9l3.633-4.36A1 1 0 0 0 17.865 3H4v18"}))};kd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xd=["color","size"],Md=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8.707 3.293c-.39.39-.369 1.021-.138 1.523a2.83 2.83 0 0 1-3.753 3.753c-.502-.23-1.133-.252-1.523.138l-.586.586a1 1 0 0 0 0 1.414l10.586 10.586a1 1 0 0 0 1.414 0l.586-.586c.39-.39.369-1.021.138-1.523a2.83 2.83 0 0 1 3.753-3.753c.502.23 1.133.252 1.523-.138l.586-.586a1 1 0 0 0 0-1.414L10.707 2.707a1 1 0 0 0-1.414 0l-.586.586z"}))};Md.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yd=["color","size"],Ld=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 9a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v5a7 7 0 0 1-7 7v0a7 7 0 0 1-7-7V9z"}),n.default.createElement("path",{d:"M8 6v-.425c0-.981.384-1.96 1.326-2.238 1.525-.45 3.823-.45 5.348 0C15.616 3.615 16 4.594 16 5.575V6"}),n.default.createElement("path",{d:"M18.5 7.5L22 4"}),n.default.createElement("path",{d:"M5.5 7.5L2 4"}),n.default.createElement("path",{d:"M6 18l-4 3"}),n.default.createElement("path",{d:"M5 12H1.5"}),n.default.createElement("path",{d:"M22.5 12H19"}),n.default.createElement("path",{d:"M18 18l4 3"}),n.default.createElement("path",{d:"M12 13v8"}))};Ld.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Td=["color","size"],Cd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Td);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z"}),n.default.createElement("path",{d:"M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2"}))};Cd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bd=["color","size"],Od=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("g",{clipPath:"url(#clip0_73_30)"},n.default.createElement("circle",{cx:"12",cy:"12",r:"10",transform:"rotate(45 12 12)"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"4",transform:"rotate(45 12 12)"}),n.default.createElement("path",{d:"M19.071 4.929l-4.243 4.243"}),n.default.createElement("path",{d:"M9.172 14.828l-4.243 4.243"}),n.default.createElement("path",{d:"M19.071 19.071l-4.243-4.243"}),n.default.createElement("path",{d:"M9.172 9.172L4.929 4.929"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_73_30"},n.default.createElement("rect",{width:"24",height:"24"}))))};Od.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bd=["color","size"],jd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.074 2.633c.32-.844 1.531-.844 1.852 0l2.07 5.734c.145.38.514.633.926.633h5.087c.94 0 1.35 1.17.611 1.743L18 14a.968.968 0 0 0-.322 1.092L19 20.695c.322.9-.72 1.673-1.508 1.119l-4.917-3.12a1 1 0 0 0-1.15 0l-4.917 3.12c-.787.554-1.83-.22-1.508-1.119l1.322-5.603A.968.968 0 0 0 6 14l-3.62-3.257C1.64 10.17 2.052 9 2.99 9h5.087a.989.989 0 0 0 .926-.633l2.07-5.734z"}))};jd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wd=["color","size"],Hd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"6",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M20 10h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H20v-4z"}),n.default.createElement("path",{d:"M11.4 9L9 12h4l-2.4 3"}))};Hd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vd=["color","size"],Rd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v5a7 7 0 0 1-7 7v0a7 7 0 0 1-7-7V4z"}),n.default.createElement("path",{d:"M9 22h6l-3-5-3 5z"}),n.default.createElement("path",{d:"M5 4H4a2 2 0 0 0-2 2v1.239a4 4 0 0 0 2.128 3.535L5.5 11.5"}),n.default.createElement("path",{d:"M19 4h1a2 2 0 0 1 2 2v.637a5 5 0 0 1-2.66 4.419l-.84.444"}))};Rd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ad=["color","size"],_d=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ad);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 18C19.954 18 20.917 7.83 20.994 2.997a.983.983 0 0 0-1.006-.988C3 2.321 3 10.557 3 18v4"}),n.default.createElement("path",{d:"M3 18s0-6 8-7"}))};_d.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pd=["color","size"],Sd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 20H6a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h11a4 4 0 0 1 4 4v3"}),n.default.createElement("path",{d:"M8 2v2"}),n.default.createElement("path",{d:"M15 2v2"}),n.default.createElement("path",{d:"M2 8h19"}),n.default.createElement("path",{d:"M18.5 15.643l-1.5 1.5"}),n.default.createElement("circle",{cx:"17",cy:"17",r:"5"}))};Sd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qd=["color","size"],Fd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7z"}),n.default.createElement("circle",{cx:"12",cy:"12",r:"3"}),n.default.createElement("path",{d:"M2 9v0a4 4 0 0 0 4-4v0"}),n.default.createElement("path",{d:"M18 19v0a4 4 0 0 1 4-4v0"}))};Fd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Id=["color","size"],Jd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Id);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8.252 18.459C7.462 19.764 7.107 21 5.7 21 4.209 21 3 19.757 3 18.223s1.209-2.778 2.7-2.778c1.4 0 2.55 1.095 2.686 2.498a.846.846 0 0 1-.134.515zm0 0l1.948-3.476m5.548 3.476C16.538 19.764 16.893 21 18.3 21c1.491 0 2.7-1.243 2.7-2.777s-1.209-2.778-2.7-2.778c-1.4 0-2.55 1.095-2.687 2.498-.017.182.04.36.135.515zm0 0L7.093 3.346a.659.659 0 0 0-1.1-.081c-1.704 2.19-1.534 5.35.395 7.333l9.36 7.86zm-3.797-6.63l4.953-8.494a.66.66 0 0 1 1.098-.076c1.707 2.194 1.537 5.358-.395 7.345L16.5 11.742"}))};Jd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dd=["color","size"],Gd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"9.5",cy:"10",rx:"9.5",ry:"10",transform:"matrix(-1 0 0 1 20 2)"}),n.default.createElement("path",{d:"M13 8.8a3.583 3.583 0 0 0-2.25-.8C8.679 8 7 9.79 7 12s1.679 4 3.75 4c.844 0 1.623-.298 2.25-.8"}),n.default.createElement("path",{d:"M10 2c4.333 0 13 1 13 10s-8.667 10-13 10"}))};Gd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kd=["color","size"],Nd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 21l6-8 8 8"}),n.default.createElement("path",{d:"M5.228 7.303l13.532-5.06a1 1 0 0 1 1.108.285l.19.22A8 8 0 0 1 22 7.973v.616a1 1 0 0 1-.65.937l-13.536 5.06-2.586-7.283z"}),n.default.createElement("path",{d:"M2.66 11.371a2 2 0 0 1 1.193-2.545l1.694-.624 1.944 5.473-1.64.612a2 2 0 0 1-2.585-1.205l-.606-1.711z"}),n.default.createElement("path",{d:"M13 13v9"}))};Nd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qd=["color","size"],Ud=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"8"}),n.default.createElement("path",{d:"M8.399 4.849C5.372 2.582 2.972 1.489 2.23 2.23c-1.174 1.174 2.248 6.5 7.643 11.895 5.396 5.395 10.722 8.817 11.895 7.643.431-.43.243-1.421-.435-2.769"}))};Ud.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xd=["color","size"],Yd=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9 15l-2.968 2.968A2.362 2.362 0 0 1 2 16.298V15l1.357-6.784A4 4 0 0 1 7.279 5h9.442a4 4 0 0 1 3.922 3.216L22 15v1.297a2.362 2.362 0 0 1-4.032 1.67L15 15H9z"}),n.default.createElement("path",{d:"M9 5l1 2h4l1-2"}))};Yd.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zd=["color","size"],$d=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zd);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 10a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3.868a2 2 0 0 1-1.715-.971l-1.56-2.6a1 1 0 0 0-1.714 0l-1.56 2.6A2 2 0 0 1 7.868 19H4a2 2 0 0 1-2-2v-7z"}),n.default.createElement("path",{d:"M3.813 6.781A4 4 0 0 1 7.14 5h9.718a4 4 0 0 1 3.328 1.781L21 8H3l.813-1.219z"}))};$d.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var eu=["color","size"],tu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,eu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2"}),n.default.createElement("path",{d:"M8 5V2"}),n.default.createElement("path",{d:"M16 5V3l1-1"}),n.default.createElement("path",{d:"M16 22v-3"}),n.default.createElement("path",{d:"M9 22v-3"}),n.default.createElement("path",{d:"M5 8H2"}),n.default.createElement("path",{d:"M22 8h-3"}),n.default.createElement("path",{d:"M22 16h-3"}),n.default.createElement("path",{d:"M5 16H3l-1 1"}))};tu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ru=["color","size"],lu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ru);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3.304 6.132A4 4 0 0 1 7.209 3h9.582a4 4 0 0 1 3.905 3.132l.147.662a23.997 23.997 0 0 1 0 10.412l-.147.662A4 4 0 0 1 16.791 21H7.21a4 4 0 0 1-3.905-3.132l-.147-.662a24 24 0 0 1 0-10.412l.147-.662z"}),n.default.createElement("path",{d:"M2.5 13h6.338c0 1 .973 3 3.405 3 2.433 0 3.406-2 3.406-3H21.5"}))};lu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ou=["color","size"],au=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ou);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 22h4M5 9a7 7 0 0 1 14 0 6.972 6.972 0 0 1-3 5.734l-.542 2.566a2 2 0 0 1-1.977 1.7h-2.962a2 2 0 0 1-1.977-1.7L8 14.745A6.992 6.992 0 0 1 5 9z"}),n.default.createElement("path",{d:"M8 15h8"}))};au.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nu=["color","size"],iu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M13.533 3.81L8 2l1 4-5.37 4.475A1.75 1.75 0 0 0 3 11.82v0c0 .617.537 1.088 1.127.986L9 12l-2.097 7h10.614l1.283-5.745c.913-4.088-1.386-8.21-5.267-9.445z"}),n.default.createElement("path",{d:"M4 21a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H4v-1z"}))};iu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var du=["color","size"],uu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,du);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 6h16l-1.58 14.22A2 2 0 0 1 16.432 22H7.568a2 2 0 0 1-1.988-1.78L4 6z"}),n.default.createElement("path",{d:"M7.345 3.147A2 2 0 0 1 9.154 2h5.692a2 2 0 0 1 1.81 1.147L18 6H6l1.345-2.853z"}),n.default.createElement("path",{d:"M2 6h20"}),n.default.createElement("path",{d:"M10 11v5"}),n.default.createElement("path",{d:"M14 11v5"}))};uu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cu=["color","size"],su=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"8",y:"2",width:"8",height:"13",rx:"4"}),n.default.createElement("path",{d:"M18 16.292A7.98 7.98 0 0 1 12 19a7.98 7.98 0 0 1-6-2.708"}),n.default.createElement("path",{d:"M12 19v3"}),n.default.createElement("path",{d:"M10 22h4"}))};su.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fu=["color","size"],hu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11 7c4.418 0 8 .895 8 2s-3.582 2-8 2-8-.895-8-2c0-.357.375-.693 1.033-.984"}),n.default.createElement("path",{d:"M3 9v9.343c0 1.061.44 2.08 1.409 2.513C5.624 21.399 7.711 22 11 22c3.29 0 5.377-.601 6.591-1.144.968-.433 1.409-1.452 1.409-2.513V9"}),n.default.createElement("path",{d:"M19 10v0a3 3 0 0 1 3 3v0a3 3 0 0 1-3 3v0"}),n.default.createElement("path",{d:"M7 3v4"}),n.default.createElement("path",{d:"M11 2v2"}),n.default.createElement("path",{d:"M15 4v3"}))};hu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vu=["color","size"],pu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.default.createElement("path",{d:"M12 10.016A2.794 2.794 0 0 0 9.857 9C8.28 9 7 10.343 7 12s1.28 3 2.857 3c.854 0 1.62-.393 2.143-1.016M17 12c0 1.657-1.28 3-2.857 3-1.578 0-2.857-1.343-2.857-3s1.279-3 2.857-3C15.72 9 17 10.343 17 12z"}))};pu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gu=["color","size"],mu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11 8V3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v5a4 4 0 0 0 4 4h1a4 4 0 0 0 4-4z"}),n.default.createElement("path",{d:"M15 16V2h3a4 4 0 0 1 4 4v10h-4"}),n.default.createElement("path",{d:"M15 16v5a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-5"}),n.default.createElement("path",{d:"M5 12v9a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-9"}),n.default.createElement("path",{d:"M5 6V2"}),n.default.createElement("path",{d:"M8 6V2"}))};mu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wu=["color","size"],zu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16 10H8c-2.188 0-3.698 1.415-3.935 3.282-.325 2.56.529 4.105 3.634 5.128 1.394.46 2.579 1.464 3.01 2.868l.223.722.095-.082a8 8 0 0 1 2.175-1.331l1.921-.789c3.286-1.348 5.22-3.408 4.826-6.516C19.712 11.415 18.188 10 16 10z"}),n.default.createElement("path",{d:"M11.964 6.97s-3.075.306-4.685-1.035C5.669 4.593 6.036 2.03 6.036 2.03s3.075-.306 4.686 1.035c1.61 1.342 1.242 3.905 1.242 3.905z"}),n.default.createElement("path",{d:"M12.036 6.97s3.075.306 4.685-1.035c1.61-1.342 1.243-3.905 1.243-3.905s-3.075-.306-4.685 1.035c-1.61 1.342-1.243 3.905-1.243 3.905z"}),n.default.createElement("path",{d:"M19 11.5c-.5 1-3.134 1.5-7 1.5s-6.5-.5-7-1.5"}))};zu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Eu=["color","size"],ku=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Eu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M15.5 4H18a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2.5"}),n.default.createElement("path",{d:"M8.621 3.515A2 2 0 0 1 10.561 2h2.877a2 2 0 0 1 1.94 1.515L16 6H8l.621-2.485z"}),n.default.createElement("path",{d:"M9 12h6"}),n.default.createElement("path",{d:"M9 16h6"}))};ku.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xu=["color","size"],Mu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"6",cy:"15",r:"4"}),n.default.createElement("circle",{cx:"18",cy:"15",r:"4"}),n.default.createElement("path",{d:"M6 15l2-7h7.5"}),n.default.createElement("path",{d:"M6 5h3"}),n.default.createElement("path",{d:"M18 15L15 5h4"}),n.default.createElement("path",{d:"M19 5h.5A1.5 1.5 0 0 1 21 6.5v0A1.5 1.5 0 0 1 19.5 8H19"}))};Mu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yu=["color","size"],Lu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 11l-2 4 3.408 1.363a4 4 0 0 1 2.229 2.229L9 22l4-2-1.21-2.42a2 2 0 0 1 .679-2.56L14 14l4 7 3-4-2.29-7.469.715-.714c1.412-1.412 2.71-3.682 1.075-5.317-1.635-1.635-3.91-.34-5.316 1.077l-.72.708L7 3 3 6l7 4-1.02 1.531a2 2 0 0 1-2.56.68L4 11z"}))};Lu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tu=["color","size"],Cu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M4 11l-2 4 3.408 1.363a4 4 0 0 1 2.229 2.229L9 22l4-2-1.21-2.42a2 2 0 0 1 .679-2.56L14 14l4 7 3-4-2.29-7.469.715-.714c1.412-1.412 2.71-3.682 1.075-5.317-1.635-1.635-3.91-.34-5.316 1.077l-.72.708L7 3 3 6l7 4-1.02 1.531a2 2 0 0 1-2.56.68L4 11z"}))};Cu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bu=["color","size"],Ou=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 9l1.164 8.926a3.875 3.875 0 0 0 2.844 3.243v0c3.27.872 6.713.872 9.984 0v0a3.875 3.875 0 0 0 2.844-3.243L21 9"}),n.default.createElement("path",{d:"M5.035 7.266C3.763 7.661 3 8.165 3 8.714 3 9.977 7.03 11 12 11s9-1.023 9-2.286c0-.55-.764-1.054-2.037-1.448"}),n.default.createElement("path",{d:"M9 4l-3 .51C4.159 4.874 3 5.407 3 6c0 1.105 4.03 2 9 2s9-.895 9-2c0-.592-1.159-1.125-3-1.49L15 4"}),n.default.createElement("path",{d:"M15 4v0a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v0"}))};Ou.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bu=["color","size"],ju=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"6",cy:"14",r:"4"}),n.default.createElement("circle",{cx:"18",cy:"14",r:"4"}),n.default.createElement("path",{d:"M10 14l.211-.106a4 4 0 0 1 3.578 0L14 14"}),n.default.createElement("path",{d:"M19 6l2.838 6.623a2 2 0 0 1 .162.788V14"}),n.default.createElement("path",{d:"M5 6l-2.838 6.623A2 2 0 0 0 2 13.41V14"}))};ju.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wu=["color","size"],Hu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.964 6.97s-3.075.306-4.685-1.035C5.669 4.593 6.036 2.03 6.036 2.03s3.075-.306 4.686 1.035c1.61 1.342 1.242 3.905 1.242 3.905z"}),n.default.createElement("path",{d:"M12.036 6.97s3.075.306 4.685-1.035c1.61-1.342 1.243-3.905 1.243-3.905s-3.075-.306-4.685 1.035c-1.61 1.342-1.243 3.905-1.243 3.905z"}),n.default.createElement("path",{d:"M4 11a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2z"}),n.default.createElement("path",{d:"M5 14h14l-2 8H7l-2-8z"}))};Hu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vu=["color","size"],Ru=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16.474 5.408l2.118 2.117m-.756-3.982L12.109 9.27a2.118 2.118 0 0 0-.58 1.082L11 13l2.648-.53c.41-.082.786-.283 1.082-.579l5.727-5.727a1.853 1.853 0 1 0-2.621-2.621z"}),n.default.createElement("path",{d:"M19 15v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h3"}))};Ru.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Au=["color","size"],_u=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Au);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 4l2.303 14.076a4 4 0 0 0 2.738 3.167l.328.104a12 12 0 0 0 7.262 0l.328-.104a4 4 0 0 0 2.738-3.166L21 4"}),n.default.createElement("ellipse",{cx:"12",cy:"4",rx:"9",ry:"2"}))};_u.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pu=["color","size"],Su=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 1a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1zM3.293 3.293a1 1 0 0 1 1.414 0l1.5 1.5a1 1 0 0 1-1.414 1.414l-1.5-1.5a1 1 0 0 1 0-1.414zm17.414 0a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 1 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0zM1 12a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1zm19 0a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1zM6.207 17.793a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 0 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0zm11.586 0a1 1 0 0 1 1.414 0l1.5 1.5a1 1 0 0 1-1.414 1.414l-1.5-1.5a1 1 0 0 1 0-1.414zM12 20a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1z"}))};Su.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qu=["color","size"],Fu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M20.958 15.325c.204-.486-.379-.9-.868-.684a7.684 7.684 0 0 1-3.101.648c-4.185 0-7.577-3.324-7.577-7.425a7.28 7.28 0 0 1 1.134-3.91c.284-.448-.057-1.068-.577-.936C5.96 4.041 3 7.613 3 11.862 3 16.909 7.175 21 12.326 21c3.9 0 7.24-2.345 8.632-5.675z"}),n.default.createElement("path",{d:"M15.611 3.103c-.53-.354-1.162.278-.809.808l.63.945a2.332 2.332 0 0 1 0 2.588l-.63.945c-.353.53.28 1.162.81.808l.944-.63a2.332 2.332 0 0 1 2.588 0l.945.63c.53.354 1.162-.278.808-.808l-.63-.945a2.332 2.332 0 0 1 0-2.588l.63-.945c.354-.53-.278-1.162-.809-.808l-.944.63a2.332 2.332 0 0 1-2.588 0l-.945-.63z"}))};Fu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Iu=["color","size"],Ju=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Iu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M7 3s3 .5 5 .5 5-.5 5-.5l1 9s-3 1-6 1-6-1-6-1l1-9z"}),n.default.createElement("path",{d:"M3.869 8.147l-.862 10.294c-.03.366.04.733.205 1.06l.197.393A2.01 2.01 0 0 0 5.206 21h13.588a2.01 2.01 0 0 0 1.797-1.106l.197-.392c.165-.328.236-.695.205-1.06l-.862-10.295a3.99 3.99 0 0 0-.79-2.068L17 3s-3 .5-5 .5S6.978 3 6.978 3l-2.32 3.08a3.99 3.99 0 0 0-.79 2.067z"}),n.default.createElement("path",{d:"M6 12l-2.5 8M18 12l2.5 8"}))};Ju.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Du=["color","size"],Gu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Du);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 21h12a4 4 0 0 0 4-4V5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v13c0 1.657-.343 3-2 3z"}),n.default.createElement("path",{d:"M3 10a2 2 0 0 1 2-2h2v10.5c0 1.38-.62 2.5-2 2.5s-2-1.12-2-2.5V10z"}),n.default.createElement("circle",{cx:"12",cy:"8",r:"1"}),n.default.createElement("path",{d:"M11 14h6"}),n.default.createElement("path",{d:"M11 17h3"}))};Gu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ku=["color","size"],Nu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ku);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 2h11a3 3 0 0 1 3 3v14a1 1 0 0 1-1 1h-3"}),n.default.createElement("path",{d:"M5 2l7.588 1.518A3 3 0 0 1 15 6.459V20.78a1 1 0 0 1-1.196.98l-7.196-1.438A2 2 0 0 1 5 18.36V2z"}),n.default.createElement("path",{d:"M12 12v2"}))};Nu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qu=["color","size"],Uu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22a8 8 0 0 1-8-8c0-3.502 2.71-6.303 5.093-8.87L12 2l2.907 3.13C17.29 7.698 20 10.499 20 14a8 8 0 0 1-8 8z"}))};Uu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xu=["color","size"],Yu=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 22c-4.97 0-9-2.582-9-7v-.088C3 12.794 4.338 11.1 6.375 10c1.949-1.052 3.101-2.99 2.813-5l-.563-3 2.086.795c3.757 1.43 6.886 3.912 8.914 7.066A8.495 8.495 0 0 1 21 14.464V15c0 1.562-.504 2.895-1.375 3.965"}),n.default.createElement("path",{d:"M12 22c-1.657 0-3-1.433-3-3.2 0-1.4 1.016-2.521 1.91-3.548L12 14l1.09 1.252C13.984 16.28 15 17.4 15 18.8c0 1.767-1.343 3.2-3 3.2z"}))};Yu.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zu=["color","size"],$u=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zu);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 8h7a3 3 0 1 0-3-3"}),n.default.createElement("path",{d:"M4 16h11a3 3 0 1 1-3 3"}),n.default.createElement("path",{d:"M2 12h17a3 3 0 1 0-3-3"}))};$u.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ec=["color","size"],tc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ec);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 19v-6.733a4 4 0 0 0-1.245-2.9L13.378 3.31a2 2 0 0 0-2.755 0L4.245 9.367A4 4 0 0 0 3 12.267V19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"}))};tc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rc=["color","size"],lc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 4c-4.915 0-8.91 3.378-8.999 8.817a.18.18 0 0 0 .182.183.188.188 0 0 0 .17-.11C3.876 11.767 4.782 11.5 6 11.5c1.185 0 1.964.227 2.456 1.302.054.12.172.198.304.198a.366.366 0 0 0 .326-.224C9.56 11.729 10.901 11.5 12 11.5M12 4c4.916 0 8.91 3.378 8.998 8.817a.18.18 0 0 1-.18.183.188.188 0 0 1-.17-.11c-.525-1.123-1.43-1.39-2.648-1.39-1.185 0-1.964.227-2.456 1.302a.336.336 0 0 1-.304.198.366.366 0 0 1-.326-.224C14.44 11.729 13.099 11.5 12 11.5M12 4V2m0 9.5V20a2 2 0 1 1-4 0"}))};lc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var oc=["color","size"],ac=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,oc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 5.4A2.4 2.4 0 0 1 5.4 3h13.2A2.4 2.4 0 0 1 21 5.4v0a.6.6 0 0 1-.6.6H3.6a.6.6 0 0 1-.6-.6v0z"}),n.default.createElement("path",{d:"M5 6h14l-1.555 14.218A2 2 0 0 1 15.457 22H8.543a2 2 0 0 1-1.988-1.782L5 6z"}),n.default.createElement("path",{d:"M6.313 18l-.875-8h13.125l-.875 8H6.313z"}))};ac.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nc=["color","size"],ic=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 15H4V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"}),n.default.createElement("path",{d:"M2 18h12"}),n.default.createElement("path",{d:"M14 9.2c0-.663.597-1.2 1.333-1.2h5.334C21.403 8 22 8.537 22 9.2v9.6c0 .663-.597 1.2-1.333 1.2h-5.334C14.597 20 14 19.463 14 18.8V9.2z"}),n.default.createElement("path",{d:"M18 17h.01"}))};ic.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var dc=["color","size"],uc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,dc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.029 2.54a2 2 0 0 1 1.942 0l7.515 4.174a1 1 0 0 1 .514.874v8.235a2 2 0 0 1-1.029 1.748l-7 3.89a2 2 0 0 1-1.942 0l-7-3.89A2 2 0 0 1 3 15.824V7.588a1 1 0 0 1 .514-.874L11.03 2.54z"}),n.default.createElement("path",{d:"M3 7l9 5m0 0l9-5m-9 5v9.5"}),n.default.createElement("path",{d:"M7.5 9.5l9-5"}),n.default.createElement("path",{d:"M6 12.328L9 14"}))};uc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cc=["color","size"],sc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.029 2.54a2 2 0 0 1 1.942 0l7.515 4.174a1 1 0 0 1 .514.874v8.235a2 2 0 0 1-1.029 1.748l-7 3.89a2 2 0 0 1-1.942 0l-7-3.89A2 2 0 0 1 3 15.824V7.588a1 1 0 0 1 .514-.874L11.03 2.54z"}),n.default.createElement("path",{d:"M7.5 4.5l9 5V13"}),n.default.createElement("path",{d:"M6 12.328L9 14"}),n.default.createElement("path",{d:"M3 7l9 5m0 0l9-5m-9 5v9.5"}))};sc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fc=["color","size"],hc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 7h13.79a2 2 0 0 1 1.99 2.199l-.6 6A2 2 0 0 1 18.19 17H8.64a2 2 0 0 1-1.962-1.608L5 7z"}),n.default.createElement("path",{d:"M5 7l-.81-3.243A1 1 0 0 0 3.22 3H2"}),n.default.createElement("path",{d:"M8 21h2"}),n.default.createElement("path",{d:"M16 21h2"}))};hc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vc=["color","size"],pc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2.31 11.242A1 1 0 0 1 3.28 10h17.44a1 1 0 0 1 .97 1.242l-1.811 7.243A2 2 0 0 1 17.939 20H6.061a2 2 0 0 1-1.94-1.515L2.31 11.243z"}),n.default.createElement("path",{d:"M9 14v2"}),n.default.createElement("path",{d:"M15 14v2"}),n.default.createElement("path",{d:"M6 10l4-6"}),n.default.createElement("path",{d:"M18 10l-4-6"}))};pc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gc=["color","size"],mc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 11.083a4 4 0 0 1 1.706-3.277l6-4.2a4 4 0 0 1 4.588 0l6 4.2A4 4 0 0 1 22 11.083V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.917z"}),n.default.createElement("path",{d:"M2.5 9.5l7.001 5.501a4 4 0 0 0 4.998 0L21.5 9.5"}))};mc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var wc=["color","size"],zc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,wc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M15 16l-2.414-2.414A2 2 0 0 1 12 12.172V6"}))};zc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ec=["color","size"],kc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ec);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10 17h6V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a1 1 0 0 0 1 1h1"}),n.default.createElement("path",{d:"M22 16v-4a4 4 0 0 0-4-4h-2v9h5a1 1 0 0 0 1-1z"}),n.default.createElement("path",{d:"M15 17a3 3 0 1 0 6 0h-6z"}),n.default.createElement("path",{d:"M22 14h-2"}),n.default.createElement("circle",{cx:"7",cy:"17",r:"3"}))};kc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xc=["color","size"],Mc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 13c6 0 8-4.477 8-10H4c0 5.523 2 10 8 10z"}),n.default.createElement("path",{d:"M12 13v7"}),n.default.createElement("path",{d:"M5 8h14"}),n.default.createElement("path",{d:"M8 22h8l-4-2-4 2z"}))};Mc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var yc=["color","size"],Lc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,yc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 10a1 1 0 0 1 1-1h6v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V10z"}),n.default.createElement("path",{d:"M13 15a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v6h-8v-6z"}),n.default.createElement("rect",{x:"15",y:"9",width:"4",height:"3"}),n.default.createElement("rect",{x:"6",y:"4",width:"4",height:"5"}),n.default.createElement("path",{d:"M8 4V2"}),n.default.createElement("path",{d:"M17 9V6"}),n.default.createElement("path",{d:"M17 17v-5"}))};Lc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Tc=["color","size"],Cc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Tc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"7",width:"18",height:"12",rx:"2"}),n.default.createElement("path",{d:"M9 6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1H9V6z"}),n.default.createElement("path",{d:"M10 12l.211.106a4 4 0 0 0 3.578 0L14 12"}))};Cc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bc=["color","size"],Oc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16.926 19.381l-4.302 1.414a2 2 0 0 1-1.248 0L7.074 19.38a4 4 0 0 1-2.623-2.794L3 11l9 1 9-1-1.451 5.587a4 4 0 0 1-2.623 2.794z"}),n.default.createElement("path",{d:"M6.497 7.257A2 2 0 0 1 8.354 6h7.292a2 2 0 0 1 1.857 1.257L19 11l-7 1-7-1 1.497-3.743z"}),n.default.createElement("path",{d:"M12 3v3"}),n.default.createElement("path",{d:"M11 3h2"}),n.default.createElement("path",{d:"M12 12v4"}))};Oc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bc=["color","size"],jc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 8l1.304 1.043a4 4 0 0 0 5.995-1.181L12 3l2.701 4.862a4 4 0 0 0 5.995 1.18L22 8l-1.754 8.77a2.564 2.564 0 0 1-1.367 1.79v0a15.381 15.381 0 0 1-13.758 0v0a2.564 2.564 0 0 1-1.367-1.79L2 8z"}),n.default.createElement("path",{d:"M8 15c2.596 1.333 5.404 1.333 8 0"}))};jc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Wc=["color","size"],Hc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Wc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M18 3l4-1-1 4-10 10-2.5-.5L8 13 18 3z"}),n.default.createElement("path",{d:"M2 20l2 2"}),n.default.createElement("path",{d:"M5 14l1 4 4 1"}),n.default.createElement("path",{d:"M6 18l-3 3"}))};Hc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vc=["color","size"],Rc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 19.2L3.8 21m.9-7.2l.9 3.6m0 0l3.6.9m-3.6-.9l-2.7 2.7M16.4 3.9l-9 9 .45 2.25 2.25.45 9-9L20 3l-3.6.9z"}),n.default.createElement("path",{d:"M22 19.2L20.2 21m-.9-7.2l-.9 3.6m0 0l2.7 2.7m-2.7-2.7l-1.8.45-1.8.45M9.3 11L4.9 6.6 4 3l3.6.9L12 8.3m.1 5.5l1.8 1.8 2.25-.45.45-2.25-1.8-1.8"}))};Rc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ac=["color","size"],_c=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ac);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 18l2-2h2l1.36-1.36a6.5 6.5 0 1 0-3.997-3.992L2 18v4h4l2-2v-2z"}),n.default.createElement("circle",{cx:"17",cy:"7",r:"1"}))};_c.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Pc=["color","size"],Sc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Pc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 4.363C9 2.732 3 1.23 3 8.277c0 5.492 1.188 9.756 3.005 12.141.645.847 2.216.584 2.888-.265a1.22 1.22 0 0 0 .174-.328l1.063-2.8c.654-1.72 3.086-1.72 3.74 0l1.063 2.8c.045.116.097.23.174.328.672.85 2.243 1.112 2.888.265C19.812 18.033 21 13.77 21 8.277c0-7.046-6-5.545-9-3.914zm0 0L15 6"}))};Sc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qc=["color","size"],Fc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3 13a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7z"}),n.default.createElement("path",{d:"M3 13l2.914 2.331c1.187.95 2.9.855 3.975-.22v0a2.985 2.985 0 0 1 4.222 0v0a2.985 2.985 0 0 0 3.975.22L21 13"}),n.default.createElement("path",{d:"M12 6a2 2 0 0 1-2-2c0-.876.677-1.576 1.273-2.217L12 1l.727.783C13.323 2.424 14 3.124 14 4a2 2 0 0 1-2 2z"}))};Fc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ic=["color","size"],Jc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ic);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 4.222v15.556C4 21.005 5.023 22 6.286 22h11.428C18.977 22 20 21.005 20 19.778V8.444a2 2 0 0 0-2-2H6.286C5.023 6.444 4 5.45 4 4.222zm0 0C4 2.995 5.023 2 6.286 2h9.143c1.262 0 2.285.995 2.285 2.222v2.222"}))};Jc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Dc=["color","size"],Gc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Dc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5 2l.19.94a4 4 0 0 0 2.57 2.974L8 6l-.24.086A4 4 0 0 0 5.19 9.06L5 10l-.19-.94a4 4 0 0 0-2.57-2.974L2 6l.24-.086A4 4 0 0 0 4.81 2.94L5 2z"}),n.default.createElement("path",{d:"M8 16l.23 1.276a2 2 0 0 0 1.219 1.501L10 19l-.551.223a2 2 0 0 0-1.22 1.5L8 22l-.23-1.276a2 2 0 0 0-1.219-1.501L6 19l.551-.223a2 2 0 0 0 1.22-1.5L8 16z"}),n.default.createElement("path",{d:"M16 3l.556 2.654a8 8 0 0 0 5.213 5.92L23 12l-1.231.426a8 8 0 0 0-5.213 5.92L16 21l-.556-2.654a8 8 0 0 0-5.213-5.92L9 12l1.231-.426a8 8 0 0 0 5.213-5.92L16 3z"}))};Gc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Kc=["color","size"],Nc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Kc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M8 18V5.716a2 2 0 0 1 1.696-1.977l9-1.385A2 2 0 0 1 21 4.331V16"}),n.default.createElement("path",{d:"M8 9l13-2"}),n.default.createElement("path",{d:"M8 18a3 3 0 1 1-6 0c0-1.657 1.343-2 3-2s3 .343 3 2z"}),n.default.createElement("path",{d:"M21 16a3 3 0 1 1-6 0c0-1.657 1.343-2 3-2s3 .343 3 2z"}))};Nc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qc=["color","size"],Uc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 4v14"}),n.default.createElement("path",{d:"M19 7.674v-.657a4 4 0 0 0-2.901-3.846l-2.824-.807A1 1 0 0 0 12 3.326V7l5.725 1.636A1 1 0 0 0 19 7.674z"}),n.default.createElement("path",{d:"M12 18a3 3 0 1 1-6 0c0-1.657 1.343-2 3-2s3 .343 3 2z"}))};Uc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xc=["color","size"],Yc=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 6a4 4 0 0 1 4-4h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V6z"}),n.default.createElement("path",{d:"M9 16.5V8.78a1 1 0 0 1 .757-.97l6-1.5A1 1 0 0 1 17 7.28V15"}),n.default.createElement("path",{d:"M9 11l8-2"}),n.default.createElement("circle",{cx:"7.5",cy:"16.5",r:"1.5"}),n.default.createElement("circle",{cx:"15.5",cy:"15.5",r:"1.5"}))};Yc.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zc=["color","size"],$c=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zc);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 5c0-2.21 1.792-4 4.002-4h13.996C21.208 1 23 2.79 23 5v14a4 4 0 0 1-4 4H5a4 4 0 0 1-4-4V5zm19 7a8 8 0 1 1-16 0 8 8 0 0 1 16 0zm-8 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"}))};$c.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var es=["color","size"],ts=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,es);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M8.25 11.75v.5"}),n.default.createElement("path",{d:"M8.25 15.75v.5"}),n.default.createElement("path",{d:"M15.5 8h.5"}),n.default.createElement("path",{d:"M15.75 7.75v.5"}),n.default.createElement("path",{d:"M15.75 11.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}),n.default.createElement("path",{d:"M8 12h.5"}),n.default.createElement("path",{d:"M15.5 12h.5"}),n.default.createElement("path",{d:"M8 16h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}))};ts.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rs=["color","size"],ls=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M15.5 8h.5"}),n.default.createElement("path",{d:"M12 12h.5"}),n.default.createElement("path",{d:"M12.25 11.75v.5"}),n.default.createElement("path",{d:"M8 16h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M8.25 15.75v.5"}),n.default.createElement("path",{d:"M15.75 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}))};ls.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var os=["color","size"],as=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,os);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 11V8l-8-5-8 5v3h16z"}),n.default.createElement("path",{d:"M3 21h18"}),n.default.createElement("path",{d:"M5 20v-5h2"}),n.default.createElement("path",{d:"M17 20v-5h2"}),n.default.createElement("path",{d:"M11 20v-5h2"}))};as.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ns=["color","size"],is=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ns);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M9.474 16l9.181 3.284a1.1 1.1 0 0 0 1.462-.887L21.99 4.239c.114-.862-.779-1.505-1.567-1.13L2.624 11.605c-.88.42-.814 1.69.106 2.017l2.44.868 1.33.467M13 17.26l-1.99 3.326c-.65.808-1.959.351-1.959-.683V17.24a2 2 0 0 1 .53-1.356l3.871-4.2"}))};is.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ds=["color","size"],us=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ds);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M21 19v-6.733a4 4 0 0 0-1.245-2.9L13.378 3.31a2 2 0 0 0-2.755 0L4.245 9.367A4 4 0 0 0 3 12.267V19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"}),n.default.createElement("path",{d:"M9 15a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6H9v-6z"}))};us.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var cs=["color","size"],ss=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,cs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),n.default.createElement("rect",{x:"6",y:"8",width:"2",height:"2"}))};ss.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var fs=["color","size"],hs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,fs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 21H7a4 4 0 0 1-4-4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v13c0 1.657.343 3 2 3z"}),n.default.createElement("path",{d:"M21 10a2 2 0 0 0-2-2h-2v10.5c0 1.38.62 2.5 2 2.5s2-1.12 2-2.5V10z"}),n.default.createElement("path",{d:"M13 11H7"}),n.default.createElement("path",{d:"M13 7H7"}),n.default.createElement("path",{d:"M10 15H7"}))};hs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var vs=["color","size"],ps=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,vs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4 22l-2-2 1-1 2 2-1 1z"}),n.default.createElement("path",{d:"M9 13l2 2"}),n.default.createElement("path",{d:"M12 12l-8 8"}),n.default.createElement("path",{d:"M20 4l-1 1"}),n.default.createElement("path",{d:"M9.707 7.707a1 1 0 0 1 0-1.414l4.086-4.086a1 1 0 0 1 1.414 0l6.586 6.586a1 1 0 0 1 0 1.414l-4.086 4.086a1 1 0 0 1-1.414 0L9.707 7.707z"}))};ps.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var gs=["color","size"],ms=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,gs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"12",cy:"6",rx:"8",ry:"3"}),n.default.createElement("path",{d:"M6.037 12C4.77 12.53 4 13.232 4 14c0 1.657 3.582 3 8 3s8-1.343 8-3c0-.768-.77-1.47-2.037-2"}),n.default.createElement("path",{d:"M4 6v4c0 1.657 3.582 3 8 3s8-1.343 8-3V6"}),n.default.createElement("path",{d:"M4 14v4c0 1.657 3.582 3 8 3s8-1.343 8-3v-4"}))};ms.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ws=["color","size"],zs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ws);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M15.5 8h.5"}),n.default.createElement("path",{d:"M8 16h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M8.25 15.75v.5"}),n.default.createElement("path",{d:"M15.75 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}))};zs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Es=["color","size"],ks=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Es);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M12.25 11.75v.5"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M12 12h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}))};ks.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var xs=["color","size"],Ms=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,xs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M8.25 7.75v.5"}),n.default.createElement("path",{d:"M15.75 15.75v.5"}),n.default.createElement("path",{d:"M8 8h.5"}),n.default.createElement("path",{d:"M15.5 16h.5"}))};Ms.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ys=["color","size"],Ls=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ys);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n.default.createElement("path",{d:"M12.25 11.75v.5"}),n.default.createElement("path",{d:"M12 12h.5"}))};Ls.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ts=["color","size"],Cs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ts);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M2 7v8a2 2 0 0 0 2 2h1M2 7V5a2 2 0 0 1 2-2h2M2 7a4 4 0 0 0 4-4m0 0h13m-9.236 9A3 3 0 0 1 14 7.764M2 20L20 2m1.22 16.047l.549-6.261c.075-.865-.598-1.63-1.504-1.71l-.82-.071m1.776 8.042l-.137 1.566c-.076.864-.872 1.501-1.778 1.422l-1.64-.144m3.555-2.844c-1.813-.158-3.405 1.115-3.556 2.844m0 0L7 19.958m4.347-3.477c.409.52.94.785 1.67.849 1.359.119 2.553-.836 2.666-2.133.061-.696-.085-1.269-.551-1.743"}))};Cs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var bs=["color","size"],Os=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,bs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 14h.352a3 3 0 0 1 2.976 2.628l.391 3.124A2 2 0 0 1 18.734 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}))};Os.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Bs=["color","size"],js=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Bs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}),n.default.createElement("path",{d:"M19 14v4"}),n.default.createElement("path",{d:"M17 16h4"}))};js.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ws=["color","size"],Hs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ws);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}),n.default.createElement("path",{d:"M17 16.5l1.5 1.5 2.5-3"}))};Hs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Vs=["color","size"],Rs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Vs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"7",r:"5"}),n.default.createElement("path",{d:"M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"}),n.default.createElement("path",{d:"M21 18l-3-3m3 0l-3 3"}))};Rs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var As=["color","size"],_s=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,As);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M12 18a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4z"}))};_s.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ps=["color","size"],Ss=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ps);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M16 14c-.5 1.5-1.79 3-4 3s-3.5-1.5-4-3"}))};Ss.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var qs=["color","size"],Fs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,qs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M8 14h8"}))};Fs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Is=["color","size"],Js=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Is);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M16 16c-.5-1.5-1.79-3-4-3s-3.5 1.5-4 3"}))};Js.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ds=["color","size"],Gs=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ds);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M8 9.05v-.1"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M12 13a4 4 0 0 1 4 4H8a4 4 0 0 1 4-4z"}))};Gs.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ks=["color","size"],Ns=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ks);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.default.createElement("path",{d:"M7 9h2"}),n.default.createElement("path",{d:"M16 9.05v-.1"}),n.default.createElement("path",{d:"M16 15c-.5 1-1.79 2-4 2s-3.5-1-4-2"}))};Ns.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Qs=["color","size"],Us=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Qs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.605 5.782l.23-2.369c.091-.952.98-1.598 1.878-1.366 1.351.35 2.3 1.605 2.3 3.044v3.035c0 .675 0 1.013.146 1.26.083.141.197.26.333.345.24.151.567.151 1.22.151h.396c1.703 0 2.554 0 3.078.39.393.293.67.722.78 1.208.146.65-.181 1.463-.836 3.087l-.326.81a3.261 3.261 0 0 0-.226 1.48c.232 2.874-2.047 5.295-4.833 5.136l-10.424-.599c-1.139-.065-1.708-.098-2.222-.553-.515-.455-.612-.924-.805-1.861a14.324 14.324 0 0 1 .055-6.037c.283-1.248 1.475-1.92 2.706-1.76 3.264.42 6.223-2.019 6.55-5.4z"}),n.default.createElement("path",{d:"M7 11.5l-.137.457A14.983 14.983 0 0 0 7 21"}))};Us.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Xs=["color","size"],Ys=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Xs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12.395 18.218l-.23 2.369c-.091.952-.98 1.598-1.878 1.366-1.351-.35-2.3-1.605-2.3-3.044v-3.035c0-.675 0-1.013-.146-1.26a1.018 1.018 0 0 0-.333-.345c-.24-.151-.567-.151-1.22-.151h-.396c-1.703 0-2.554 0-3.078-.39a2.073 2.073 0 0 1-.78-1.208c-.146-.65.181-1.463.836-3.087l.327-.81c.188-.468.265-.975.225-1.48-.232-2.874 2.047-5.295 4.833-5.135l10.424.598c1.139.065 1.708.098 2.222.553.515.455.612.924.805 1.861a14.317 14.317 0 0 1-.055 6.037c-.283 1.248-1.475 1.92-2.706 1.76-3.264-.42-6.223 2.019-6.55 5.4z"}),n.default.createElement("path",{d:"M17 12.5l.137-.457c.887-2.956.84-6.115-.137-9.043"}))};Ys.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Zs=["color","size"],$s=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Zs);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M12 11l-1-7.272c0-.466.185-.913.515-1.243 1.024-1.024 2.777-.44 2.982.994L16 10l1.508-6.328a1.682 1.682 0 0 1 3.276.73L19 16"}),n.default.createElement("path",{d:"M19 16c-.536 4-3.358 6-7.5 6C7.358 22 4 20 4 16"}),n.default.createElement("path",{d:"M4 16v-4a2 2 0 1 1 4 0m4 1v-2a2 2 0 1 0-4 0v4"}),n.default.createElement("path",{d:"M13.692 17H11a2 2 0 1 1 0-4h4c2.21 0 4.5 2 3.5 5"}))};$s.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ef=["color","size"],tf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ef);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 16l.87-11.735a2.102 2.102 0 0 0-4.181-.433L15 9"}),n.default.createElement("path",{d:"M8 15v-3a2 2 0 1 0-4 0v4"}),n.default.createElement("path",{d:"M12 13v-1.5a2 2 0 1 0-4 0V15"}),n.default.createElement("path",{d:"M16 13v-2a2 2 0 1 0-4 0v2"}),n.default.createElement("path",{d:"M19 16c-.536 4-3.358 6-7.5 6C7.358 22 4 20 4 16"}),n.default.createElement("path",{d:"M13.692 17H11a2 2 0 1 1 0-4h4c2.21 0 4.5 2 3.5 5"}))};tf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var rf=["color","size"],lf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,rf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M19 16l.87-11.735a2.102 2.102 0 0 0-4.181-.433L15 9"}),n.default.createElement("path",{d:"M8 11l-.713-4.279a2.06 2.06 0 0 0-4.083.525L4 16"}),n.default.createElement("path",{d:"M12 13v-1.5a2 2 0 1 0-4 0V15"}),n.default.createElement("path",{d:"M16 13v-2a2 2 0 1 0-4 0v2"}),n.default.createElement("path",{d:"M19 16c-.536 4-3.358 6-7.5 6C7.358 22 4 20 4 16"}),n.default.createElement("path",{d:"M13.692 17H11a2 2 0 1 1 0-4h4c2.21 0 4.5 2 3.5 5"}))};lf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var of=["color","size"],af=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,of);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"7",cy:"6",r:"3"}),n.default.createElement("path",{d:"M10 13H5.818a3 3 0 0 0-2.964 2.537L2.36 18.69A2 2 0 0 0 4.337 21H9"}),n.default.createElement("path",{d:"M21.64 18.691l-.494-3.154A3 3 0 0 0 18.182 13h-2.364a3 3 0 0 0-2.964 2.537l-.493 3.154A2 2 0 0 0 14.337 21h5.326a2 2 0 0 0 1.976-2.309z"}),n.default.createElement("circle",{cx:"17",cy:"6",r:"3"}))};af.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var nf=["color","size"],df=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,nf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M16.719 19.752l-.64-5.124A3 3 0 0 0 13.101 12h-2.204a3 3 0 0 0-2.976 2.628l-.641 5.124A2 2 0 0 0 9.266 22h5.468a2 2 0 0 0 1.985-2.248z"}),n.default.createElement("circle",{cx:"12",cy:"5",r:"3"}),n.default.createElement("circle",{cx:"4",cy:"9",r:"2"}),n.default.createElement("circle",{cx:"20",cy:"9",r:"2"}),n.default.createElement("path",{d:"M4 14h-.306a2 2 0 0 0-1.973 1.671l-.333 2A2 2 0 0 0 3.361 20H7"}),n.default.createElement("path",{d:"M20 14h.306a2 2 0 0 1 1.973 1.671l.333 2A2 2 0 0 1 20.639 20H17"}))};df.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uf=["color","size"],cf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 16V8.5c0-.828-.641-1.5-1.48-1.5C18 7 17 7.3 17 8.5v-3c0-.828-.641-1.5-1.48-1.5-.507 0-1.52.3-1.52 1.5v-2c0-.828-.641-1.5-1.48-1.5-.84 0-1.52.672-1.52 1.5v2C11 4.3 10.007 4 9.5 4 8.66 4 8 4.691 8 5.52V14"}),n.default.createElement("path",{d:"M11 5.5V11"}),n.default.createElement("path",{d:"M14 5.5V11"}),n.default.createElement("path",{d:"M17 5.5V11"}),n.default.createElement("path",{d:"M20 16c0 4-3.134 6-7 6s-5.196-1-8.196-6l-1.571-2.605c-.536-.868-.107-1.994.881-2.314a1.657 1.657 0 0 1 1.818.552L8 14.033"}))};cf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sf=["color","size"],ff=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M20 16V9.5c0-.828-.641-1.5-1.48-1.5C18 8 17 8.3 17 9.5M8 14V5.52"}),n.default.createElement("path",{d:"M20 16c0 4-3.134 6-7 6s-5.196-1-8.196-6l-1.571-2.605c-.536-.868-.107-1.994.881-2.314a1.657 1.657 0 0 1 1.818.552L8 14.033"}),n.default.createElement("path",{d:"M14 11V7.5A1.5 1.5 0 0 1 15.5 6v0A1.5 1.5 0 0 1 17 7.5V11"}),n.default.createElement("path",{d:"M11 11V6.5A1.5 1.5 0 0 1 12.5 5v0A1.5 1.5 0 0 1 14 6.5V11"}),n.default.createElement("path",{d:"M8 11V2.5A1.5 1.5 0 0 1 9.5 1v0A1.5 1.5 0 0 1 11 2.5V11"}))};ff.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hf=["color","size"],vf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_65_70)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12.067C0 18.033 4.333 22.994 10 24v-8.667H7V12h3V9.333c0-3 1.933-4.666 4.667-4.666.866 0 1.8.133 2.666.266V8H15.8c-1.467 0-1.8.733-1.8 1.667V12h3.2l-.533 3.333H14V24c5.667-1.006 10-5.966 10-11.933C24 5.43 18.6 0 12 0S0 5.43 0 12.067z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_65_70"},n.default.createElement("rect",{width:"24",height:"24"}))))};vf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pf=["color","size"],gf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M23.643 4.937c-.835.37-1.732.62-2.675.733a4.67 4.67 0 0 0 2.048-2.578 9.3 9.3 0 0 1-2.958 1.13 4.66 4.66 0 0 0-7.938 4.25 13.229 13.229 0 0 1-9.602-4.868c-.4.69-.63 1.49-.63 2.342A4.66 4.66 0 0 0 3.96 9.824a4.647 4.647 0 0 1-2.11-.583v.06a4.66 4.66 0 0 0 3.737 4.568 4.692 4.692 0 0 1-2.104.08 4.661 4.661 0 0 0 4.352 3.234 9.348 9.348 0 0 1-5.786 1.995 9.5 9.5 0 0 1-1.112-.065 13.175 13.175 0 0 0 7.14 2.093c8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602a9.47 9.47 0 0 0 2.323-2.41l.002-.003z"}))};gf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mf=["color","size"],wf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 2.838A1.838 1.838 0 0 1 2.838 1H21.16A1.837 1.837 0 0 1 23 2.838V21.16A1.838 1.838 0 0 1 21.161 23H2.838A1.838 1.838 0 0 1 1 21.161V2.838zm8.708 6.55h2.979v1.496c.43-.86 1.53-1.634 3.183-1.634 3.169 0 3.92 1.713 3.92 4.856v5.822h-3.207v-5.106c0-1.79-.43-2.8-1.522-2.8-1.515 0-2.145 1.089-2.145 2.8v5.106H9.708V9.388zm-5.5 10.403h3.208V9.25H4.208v10.54zM7.875 5.812a2.063 2.063 0 1 1-4.125 0 2.063 2.063 0 0 1 4.125 0z"}))};wf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zf=["color","size"],Ef=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_67_12)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12c6.612 0 12-5.375 12-12S18.612 0 12 0zm7.926 5.531a10.202 10.202 0 0 1 2.317 6.378c-.338-.065-3.722-.755-7.132-.325-.079-.17-.144-.352-.222-.534a30.53 30.53 0 0 0-.676-1.484c3.774-1.536 5.492-3.748 5.713-4.035zM12 1.771c2.603 0 4.985.975 6.794 2.576-.182.26-1.731 2.33-5.375 3.696-1.68-3.084-3.54-5.61-3.827-6A10.424 10.424 0 0 1 12 1.77zm-4.36.962c.273.365 2.095 2.903 3.8 5.922-4.79 1.276-9.02 1.25-9.475 1.25.664-3.176 2.812-5.818 5.675-7.172zm-5.896 9.28v-.312c.443.013 5.414.078 10.53-1.458.299.573.572 1.158.832 1.744-.13.039-.273.078-.403.117-5.284 1.705-8.096 6.364-8.33 6.755a10.226 10.226 0 0 1-2.629-6.846zM12 22.256c-2.369 0-4.555-.807-6.286-2.16.182-.378 2.264-4.387 8.043-6.404.026-.013.04-.013.065-.026 1.445 3.735 2.03 6.872 2.187 7.77-1.237.534-2.59.82-4.009.82zm5.714-1.757c-.104-.625-.651-3.618-1.992-7.302 3.215-.507 6.026.326 6.378.443-.443 2.85-2.083 5.31-4.386 6.859z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_67_12"},n.default.createElement("rect",{width:"24",height:"24"}))))};Ef.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var kf=["color","size"],xf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,kf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_67_13)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zm-4.312-.942c.194.277.304.604.316.942a1.751 1.751 0 0 1-.972 1.596c.014.176.014.352 0 .528 0 2.688-3.132 4.872-6.996 4.872-3.864 0-6.996-2.184-6.996-4.872a3.444 3.444 0 0 1 0-.528 1.75 1.75 0 1 1 1.932-2.868 8.568 8.568 0 0 1 4.68-1.476l.888-4.164a.372.372 0 0 1 .444-.288l2.94.588a1.2 1.2 0 1 1-.156.732L13.2 5.58l-.78 3.744a8.544 8.544 0 0 1 4.62 1.476 1.751 1.751 0 0 1 2.648.258zM8.206 12.533a1.2 1.2 0 1 0 1.996 1.334 1.2 1.2 0 0 0-1.996-1.334zm3.806 4.891c1.065.044 2.113-.234 2.964-.876a.335.335 0 1 0-.468-.48A3.936 3.936 0 0 1 12 16.8a3.924 3.924 0 0 1-2.496-.756.324.324 0 0 0-.456.456 4.608 4.608 0 0 0 2.964.924zm2.081-3.178c.198.132.418.25.655.25a1.199 1.199 0 0 0 1.212-1.248 1.2 1.2 0 1 0-1.867.998z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_67_13"},n.default.createElement("rect",{width:"24",height:"24"}))))};xf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mf=["color","size"],yf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_66_158)"},n.default.createElement("path",{d:"M18.895 22.517c-.798.867-2.646 1.456-4.301 1.483h-.182c-5.557 0-6.766-4.164-6.766-6.594v-6.748H5.458a.454.454 0 0 1-.324-.137.472.472 0 0 1-.134-.33V7.003c0-.164.05-.324.142-.458a.782.782 0 0 1 .376-.29c2.855-1.026 3.748-3.562 3.87-5.49.035-.516.297-.765.738-.765H13.4a.451.451 0 0 1 .33.134.468.468 0 0 1 .137.333V5.87h3.823c.121 0 .238.05.324.137a.472.472 0 0 1 .134.33v3.83a.472.472 0 0 1-.134.33.454.454 0 0 1-.324.138h-3.84v6.245c0 1.568 1.015 2.001 1.64 2.001a4.537 4.537 0 0 0 1.488-.321.973.973 0 0 1 .595-.106.483.483 0 0 1 .34.37l1.012 3.014c.068.237.14.498-.03.68z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_66_158"},n.default.createElement("rect",{width:"24",height:"24"}))))};yf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lf=["color","size"],Tf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_67_11)"},n.default.createElement("g",{clipPath:"url(#clip1_67_11)"},n.default.createElement("path",{d:"M0 12c0 5.123 3.211 9.497 7.73 11.218-.11-.937-.227-2.482.025-3.566.217-.932 1.401-5.938 1.401-5.938s-.357-.715-.357-1.774c0-1.66.962-2.9 2.161-2.9 1.02 0 1.512.765 1.512 1.682 0 1.025-.653 2.557-.99 3.978-.281 1.189.597 2.159 1.769 2.159 2.123 0 3.756-2.239 3.756-5.471 0-2.861-2.056-4.86-4.991-4.86-3.398 0-5.393 2.549-5.393 5.184 0 1.027.395 2.127.889 2.726a.36.36 0 0 1 .083.343c-.091.378-.293 1.189-.332 1.355-.053.218-.173.265-.4.159-1.492-.694-2.424-2.875-2.424-4.627 0-3.769 2.737-7.229 7.892-7.229 4.144 0 7.365 2.953 7.365 6.899 0 4.117-2.595 7.431-6.199 7.431-1.211 0-2.348-.63-2.738-1.373 0 0-.599 2.282-.744 2.84-.282 1.084-1.064 2.456-1.549 3.235C9.584 23.815 10.77 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0 0 5.373 0 12z"}))),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_67_11"},n.default.createElement("rect",{width:"24",height:"24"})),n.default.createElement("clipPath",{id:"clip1_67_11"},n.default.createElement("rect",{width:"24",height:"24"}))))};Tf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Cf=["color","size"],bf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Cf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.45 5.948c.166-.546 0-.948-.795-.948H20.03c-.668 0-.976.347-1.143.73 0 0-1.335 3.196-3.226 5.272-.612.602-.89.793-1.224.793-.167 0-.418-.191-.418-.738V5.948c0-.656-.184-.948-.74-.948H9.151c-.417 0-.668.304-.668.593 0 .621.946.765 1.043 2.513v3.798c0 .833-.153.984-.487.984-.89 0-3.055-3.211-4.34-6.885C4.45 5.288 4.198 5 3.527 5H.9c-.75 0-.9.347-.9.73 0 .682.89 4.07 4.145 8.551C6.315 17.341 9.37 19 12.153 19c1.669 0 1.875-.368 1.875-1.003v-2.313c0-.737.158-.884.687-.884.39 0 1.057.192 2.615 1.667C19.11 18.216 19.403 19 20.405 19h2.625c.75 0 1.126-.368.91-1.096-.238-.724-1.088-1.775-2.215-3.022-.612-.71-1.53-1.475-1.809-1.858-.389-.491-.278-.71 0-1.147 0 0 3.2-4.426 3.533-5.929z"}))};bf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Of=["color","size"],Bf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Of);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_100_7)"},n.default.createElement("path",{d:"M23.5 6.507a2.786 2.786 0 0 0-.766-1.27 3.05 3.05 0 0 0-1.338-.742C19.518 4 11.994 4 11.994 4a76.624 76.624 0 0 0-9.39.47 3.16 3.16 0 0 0-1.338.76c-.37.356-.638.795-.778 1.276A29.09 29.09 0 0 0 0 12c-.012 1.841.151 3.68.488 5.494.137.479.404.916.775 1.269.371.353.833.608 1.341.743 1.903.494 9.39.494 9.39.494a76.8 76.8 0 0 0 9.402-.47 3.05 3.05 0 0 0 1.338-.742c.37-.353.633-.792.765-1.27A28.38 28.38 0 0 0 24 12.023a26.579 26.579 0 0 0-.5-5.517zM9.602 15.424V8.577l6.26 3.424-6.26 3.423z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_100_7"},n.default.createElement("rect",{width:"24",height:"24"}))))};Bf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jf=["color","size"],Wf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.465 1.066C8.638 1.012 9.012 1 12 1c2.988 0 3.362.013 4.534.066 1.172.053 1.972.24 2.672.511.733.277 1.398.71 1.948 1.27.56.549.992 1.213 1.268 1.947.272.7.458 1.5.512 2.67C22.988 8.639 23 9.013 23 12c0 2.988-.013 3.362-.066 4.535-.053 1.17-.24 1.97-.512 2.67a5.396 5.396 0 0 1-1.268 1.949c-.55.56-1.215.992-1.948 1.268-.7.272-1.5.458-2.67.512-1.174.054-1.548.066-4.536.066-2.988 0-3.362-.013-4.535-.066-1.17-.053-1.97-.24-2.67-.512a5.397 5.397 0 0 1-1.949-1.268 5.392 5.392 0 0 1-1.269-1.948c-.271-.7-.457-1.5-.511-2.67C1.012 15.361 1 14.987 1 12c0-2.988.013-3.362.066-4.534.053-1.172.24-1.972.511-2.672a5.396 5.396 0 0 1 1.27-1.948 5.392 5.392 0 0 1 1.947-1.269c.7-.271 1.5-.457 2.67-.511zm8.98 1.98c-1.16-.053-1.508-.064-4.445-.064-2.937 0-3.285.011-4.445.064-1.073.049-1.655.228-2.043.379-.513.2-.88.437-1.265.822a3.412 3.412 0 0 0-.822 1.265c-.151.388-.33.97-.379 2.043-.053 1.16-.064 1.508-.064 4.445 0 2.937.011 3.285.064 4.445.049 1.073.228 1.655.379 2.043.176.477.457.91.822 1.265.355.365.788.646 1.265.822.388.151.97.33 2.043.379 1.16.053 1.507.064 4.445.064 2.938 0 3.285-.011 4.445-.064 1.073-.049 1.655-.228 2.043-.379.513-.2.88-.437 1.265-.822.365-.355.646-.788.822-1.265.151-.388.33-.97.379-2.043.053-1.16.064-1.508.064-4.445 0-2.937-.011-3.285-.064-4.445-.049-1.073-.228-1.655-.379-2.043-.2-.513-.437-.88-.822-1.265a3.413 3.413 0 0 0-1.265-.822c-.388-.151-.97-.33-2.043-.379zm-5.85 12.345a3.669 3.669 0 0 0 4-5.986 3.67 3.67 0 1 0-4 5.986zM8.002 8.002a5.654 5.654 0 1 1 7.996 7.996 5.654 5.654 0 0 1-7.996-7.996zm10.906-.814a1.337 1.337 0 1 0-1.89-1.89 1.337 1.337 0 0 0 1.89 1.89z"}))};Wf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Hf=["color","size"],Vf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Hf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_100_5)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.415 0C5.968 0 4 2.053 4 4.568c0 1.529.728 2.887 1.847 3.716A4.613 4.613 0 0 0 4 12c0 1.53.728 2.887 1.847 3.716A4.613 4.613 0 0 0 4 19.432C4 21.947 5.968 24 8.415 24c2.446 0 4.415-2.053 4.415-4.568V15.57a4.307 4.307 0 0 0 2.755.999C18.032 16.568 20 14.515 20 12c0-1.53-.727-2.887-1.847-3.716A4.613 4.613 0 0 0 20 4.568C20 2.053 18.032 0 15.585 0h-7.17zM5.659 4.568c0-1.591 1.242-2.865 2.756-2.865h2.755v5.73H8.415c-1.514 0-2.756-1.275-2.756-2.865zm9.926 2.864H12.83v-5.73h2.755c1.515 0 2.756 1.275 2.756 2.866 0 1.59-1.241 2.864-2.756 2.864zM5.66 12c0-1.59 1.242-2.865 2.756-2.865h2.755v5.73H8.415C6.9 14.865 5.659 13.59 5.659 12zm7.17 0c0-1.59 1.242-2.865 2.756-2.865 1.515 0 2.756 1.274 2.756 2.865 0 1.59-1.241 2.865-2.756 2.865-1.514 0-2.755-1.274-2.755-2.865zm-7.17 7.432c0-1.59 1.242-2.864 2.756-2.864h2.755v2.864c0 1.591-1.24 2.865-2.755 2.865-1.514 0-2.756-1.274-2.756-2.865z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_100_5"},n.default.createElement("rect",{width:"24",height:"24"}))))};Vf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Rf=["color","size"],Af=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Rf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_100_4)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_100_4"},n.default.createElement("rect",{width:"24",height:"24"}))))};Af.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _f=["color","size"],Pf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_f);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_331_272)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zM12.43 8.859c-1.167.485-3.5 1.49-6.998 3.014-.568.226-.866.447-.893.663-.046.366.412.51 1.034.705.085.027.173.054.263.084.613.199 1.437.432 1.865.441.389.008.823-.152 1.302-.48 3.268-2.207 4.955-3.322 5.061-3.346.075-.017.179-.039.249.024.07.062.063.18.056.212-.046.193-1.84 1.862-2.77 2.726-.29.269-.495.46-.537.504-.094.097-.19.19-.282.279-.57.548-.996.96.024 1.632.49.323.882.59 1.273.856.427.291.853.581 1.405.943.14.092.274.187.405.28.497.355.944.673 1.496.623.32-.03.652-.331.82-1.23.397-2.126 1.179-6.73 1.36-8.628a2.111 2.111 0 0 0-.02-.472.506.506 0 0 0-.172-.325c-.143-.117-.365-.142-.465-.14-.451.008-1.143.249-4.476 1.635z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_331_272"},n.default.createElement("rect",{width:"24",height:"24"}))))};Pf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sf=["color","size"],qf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M6 2l6 3.75L6 9.5 0 5.75 6 2zm12 0l6 3.75-6 3.75-6-3.75L18 2zM0 13.25L6 9.5l6 3.75L6 17l-6-3.75zM18 9.5l6 3.75L18 17l-6-3.75 6-3.75zM6 18.25l6-3.75 6 3.75L12 22l-6-3.75z"}))};qf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ff=["color","size"],If=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ff);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M21.456 10.154c.123.659.19 1.348.19 2.067 0 5.624-3.764 9.623-9.449 9.623A9.841 9.841 0 0 1 2.353 12a9.841 9.841 0 0 1 9.844-9.844c2.658 0 4.879.978 6.583 2.566l-2.775 2.775V7.49c-1.033-.984-2.344-1.489-3.808-1.489-3.248 0-5.888 2.744-5.888 5.993 0 3.248 2.64 5.998 5.888 5.998 2.947 0 4.953-1.685 5.365-3.999h-5.365v-3.839h9.26z"}))};If.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jf=["color","size"],Df=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_399_293)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 0C5.372 0 0 5.373 0 12s5.372 12 12 12c6.627 0 12-5.373 12-12S18.627 0 12 0zm.14 19.018c-3.868 0-7-3.14-7-7.018 0-3.878 3.132-7.018 7-7.018 1.89 0 3.47.697 4.682 1.829l-1.974 1.978v-.004c-.735-.702-1.667-1.062-2.708-1.062-2.31 0-4.187 1.956-4.187 4.273 0 2.315 1.877 4.277 4.187 4.277 2.096 0 3.522-1.202 3.816-2.852H12.14v-2.737h6.585c.088.47.135.96.135 1.474 0 4.01-2.677 6.86-6.72 6.86z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_399_293"},n.default.createElement("rect",{width:"24",height:"24"}))))};Df.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Gf=["color","size"],Kf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Gf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M17.532 15.106a1.003 1.003 0 1 1 .001-2.007 1.003 1.003 0 0 1 0 2.007zm-11.044 0a1.003 1.003 0 1 1 .001-2.007 1.003 1.003 0 0 1 0 2.007zm11.4-6.018l2.006-3.459a.413.413 0 1 0-.721-.407l-2.027 3.5a12.243 12.243 0 0 0-5.13-1.108c-1.85 0-3.595.398-5.141 1.098l-2.027-3.5a.413.413 0 1 0-.72.407l1.995 3.458C2.696 10.947.345 14.417 0 18.523h24c-.334-4.096-2.675-7.565-6.112-9.435z"}))};Kf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Nf=["color","size"],Qf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Nf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_399_390)"},n.default.createElement("path",{d:"M11.385 15.275c1.111-.004 3.54-.013 3.512-1.558-.027-1.58-2.36-1.485-3.497-1.438-.127.005-.24.01-.332.011l.052 2.987c.075-.002.165-.002.265-.002z"}),n.default.createElement("path",{d:"M11.267 10.922c.927-.001 2.95-.003 2.926-1.408-.026-1.437-1.969-1.352-2.918-1.31-.107.005-.2.009-.278.01l.047 2.709.223-.001z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.096 23.641c6.43 1.603 12.942-2.31 14.545-8.738C25.244 8.474 21.33 1.962 14.9.36 8.474-1.244 1.962 2.67.36 9.1c-1.603 6.428 2.31 12.94 8.737 14.542zm4.282-17.02c1.754.124 3.15.638 3.333 2.242.136 1.174-.344 1.889-1.123 2.303 1.3.288 2.125 1.043 1.995 2.771-.161 2.145-1.748 2.748-4.026 2.918l.038 2.25-1.356.025-.039-2.22c-.351.006-.711.01-1.084.008l.04 2.23-1.356.024-.04-2.254-.383.003c-.194.001-.39.002-.586.006l-1.766.03.241-1.624s1.004-.002.986-.017c.384-.008.481-.285.502-.459L8.693 11.3l.097-.002h.046a1.101 1.101 0 0 0-.144-.007l-.044-2.54c-.057-.274-.241-.59-.79-.58.015-.02-.986.017-.986.017L6.846 6.74l1.872-.032v.007c.281-.005.57-.015.863-.026l-.038-2.229 1.356-.023.038 2.184c.362-.013.726-.027 1.083-.033l-.038-2.17 1.357-.024.039 2.229z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_399_390"},n.default.createElement("rect",{width:"24",height:"24"}))))};Qf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uf=["color","size"],Xf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_399_388)"},n.default.createElement("path",{d:"M11.995 0C5.381 0 0 5.382 0 11.996 0 18.616 5.381 24 11.995 24 18.615 24 24 18.615 24 11.996 24 5.382 18.615 0 11.995 0zM5.908 16.404a14.548 14.548 0 0 1 4.238-.638c2.414 0 4.797.612 6.892 1.77.125.068.238.292.29.572.05.28.03.567-.052.716a.61.61 0 0 1-.834.24A13.107 13.107 0 0 0 6.277 18.03a.61.61 0 0 1-.771-.402c-.107-.35.114-1.13.402-1.224zm-.523-4.42a18.154 18.154 0 0 1 4.76-.635c2.894 0 5.767.7 8.31 2.026.179.09.31.244.37.432a.747.747 0 0 1-.052.578c-.227.444-.493.743-.66.743a.769.769 0 0 1-.35-.086 16.33 16.33 0 0 0-7.617-1.854 16.34 16.34 0 0 0-4.366.585.749.749 0 0 1-.92-.525c-.112-.422.145-1.16.525-1.264zM5.25 9.098a.88.88 0 0 1-1.073-.641c-.123-.498.188-1.076.64-1.19a22.365 22.365 0 0 1 5.328-.649c3.45 0 6.756.776 9.824 2.307a.888.888 0 0 1 .4 1.19c-.143.288-.453.598-.795.598a.924.924 0 0 1-.388-.087 20.026 20.026 0 0 0-9.041-2.126c-1.635 0-3.282.201-4.895.598z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_399_388"},n.default.createElement("rect",{width:"24",height:"24"}))))};Xf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yf=["color","size"],Zf=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yf);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M1.16 16.466c.049 0 .09-.039.098-.093l.27-2.022-.27-2.069c-.007-.054-.05-.093-.099-.093-.05 0-.094.04-.1.093l-.236 2.069.236 2.021c.006.055.05.094.1.094z"}),n.default.createElement("path",{d:"M.272 15.697c.048 0 .088-.036.095-.09l.209-1.256-.209-1.28c-.007-.053-.047-.09-.095-.09-.051 0-.09.037-.098.09L0 14.351l.174 1.256c.008.053.047.09.098.09z"}),n.default.createElement("path",{d:"M2.22 11.897a.122.122 0 0 0-.12-.114.12.12 0 0 0-.119.114l-.224 2.454.224 2.364a.12.12 0 0 0 .12.112.121.121 0 0 0 .12-.113l.254-2.363-.254-2.454z"}),n.default.createElement("path",{d:"M3.052 16.922a.143.143 0 0 0 .14-.132l.241-2.439-.24-2.522a.143.143 0 0 0-.141-.132.14.14 0 0 0-.14.133l-.213 2.521.212 2.439a.14.14 0 0 0 .141.133z"}),n.default.createElement("path",{d:"M4.01 16.962a.162.162 0 0 0 .162-.152l.226-2.459-.226-2.34a.162.162 0 0 0-.162-.151.16.16 0 0 0-.16.152l-.2 2.34.2 2.458a.16.16 0 0 0 .16.152z"}),n.default.createElement("path",{d:"M5.37 14.352l-.212-3.805a.184.184 0 0 0-.182-.173.183.183 0 0 0-.182.173l-.188 3.805.188 2.458a.183.183 0 0 0 .364 0l.212-2.458z"}),n.default.createElement("path",{d:"M5.951 16.987a.201.201 0 0 0 .201-.192v.002l.199-2.444-.199-4.676a.203.203 0 0 0-.405 0l-.174 4.676.175 2.443a.201.201 0 0 0 .203.19z"}),n.default.createElement("path",{d:"M6.931 9.076a.222.222 0 0 0-.223.212l-.162 5.065.162 2.418a.221.221 0 0 0 .223.211.22.22 0 0 0 .223-.211l.185-2.418-.185-5.065a.22.22 0 0 0-.223-.212z"}),n.default.createElement("path",{d:"M7.92 16.987a.24.24 0 0 0 .244-.232v.002l.17-2.404-.17-5.235a.24.24 0 0 0-.243-.232.238.238 0 0 0-.243.232l-.153 5.235.153 2.404c.002.129.11.23.243.23z"}),n.default.createElement("path",{d:"M8.918 16.985a.26.26 0 0 0 .263-.252v.002l.157-2.381-.157-5.103a.26.26 0 0 0-.263-.25.26.26 0 0 0-.264.25l-.138 5.103.139 2.38c.003.14.119.25.263.25z"}),n.default.createElement("path",{d:"M10.349 14.354l-.142-4.917a.28.28 0 0 0-.284-.27.28.28 0 0 0-.285.271l-.127 4.916.127 2.366a.28.28 0 0 0 .285.27.28.28 0 0 0 .284-.273v.003l.142-2.366z"}),n.default.createElement("path",{d:"M10.935 16.994c.165 0 .301-.13.304-.29l.129-2.349-.129-5.85a.301.301 0 0 0-.304-.291.303.303 0 0 0-.305.291l-.115 5.848.115 2.352c.003.158.14.289.305.289z"}),n.default.createElement("path",{d:"M11.944 7.664a.322.322 0 0 0-.327.31l-.133 6.382.134 2.315a.32.32 0 0 0 .325.308.32.32 0 0 0 .324-.311v.003l.146-2.315-.146-6.381a.32.32 0 0 0-.323-.311z"}),n.default.createElement("path",{d:"M12.866 16.996l8.181.004C22.678 17 24 15.732 24 14.167c0-1.564-1.322-2.832-2.953-2.832-.404 0-.79.079-1.142.22C19.672 9.003 17.44 7 14.718 7c-.665 0-1.314.126-1.887.339-.223.083-.283.168-.285.333v8.989a.349.349 0 0 0 .32.335z"}))};Zf.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $f=["color","size"],eh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$f);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_419_281)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.372.19c.38-.253.875-.253 1.256 0L23.492 7.4c.317.21.508.565.508.946v7.308c0 .38-.19.736-.508.947l-10.864 7.21c-.38.252-.875.252-1.256 0L.508 16.6A1.136 1.136 0 0 1 0 15.654V8.346c0-.38.19-.736.508-.947L11.372.19zm-9.1 10.273v3.058l2.288-1.54-2.288-1.518zm4.337 2.878L3.18 15.648l7.684 5.1v-4.583L6.61 13.341zm6.527 2.824v4.582l7.684-5.1-3.43-2.306-4.254 2.824zm6.303-4.183l2.29 1.54v-3.06l-2.29 1.52zm1.371-3.636l-3.41 2.263-4.264-2.868V3.253l7.674 5.093zm-9.946-5.093V7.74l-4.263 2.868L3.19 8.346l7.674-5.093zM12 9.715l-3.35 2.254L12 14.192l3.35-2.223L12 9.715z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_419_281"},n.default.createElement("rect",{width:"24",height:"24"}))))};eh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var th=["color","size"],rh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,th);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_615_275)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.415 14.382c-.298-.149-1.759-.867-2.031-.967-.272-.099-.47-.148-.669.15-.198.296-.767.966-.94 1.164-.174.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.019-.458.13-.606.134-.133.297-.347.446-.52.149-.174.198-.298.297-.497.1-.198.05-.371-.025-.52-.074-.149-.668-1.612-.916-2.207-.241-.579-.486-.5-.668-.51-.174-.008-.372-.01-.57-.01-.198 0-.52.074-.792.372-.273.297-1.04 1.016-1.04 2.479 0 1.462 1.064 2.875 1.213 3.074.149.198 2.095 3.2 5.076 4.487.71.306 1.263.489 1.694.625.712.227 1.36.195 1.872.118.57-.085 1.758-.719 2.006-1.413.247-.694.247-1.289.173-1.413-.074-.124-.272-.198-.57-.347zm-5.422 7.403h-.004a9.87 9.87 0 0 1-5.032-1.378l-.36-.214-3.742.982.999-3.648-.235-.374a9.861 9.861 0 0 1-1.511-5.26c.002-5.45 4.436-9.884 9.889-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.892 6.993c-.002 5.45-4.436 9.885-9.884 9.885zm8.412-18.297A11.815 11.815 0 0 0 11.992 0C5.438 0 .102 5.335.1 11.892c-.001 2.096.546 4.142 1.587 5.945L0 24l6.304-1.654a11.881 11.881 0 0 0 5.684 1.448h.005c6.554 0 11.89-5.335 11.892-11.893a11.821 11.821 0 0 0-3.48-8.413"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_615_275"},n.default.createElement("rect",{width:"24",height:"24"}))))};rh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var lh=["color","size"],oh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,lh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.429 8.969h3.714v1.85c.535-1.064 1.907-2.02 3.968-2.02 3.951 0 4.889 2.118 4.889 6.004V22h-4v-6.312c0-2.213-.535-3.461-1.897-3.461-1.889 0-2.674 1.345-2.674 3.46V22h-4V8.969zM2.57 21.83h4V8.799h-4V21.83zM7.143 4.55a2.53 2.53 0 0 1-.753 1.802A2.573 2.573 0 0 1 4.57 7.1a2.59 2.59 0 0 1-1.818-.747A2.548 2.548 0 0 1 2 4.55c0-.677.27-1.325.753-1.803A2.583 2.583 0 0 1 4.571 2c.682 0 1.336.269 1.819.747.482.478.753 1.126.753 1.803z"}))};oh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ah=["color","size"],nh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ah);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M21.99 7.16c-.092 2.027-1.52 4.8-4.28 8.323C14.857 19.161 12.44 21 10.462 21c-1.225 0-2.26-1.122-3.106-3.359-.564-2.055-1.127-4.11-1.697-6.16-.627-2.237-1.3-3.359-2.025-3.359-.155 0-.707.33-1.645.98L1 7.837c1.035-.906 2.06-1.805 3.066-2.71 1.38-1.185 2.422-1.805 3.112-1.868 1.633-.153 2.64.951 3.02 3.325.408 2.556.69 4.15.851 4.77.472 2.124.99 3.183 1.553 3.183.437 0 1.099-.688 1.979-2.066.88-1.378 1.351-2.425 1.415-3.143.126-1.19-.345-1.782-1.415-1.782-.5 0-1.018.114-1.553.342 1.03-3.353 3.002-4.982 5.913-4.885 2.157.057 3.175 1.446 3.049 4.156z"}))};nh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ih=["color","size"],dh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ih);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M4.372 7.264a.784.784 0 0 0-.252-.658L2.252 4.339V4H8.05l4.482 9.905L16.472 4H22v.339L20.403 5.88a.472.472 0 0 0-.177.452v11.334a.472.472 0 0 0 .177.452l1.56 1.542V20h-7.844v-.339l1.616-1.58c.159-.16.159-.207.159-.451V8.468l-4.492 11.494h-.606L5.566 8.468v7.704c-.043.323.064.65.29.884l2.101 2.568v.338H2v-.338l2.1-2.568a1.03 1.03 0 0 0 .272-.884V7.264z"}))};dh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uh=["color","size"],ch=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_822_311)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zM6 16.2h9V9.6a1.8 1.8 0 0 0-1.8-1.8h-9v6.6A1.8 1.8 0 0 0 6 16.2zm10.2-2.4l3.6 2.4V7.8l-3.6 2.4v3.6z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_822_311"},n.default.createElement("rect",{width:"24",height:"24"}))))};ch.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sh=["color","size"],fh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.066 1a2.2 2.2 0 1 0 .001 4.4h2.2V3.2a2.202 2.202 0 0 0-2.2-2.2zm0 5.867H3.2a2.2 2.2 0 0 0 0 4.4h5.866a2.2 2.2 0 1 0 0-4.4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23 9.066a2.2 2.2 0 0 0-4.4 0v2.2h2.2a2.2 2.2 0 0 0 2.2-2.2zm-5.867 0V3.2a2.2 2.2 0 0 0-4.4 0v5.866a2.2 2.2 0 1 0 4.4 0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.933 23a2.2 2.2 0 1 0 0-4.4h-2.2v2.2c-.001 1.213.984 2.198 2.2 2.2zm0-5.868H20.8a2.2 2.2 0 0 0 0-4.4h-5.866a2.2 2.2 0 0 0-.001 4.4z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1 14.933a2.2 2.2 0 0 0 4.4 0v-2.2H3.2a2.2 2.2 0 0 0-2.2 2.2zm5.867 0v5.866a2.2 2.2 0 0 0 4.4.001v-5.866a2.2 2.2 0 0 0-4.4-.001z"}))};fh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hh=["color","size"],vh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M18.372 20.222v-5.358h1.79V22H4v-7.136h1.79v5.358h12.582z"}),n.default.createElement("path",{d:"M7.768 14.356l8.79 1.824.372-1.755L8.14 12.6l-.372 1.756zm1.162-4.157l8.14 3.764.744-1.617-8.14-3.787-.744 1.64zm2.256-3.973l6.907 5.705 1.14-1.363-6.907-5.704-1.14 1.362zM15.651 2L14.21 3.062l5.35 7.16L21 9.159 15.651 2zm-8.07 16.42h8.977v-1.778H7.581v1.778z"}))};vh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ph=["color","size"],gh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ph);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.547 1L1 4.776v15.433h5.5V23h3.093l2.922-2.791h4.47L23 14.462V1H2.547zm18.39 12.478l-3.438 3.283H12l-2.922 2.791v-2.79h-4.64V2.97h16.499v10.508zm-3.438-6.731v5.74h-2.062v-5.74H17.5zm-5.499 0v5.74H9.938v-5.74H12z"}))};gh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mh=["color","size"],wh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_822_337)"},n.default.createElement("path",{d:"M5.829 4.533c-.6 1.344-.363 3.752-.267 5.436-.648.359-1.48-.271-1.951-.271-.49 0-1.075.322-1.167.802-.066.346.089.85 1.201 1.289.43.17 1.453.37 1.69.928.333.784-1.71 4.403-4.918 4.931a.498.498 0 0 0-.416.519c.056.975 2.242 1.357 3.211 1.507.099.134.179.7.306 1.131.057.193.204.424.582.424.493 0 1.312-.38 2.738-.144 1.398.233 2.712 2.215 5.235 2.215 2.345 0 3.744-1.991 5.09-2.215.779-.129 1.448-.088 2.196.058.515.101.977.157 1.124-.349.129-.437.208-.992.305-1.123.96-.149 3.156-.53 3.211-1.505a.498.498 0 0 0-.416-.519c-3.154-.52-5.259-4.128-4.918-4.931.236-.557 1.252-.755 1.69-.928.814-.321 1.222-.716 1.213-1.173-.011-.585-.715-.934-1.233-.934-.527 0-1.284.624-1.897.286.096-1.698.332-4.095-.267-5.438C17.036 1.986 14.511.7 11.987.7 9.479.7 6.973 1.968 5.829 4.533z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_822_337"},n.default.createElement("rect",{width:"24",height:"24"}))))};wh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zh=["color","size"],Eh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M8.422 20.081c0 .896.01 1.753.016 2.285a.617.617 0 0 0 .422.58c2.078.686 4.317.718 6.414.091l.292-.087a.67.67 0 0 0 .478-.638c.005-.733.017-2.017.017-3.53 0-1.372-.477-2.25-1.031-2.707 3.399-.366 6.97-1.61 6.97-7.227 0-1.61-.592-2.91-1.566-3.934.153-.366.688-1.866-.153-3.878 0 0-1.28-.403-4.201 1.5a14.76 14.76 0 0 0-3.82-.494c-1.298 0-2.597.165-3.819.494C5.52.65 4.24 1.036 4.24 1.036c-.84 2.012-.306 3.512-.153 3.878a5.565 5.565 0 0 0-1.566 3.934c0 5.598 3.552 6.86 6.951 7.227-.439.366-.84 1.006-.973 1.957-.879.384-3.075 1.006-4.45-1.207-.286-.44-1.146-1.519-2.349-1.5-1.28.018-.516.695.02.97.648.347 1.393 1.646 1.565 2.067.306.823 1.299 2.396 5.137 1.72z"}))};Eh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var kh=["color","size"],xh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,kh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M20.317 4.492c-1.53-.69-3.17-1.2-4.885-1.49a.075.075 0 0 0-.079.036c-.21.369-.444.85-.608 1.23a18.566 18.566 0 0 0-5.487 0 12.36 12.36 0 0 0-.617-1.23A.077.077 0 0 0 8.562 3c-1.714.29-3.354.8-4.885 1.491a.07.07 0 0 0-.032.027C.533 9.093-.32 13.555.099 17.961a.08.08 0 0 0 .031.055 20.03 20.03 0 0 0 5.993 2.98.078.078 0 0 0 .084-.026c.462-.62.874-1.275 1.226-1.963.021-.04.001-.088-.041-.104a13.201 13.201 0 0 1-1.872-.878.075.075 0 0 1-.008-.125c.126-.093.252-.19.372-.287a.075.075 0 0 1 .078-.01c3.927 1.764 8.18 1.764 12.061 0a.075.075 0 0 1 .079.009c.12.098.245.195.372.288a.075.075 0 0 1-.006.125c-.598.344-1.22.635-1.873.877a.075.075 0 0 0-.041.105c.36.687.772 1.341 1.225 1.962a.077.077 0 0 0 .084.028 19.963 19.963 0 0 0 6.002-2.981.076.076 0 0 0 .032-.054c.5-5.094-.838-9.52-3.549-13.442a.06.06 0 0 0-.031-.028zM8.02 15.278c-1.182 0-2.157-1.069-2.157-2.38 0-1.312.956-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.956 2.38-2.157 2.38zm7.975 0c-1.183 0-2.157-1.069-2.157-2.38 0-1.312.955-2.38 2.157-2.38 1.21 0 2.176 1.077 2.157 2.38 0 1.312-.946 2.38-2.157 2.38z"}))};xh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mh=["color","size"],yh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_1599_271)"},n.default.createElement("path",{d:"M22 7h-7V5h7v2zm1.726 10c-.442 1.297-2.029 3-5.101 3-3.074 0-5.564-1.729-5.564-5.675 0-3.91 2.325-5.92 5.466-5.92 3.082 0 4.964 1.782 5.375 4.426.078.506.109 1.188.095 2.14H15.97c.13 3.211 3.483 3.312 4.588 2.029h3.168zm-7.686-4h4.965c-.105-1.547-1.136-2.219-2.477-2.219-1.466 0-2.277.768-2.488 2.219zm-9.574 6.988H0V5.021h6.953c5.476.081 5.58 5.444 2.72 6.906 3.461 1.26 3.577 8.061-3.207 8.061zM3 11h3.584c2.508 0 2.906-3-.312-3H3v3zm3.391 3H3v3.016h3.341c3.055 0 2.868-3.016.05-3.016z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_1599_271"},n.default.createElement("rect",{width:"24",height:"24"}))))};yh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lh=["color","size"],Th=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M16.805 1a9.85 9.85 0 0 0-2.603.37l-.06.018a10.629 10.629 0 0 0-1.615-.151c-1.113-.019-2.07.243-2.84.68-.76-.256-2.336-.697-3.997-.609-1.157.061-2.419.402-3.354 1.36-.933.958-1.426 2.44-1.322 4.457.028.557.191 1.464.463 2.64.27 1.175.652 2.55 1.127 3.805.475 1.256.996 2.384 1.81 3.15.406.384.965.707 1.624.68.463-.018.882-.215 1.243-.506.176.225.364.323.535.414.215.114.425.192.642.244.39.094 1.059.22 1.84.091.267-.043.548-.127.828-.247.01.302.022.598.035.898.038.95.063 1.827.357 2.596.047.126.176.773.687 1.344.51.572 1.51.928 2.648.692.803-.167 1.825-.468 2.503-1.404.67-.926.973-2.255 1.033-4.409.015-.116.033-.215.052-.308l.16.014h.018c.857.038 1.787-.08 2.564-.43.688-.31 1.208-.622 1.587-1.177.095-.137.199-.303.227-.59.028-.285-.14-.733-.421-.939-.563-.414-.916-.257-1.295-.18-.373.08-.753.124-1.136.133 1.093-1.784 1.876-3.68 2.323-5.358.264-.99.413-1.903.425-2.701.012-.798-.055-1.505-.548-2.117-1.541-1.91-3.708-2.438-5.384-2.456-.052-.001-.104-.002-.156-.001V1zm-.044.587c1.585-.015 3.611.417 5.065 2.22.327.405.424.997.413 1.727-.012.729-.151 1.601-.405 2.557-.493 1.852-1.425 4.01-2.738 5.948a.724.724 0 0 0 .15.079c.274.11.898.204 2.145-.044.313-.065.543-.108.781.068a.478.478 0 0 1 .173.39.635.635 0 0 1-.123.308c-.24.351-.716.684-1.326.958-.539.244-1.313.371-1.999.379-.344.003-.661-.023-.93-.104l-.018-.006c-.104.971-.343 2.89-.498 3.765-.125.706-.343 1.267-.76 1.687-.416.42-1.004.673-1.796.838-.981.204-1.696-.016-2.157-.393-.46-.375-.671-.874-.798-1.18-.087-.21-.132-.483-.176-.848a18.073 18.073 0 0 1-.097-1.315 45.725 45.725 0 0 1-.028-2.313c-.41.364-.92.606-1.467.697-.65.107-1.232.002-1.579-.082a2.19 2.19 0 0 1-.49-.185c-.162-.083-.315-.177-.417-.363a.5.5 0 0 1-.054-.35.559.559 0 0 1 .206-.303c.188-.148.435-.23.808-.306.68-.135.917-.228 1.061-.339.123-.095.262-.287.508-.57a1.166 1.166 0 0 1-.003-.037 2.864 2.864 0 0 1-1.257-.329c-.141.145-.865.888-1.748 1.918-.371.431-.781.678-1.214.696-.433.018-.824-.194-1.156-.506-.665-.626-1.195-1.703-1.657-2.92-.46-1.218-.836-2.574-1.102-3.729-.268-1.155-.426-2.086-.448-2.535-.1-1.909.36-3.195 1.15-4.006.79-.811 1.872-1.118 2.928-1.177 1.894-.106 3.693.535 4.057.673.701-.462 1.604-.75 2.733-.732a7.185 7.185 0 0 1 1.588.2l.019-.008c.229-.078.462-.144.698-.196a9.362 9.362 0 0 1 1.957-.23v-.002zm.143.614h-.137a8.502 8.502 0 0 0-1.61.176 7.048 7.048 0 0 1 2.692 2.062c.435.539.795 1.13 1.07 1.76.104.242.174.447.213.605.02.08.034.147.038.217a.392.392 0 0 1-.011.132l-.006.012c.029.803-.176 1.347-.201 2.113-.019.556.127 1.209.163 1.92.034.67-.049 1.405-.497 2.127.038.044.072.088.108.132 1.185-1.81 2.04-3.814 2.495-5.521.243-.92.373-1.753.384-2.413.01-.66-.117-1.139-.279-1.338-1.268-1.573-2.983-1.974-4.422-1.985zm-4.525.235c-1.117.002-1.919.33-2.526.82-.627.507-1.047 1.2-1.323 1.911a7.898 7.898 0 0 0-.485 2.213l.013-.007c.337-.184.78-.367 1.254-.473.475-.106.986-.139 1.449.035.463.175.846.584.985 1.206.665 2.986-.207 4.096-.529 4.933a8.628 8.628 0 0 0-.313.929c.041-.01.082-.02.122-.024a1.06 1.06 0 0 1 .51.1c.324.13.546.402.666.714.031.082.054.17.067.26.014.038.02.077.019.117a49.059 49.059 0 0 0 .012 3.426c.022.494.054.928.095 1.271.04.342.098.602.135.69.12.294.297.678.617.939.32.26.777.434 1.614.26.726-.151 1.174-.36 1.474-.663.298-.301.477-.72.591-1.363.171-.963.515-3.754.556-4.28-.018-.395.042-.7.172-.932.135-.238.343-.384.522-.463.09-.04.174-.066.243-.085a5.487 5.487 0 0 0-.23-.298 4.065 4.065 0 0 1-.629-1.007 7.578 7.578 0 0 0-.243-.443c-.125-.22-.284-.495-.45-.804-.333-.619-.695-1.369-.883-2.1-.187-.729-.215-1.484.265-2.017.426-.473 1.172-.669 2.293-.559-.033-.096-.053-.176-.109-.304a7.125 7.125 0 0 0-.983-1.617c-.95-1.178-2.487-2.346-4.863-2.384h-.108v-.001zm-6.276.047c-.12 0-.24.004-.36.01-.954.053-1.856.322-2.501.986-.647.663-1.072 1.751-.98 3.553.019.34.172 1.296.434 2.43.262 1.136.634 2.471 1.08 3.65.446 1.18.988 2.207 1.502 2.693.259.243.484.341.688.333.205-.01.451-.124.753-.475a40.03 40.03 0 0 1 1.71-1.877 3.206 3.206 0 0 1-.932-1.307 3.116 3.116 0 0 1-.17-1.58c.097-.678.11-1.312.099-1.812-.012-.488-.048-.812-.048-1.015V8.044c-.001-1.056.188-2.103.559-3.095.264-.682.658-1.375 1.249-1.936-.58-.185-1.61-.467-2.725-.52a7.4 7.4 0 0 0-.36-.01h.002zm11.714 4.842c-.641.008-1.001.169-1.19.379-.268.298-.293.82-.127 1.464.165.644.507 1.365.829 1.963.16.3.316.57.442.788.127.22.22.376.276.51.052.122.11.23.168.331.248-.509.293-1.008.267-1.529-.033-.644-.187-1.303-.164-1.97.025-.78.184-1.289.198-1.892a5.639 5.639 0 0 0-.699-.044zm-7.78.105a2.743 2.743 0 0 0-.582.068 4.49 4.49 0 0 0-1.09.412c-.115.06-.226.13-.33.209l-.02.018c.006.134.033.459.045.936.01.523-.002 1.19-.106 1.91-.226 1.568.946 2.866 2.324 2.868.08-.322.213-.648.345-.992.384-1.003 1.139-1.734.503-4.589-.104-.467-.31-.656-.594-.763a1.431 1.431 0 0 0-.495-.077zm7.48.187h.048c.062.002.12.009.17.02a.396.396 0 0 1 .13.051.153.153 0 0 1 .071.1v.008a.215.215 0 0 1-.034.124.614.614 0 0 1-.104.137.646.646 0 0 1-.364.195.57.57 0 0 1-.388-.095.569.569 0 0 1-.123-.108.235.235 0 0 1-.06-.116.151.151 0 0 1 .04-.118.361.361 0 0 1 .111-.082 1.256 1.256 0 0 1 .504-.118v.002zm-7.388.154c.05 0 .103.005.157.012.144.02.273.057.371.112.048.025.09.057.126.097.019.022.033.046.042.073.009.027.012.055.009.083a.274.274 0 0 1-.071.141.608.608 0 0 1-.135.12.619.619 0 0 1-.424.103.694.694 0 0 1-.396-.209.652.652 0 0 1-.112-.15.25.25 0 0 1-.039-.162c.014-.1.099-.15.18-.18a.842.842 0 0 1 .29-.036l.002-.004zm8.56 6.732h-.003c-.139.05-.253.07-.35.11a.423.423 0 0 0-.225.197c-.06.105-.11.292-.095.61a.49.49 0 0 0 .14.064c.161.048.432.08.735.075.602-.007 1.344-.143 1.738-.321.323-.146.623-.336.891-.564-1.317.264-2.06.194-2.517.011a1.247 1.247 0 0 1-.314-.183zm-7.588.086h-.02c-.05.004-.123.02-.263.172-.33.358-.444.582-.716.792-.27.21-.623.321-1.327.461-.223.044-.35.093-.436.132.028.022.025.028.066.049.103.055.236.103.342.13.303.073.8.159 1.319.073.518-.086 1.058-.327 1.518-.953.08-.108.088-.268.023-.44-.067-.17-.211-.318-.313-.36a.632.632 0 0 0-.193-.054v-.002z"}))};Th.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ch=["color","size"],bh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ch);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12.158 0c-3.068.025-6.02.357-7.74 1.147 0 0-3.41 1.526-3.41 6.733 0 1.192-.024 2.617.014 4.129.123 5.091.933 10.11 5.64 11.355 2.171.575 4.035.695 5.535.613 2.722-.151 4.25-.972 4.25-.972l-.09-1.974s-1.945.613-4.13.538c-2.163-.074-4.448-.233-4.798-2.89a5.448 5.448 0 0 1-.048-.745s2.124.519 4.816.642c1.647.076 3.19-.096 4.759-.283 3.007-.36 5.625-2.212 5.954-3.905.519-2.667.476-6.508.476-6.508 0-5.207-3.411-6.733-3.411-6.733C18.255.357 15.302.025 12.233 0h-.075zM8.686 4.068c1.278 0 2.245.491 2.885 1.474l.622 1.043.623-1.043c.64-.983 1.607-1.474 2.885-1.474 1.105 0 1.995.388 2.675 1.146.658.757.986 1.781.986 3.07v6.303h-2.497V8.47c0-1.29-.543-1.945-1.628-1.945-1.2 0-1.802.777-1.802 2.313v3.349h-2.483v-3.35c0-1.535-.601-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.945v6.118H5.024V8.283c0-1.288.328-2.312.987-3.07.68-.757 1.57-1.145 2.675-1.145z"}))};bh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Oh=["color","size"],Bh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Oh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M19.321 5.562a5.124 5.124 0 0 1-.443-.258 6.228 6.228 0 0 1-1.137-.966c-.849-.971-1.166-1.956-1.282-2.645h.004c-.097-.573-.057-.943-.05-.943h-3.865v14.943c0 .2 0 .399-.008.595 0 .024-.003.046-.004.073 0 .01 0 .022-.003.033v.009a3.28 3.28 0 0 1-1.65 2.604 3.226 3.226 0 0 1-1.6.422c-1.8 0-3.26-1.468-3.26-3.281 0-1.814 1.46-3.282 3.26-3.282.341 0 .68.054 1.004.16l.005-3.936A7.178 7.178 0 0 0 4.76 10.71a7.583 7.583 0 0 0-1.655 2.04c-.163.281-.779 1.412-.853 3.246-.047 1.04.266 2.12.415 2.565v.01c.093.262.457 1.158 1.049 1.913a7.856 7.856 0 0 0 1.674 1.58v-.01l.009.01c1.87 1.27 3.945 1.187 3.945 1.187.359-.015 1.562 0 2.928-.647 1.515-.718 2.377-1.787 2.377-1.787a7.43 7.43 0 0 0 1.296-2.153c.35-.92.466-2.022.466-2.462V8.273c.047.028.672.441.672.441s.9.577 2.303.952c1.006.267 2.363.324 2.363.324V6.153c-.475.052-1.44-.098-2.429-.59z"}))};Bh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jh=["color","size"],Wh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.25 2h7.5v5.625h-7.5V2zM2 10.75h6.268v5.675h7.517V10.75H22V22H2V10.75z"}))};Wh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Hh=["color","size"],Vh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Hh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_2601_269)"},n.default.createElement("path",{d:"M15.402 10.2c0 .992-.808 1.8-1.8 1.8H10.2V8.4h3.402c.992 0 1.8.808 1.8 1.8zM24 12c0 6.629-5.371 12-12 12S0 18.629 0 12 5.371 0 12 0s12 5.371 12 12zm-6.198-1.8c0-2.318-1.883-4.2-4.2-4.2H7.8v12h2.4v-3.6h3.402c2.317 0 4.2-1.882 4.2-4.2z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_2601_269"},n.default.createElement("rect",{width:"24",height:"24"}))))};Vh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Rh=["color","size"],Ah=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Rh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.98 11.264l4.701 2.278a1.075 1.075 0 0 1 .6 1.074 1.066 1.066 0 0 1-.81.927L4.393 16.8a1.088 1.088 0 0 1-1.187-.492 1.069 1.069 0 0 1-.146-.429 9.159 9.159 0 0 1 .424-3.996 1.07 1.07 0 0 1 .606-.645 1.085 1.085 0 0 1 .888.026z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.862 20.879l3.5-3.861a1.08 1.08 0 0 1 1.205-.277 1.076 1.076 0 0 1 .673 1.03l-.183 5.195a1.066 1.066 0 0 1-.396.793 1.083 1.083 0 0 1-.861.226 9.401 9.401 0 0 1-3.748-1.506 1.074 1.074 0 0 1-.46-.758 1.065 1.065 0 0 1 .27-.842z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.16 15.74l4.975 1.606a1.08 1.08 0 0 1 .657.596 1.064 1.064 0 0 1-.017.884 9.312 9.312 0 0 1-2.487 3.166 1.082 1.082 0 0 1-1.602-.258l-2.773-4.408a1.065 1.065 0 0 1 .065-1.226 1.078 1.078 0 0 1 1.182-.36z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.219 12.588l-5.029 1.433a1.085 1.085 0 0 1-1.169-.4A1.065 1.065 0 0 1 14 12.393l2.926-4.308a1.075 1.075 0 0 1 .755-.464 1.085 1.085 0 0 1 .85.257 9.222 9.222 0 0 1 2.379 3.25 1.069 1.069 0 0 1-.691 1.46z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.469.468a15.12 15.12 0 0 0-2.585.946 1.077 1.077 0 0 0-.564.65 1.063 1.063 0 0 0 .097.851l4.915 8.456a1.076 1.076 0 0 0 1.212.499 1.066 1.066 0 0 0 .799-1.034V1.072A1.065 1.065 0 0 0 11.622.06a1.084 1.084 0 0 0-.437-.057c-.918.072-1.826.228-2.715.465z"}))};Ah.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _h=["color","size"],Ph=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_h);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M13.808 10.469L20.88 2h-1.676l-6.142 7.353L8.158 2H2.5l7.418 11.12L2.5 22h1.676l6.486-7.765L15.842 22H21.5l-7.693-11.531zm-2.296 2.748l-.752-1.107L4.78 3.3h2.575l4.826 7.11.751 1.107 6.273 9.242h-2.574l-5.12-7.541z"}))};Ph.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sh=["color","size"],qh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M17.692 11.123a8.547 8.547 0 0 0-.315-.142c-.185-3.414-2.05-5.368-5.182-5.388h-.042c-1.873 0-3.431.8-4.39 2.255l1.722 1.181c.716-1.087 1.84-1.318 2.669-1.318h.028c1.031.006 1.81.306 2.313.89.367.426.612 1.015.733 1.757a13.176 13.176 0 0 0-2.96-.143c-2.977.172-4.892 1.909-4.763 4.322.065 1.223.675 2.277 1.717 2.964.88.582 2.015.866 3.194.802 1.558-.085 2.78-.68 3.632-1.766.647-.825 1.056-1.894 1.237-3.241.742.448 1.292 1.037 1.596 1.745.516 1.205.546 3.184-1.068 4.797-1.415 1.414-3.116 2.025-5.686 2.044-2.851-.02-5.008-.935-6.41-2.717-1.313-1.67-1.991-4.08-2.016-7.165.025-3.085.703-5.496 2.016-7.165 1.402-1.782 3.558-2.696 6.41-2.717 2.871.02 5.065.94 6.521 2.73.714.879 1.252 1.983 1.607 3.27l2.018-.538c-.43-1.585-1.107-2.95-2.027-4.083C18.38 1.2 15.65.024 12.134 0h-.014C8.61.024 5.912 1.205 4.099 3.51c-1.614 2.05-2.446 4.904-2.474 8.482v.016c.028 3.578.86 6.431 2.474 8.482 1.813 2.305 4.511 3.486 8.02 3.51h.015c3.12-.022 5.319-.838 7.13-2.649 2.371-2.368 2.3-5.336 1.518-7.158-.56-1.307-1.629-2.368-3.09-3.07zm-5.387 5.065c-1.305.074-2.66-.512-2.728-1.766-.05-.93.662-1.969 2.808-2.092.246-.015.487-.021.724-.021.78 0 1.508.075 2.171.22-.247 3.088-1.697 3.59-2.975 3.66z"}))};qh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fh=["color","size"],Ih=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"10"}))};Ih.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jh=["color","size"],Dh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("circle",{cx:"12",cy:"12",r:"11"}))};Dh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Gh=["color","size"],Kh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Gh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.293 4.793c.78-1.277 2.634-1.277 3.414 0l7.433 12.164C21.955 18.29 20.996 20 19.434 20H4.566c-1.562 0-2.52-1.71-1.706-3.043l7.433-12.164z"}))};Kh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Nh=["color","size"],Qh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Nh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M10.285 3.858c.777-1.294 2.653-1.294 3.43 0l8.468 14.113c.8 1.333-.16 3.029-1.715 3.029H3.532c-1.554 0-2.514-1.696-1.715-3.029l8.468-14.113z"}))};Qh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uh=["color","size"],Xh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}))};Xh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yh=["color","size"],Zh=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yh);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("rect",{x:"2",y:"2",width:"20",height:"20",rx:"2"}))};Zh.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $h=["color","size"],ev=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$h);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M3.575 13.388a1.962 1.962 0 0 1 0-2.776l7.037-7.037a1.962 1.962 0 0 1 2.776 0l7.037 7.037a1.963 1.963 0 0 1 0 2.776l-7.037 7.037a1.963 1.963 0 0 1-2.776 0l-7.037-7.037z"}))};ev.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var tv=["color","size"],rv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,tv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M10.61 2.576a1.966 1.966 0 0 1 2.78 0l8.034 8.034a1.966 1.966 0 0 1 0 2.78l-8.034 8.034a1.966 1.966 0 0 1-2.78 0L2.576 13.39a1.966 1.966 0 0 1 0-2.78l8.034-8.034z"}))};rv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var lv=["color","size"],ov=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,lv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M10.75 3a2 2 0 0 1 2.5 0l7.63 6.103a2 2 0 0 1 .63 2.246l-3.031 8.334A2 2 0 0 1 16.599 21H7.401a2 2 0 0 1-1.88-1.317l-3.03-8.334a2 2 0 0 1 .63-2.246L10.75 3z"}))};ov.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var av=["color","size"],nv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,av);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.126 2.219a3 3 0 0 1 3.748 0l7.63 6.104a3 3 0 0 1 .945 3.367l-3.03 8.335A3 3 0 0 1 16.599 22H7.401a3 3 0 0 1-2.82-1.975l-3.03-8.334a3 3 0 0 1 .945-3.368l7.63-6.104z"}))};nv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var iv=["color","size"],dv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,iv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.029 2.54a2 2 0 0 1 1.942 0l7 3.888A2 2 0 0 1 21 8.177v7.646a2 2 0 0 1-1.029 1.748l-7 3.89a2 2 0 0 1-1.942 0l-7-3.89A2 2 0 0 1 3 15.824V8.177a2 2 0 0 1 1.029-1.749l7-3.888z"}))};dv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var uv=["color","size"],cv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,uv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M11.036 1.53a2 2 0 0 1 1.928 0l8 4.4A2 2 0 0 1 22 7.683v8.634a2 2 0 0 1-1.036 1.753l-8 4.4a2 2 0 0 1-1.928 0l-8-4.4A2 2 0 0 1 2 16.317V7.683A2 2 0 0 1 3.036 5.93l8-4.4z"}))};cv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sv=["color","size"],fv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.114 2.438a2 2 0 0 1 1.772 0l6.275 3.1a2 2 0 0 1 1.066 1.358l1.569 7.047a2 2 0 0 1-.374 1.662l-4.371 5.623a2 2 0 0 1-1.579.772H8.528a2 2 0 0 1-1.579-.772l-4.371-5.623a2 2 0 0 1-.374-1.662l1.569-7.047a2 2 0 0 1 1.066-1.359l6.275-3.1z"}))};fv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hv=["color","size"],vv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M11.114 1.438a2 2 0 0 1 1.772 0l7.077 3.495a2 2 0 0 1 1.066 1.359l1.767 7.937a2 2 0 0 1-.374 1.662l-4.926 6.337a2 2 0 0 1-1.579.772H8.083a2 2 0 0 1-1.579-.772L1.578 15.89a2 2 0 0 1-.374-1.662l1.767-7.937a2 2 0 0 1 1.066-1.359l7.077-3.495z"}))};vv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pv=["color","size"],gv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M11.235 2.317a2 2 0 0 1 1.53 0l5.54 2.295a2 2 0 0 1 1.083 1.082l2.295 5.54a2 2 0 0 1 0 1.531l-2.295 5.54a2 2 0 0 1-1.082 1.083l-5.54 2.295a2 2 0 0 1-1.531 0l-5.54-2.295a2 2 0 0 1-1.083-1.082l-2.295-5.54a2 2 0 0 1 0-1.531l2.295-5.54a2 2 0 0 1 1.082-1.083l5.54-2.295z"}))};gv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var mv=["color","size"],wv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,mv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M11.235 1.317a2 2 0 0 1 1.53 0l6.248 2.588a2 2 0 0 1 1.082 1.082l2.588 6.248a2 2 0 0 1 0 1.53l-2.588 6.248a2 2 0 0 1-1.082 1.082l-6.248 2.588a2 2 0 0 1-1.53 0l-6.248-2.588a2 2 0 0 1-1.082-1.082l-2.588-6.248a2 2 0 0 1 0-1.53l2.588-6.248a2 2 0 0 1 1.082-1.082l6.248-2.588z"}))};wv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var zv=["color","size"],Ev=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,zv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("ellipse",{cx:"12",cy:"12",rx:"8",ry:"10"}))};Ev.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var kv=["color","size"],xv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,kv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M5.586 6.45A2 2 0 0 1 7.509 5h11.84a2 2 0 0 1 1.923 2.55l-2.858 10A2 2 0 0 1 16.491 19H4.651a2 2 0 0 1-1.923-2.55l2.858-10z"}))};xv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Mv=["color","size"],yv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Mv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},a),n.default.createElement("path",{d:"M4.511 13.542c-.681-.852-.681-2.232 0-3.084l6.256-7.82c.68-.85 1.785-.85 2.466 0l6.256 7.82c.681.852.681 2.232 0 3.084l-6.256 7.82c-.68.85-1.785.85-2.466 0l-6.256-7.82z"}))};yv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Lv=["color","size"],Tv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Lv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.985 2c-1.37 0-2.383 1.199-2.337 2.498.043 1.25-.013 2.867-.42 4.186-.41 1.322-1.1 2.16-2.228 2.268v1.215c1.128.107 1.819.945 2.227 2.268.408 1.319.464 2.936.42 4.185-.045 1.3.968 2.499 2.338 2.499h14.032c1.37 0 2.383-1.199 2.337-2.499-.043-1.249.013-2.866.42-4.185.409-1.323 1.098-2.16 2.226-2.268v-1.215c-1.128-.108-1.817-.946-2.226-2.268-.407-1.32-.463-2.937-.42-4.186C21.4 3.198 20.386 2 19.017 2H4.985zM16.27 13.769c0 1.79-1.335 2.875-3.55 2.875H8.949a.407.407 0 0 1-.407-.407V6.881a.407.407 0 0 1 .407-.406h3.75c1.847 0 3.06 1 3.06 2.537 0 1.078-.816 2.043-1.855 2.213v.056c1.415.155 2.367 1.135 2.367 2.488zM12.31 7.764h-2.15v3.038h1.811c1.4 0 2.172-.564 2.172-1.572 0-.944-.664-1.466-1.833-1.466zm-2.15 4.243v3.347h2.23c1.457 0 2.23-.585 2.23-1.684 0-1.1-.794-1.663-2.324-1.663h-2.136z"}))};Tv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Cv=["color","size"],bv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Cv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_642)"},n.default.createElement("path",{d:"M24 11.689c0-1.59-1.991-3.097-5.044-4.031.705-3.111.392-5.587-.988-6.38a2.145 2.145 0 0 0-1.096-.273v1.09c.225 0 .406.045.558.128.665.382.954 1.834.729 3.703-.054.46-.142.944-.25 1.438a23.706 23.706 0 0 0-3.106-.533 23.857 23.857 0 0 0-2.035-2.446c1.595-1.482 3.092-2.294 4.11-2.294V1c-1.346 0-3.107.959-4.888 2.622C10.21 1.97 8.448 1.02 7.103 1.02v1.09c1.013 0 2.515.808 4.11 2.28-.685.72-1.37 1.536-2.021 2.441a22.844 22.844 0 0 0-3.111.538c-.113-.489-.196-.963-.255-1.418-.23-1.87.054-3.322.715-3.708.146-.088.337-.128.562-.128v-1.09c-.41 0-.783.088-1.105.273-1.375.793-1.683 3.263-.974 6.365C1.981 8.603 0 10.104 0 11.689c0 1.59 1.991 3.097 5.044 4.03-.705 3.112-.392 5.588.988 6.38.318.186.69.274 1.1.274 1.346 0 3.107-.959 4.888-2.622 1.78 1.653 3.541 2.602 4.887 2.602a2.18 2.18 0 0 0 1.105-.274c1.375-.792 1.683-3.262.974-6.364C22.019 14.781 24 13.274 24 11.689zm-6.37-3.263a22.023 22.023 0 0 1-.66 1.932 26.444 26.444 0 0 0-1.345-2.319c.695.103 1.365.23 2.006.387zm-2.24 5.21c-.381.66-.773 1.287-1.179 1.869a25.453 25.453 0 0 1-4.412.005 25.457 25.457 0 0 1-2.201-3.806 26.064 26.064 0 0 1 2.192-3.82 25.455 25.455 0 0 1 4.411-.006c.406.582.803 1.204 1.184 1.86.372.64.71 1.29 1.018 1.946a27.41 27.41 0 0 1-1.013 1.952zM16.97 13c.264.655.49 1.311.675 1.947-.64.157-1.316.289-2.015.391A27.044 27.044 0 0 0 16.97 13zm-4.96 5.22c-.455-.47-.91-.993-1.36-1.566.44.02.89.035 1.345.035.46 0 .915-.01 1.36-.035-.44.573-.895 1.096-1.345 1.566zm-3.64-2.882a22.113 22.113 0 0 1-2.006-.386c.181-.631.406-1.282.66-1.932.201.39.412.782.642 1.174.23.391.464.773.704 1.144zm3.615-10.18c.455.47.91.993 1.36 1.566-.44-.02-.89-.035-1.345-.035-.46 0-.915.01-1.36.035.44-.573.895-1.096 1.345-1.566zM8.365 8.04a27.02 27.02 0 0 0-1.34 2.333 20.96 20.96 0 0 1-.675-1.947c.64-.152 1.316-.284 2.015-.386zm-4.427 6.124c-1.732-.738-2.852-1.707-2.852-2.475s1.12-1.742 2.852-2.475c.42-.181.88-.343 1.355-.494.279.958.646 1.956 1.1 2.979a23.165 23.165 0 0 0-1.085 2.964 14.875 14.875 0 0 1-1.37-.499zm2.632 6.99c-.665-.38-.954-1.834-.729-3.702.054-.46.142-.945.25-1.439.958.235 2.005.416 3.106.534a23.87 23.87 0 0 0 2.035 2.446c-1.595 1.482-3.092 2.294-4.11 2.294a1.167 1.167 0 0 1-.552-.132zm11.604-3.727c.23 1.869-.054 3.322-.715 3.708-.146.088-.337.127-.562.127-1.013 0-2.515-.807-4.11-2.28.685-.718 1.37-1.535 2.021-2.44a22.843 22.843 0 0 0 3.111-.538c.113.494.2.968.255 1.423zm1.883-3.263c-.42.181-.88.343-1.355.494a23.482 23.482 0 0 0-1.1-2.979c.45-1.017.811-2.01 1.085-2.964.485.151.944.318 1.375.499 1.732.738 2.852 1.707 2.852 2.475-.005.768-1.125 1.742-2.857 2.475z"}),n.default.createElement("path",{d:"M11.995 13.925a2.236 2.236 0 1 0 0-4.472 2.236 2.236 0 0 0 0 4.472z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_642"},n.default.createElement("rect",{width:"24",height:"24"}))))};bv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Ov=["color","size"],Bv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Ov);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M10.174 12.594h3.652L12 8.095l-1.826 4.499z"}),n.default.createElement("path",{d:"M12 1L2 4.652l1.525 13.541L12 23l8.475-4.807L22 4.652 12 1zm6.24 16.786h-2.33l-1.257-3.212H9.347L8.09 17.786H5.76L12 3.431l6.24 14.355z"}))};Bv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var jv=["color","size"],Wv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,jv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M19.114 2H15l-3 4.9L9.429 2H0l12 21L24 2h-4.886zM3 3.75h2.914L12 14.6l6.086-10.85H21L12 19.5 3 3.75z"}))};Wv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Hv=["color","size"],Vv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Hv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_640)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 0h24v24H0V0zm18.347 20.12c-1.113 0-1.742-.58-2.225-1.37l-1.833 1.065c.662 1.308 2.015 2.306 4.11 2.306 2.142 0 3.737-1.112 3.737-3.143 0-1.883-1.082-2.72-2.998-3.543l-.564-.241c-.968-.42-1.387-.693-1.387-1.37 0-.547.42-.966 1.08-.966.647 0 1.064.273 1.451.966l1.756-1.127c-.743-1.307-1.773-1.806-3.207-1.806-2.014 0-3.303 1.288-3.303 2.98 0 1.835 1.08 2.704 2.708 3.397l.564.242c1.029.45 1.642.724 1.642 1.497 0 .646-.597 1.113-1.531 1.113zm-8.74-.015c-.775 0-1.098-.53-1.452-1.16l-1.836 1.112c.532 1.126 1.578 2.06 3.383 2.06 1.999 0 3.368-1.063 3.368-3.398v-7.7h-2.255v7.67c0 1.127-.468 1.416-1.209 1.416z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_640"},n.default.createElement("rect",{width:"24",height:"24"}))))};Vv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Rv=["color","size"],Av=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Rv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 23.956c-.342 0-.66-.089-.957-.243l-3.029-1.738c-.455-.242-.227-.33-.09-.374.614-.198.728-.242 1.366-.595.068-.044.16-.022.228.022l2.323 1.343c.09.044.205.044.273 0l9.087-5.084c.09-.044.136-.132.136-.242V6.899c0-.11-.045-.198-.136-.242l-9.087-5.061c-.091-.044-.205-.044-.273 0L2.754 6.657c-.091.044-.137.154-.137.242v10.146c0 .088.046.198.137.242l2.482 1.387c1.344.66 2.186-.11 2.186-.88V7.78c0-.132.114-.264.274-.264h1.161c.137 0 .273.11.273.264v10.013c0 1.739-.979 2.751-2.687 2.751-.524 0-.934 0-2.095-.55l-2.391-1.32A1.847 1.847 0 0 1 1 17.067V6.921c0-.66.364-1.276.957-1.606L11.044.23a2.095 2.095 0 0 1 1.912 0l9.088 5.084c.592.33.956.946.956 1.606v10.146c0 .66-.364 1.276-.956 1.607l-9.088 5.083a2.4 2.4 0 0 1-.956.198zm2.801-6.977c-3.985 0-4.805-1.76-4.805-3.257 0-.132.114-.264.273-.264h1.184c.137 0 .25.088.25.22.183 1.166.707 1.738 3.121 1.738 1.913 0 2.733-.418 2.733-1.408 0-.572-.228-.99-3.211-1.276-2.483-.243-4.031-.77-4.031-2.685 0-1.783 1.548-2.84 4.145-2.84 2.915 0 4.35.969 4.532 3.082a.347.347 0 0 1-.069.198c-.045.044-.113.088-.182.088h-1.184a.265.265 0 0 1-.25-.198c-.274-1.21-.98-1.607-2.847-1.607-2.096 0-2.346.704-2.346 1.232 0 .639.296.837 3.12 1.189 2.801.352 4.122.858 4.122 2.75-.023 1.938-1.662 3.038-4.555 3.038z"}))};Av.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var _v=["color","size"],Pv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,_v);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_633)"},n.default.createElement("path",{d:"M5.08 0h1.082v1.069h.99V0h1.082v3.236H7.152V2.153h-.99v1.083H5.081V0z"}),n.default.createElement("path",{d:"M9.656 1.073h-.952V0h2.987v1.073h-.953v2.163H9.656V1.073z"}),n.default.createElement("path",{d:"M12.165 0h1.128l.694 1.137L14.68 0h1.128v3.236h-1.077V1.632l-.744 1.151h-.019l-.745-1.15v1.603h-1.058V0z"}),n.default.createElement("path",{d:"M16.346 0h1.083v2.167h1.52v1.07h-2.603V0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.046 22.072L3 4.717h18L18.953 22.07 11.99 24l-6.944-1.928zm4.137-9.5l-.194-2.18h8.145l.19-2.128H6.664l.574 6.437h7.377l-.247 2.76-2.374.642h-.002l-2.37-.64-.152-1.697H7.332l.298 3.342 4.36 1.21 4.367-1.21.532-5.964.052-.571H9.183z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_633"},n.default.createElement("rect",{width:"24",height:"24"}))))};Pv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Sv=["color","size"],qv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Sv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M7.502 0h2.578v1.078h-1.5v1.078h1.5v1.078H7.502V0z"}),n.default.createElement("path",{d:"M10.595 0h2.579v.938h-1.5v.187h1.5v2.156h-2.579v-.984h1.5v-.188h-1.5V0z"}),n.default.createElement("path",{d:"M13.69 0h2.577v.938h-1.5v.187h1.5v2.156H13.69v-.984h1.5v-.188h-1.5V0z"}),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.991 24l-6.944-1.928L3 4.717h18L18.954 22.07 11.991 24zM7.047 12.573l.191 2.128h7.377l-.247 2.76-2.374.642h-.002l-2.37-.64-.152-1.697H7.333l.298 3.342 4.36 1.21 4.367-1.21.532-5.964.052-.571.384-4.309H6.664l.194 2.129h8.136l-.194 2.18H7.047z"}))};qv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Fv=["color","size"],Iv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Fv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 1l12 21H0L12 1z"}))};Iv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Jv=["color","size"],Dv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Jv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_641)"},n.default.createElement("path",{d:"M11.214.006c-.052.005-.216.022-.364.033C7.442.347 4.25 2.186 2.226 5.013a11.88 11.88 0 0 0-2.118 5.243c-.096.66-.108.854-.108 1.748s.012 1.089.108 1.748c.652 4.507 3.86 8.293 8.209 9.696.779.251 1.6.422 2.533.526.364.04 1.936.04 2.3 0 1.611-.179 2.977-.578 4.323-1.265.207-.105.247-.134.219-.157-.02-.014-.899-1.194-1.955-2.62l-1.919-2.593-2.404-3.559a342.499 342.499 0 0 0-2.422-3.556c-.009-.003-.018 1.578-.023 3.51-.007 3.38-.01 3.516-.052 3.596a.426.426 0 0 1-.206.213c-.075.038-.14.045-.495.045H7.81l-.108-.068a.44.44 0 0 1-.157-.172l-.05-.105.005-4.704.007-4.706.073-.092a.644.644 0 0 1 .174-.143c.096-.047.133-.051.54-.051.478 0 .558.018.682.154.035.038 1.337 2 2.895 4.362l4.734 7.172 1.9 2.878.097-.063a12.318 12.318 0 0 0 2.465-2.163 11.947 11.947 0 0 0 2.825-6.135c.096-.66.108-.854.108-1.748s-.012-1.088-.108-1.748C23.24 5.75 20.032 1.963 15.683.56a12.6 12.6 0 0 0-2.498-.523c-.226-.024-1.776-.05-1.97-.03zm4.913 7.26a.473.473 0 0 1 .237.276c.018.06.023 1.365.018 4.305l-.007 4.218-.743-1.14-.746-1.14v-3.066c0-1.983.009-3.097.023-3.151a.478.478 0 0 1 .232-.296c.097-.05.132-.054.5-.054.347 0 .408.005.486.047z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_641"},n.default.createElement("rect",{width:"24",height:"24"}))))};Dv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Gv=["color","size"],Kv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Gv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_630)"},n.default.createElement("path",{d:"M16.63 16.563c.885-.092 1.557-.863 1.527-1.788a1.723 1.723 0 0 0-1.71-1.665h-.062c-.947.03-1.68.832-1.65 1.788.032.463.215.863.49 1.14-1.039 2.067-2.627 3.577-5.01 4.841-1.618.864-3.298 1.172-4.977.956-1.375-.185-2.444-.802-3.116-1.819-.977-1.51-1.068-3.145-.244-4.779.58-1.171 1.497-2.035 2.077-2.466-.122-.401-.305-1.08-.397-1.573C-.871 14.436-.412 18.814.93 20.88c1.008 1.542 3.054 2.498 5.315 2.498.61 0 1.221-.062 1.832-.216 3.91-.77 6.872-3.114 8.552-6.598zm5.375-3.823c-2.321-2.744-5.742-4.255-9.651-4.255h-.489a1.677 1.677 0 0 0-1.496-.925h-.062c-.946.031-1.68.833-1.649 1.789.03.925.794 1.664 1.71 1.664h.062a1.721 1.721 0 0 0 1.496-1.048h.55c2.321 0 4.52.678 6.505 2.004 1.527 1.018 2.627 2.343 3.237 3.947.52 1.294.49 2.558-.06 3.638-.856 1.634-2.291 2.528-4.185 2.528-1.221 0-2.382-.37-2.993-.648a18.07 18.07 0 0 1-1.374 1.11c1.313.617 2.657.956 3.94.956 2.932 0 5.1-1.634 5.925-3.268.885-1.788.824-4.871-1.466-7.492zM6.49 17.087c.03.925.794 1.665 1.71 1.665h.061c.947-.03 1.68-.832 1.65-1.788a1.723 1.723 0 0 0-1.71-1.665h-.062c-.061 0-.153 0-.214.03-1.252-2.096-1.771-4.377-1.588-6.844.122-1.85.733-3.453 1.802-4.779.886-1.14 2.596-1.695 3.757-1.726 3.237-.062 4.611 4.008 4.703 5.642.397.092 1.069.308 1.527.462C17.759 3.09 14.706.5 11.773.5 9.025.5 6.49 2.504 5.482 5.464c-1.405 3.946-.489 7.738 1.222 10.729-.153.216-.245.555-.214.894z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_630"},n.default.createElement("rect",{width:"24",height:"24"}))))};Kv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Nv=["color","size"],Qv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Nv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_629)"},n.default.createElement("path",{d:"M11.914 0C5.82 0 6.2 2.656 6.2 2.656l.007 2.752h5.814v.826H3.9S0 5.789 0 11.969c0 6.18 3.403 5.96 3.403 5.96h2.03v-2.867s-.109-3.42 3.35-3.42h5.766s3.24.052 3.24-3.148V3.202S18.28 0 11.913 0zM8.708 1.85c.578 0 1.046.47 1.046 1.052 0 .581-.468 1.051-1.046 1.051-.579 0-1.046-.47-1.046-1.051 0-.582.467-1.052 1.046-1.052z"}),n.default.createElement("path",{d:"M12.087 24c6.092 0 5.712-2.656 5.712-2.656l-.007-2.752h-5.814v-.826h8.123s3.9.445 3.9-5.735c0-6.18-3.404-5.96-3.404-5.96h-2.03v2.867s.109 3.42-3.35 3.42H9.452s-3.24-.052-3.24 3.148v5.292S5.72 24 12.087 24zm3.206-1.85c-.579 0-1.046-.47-1.046-1.052 0-.581.467-1.051 1.046-1.051.578 0 1.046.47 1.046 1.051 0 .582-.468 1.052-1.046 1.052z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_629"},n.default.createElement("rect",{width:"24",height:"24"}))))};Qv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Uv=["color","size"],Xv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Uv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_628)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.384 4.187a2.132 2.132 0 0 0 1.171.018l6.326 11.182a2.126 2.126 0 0 0-.593 1.038H5.71a2.148 2.148 0 0 0-.64-1.079l6.313-11.159zm-.921-.565c.018.02.038.039.057.058L4.193 14.865a2.11 2.11 0 0 0-.09-.022V9.156A2.122 2.122 0 0 0 5.481 8.14a2.142 2.142 0 0 0 .19-1.694l4.792-2.823zm3.57-.835a2.134 2.134 0 1 0-4.079-.04L5.159 5.573A2.131 2.131 0 0 0 1.785 6a2.146 2.146 0 0 0 1.322 3.143v5.715A2.147 2.147 0 0 0 1.79 18a2.13 2.13 0 0 0 3.368.43l4.795 2.826a2.151 2.151 0 0 0-.086.605C9.868 23.044 10.82 24 12 24a2.138 2.138 0 0 0 2.012-2.848l4.751-2.8a2.128 2.128 0 0 0 3.44-.352 2.138 2.138 0 0 0-1.384-3.159v-5.68A2.147 2.147 0 0 0 22.215 6a2.133 2.133 0 0 0-3.401-.398l-4.78-2.816zm-.599.937l.075-.072 4.808 2.833a2.142 2.142 0 0 0 .203 1.654 2.12 2.12 0 0 0 1.303 1v5.72a2.074 2.074 0 0 0-.078.023L13.434 3.724zm4.895 13.858l-4.774 2.814a2.124 2.124 0 0 0-1.554-.674c-.606 0-1.152.252-1.54.658l-4.785-2.82c.012-.039.023-.078.032-.118H18.29c.012.047.025.094.04.14z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_628"},n.default.createElement("rect",{width:"24",height:"24"}))))};Xv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var Yv=["color","size"],Zv=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,Yv);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M12 5.5C5.271 5.5 0 8.355 0 12s5.271 6.5 12 6.5 12-2.855 12-6.5-5.271-6.5-12-6.5zm-1.246 2h1.31l-.416 2h1.17c.742 0 1.24.104 1.524.363.277.256.361.676.25 1.248l-.52 2.389H12.74l.479-2.209c.058-.303.035-.514-.067-.625-.101-.111-.324-.166-.658-.166h-1.049l-.633 3H9.5l1.254-6zM5 9.5h2.666c1.271 0 2.041.852 1.74 2.123C9.056 13.1 8.12 13.5 6.396 13.5h-.824L5.311 15H3.986L5 9.5zm10.5 0h2.666c1.271 0 2.041.852 1.74 2.123-.35 1.477-1.287 1.877-3.01 1.877h-.824l-.261 1.5h-1.325L15.5 9.5zm-9.365 1l-.377 2h.855c.74 0 1.428-.084 1.543-1.188.043-.427-.135-.812-.99-.812H6.135zm10.5 0l-.377 2h.855c.74 0 1.428-.084 1.543-1.188.043-.427-.134-.812-.99-.812h-1.031z"}))};Zv.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var $v=["color","size"],ep=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,$v);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_626)"},n.default.createElement("path",{d:"M13.301 5.601c-.628-1.528-.54-3.247.367-4.63L14.346 0c-1.254 2.35-.06 5.236 1.86 6.749a6.343 6.343 0 0 0 1.698.95c.164.06.35.124.52.167 2.146.54 3.895.167 4.936-1.389-.032.048-.073.124-.125.22-.464.86-1.822 3.377-5.76 2.587-.075-.015-.147-.04-.219-.063l-.064-.022-.046-.015a2.119 2.119 0 0 0-.064-.021 5.8 5.8 0 0 1-.174-.063c-1.585-.604-2.944-1.876-3.607-3.499z"}),n.default.createElement("path",{d:"M8.12 2.966c-1.537 2.295-1.453 5.368-.254 7.796a10.242 10.242 0 0 0 .762 1.301c.209.313.439.66.708.902.111.127.227.25.345.371l.068.07.023.023a10.22 10.22 0 0 0 .367.353l.001.001.002.002a10.623 10.623 0 0 0 .465.397l.04.032c.14.112.283.222.43.327l.006.004.007.005c.047.034.095.067.143.099l.053.036a3.109 3.109 0 0 1 .093.064c.105.07.211.137.319.203l.03.017.015.01a11.466 11.466 0 0 0 .351.201l.031.016.04.022c.052.028.104.057.158.084l.03.015a9.941 9.941 0 0 0 .47.224l.032.013a10.315 10.315 0 0 0 .451.186l.03.011c.103.04.206.076.31.112l.052.018.088.029c.039.012.078.026.116.039.109.038.218.075.332.095C22.168 17.408 24 11.068 24 11.068c-1.651 2.468-4.849 3.646-8.261 2.726a9.54 9.54 0 0 1-.45-.135c-.04-.012-.08-.026-.12-.04l-.015-.005a8.82 8.82 0 0 1-.314-.112l-.003-.002a10.08 10.08 0 0 1-.512-.21l-.056-.025a9.272 9.272 0 0 1-.58-.287l-.042-.022-.12-.064a9.64 9.64 0 0 1-.325-.19 10.318 10.318 0 0 1-.62-.41 10.976 10.976 0 0 1-.429-.326l-.035-.029a6.304 6.304 0 0 1-.061-.05c-1.494-1.224-2.678-2.897-3.24-4.793-.59-1.968-.463-4.176.559-5.968L8.12 2.966z"}),n.default.createElement("path",{d:"M1.524 5.637C-.6 8.807-.336 12.932 1.287 16.3c.03.065.063.129.095.192l.024.048.03.059a2.987 2.987 0 0 0 .08.155l.013.025.07.13.015.027c.05.092.102.184.155.276l.017.03a9.464 9.464 0 0 0 .251.413l.018.03.059.093c.084.13.17.261.26.39v.001a.085.085 0 0 0 .007.009l.024.033.02.028c.078.11.157.22.238.328l.09.118a18.083 18.083 0 0 0 .608.746l.006.007.005.005.007.008a15.627 15.627 0 0 0 .658.697l.03.03.071.07a12.947 12.947 0 0 0 .346.326l.033.03.026.022a18.342 18.342 0 0 0 .38.33l.056.047c.085.07.171.14.258.208l.137.109c.096.073.192.145.289.215l.016.012.09.066.028.02c.088.064.177.124.267.184l.014.01a5.661 5.661 0 0 1 .12.083 15.577 15.577 0 0 0 .507.319l.054.032a14.516 14.516 0 0 0 .459.26l.053.029.059.032c.059.032.117.064.177.095l.025.012.03.015.034.017c.02.01.041.02.062.032.124.061.248.121.374.18l.047.021.032.015a13.238 13.238 0 0 0 .953.39l.01.003.042.016a13.91 13.91 0 0 0 .69.228c.116.039.233.077.353.1 10.277 1.946 13.262-6.41 13.262-6.41-2.507 3.39-6.957 4.285-11.174 3.289a5.368 5.368 0 0 1-.47-.137l-.118-.037c-.152-.048-.303-.1-.453-.153l-.062-.023c-.135-.05-.267-.1-.4-.154l-.112-.046c-.145-.06-.289-.121-.431-.186l-.046-.02a17.296 17.296 0 0 1-.404-.194l-.041-.022a5.56 5.56 0 0 1-.064-.031l-.214-.113-.068-.036a6.057 6.057 0 0 0-.067-.036l-.12-.066c-.114-.063-.226-.13-.338-.197l-.043-.025-.07-.04a16.203 16.203 0 0 1-.516-.332l-.043-.03a12.657 12.657 0 0 1-1.225-.929 15.269 15.269 0 0 1-.352-.307l-.016-.015a16.412 16.412 0 0 1-.448-.428 11.175 11.175 0 0 1-.25-.255l-.034-.034a13.54 13.54 0 0 1-.38-.414l-.006-.006-.002-.003c-.106-.12-.21-.244-.312-.368l-.082-.101a13.975 13.975 0 0 1-.307-.395c-.088-.12-.175-.238-.26-.359-2.34-3.314-3.181-7.886-1.31-11.64L1.524 5.637z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_626"},n.default.createElement("rect",{width:"24",height:"24"}))))};ep.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var tp=["color","size"],rp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,tp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_625)"},n.default.createElement("path",{d:"M12 0c6.6 0 12 5.4 12 12s-5.4 12-12 12S0 18.6 0 12 5.4 0 12 0zM9.6 15.975c.15.675.15 1.275 0 1.8L9.525 18c0 .075-.075.15-.075.15-.15.3-.3.525-.525.825-.675.75-1.65 1.05-2.1.825-.45-.225-.225-1.35.6-2.175.9-.9 2.1-1.5 2.1-1.5l.075-.15zM19.5 5.1c-.525-2.1-4.05-2.85-7.425-1.65-1.95.75-4.125 1.875-5.7 3.3-1.875 1.725-2.1 3.225-2.025 3.825C4.8 12.75 7.8 14.25 9.075 15.3 8.7 15.45 6 16.8 5.4 18.225c-.675 1.5.075 2.55.6 2.625 1.575.45 3.225-.375 4.05-1.65.825-1.275.75-2.85.375-3.675a3.532 3.532 0 0 1 1.8-.075c2.1.225 2.55 1.575 2.4 2.1-.15.525-.525.825-.675.975-.15.075-.225.15-.15.15 0 .075.075.075.225.075.15 0 1.125-.45 1.125-1.5.075-1.275-1.2-2.7-3.375-2.7-.9 0-1.5.075-1.875.225 0-.075-.075-.075-.075-.075-1.35-1.425-3.825-2.475-3.75-4.425 0-.675.3-2.55 4.8-4.8 3.675-1.875 6.675-1.35 7.2-.225.75 1.575-1.575 4.575-5.4 5.025-1.5.15-2.25-.375-2.4-.6-.225-.225-.225-.225-.3-.225-.15.075-.075.225 0 .375.15.3.6.825 1.425 1.125.675.225 2.4.375 4.5-.45 2.325-.9 4.125-3.375 3.6-5.475V5.1z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_625"},n.default.createElement("rect",{width:"24",height:"24"}))))};rp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var lp=["color","size"],op=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,lp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_624)"},n.default.createElement("path",{d:"M12 0C5.323 0 0 5.317 0 12s5.317 12 12 12 12-5.323 12-12S18.683 0 12 0zM2.608 12.101l9.29 9.286c-5.114.005-9.29-4.171-9.29-9.286zm11.477 9.083L2.821 9.909C3.76 5.733 7.515 2.603 12 2.603a9.493 9.493 0 0 1 7.616 3.861l-1.355 1.147A7.666 7.666 0 0 0 11.9 4.267 7.57 7.57 0 0 0 4.693 9.38l9.814 9.819c2.4-.837 4.277-2.923 4.8-5.43h-4.07V12h6.155c0 4.485-3.13 8.245-7.307 9.184z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_624"},n.default.createElement("rect",{width:"24",height:"24"}))))};op.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ap=["color","size"],np=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ap);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_637)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24 0H0v24h24V0zM2.578 2.578H21.42V21.42H16.67V7.33h-4.752V21.42h-9.34V2.578z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_637"},n.default.createElement("rect",{width:"24",height:"24"}))))};np.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var ip=["color","size"],dp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,ip);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_623)"},n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.994 11.675C23.825 5.23 18.561.013 12.004 0 5.21-.005-.3 5.668.013 12.556c.28 6.216 5.344 11.296 11.71 11.441 6.81.157 12.449-5.4 12.271-12.322zM7.92 7.525c-.145.28-.258.575-.336.879-.025.018-.02.05-.032.073 0 .05 0 .1-.014.147v.328c.017.05.012.1.017.15.029.065-.019.146.054.198.088.3.187.594.347.861.05.084.042.129-.031.194-.381.349-.723.734-.987 1.183-.472.802-.648 1.679-.648 2.6a.323.323 0 0 1-.016.104.275.275 0 0 1-.062.105c-.609.667-.936 1.427-.786 2.348.076.467.212.91.49 1.298a.395.395 0 0 1 .089.273c-.018.404.144.732.488.939.58.351 1.207.477 1.875.328a.735.735 0 0 0 .133-.052c.068-.032.137-.063.198-.053.068.01.128.063.189.115.035.03.07.06.107.084.381.228.809.286 1.238.267 1.044-.044 2.085-.107 3.121-.252.342-.047.67-.133.95-.343a.64.64 0 0 1 .198-.1c1.049-.346 2.052-.798 2.967-1.406.555-.364 1.137-.662 1.794-.808.359-.078.62-.315.78-.648.408-.844-.217-1.79-1.19-1.799-.658-.005-1.263.2-1.843.49a8.696 8.696 0 0 0-.615.352c-.19.115-.38.231-.579.333l-.029.017c-.04.024-.083.049-.136.046v-.1c.052-1.395-.401-2.607-1.328-3.646-.056-.062-.046-.102-.005-.162a6.753 6.753 0 0 0 .831-1.6c.344-.973.413-1.972.308-2.987-.05-.489-.15-.966-.356-1.417-.18-.385-.515-.567-.93-.474-.111.023-.149-.01-.194-.102a4.747 4.747 0 0 0-.468-.817.886.886 0 0 0-.685-.36c-.444-.025-.75.216-1.008.539-.194.243-.34.519-.458.805-.036.087-.08.136-.15.162a.382.382 0 0 1-.094.02 3.28 3.28 0 0 0-2.014.97 1.34 1.34 0 0 1-.543.349c-.293.097-.496.299-.637.57z"}),n.default.createElement("path",{d:"M14.947 15.813c0 .242-.056.478-.086.713-.026.207-.005.231.205.195.472-.082.9-.28 1.311-.515.441-.251.861-.537 1.332-.726a3.013 3.013 0 0 1 1.134-.243c.343 0 .582.186.624.48.04.272-.11.533-.384.59-.781.166-1.456.551-2.113.98-.882.569-1.842.98-2.841 1.295-.037.01-.085.019-.108.041-.236.25-.548.292-.863.333-.884.116-1.773.168-2.665.22a3.049 3.049 0 0 1-.77-.026c-.41-.08-.583-.233-.645-.57-.056-.301.086-.587.388-.784l.116-.073a1.306 1.306 0 0 1-.398-.364c-.05-.069-.076-.026-.092.031l-.15.57c-.034.126-.076.25-.129.37-.152.348-.43.516-.797.55a1.976 1.976 0 0 1-1.065-.215c-.23-.113-.299-.283-.223-.533.04-.134.116-.25.207-.391-.317.063-.456-.121-.566-.344a2.374 2.374 0 0 1-.231-1.54c.081-.424.33-.77.63-1.069.175-.175.228-.344.223-.59-.04-1.425.498-2.595 1.605-3.499.097-.081.195-.165.297-.239.063-.044.07-.073.018-.138-.286-.36-.509-.75-.61-1.204-.117-.511.057-.955.314-1.38.037-.057.094-.086.158-.11.323-.116.595-.291.842-.538.555-.555 1.243-.81 2.03-.776.1.005.144-.024.175-.118.117-.344.264-.675.461-.98a1.26 1.26 0 0 1 .26-.31c.194-.16.36-.137.49.076.242.386.428.8.616 1.215.048.105.084.142.194.07a2.03 2.03 0 0 1 .417-.189c.116-.04.184-.013.234.108.147.354.226.724.27 1.104.013.105.037.207.024.312-.008.228.003.457.005.688 0 .102-.036.205-.005.309-.023.624-.189 1.214-.43 1.786-.225.535-.553 1.01-.881 1.485-.129.183-.126.186.042.336.818.737 1.27 1.663 1.42 2.743.006.042.004.087.004.131-.034.1.003.197.005.294.009.148-.025.296 0 .44z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_623"},n.default.createElement("rect",{width:"24",height:"24"}))))};dp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var up=["color","size"],cp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,up);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.172 0h-4.176v5.932c-.623-.15-1.14-.2-1.816-.2C4.816 5.731 2 8.305 2 12.273c0 4.118 2.655 6.263 7.755 6.268 1.703 0 3.278-.15 5.417-.53V0zM9.734 8.977c.516 0 .92.05 1.408.2v6.248c-.596.075-.972.1-1.434.1-2.14 0-3.305-1.142-3.305-3.21 0-2.125 1.22-3.338 3.331-3.338z"}),n.default.createElement("path",{d:"M22 15.233V6.215h-4.17v7.675c0 3.387-.188 4.674-.785 5.786-.57 1.087-1.462 1.8-3.305 2.606L17.615 24c1.843-.862 2.735-1.643 3.412-2.88.726-1.288.973-2.782.973-5.887z"}),n.default.createElement("path",{d:"M21.584 0H17.41v3.993h4.175V0z"}))};cp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var sp=["color","size"],fp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,sp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_950_639)"},n.default.createElement("path",{d:"M.228 8.37s-.584-.427.117-.995L1.98 5.897s.467-.497.962-.064l15.081 11.542v5.534s-.007.87-1.11.774L.227 8.369z"}),n.default.createElement("path",{d:"M4.116 11.937L.228 15.509s-.4.3 0 .837l1.805 1.66s.429.465 1.062-.065l4.121-3.158-3.1-2.846z"}),n.default.createElement("path",{d:"M10.94 11.966l7.13-5.502-.047-5.505s-.305-1.202-1.32-.576L7.216 9.11l3.724 2.856z"}),n.default.createElement("path",{d:"M16.912 23.69c.414.428.916.288.916.288l5.556-2.767c.711-.49.611-1.098.611-1.098V3.588c0-.726-.735-.977-.735-.977L18.444.264c-1.052-.657-1.741.119-1.741.119s.886-.645 1.32.576v21.85c0 .15-.032.297-.095.43-.127.259-.402.5-1.062.4l.046.051z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_950_639"},n.default.createElement("rect",{width:"24",height:"24"}))))};fp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var hp=["color","size"],vp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,hp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("g",{clipPath:"url(#clip0_2147_271)"},n.default.createElement("path",{d:"M23.429 0H.57A.571.571 0 0 0 0 .571V23.43c0 .315.255.571.571.571H23.43a.571.571 0 0 0 .571-.571V.57A.571.571 0 0 0 23.429 0zm-9.143 12.826h-2.857v8.888H9.143v-8.888H6.286v-1.969h8v1.969zm.64 8.38v-2.375s1.298.978 2.855.978 1.497-1.018 1.497-1.158c0-1.477-4.412-1.477-4.412-4.751 0-4.452 6.429-2.695 6.429-2.695l-.08 2.116s-1.078-.719-2.296-.719c-1.218 0-1.657.58-1.657 1.198 0 1.597 4.452 1.438 4.452 4.652 0 4.95-6.788 2.755-6.788 2.755z"})),n.default.createElement("defs",null,n.default.createElement("clipPath",{id:"clip0_2147_271"},n.default.createElement("rect",{width:"24",height:"24"}))))};vp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])};var pp=["color","size"],gp=function(e){var t=e.color,r=void 0===t?"currentColor":t,l=e.size,o=void 0===l?"24":l,a=u(e,pp);return n.default.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:r},a),n.default.createElement("path",{d:"M22.749 9.769l-.031-.08-3.027-7.9a.788.788 0 0 0-.782-.495.81.81 0 0 0-.456.17.81.81 0 0 0-.268.408L16.14 8.125H7.865L5.822 1.872a.794.794 0 0 0-.269-.409.81.81 0 0 0-.926-.05c-.14.09-.25.22-.312.376L1.283 9.684l-.03.08a5.62 5.62 0 0 0 1.864 6.496l.01.008.028.02 4.61 3.453 2.282 1.726 1.39 1.049a.935.935 0 0 0 1.13 0l1.389-1.05 2.281-1.726 4.639-3.473.011-.01A5.623 5.623 0 0 0 22.75 9.77z"}))};gp.propTypes={color:i.default.string,size:i.default.oneOfType([i.default.string,i.default.number])},t.Jlk=St,t.Mdu=Gu,t.FEq=jd},4164:(e,t,r)=>{function l(e){var t,r,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=l(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}r.d(t,{A:()=>o});const o=function(){for(var e,t,r=0,o="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=l(e))&&(o&&(o+=" "),o+=t);return o}}}]); \ No newline at end of file diff --git a/assets/js/212e3b5d.dd1ae512.js b/assets/js/212e3b5d.dd1ae512.js deleted file mode 100644 index 3e422a505..000000000 --- a/assets/js/212e3b5d.dd1ae512.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2715],{5680:(e,r,t)=>{t.d(r,{xA:()=>s,yg:()=>f});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function p(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),l=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):p(p({},r),e)),t},s=function(e){var r=l(e.components);return n.createElement(c.Provider,{value:r},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),u=l(t),d=a,f=u["".concat(c,".").concat(d)]||u[d]||g[d]||i;return t?n.createElement(f,p(p({ref:r},s),{},{components:t})):n.createElement(f,p({ref:r},s))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,p=new Array(i);p[0]=d;var o={};for(var c in r)hasOwnProperty.call(r,c)&&(o[c]=r[c]);o.originalType=e,o[u]="string"==typeof e?e:a,p[1]=o;for(var l=2;l<i;l++)p[l]=t[l];return n.createElement.apply(null,p)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},113:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>p,default:()=>g,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=t(8102),a=(t(6540),t(5680));const i={id:"ima_react_page_renderer.PageContextType",title:"Interface: PageContextType",sidebar_label:"@ima/react-page-renderer.PageContextType",custom_edit_url:null},p=void 0,o={unversionedId:"api/interfaces/ima_react_page_renderer.PageContextType",id:"api/interfaces/ima_react_page_renderer.PageContextType",title:"Interface: PageContextType",description:"@ima/react-page-renderer.PageContextType",source:"@site/../docs/api/interfaces/ima_react_page_renderer.PageContextType.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_react_page_renderer.PageContextType",permalink:"/api/interfaces/ima_react_page_renderer.PageContextType",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.PageContextType",title:"Interface: PageContextType",sidebar_label:"@ima/react-page-renderer.PageContextType",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/plugin-cli.Source",permalink:"/api/interfaces/ima_plugin_cli.Source"},next:{title:"@ima/react-page-renderer.ViewAdapterProps",permalink:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"}},c={},l=[{value:"Properties",id:"properties",level:2},{value:"$Utils",id:"utils",level:3},{value:"Defined in",id:"defined-in",level:4}],s={toc:l},u="wrapper";function g(e){let{components:r,...t}=e;return(0,a.yg)(u,(0,n.A)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".PageContextType"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"utils"},"$Utils"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"$Utils"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,a.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/PageContext.ts#L5"},"packages/react-page-renderer/src/PageContext.ts:5")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/214956d8.c2b987c7.js b/assets/js/214956d8.c2b987c7.js deleted file mode 100644 index 75dcffafd..000000000 --- a/assets/js/214956d8.c2b987c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9120],{5680:(e,i,n)=>{n.d(i,{xA:()=>s,yg:()=>m});var r=n(6540);function t(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function l(e,i){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);i&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?l(Object(n),!0).forEach((function(i){t(e,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))}))}return e}function d(e,i){if(null==e)return{};var n,r,t=function(e,i){if(null==e)return{};var n,r,t={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],i.indexOf(n)>=0||(t[n]=e[n]);return t}(e,i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}var o=r.createContext({}),p=function(e){var i=r.useContext(o),n=i;return e&&(n="function"==typeof e?e(i):a(a({},i),e)),n},s=function(e){var i=p(e.components);return r.createElement(o.Provider,{value:i},e.children)},g="mdxType",u={inlineCode:"code",wrapper:function(e){var i=e.children;return r.createElement(r.Fragment,{},i)}},y=r.forwardRef((function(e,i){var n=e.components,t=e.mdxType,l=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),g=p(n),y=t,m=g["".concat(o,".").concat(y)]||g[y]||u[y]||l;return n?r.createElement(m,a(a({ref:i},s),{},{components:n})):r.createElement(m,a({ref:i},s))}));function m(e,i){var n=arguments,t=i&&i.mdxType;if("string"==typeof e||t){var l=n.length,a=new Array(l);a[0]=y;var d={};for(var o in i)hasOwnProperty.call(i,o)&&(d[o]=i[o]);d.originalType=e,d[g]="string"==typeof e?e:t,a[1]=d;for(var p=2;p<l;p++)a[p]=n[p];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},8589:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=n(8102),t=(n(6540),n(5680));const l={id:"ima_core.ImaRequestInit",title:"Interface: ImaRequestInit",sidebar_label:"@ima/core.ImaRequestInit",custom_edit_url:null},a=void 0,d={unversionedId:"api/interfaces/ima_core.ImaRequestInit",id:"api/interfaces/ima_core.ImaRequestInit",title:"Interface: ImaRequestInit",description:"@ima/core.ImaRequestInit",source:"@site/../docs/api/interfaces/ima_core.ImaRequestInit.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.ImaRequestInit",permalink:"/api/interfaces/ima_core.ImaRequestInit",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ImaRequestInit",title:"Interface: ImaRequestInit",sidebar_label:"@ima/core.ImaRequestInit",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.HttpAgentRequestOptions",permalink:"/api/interfaces/ima_core.HttpAgentRequestOptions"},next:{title:"@ima/core.InitAppConfig",permalink:"/api/interfaces/ima_core.InitAppConfig"}},o={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"cache",id:"cache",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"credentials",id:"credentials",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"headers",id:"headers",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"integrity",id:"integrity",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"keepalive",id:"keepalive",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"method",id:"method",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"mode",id:"mode",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"redirect",id:"redirect",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"referrer",id:"referrer",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"referrerPolicy",id:"referrerpolicy",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"signal",id:"signal",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"window",id:"window",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-11",level:4}],s={toc:p},g="wrapper";function u(e){let{components:i,...n}=e;return(0,t.yg)(g,(0,r.A)({},s,n,{components:i,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ImaRequestInit"),(0,t.yg)("p",null,"Options for a request sent using the HTTP agent."),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("inlineCode",{parentName:"p"},"Omit"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"RequestInit"),", ",(0,t.yg)("inlineCode",{parentName:"p"},'"body"'),">"),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"ImaRequestInit"))))),(0,t.yg)("h2",{id:"properties"},"Properties"),(0,t.yg)("h3",{id:"cache"},"cache"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"cache"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"RequestCache")),(0,t.yg)("p",null,"Flag that enables caching the HTTP request\n(enabled by default, also applies to requests in progress)."),(0,t.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,t.yg)("p",null,"Omit.cache"),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1676"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"credentials"},"credentials"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"credentials"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"RequestCredentials")),(0,t.yg)("p",null,"A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials."),(0,t.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,t.yg)("p",null,"Omit.credentials"),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1678"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"headers"},"headers"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"headers"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,t.yg)("p",null,"Sets the additional request\nheaders (the keys are case-insensitive header names, the values\nare header values)."),(0,t.yg)("h4",{id:"overrides"},"Overrides"),(0,t.yg)("p",null,"Omit.headers"),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L27"},"packages/core/src/http/HttpAgent.ts:27")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"integrity"},"integrity"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"integrity"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("p",null,"A cryptographic hash of the resource to be fetched by request. Sets request's integrity."),(0,t.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,t.yg)("p",null,"Omit.integrity"),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1682"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"keepalive"},"keepalive"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"keepalive"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("p",null,"A boolean to set request's keepalive."),(0,t.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,t.yg)("p",null,"Omit.keepalive"),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1684"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"method"},"method"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"method"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("p",null,"A string to set request's method."),(0,t.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,t.yg)("p",null,"Omit.method"),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1686"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"mode"},"mode"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"mode"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"RequestMode")),(0,t.yg)("p",null,"A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode."),(0,t.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,t.yg)("p",null,"Omit.mode"),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1688"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"redirect"},"redirect"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"redirect"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"RequestRedirect")),(0,t.yg)("p",null,"A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect."),(0,t.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,t.yg)("p",null,"Omit.redirect"),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1690"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"referrer"},"referrer"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"referrer"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("p",null,'A string whose value is a same-origin URL, "about:client", or the empty string, to set request\'s referrer.'),(0,t.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,t.yg)("p",null,"Omit.referrer"),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1692"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"referrerpolicy"},"referrerPolicy"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"referrerPolicy"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"ReferrerPolicy")),(0,t.yg)("p",null,"A referrer policy to set request's referrerPolicy."),(0,t.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,t.yg)("p",null,"Omit.referrerPolicy"),(0,t.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1694"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"signal"},"signal"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"signal"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"AbortSignal")),(0,t.yg)("p",null,"An AbortSignal to set request's signal."),(0,t.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,t.yg)("p",null,"Omit.signal"),(0,t.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1696"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"window"},"window"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"window"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"null")),(0,t.yg)("p",null,"Can only be null. Used to disassociate request from any Window."),(0,t.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,t.yg)("p",null,"Omit.window"),(0,t.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.dom.d.ts:1698"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/21ee5e18.7160549e.js b/assets/js/21ee5e18.7160549e.js new file mode 100644 index 000000000..04d3e9829 --- /dev/null +++ b/assets/js/21ee5e18.7160549e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5547],{4006:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"basic-features/object-container","title":"Object Container","description":"Basic features > Object Container and IMA.js dependency injection","source":"@site/../docs/basic-features/object-container.md","sourceDirName":"basic-features","slug":"/basic-features/object-container","permalink":"/basic-features/object-container","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/object-container.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Object Container","description":"Basic features > Object Container and IMA.js dependency injection"},"sidebar":"docs","previous":{"title":"Extensions","permalink":"/basic-features/extensions"},"next":{"title":"Rendering process","permalink":"/basic-features/rendering-process"}}');var r=t(2540),s=t(3023);const c={title:"Object Container",description:"Basic features > Object Container and IMA.js dependency injection"},o=void 0,a={},d=[{value:"Automatic registration with Object Container",id:"automatic-registration-with-object-container",level:2},{value:"Manually registering dependencies",id:"manually-registering-dependencies",level:2},{value:"1. <code>bind()</code>",id:"1-bind",level:3},{value:"2. <code>constant()</code>",id:"2-constant",level:3},{value:"3. <code>inject()</code>",id:"3-inject",level:3},{value:"4. <code>provide()</code>",id:"4-provide",level:3},{value:"Obtaining dependencies",id:"obtaining-dependencies",level:2},{value:"1. Dependency Injection",id:"1-dependency-injection",level:3},{value:"Optional dependencies",id:"optional-dependencies",level:4},{value:"Spread dependencies",id:"spread-dependencies",level:4},{value:"2. <code>get()</code>",id:"2-get",level:3},{value:"3. <code>create()</code>",id:"3-create",level:3},{value:"Other methods",id:"other-methods",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Object Container (OC)"})," is an enhanced dependency injector with support for aliases and constants. It is sophisticated and registers everything it comes across but only if it actually matters."]}),"\n",(0,r.jsx)(n.p,{children:"By registering controllers and views the OC can simply follow your dependency tree and register everything you might possibly need. Below is a diagram of simple dependency tree."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"app/config/routes.js\n\u251c\u2500 OrderController\n| \u251c\u2500 OrderService / OrderEntity\n| | \u2514\u2500 RestClient\n| | \u251c\u2500 $HttpAgent\n| | \u251c\u2500 $Cache\n| | \u2514\u2500 LinkGenerator\n| | \u2514\u2500 $Router\n| \u2514\u2500 UserService / UserEntity\n| \u2514\u2500 RestClient\n| \u251c\u2500 $HttpAgent\n| \u251c\u2500 $Cache\n| \u2514\u2500 LinkGenerator\n| \u2514\u2500 $Router\n\u2514\u2500 UserController\n \u251c\u2500 ...\n \u2514\u2500 ...\n"})}),"\n",(0,r.jsx)(n.h2,{id:"automatic-registration-with-object-container",children:"Automatic registration with Object Container"}),"\n",(0,r.jsxs)(n.p,{children:["Every class that defines static property ",(0,r.jsx)(n.code,{children:"$dependencies"})," which exports array of dependencies is automatically registered to ",(0,r.jsx)(n.code,{children:"oc"})," and instanced when it is used (this can happen lazily upon first usage)."]}),"\n",(0,r.jsx)(n.h2,{id:"manually-registering-dependencies",children:"Manually registering dependencies"}),"\n",(0,r.jsxs)(n.p,{children:["Since the OC cannot discover everything and doesn't know about interfaces you can register your dependencies in a file ",(0,r.jsx)(n.code,{children:"app/config/bind.js"}),".\nThis file contains a function that receives the namespace register\n",(0,r.jsx)(n.em,{children:"(deprecated)"}),", OC instance and a config object."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\nexport let init = (ns, oc, config) => {\n // Register stuff here\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["OC handles ",(0,r.jsx)(n.em,{children:"instances"})," of registered dependencies. When registering a class, be aware that its static methods and properties won't be available through OC."]}),"\n",(0,r.jsx)(n.p,{children:"Below is list of methods that the OC provides to register your dependencies."}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note:"})," Every method returns the OC itself so you can chain them together."]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"1-bind",children:["1. ",(0,r.jsx)(n.code,{children:"bind()"})]}),"\n",(0,r.jsx)(n.p,{children:"Binds the specified class or factory function and dependencies to the\nspecified alias.\nThis allows to create new instances of the class or the\nfunction by referencing the alias. Same goes for specifying the class of\nthe function as a dependency."}),"\n",(0,r.jsx)(n.p,{children:"Also note that the same class or function may be bound to several\naliases and each may use different dependencies."}),"\n",(0,r.jsx)(n.p,{children:"The alias will use the current dependencies bound to the class if no\ndependencies are provided."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\n//\n// Binding custom router implementation and\n// UserAgent class from IMA.js user-agent plugin\n\nimport { UserAgent } from '@ima/plugin-useragent';\nimport { CustomRouter } from 'app/your-custom-overrides/Router';\n\nexport let init = (ns, oc, config) => {\n // Simple alias\n oc.bind('UserAgent', UserAgent);\n\n // Alias with dependencies\n // Override of the IMA.js router implementation\n oc.bind('$Router', CustomRouter, [\n '$PageManager', '$RouteFactory', '$Dispatcher', Window\n ]);\n\n // ...\n}\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note:"})," The dollar-sign ",(0,r.jsx)(n.code,{children:"$"})," at the beginning of an alias marks IMA.js\ninternal component."]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"2-constant",children:["2. ",(0,r.jsx)(n.code,{children:"constant()"})]}),"\n",(0,r.jsxs)(n.p,{children:["Defines a new constant registered within the OC. Note that\nthis is the only way of passing ",(0,r.jsx)(n.code,{children:"string"})," values to constructors\nbecause the OC treats strings as class, interface, alias\nor constant names. Once the constant is defined it cannot be redefined."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\n//\n// Assigning API root URL to a constant that can be later used as a dependency\n// (for example in IMA.js RestAPI client)\n\nexport let init = (ns, oc, config) => {\n oc.constant('REST_API_ROOT_URL', config.api.url);\n}\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note:"}),"\xa0Constants are not limited to primitive values but can also\ntake objects."]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"3-inject",children:["3. ",(0,r.jsx)(n.code,{children:"inject()"})]}),"\n",(0,r.jsx)(n.p,{children:"Configures the object loader with the specified default dependencies for\nthe specified class."}),"\n",(0,r.jsx)(n.p,{children:"New instances of the class created by the OC will receive the provided\ndependencies into constructor unless custom dependencies are provided."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\n//\n// Injecting the rest client.\n// Notice how we used the REST_API_ROOT_URL constant\n\nimport Cache from 'ima/cache/Cache';\nimport HttpAgent from 'ima/http/HttpAgent';\nimport SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';\nimport LinkGenerator from 'app/rest-client-impl/LinkGenerator';\n\nexport let init = (ns, oc, config) => {\n oc.inject(SimpleRestClient, [\n HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator\n ]);\n}\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note:"})," For more information about the IMA.js REST Client see ",(0,r.jsx)(n.a,{href:"https://github.com/jurca/IMA-plugin-rest-client",children:"IMA-plugin-rest-client"})," repository."]}),"\n"]}),"\n",(0,r.jsxs)(n.h3,{id:"4-provide",children:["4. ",(0,r.jsx)(n.code,{children:"provide()"})]}),"\n",(0,r.jsx)(n.p,{children:"Configures the default implementation of the specified interface.\nWhen the interface is requested from the OC the default implementation\nis provided."}),"\n",(0,r.jsxs)(n.p,{children:["The implementation constructor will obtain the provided default\ndependencies or the dependencies provided to the ",(0,r.jsx)(n.a,{href:"#3-create",children:(0,r.jsx)(n.code,{children:"create()"})})," method."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\n//\n//\n\nimport { AbstractRestClient } from 'ima-plugin-rest-client';\nimport SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';\n\nexport let init = (ns, oc, config) => {\n oc.provide(AbstractRestClient, SimpleRestClient);\n\n // We didn't specify any dependencies on purpose\n // they were set in the previous example.\n // Otherwise it would be like this:\n\n oc.provide(\n AbstractRestClient,\n SimpleRestClient,\n [\n HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator\n ]\n );\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"obtaining-dependencies",children:"Obtaining dependencies"}),"\n",(0,r.jsx)(n.p,{children:"In IMA.js application you can obtain dependencies using many different methods, where each one can be useful in different situation and environment."}),"\n",(0,r.jsx)(n.h3,{id:"1-dependency-injection",children:"1. Dependency Injection"}),"\n",(0,r.jsxs)(n.p,{children:["Apart from defining dependencies manually in ",(0,r.jsx)(n.code,{children:"app/config/bind.js"})," can every class (discovered by the OC) define a static getter ",(0,r.jsx)(n.code,{children:"$dependencies"}),". This getter should return list of dependencies specified by a class constructor or a ",(0,r.jsx)(n.code,{children:"string"})," alias."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/page/order/OrderController.js\n//\n// OrderController is discovered by the OC\n// because it's registered in app/config/routes.js\n\nimport { AbstractController } from '@ima/core';\nimport OrderService from 'app/model/order/OrderService.js';\nimport UserService from 'app/model/user/UserService.js';\n\nexport default class OrderController extends AbstractController {\n\n static get $dependencies() {\n return [\n OrderService,\n UserService,\n '$Router'\n ];\n }\n\n // ...\n"})}),"\n",(0,r.jsx)(n.p,{children:"Once you've defined the dependencies the constructor of the class will receive their instances."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:" constructor(orderService, userService, $router) {\n super();\n\n this._orderService = orderService;\n this._userService = userService;\n this._$router = $router;\n }\n\n // ...\n\n"})}),"\n",(0,r.jsx)(n.h4,{id:"optional-dependencies",children:"Optional dependencies"}),"\n",(0,r.jsxs)(n.p,{children:["Dependencies can also be defined as optional.\nIf those dependencies are present in the OC, the constructor of the class will receive their instances.\nOtherwise it will receive ",(0,r.jsx)(n.code,{children:"undefined"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["To use optional dependency, prefix ",(0,r.jsx)(n.code,{children:"?"})," is added before the string alias or the dependency is wrapped in array, with option specifying if it's optional or not."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/page/order/OrderController.js\n//\n// OrderController using optional dependencies\n\nimport { AbstractController } from '@ima/core';\nimport OrderService from 'app/model/order/OrderService.js';\nimport UserService from 'app/model/user/UserService.js';\n\nexport default class OrderController extends AbstractController {\n\n static get $dependencies() {\n return [\n [OrderService, { optional: true }],\n [UserService, { optional: false }],\n '?$Settings.api.serverApiUrl'\n ];\n }\n\n // ...\n"})}),"\n",(0,r.jsx)(n.h4,{id:"spread-dependencies",children:"Spread dependencies"}),"\n",(0,r.jsxs)(n.p,{children:["Dependencies can be added to array registered in the OC. These dependencies can be then spread to the class constructor using spread operator ",(0,r.jsx)(n.code,{children:"..."}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\n//\n// Creating array of dependencies\n\nimport OrderService from 'app/model/order/OrderService.js';\nimport UserService from 'app/model/user/UserService.js';\n\nexport let init = (ns, oc, config) => {\n oc.constant('$spreadDependencies', [OrderService, UserService]);\n}\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/page/order/OrderController.js\n//\n// OrderController using spread dependencies\n\nimport { AbstractController } from '@ima/core';\n\nexport default class OrderController extends AbstractController {\n\n static get $dependencies() {\n return ['...$spreadDependencies'];\n }\n\n constructor(orderService, userService) {\n super();\n\n this._orderService = orderService;\n this._userService = userService;\n }\n\n // ...\n"})}),"\n",(0,r.jsx)(n.p,{children:"Spread and optional dependencies can be combined."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// ...\nstatic get $dependencies() {\n return ['...?$spreadDependencies'];\n}\n// ...\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// ...\nstatic get $dependencies() {\n return [['...$spreadDependencies', { optional: true }]];\n}\n// ...\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"2-get",children:["2. ",(0,r.jsx)(n.code,{children:"get()"})]}),"\n",(0,r.jsxs)(n.p,{children:["Retrieves the ",(0,r.jsx)(n.strong,{children:"shared instance"})," or value of the specified constant, alias,\nclass or factory function, interface, or fully qualified namespace path\n(the method checks these in this order in case of a name clash)."]}),"\n",(0,r.jsx)(n.p,{children:"The instance or value is created lazily the first time it is requested."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"oc.get('REST_API_ROOT_URL');\noc.get('UserAgent');\noc.get(AbstractRestClient); // This returns instance of `SimpleRestClient` as we defined in the previous example\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"3-create",children:["3. ",(0,r.jsx)(n.code,{children:"create()"})]}),"\n",(0,r.jsxs)(n.p,{children:["Creates a ",(0,r.jsx)(n.strong,{children:"new instance"})," of the class or retrieves the value generated by\nthe factory function identified by the provided name, class, interface,\nor factory function, passing in the provided dependencies."]}),"\n",(0,r.jsx)(n.p,{children:"The method uses the dependencies specified when the class, interface or\nfactory function has been registered with the object container if no\ncustom dependencies are provided."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"import { Cache, HttpAgent } from '@ima/core';\nimport SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';\nimport LinkGenerator from 'app/rest-client-impl/LinkGenerator';\n\noc.create('UserAgent');\noc.create(\n SimpleRestClient,\n [\n HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator\n ]\n);\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The last two method are not used as much as the first one but can be\nuseful inside the ",(0,r.jsx)(n.code,{children:"app/config/bind.js"})," and ",(0,r.jsx)(n.code,{children:"app/config/routes.js"})]}),"\n",(0,r.jsx)(n.h2,{id:"other-methods",children:"Other methods"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"has()"})," returns ",(0,r.jsx)(n.code,{children:"true"})," if the specified object, class or resource is registered\nwithin the OC."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"if (oc.has('UserAgent') && oc.get('UserAgent').isMobile()) {\n // Register conditional stuff here...\n}\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"getConstructorOf()"})," returns the class constructor function of the specified class or alias."]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>o});var i=t(3696);const r={},s=i.createContext(r);function c(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/21ee5e18.d688b0a7.js b/assets/js/21ee5e18.d688b0a7.js deleted file mode 100644 index 71c81e4ac..000000000 --- a/assets/js/21ee5e18.d688b0a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5547],{5680:(e,n,t)=>{t.d(n,{xA:()=>l,yg:()=>m});var r=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=r.createContext({}),p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},u=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=p(t),u=i,m=d["".concat(c,".").concat(u)]||d[u]||g[u]||a;return t?r.createElement(m,o(o({ref:n},l),{},{components:t})):r.createElement(m,o({ref:n},l))}));function m(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=u;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:i,o[1]=s;for(var p=2;p<a;p++)o[p]=t[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}u.displayName="MDXCreateElement"},9966:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=t(8102),i=(t(6540),t(5680));const a={title:"Object Container",description:"Basic features > Object Container and IMA.js dependency injection"},o=void 0,s={unversionedId:"basic-features/object-container",id:"basic-features/object-container",title:"Object Container",description:"Basic features > Object Container and IMA.js dependency injection",source:"@site/../docs/basic-features/object-container.md",sourceDirName:"basic-features",slug:"/basic-features/object-container",permalink:"/basic-features/object-container",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/object-container.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Object Container",description:"Basic features > Object Container and IMA.js dependency injection"},sidebar:"docs",previous:{title:"Extensions",permalink:"/basic-features/extensions"},next:{title:"Rendering process",permalink:"/basic-features/rendering-process"}},c={},p=[{value:"Automatic registration with Object Container",id:"automatic-registration-with-object-container",level:2},{value:"Manually registering dependencies",id:"manually-registering-dependencies",level:2},{value:"1. <code>bind()</code>",id:"1-bind",level:3},{value:"2. <code>constant()</code>",id:"2-constant",level:3},{value:"3. <code>inject()</code>",id:"3-inject",level:3},{value:"4. <code>provide()</code>",id:"4-provide",level:3},{value:"Obtaining dependencies",id:"obtaining-dependencies",level:2},{value:"1. Dependency Injection",id:"1-dependency-injection",level:3},{value:"Optional dependencies",id:"optional-dependencies",level:4},{value:"Spread dependencies",id:"spread-dependencies",level:4},{value:"2. <code>get()</code>",id:"2-get",level:3},{value:"3. <code>create()</code>",id:"3-create",level:3},{value:"Other methods",id:"other-methods",level:2}],l={toc:p},d="wrapper";function g(e){let{components:n,...t}=e;return(0,i.yg)(d,(0,r.A)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"The ",(0,i.yg)("strong",{parentName:"p"},"Object Container (OC)")," is an enhanced dependency injector with support for aliases and constants. It is sophisticated and registers everything it comes across but only if it actually matters."),(0,i.yg)("p",null,"By registering controllers and views the OC can simply follow your dependency tree and register everything you might possibly need. Below is a diagram of simple dependency tree."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre"},"app/config/routes.js\n\u251c\u2500 OrderController\n| \u251c\u2500 OrderService / OrderEntity\n| | \u2514\u2500 RestClient\n| | \u251c\u2500 $HttpAgent\n| | \u251c\u2500 $Cache\n| | \u2514\u2500 LinkGenerator\n| | \u2514\u2500 $Router\n| \u2514\u2500 UserService / UserEntity\n| \u2514\u2500 RestClient\n| \u251c\u2500 $HttpAgent\n| \u251c\u2500 $Cache\n| \u2514\u2500 LinkGenerator\n| \u2514\u2500 $Router\n\u2514\u2500 UserController\n \u251c\u2500 ...\n \u2514\u2500 ...\n")),(0,i.yg)("h2",{id:"automatic-registration-with-object-container"},"Automatic registration with Object Container"),(0,i.yg)("p",null,"Every class that defines static property ",(0,i.yg)("inlineCode",{parentName:"p"},"$dependencies")," which exports array of dependencies is automatically registered to ",(0,i.yg)("inlineCode",{parentName:"p"},"oc")," and instanced when it is used (this can happen lazily upon first usage)."),(0,i.yg)("h2",{id:"manually-registering-dependencies"},"Manually registering dependencies"),(0,i.yg)("p",null,"Since the OC cannot discover everything and doesn't know about interfaces you can register your dependencies in a file ",(0,i.yg)("inlineCode",{parentName:"p"},"app/config/bind.js"),".\nThis file contains a function that receives the namespace register\n",(0,i.yg)("em",{parentName:"p"},"(deprecated)"),", OC instance and a config object."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\nexport let init = (ns, oc, config) => {\n // Register stuff here\n}\n")),(0,i.yg)("p",null,"OC handles ",(0,i.yg)("em",{parentName:"p"},"instances")," of registered dependencies. When registering a class, be aware that its static methods and properties won't be available through OC."),(0,i.yg)("p",null,"Below is list of methods that the OC provides to register your dependencies."),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," Every method returns the OC itself so you can chain them together.")),(0,i.yg)("h3",{id:"1-bind"},"1. ",(0,i.yg)("inlineCode",{parentName:"h3"},"bind()")),(0,i.yg)("p",null,"Binds the specified class or factory function and dependencies to the\nspecified alias.\nThis allows to create new instances of the class or the\nfunction by referencing the alias. Same goes for specifying the class of\nthe function as a dependency."),(0,i.yg)("p",null,"Also note that the same class or function may be bound to several\naliases and each may use different dependencies."),(0,i.yg)("p",null,"The alias will use the current dependencies bound to the class if no\ndependencies are provided."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\n//\n// Binding custom router implementation and\n// UserAgent class from IMA.js user-agent plugin\n\nimport { UserAgent } from '@ima/plugin-useragent';\nimport { CustomRouter } from 'app/your-custom-overrides/Router';\n\nexport let init = (ns, oc, config) => {\n // Simple alias\n oc.bind('UserAgent', UserAgent);\n\n // Alias with dependencies\n // Override of the IMA.js router implementation\n oc.bind('$Router', CustomRouter, [\n '$PageManager', '$RouteFactory', '$Dispatcher', Window\n ]);\n\n // ...\n}\n")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," The dollar-sign ",(0,i.yg)("inlineCode",{parentName:"p"},"$")," at the beginning of an alias marks IMA.js\ninternal component.")),(0,i.yg)("h3",{id:"2-constant"},"2. ",(0,i.yg)("inlineCode",{parentName:"h3"},"constant()")),(0,i.yg)("p",null,"Defines a new constant registered within the OC. Note that\nthis is the only way of passing ",(0,i.yg)("inlineCode",{parentName:"p"},"string")," values to constructors\nbecause the OC treats strings as class, interface, alias\nor constant names. Once the constant is defined it cannot be redefined."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\n//\n// Assigning API root URL to a constant that can be later used as a dependency\n// (for example in IMA.js RestAPI client)\n\nexport let init = (ns, oc, config) => {\n oc.constant('REST_API_ROOT_URL', config.api.url);\n}\n")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:"),"\xa0Constants are not limited to primitive values but can also\ntake objects.")),(0,i.yg)("h3",{id:"3-inject"},"3. ",(0,i.yg)("inlineCode",{parentName:"h3"},"inject()")),(0,i.yg)("p",null,"Configures the object loader with the specified default dependencies for\nthe specified class."),(0,i.yg)("p",null,"New instances of the class created by the OC will receive the provided\ndependencies into constructor unless custom dependencies are provided."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\n//\n// Injecting the rest client.\n// Notice how we used the REST_API_ROOT_URL constant\n\nimport Cache from 'ima/cache/Cache';\nimport HttpAgent from 'ima/http/HttpAgent';\nimport SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';\nimport LinkGenerator from 'app/rest-client-impl/LinkGenerator';\n\nexport let init = (ns, oc, config) => {\n oc.inject(SimpleRestClient, [\n HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator\n ]);\n}\n")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," For more information about the IMA.js REST Client see ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/jurca/IMA-plugin-rest-client"},"IMA-plugin-rest-client")," repository.")),(0,i.yg)("h3",{id:"4-provide"},"4. ",(0,i.yg)("inlineCode",{parentName:"h3"},"provide()")),(0,i.yg)("p",null,"Configures the default implementation of the specified interface.\nWhen the interface is requested from the OC the default implementation\nis provided."),(0,i.yg)("p",null,"The implementation constructor will obtain the provided default\ndependencies or the dependencies provided to the ",(0,i.yg)("a",{parentName:"p",href:"#3-create"},(0,i.yg)("inlineCode",{parentName:"a"},"create()"))," method."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\n//\n//\n\nimport { AbstractRestClient } from 'ima-plugin-rest-client';\nimport SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';\n\nexport let init = (ns, oc, config) => {\n oc.provide(AbstractRestClient, SimpleRestClient);\n\n // We didn't specify any dependencies on purpose\n // they were set in the previous example.\n // Otherwise it would be like this:\n\n oc.provide(\n AbstractRestClient,\n SimpleRestClient,\n [\n HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator\n ]\n );\n}\n")),(0,i.yg)("h2",{id:"obtaining-dependencies"},"Obtaining dependencies"),(0,i.yg)("p",null,"In IMA.js application you can obtain dependencies using many different methods, where each one can be useful in different situation and environment."),(0,i.yg)("h3",{id:"1-dependency-injection"},"1. Dependency Injection"),(0,i.yg)("p",null,"Apart from defining dependencies manually in ",(0,i.yg)("inlineCode",{parentName:"p"},"app/config/bind.js")," can every class (discovered by the OC) define a static getter ",(0,i.yg)("inlineCode",{parentName:"p"},"$dependencies"),". This getter should return list of dependencies specified by a class constructor or a ",(0,i.yg)("inlineCode",{parentName:"p"},"string")," alias."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/order/OrderController.js\n//\n// OrderController is discovered by the OC\n// because it's registered in app/config/routes.js\n\nimport { AbstractController } from '@ima/core';\nimport OrderService from 'app/model/order/OrderService.js';\nimport UserService from 'app/model/user/UserService.js';\n\nexport default class OrderController extends AbstractController {\n\n static get $dependencies() {\n return [\n OrderService,\n UserService,\n '$Router'\n ];\n }\n\n // ...\n")),(0,i.yg)("p",null,"Once you've defined the dependencies the constructor of the class will receive their instances."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"}," constructor(orderService, userService, $router) {\n super();\n\n this._orderService = orderService;\n this._userService = userService;\n this._$router = $router;\n }\n\n // ...\n\n")),(0,i.yg)("h4",{id:"optional-dependencies"},"Optional dependencies"),(0,i.yg)("p",null,"Dependencies can also be defined as optional.\nIf those dependencies are present in the OC, the constructor of the class will receive their instances.\nOtherwise it will receive ",(0,i.yg)("inlineCode",{parentName:"p"},"undefined"),"."),(0,i.yg)("p",null,"To use optional dependency, prefix ",(0,i.yg)("inlineCode",{parentName:"p"},"?")," is added before the string alias or the dependency is wrapped in array, with option specifying if it's optional or not."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/order/OrderController.js\n//\n// OrderController using optional dependencies\n\nimport { AbstractController } from '@ima/core';\nimport OrderService from 'app/model/order/OrderService.js';\nimport UserService from 'app/model/user/UserService.js';\n\nexport default class OrderController extends AbstractController {\n\n static get $dependencies() {\n return [\n [OrderService, { optional: true }],\n [UserService, { optional: false }],\n '?$Settings.api.serverApiUrl'\n ];\n }\n\n // ...\n")),(0,i.yg)("h4",{id:"spread-dependencies"},"Spread dependencies"),(0,i.yg)("p",null,"Dependencies can be added to array registered in the OC. These dependencies can be then spread to the class constructor using spread operator ",(0,i.yg)("inlineCode",{parentName:"p"},"..."),"."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\n//\n// Creating array of dependencies\n\nimport OrderService from 'app/model/order/OrderService.js';\nimport UserService from 'app/model/user/UserService.js';\n\nexport let init = (ns, oc, config) => {\n oc.constant('$spreadDependencies', [OrderService, UserService]);\n}\n")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/order/OrderController.js\n//\n// OrderController using spread dependencies\n\nimport { AbstractController } from '@ima/core';\n\nexport default class OrderController extends AbstractController {\n\n static get $dependencies() {\n return ['...$spreadDependencies'];\n }\n\n constructor(orderService, userService) {\n super();\n\n this._orderService = orderService;\n this._userService = userService;\n }\n\n // ...\n")),(0,i.yg)("p",null,"Spread and optional dependencies can be combined."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// ...\nstatic get $dependencies() {\n return ['...?$spreadDependencies'];\n}\n// ...\n")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// ...\nstatic get $dependencies() {\n return [['...$spreadDependencies', { optional: true }]];\n}\n// ...\n")),(0,i.yg)("h3",{id:"2-get"},"2. ",(0,i.yg)("inlineCode",{parentName:"h3"},"get()")),(0,i.yg)("p",null,"Retrieves the ",(0,i.yg)("strong",{parentName:"p"},"shared instance")," or value of the specified constant, alias,\nclass or factory function, interface, or fully qualified namespace path\n(the method checks these in this order in case of a name clash)."),(0,i.yg)("p",null,"The instance or value is created lazily the first time it is requested."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"oc.get('REST_API_ROOT_URL');\noc.get('UserAgent');\noc.get(AbstractRestClient); // This returns instance of `SimpleRestClient` as we defined in the previous example\n")),(0,i.yg)("h3",{id:"3-create"},"3. ",(0,i.yg)("inlineCode",{parentName:"h3"},"create()")),(0,i.yg)("p",null,"Creates a ",(0,i.yg)("strong",{parentName:"p"},"new instance")," of the class or retrieves the value generated by\nthe factory function identified by the provided name, class, interface,\nor factory function, passing in the provided dependencies."),(0,i.yg)("p",null,"The method uses the dependencies specified when the class, interface or\nfactory function has been registered with the object container if no\ncustom dependencies are provided."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"import { Cache, HttpAgent } from '@ima/core';\nimport SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';\nimport LinkGenerator from 'app/rest-client-impl/LinkGenerator';\n\noc.create('UserAgent');\noc.create(\n SimpleRestClient,\n [\n HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator\n ]\n);\n")),(0,i.yg)("p",null,"The last two method are not used as much as the first one but can be\nuseful inside the ",(0,i.yg)("inlineCode",{parentName:"p"},"app/config/bind.js")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"app/config/routes.js")),(0,i.yg)("h2",{id:"other-methods"},"Other methods"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"has()")," returns ",(0,i.yg)("inlineCode",{parentName:"li"},"true")," if the specified object, class or resource is registered\nwithin the OC.")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"if (oc.has('UserAgent') && oc.get('UserAgent').isMobile()) {\n // Register conditional stuff here...\n}\n")),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"getConstructorOf()")," returns the class constructor function of the specified class or alias.")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/22dd74f7.50708032.js b/assets/js/22dd74f7.50708032.js new file mode 100644 index 000000000..74ead516a --- /dev/null +++ b/assets/js/22dd74f7.50708032.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1567],{5226:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"api":[{"type":"category","label":"@ima","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"index","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Function: compileLanguages()","href":"/api/@ima/cli/functions/compileLanguages","docId":"api/@ima/cli/functions/compileLanguages","unlisted":false},{"type":"link","label":"Function: createCacheKey()","href":"/api/@ima/cli/functions/createCacheKey","docId":"api/@ima/cli/functions/createCacheKey","unlisted":false},{"type":"link","label":"Function: createDevServerConfig()","href":"/api/@ima/cli/functions/createDevServerConfig","docId":"api/@ima/cli/functions/createDevServerConfig","unlisted":false},{"type":"link","label":"Function: createWebpackConfig()","href":"/api/@ima/cli/functions/createWebpackConfig","docId":"api/@ima/cli/functions/createWebpackConfig","unlisted":false},{"type":"link","label":"Function: findRules()","href":"/api/@ima/cli/functions/findRules","docId":"api/@ima/cli/functions/findRules","unlisted":false},{"type":"link","label":"Function: getCurrentCoreJsVersion()","href":"/api/@ima/cli/functions/getCurrentCoreJsVersion","docId":"api/@ima/cli/functions/getCurrentCoreJsVersion","unlisted":false},{"type":"link","label":"Function: getLanguageEntryPoints()","href":"/api/@ima/cli/functions/getLanguageEntryPoints","docId":"api/@ima/cli/functions/getLanguageEntryPoints","unlisted":false},{"type":"link","label":"Function: resolveEnvironment()","href":"/api/@ima/cli/functions/resolveEnvironment","docId":"api/@ima/cli/functions/resolveEnvironment","unlisted":false},{"type":"link","label":"Function: resolveImaConfig()","href":"/api/@ima/cli/functions/resolveImaConfig","docId":"api/@ima/cli/functions/resolveImaConfig","unlisted":false},{"type":"link","label":"Function: runImaPluginsHook()","href":"/api/@ima/cli/functions/runImaPluginsHook","docId":"api/@ima/cli/functions/runImaPluginsHook","unlisted":false}]},{"type":"link","label":"@ima/cli","href":"/api/@ima/cli/globals","docId":"api/@ima/cli/globals","unlisted":false},{"type":"category","label":"interfaces","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Interface: ImaCliArgs","href":"/api/@ima/cli/interfaces/ImaCliArgs","docId":"api/@ima/cli/interfaces/ImaCliArgs","unlisted":false},{"type":"link","label":"Interface: ImaCliPlugin","href":"/api/@ima/cli/interfaces/ImaCliPlugin","docId":"api/@ima/cli/interfaces/ImaCliPlugin","unlisted":false},{"type":"link","label":"Interface: ImaConfigurationContext","href":"/api/@ima/cli/interfaces/ImaConfigurationContext","docId":"api/@ima/cli/interfaces/ImaConfigurationContext","unlisted":false}]},{"type":"category","label":"type-aliases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Type Alias: ImaCliCommand","href":"/api/@ima/cli/type-aliases/ImaCliCommand","docId":"api/@ima/cli/type-aliases/ImaCliCommand","unlisted":false},{"type":"link","label":"Type Alias: ImaConfig","href":"/api/@ima/cli/type-aliases/ImaConfig","docId":"api/@ima/cli/type-aliases/ImaConfig","unlisted":false}]},{"type":"category","label":"variables","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Variable: IMA\\\\_CONF\\\\_FILENAME","href":"/api/@ima/cli/variables/IMA_CONF_FILENAME","docId":"api/@ima/cli/variables/IMA_CONF_FILENAME","unlisted":false}]}],"href":"/api/@ima/cli/"},{"type":"category","label":"@ima/core","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"classes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Class: AbstractController\\\\<S, R, SS\\\\>","href":"/api/@ima/core/classes/AbstractController","docId":"api/@ima/core/classes/AbstractController","unlisted":false},{"type":"link","label":"Class: abstract AbstractExecution","href":"/api/@ima/core/classes/AbstractExecution","docId":"api/@ima/core/classes/AbstractExecution","unlisted":false},{"type":"link","label":"Class: abstract AbstractExtension\\\\<S, R, SS\\\\>","href":"/api/@ima/core/classes/AbstractExtension","docId":"api/@ima/core/classes/AbstractExtension","unlisted":false},{"type":"link","label":"Class: abstract AbstractPageManager","href":"/api/@ima/core/classes/AbstractPageManager","docId":"api/@ima/core/classes/AbstractPageManager","unlisted":false},{"type":"link","label":"Class: abstract AbstractRoute\\\\<T\\\\>","href":"/api/@ima/core/classes/AbstractRoute","docId":"api/@ima/core/classes/AbstractRoute","unlisted":false},{"type":"link","label":"Class: abstract AbstractRouter","href":"/api/@ima/core/classes/AbstractRouter","docId":"api/@ima/core/classes/AbstractRouter","unlisted":false},{"type":"link","label":"Class: Bootstrap","href":"/api/@ima/core/classes/Bootstrap","docId":"api/@ima/core/classes/Bootstrap","unlisted":false},{"type":"link","label":"Class: abstract Cache\\\\<V\\\\>","href":"/api/@ima/core/classes/Cache","docId":"api/@ima/core/classes/Cache","unlisted":false},{"type":"link","label":"Class: CacheEntry\\\\<V\\\\>","href":"/api/@ima/core/classes/CacheEntry","docId":"api/@ima/core/classes/CacheEntry","unlisted":false},{"type":"link","label":"Class: CacheFactory\\\\<V\\\\>","href":"/api/@ima/core/classes/CacheFactory","docId":"api/@ima/core/classes/CacheFactory","unlisted":false},{"type":"link","label":"Class: CacheImpl\\\\<V\\\\>","href":"/api/@ima/core/classes/CacheImpl","docId":"api/@ima/core/classes/CacheImpl","unlisted":false},{"type":"link","label":"Class: CancelError","href":"/api/@ima/core/classes/CancelError","docId":"api/@ima/core/classes/CancelError","unlisted":false},{"type":"link","label":"Class: ClientPageManager","href":"/api/@ima/core/classes/ClientPageManager","docId":"api/@ima/core/classes/ClientPageManager","unlisted":false},{"type":"link","label":"Class: ClientRouter","href":"/api/@ima/core/classes/ClientRouter","docId":"api/@ima/core/classes/ClientRouter","unlisted":false},{"type":"link","label":"Class: ClientWindow","href":"/api/@ima/core/classes/ClientWindow","docId":"api/@ima/core/classes/ClientWindow","unlisted":false},{"type":"link","label":"Class: ComponentUtils","href":"/api/@ima/core/classes/ComponentUtils","docId":"api/@ima/core/classes/ComponentUtils","unlisted":false},{"type":"link","label":"Class: abstract Controller\\\\<S, R, SS\\\\>","href":"/api/@ima/core/classes/Controller","docId":"api/@ima/core/classes/Controller","unlisted":false},{"type":"link","label":"Class: ControllerDecorator\\\\<S, R, SS\\\\>","href":"/api/@ima/core/classes/ControllerDecorator","docId":"api/@ima/core/classes/ControllerDecorator","unlisted":false},{"type":"link","label":"Class: CookieStorage","href":"/api/@ima/core/classes/CookieStorage","docId":"api/@ima/core/classes/CookieStorage","unlisted":false},{"type":"link","label":"Class: abstract Dictionary","href":"/api/@ima/core/classes/Dictionary","docId":"api/@ima/core/classes/Dictionary","unlisted":false},{"type":"link","label":"Class: abstract Dispatcher","href":"/api/@ima/core/classes/Dispatcher","docId":"api/@ima/core/classes/Dispatcher","unlisted":false},{"type":"link","label":"Class: DispatcherImpl","href":"/api/@ima/core/classes/DispatcherImpl","docId":"api/@ima/core/classes/DispatcherImpl","unlisted":false},{"type":"link","label":"Class: DynamicRoute","href":"/api/@ima/core/classes/DynamicRoute","docId":"api/@ima/core/classes/DynamicRoute","unlisted":false},{"type":"link","label":"Class: Entry\\\\<T\\\\>","href":"/api/@ima/core/classes/Entry","docId":"api/@ima/core/classes/Entry","unlisted":false},{"type":"link","label":"Class: abstract Error","href":"/api/@ima/core/classes/Error","docId":"api/@ima/core/classes/Error","unlisted":false},{"type":"link","label":"Class: abstract EventBus","href":"/api/@ima/core/classes/EventBus","docId":"api/@ima/core/classes/EventBus","unlisted":false},{"type":"link","label":"Class: EventBusImpl","href":"/api/@ima/core/classes/EventBusImpl","docId":"api/@ima/core/classes/EventBusImpl","unlisted":false},{"type":"link","label":"Class: abstract Execution","href":"/api/@ima/core/classes/Execution","docId":"api/@ima/core/classes/Execution","unlisted":false},{"type":"link","label":"Class: abstract Extension\\\\<S, R, SS\\\\>","href":"/api/@ima/core/classes/Extension","docId":"api/@ima/core/classes/Extension","unlisted":false},{"type":"link","label":"Class: GenericError\\\\<T\\\\>","href":"/api/@ima/core/classes/GenericError","docId":"api/@ima/core/classes/GenericError","unlisted":false},{"type":"link","label":"Class: abstract HttpAgent","href":"/api/@ima/core/classes/HttpAgent","docId":"api/@ima/core/classes/HttpAgent","unlisted":false},{"type":"link","label":"Class: HttpAgentImpl","href":"/api/@ima/core/classes/HttpAgentImpl","docId":"api/@ima/core/classes/HttpAgentImpl","unlisted":false},{"type":"link","label":"Class: HttpProxy","href":"/api/@ima/core/classes/HttpProxy","docId":"api/@ima/core/classes/HttpProxy","unlisted":false},{"type":"link","label":"Class: MapStorage\\\\<V\\\\>","href":"/api/@ima/core/classes/MapStorage","docId":"api/@ima/core/classes/MapStorage","unlisted":false},{"type":"link","label":"Class: MessageFormatDictionary","href":"/api/@ima/core/classes/MessageFormatDictionary","docId":"api/@ima/core/classes/MessageFormatDictionary","unlisted":false},{"type":"link","label":"Class: abstract MetaManager","href":"/api/@ima/core/classes/MetaManager","docId":"api/@ima/core/classes/MetaManager","unlisted":false},{"type":"link","label":"Class: MetaManagerImpl","href":"/api/@ima/core/classes/MetaManagerImpl","docId":"api/@ima/core/classes/MetaManagerImpl","unlisted":false},{"type":"link","label":"Class: Namespace","href":"/api/@ima/core/classes/Namespace","docId":"api/@ima/core/classes/Namespace","unlisted":false},{"type":"link","label":"Class: ObjectContainer","href":"/api/@ima/core/classes/ObjectContainer","docId":"api/@ima/core/classes/ObjectContainer","unlisted":false},{"type":"link","label":"Class: abstract Observable","href":"/api/@ima/core/classes/Observable","docId":"api/@ima/core/classes/Observable","unlisted":false},{"type":"link","label":"Class: ObservableImpl","href":"/api/@ima/core/classes/ObservableImpl","docId":"api/@ima/core/classes/ObservableImpl","unlisted":false},{"type":"link","label":"Class: PageFactory","href":"/api/@ima/core/classes/PageFactory","docId":"api/@ima/core/classes/PageFactory","unlisted":false},{"type":"link","label":"Class: abstract PageHandler","href":"/api/@ima/core/classes/PageHandler","docId":"api/@ima/core/classes/PageHandler","unlisted":false},{"type":"link","label":"Class: PageHandlerRegistry","href":"/api/@ima/core/classes/PageHandlerRegistry","docId":"api/@ima/core/classes/PageHandlerRegistry","unlisted":false},{"type":"link","label":"Class: abstract PageManager","href":"/api/@ima/core/classes/PageManager","docId":"api/@ima/core/classes/PageManager","unlisted":false},{"type":"link","label":"Class: PageMetaHandler","href":"/api/@ima/core/classes/PageMetaHandler","docId":"api/@ima/core/classes/PageMetaHandler","unlisted":false},{"type":"link","label":"Class: PageNavigationHandler","href":"/api/@ima/core/classes/PageNavigationHandler","docId":"api/@ima/core/classes/PageNavigationHandler","unlisted":false},{"type":"link","label":"Class: abstract PageRenderer","href":"/api/@ima/core/classes/PageRenderer","docId":"api/@ima/core/classes/PageRenderer","unlisted":false},{"type":"link","label":"Class: abstract PageStateManager\\\\<S\\\\>","href":"/api/@ima/core/classes/PageStateManager","docId":"api/@ima/core/classes/PageStateManager","unlisted":false},{"type":"link","label":"Class: PageStateManagerDecorator","href":"/api/@ima/core/classes/PageStateManagerDecorator","docId":"api/@ima/core/classes/PageStateManagerDecorator","unlisted":false},{"type":"link","label":"Class: PageStateManagerImpl\\\\<S\\\\>","href":"/api/@ima/core/classes/PageStateManagerImpl","docId":"api/@ima/core/classes/PageStateManagerImpl","unlisted":false},{"type":"link","label":"Class: PluginLoader","href":"/api/@ima/core/classes/PluginLoader","docId":"api/@ima/core/classes/PluginLoader","unlisted":false},{"type":"link","label":"Class: Request","href":"/api/@ima/core/classes/Request","docId":"api/@ima/core/classes/Request","unlisted":false},{"type":"link","label":"Class: Response","href":"/api/@ima/core/classes/Response","docId":"api/@ima/core/classes/Response","unlisted":false},{"type":"link","label":"Class: RouteFactory","href":"/api/@ima/core/classes/RouteFactory","docId":"api/@ima/core/classes/RouteFactory","unlisted":false},{"type":"link","label":"Class: abstract Router","href":"/api/@ima/core/classes/Router","docId":"api/@ima/core/classes/Router","unlisted":false},{"type":"link","label":"Class: SerialBatch","href":"/api/@ima/core/classes/SerialBatch","docId":"api/@ima/core/classes/SerialBatch","unlisted":false},{"type":"link","label":"Class: ServerPageManager","href":"/api/@ima/core/classes/ServerPageManager","docId":"api/@ima/core/classes/ServerPageManager","unlisted":false},{"type":"link","label":"Class: ServerRouter","href":"/api/@ima/core/classes/ServerRouter","docId":"api/@ima/core/classes/ServerRouter","unlisted":false},{"type":"link","label":"Class: ServerWindow","href":"/api/@ima/core/classes/ServerWindow","docId":"api/@ima/core/classes/ServerWindow","unlisted":false},{"type":"link","label":"Class: SessionMapStorage\\\\<V\\\\>","href":"/api/@ima/core/classes/SessionMapStorage","docId":"api/@ima/core/classes/SessionMapStorage","unlisted":false},{"type":"link","label":"Class: SessionStorage\\\\<V\\\\>","href":"/api/@ima/core/classes/SessionStorage","docId":"api/@ima/core/classes/SessionStorage","unlisted":false},{"type":"link","label":"Class: StaticRoute","href":"/api/@ima/core/classes/StaticRoute","docId":"api/@ima/core/classes/StaticRoute","unlisted":false},{"type":"link","label":"Class: abstract Storage\\\\<V\\\\>","href":"/api/@ima/core/classes/Storage","docId":"api/@ima/core/classes/Storage","unlisted":false},{"type":"link","label":"Class: UrlTransformer","href":"/api/@ima/core/classes/UrlTransformer","docId":"api/@ima/core/classes/UrlTransformer","unlisted":false},{"type":"link","label":"Class: WeakMapStorage\\\\<V\\\\>","href":"/api/@ima/core/classes/WeakMapStorage","docId":"api/@ima/core/classes/WeakMapStorage","unlisted":false},{"type":"link","label":"Class: abstract Window","href":"/api/@ima/core/classes/Window","docId":"api/@ima/core/classes/Window","unlisted":false}]},{"type":"category","label":"enumerations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Enumeration: ActionTypes","href":"/api/@ima/core/enumerations/ActionTypes","docId":"api/@ima/core/enumerations/ActionTypes","unlisted":false},{"type":"link","label":"Enumeration: BindingState","href":"/api/@ima/core/enumerations/BindingState","docId":"api/@ima/core/enumerations/BindingState","unlisted":false},{"type":"link","label":"Enumeration: HttpStatusCode","href":"/api/@ima/core/enumerations/HttpStatusCode","docId":"api/@ima/core/enumerations/HttpStatusCode","unlisted":false},{"type":"link","label":"Enumeration: RendererEvents","href":"/api/@ima/core/enumerations/RendererEvents","docId":"api/@ima/core/enumerations/RendererEvents","unlisted":false},{"type":"link","label":"Enumeration: RendererTypes","href":"/api/@ima/core/enumerations/RendererTypes","docId":"api/@ima/core/enumerations/RendererTypes","unlisted":false},{"type":"link","label":"Enumeration: RouteNames","href":"/api/@ima/core/enumerations/RouteNames","docId":"api/@ima/core/enumerations/RouteNames","unlisted":false},{"type":"link","label":"Enumeration: RouterEvents","href":"/api/@ima/core/enumerations/RouterEvents","docId":"api/@ima/core/enumerations/RouterEvents","unlisted":false},{"type":"link","label":"Enumeration: StateEvents","href":"/api/@ima/core/enumerations/StateEvents","docId":"api/@ima/core/enumerations/StateEvents","unlisted":false}]},{"type":"category","label":"functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Function: bootClientApp()","href":"/api/@ima/core/functions/bootClientApp","docId":"api/@ima/core/functions/bootClientApp","unlisted":false},{"type":"link","label":"Function: createImaApp()","href":"/api/@ima/core/functions/createImaApp","docId":"api/@ima/core/functions/createImaApp","unlisted":false},{"type":"link","label":"Function: getClientBootConfig()","href":"/api/@ima/core/functions/getClientBootConfig","docId":"api/@ima/core/functions/getClientBootConfig","unlisted":false},{"type":"link","label":"Function: getInitialImaConfigFunctions()","href":"/api/@ima/core/functions/getInitialImaConfigFunctions","docId":"api/@ima/core/functions/getInitialImaConfigFunctions","unlisted":false},{"type":"link","label":"Function: getInitialPluginConfig()","href":"/api/@ima/core/functions/getInitialPluginConfig","docId":"api/@ima/core/functions/getInitialPluginConfig","unlisted":false},{"type":"link","label":"Function: getNamespace()","href":"/api/@ima/core/functions/getNamespace","docId":"api/@ima/core/functions/getNamespace","unlisted":false},{"type":"link","label":"Function: onLoad()","href":"/api/@ima/core/functions/onLoad","docId":"api/@ima/core/functions/onLoad","unlisted":false},{"type":"link","label":"Function: reviveClientApp()","href":"/api/@ima/core/functions/reviveClientApp","docId":"api/@ima/core/functions/reviveClientApp","unlisted":false},{"type":"link","label":"Function: routeClientApp()","href":"/api/@ima/core/functions/routeClientApp","docId":"api/@ima/core/functions/routeClientApp","unlisted":false}]},{"type":"link","label":"@ima/core","href":"/api/@ima/core/globals","docId":"api/@ima/core/globals","unlisted":false},{"type":"category","label":"interfaces","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Interface: AppEnvironment","href":"/api/@ima/core/interfaces/AppEnvironment","docId":"api/@ima/core/interfaces/AppEnvironment","unlisted":false},{"type":"link","label":"Interface: BootConfig","href":"/api/@ima/core/interfaces/BootConfig","docId":"api/@ima/core/interfaces/BootConfig","unlisted":false},{"type":"link","label":"Interface: BootServices","href":"/api/@ima/core/interfaces/BootServices","docId":"api/@ima/core/interfaces/BootServices","unlisted":false},{"type":"link","label":"Interface: DictionaryMap","href":"/api/@ima/core/interfaces/DictionaryMap","docId":"api/@ima/core/interfaces/DictionaryMap","unlisted":false},{"type":"link","label":"Interface: DispatcherEventsMap","href":"/api/@ima/core/interfaces/DispatcherEventsMap","docId":"api/@ima/core/interfaces/DispatcherEventsMap","unlisted":false},{"type":"link","label":"Interface: Environment","href":"/api/@ima/core/interfaces/Environment","docId":"api/@ima/core/interfaces/Environment","unlisted":false},{"type":"link","label":"Interface: GlobalImaObject","href":"/api/@ima/core/interfaces/GlobalImaObject","docId":"api/@ima/core/interfaces/GlobalImaObject","unlisted":false},{"type":"link","label":"Interface: HttpAgentRequestOptions","href":"/api/@ima/core/interfaces/HttpAgentRequestOptions","docId":"api/@ima/core/interfaces/HttpAgentRequestOptions","unlisted":false},{"type":"link","label":"Interface: ImaRequestInit","href":"/api/@ima/core/interfaces/ImaRequestInit","docId":"api/@ima/core/interfaces/ImaRequestInit","unlisted":false},{"type":"link","label":"Interface: InitAppConfig","href":"/api/@ima/core/interfaces/InitAppConfig","docId":"api/@ima/core/interfaces/InitAppConfig","unlisted":false},{"type":"link","label":"Interface: InitImaConfig","href":"/api/@ima/core/interfaces/InitImaConfig","docId":"api/@ima/core/interfaces/InitImaConfig","unlisted":false},{"type":"link","label":"Interface: InitPluginConfig","href":"/api/@ima/core/interfaces/InitPluginConfig","docId":"api/@ima/core/interfaces/InitPluginConfig","unlisted":false},{"type":"link","label":"Interface: Manifest","href":"/api/@ima/core/interfaces/Manifest","docId":"api/@ima/core/interfaces/Manifest","unlisted":false},{"type":"link","label":"Interface: ManifestAsset","href":"/api/@ima/core/interfaces/ManifestAsset","docId":"api/@ima/core/interfaces/ManifestAsset","unlisted":false},{"type":"link","label":"Interface: OCAliasMap","href":"/api/@ima/core/interfaces/OCAliasMap","docId":"api/@ima/core/interfaces/OCAliasMap","unlisted":false},{"type":"link","label":"Interface: PageAction","href":"/api/@ima/core/interfaces/PageAction","docId":"api/@ima/core/interfaces/PageAction","unlisted":false},{"type":"link","label":"Interface: PageRendererSettings","href":"/api/@ima/core/interfaces/PageRendererSettings","docId":"api/@ima/core/interfaces/PageRendererSettings","unlisted":false},{"type":"link","label":"Interface: Resources","href":"/api/@ima/core/interfaces/Resources","docId":"api/@ima/core/interfaces/Resources","unlisted":false},{"type":"link","label":"Interface: RouteAction","href":"/api/@ima/core/interfaces/RouteAction","docId":"api/@ima/core/interfaces/RouteAction","unlisted":false},{"type":"link","label":"Interface: RouteFactoryOptions","href":"/api/@ima/core/interfaces/RouteFactoryOptions","docId":"api/@ima/core/interfaces/RouteFactoryOptions","unlisted":false},{"type":"link","label":"Interface: RouteLocals","href":"/api/@ima/core/interfaces/RouteLocals","docId":"api/@ima/core/interfaces/RouteLocals","unlisted":false},{"type":"link","label":"Interface: RouteOptions","href":"/api/@ima/core/interfaces/RouteOptions","docId":"api/@ima/core/interfaces/RouteOptions","unlisted":false},{"type":"link","label":"Interface: Settings","href":"/api/@ima/core/interfaces/Settings","docId":"api/@ima/core/interfaces/Settings","unlisted":false},{"type":"link","label":"Interface: Utils","href":"/api/@ima/core/interfaces/Utils","docId":"api/@ima/core/interfaces/Utils","unlisted":false},{"type":"link","label":"Interface: WindowCustomEventsMap","href":"/api/@ima/core/interfaces/WindowCustomEventsMap","docId":"api/@ima/core/interfaces/WindowCustomEventsMap","unlisted":false}]},{"type":"category","label":"type-aliases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Type Alias: AnyParameters","href":"/api/@ima/core/type-aliases/AnyParameters","docId":"api/@ima/core/type-aliases/AnyParameters","unlisted":false},{"type":"link","label":"Type Alias: AppSettings","href":"/api/@ima/core/type-aliases/AppSettings","docId":"api/@ima/core/type-aliases/AppSettings","unlisted":false},{"type":"link","label":"Type Alias: AsyncRouteController","href":"/api/@ima/core/type-aliases/AsyncRouteController","docId":"api/@ima/core/type-aliases/AsyncRouteController","unlisted":false},{"type":"link","label":"Type Alias: AsyncRouteView","href":"/api/@ima/core/type-aliases/AsyncRouteView","docId":"api/@ima/core/type-aliases/AsyncRouteView","unlisted":false},{"type":"link","label":"Type Alias: BootSettings","href":"/api/@ima/core/type-aliases/BootSettings","docId":"api/@ima/core/type-aliases/BootSettings","unlisted":false},{"type":"link","label":"Type Alias: Cookie","href":"/api/@ima/core/type-aliases/Cookie","docId":"api/@ima/core/type-aliases/Cookie","unlisted":false},{"type":"link","label":"Type Alias: CookieOptions","href":"/api/@ima/core/type-aliases/CookieOptions","docId":"api/@ima/core/type-aliases/CookieOptions","unlisted":false},{"type":"link","label":"Type Alias: CookieTransformFunction","href":"/api/@ima/core/type-aliases/CookieTransformFunction","docId":"api/@ima/core/type-aliases/CookieTransformFunction","unlisted":false},{"type":"link","label":"Type Alias: DecoratedOCAliasMap","href":"/api/@ima/core/type-aliases/DecoratedOCAliasMap","docId":"api/@ima/core/type-aliases/DecoratedOCAliasMap","unlisted":false},{"type":"link","label":"Type Alias: Dependencies\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/Dependencies","docId":"api/@ima/core/type-aliases/Dependencies","unlisted":false},{"type":"link","label":"Type Alias: Dependency\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/Dependency","docId":"api/@ima/core/type-aliases/Dependency","unlisted":false},{"type":"link","label":"Type Alias: DictionaryConfig","href":"/api/@ima/core/type-aliases/DictionaryConfig","docId":"api/@ima/core/type-aliases/DictionaryConfig","unlisted":false},{"type":"link","label":"Type Alias: DictionaryData","href":"/api/@ima/core/type-aliases/DictionaryData","docId":"api/@ima/core/type-aliases/DictionaryData","unlisted":false},{"type":"link","label":"Type Alias: DispatcherListener()\\\\<D\\\\>","href":"/api/@ima/core/type-aliases/DispatcherListener","docId":"api/@ima/core/type-aliases/DispatcherListener","unlisted":false},{"type":"link","label":"Type Alias: EntryOptions","href":"/api/@ima/core/type-aliases/EntryOptions","docId":"api/@ima/core/type-aliases/EntryOptions","unlisted":false},{"type":"link","label":"Type Alias: EventBusEventHandler()","href":"/api/@ima/core/type-aliases/EventBusEventHandler","docId":"api/@ima/core/type-aliases/EventBusEventHandler","unlisted":false},{"type":"link","label":"Type Alias: EventBusListener()","href":"/api/@ima/core/type-aliases/EventBusListener","docId":"api/@ima/core/type-aliases/EventBusListener","unlisted":false},{"type":"link","label":"Type Alias: EventBusOptions","href":"/api/@ima/core/type-aliases/EventBusOptions","docId":"api/@ima/core/type-aliases/EventBusOptions","unlisted":false},{"type":"link","label":"Type Alias: ExecutionJob()","href":"/api/@ima/core/type-aliases/ExecutionJob","docId":"api/@ima/core/type-aliases/ExecutionJob","unlisted":false},{"type":"link","label":"Type Alias: GenericErrorParams","href":"/api/@ima/core/type-aliases/GenericErrorParams","docId":"api/@ima/core/type-aliases/GenericErrorParams","unlisted":false},{"type":"link","label":"Type Alias: HttpAgentResponse\\\\<B\\\\>","href":"/api/@ima/core/type-aliases/HttpAgentResponse","docId":"api/@ima/core/type-aliases/HttpAgentResponse","unlisted":false},{"type":"link","label":"Type Alias: HttpProxyErrorParams\\\\<B\\\\>","href":"/api/@ima/core/type-aliases/HttpProxyErrorParams","docId":"api/@ima/core/type-aliases/HttpProxyErrorParams","unlisted":false},{"type":"link","label":"Type Alias: HttpProxyRequestParams","href":"/api/@ima/core/type-aliases/HttpProxyRequestParams","docId":"api/@ima/core/type-aliases/HttpProxyRequestParams","unlisted":false},{"type":"link","label":"Type Alias: InitBindFunction()","href":"/api/@ima/core/type-aliases/InitBindFunction","docId":"api/@ima/core/type-aliases/InitBindFunction","unlisted":false},{"type":"link","label":"Type Alias: InitRoutesFunction()","href":"/api/@ima/core/type-aliases/InitRoutesFunction","docId":"api/@ima/core/type-aliases/InitRoutesFunction","unlisted":false},{"type":"link","label":"Type Alias: InitServicesFunction()","href":"/api/@ima/core/type-aliases/InitServicesFunction","docId":"api/@ima/core/type-aliases/InitServicesFunction","unlisted":false},{"type":"link","label":"Type Alias: InitSettingsFunction()","href":"/api/@ima/core/type-aliases/InitSettingsFunction","docId":"api/@ima/core/type-aliases/InitSettingsFunction","unlisted":false},{"type":"link","label":"Type Alias: LoadedResources\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/LoadedResources","docId":"api/@ima/core/type-aliases/LoadedResources","unlisted":false},{"type":"link","label":"Type Alias: LocalizationFunction()","href":"/api/@ima/core/type-aliases/LocalizationFunction","docId":"api/@ima/core/type-aliases/LocalizationFunction","unlisted":false},{"type":"link","label":"Type Alias: ManageArgs","href":"/api/@ima/core/type-aliases/ManageArgs","docId":"api/@ima/core/type-aliases/ManageArgs","unlisted":false},{"type":"link","label":"Type Alias: ManagedPage","href":"/api/@ima/core/type-aliases/ManagedPage","docId":"api/@ima/core/type-aliases/ManagedPage","unlisted":false},{"type":"link","label":"Type Alias: MetaAttributes","href":"/api/@ima/core/type-aliases/MetaAttributes","docId":"api/@ima/core/type-aliases/MetaAttributes","unlisted":false},{"type":"link","label":"Type Alias: MetaManagerRecord\\\\<K\\\\>","href":"/api/@ima/core/type-aliases/MetaManagerRecord","docId":"api/@ima/core/type-aliases/MetaManagerRecord","unlisted":false},{"type":"link","label":"Type Alias: MetaManagerRecordKeys","href":"/api/@ima/core/type-aliases/MetaManagerRecordKeys","docId":"api/@ima/core/type-aliases/MetaManagerRecordKeys","unlisted":false},{"type":"link","label":"Type Alias: MetaValue","href":"/api/@ima/core/type-aliases/MetaValue","docId":"api/@ima/core/type-aliases/MetaValue","unlisted":false},{"type":"link","label":"Type Alias: NativeListener()","href":"/api/@ima/core/type-aliases/NativeListener","docId":"api/@ima/core/type-aliases/NativeListener","unlisted":false},{"type":"link","label":"Type Alias: OCInjectable\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/OCInjectable","docId":"api/@ima/core/type-aliases/OCInjectable","unlisted":false},{"type":"link","label":"Type Alias: OCInstance\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/OCInstance","docId":"api/@ima/core/type-aliases/OCInstance","unlisted":false},{"type":"link","label":"Type Alias: OCInstanceConstrain\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/OCInstanceConstrain","docId":"api/@ima/core/type-aliases/OCInstanceConstrain","unlisted":false},{"type":"link","label":"Type Alias: ObjectParameters","href":"/api/@ima/core/type-aliases/ObjectParameters","docId":"api/@ima/core/type-aliases/ObjectParameters","unlisted":false},{"type":"link","label":"Type Alias: PageData","href":"/api/@ima/core/type-aliases/PageData","docId":"api/@ima/core/type-aliases/PageData","unlisted":false},{"type":"link","label":"Type Alias: PageState","href":"/api/@ima/core/type-aliases/PageState","docId":"api/@ima/core/type-aliases/PageState","unlisted":false},{"type":"link","label":"Type Alias: PluginInitBindFunction()","href":"/api/@ima/core/type-aliases/PluginInitBindFunction","docId":"api/@ima/core/type-aliases/PluginInitBindFunction","unlisted":false},{"type":"link","label":"Type Alias: PluginInitServicesFunction()","href":"/api/@ima/core/type-aliases/PluginInitServicesFunction","docId":"api/@ima/core/type-aliases/PluginInitServicesFunction","unlisted":false},{"type":"link","label":"Type Alias: PluginInitSettingsFunction()","href":"/api/@ima/core/type-aliases/PluginInitSettingsFunction","docId":"api/@ima/core/type-aliases/PluginInitSettingsFunction","unlisted":false},{"type":"link","label":"Type Alias: Resource","href":"/api/@ima/core/type-aliases/Resource","docId":"api/@ima/core/type-aliases/Resource","unlisted":false},{"type":"link","label":"Type Alias: RouteController","href":"/api/@ima/core/type-aliases/RouteController","docId":"api/@ima/core/type-aliases/RouteController","unlisted":false},{"type":"link","label":"Type Alias: RouteParams\\\\<T\\\\>","href":"/api/@ima/core/type-aliases/RouteParams","docId":"api/@ima/core/type-aliases/RouteParams","unlisted":false},{"type":"link","label":"Type Alias: RoutePathExpression","href":"/api/@ima/core/type-aliases/RoutePathExpression","docId":"api/@ima/core/type-aliases/RoutePathExpression","unlisted":false},{"type":"link","label":"Type Alias: RouteView","href":"/api/@ima/core/type-aliases/RouteView","docId":"api/@ima/core/type-aliases/RouteView","unlisted":false},{"type":"link","label":"Type Alias: RouterMiddleware()","href":"/api/@ima/core/type-aliases/RouterMiddleware","docId":"api/@ima/core/type-aliases/RouterMiddleware","unlisted":false},{"type":"link","label":"Type Alias: SerializedCacheEntry\\\\<V\\\\>","href":"/api/@ima/core/type-aliases/SerializedCacheEntry","docId":"api/@ima/core/type-aliases/SerializedCacheEntry","unlisted":false},{"type":"link","label":"Type Alias: SerializedData\\\\<V\\\\>","href":"/api/@ima/core/type-aliases/SerializedData","docId":"api/@ima/core/type-aliases/SerializedData","unlisted":false},{"type":"link","label":"Type Alias: StringParameters","href":"/api/@ima/core/type-aliases/StringParameters","docId":"api/@ima/core/type-aliases/StringParameters","unlisted":false},{"type":"link","label":"Type Alias: UnknownParameters","href":"/api/@ima/core/type-aliases/UnknownParameters","docId":"api/@ima/core/type-aliases/UnknownParameters","unlisted":false},{"type":"link","label":"Type Alias: UnknownPromiseParameters","href":"/api/@ima/core/type-aliases/UnknownPromiseParameters","docId":"api/@ima/core/type-aliases/UnknownPromiseParameters","unlisted":false},{"type":"link","label":"Type Alias: WindowEventTargets","href":"/api/@ima/core/type-aliases/WindowEventTargets","docId":"api/@ima/core/type-aliases/WindowEventTargets","unlisted":false},{"type":"link","label":"Type Alias: WindowEventTargetsMap\\\\<E\\\\>","href":"/api/@ima/core/type-aliases/WindowEventTargetsMap","docId":"api/@ima/core/type-aliases/WindowEventTargetsMap","unlisted":false}]},{"type":"category","label":"variables","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Variable: ns","href":"/api/@ima/core/variables/ns","docId":"api/@ima/core/variables/ns","unlisted":false},{"type":"link","label":"Variable: pluginLoader","href":"/api/@ima/core/variables/pluginLoader","docId":"api/@ima/core/variables/pluginLoader","unlisted":false}]}],"href":"/api/@ima/core/"},{"type":"category","label":"index","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"classes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Class: Logger","href":"/api/@ima/dev-utils/classes/Logger","docId":"api/@ima/dev-utils/classes/Logger","unlisted":false}]},{"type":"category","label":"functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Function: createLogger()","href":"/api/@ima/dev-utils/functions/createLogger","docId":"api/@ima/dev-utils/functions/createLogger","unlisted":false},{"type":"link","label":"Function: createSourceFragment()","href":"/api/@ima/dev-utils/functions/createSourceFragment","docId":"api/@ima/dev-utils/functions/createSourceFragment","unlisted":false},{"type":"link","label":"Function: extractSourceMappingUrl()","href":"/api/@ima/dev-utils/functions/extractSourceMappingUrl","docId":"api/@ima/dev-utils/functions/extractSourceMappingUrl","unlisted":false},{"type":"link","label":"Function: formatError()","href":"/api/@ima/dev-utils/functions/formatError","docId":"api/@ima/dev-utils/functions/formatError","unlisted":false},{"type":"link","label":"Function: getSource()","href":"/api/@ima/dev-utils/functions/getSource","docId":"api/@ima/dev-utils/functions/getSource","unlisted":false},{"type":"link","label":"Function: parseCompileError()","href":"/api/@ima/dev-utils/functions/parseCompileError","docId":"api/@ima/dev-utils/functions/parseCompileError","unlisted":false},{"type":"link","label":"Function: parseError()","href":"/api/@ima/dev-utils/functions/parseError","docId":"api/@ima/dev-utils/functions/parseError","unlisted":false},{"type":"link","label":"Function: printTime()","href":"/api/@ima/dev-utils/functions/printTime","docId":"api/@ima/dev-utils/functions/printTime","unlisted":false},{"type":"link","label":"Function: resolveErrorType()","href":"/api/@ima/dev-utils/functions/resolveErrorType","docId":"api/@ima/dev-utils/functions/resolveErrorType","unlisted":false},{"type":"link","label":"Function: time()","href":"/api/@ima/dev-utils/functions/time","docId":"api/@ima/dev-utils/functions/time","unlisted":false}]},{"type":"link","label":"@ima/dev-utils","href":"/api/@ima/dev-utils/globals","docId":"api/@ima/dev-utils/globals","unlisted":false},{"type":"category","label":"interfaces","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Interface: CompileError","href":"/api/@ima/dev-utils/interfaces/CompileError","docId":"api/@ima/dev-utils/interfaces/CompileError","unlisted":false},{"type":"link","label":"Interface: FragmentLine","href":"/api/@ima/dev-utils/interfaces/FragmentLine","docId":"api/@ima/dev-utils/interfaces/FragmentLine","unlisted":false},{"type":"link","label":"Interface: LoggerOptions","href":"/api/@ima/dev-utils/interfaces/LoggerOptions","docId":"api/@ima/dev-utils/interfaces/LoggerOptions","unlisted":false}]},{"type":"category","label":"type-aliases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Type Alias: ParsedErrorData","href":"/api/@ima/dev-utils/type-aliases/ParsedErrorData","docId":"api/@ima/dev-utils/type-aliases/ParsedErrorData","unlisted":false}]},{"type":"category","label":"variables","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Variable: COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE","href":"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","docId":"api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","unlisted":false},{"type":"link","label":"Variable: RE\\\\_SOURCE\\\\_MAPPING\\\\_URL","href":"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","docId":"api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","unlisted":false},{"type":"link","label":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_CHROME","href":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","docId":"api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","unlisted":false},{"type":"link","label":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX","href":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","docId":"api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","unlisted":false},{"type":"link","label":"Variable: logger","href":"/api/@ima/dev-utils/variables/logger","docId":"api/@ima/dev-utils/variables/logger","unlisted":false}]}],"href":"/api/@ima/dev-utils/"},{"type":"category","label":"index","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Function: preprocessTransformer()","href":"/api/@ima/plugin-cli/functions/preprocessTransformer","docId":"api/@ima/plugin-cli/functions/preprocessTransformer","unlisted":false},{"type":"link","label":"Function: swcTransformer()","href":"/api/@ima/plugin-cli/functions/swcTransformer","docId":"api/@ima/plugin-cli/functions/swcTransformer","unlisted":false},{"type":"link","label":"Function: typescriptDeclarationsPlugin()","href":"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","docId":"api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","unlisted":false}]},{"type":"link","label":"@ima/plugin-cli","href":"/api/@ima/plugin-cli/globals","docId":"api/@ima/plugin-cli/globals","unlisted":false},{"type":"category","label":"interfaces","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Interface: Context","href":"/api/@ima/plugin-cli/interfaces/Context","docId":"api/@ima/plugin-cli/interfaces/Context","unlisted":false},{"type":"link","label":"Interface: ImaPluginConfig","href":"/api/@ima/plugin-cli/interfaces/ImaPluginConfig","docId":"api/@ima/plugin-cli/interfaces/ImaPluginConfig","unlisted":false},{"type":"link","label":"Interface: PipeContext","href":"/api/@ima/plugin-cli/interfaces/PipeContext","docId":"api/@ima/plugin-cli/interfaces/PipeContext","unlisted":false},{"type":"link","label":"Interface: Source","href":"/api/@ima/plugin-cli/interfaces/Source","docId":"api/@ima/plugin-cli/interfaces/Source","unlisted":false}]},{"type":"category","label":"type-aliases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Type Alias: Command","href":"/api/@ima/plugin-cli/type-aliases/Command","docId":"api/@ima/plugin-cli/type-aliases/Command","unlisted":false},{"type":"link","label":"Type Alias: Plugin()","href":"/api/@ima/plugin-cli/type-aliases/Plugin","docId":"api/@ima/plugin-cli/type-aliases/Plugin","unlisted":false},{"type":"link","label":"Type Alias: Transformer()","href":"/api/@ima/plugin-cli/type-aliases/Transformer","docId":"api/@ima/plugin-cli/type-aliases/Transformer","unlisted":false},{"type":"link","label":"Type Alias: TransformerOptions","href":"/api/@ima/plugin-cli/type-aliases/TransformerOptions","docId":"api/@ima/plugin-cli/type-aliases/TransformerOptions","unlisted":false}]},{"type":"category","label":"variables","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Variable: clientServerConfig","href":"/api/@ima/plugin-cli/variables/clientServerConfig","docId":"api/@ima/plugin-cli/variables/clientServerConfig","unlisted":false},{"type":"link","label":"Variable: defaultConfig","href":"/api/@ima/plugin-cli/variables/defaultConfig","docId":"api/@ima/plugin-cli/variables/defaultConfig","unlisted":false},{"type":"link","label":"Variable: nodeConfig","href":"/api/@ima/plugin-cli/variables/nodeConfig","docId":"api/@ima/plugin-cli/variables/nodeConfig","unlisted":false}]}],"href":"/api/@ima/plugin-cli/"},{"type":"category","label":"@ima/react-page-renderer","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"classes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Class: abstract AbstractComponent\\\\<P, S, SS\\\\>","href":"/api/@ima/react-page-renderer/classes/AbstractComponent","docId":"api/@ima/react-page-renderer/classes/AbstractComponent","unlisted":false},{"type":"link","label":"Class: abstract AbstractPureComponent\\\\<P, S, SS\\\\>","href":"/api/@ima/react-page-renderer/classes/AbstractPureComponent","docId":"api/@ima/react-page-renderer/classes/AbstractPureComponent","unlisted":false},{"type":"link","label":"Class: BlankManagedRootView\\\\<P, S, SS\\\\>","href":"/api/@ima/react-page-renderer/classes/BlankManagedRootView","docId":"api/@ima/react-page-renderer/classes/BlankManagedRootView","unlisted":false},{"type":"link","label":"Class: ErrorBoundary","href":"/api/@ima/react-page-renderer/classes/ErrorBoundary","docId":"api/@ima/react-page-renderer/classes/ErrorBoundary","unlisted":false},{"type":"link","label":"Class: PageRendererFactory","href":"/api/@ima/react-page-renderer/classes/PageRendererFactory","docId":"api/@ima/react-page-renderer/classes/PageRendererFactory","unlisted":false},{"type":"link","label":"Class: ServerPageRenderer","href":"/api/@ima/react-page-renderer/classes/ServerPageRenderer","docId":"api/@ima/react-page-renderer/classes/ServerPageRenderer","unlisted":false},{"type":"link","label":"Class: ViewAdapter","href":"/api/@ima/react-page-renderer/classes/ViewAdapter","docId":"api/@ima/react-page-renderer/classes/ViewAdapter","unlisted":false}]},{"type":"category","label":"functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Function: cssClasses()","href":"/api/@ima/react-page-renderer/functions/cssClasses","docId":"api/@ima/react-page-renderer/functions/cssClasses","unlisted":false},{"type":"link","label":"Function: defaultCssClasses()","href":"/api/@ima/react-page-renderer/functions/defaultCssClasses","docId":"api/@ima/react-page-renderer/functions/defaultCssClasses","unlisted":false},{"type":"link","label":"Function: fire()","href":"/api/@ima/react-page-renderer/functions/fire","docId":"api/@ima/react-page-renderer/functions/fire","unlisted":false},{"type":"link","label":"Function: getUtils()","href":"/api/@ima/react-page-renderer/functions/getUtils","docId":"api/@ima/react-page-renderer/functions/getUtils","unlisted":false},{"type":"link","label":"Function: link()","href":"/api/@ima/react-page-renderer/functions/link","docId":"api/@ima/react-page-renderer/functions/link","unlisted":false},{"type":"link","label":"Function: listen()","href":"/api/@ima/react-page-renderer/functions/listen","docId":"api/@ima/react-page-renderer/functions/listen","unlisted":false},{"type":"link","label":"Function: localize()","href":"/api/@ima/react-page-renderer/functions/localize","docId":"api/@ima/react-page-renderer/functions/localize","unlisted":false},{"type":"link","label":"Function: unlisten()","href":"/api/@ima/react-page-renderer/functions/unlisten","docId":"api/@ima/react-page-renderer/functions/unlisten","unlisted":false},{"type":"link","label":"Function: useComponent()","href":"/api/@ima/react-page-renderer/functions/useComponent","docId":"api/@ima/react-page-renderer/functions/useComponent","unlisted":false},{"type":"link","label":"Function: useComponentUtils()","href":"/api/@ima/react-page-renderer/functions/useComponentUtils","docId":"api/@ima/react-page-renderer/functions/useComponentUtils","unlisted":false},{"type":"link","label":"Function: useCssClasses()","href":"/api/@ima/react-page-renderer/functions/useCssClasses","docId":"api/@ima/react-page-renderer/functions/useCssClasses","unlisted":false},{"type":"link","label":"Function: useDispatcher()","href":"/api/@ima/react-page-renderer/functions/useDispatcher","docId":"api/@ima/react-page-renderer/functions/useDispatcher","unlisted":false},{"type":"link","label":"Function: useEventBus()","href":"/api/@ima/react-page-renderer/functions/useEventBus","docId":"api/@ima/react-page-renderer/functions/useEventBus","unlisted":false},{"type":"link","label":"Function: useLink()","href":"/api/@ima/react-page-renderer/functions/useLink","docId":"api/@ima/react-page-renderer/functions/useLink","unlisted":false},{"type":"link","label":"Function: useLocalize()","href":"/api/@ima/react-page-renderer/functions/useLocalize","docId":"api/@ima/react-page-renderer/functions/useLocalize","unlisted":false},{"type":"link","label":"Function: useOnce()","href":"/api/@ima/react-page-renderer/functions/useOnce","docId":"api/@ima/react-page-renderer/functions/useOnce","unlisted":false},{"type":"link","label":"Function: usePageContext()","href":"/api/@ima/react-page-renderer/functions/usePageContext","docId":"api/@ima/react-page-renderer/functions/usePageContext","unlisted":false},{"type":"link","label":"Function: useSettings()","href":"/api/@ima/react-page-renderer/functions/useSettings","docId":"api/@ima/react-page-renderer/functions/useSettings","unlisted":false},{"type":"link","label":"Function: useWindowEvent()","href":"/api/@ima/react-page-renderer/functions/useWindowEvent","docId":"api/@ima/react-page-renderer/functions/useWindowEvent","unlisted":false}]},{"type":"link","label":"@ima/react-page-renderer","href":"/api/@ima/react-page-renderer/globals","docId":"api/@ima/react-page-renderer/globals","unlisted":false},{"type":"category","label":"interfaces","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Interface: PageContextType","href":"/api/@ima/react-page-renderer/interfaces/PageContextType","docId":"api/@ima/react-page-renderer/interfaces/PageContextType","unlisted":false},{"type":"link","label":"Interface: ViewAdapterProps","href":"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps","docId":"api/@ima/react-page-renderer/interfaces/ViewAdapterProps","unlisted":false},{"type":"link","label":"Interface: useComponentType","href":"/api/@ima/react-page-renderer/interfaces/useComponentType","docId":"api/@ima/react-page-renderer/interfaces/useComponentType","unlisted":false},{"type":"link","label":"Interface: useDispatcherType","href":"/api/@ima/react-page-renderer/interfaces/useDispatcherType","docId":"api/@ima/react-page-renderer/interfaces/useDispatcherType","unlisted":false},{"type":"link","label":"Interface: useEventBusType","href":"/api/@ima/react-page-renderer/interfaces/useEventBusType","docId":"api/@ima/react-page-renderer/interfaces/useEventBusType","unlisted":false}]},{"type":"category","label":"variables","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Variable: PageContext","href":"/api/@ima/react-page-renderer/variables/PageContext","docId":"api/@ima/react-page-renderer/variables/PageContext","unlisted":false}]}],"href":"/api/@ima/react-page-renderer/"}]},{"type":"link","label":"Documentation","href":"/api/","docId":"api/index","unlisted":false}],"tutorial":[{"type":"category","label":"Tutorial","collapsed":false,"items":[{"type":"link","label":"Introduction","href":"/tutorial/introduction","docId":"tutorial/introduction","unlisted":false},{"type":"link","label":"Static View","href":"/tutorial/static-view","docId":"tutorial/static-view","unlisted":false},{"type":"link","label":"Adding Some State","href":"/tutorial/adding-some-state","docId":"tutorial/adding-some-state","unlisted":false},{"type":"link","label":"Fetching Data","href":"/tutorial/fetching-data","docId":"tutorial/fetching-data","unlisted":false},{"type":"link","label":"Writing Posts","href":"/tutorial/writing-posts","docId":"tutorial/writing-posts","unlisted":false},{"type":"link","label":"Final Polish","href":"/tutorial/final-polish","docId":"tutorial/final-polish","unlisted":false}],"collapsible":true}],"docs":[{"type":"category","label":"Introduction","collapsed":false,"items":[{"type":"link","label":"Getting Started with IMA.js","href":"/introduction/getting-started","docId":"introduction/getting-started","unlisted":false},{"type":"link","label":"Configuration options","href":"/introduction/configuration","docId":"introduction/configuration","unlisted":false}],"collapsible":true},{"type":"category","label":"Basic Features","collapsed":false,"items":[{"type":"link","label":"Controller lifecycle","href":"/basic-features/controller-lifecycle","docId":"basic-features/controller-lifecycle","unlisted":false},{"type":"link","label":"Views & Components","href":"/basic-features/views-and-components","docId":"basic-features/views-and-components","unlisted":false},{"type":"link","label":"Data fetching","href":"/basic-features/data-fetching","docId":"basic-features/data-fetching","unlisted":false},{"type":"category","label":"Routing","collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/basic-features/routing/introduction","docId":"basic-features/routing/introduction","unlisted":false},{"type":"link","label":"Dynamic Routes","href":"/basic-features/routing/dynamic-routes","docId":"basic-features/routing/dynamic-routes","unlisted":false},{"type":"link","label":"Middlewares","href":"/basic-features/routing/middlewares","docId":"basic-features/routing/middlewares","unlisted":false},{"type":"link","label":"Async Routing","href":"/basic-features/routing/async-routing","docId":"basic-features/routing/async-routing","unlisted":false}],"collapsible":true},{"type":"link","label":"Extensions","href":"/basic-features/extensions","docId":"basic-features/extensions","unlisted":false},{"type":"link","label":"Object Container","href":"/basic-features/object-container","docId":"basic-features/object-container","unlisted":false},{"type":"link","label":"Rendering process","href":"/basic-features/rendering-process","docId":"basic-features/rendering-process","unlisted":false},{"type":"link","label":"Handling scripts and styles","href":"/basic-features/handling-scripts-and-styles","docId":"basic-features/handling-scripts-and-styles","unlisted":false},{"type":"link","label":"Page Manager","href":"/basic-features/page-manager","docId":"basic-features/page-manager","unlisted":false},{"type":"link","label":"Events","href":"/basic-features/events","docId":"basic-features/events","unlisted":false},{"type":"link","label":"Page State","href":"/basic-features/page-state","docId":"basic-features/page-state","unlisted":false},{"type":"link","label":"SEO & Meta Manager","href":"/basic-features/seo-and-meta-manager","docId":"basic-features/seo-and-meta-manager","unlisted":false},{"type":"link","label":"Dictionary","href":"/basic-features/dictionary","docId":"basic-features/dictionary","unlisted":false},{"type":"link","label":"Error Handling","href":"/basic-features/error-handling","docId":"basic-features/error-handling","unlisted":false},{"type":"link","label":"TypeScript","href":"/basic-features/typescript","docId":"basic-features/typescript","unlisted":false},{"type":"link","label":"Testing","href":"/basic-features/testing","docId":"basic-features/testing","unlisted":false}],"collapsible":true},{"type":"category","label":"Advanced Features","collapsed":false,"items":[{"type":"link","label":"Dynamic imports","href":"/advanced-features/dynamic-imports","docId":"advanced-features/dynamic-imports","unlisted":false}],"collapsible":true},{"type":"category","label":"CLI","collapsed":false,"items":[{"type":"link","label":"Introduction to @ima/cli","href":"/cli/","docId":"cli/cli","unlisted":false},{"type":"link","label":"Compiler features","href":"/cli/compiler-features","docId":"cli/compiler-features","unlisted":false},{"type":"link","label":"ima.config.js","href":"/cli/ima-config-js","docId":"cli/ima.config.js","unlisted":false},{"type":"link","label":"Additional features","href":"/cli/additional-features","docId":"cli/additional-features","unlisted":false},{"type":"link","label":"CLI Plugins API","href":"/cli/cli-plugins-api","docId":"cli/cli-plugins-api","unlisted":false},{"type":"category","label":"CLI Plugins","items":[{"type":"link","label":"Analyze Plugin","href":"/cli/plugins/analyze-plugin","docId":"cli/plugins/analyze-plugin","unlisted":false},{"type":"link","label":"ScrambleCSS Plugin","href":"/cli/plugins/scramble-css-plugin","docId":"cli/plugins/scramble-css-plugin","unlisted":false},{"type":"link","label":"LESS Constants Plugin","href":"/cli/plugins/less-constants-plugin","docId":"cli/plugins/less-constants-plugin","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsible":true},{"type":"category","label":"Plugins","collapsed":false,"items":[{"type":"link","label":"Plugins API","href":"/plugins/plugin-api","docId":"plugins/plugin-api","unlisted":false},{"type":"link","label":"Existing plugins","href":"/plugins/available-plugins","docId":"plugins/available-plugins","unlisted":false}],"collapsible":true},{"type":"category","label":"Devtools","collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/devtools/devtools-introduction","docId":"devtools/devtools-introduction","unlisted":false},{"type":"link","label":"UI & Controls","href":"/devtools/devtools-ui","docId":"devtools/devtools-ui","unlisted":false},{"type":"link","label":"Options","href":"/devtools/devtools-options","docId":"devtools/devtools-options","unlisted":false}],"collapsible":true},{"type":"category","label":"Migration","collapsed":true,"items":[{"type":"link","label":"Migration 0.14.0","href":"/migration/migration-0.14.0","docId":"migration/migration-0.14.0","unlisted":false},{"type":"link","label":"Migration 0.15.0","href":"/migration/migration-0.15.0","docId":"migration/migration-0.15.0","unlisted":false},{"type":"link","label":"Migration 0.16.0","href":"/migration/migration-0.16.0","docId":"migration/migration-0.16.0","unlisted":false},{"type":"link","label":"Migration 17.0.0","href":"/migration/migration-17.0.0","docId":"migration/migration-17.0.0","unlisted":false},{"type":"link","label":"Migration 18.0.0","href":"/migration/migration-18.0.0","docId":"migration/migration-18.0.0","unlisted":false},{"type":"link","label":"Migration 19.0.0","href":"/migration/migration-19.0.0","docId":"migration/migration-19.0.0","unlisted":false}],"collapsible":true},{"type":"category","label":"Contributing","collapsed":false,"items":[{"type":"link","label":"How to Contribute","href":"/contributing/how-to-contribute","docId":"contributing/how-to-contribute","unlisted":false}],"collapsible":true}]},"docs":{"advanced-features/dynamic-imports":{"id":"advanced-features/dynamic-imports","title":"Dynamic imports","description":"Advanced Features > Dynamic imports and lazy loading","sidebar":"docs"},"api/@ima/cli/functions/compileLanguages":{"id":"api/@ima/cli/functions/compileLanguages","title":"Function: compileLanguages()","description":"compileLanguages(imaConfig, rootDir, watch): Promise\\\\","sidebar":"api"},"api/@ima/cli/functions/createCacheKey":{"id":"api/@ima/cli/functions/createCacheKey","title":"Function: createCacheKey()","description":"createCacheKey(ctx, imaConfig, additionalData): string","sidebar":"api"},"api/@ima/cli/functions/createDevServerConfig":{"id":"api/@ima/cli/functions/createDevServerConfig","title":"Function: createDevServerConfig()","description":"createDevServerConfig(namedParameters): object","sidebar":"api"},"api/@ima/cli/functions/createWebpackConfig":{"id":"api/@ima/cli/functions/createWebpackConfig","title":"Function: createWebpackConfig()","description":"createWebpackConfig(args, imaConfig): Promise\\\\","sidebar":"api"},"api/@ima/cli/functions/findRules":{"id":"api/@ima/cli/functions/findRules","title":"Function: findRules()","description":"findRules(config, testString, loader?): RuleSetRule[] \\\\| RuleSetUseItem[]","sidebar":"api"},"api/@ima/cli/functions/getCurrentCoreJsVersion":{"id":"api/@ima/cli/functions/getCurrentCoreJsVersion","title":"Function: getCurrentCoreJsVersion()","description":"getCurrentCoreJsVersion(): Promise\\\\","sidebar":"api"},"api/@ima/cli/functions/getLanguageEntryPoints":{"id":"api/@ima/cli/functions/getLanguageEntryPoints","title":"Function: getLanguageEntryPoints()","description":"getLanguageEntryPoints(languages, rootDir, useHMR): Record\\\\","sidebar":"api"},"api/@ima/cli/functions/resolveEnvironment":{"id":"api/@ima/cli/functions/resolveEnvironment","title":"Function: resolveEnvironment()","description":"resolveEnvironment(rootDir): Environment","sidebar":"api"},"api/@ima/cli/functions/resolveImaConfig":{"id":"api/@ima/cli/functions/resolveImaConfig","title":"Function: resolveImaConfig()","description":"resolveImaConfig(args): Promise\\\\","sidebar":"api"},"api/@ima/cli/functions/runImaPluginsHook":{"id":"api/@ima/cli/functions/runImaPluginsHook","title":"Function: runImaPluginsHook()","description":"runImaPluginsHook(args, imaConfig, hook): Promise\\\\","sidebar":"api"},"api/@ima/cli/globals":{"id":"api/@ima/cli/globals","title":"@ima/cli","description":"Interfaces","sidebar":"api"},"api/@ima/cli/index":{"id":"api/@ima/cli/index","title":"index","description":"@ima/cli","sidebar":"api"},"api/@ima/cli/interfaces/ImaCliArgs":{"id":"api/@ima/cli/interfaces/ImaCliArgs","title":"Interface: ImaCliArgs","description":"Defined in30","sidebar":"api"},"api/@ima/cli/interfaces/ImaCliPlugin":{"id":"api/@ima/cli/interfaces/ImaCliPlugin","title":"Interface: ImaCliPlugin","description":"Defined in90","sidebar":"api"},"api/@ima/cli/interfaces/ImaConfigurationContext":{"id":"api/@ima/cli/interfaces/ImaConfigurationContext","title":"Interface: ImaConfigurationContext","description":"Defined in56","sidebar":"api"},"api/@ima/cli/type-aliases/ImaCliCommand":{"id":"api/@ima/cli/type-aliases/ImaCliCommand","title":"Type Alias: ImaCliCommand","description":"ImaCliCommand: \\"build\\" \\\\| \\"dev\\"","sidebar":"api"},"api/@ima/cli/type-aliases/ImaConfig":{"id":"api/@ima/cli/type-aliases/ImaConfig","title":"Type Alias: ImaConfig","description":"ImaConfig: object","sidebar":"api"},"api/@ima/cli/variables/IMA_CONF_FILENAME":{"id":"api/@ima/cli/variables/IMA_CONF_FILENAME","title":"Variable: IMA\\\\_CONF\\\\_FILENAME","description":"const IMA\\\\_CONF\\\\_FILENAME: \\"ima.config.js\\" = \'ima.config.js\'","sidebar":"api"},"api/@ima/core/classes/AbstractController":{"id":"api/@ima/core/classes/AbstractController","title":"Class: AbstractController\\\\<S, R, SS\\\\>","description":"Defined in14","sidebar":"api"},"api/@ima/core/classes/AbstractExecution":{"id":"api/@ima/core/classes/AbstractExecution","title":"Class: abstract AbstractExecution","description":"Defined in10","sidebar":"api"},"api/@ima/core/classes/AbstractExtension":{"id":"api/@ima/core/classes/AbstractExtension","title":"Class: abstract AbstractExtension\\\\<S, R, SS\\\\>","description":"Defined in11","sidebar":"api"},"api/@ima/core/classes/AbstractPageManager":{"id":"api/@ima/core/classes/AbstractPageManager","title":"Class: abstract AbstractPageManager","description":"Defined in52","sidebar":"api"},"api/@ima/core/classes/AbstractRoute":{"id":"api/@ima/core/classes/AbstractRoute","title":"Class: abstract AbstractRoute\\\\<T\\\\>","description":"Defined in43","sidebar":"api"},"api/@ima/core/classes/AbstractRouter":{"id":"api/@ima/core/classes/AbstractRouter","title":"Class: abstract AbstractRouter","description":"Defined in49","sidebar":"api"},"api/@ima/core/classes/Bootstrap":{"id":"api/@ima/core/classes/Bootstrap","title":"Class: Bootstrap","description":"Defined in123","sidebar":"api"},"api/@ima/core/classes/Cache":{"id":"api/@ima/core/classes/Cache","title":"Class: abstract Cache\\\\<V\\\\>","description":"Defined in11","sidebar":"api"},"api/@ima/core/classes/CacheEntry":{"id":"api/@ima/core/classes/CacheEntry","title":"Class: CacheEntry\\\\<V\\\\>","description":"Defined in10","sidebar":"api"},"api/@ima/core/classes/CacheFactory":{"id":"api/@ima/core/classes/CacheFactory","title":"Class: CacheFactory\\\\<V\\\\>","description":"Defined in7","sidebar":"api"},"api/@ima/core/classes/CacheImpl":{"id":"api/@ima/core/classes/CacheImpl","title":"Class: CacheImpl\\\\<V\\\\>","description":"Defined in21","sidebar":"api"},"api/@ima/core/classes/CancelError":{"id":"api/@ima/core/classes/CancelError","title":"Class: CancelError","description":"Defined in7","sidebar":"api"},"api/@ima/core/classes/ClientPageManager":{"id":"api/@ima/core/classes/ClientPageManager","title":"Class: ClientPageManager","description":"Defined in23","sidebar":"api"},"api/@ima/core/classes/ClientRouter":{"id":"api/@ima/core/classes/ClientRouter","title":"Class: ClientRouter","description":"Defined in43","sidebar":"api"},"api/@ima/core/classes/ClientWindow":{"id":"api/@ima/core/classes/ClientWindow","title":"Class: ClientWindow","description":"Defined in9","sidebar":"api"},"api/@ima/core/classes/ComponentUtils":{"id":"api/@ima/core/classes/ComponentUtils","title":"Class: ComponentUtils","description":"Defined in4","sidebar":"api"},"api/@ima/core/classes/Controller":{"id":"api/@ima/core/classes/Controller","title":"Class: abstract Controller\\\\<S, R, SS\\\\>","description":"Defined in38","sidebar":"api"},"api/@ima/core/classes/ControllerDecorator":{"id":"api/@ima/core/classes/ControllerDecorator","title":"Class: ControllerDecorator\\\\<S, R, SS\\\\>","description":"Defined in18","sidebar":"api"},"api/@ima/core/classes/CookieStorage":{"id":"api/@ima/core/classes/CookieStorage","title":"Class: CookieStorage","description":"Defined in43","sidebar":"api"},"api/@ima/core/classes/Dictionary":{"id":"api/@ima/core/classes/Dictionary","title":"Class: abstract Dictionary","description":"Defined in21","sidebar":"api"},"api/@ima/core/classes/Dispatcher":{"id":"api/@ima/core/classes/Dispatcher","title":"Class: abstract Dispatcher","description":"Defined in26","sidebar":"api"},"api/@ima/core/classes/DispatcherImpl":{"id":"api/@ima/core/classes/DispatcherImpl","title":"Class: DispatcherImpl","description":"Defined in26","sidebar":"api"},"api/@ima/core/classes/DynamicRoute":{"id":"api/@ima/core/classes/DynamicRoute","title":"Class: DynamicRoute","description":"Defined in51","sidebar":"api"},"api/@ima/core/classes/Entry":{"id":"api/@ima/core/classes/Entry","title":"Class: Entry\\\\<T\\\\>","description":"Defined in15","sidebar":"api"},"api/@ima/core/classes/Error":{"id":"api/@ima/core/classes/Error","title":"Class: abstract Error","description":"Defined in7","sidebar":"api"},"api/@ima/core/classes/EventBus":{"id":"api/@ima/core/classes/EventBus","title":"Class: abstract EventBus","description":"Defined in28","sidebar":"api"},"api/@ima/core/classes/EventBusImpl":{"id":"api/@ima/core/classes/EventBusImpl","title":"Class: EventBusImpl","description":"Defined in27","sidebar":"api"},"api/@ima/core/classes/Execution":{"id":"api/@ima/core/classes/Execution","title":"Class: abstract Execution","description":"Defined in18","sidebar":"api"},"api/@ima/core/classes/Extension":{"id":"api/@ima/core/classes/Extension","title":"Class: abstract Extension\\\\<S, R, SS\\\\>","description":"Defined in21","sidebar":"api"},"api/@ima/core/classes/GenericError":{"id":"api/@ima/core/classes/GenericError","title":"Class: GenericError\\\\<T\\\\>","description":"Defined in15","sidebar":"api"},"api/@ima/core/classes/HttpAgent":{"id":"api/@ima/core/classes/HttpAgent","title":"Class: abstract HttpAgent","description":"Defined in68","sidebar":"api"},"api/@ima/core/classes/HttpAgentImpl":{"id":"api/@ima/core/classes/HttpAgentImpl","title":"Class: HttpAgentImpl","description":"Defined in27","sidebar":"api"},"api/@ima/core/classes/HttpProxy":{"id":"api/@ima/core/classes/HttpProxy","title":"Class: HttpProxy","description":"Defined in63","sidebar":"api"},"api/@ima/core/classes/MapStorage":{"id":"api/@ima/core/classes/MapStorage","title":"Class: MapStorage\\\\<V\\\\>","description":"Defined in8","sidebar":"api"},"api/@ima/core/classes/MessageFormatDictionary":{"id":"api/@ima/core/classes/MessageFormatDictionary","title":"Class: MessageFormatDictionary","description":"Defined in16","sidebar":"api"},"api/@ima/core/classes/MetaManager":{"id":"api/@ima/core/classes/MetaManager","title":"Class: abstract MetaManager","description":"Defined in25","sidebar":"api"},"api/@ima/core/classes/MetaManagerImpl":{"id":"api/@ima/core/classes/MetaManagerImpl","title":"Class: MetaManagerImpl","description":"Defined in11","sidebar":"api"},"api/@ima/core/classes/Namespace":{"id":"api/@ima/core/classes/Namespace","title":"Class: Namespace","description":"Defined in7","sidebar":"api"},"api/@ima/core/classes/ObjectContainer":{"id":"api/@ima/core/classes/ObjectContainer","title":"Class: ObjectContainer","description":"Defined in61","sidebar":"api"},"api/@ima/core/classes/Observable":{"id":"api/@ima/core/classes/Observable","title":"Class: abstract Observable","description":"Defined in8","sidebar":"api"},"api/@ima/core/classes/ObservableImpl":{"id":"api/@ima/core/classes/ObservableImpl","title":"Class: ObservableImpl","description":"Defined in22","sidebar":"api"},"api/@ima/core/classes/PageFactory":{"id":"api/@ima/core/classes/PageFactory","title":"Class: PageFactory","description":"Defined in15","sidebar":"api"},"api/@ima/core/classes/PageHandler":{"id":"api/@ima/core/classes/PageHandler","title":"Class: abstract PageHandler","description":"Defined in3","sidebar":"api"},"api/@ima/core/classes/PageHandlerRegistry":{"id":"api/@ima/core/classes/PageHandlerRegistry","title":"Class: PageHandlerRegistry","description":"Defined in7","sidebar":"api"},"api/@ima/core/classes/PageManager":{"id":"api/@ima/core/classes/PageManager","title":"Class: abstract PageManager","description":"Defined in16","sidebar":"api"},"api/@ima/core/classes/PageMetaHandler":{"id":"api/@ima/core/classes/PageMetaHandler","title":"Class: PageMetaHandler","description":"Defined in12","sidebar":"api"},"api/@ima/core/classes/PageNavigationHandler":{"id":"api/@ima/core/classes/PageNavigationHandler","title":"Class: PageNavigationHandler","description":"Defined in7","sidebar":"api"},"api/@ima/core/classes/PageRenderer":{"id":"api/@ima/core/classes/PageRenderer","title":"Class: abstract PageRenderer","description":"Defined in32","sidebar":"api"},"api/@ima/core/classes/PageStateManager":{"id":"api/@ima/core/classes/PageStateManager","title":"Class: abstract PageStateManager\\\\<S\\\\>","description":"Defined in6","sidebar":"api"},"api/@ima/core/classes/PageStateManagerDecorator":{"id":"api/@ima/core/classes/PageStateManagerDecorator","title":"Class: PageStateManagerDecorator","description":"Defined in9","sidebar":"api"},"api/@ima/core/classes/PageStateManagerImpl":{"id":"api/@ima/core/classes/PageStateManagerImpl","title":"Class: PageStateManagerImpl\\\\<S\\\\>","description":"Defined in22","sidebar":"api"},"api/@ima/core/classes/PluginLoader":{"id":"api/@ima/core/classes/PluginLoader","title":"Class: PluginLoader","description":"Defined in9","sidebar":"api"},"api/@ima/core/classes/Request":{"id":"api/@ima/core/classes/Request","title":"Class: Request","description":"Defined in9","sidebar":"api"},"api/@ima/core/classes/Response":{"id":"api/@ima/core/classes/Response","title":"Class: Response","description":"Defined in18","sidebar":"api"},"api/@ima/core/classes/RouteFactory":{"id":"api/@ima/core/classes/RouteFactory","title":"Class: RouteFactory","description":"Defined in9","sidebar":"api"},"api/@ima/core/classes/Router":{"id":"api/@ima/core/classes/Router","title":"Class: abstract Router","description":"Defined in67","sidebar":"api"},"api/@ima/core/classes/SerialBatch":{"id":"api/@ima/core/classes/SerialBatch","title":"Class: SerialBatch","description":"Defined in4","sidebar":"api"},"api/@ima/core/classes/ServerPageManager":{"id":"api/@ima/core/classes/ServerPageManager","title":"Class: ServerPageManager","description":"Defined in14","sidebar":"api"},"api/@ima/core/classes/ServerRouter":{"id":"api/@ima/core/classes/ServerRouter","title":"Class: ServerRouter","description":"Defined in17","sidebar":"api"},"api/@ima/core/classes/ServerWindow":{"id":"api/@ima/core/classes/ServerWindow","title":"Class: ServerWindow","description":"Defined in10","sidebar":"api"},"api/@ima/core/classes/SessionMapStorage":{"id":"api/@ima/core/classes/SessionMapStorage","title":"Class: SessionMapStorage\\\\<V\\\\>","description":"Defined in12","sidebar":"api"},"api/@ima/core/classes/SessionStorage":{"id":"api/@ima/core/classes/SessionStorage","title":"Class: SessionStorage\\\\<V\\\\>","description":"Defined in11","sidebar":"api"},"api/@ima/core/classes/StaticRoute":{"id":"api/@ima/core/classes/StaticRoute","title":"Class: StaticRoute","description":"Defined in84","sidebar":"api"},"api/@ima/core/classes/Storage":{"id":"api/@ima/core/classes/Storage","title":"Class: abstract Storage\\\\<V\\\\>","description":"Defined in6","sidebar":"api"},"api/@ima/core/classes/UrlTransformer":{"id":"api/@ima/core/classes/UrlTransformer","title":"Class: UrlTransformer","description":"Defined in6","sidebar":"api"},"api/@ima/core/classes/WeakMapStorage":{"id":"api/@ima/core/classes/WeakMapStorage","title":"Class: WeakMapStorage\\\\<V\\\\>","description":"Defined in8","sidebar":"api"},"api/@ima/core/classes/Window":{"id":"api/@ima/core/classes/Window","title":"Class: abstract Window","description":"Defined in36","sidebar":"api"},"api/@ima/core/enumerations/ActionTypes":{"id":"api/@ima/core/enumerations/ActionTypes","title":"Enumeration: ActionTypes","description":"Defined in4","sidebar":"api"},"api/@ima/core/enumerations/BindingState":{"id":"api/@ima/core/enumerations/BindingState","title":"Enumeration: BindingState","description":"Defined in1","sidebar":"api"},"api/@ima/core/enumerations/HttpStatusCode":{"id":"api/@ima/core/enumerations/HttpStatusCode","title":"Enumeration: HttpStatusCode","description":"Defined in9","sidebar":"api"},"api/@ima/core/enumerations/RendererEvents":{"id":"api/@ima/core/enumerations/RendererEvents","title":"Enumeration: RendererEvents","description":"Defined in4","sidebar":"api"},"api/@ima/core/enumerations/RendererTypes":{"id":"api/@ima/core/enumerations/RendererTypes","title":"Enumeration: RendererTypes","description":"Defined in4","sidebar":"api"},"api/@ima/core/enumerations/RouteNames":{"id":"api/@ima/core/enumerations/RouteNames","title":"Enumeration: RouteNames","description":"Defined in5","sidebar":"api"},"api/@ima/core/enumerations/RouterEvents":{"id":"api/@ima/core/enumerations/RouterEvents","title":"Enumeration: RouterEvents","description":"Defined in4","sidebar":"api"},"api/@ima/core/enumerations/StateEvents":{"id":"api/@ima/core/enumerations/StateEvents","title":"Enumeration: StateEvents","description":"Defined in4","sidebar":"api"},"api/@ima/core/functions/bootClientApp":{"id":"api/@ima/core/functions/bootClientApp","title":"Function: bootClientApp()","description":"bootClientApp(app, bootConfig): object","sidebar":"api"},"api/@ima/core/functions/createImaApp":{"id":"api/@ima/core/functions/createImaApp","title":"Function: createImaApp()","description":"createImaApp(): object","sidebar":"api"},"api/@ima/core/functions/getClientBootConfig":{"id":"api/@ima/core/functions/getClientBootConfig","title":"Function: getClientBootConfig()","description":"getClientBootConfig(initialAppConfigFunctions): BootConfig","sidebar":"api"},"api/@ima/core/functions/getInitialImaConfigFunctions":{"id":"api/@ima/core/functions/getInitialImaConfigFunctions","title":"Function: getInitialImaConfigFunctions()","description":"getInitialImaConfigFunctions(): InitImaConfig","sidebar":"api"},"api/@ima/core/functions/getInitialPluginConfig":{"id":"api/@ima/core/functions/getInitialPluginConfig","title":"Function: getInitialPluginConfig()","description":"getInitialPluginConfig(): object","sidebar":"api"},"api/@ima/core/functions/getNamespace":{"id":"api/@ima/core/functions/getNamespace","title":"Function: getNamespace()","description":"getNamespace(): Namespace","sidebar":"api"},"api/@ima/core/functions/onLoad":{"id":"api/@ima/core/functions/onLoad","title":"Function: onLoad()","description":"onLoad(): Promise\\\\","sidebar":"api"},"api/@ima/core/functions/reviveClientApp":{"id":"api/@ima/core/functions/reviveClientApp","title":"Function: reviveClientApp()","description":"reviveClientApp(initialAppConfigFunctions): Promise\\\\","sidebar":"api"},"api/@ima/core/functions/routeClientApp":{"id":"api/@ima/core/functions/routeClientApp","title":"Function: routeClientApp()","description":"routeClientApp(app): Promise\\\\","sidebar":"api"},"api/@ima/core/globals":{"id":"api/@ima/core/globals","title":"@ima/core","description":"Enumerations","sidebar":"api"},"api/@ima/core/index":{"id":"api/@ima/core/index","title":"@ima/core","description":"Build Status dependencies Status","sidebar":"api"},"api/@ima/core/interfaces/AppEnvironment":{"id":"api/@ima/core/interfaces/AppEnvironment","title":"Interface: AppEnvironment","description":"Defined in116","sidebar":"api"},"api/@ima/core/interfaces/BootConfig":{"id":"api/@ima/core/interfaces/BootConfig","title":"Interface: BootConfig","description":"Defined in111","sidebar":"api"},"api/@ima/core/interfaces/BootServices":{"id":"api/@ima/core/interfaces/BootServices","title":"Interface: BootServices","description":"Defined in97","sidebar":"api"},"api/@ima/core/interfaces/DictionaryMap":{"id":"api/@ima/core/interfaces/DictionaryMap","title":"Interface: DictionaryMap","description":"Defined in14","sidebar":"api"},"api/@ima/core/interfaces/DispatcherEventsMap":{"id":"api/@ima/core/interfaces/DispatcherEventsMap","title":"Interface: DispatcherEventsMap","description":"Defined in6","sidebar":"api"},"api/@ima/core/interfaces/Environment":{"id":"api/@ima/core/interfaces/Environment","title":"Interface: Environment","description":"Defined in56","sidebar":"api"},"api/@ima/core/interfaces/GlobalImaObject":{"id":"api/@ima/core/interfaces/GlobalImaObject","title":"Interface: GlobalImaObject","description":"Defined in51","sidebar":"api"},"api/@ima/core/interfaces/HttpAgentRequestOptions":{"id":"api/@ima/core/interfaces/HttpAgentRequestOptions","title":"Interface: HttpAgentRequestOptions","description":"Defined in30","sidebar":"api"},"api/@ima/core/interfaces/ImaRequestInit":{"id":"api/@ima/core/interfaces/ImaRequestInit","title":"Interface: ImaRequestInit","description":"Defined in26","sidebar":"api"},"api/@ima/core/interfaces/InitAppConfig":{"id":"api/@ima/core/interfaces/InitAppConfig","title":"Interface: InitAppConfig","description":"Defined in70","sidebar":"api"},"api/@ima/core/interfaces/InitImaConfig":{"id":"api/@ima/core/interfaces/InitImaConfig","title":"Interface: InitImaConfig","description":"Defined in77","sidebar":"api"},"api/@ima/core/interfaces/InitPluginConfig":{"id":"api/@ima/core/interfaces/InitPluginConfig","title":"Interface: InitPluginConfig","description":"Defined in64","sidebar":"api"},"api/@ima/core/interfaces/Manifest":{"id":"api/@ima/core/interfaces/Manifest","title":"Interface: Manifest","description":"Defined in28","sidebar":"api"},"api/@ima/core/interfaces/ManifestAsset":{"id":"api/@ima/core/interfaces/ManifestAsset","title":"Interface: ManifestAsset","description":"Defined in24","sidebar":"api"},"api/@ima/core/interfaces/OCAliasMap":{"id":"api/@ima/core/interfaces/OCAliasMap","title":"Interface: OCAliasMap","description":"Defined in78","sidebar":"api"},"api/@ima/core/interfaces/PageAction":{"id":"api/@ima/core/interfaces/PageAction","title":"Interface: PageAction","description":"Defined in39","sidebar":"api"},"api/@ima/core/interfaces/PageRendererSettings":{"id":"api/@ima/core/interfaces/PageRendererSettings","title":"Interface: PageRendererSettings","description":"Defined in123","sidebar":"api"},"api/@ima/core/interfaces/Resources":{"id":"api/@ima/core/interfaces/Resources","title":"Interface: Resources","description":"Defined in47","sidebar":"api"},"api/@ima/core/interfaces/RouteAction":{"id":"api/@ima/core/interfaces/RouteAction","title":"Interface: RouteAction","description":"Defined in17","sidebar":"api"},"api/@ima/core/interfaces/RouteFactoryOptions":{"id":"api/@ima/core/interfaces/RouteFactoryOptions","title":"Interface: RouteFactoryOptions","description":"Defined in35","sidebar":"api"},"api/@ima/core/interfaces/RouteLocals":{"id":"api/@ima/core/interfaces/RouteLocals","title":"Interface: RouteLocals","description":"Defined in23","sidebar":"api"},"api/@ima/core/interfaces/RouteOptions":{"id":"api/@ima/core/interfaces/RouteOptions","title":"Interface: RouteOptions","description":"Defined in58","sidebar":"api"},"api/@ima/core/interfaces/Settings":{"id":"api/@ima/core/interfaces/Settings","title":"Interface: Settings","description":"Defined in135","sidebar":"api"},"api/@ima/core/interfaces/Utils":{"id":"api/@ima/core/interfaces/Utils","title":"Interface: Utils","description":"Defined in34","sidebar":"api"},"api/@ima/core/interfaces/WindowCustomEventsMap":{"id":"api/@ima/core/interfaces/WindowCustomEventsMap","title":"Interface: WindowCustomEventsMap","description":"Defined in1","sidebar":"api"},"api/@ima/core/type-aliases/AnyParameters":{"id":"api/@ima/core/type-aliases/AnyParameters","title":"Type Alias: AnyParameters","description":"AnyParameters: object","sidebar":"api"},"api/@ima/core/type-aliases/AppSettings":{"id":"api/@ima/core/type-aliases/AppSettings","title":"Type Alias: AppSettings","description":"AppSettings: object","sidebar":"api"},"api/@ima/core/type-aliases/AsyncRouteController":{"id":"api/@ima/core/type-aliases/AsyncRouteController","title":"Type Alias: AsyncRouteController","description":"AsyncRouteController: WithAsync\\\\","sidebar":"api"},"api/@ima/core/type-aliases/AsyncRouteView":{"id":"api/@ima/core/type-aliases/AsyncRouteView","title":"Type Alias: AsyncRouteView","description":"AsyncRouteView: WithAsync\\\\","sidebar":"api"},"api/@ima/core/type-aliases/BootSettings":{"id":"api/@ima/core/type-aliases/BootSettings","title":"Type Alias: BootSettings","description":"BootSettings: Pick\\\\","sidebar":"api"},"api/@ima/core/type-aliases/Cookie":{"id":"api/@ima/core/type-aliases/Cookie","title":"Type Alias: Cookie","description":"Cookie: object","sidebar":"api"},"api/@ima/core/type-aliases/CookieOptions":{"id":"api/@ima/core/type-aliases/CookieOptions","title":"Type Alias: CookieOptions","description":"CookieOptions: object","sidebar":"api"},"api/@ima/core/type-aliases/CookieTransformFunction":{"id":"api/@ima/core/type-aliases/CookieTransformFunction","title":"Type Alias: CookieTransformFunction","description":"CookieTransformFunction: object","sidebar":"api"},"api/@ima/core/type-aliases/DecoratedOCAliasMap":{"id":"api/@ima/core/type-aliases/DecoratedOCAliasMap","title":"Type Alias: DecoratedOCAliasMap","description":"DecoratedOCAliasMap: AddOCChaining\\\\ & WithOCOptional\\\\ & WithOCOptionalSpread\\\\ & WithOCSpread\\\\","sidebar":"api"},"api/@ima/core/type-aliases/Dependencies":{"id":"api/@ima/core/type-aliases/Dependencies","title":"Type Alias: Dependencies\\\\<T\\\\>","description":"Dependencies\\\\: Dependency\\\\[]","sidebar":"api"},"api/@ima/core/type-aliases/Dependency":{"id":"api/@ima/core/type-aliases/Dependency","title":"Type Alias: Dependency\\\\<T\\\\>","description":"Dependency\\\\ boolean; \\\\}\\\\]","sidebar":"api"},"api/@ima/core/type-aliases/DictionaryConfig":{"id":"api/@ima/core/type-aliases/DictionaryConfig","title":"Type Alias: DictionaryConfig","description":"DictionaryConfig: object","sidebar":"api"},"api/@ima/core/type-aliases/DictionaryData":{"id":"api/@ima/core/type-aliases/DictionaryData","title":"Type Alias: DictionaryData","description":"DictionaryData: object","sidebar":"api"},"api/@ima/core/type-aliases/DispatcherListener":{"id":"api/@ima/core/type-aliases/DispatcherListener","title":"Type Alias: DispatcherListener()\\\\<D\\\\>","description":"DispatcherListener\\\\: (data) => void","sidebar":"api"},"api/@ima/core/type-aliases/EntryOptions":{"id":"api/@ima/core/type-aliases/EntryOptions","title":"Type Alias: EntryOptions","description":"EntryOptions: object","sidebar":"api"},"api/@ima/core/type-aliases/EventBusEventHandler":{"id":"api/@ima/core/type-aliases/EventBusEventHandler","title":"Type Alias: EventBusEventHandler()","description":"EventBusEventHandler: (data?) => void","sidebar":"api"},"api/@ima/core/type-aliases/EventBusListener":{"id":"api/@ima/core/type-aliases/EventBusListener","title":"Type Alias: EventBusListener()","description":"EventBusListener: (event) => unknown","sidebar":"api"},"api/@ima/core/type-aliases/EventBusOptions":{"id":"api/@ima/core/type-aliases/EventBusOptions","title":"Type Alias: EventBusOptions","description":"EventBusOptions: object","sidebar":"api"},"api/@ima/core/type-aliases/ExecutionJob":{"id":"api/@ima/core/type-aliases/ExecutionJob","title":"Type Alias: ExecutionJob()","description":"ExecutionJob: (...args) => Promise\\\\ \\\\| unknown","sidebar":"api"},"api/@ima/core/type-aliases/GenericErrorParams":{"id":"api/@ima/core/type-aliases/GenericErrorParams","title":"Type Alias: GenericErrorParams","description":"GenericErrorParams: object","sidebar":"api"},"api/@ima/core/type-aliases/HttpAgentResponse":{"id":"api/@ima/core/type-aliases/HttpAgentResponse","title":"Type Alias: HttpAgentResponse\\\\<B\\\\>","description":"HttpAgentResponse\\\\: object","sidebar":"api"},"api/@ima/core/type-aliases/HttpProxyErrorParams":{"id":"api/@ima/core/type-aliases/HttpProxyErrorParams","title":"Type Alias: HttpProxyErrorParams\\\\<B\\\\>","description":"HttpProxyErrorParams\\\\: object & HttpProxyRequestParams","sidebar":"api"},"api/@ima/core/type-aliases/HttpProxyRequestParams":{"id":"api/@ima/core/type-aliases/HttpProxyRequestParams","title":"Type Alias: HttpProxyRequestParams","description":"HttpProxyRequestParams: object","sidebar":"api"},"api/@ima/core/type-aliases/InitBindFunction":{"id":"api/@ima/core/type-aliases/InitBindFunction","title":"Type Alias: InitBindFunction()","description":"InitBindFunction: (ns, oc, config, state) => void","sidebar":"api"},"api/@ima/core/type-aliases/InitRoutesFunction":{"id":"api/@ima/core/type-aliases/InitRoutesFunction","title":"Type Alias: InitRoutesFunction()","description":"InitRoutesFunction: (ns, oc, routes, router) => void","sidebar":"api"},"api/@ima/core/type-aliases/InitServicesFunction":{"id":"api/@ima/core/type-aliases/InitServicesFunction","title":"Type Alias: InitServicesFunction()","description":"InitServicesFunction: (ns, oc, config) => void","sidebar":"api"},"api/@ima/core/type-aliases/InitSettingsFunction":{"id":"api/@ima/core/type-aliases/InitSettingsFunction","title":"Type Alias: InitSettingsFunction()","description":"InitSettingsFunction: (ns, oc, config) => AppSettings","sidebar":"api"},"api/@ima/core/type-aliases/LoadedResources":{"id":"api/@ima/core/type-aliases/LoadedResources","title":"Type Alias: LoadedResources\\\\<T\\\\>","description":"LoadedResources\\\\: Intersection\\\\\\\\>\\\\>\\\\>, Required\\\\\\\\>\\\\>\\\\>\\\\>","sidebar":"api"},"api/@ima/core/type-aliases/LocalizationFunction":{"id":"api/@ima/core/type-aliases/LocalizationFunction","title":"Type Alias: LocalizationFunction()","description":"LocalizationFunction: (parameters) => string","sidebar":"api"},"api/@ima/core/type-aliases/ManageArgs":{"id":"api/@ima/core/type-aliases/ManageArgs","title":"Type Alias: ManageArgs","description":"ManageArgs: object","sidebar":"api"},"api/@ima/core/type-aliases/ManagedPage":{"id":"api/@ima/core/type-aliases/ManagedPage","title":"Type Alias: ManagedPage","description":"ManagedPage: object","sidebar":"api"},"api/@ima/core/type-aliases/MetaAttributes":{"id":"api/@ima/core/type-aliases/MetaAttributes","title":"Type Alias: MetaAttributes","description":"MetaAttributes: Record\\\\","sidebar":"api"},"api/@ima/core/type-aliases/MetaManagerRecord":{"id":"api/@ima/core/type-aliases/MetaManagerRecord","title":"Type Alias: MetaManagerRecord\\\\<K\\\\>","description":"MetaManagerRecord\\\\ MetaValue } & [MetaAttributes","sidebar":"api"},"api/@ima/core/type-aliases/MetaManagerRecordKeys":{"id":"api/@ima/core/type-aliases/MetaManagerRecordKeys","title":"Type Alias: MetaManagerRecordKeys","description":"MetaManagerRecordKeys: \\"content\\" \\\\| \\"href\\"","sidebar":"api"},"api/@ima/core/type-aliases/MetaValue":{"id":"api/@ima/core/type-aliases/MetaValue","title":"Type Alias: MetaValue","description":"MetaValue: number \\\\| boolean \\\\| string \\\\| null \\\\| undefined","sidebar":"api"},"api/@ima/core/type-aliases/NativeListener":{"id":"api/@ima/core/type-aliases/NativeListener","title":"Type Alias: NativeListener()","description":"NativeListener: (event) => unknown","sidebar":"api"},"api/@ima/core/type-aliases/ObjectParameters":{"id":"api/@ima/core/type-aliases/ObjectParameters","title":"Type Alias: ObjectParameters","description":"ObjectParameters: object","sidebar":"api"},"api/@ima/core/type-aliases/OCInjectable":{"id":"api/@ima/core/type-aliases/OCInjectable","title":"Type Alias: OCInjectable\\\\<T\\\\>","description":"OCInjectable\\\\: Constructor\\\\ & WithDependencies \\\\| AbstractConstructor\\\\ & Partial\\\\ \\\\| Function & object & Partial\\\\","sidebar":"api"},"api/@ima/core/type-aliases/OCInstance":{"id":"api/@ima/core/type-aliases/OCInstance","title":"Type Alias: OCInstance\\\\<T\\\\>","description":"OCInstance\\\\ T extends AbstractConstructor\\\\ \\\\| Constructor\\\\ ? InstanceType\\\\ true; \\\\}\\\\] ? InstanceType\\\\ \\\\| null : T","sidebar":"api"},"api/@ima/core/type-aliases/OCInstanceConstrain":{"id":"api/@ima/core/type-aliases/OCInstanceConstrain","title":"Type Alias: OCInstanceConstrain\\\\<T\\\\>","description":"OCInstanceConstrain\\\\ true; \\\\}\\\\]","sidebar":"api"},"api/@ima/core/type-aliases/PageData":{"id":"api/@ima/core/type-aliases/PageData","title":"Type Alias: PageData","description":"PageData: object & UnknownParameters","sidebar":"api"},"api/@ima/core/type-aliases/PageState":{"id":"api/@ima/core/type-aliases/PageState","title":"Type Alias: PageState","description":"PageState: object","sidebar":"api"},"api/@ima/core/type-aliases/PluginInitBindFunction":{"id":"api/@ima/core/type-aliases/PluginInitBindFunction","title":"Type Alias: PluginInitBindFunction()","description":"PluginInitBindFunction: (ns, oc, config, isDynamicallyLoaded, name?) => void","sidebar":"api"},"api/@ima/core/type-aliases/PluginInitServicesFunction":{"id":"api/@ima/core/type-aliases/PluginInitServicesFunction","title":"Type Alias: PluginInitServicesFunction()","description":"PluginInitServicesFunction: (ns, oc, config, isDynamicallyLoaded) => void","sidebar":"api"},"api/@ima/core/type-aliases/PluginInitSettingsFunction":{"id":"api/@ima/core/type-aliases/PluginInitSettingsFunction","title":"Type Alias: PluginInitSettingsFunction()","description":"PluginInitSettingsFunction: (ns, oc, config, isDynamicallyLoaded) => PartialDeep\\\\","sidebar":"api"},"api/@ima/core/type-aliases/Resource":{"id":"api/@ima/core/type-aliases/Resource","title":"Type Alias: Resource","description":"Resource string] boolean; \\\\}\\\\]","sidebar":"api"},"api/@ima/core/type-aliases/RouteController":{"id":"api/@ima/core/type-aliases/RouteController","title":"Type Alias: RouteController","description":"RouteController: keyof OCAliasMap \\\\| Constructor\\\\\\\\> \\\\| AbstractConstructor\\\\\\\\>","sidebar":"api"},"api/@ima/core/type-aliases/RouteParams":{"id":"api/@ima/core/type-aliases/RouteParams","title":"Type Alias: RouteParams\\\\<T\\\\>","description":"RouteParams\\\\: Partial\\\\ & object","sidebar":"api"},"api/@ima/core/type-aliases/RoutePathExpression":{"id":"api/@ima/core/type-aliases/RoutePathExpression","title":"Type Alias: RoutePathExpression","description":"RoutePathExpression: object","sidebar":"api"},"api/@ima/core/type-aliases/RouterMiddleware":{"id":"api/@ima/core/type-aliases/RouterMiddleware","title":"Type Alias: RouterMiddleware()","description":"RouterMiddleware: (params, locals, next?) => UnknownParameters \\\\| void \\\\| Promise\\\\","sidebar":"api"},"api/@ima/core/type-aliases/RouteView":{"id":"api/@ima/core/type-aliases/RouteView","title":"Type Alias: RouteView","description":"RouteView: keyof OCAliasMap \\\\| Constructor\\\\ \\\\| AbstractConstructor\\\\ \\\\| (...args) => any","sidebar":"api"},"api/@ima/core/type-aliases/SerializedCacheEntry":{"id":"api/@ima/core/type-aliases/SerializedCacheEntry","title":"Type Alias: SerializedCacheEntry\\\\<V\\\\>","description":"SerializedCacheEntry\\\\: object","sidebar":"api"},"api/@ima/core/type-aliases/SerializedData":{"id":"api/@ima/core/type-aliases/SerializedData","title":"Type Alias: SerializedData\\\\<V\\\\>","description":"SerializedData\\\\: object","sidebar":"api"},"api/@ima/core/type-aliases/StringParameters":{"id":"api/@ima/core/type-aliases/StringParameters","title":"Type Alias: StringParameters","description":"StringParameters: object","sidebar":"api"},"api/@ima/core/type-aliases/UnknownParameters":{"id":"api/@ima/core/type-aliases/UnknownParameters","title":"Type Alias: UnknownParameters","description":"UnknownParameters: object","sidebar":"api"},"api/@ima/core/type-aliases/UnknownPromiseParameters":{"id":"api/@ima/core/type-aliases/UnknownPromiseParameters","title":"Type Alias: UnknownPromiseParameters","description":"UnknownPromiseParameters: object","sidebar":"api"},"api/@ima/core/type-aliases/WindowEventTargets":{"id":"api/@ima/core/type-aliases/WindowEventTargets","title":"Type Alias: WindowEventTargets","description":"WindowEventTargets: Document \\\\| globalThis.Window \\\\| HTMLBodyElement \\\\| SVGSVGElement \\\\| SVGElement \\\\| HTMLMediaElement \\\\| HTMLVideoElement \\\\| Element","sidebar":"api"},"api/@ima/core/type-aliases/WindowEventTargetsMap":{"id":"api/@ima/core/type-aliases/WindowEventTargetsMap","title":"Type Alias: WindowEventTargetsMap\\\\<E\\\\>","description":"WindowEventTargetsMap\\\\ E extends globalThis.Window ? WindowEventMap E extends SVGSVGElement ? SVGSVGElementEventMap E extends HTMLMediaElement ? HTMLMediaElementEventMap HTMLElementEventMap & WindowCustomEventsMap","sidebar":"api"},"api/@ima/core/variables/ns":{"id":"api/@ima/core/variables/ns","title":"Variable: ns","description":"const ns: Namespace","sidebar":"api"},"api/@ima/core/variables/pluginLoader":{"id":"api/@ima/core/variables/pluginLoader","title":"Variable: pluginLoader","description":"const pluginLoader: PluginLoader","sidebar":"api"},"api/@ima/dev-utils/classes/Logger":{"id":"api/@ima/dev-utils/classes/Logger","title":"Class: Logger","description":"Defined in35","sidebar":"api"},"api/@ima/dev-utils/functions/createLogger":{"id":"api/@ima/dev-utils/functions/createLogger","title":"Function: createLogger()","description":"createLogger(name): Logger","sidebar":"api"},"api/@ima/dev-utils/functions/createSourceFragment":{"id":"api/@ima/dev-utils/functions/createSourceFragment","title":"Function: createSourceFragment()","description":"createSourceFragment(line, source, contextLines?): FragmentLine[]","sidebar":"api"},"api/@ima/dev-utils/functions/extractSourceMappingUrl":{"id":"api/@ima/dev-utils/functions/extractSourceMappingUrl","title":"Function: extractSourceMappingUrl()","description":"extractSourceMappingUrl(fileUri, fileContents): string \\\\| null","sidebar":"api"},"api/@ima/dev-utils/functions/formatError":{"id":"api/@ima/dev-utils/functions/formatError","title":"Function: formatError()","description":"formatError(parsedErrorData, rootDir?, uniqueTracker?): Promise\\\\","sidebar":"api"},"api/@ima/dev-utils/functions/getSource":{"id":"api/@ima/dev-utils/functions/getSource","title":"Function: getSource()","description":"getSource(fileUri?, line?, column?): Promise\\\\","sidebar":"api"},"api/@ima/dev-utils/functions/parseCompileError":{"id":"api/@ima/dev-utils/functions/parseCompileError","title":"Function: parseCompileError()","description":"parseCompileError(error): CompileError \\\\| null","sidebar":"api"},"api/@ima/dev-utils/functions/parseError":{"id":"api/@ima/dev-utils/functions/parseError","title":"Function: parseError()","description":"parseError(error, type?): Promise\\\\","sidebar":"api"},"api/@ima/dev-utils/functions/printTime":{"id":"api/@ima/dev-utils/functions/printTime","title":"Function: printTime()","description":"printTime(): string","sidebar":"api"},"api/@ima/dev-utils/functions/resolveErrorType":{"id":"api/@ima/dev-utils/functions/resolveErrorType","title":"Function: resolveErrorType()","description":"resolveErrorType(error): \\"compile\\" \\\\| \\"runtime\\"","sidebar":"api"},"api/@ima/dev-utils/functions/time":{"id":"api/@ima/dev-utils/functions/time","title":"Function: time()","description":"time(): () => string","sidebar":"api"},"api/@ima/dev-utils/globals":{"id":"api/@ima/dev-utils/globals","title":"@ima/dev-utils","description":"Classes","sidebar":"api"},"api/@ima/dev-utils/index":{"id":"api/@ima/dev-utils/index","title":"index","description":"@ima/dev-utils","sidebar":"api"},"api/@ima/dev-utils/interfaces/CompileError":{"id":"api/@ima/dev-utils/interfaces/CompileError","title":"Interface: CompileError","description":"Defined in1","sidebar":"api"},"api/@ima/dev-utils/interfaces/FragmentLine":{"id":"api/@ima/dev-utils/interfaces/FragmentLine","title":"Interface: FragmentLine","description":"Defined in1","sidebar":"api"},"api/@ima/dev-utils/interfaces/LoggerOptions":{"id":"api/@ima/dev-utils/interfaces/LoggerOptions","title":"Interface: LoggerOptions","description":"Defined in4","sidebar":"api"},"api/@ima/dev-utils/type-aliases/ParsedErrorData":{"id":"api/@ima/dev-utils/type-aliases/ParsedErrorData","title":"Type Alias: ParsedErrorData","description":"ParsedErrorData: object","sidebar":"api"},"api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE":{"id":"api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","title":"Variable: COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE","description":"const COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE: RegExp[]","sidebar":"api"},"api/@ima/dev-utils/variables/logger":{"id":"api/@ima/dev-utils/variables/logger","title":"Variable: logger","description":"const logger: Logger","sidebar":"api"},"api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL":{"id":"api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","title":"Variable: RE\\\\_SOURCE\\\\_MAPPING\\\\_URL","description":"const RE\\\\_SOURCE\\\\_MAPPING\\\\_URL: RegExp","sidebar":"api"},"api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME":{"id":"api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_CHROME","description":"const RE\\\\_VALID\\\\_FRAME\\\\_CHROME: RegExp","sidebar":"api"},"api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX":{"id":"api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX","description":"const RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX: RegExp","sidebar":"api"},"api/@ima/plugin-cli/functions/preprocessTransformer":{"id":"api/@ima/plugin-cli/functions/preprocessTransformer","title":"Function: preprocessTransformer()","description":"preprocessTransformer(options): Transformer","sidebar":"api"},"api/@ima/plugin-cli/functions/swcTransformer":{"id":"api/@ima/plugin-cli/functions/swcTransformer","title":"Function: swcTransformer()","description":"swcTransformer(options): Transformer","sidebar":"api"},"api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin":{"id":"api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","title":"Function: typescriptDeclarationsPlugin()","description":"typescriptDeclarationsPlugin(options): Plugin","sidebar":"api"},"api/@ima/plugin-cli/globals":{"id":"api/@ima/plugin-cli/globals","title":"@ima/plugin-cli","description":"Interfaces","sidebar":"api"},"api/@ima/plugin-cli/index":{"id":"api/@ima/plugin-cli/index","title":"index","description":"@ima/plugin-cli","sidebar":"api"},"api/@ima/plugin-cli/interfaces/Context":{"id":"api/@ima/plugin-cli/interfaces/Context","title":"Interface: Context","description":"Defined in71","sidebar":"api"},"api/@ima/plugin-cli/interfaces/ImaPluginConfig":{"id":"api/@ima/plugin-cli/interfaces/ImaPluginConfig","title":"Interface: ImaPluginConfig","description":"Defined in57","sidebar":"api"},"api/@ima/plugin-cli/interfaces/PipeContext":{"id":"api/@ima/plugin-cli/interfaces/PipeContext","title":"Interface: PipeContext","description":"Defined in78","sidebar":"api"},"api/@ima/plugin-cli/interfaces/Source":{"id":"api/@ima/plugin-cli/interfaces/Source","title":"Interface: Source","description":"Defined in89","sidebar":"api"},"api/@ima/plugin-cli/type-aliases/Command":{"id":"api/@ima/plugin-cli/type-aliases/Command","title":"Type Alias: Command","description":"Command: \\"dev\\" \\\\| \\"link\\" \\\\| \\"build\\"","sidebar":"api"},"api/@ima/plugin-cli/type-aliases/Plugin":{"id":"api/@ima/plugin-cli/type-aliases/Plugin","title":"Type Alias: Plugin()","description":"Plugin: (context) => void \\\\| Promise\\\\","sidebar":"api"},"api/@ima/plugin-cli/type-aliases/Transformer":{"id":"api/@ima/plugin-cli/type-aliases/Transformer","title":"Type Alias: Transformer()","description":"Transformer: (`{","sidebar":"api"},"api/@ima/plugin-cli/type-aliases/TransformerOptions":{"id":"api/@ima/plugin-cli/type-aliases/TransformerOptions","title":"Type Alias: TransformerOptions","description":"TransformerOptions: object","sidebar":"api"},"api/@ima/plugin-cli/variables/clientServerConfig":{"id":"api/@ima/plugin-cli/variables/clientServerConfig","title":"Variable: clientServerConfig","description":"const clientServerConfig: ImaPluginConfig","sidebar":"api"},"api/@ima/plugin-cli/variables/defaultConfig":{"id":"api/@ima/plugin-cli/variables/defaultConfig","title":"Variable: defaultConfig","description":"const defaultConfig: ImaPluginConfig","sidebar":"api"},"api/@ima/plugin-cli/variables/nodeConfig":{"id":"api/@ima/plugin-cli/variables/nodeConfig","title":"Variable: nodeConfig","description":"const nodeConfig: ImaPluginConfig","sidebar":"api"},"api/@ima/react-page-renderer/classes/AbstractComponent":{"id":"api/@ima/react-page-renderer/classes/AbstractComponent","title":"Class: abstract AbstractComponent\\\\<P, S, SS\\\\>","description":"Defined in10","sidebar":"api"},"api/@ima/react-page-renderer/classes/AbstractPureComponent":{"id":"api/@ima/react-page-renderer/classes/AbstractPureComponent","title":"Class: abstract AbstractPureComponent\\\\<P, S, SS\\\\>","description":"Defined in10","sidebar":"api"},"api/@ima/react-page-renderer/classes/BlankManagedRootView":{"id":"api/@ima/react-page-renderer/classes/BlankManagedRootView","title":"Class: BlankManagedRootView\\\\<P, S, SS\\\\>","description":"Defined in18","sidebar":"api"},"api/@ima/react-page-renderer/classes/ErrorBoundary":{"id":"api/@ima/react-page-renderer/classes/ErrorBoundary","title":"Class: ErrorBoundary","description":"Defined in15","sidebar":"api"},"api/@ima/react-page-renderer/classes/PageRendererFactory":{"id":"api/@ima/react-page-renderer/classes/PageRendererFactory","title":"Class: PageRendererFactory","description":"Defined in7","sidebar":"api"},"api/@ima/react-page-renderer/classes/ServerPageRenderer":{"id":"api/@ima/react-page-renderer/classes/ServerPageRenderer","title":"Class: ServerPageRenderer","description":"Defined in22","sidebar":"api"},"api/@ima/react-page-renderer/classes/ViewAdapter":{"id":"api/@ima/react-page-renderer/classes/ViewAdapter","title":"Class: ViewAdapter","description":"Defined in24","sidebar":"api"},"api/@ima/react-page-renderer/functions/cssClasses":{"id":"api/@ima/react-page-renderer/functions/cssClasses","title":"Function: cssClasses()","description":"cssClasses(component, classRules, includeComponentClassName): string","sidebar":"api"},"api/@ima/react-page-renderer/functions/defaultCssClasses":{"id":"api/@ima/react-page-renderer/functions/defaultCssClasses","title":"Function: defaultCssClasses()","description":"defaultCssClasses(classRules, component?): string","sidebar":"api"},"api/@ima/react-page-renderer/functions/fire":{"id":"api/@ima/react-page-renderer/functions/fire","title":"Function: fire()","description":"fire(component, eventTarget, eventName, data): EventBus","sidebar":"api"},"api/@ima/react-page-renderer/functions/getUtils":{"id":"api/@ima/react-page-renderer/functions/getUtils","title":"Function: getUtils()","description":"getUtils(props, context): Utils \\\\| undefined","sidebar":"api"},"api/@ima/react-page-renderer/functions/link":{"id":"api/@ima/react-page-renderer/functions/link","title":"Function: link()","description":"link(component, name, params): string","sidebar":"api"},"api/@ima/react-page-renderer/functions/listen":{"id":"api/@ima/react-page-renderer/functions/listen","title":"Function: listen()","description":"listen(component, eventTarget, eventName, listener): EventBus","sidebar":"api"},"api/@ima/react-page-renderer/functions/localize":{"id":"api/@ima/react-page-renderer/functions/localize","title":"Function: localize()","description":"localize(component, key, params): string","sidebar":"api"},"api/@ima/react-page-renderer/functions/unlisten":{"id":"api/@ima/react-page-renderer/functions/unlisten","title":"Function: unlisten()","description":"unlisten(component, eventTarget, eventName, listener): EventBus","sidebar":"api"},"api/@ima/react-page-renderer/functions/useComponent":{"id":"api/@ima/react-page-renderer/functions/useComponent","title":"Function: useComponent()","description":"useComponent(): useComponentType","sidebar":"api"},"api/@ima/react-page-renderer/functions/useComponentUtils":{"id":"api/@ima/react-page-renderer/functions/useComponentUtils","title":"Function: useComponentUtils()","description":"useComponentUtils(): Utils","sidebar":"api"},"api/@ima/react-page-renderer/functions/useCssClasses":{"id":"api/@ima/react-page-renderer/functions/useCssClasses","title":"Function: useCssClasses()","description":"useCssClasses(): typeof defaultCssClasses","sidebar":"api"},"api/@ima/react-page-renderer/functions/useDispatcher":{"id":"api/@ima/react-page-renderer/functions/useDispatcher","title":"Function: useDispatcher()","description":"Call Signature","sidebar":"api"},"api/@ima/react-page-renderer/functions/useEventBus":{"id":"api/@ima/react-page-renderer/functions/useEventBus","title":"Function: useEventBus()","description":"useEventBus(eventTarget?, eventName?, listener?): useEventBusType","sidebar":"api"},"api/@ima/react-page-renderer/functions/useLink":{"id":"api/@ima/react-page-renderer/functions/useLink","title":"Function: useLink()","description":"useLink(): Router\\\\[\\"link\\"\\\\]","sidebar":"api"},"api/@ima/react-page-renderer/functions/useLocalize":{"id":"api/@ima/react-page-renderer/functions/useLocalize","title":"Function: useLocalize()","description":"useLocalize(): Dictionary\\\\[\\"get\\"\\\\]","sidebar":"api"},"api/@ima/react-page-renderer/functions/useOnce":{"id":"api/@ima/react-page-renderer/functions/useOnce","title":"Function: useOnce()","description":"useOnce(callback): void","sidebar":"api"},"api/@ima/react-page-renderer/functions/usePageContext":{"id":"api/@ima/react-page-renderer/functions/usePageContext","title":"Function: usePageContext()","description":"usePageContext(): PageContextType","sidebar":"api"},"api/@ima/react-page-renderer/functions/useSettings":{"id":"api/@ima/react-page-renderer/functions/useSettings","title":"Function: useSettings()","description":"useSettings\\\\(selector?): T \\\\| undefined","sidebar":"api"},"api/@ima/react-page-renderer/functions/useWindowEvent":{"id":"api/@ima/react-page-renderer/functions/useWindowEvent","title":"Function: useWindowEvent()","description":"Call Signature","sidebar":"api"},"api/@ima/react-page-renderer/globals":{"id":"api/@ima/react-page-renderer/globals","title":"@ima/react-page-renderer","description":"Classes","sidebar":"api"},"api/@ima/react-page-renderer/index":{"id":"api/@ima/react-page-renderer/index","title":"@ima/react-page-renderer","description":"Adds support for rendering pages with React for IMA@18 and higher. For legacy IMA@17 use page renderers included in core package.","sidebar":"api"},"api/@ima/react-page-renderer/interfaces/PageContextType":{"id":"api/@ima/react-page-renderer/interfaces/PageContextType","title":"Interface: PageContextType","description":"Defined in4","sidebar":"api"},"api/@ima/react-page-renderer/interfaces/useComponentType":{"id":"api/@ima/react-page-renderer/interfaces/useComponentType","title":"Interface: useComponentType","description":"Defined in7","sidebar":"api"},"api/@ima/react-page-renderer/interfaces/useDispatcherType":{"id":"api/@ima/react-page-renderer/interfaces/useDispatcherType","title":"Interface: useDispatcherType","description":"Defined in10","sidebar":"api"},"api/@ima/react-page-renderer/interfaces/useEventBusType":{"id":"api/@ima/react-page-renderer/interfaces/useEventBusType","title":"Interface: useEventBusType","description":"Defined in6","sidebar":"api"},"api/@ima/react-page-renderer/interfaces/ViewAdapterProps":{"id":"api/@ima/react-page-renderer/interfaces/ViewAdapterProps","title":"Interface: ViewAdapterProps","description":"Defined in8","sidebar":"api"},"api/@ima/react-page-renderer/variables/PageContext":{"id":"api/@ima/react-page-renderer/variables/PageContext","title":"Variable: PageContext","description":"const PageContext: Context\\\\","sidebar":"api"},"api/index":{"id":"api/index","title":"Documentation","description":"Packages","sidebar":"api"},"basic-features/controller-lifecycle":{"id":"basic-features/controller-lifecycle","title":"Controller lifecycle","description":"Basic features > Controller lifecycle and it\'s API","sidebar":"docs"},"basic-features/data-fetching":{"id":"basic-features/data-fetching","title":"Data fetching","description":"Basic features > Data fetching with HttpAgent","sidebar":"docs"},"basic-features/dictionary":{"id":"basic-features/dictionary","title":"Dictionary","description":"Basic features > Dictionary and language features","sidebar":"docs"},"basic-features/error-handling":{"id":"basic-features/error-handling","title":"Error Handling","description":"Basic features > Errors","sidebar":"docs"},"basic-features/events":{"id":"basic-features/events","title":"Events","description":"Basic features > EventBus and Dispatcher","sidebar":"docs"},"basic-features/extensions":{"id":"basic-features/extensions","title":"Extensions","description":"Basic features > Extensions as a companion to Controllers","sidebar":"docs"},"basic-features/handling-scripts-and-styles":{"id":"basic-features/handling-scripts-and-styles","title":"Handling scripts and styles","description":"Basic features > Script and style source files.","sidebar":"docs"},"basic-features/object-container":{"id":"basic-features/object-container","title":"Object Container","description":"Basic features > Object Container and IMA.js dependency injection","sidebar":"docs"},"basic-features/page-manager":{"id":"basic-features/page-manager","title":"Page Manager","description":"Basic features > Page Manager and app rendering","sidebar":"docs"},"basic-features/page-state":{"id":"basic-features/page-state","title":"Page State","description":"Basic features > Page State and it\'s usage","sidebar":"docs"},"basic-features/rendering-process":{"id":"basic-features/rendering-process","title":"Rendering process","description":"Basic features > Rendering process","sidebar":"docs"},"basic-features/routing/async-routing":{"id":"basic-features/routing/async-routing","title":"Async Routing","description":"Basic features > Routing > Async Routing","sidebar":"docs"},"basic-features/routing/dynamic-routes":{"id":"basic-features/routing/dynamic-routes","title":"Dynamic Routes","description":"Basic features > Routing > Dynamic Routes","sidebar":"docs"},"basic-features/routing/introduction":{"id":"basic-features/routing/introduction","title":"Introduction","description":"Basic features > Routing >\xa0Introduction","sidebar":"docs"},"basic-features/routing/middlewares":{"id":"basic-features/routing/middlewares","title":"Middlewares","description":"Basic features > Routing > Middlewares","sidebar":"docs"},"basic-features/seo-and-meta-manager":{"id":"basic-features/seo-and-meta-manager","title":"SEO & Meta Manager","description":"Basic features > SEO & Meta Manager","sidebar":"docs"},"basic-features/testing":{"id":"basic-features/testing","title":"Testing","description":"Basic features > Testing","sidebar":"docs"},"basic-features/typescript":{"id":"basic-features/typescript","title":"TypeScript","description":"Basic features > TypeScript","sidebar":"docs"},"basic-features/views-and-components":{"id":"basic-features/views-and-components","title":"Views & Components","description":"Basic features > Views & Components","sidebar":"docs"},"cli/additional-features":{"id":"cli/additional-features","title":"Additional features","description":"CLI > Advanced CLI techniques and other features","sidebar":"docs"},"cli/advanced-features":{"id":"cli/advanced-features","title":"Advanced Features","description":"CLI > Advanced CLI techniques and other features"},"cli/cli":{"id":"cli/cli","title":"Introduction to @ima/cli","description":"CLI > Introduction to @ima/cli","sidebar":"docs"},"cli/cli-plugins-api":{"id":"cli/cli-plugins-api","title":"CLI Plugins API","description":"CLI > CLI Plugins and their API","sidebar":"docs"},"cli/compiler-features":{"id":"cli/compiler-features","title":"Compiler features","description":"CLI > Compiler features","sidebar":"docs"},"cli/ima.config.js":{"id":"cli/ima.config.js","title":"ima.config.js","description":"CLI > Customizing the build through ima.config.js","sidebar":"docs"},"cli/plugins/analyze-plugin":{"id":"cli/plugins/analyze-plugin","title":"Analyze Plugin","description":"CLI > CLI Plugins and their API > Analyze Plugin","sidebar":"docs"},"cli/plugins/less-constants-plugin":{"id":"cli/plugins/less-constants-plugin","title":"LESS Constants Plugin","description":"CLI > CLI Plugins and their API > LESS Constants Plugin","sidebar":"docs"},"cli/plugins/scramble-css-plugin":{"id":"cli/plugins/scramble-css-plugin","title":"ScrambleCSS Plugin","description":"CLI > CLI Plugins and their API > ScrambleCSS Plugin","sidebar":"docs"},"contributing/how-to-contribute":{"id":"contributing/how-to-contribute","title":"How to Contribute","description":"Contributing > How to Contribute","sidebar":"docs"},"devtools/devtools-introduction":{"id":"devtools/devtools-introduction","title":"Introduction","description":"Devtools > Introduction to the use of IMA.js developer tools","sidebar":"docs"},"devtools/devtools-options":{"id":"devtools/devtools-options","title":"Options","description":"Devtools > Available options and customization","sidebar":"docs"},"devtools/devtools-ui":{"id":"devtools/devtools-ui","title":"UI & Controls","description":"Devtools > Description of UI elements","sidebar":"docs"},"introduction/configuration":{"id":"introduction/configuration","title":"Configuration options","description":"Introduction > IMA.js application configuration options","sidebar":"docs"},"introduction/getting-started":{"id":"introduction/getting-started","title":"Getting Started with IMA.js","description":"Introduction > Resources to get started learning and using IMA.js","sidebar":"docs"},"migration/migration-0.14.0":{"id":"migration/migration-0.14.0","title":"Migration 0.14.0","description":"Migration > Migration to version 0.14.0","sidebar":"docs"},"migration/migration-0.15.0":{"id":"migration/migration-0.15.0","title":"Migration 0.15.0","description":"Migration > Migration to version 0.15.0","sidebar":"docs"},"migration/migration-0.16.0":{"id":"migration/migration-0.16.0","title":"Migration 0.16.0","description":"Migration > Migration to version 0.16.0","sidebar":"docs"},"migration/migration-17.0.0":{"id":"migration/migration-17.0.0","title":"Migration 17.0.0","description":"Migration > Migration to version 17.0.0","sidebar":"docs"},"migration/migration-18.0.0":{"id":"migration/migration-18.0.0","title":"Migration 18.0.0","description":"Migration > Migration to version 18.0.0","sidebar":"docs"},"migration/migration-19.0.0":{"id":"migration/migration-19.0.0","title":"Migration 19.0.0","description":"Migration > Migration to version 19.0.0","sidebar":"docs"},"plugins/available-plugins":{"id":"plugins/available-plugins","title":"Existing plugins","description":"Plugins > List of existing plugins","sidebar":"docs"},"plugins/plugin-api":{"id":"plugins/plugin-api","title":"Plugins API","description":"Plugins > Plugins API","sidebar":"docs"},"tutorial/adding-some-state":{"id":"tutorial/adding-some-state","title":"Adding Some State","description":"Tutorial > Adding Some State","sidebar":"tutorial"},"tutorial/fetching-data":{"id":"tutorial/fetching-data","title":"Fetching Data","description":"Tutorial > Fetching Data","sidebar":"tutorial"},"tutorial/final-polish":{"id":"tutorial/final-polish","title":"Final Polish","description":"Tutorial > Final Polish","sidebar":"tutorial"},"tutorial/introduction":{"id":"tutorial/introduction","title":"Introduction","description":"Tutorial > Introduction","sidebar":"tutorial"},"tutorial/static-view":{"id":"tutorial/static-view","title":"Static View","description":"Tutorial > Static View","sidebar":"tutorial"},"tutorial/writing-posts":{"id":"tutorial/writing-posts","title":"Writing Posts","description":"Tutorial > Writing Posts","sidebar":"tutorial"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22fe3d7c.84394cb7.js b/assets/js/22fe3d7c.84394cb7.js new file mode 100644 index 000000000..2408c7996 --- /dev/null +++ b/assets/js/22fe3d7c.84394cb7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3687],{2093:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>i,contentTitle:()=>t,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/classes/UrlTransformer","title":"Class: UrlTransformer","description":"Defined in6","source":"@site/../docs/api/@ima/core/classes/UrlTransformer.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/UrlTransformer","permalink":"/api/@ima/core/classes/UrlTransformer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/UrlTransformer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Storage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/Storage"},"next":{"title":"Class: WeakMapStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/WeakMapStorage"}}');var a=s(2540),c=s(3023);const l={},t="Class: UrlTransformer",i={},d=[{value:"Constructors",id:"constructors",level:2},{value:"new UrlTransformer()",id:"new-urltransformer",level:3},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_rules",id:"_rules",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"addRule()",id:"addrule",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pattern",id:"pattern",level:5},{value:"replacement",id:"replacement",level:5},{value:"Returns",id:"returns-2",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-3",level:4},{value:"transform()",id:"transform",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"url",id:"url",level:5},{value:"Returns",id:"returns-4",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.header,{children:(0,a.jsx)(r.h1,{id:"class-urltransformer",children:"Class: UrlTransformer"})}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L6",children:"packages/core/src/http/UrlTransformer.ts:6"})]}),"\n",(0,a.jsx)(r.p,{children:"Utility for transforming URLs according to the configured replacement rules."}),"\n",(0,a.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,a.jsx)(r.h3,{id:"new-urltransformer",children:"new UrlTransformer()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"new UrlTransformer"}),"(): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,a.jsx)(r.code,{children:"UrlTransformer"})})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L16",children:"packages/core/src/http/UrlTransformer.ts:16"})]}),"\n",(0,a.jsx)(r.p,{children:"Initializes the URL transformer."}),"\n",(0,a.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,a.jsx)(r.code,{children:"UrlTransformer"})})}),"\n",(0,a.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,a.jsx)(r.h3,{id:"_rules",children:"_rules"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"protected"})," ",(0,a.jsx)(r.strong,{children:"_rules"}),": ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,a.jsx)(r.code,{children:"StringParameters"})})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L7",children:"packages/core/src/http/UrlTransformer.ts:7"})]}),"\n",(0,a.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,a.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,a.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"get"})," ",(0,a.jsx)(r.code,{children:"static"})," ",(0,a.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,a.jsx)(r.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L9",children:"packages/core/src/http/UrlTransformer.ts:9"})]}),"\n",(0,a.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"never"}),"[]"]}),"\n",(0,a.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,a.jsx)(r.h3,{id:"addrule",children:"addRule()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"addRule"}),"(",(0,a.jsx)(r.code,{children:"pattern"}),", ",(0,a.jsx)(r.code,{children:"replacement"}),"): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,a.jsx)(r.code,{children:"UrlTransformer"})})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L30",children:"packages/core/src/http/UrlTransformer.ts:30"})]}),"\n",(0,a.jsx)(r.p,{children:"Adds the provided replacement rule to the rules used by this URL\ntransformer."}),"\n",(0,a.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"pattern",children:"pattern"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"Regexp patter to look for (must be escaped as if\nfor use in the Regexp constructor)."}),"\n",(0,a.jsx)(r.h5,{id:"replacement",children:"replacement"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The replacement of the matched patter in any\nmatched URL."}),"\n",(0,a.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,a.jsx)(r.code,{children:"UrlTransformer"})})}),"\n",(0,a.jsx)(r.p,{children:"This transformer."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"clear",children:"clear()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"clear"}),"(): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,a.jsx)(r.code,{children:"UrlTransformer"})})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L39",children:"packages/core/src/http/UrlTransformer.ts:39"})]}),"\n",(0,a.jsx)(r.p,{children:"Clears all rules."}),"\n",(0,a.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,a.jsx)(r.code,{children:"UrlTransformer"})})}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"transform",children:"transform()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"transform"}),"(",(0,a.jsx)(r.code,{children:"url"}),"): ",(0,a.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/UrlTransformer.ts#L53",children:"packages/core/src/http/UrlTransformer.ts:53"})]}),"\n",(0,a.jsx)(r.p,{children:"Applies all rules registered with this URL transformer to the provided\nURL and returns the result. The rules will be applied in the order they\nwere registered."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"url",children:"url"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The URL for transformation."}),"\n",(0,a.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"Transformed URL."})]})}function h(e={}){const{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>l,x:()=>t});var n=s(3696);const a={},c=n.createContext(a);function l(e){const r=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),n.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/23b7ba02.4e15dfe3.js b/assets/js/23b7ba02.4e15dfe3.js new file mode 100644 index 000000000..2d0b4439e --- /dev/null +++ b/assets/js/23b7ba02.4e15dfe3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[134],{3089:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/OCInstanceConstrain","title":"Type Alias: OCInstanceConstrain\\\\<T\\\\>","description":"OCInstanceConstrain\\\\ true; \\\\}\\\\]","source":"@site/../docs/api/@ima/core/type-aliases/OCInstanceConstrain.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/OCInstanceConstrain","permalink":"/api/@ima/core/type-aliases/OCInstanceConstrain","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/OCInstanceConstrain.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: OCInstance\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/OCInstance"},"next":{"title":"Type Alias: ObjectParameters","permalink":"/api/@ima/core/type-aliases/ObjectParameters"}}');var a=t(2540),r=t(3023);const c={},i="Type Alias: OCInstanceConstrain<T>",o={},d=[{value:"Type Parameters",id:"type-parameters",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"type-alias-ocinstanceconstraint",children:"Type Alias: OCInstanceConstrain<T>"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"OCInstanceConstrain"}),"<",(0,a.jsx)(n.code,{children:"T"}),">: keyof ",(0,a.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DecoratedOCAliasMap",children:(0,a.jsx)(n.code,{children:"DecoratedOCAliasMap"})})," | ",(0,a.jsx)(n.code,{children:"Constructor"}),"<",(0,a.jsx)(n.code,{children:"T"}),"> | ",(0,a.jsx)(n.code,{children:"AbstractConstructor"}),"<",(0,a.jsx)(n.code,{children:"T"}),"> | [",(0,a.jsx)(n.code,{children:"AbstractConstructor"}),"<",(0,a.jsx)(n.code,{children:"T"}),"> | ",(0,a.jsx)(n.code,{children:"Constructor"}),"<",(0,a.jsx)(n.code,{children:"T"}),">, { ",(0,a.jsx)(n.code,{children:"optional"}),": ",(0,a.jsx)(n.code,{children:"true"}),"; }]"]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L35",children:"packages/core/src/oc/ObjectContainer.ts:35"})]}),"\n",(0,a.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,a.jsxs)(n.p,{children:["\u2022 ",(0,a.jsx)(n.strong,{children:"T"})," = ",(0,a.jsx)(n.code,{children:"any"})]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>i});var s=t(3696);const a={},r=s.createContext(a);function c(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/23f47465.520b1f03.js b/assets/js/23f47465.520b1f03.js new file mode 100644 index 000000000..c2b75cbb3 --- /dev/null +++ b/assets/js/23f47465.520b1f03.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6098],{2726:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>h});const l=JSON.parse('{"id":"cli/cli","title":"Introduction to @ima/cli","description":"CLI > Introduction to @ima/cli","source":"@site/../docs/cli/cli.md","sourceDirName":"cli","slug":"/cli/","permalink":"/cli/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/cli.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Introduction to @ima/cli","description":"CLI > Introduction to @ima/cli"},"sidebar":"docs","previous":{"title":"Dynamic imports","permalink":"/advanced-features/dynamic-imports"},"next":{"title":"Compiler features","permalink":"/cli/compiler-features"}}');var i=o(2540),r=o(3023),s=o(3776),t=o(6052);const a={title:"Introduction to @ima/cli",description:"CLI > Introduction to @ima/cli"},c=void 0,d={},h=[{value:"Development",id:"development",level:2},{value:"Build",id:"build",level:2},{value:"CLI options",id:"cli-options",level:2},{value:"--version",id:"--version",level:3},{value:"--help",id:"--help",level:3},{value:"--clean",id:"--clean",level:3},{value:"--clearCache",id:"--clearcache",level:3},{value:"--verbose",id:"--verbose",level:3},{value:"--inspect",id:"--inspect",level:3},{value:"--ignoreWarnings",id:"--ignorewarnings",level:3},{value:"--open",id:"--open",level:3},{value:"--openUrl",id:"--openurl",level:3},{value:"--legacy",id:"--legacy",level:3},{value:"--forceLegacy",id:"--forcelegacy",level:3},{value:"--forceSPA",id:"--forcespa",level:3},{value:"--profile",id:"--profile",level:3},{value:"--writeToDisk",id:"--writetodisk",level:3},{value:"--reactRefresh",id:"--reactrefresh",level:3},{value:"--lazyServer",id:"--lazyserver",level:3},{value:"Dev server options",id:"dev-server-options",level:2},{value:"--port",id:"--port",level:3},{value:"--hostname",id:"--hostname",level:3},{value:"--publicUrl",id:"--publicurl",level:3}];function u(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.strong,{children:"IMA.js CLI"})," allows you to build and watch your application for changes during development. These features are handle by the only two currently supported commands ",(0,i.jsx)(n.code,{children:"build"})," and ",(0,i.jsx)(n.code,{children:"dev"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"You can always list available commands by running:"}),"\n",(0,i.jsxs)(s.A,{groupId:"npm2yarn",children:[(0,i.jsx)(t.A,{value:"npm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx ima --help\n"})})}),(0,i.jsx)(t.A,{value:"yarn",label:"Yarn",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"yarn dlx ima --help\n"})})}),(0,i.jsx)(t.A,{value:"pnpm",label:"pnpm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"pnpm dlx ima --help\n"})})})]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/npx",children:"npx"})," comes pre-installed with npm 5.2+ and higher."]})}),"\n",(0,i.jsx)(n.p,{children:"This should produce following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"Usage: ima <command>\n\nCommands:\n ima build Build an application for production\n ima dev Run application in development watch mode\n\nOptions:\n --version Show version number [boolean]\n --help Show help [boolean]\n"})}),"\n",(0,i.jsx)(n.h2,{id:"development",children:"Development"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"npx ima dev"})," command starts the application in the ",(0,i.jsx)(n.strong,{children:"development"})," mode with HMR, error-overlay, source maps and other debugging tools enabled."]}),"\n",(0,i.jsxs)(n.p,{children:["By default the application starts on ",(0,i.jsx)(n.a,{href:"http://localhost:3001",children:"http://localhost:3001"})," with ",(0,i.jsx)(n.a,{href:"./advanced-features#dev-server",children:"companion dev server"})," running at ",(0,i.jsx)(n.a,{href:"http://localhost:3101",children:"http://localhost:3101"}),". These can be further customized through the app ",(0,i.jsx)(n.strong,{children:"environment"})," settings and CLI arguments."]}),"\n",(0,i.jsxs)(n.p,{children:["You can also run ",(0,i.jsx)(n.code,{children:"npx ima dev --help"})," to list all available options that you can use:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"ima dev\n\nRun application in development watch mode\n\nOptions:\n --version Show version number [boolean]\n --help Show help [boolean]\n --clean Clean build folder before building the application [boolean] [default: true]\n --clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]\n --verbose Use default webpack CLI output instead of custom one [boolean]\n --inspect Enable Node inspector mode [boolean]\n --ignoreWarnings Webpack will no longer print warnings during compilation [boolean]\n --open Opens browser window after server has been started [boolean] [default: true]\n --openUrl Custom URL used when opening browser window [string]\n --legacy Runs application in legacy mode [boolean] [default: false]\n --forceLegacy Forces runner.js to execute legacy client code [boolean] [default: false]\n --forceSPA Forces application to run in SPA mode [boolean] [default: false]\n --writeToDisk Write static files to disk, instead of serving it from memory [boolean] [default: false]\n --reactRefresh Enable/disable react fast refresh for React components [boolean] [default: true]\n --lazyServer Enable/disable lazy init of server app factory [boolean] [default: true]\n --port Dev server port (overrides ima.config.js settings) [number]\n --hostname Dev server hostname (overrides ima.config.js settings) [string]\n --publicUrl Dev server publicUrl (overrides ima.config.js settings) [string]\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["Any of the above mentioned options can be combined together in all different combinations and all options have specified default value. This means that in normal cases you can run ",(0,i.jsx)(n.code,{children:"npx ima dev"})," without any additional arguments."]})}),"\n",(0,i.jsx)(n.h2,{id:"build",children:"Build"}),"\n",(0,i.jsxs)(n.p,{children:["Builds the application in production mode with all optimizations enabled (compression, minification, etc.). The ",(0,i.jsx)(n.code,{children:"build"})," command drops some options compared to the ",(0,i.jsx)(n.code,{children:"dev"})," command. While adding few build specific commands. ",(0,i.jsx)(n.code,{children:"npx build --help"})," produces:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"ima build\n\nBuild an application for production\n\nOptions:\n --version Show version number [boolean]\n --help Show help [boolean]\n --clean Clean build folder before building the application [boolean] [default: true]\n --clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]\n --verbose Use default webpack CLI output instead of custom one [boolean]\n --ignoreWarnings Webpack will no longer print warnings during compilation [boolean]\n --profile Turn on profiling support in production [boolean] [default: false]\n"})}),"\n",(0,i.jsx)(n.h2,{id:"cli-options",children:"CLI options"}),"\n",(0,i.jsxs)(n.p,{children:["Most of the following options are available for both ",(0,i.jsx)(n.code,{children:"dev"})," and ",(0,i.jsx)(n.code,{children:"build"})," commands, however some may be exclusive to only one of them. You can always use the ",(0,i.jsx)(n.code,{children:"--help"})," argument to show all available options for each command."]}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["When you run into any issues with the application build, you can always run the app with ",(0,i.jsx)(n.code,{children:"npx ima dev --clearCache"})," to make sure that all cache and tmp files are deleted before next build and see if this resolves your issues."]}),(0,i.jsxs)(n.p,{children:["Similarly you can use the ",(0,i.jsx)(n.code,{children:"--verbose"})," option to show more information during build that can aid you in ",(0,i.jsx)(n.strong,{children:"debugging process"})," in case anything happens."]})]}),"\n",(0,i.jsx)(n.h3,{id:"--version",children:"--version"}),"\n",(0,i.jsxs)(n.p,{children:["Prints ",(0,i.jsx)(n.code,{children:"@ima/cli"})," version."]}),"\n",(0,i.jsx)(n.h3,{id:"--help",children:"--help"}),"\n",(0,i.jsx)(n.p,{children:"Prints help dialog."}),"\n",(0,i.jsx)(n.h3,{id:"--clean",children:"--clean"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Deletes ",(0,i.jsx)(n.code,{children:"./build"})," folder before running the application."]}),"\n",(0,i.jsx)(n.h3,{id:"--clearcache",children:"--clearCache"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Clears ",(0,i.jsx)(n.code,{children:"./node_modules/.cache"})," folder. This is used to store webpack filesystem cache and other webpack loader and plugins cache."]}),"\n",(0,i.jsx)(n.h3,{id:"--verbose",children:"--verbose"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Disables custom CLI logging style in favor of default webpack CLI verbose. This can be useful for debugging."}),"\n",(0,i.jsx)(n.h3,{id:"--inspect",children:"--inspect"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Disable/enable node ",(0,i.jsx)(n.a,{href:"https://nodejs.org/en/docs/guides/debugging-getting-started",children:"inspector"})," mode."]}),"\n",(0,i.jsx)(n.h3,{id:"--ignorewarnings",children:"--ignoreWarnings"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Ignore reporting of webpack warning messages. The CLI automatically caches all existing warnings and shows just new warnings rebuilds in watch mode."}),"\n",(0,i.jsx)(n.h3,{id:"--open",children:"--open"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Enable/disable auto opening of app URL in the browser window on startup."}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["If you find this option annoying, you can completely ",(0,i.jsx)(n.strong,{children:"disable this feature across all IMA.js applications"})," by putting ",(0,i.jsx)(n.code,{children:"IMA_CLI_OPEN=false"})," in your environment."]})}),"\n",(0,i.jsx)(n.h3,{id:"--openurl",children:"--openUrl"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Allows you to customize URL which is opened when the server starts in development mode."}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["You can also use ",(0,i.jsx)(n.code,{children:"IMA_CLI_OPEN_URL='http://ima.dev:3001'"})," env variable to set this option."]}),(0,i.jsxs)(n.p,{children:["This is usefull when you have project-specific URLs. You can then set this environment variable in application's ",(0,i.jsx)(n.code,{children:"ima.config.js"})," and don't have to worry about using ",(0,i.jsx)(n.code,{children:"--openUrl"})," CLI argument everytime you're starting the application in dev mode."]})]}),"\n",(0,i.jsx)(n.h3,{id:"--legacy",children:"--legacy"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["By default the CLI only builds ",(0,i.jsx)(n.code,{children:"es"})," version of JS files in development mode. Use this option to enable ",(0,i.jsx)(n.a,{href:"./compiler-features#server-and-client-bundles",children:"additional build of non es version"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"--forcelegacy",children:"--forceLegacy"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Enables ",(0,i.jsx)(n.code,{children:"legacy"})," mode and forces runner.js to load legacy code even if targeted browser supports the latest client es version."]}),"\n",(0,i.jsx)(n.h3,{id:"--forcespa",children:"--forceSPA"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Forces the application to run in SPA mode."}),"\n",(0,i.jsx)(n.h3,{id:"--profile",children:"--profile"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Disables some optimizations to allow for better debugging while also trying to be as close to the production build as possible. Currently this option disables mangling of classes and functions, which produces more readable stack traces."}),"\n",(0,i.jsx)(n.h3,{id:"--writetodisk",children:"--writeToDisk"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = false"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["By default the app ",(0,i.jsx)(n.strong,{children:"client static files are served from memory"})," in dev mode. Using this option you can force webpack to write these files and serve them from the disk."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"This option can be useful in some cases where you need to take a look at the compile source code, where it's easier to browse these files locally, rather than on the static server."})}),"\n",(0,i.jsx)(n.h3,{id:"--reactrefresh",children:"--reactRefresh"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Disable/enable ",(0,i.jsx)(n.a,{href:"https://github.com/pmmmwh/react-refresh-webpack-plugin",children:"react fast refresh"})," for React components."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Disable this option if you are watching and editing ",(0,i.jsx)(n.code,{children:"node_modules"})," files, this may result in less performant but more stable HMR experience."]})}),"\n",(0,i.jsx)(n.h3,{id:"--lazyserver",children:"--lazyServer"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Disable/enable lazy init of server app factory."}),"\n",(0,i.jsx)(n.h2,{id:"dev-server-options",children:"Dev server options"}),"\n",(0,i.jsxs)(n.p,{children:["Following options are used to customize the companion dev server location (only for ",(0,i.jsx)(n.code,{children:"dev"})," command). These can be useful if you have some special dev environment, where you have an issue with the default configuration."]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["If you provide ",(0,i.jsx)(n.code,{children:"port"})," and ",(0,i.jsx)(n.code,{children:"hostname"}),", you don't need to define the ",(0,i.jsx)(n.code,{children:"publicUrl"}),", the CLI will create it automatically, unless the ",(0,i.jsx)(n.code,{children:"publicUrl"})," is completely different than the ",(0,i.jsx)(n.code,{children:"hostname"})," and ",(0,i.jsx)(n.code,{children:"port"})," provided."]})}),"\n",(0,i.jsx)(n.h3,{id:"--port",children:"--port"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"number"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Dev server port."}),"\n",(0,i.jsx)(n.h3,{id:"--hostname",children:"--hostname"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Dev server hostname, for example: ",(0,i.jsx)(n.code,{children:"localhost"}),", or ",(0,i.jsx)(n.code,{children:"127.0.0.1"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"--publicurl",children:"--publicUrl"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Dev server public url, for example: ",(0,i.jsx)(n.code,{children:"http://localhost:3101"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},6052:(e,n,o)=>{o.d(n,{A:()=>s});o(3696);var l=o(2689);const i={tabItem:"tabItem_wHwb"};var r=o(2540);function s(e){let{children:n,hidden:o,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,l.A)(i.tabItem,s),hidden:o,children:n})}},3776:(e,n,o)=>{o.d(n,{A:()=>w});var l=o(3696),i=o(2689),r=o(3707),s=o(9519),t=o(3604),a=o(5196),c=o(6229),d=o(8030);function h(e){return l.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,l.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:o}=e;return(0,l.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:o,attributes:l,default:i}}=e;return{value:n,label:o,attributes:l,default:i}}))}(o);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,o])}function p(e){let{value:n,tabValues:o}=e;return o.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:o}=e;const i=(0,s.W6)(),r=function(e){let{queryString:n=!1,groupId:o}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!o)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:n,groupId:o});return[(0,a.aZ)(r),(0,l.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(i.location.search);n.set(r,e),i.replace({...i.location,search:n.toString()})}),[r,i])]}function b(e){const{defaultValue:n,queryString:o=!1,groupId:i}=e,r=u(e),[s,a]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:o}=e;if(0===o.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:o}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${o.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const l=o.find((e=>e.default))??o[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:n,tabValues:r}))),[c,h]=m({queryString:o,groupId:i}),[b,f]=function(e){let{groupId:n}=e;const o=function(e){return e?`docusaurus.tab.${e}`:null}(n),[i,r]=(0,d.Dv)(o);return[i,(0,l.useCallback)((e=>{o&&r.set(e)}),[o,r])]}({groupId:i}),x=(()=>{const e=c??b;return p({value:e,tabValues:r})?e:null})();(0,t.A)((()=>{x&&a(x)}),[x]);return{selectedValue:s,selectValue:(0,l.useCallback)((e=>{if(!p({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);a(e),h(e),f(e)}),[h,f,r]),tabValues:r}}var f=o(5200);const x={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var v=o(2540);function j(e){let{className:n,block:o,selectedValue:l,selectValue:s,tabValues:t}=e;const a=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.a_)(),d=e=>{const n=e.currentTarget,o=a.indexOf(n),i=t[o].value;i!==l&&(c(n),s(i))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const o=a.indexOf(e.currentTarget)+1;n=a[o]??a[0];break}case"ArrowLeft":{const o=a.indexOf(e.currentTarget)-1;n=a[o]??a[a.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":o},n),children:t.map((e=>{let{value:n,label:o,attributes:r}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,ref:e=>{a.push(e)},onKeyDown:h,onClick:d,...r,className:(0,i.A)("tabs__item",x.tabItem,r?.className,{"tabs__item--active":l===n}),children:o??n},n)}))})}function g(e){let{lazy:n,children:o,selectedValue:r}=e;const s=(Array.isArray(o)?o:[o]).filter(Boolean);if(n){const e=s.find((e=>e.props.value===r));return e?(0,l.cloneElement)(e,{className:(0,i.A)("margin-top--md",e.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:s.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function y(e){const n=b(e);return(0,v.jsxs)("div",{className:(0,i.A)("tabs-container",x.tabList),children:[(0,v.jsx)(j,{...n,...e}),(0,v.jsx)(g,{...n,...e})]})}function w(e){const n=(0,f.A)();return(0,v.jsx)(y,{...e,children:h(e.children)},String(n))}},3023:(e,n,o)=>{o.d(n,{R:()=>s,x:()=>t});var l=o(3696);const i={},r=l.createContext(i);function s(e){const n=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/23f47465.604d5221.js b/assets/js/23f47465.604d5221.js deleted file mode 100644 index 3453ffa83..000000000 --- a/assets/js/23f47465.604d5221.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6098],{5680:(e,n,a)=>{a.d(n,{xA:()=>u,yg:()=>g});var t=a(6540);function o(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function l(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function r(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?l(Object(a),!0).forEach((function(n){o(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function i(e,n){if(null==e)return{};var a,t,o=function(e,n){if(null==e)return{};var a,t,o={},l=Object.keys(e);for(t=0;t<l.length;t++)a=l[t],n.indexOf(a)>=0||(o[a]=e[a]);return o}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)a=l[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=t.createContext({}),p=function(e){var n=t.useContext(s),a=n;return e&&(a="function"==typeof e?e(n):r(r({},n),e)),a},u=function(e){var n=p(e.components);return t.createElement(s.Provider,{value:n},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},m=t.forwardRef((function(e,n){var a=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),c=p(a),m=o,g=c["".concat(s,".").concat(m)]||c[m]||d[m]||l;return a?t.createElement(g,r(r({ref:n},u),{},{components:a})):t.createElement(g,r({ref:n},u))}));function g(e,n){var a=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var l=a.length,r=new Array(l);r[0]=m;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[c]="string"==typeof e?e:o,r[1]=i;for(var p=2;p<l;p++)r[p]=a[p];return t.createElement.apply(null,r)}return t.createElement.apply(null,a)}m.displayName="MDXCreateElement"},6185:(e,n,a)=>{a.d(n,{A:()=>r});var t=a(6540),o=a(8017);const l={tabItem:"tabItem_Ymn6"};function r(e){let{children:n,hidden:a,className:r}=e;return t.createElement("div",{role:"tabpanel",className:(0,o.A)(l.tabItem,r),hidden:a},n)}},1253:(e,n,a)=>{a.d(n,{A:()=>N});var t=a(8102),o=a(6540),l=a(8017),r=a(3104),i=a(9519),s=a(7485),p=a(1682),u=a(9466);function c(e){return function(e){return o.Children.map(e,(e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:a,attributes:t,default:o}}=e;return{value:n,label:a,attributes:t,default:o}}))}function d(e){const{values:n,children:a}=e;return(0,o.useMemo)((()=>{const e=n??c(a);return function(e){const n=(0,p.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,a])}function m(e){let{value:n,tabValues:a}=e;return a.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:a}=e;const t=(0,i.W6)(),l=function(e){let{queryString:n=!1,groupId:a}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:n,groupId:a});return[(0,s.aZ)(l),(0,o.useCallback)((e=>{if(!l)return;const n=new URLSearchParams(t.location.search);n.set(l,e),t.replace({...t.location,search:n.toString()})}),[l,t])]}function y(e){const{defaultValue:n,queryString:a=!1,groupId:t}=e,l=d(e),[r,i]=(0,o.useState)((()=>function(e){let{defaultValue:n,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:a}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=a.find((e=>e.default))??a[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:l}))),[s,p]=g({queryString:a,groupId:t}),[c,y]=function(e){let{groupId:n}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,l]=(0,u.Dv)(a);return[t,(0,o.useCallback)((e=>{a&&l.set(e)}),[a,l])]}({groupId:t}),b=(()=>{const e=s??c;return m({value:e,tabValues:l})?e:null})();(0,o.useLayoutEffect)((()=>{b&&i(b)}),[b]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);i(e),p(e),y(e)}),[p,y,l]),tabValues:l}}var b=a(2303);const h={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function f(e){let{className:n,block:a,selectedValue:i,selectValue:s,tabValues:p}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.a_)(),d=e=>{const n=e.currentTarget,a=u.indexOf(n),t=p[a].value;t!==i&&(c(n),s(t))},m=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const a=u.indexOf(e.currentTarget)+1;n=u[a]??u[0];break}case"ArrowLeft":{const a=u.indexOf(e.currentTarget)-1;n=u[a]??u[u.length-1];break}}n?.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.A)("tabs",{"tabs--block":a},n)},p.map((e=>{let{value:n,label:a,attributes:r}=e;return o.createElement("li",(0,t.A)({role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,key:n,ref:e=>u.push(e),onKeyDown:m,onClick:d},r,{className:(0,l.A)("tabs__item",h.tabItem,r?.className,{"tabs__item--active":i===n})}),a??n)})))}function v(e){let{lazy:n,children:a,selectedValue:t}=e;const l=(Array.isArray(a)?a:[a]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===t));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},l.map(((e,n)=>(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==t}))))}function w(e){const n=y(e);return o.createElement("div",{className:(0,l.A)("tabs-container",h.tabList)},o.createElement(f,(0,t.A)({},e,n)),o.createElement(v,(0,t.A)({},e,n)))}function N(e){const n=(0,b.A)();return o.createElement(w,(0,t.A)({key:String(n)},e))}},7279:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>u,contentTitle:()=>s,default:()=>g,frontMatter:()=>i,metadata:()=>p,toc:()=>c});var t=a(8102),o=(a(6540),a(5680)),l=a(1253),r=a(6185);const i={title:"Introduction to @ima/cli",description:"CLI > Introduction to @ima/cli"},s=void 0,p={unversionedId:"cli/cli",id:"cli/cli",title:"Introduction to @ima/cli",description:"CLI > Introduction to @ima/cli",source:"@site/../docs/cli/cli.md",sourceDirName:"cli",slug:"/cli/",permalink:"/cli/",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/cli.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Introduction to @ima/cli",description:"CLI > Introduction to @ima/cli"},sidebar:"docs",previous:{title:"Dynamic imports",permalink:"/advanced-features/dynamic-imports"},next:{title:"Compiler features",permalink:"/cli/compiler-features"}},u={},c=[{value:"Development",id:"development",level:2},{value:"Build",id:"build",level:2},{value:"CLI options",id:"cli-options",level:2},{value:"--version",id:"--version",level:3},{value:"--help",id:"--help",level:3},{value:"--clean",id:"--clean",level:3},{value:"--clearCache",id:"--clearcache",level:3},{value:"--verbose",id:"--verbose",level:3},{value:"--inspect",id:"--inspect",level:3},{value:"--ignoreWarnings",id:"--ignorewarnings",level:3},{value:"--open",id:"--open",level:3},{value:"--openUrl",id:"--openurl",level:3},{value:"--legacy",id:"--legacy",level:3},{value:"--forceLegacy",id:"--forcelegacy",level:3},{value:"--forceSPA",id:"--forcespa",level:3},{value:"--profile",id:"--profile",level:3},{value:"--writeToDisk",id:"--writetodisk",level:3},{value:"--reactRefresh",id:"--reactrefresh",level:3},{value:"--lazyServer",id:"--lazyserver",level:3},{value:"Dev server options",id:"dev-server-options",level:2},{value:"--port",id:"--port",level:3},{value:"--hostname",id:"--hostname",level:3},{value:"--publicUrl",id:"--publicurl",level:3}],d={toc:c},m="wrapper";function g(e){let{components:n,...a}=e;return(0,o.yg)(m,(0,t.A)({},d,a,{components:n,mdxType:"MDXLayout"}),(0,o.yg)("p",null,"The ",(0,o.yg)("strong",{parentName:"p"},"IMA.js CLI")," allows you to build and watch your application for changes during development. These features are handle by the only two currently supported commands ",(0,o.yg)("inlineCode",{parentName:"p"},"build")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"dev"),"."),(0,o.yg)("p",null,"You can always list available commands by running:"),(0,o.yg)(l.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,o.yg)(r.A,{value:"npm",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-bash"},"npx ima --help\n"))),(0,o.yg)(r.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-bash"},"npx ima --help\n"))),(0,o.yg)(r.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-bash"},"npx ima --help\n")))),(0,o.yg)("admonition",{type:"note"},(0,o.yg)("p",{parentName:"admonition"},(0,o.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/npx"},"npx")," comes pre-installed with npm 5.2+ and higher.")),(0,o.yg)("p",null,"This should produce following output:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre"},"Usage: ima <command>\n\nCommands:\n ima build Build an application for production\n ima dev Run application in development watch mode\n\nOptions:\n --version Show version number [boolean]\n --help Show help [boolean]\n")),(0,o.yg)("h2",{id:"development"},"Development"),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"npx ima dev")," command starts the application in the ",(0,o.yg)("strong",{parentName:"p"},"development")," mode with HMR, error-overlay, source maps and other debugging tools enabled."),(0,o.yg)("p",null,"By default the application starts on ",(0,o.yg)("a",{parentName:"p",href:"http://localhost:3001"},"http://localhost:3001")," with ",(0,o.yg)("a",{parentName:"p",href:"./advanced-features#dev-server"},"companion dev server")," running at ",(0,o.yg)("a",{parentName:"p",href:"http://localhost:3101"},"http://localhost:3101"),". These can be further customized through the app ",(0,o.yg)("strong",{parentName:"p"},"environment")," settings and CLI arguments."),(0,o.yg)("p",null,"You can also run ",(0,o.yg)("inlineCode",{parentName:"p"},"npx ima dev --help")," to list all available options that you can use:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre"},"ima dev\n\nRun application in development watch mode\n\nOptions:\n --version Show version number [boolean]\n --help Show help [boolean]\n --clean Clean build folder before building the application [boolean] [default: true]\n --clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]\n --verbose Use default webpack CLI output instead of custom one [boolean]\n --inspect Enable Node inspector mode [boolean]\n --ignoreWarnings Webpack will no longer print warnings during compilation [boolean]\n --open Opens browser window after server has been started [boolean] [default: true]\n --openUrl Custom URL used when opening browser window [string]\n --legacy Runs application in legacy mode [boolean] [default: false]\n --forceLegacy Forces runner.js to execute legacy client code [boolean] [default: false]\n --forceSPA Forces application to run in SPA mode [boolean] [default: false]\n --writeToDisk Write static files to disk, instead of serving it from memory [boolean] [default: false]\n --reactRefresh Enable/disable react fast refresh for React components [boolean] [default: true]\n --lazyServer Enable/disable lazy init of server app factory [boolean] [default: true]\n --port Dev server port (overrides ima.config.js settings) [number]\n --hostname Dev server hostname (overrides ima.config.js settings) [string]\n --publicUrl Dev server publicUrl (overrides ima.config.js settings) [string]\n")),(0,o.yg)("admonition",{type:"info"},(0,o.yg)("p",{parentName:"admonition"},"Any of the above mentioned options can be combined together in all different combinations and all options have specified default value. This means that in normal cases you can run ",(0,o.yg)("inlineCode",{parentName:"p"},"npx ima dev")," without any additional arguments.")),(0,o.yg)("h2",{id:"build"},"Build"),(0,o.yg)("p",null,"Builds the application in production mode with all optimizations enabled (compression, minification, etc.). The ",(0,o.yg)("inlineCode",{parentName:"p"},"build")," command drops some options compared to the ",(0,o.yg)("inlineCode",{parentName:"p"},"dev")," command. While adding few build specific commands. ",(0,o.yg)("inlineCode",{parentName:"p"},"npx build --help")," produces:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre"},"ima build\n\nBuild an application for production\n\nOptions:\n --version Show version number [boolean]\n --help Show help [boolean]\n --clean Clean build folder before building the application [boolean] [default: true]\n --clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]\n --verbose Use default webpack CLI output instead of custom one [boolean]\n --ignoreWarnings Webpack will no longer print warnings during compilation [boolean]\n --profile Turn on profiling support in production [boolean] [default: false]\n")),(0,o.yg)("h2",{id:"cli-options"},"CLI options"),(0,o.yg)("p",null,"Most of the following options are available for both ",(0,o.yg)("inlineCode",{parentName:"p"},"dev")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"build")," commands, however some may be exclusive to only one of them. You can always use the ",(0,o.yg)("inlineCode",{parentName:"p"},"--help")," argument to show all available options for each command."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"When you run into any issues with the application build, you can always run the app with ",(0,o.yg)("inlineCode",{parentName:"p"},"npx ima dev --clearCache")," to make sure that all cache and tmp files are deleted before next build and see if this resolves your issues."),(0,o.yg)("p",{parentName:"admonition"},"Similarly you can use the ",(0,o.yg)("inlineCode",{parentName:"p"},"--verbose")," option to show more information during build that can aid you in ",(0,o.yg)("strong",{parentName:"p"},"debugging process")," in case anything happens.")),(0,o.yg)("h3",{id:"--version"},"--version"),(0,o.yg)("p",null,"Prints ",(0,o.yg)("inlineCode",{parentName:"p"},"@ima/cli")," version."),(0,o.yg)("h3",{id:"--help"},"--help"),(0,o.yg)("p",null,"Prints help dialog."),(0,o.yg)("h3",{id:"--clean"},"--clean"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,o.yg)("p",null,"Deletes ",(0,o.yg)("inlineCode",{parentName:"p"},"./build")," folder before running the application."),(0,o.yg)("h3",{id:"--clearcache"},"--clearCache"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Clears ",(0,o.yg)("inlineCode",{parentName:"p"},"./node_modules/.cache")," folder. This is used to store webpack filesystem cache and other webpack loader and plugins cache."),(0,o.yg)("h3",{id:"--verbose"},"--verbose"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Disables custom CLI logging style in favor of default webpack CLI verbose. This can be useful for debugging."),(0,o.yg)("h3",{id:"--inspect"},"--inspect"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Disable/enable node ",(0,o.yg)("a",{parentName:"p",href:"https://nodejs.org/en/docs/guides/debugging-getting-started"},"inspector")," mode."),(0,o.yg)("h3",{id:"--ignorewarnings"},"--ignoreWarnings"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Ignore reporting of webpack warning messages. The CLI automatically caches all existing warnings and shows just new warnings rebuilds in watch mode."),(0,o.yg)("h3",{id:"--open"},"--open"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,o.yg)("p",null,"Enable/disable auto opening of app URL in the browser window on startup."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"If you find this option annoying, you can completely ",(0,o.yg)("strong",{parentName:"p"},"disable this feature across all IMA.js applications")," by putting ",(0,o.yg)("inlineCode",{parentName:"p"},"IMA_CLI_OPEN=false")," in your environment.")),(0,o.yg)("h3",{id:"--openurl"},"--openUrl"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,o.yg)("p",null,"Allows you to customize URL which is opened when the server starts in development mode."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"You can also use ",(0,o.yg)("inlineCode",{parentName:"p"},"IMA_CLI_OPEN_URL='http://ima.dev:3001'")," env variable to set this option."),(0,o.yg)("p",{parentName:"admonition"},"This is usefull when you have project-specific URLs. You can then set this environment variable in application's ",(0,o.yg)("inlineCode",{parentName:"p"},"ima.config.js")," and don't have to worry about using ",(0,o.yg)("inlineCode",{parentName:"p"},"--openUrl")," CLI argument everytime you're starting the application in dev mode.")),(0,o.yg)("h3",{id:"--legacy"},"--legacy"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"By default the CLI only builds ",(0,o.yg)("inlineCode",{parentName:"p"},"es")," version of JS files in development mode. Use this option to enable ",(0,o.yg)("a",{parentName:"p",href:"./compiler-features#server-and-client-bundles"},"additional build of non es version"),"."),(0,o.yg)("h3",{id:"--forcelegacy"},"--forceLegacy"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Enables ",(0,o.yg)("inlineCode",{parentName:"p"},"legacy")," mode and forces runner.js to load legacy code even if targeted browser supports the latest client es version."),(0,o.yg)("h3",{id:"--forcespa"},"--forceSPA"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Forces the application to run in SPA mode."),(0,o.yg)("h3",{id:"--profile"},"--profile"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"Disables some optimizations to allow for better debugging while also trying to be as close to the production build as possible. Currently this option disables mangling of classes and functions, which produces more readable stack traces."),(0,o.yg)("h3",{id:"--writetodisk"},"--writeToDisk"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = false"))),(0,o.yg)("p",null,"By default the app ",(0,o.yg)("strong",{parentName:"p"},"client static files are served from memory")," in dev mode. Using this option you can force webpack to write these files and serve them from the disk."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"This option can be useful in some cases where you need to take a look at the compile source code, where it's easier to browse these files locally, rather than on the static server.")),(0,o.yg)("h3",{id:"--reactrefresh"},"--reactRefresh"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,o.yg)("p",null,"Disable/enable ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/pmmmwh/react-refresh-webpack-plugin"},"react fast refresh")," for React components."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"Disable this option if you are watching and editing ",(0,o.yg)("inlineCode",{parentName:"p"},"node_modules")," files, this may result in less performant but more stable HMR experience.")),(0,o.yg)("h3",{id:"--lazyserver"},"--lazyServer"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,o.yg)("p",null,"Disable/enable lazy init of server app factory."),(0,o.yg)("h2",{id:"dev-server-options"},"Dev server options"),(0,o.yg)("p",null,"Following options are used to customize the companion dev server location (only for ",(0,o.yg)("inlineCode",{parentName:"p"},"dev")," command). These can be useful if you have some special dev environment, where you have an issue with the default configuration."),(0,o.yg)("admonition",{type:"note"},(0,o.yg)("p",{parentName:"admonition"},"If you provide ",(0,o.yg)("inlineCode",{parentName:"p"},"port")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"hostname"),", you don't need to define the ",(0,o.yg)("inlineCode",{parentName:"p"},"publicUrl"),", the CLI will create it automatically, unless the ",(0,o.yg)("inlineCode",{parentName:"p"},"publicUrl")," is completely different than the ",(0,o.yg)("inlineCode",{parentName:"p"},"hostname")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"port")," provided.")),(0,o.yg)("h3",{id:"--port"},"--port"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"number"))),(0,o.yg)("p",null,"Dev server port."),(0,o.yg)("h3",{id:"--hostname"},"--hostname"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"string"))),(0,o.yg)("p",null,"Dev server hostname, for example: ",(0,o.yg)("inlineCode",{parentName:"p"},"localhost"),", or ",(0,o.yg)("inlineCode",{parentName:"p"},"127.0.0.1"),"."),(0,o.yg)("h3",{id:"--publicurl"},"--publicUrl"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"string"))),(0,o.yg)("p",null,"Dev server public url, for example: ",(0,o.yg)("inlineCode",{parentName:"p"},"http://localhost:3101"),"."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/23f92eae.3ff587e2.js b/assets/js/23f92eae.3ff587e2.js new file mode 100644 index 000000000..8268f2eba --- /dev/null +++ b/assets/js/23f92eae.3ff587e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7952],{9587:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/enumerations/RendererTypes","title":"Enumeration: RendererTypes","description":"Defined in4","source":"@site/../docs/api/@ima/core/enumerations/RendererTypes.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/RendererTypes","permalink":"/api/@ima/core/enumerations/RendererTypes","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/RendererTypes.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: RendererEvents","permalink":"/api/@ima/core/enumerations/RendererEvents"},"next":{"title":"Enumeration: RouteNames","permalink":"/api/@ima/core/enumerations/RouteNames"}}');var t=r(2540),a=r(3023);const i={},c="Enumeration: RendererTypes",o={},d=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"HYDRATE",id:"hydrate",level:3},{value:"RENDER",id:"render",level:3},{value:"UNMOUNT",id:"unmount",level:3}];function p(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"enumeration-renderertypes",children:"Enumeration: RendererTypes"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererTypes.ts#L4",children:"packages/core/src/page/renderer/RendererTypes.ts:4"})]}),"\n",(0,t.jsx)(n.p,{children:"Events constants, which is firing to app."}),"\n",(0,t.jsx)(n.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,t.jsx)(n.h3,{id:"hydrate",children:"HYDRATE"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"HYDRATE"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.type.hydrate"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererTypes.ts#L12",children:"packages/core/src/page/renderer/RendererTypes.ts:12"})]}),"\n",(0,t.jsx)(n.p,{children:"The HYDRATE type is set if mounting use React.hydrate method."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"render",children:"RENDER"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"RENDER"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.type.render"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererTypes.ts#L8",children:"packages/core/src/page/renderer/RendererTypes.ts:8"})]}),"\n",(0,t.jsx)(n.p,{children:"The RENDER type is set if mounting use React.render method."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unmount",children:"UNMOUNT"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"UNMOUNT"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.type.unmount"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererTypes.ts#L16",children:"packages/core/src/page/renderer/RendererTypes.ts:16"})]}),"\n",(0,t.jsx)(n.p,{children:"The UNMOUNT type is set if unmounting use React.unmountComponentAtNode method."})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>c});var s=r(3696);const t={},a=s.createContext(t);function i(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/24176970.e2d6a7e6.js b/assets/js/24176970.e2d6a7e6.js new file mode 100644 index 000000000..392438970 --- /dev/null +++ b/assets/js/24176970.e2d6a7e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1607],{8714:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/AbstractComponent","title":"Class: abstract AbstractComponent\\\\<P, S, SS\\\\>","description":"Defined in10","source":"@site/../docs/api/@ima/react-page-renderer/classes/AbstractComponent.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/AbstractComponent","permalink":"/api/@ima/react-page-renderer/classes/AbstractComponent","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/AbstractComponent.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/react-page-renderer","permalink":"/api/@ima/react-page-renderer/"},"next":{"title":"Class: abstract AbstractPureComponent\\\\<P, S, SS\\\\>","permalink":"/api/@ima/react-page-renderer/classes/AbstractPureComponent"}}');var t=r(2540),d=r(3023);const i={},l="Class: abstract AbstractComponent<P, S, SS>",c={},o=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractComponent()",id:"new-abstractcomponent",level:3},{value:"Parameters",id:"parameters",level:4},{value:"props",id:"props",level:5},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"new AbstractComponent()",id:"new-abstractcomponent-1",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"props",id:"props-1",level:5},{value:"context",id:"context",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Deprecated",id:"deprecated",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context-1",level:3},{value:"Example",id:"example",level:4},{value:"See",id:"see-1",level:4},{value:"Overrides",id:"overrides",level:4},{value:"props",id:"props-2",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"<del>refs</del>",id:"refs",level:3},{value:"Index Signature",id:"index-signature",level:4},{value:"Deprecated",id:"deprecated-1",level:4},{value:"See",id:"see-2",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Example",id:"example-1",level:4},{value:"See",id:"see-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Accessors",id:"accessors",level:2},{value:"utils",id:"utils",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-2",level:5},{value:"Methods",id:"methods",level:2},{value:"componentDidCatch()?",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"error",id:"error",level:5},{value:"errorInfo",id:"errorinfo",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"componentDidMount()?",id:"componentdidmount",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"componentDidUpdate()?",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"prevProps",id:"prevprops",level:5},{value:"prevState",id:"prevstate",level:5},{value:"snapshot?",id:"snapshot",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"<del>componentWillMount()?</del>",id:"componentwillmount",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Deprecated",id:"deprecated-2",level:4},{value:"See",id:"see-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"<del>componentWillReceiveProps()?</del>",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"nextProps",id:"nextprops",level:5},{value:"nextContext",id:"nextcontext",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Deprecated",id:"deprecated-3",level:4},{value:"See",id:"see-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"componentWillUnmount()?",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"<del>componentWillUpdate()?</del>",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"nextProps",id:"nextprops-1",level:5},{value:"nextState",id:"nextstate",level:5},{value:"nextContext",id:"nextcontext-1",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Deprecated",id:"deprecated-4",level:4},{value:"See",id:"see-6",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"cssClasses()",id:"cssclasses",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"classRules",id:"classrules",level:5},{value:"includeComponentClassName",id:"includecomponentclassname",level:5},{value:"Returns",id:"returns-10",level:4},{value:"Examples",id:"examples",level:4},{value:"fire()",id:"fire",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"eventName",id:"eventname",level:5},{value:"data?",id:"data",level:5},{value:"Returns",id:"returns-11",level:4},{value:"forceUpdate()",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"callback?",id:"callback",level:5},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"getSnapshotBeforeUpdate()?",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"prevProps",id:"prevprops-1",level:5},{value:"prevState",id:"prevstate-1",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"name",id:"name",level:5},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-14",level:4},{value:"listen()",id:"listen",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"eventTarget",id:"eventtarget-1",level:5},{value:"eventName",id:"eventname-1",level:5},{value:"listener",id:"listener",level:5},{value:"Returns",id:"returns-15",level:4},{value:"localize()",id:"localize",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"key",id:"key",level:5},{value:"params",id:"params-1",level:5},{value:"Returns",id:"returns-16",level:4},{value:"render()",id:"render",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"state",id:"state-1",level:5},{value:"callback?",id:"callback-1",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"shouldComponentUpdate()?",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"nextProps",id:"nextprops-2",level:5},{value:"nextState",id:"nextstate-1",level:5},{value:"nextContext",id:"nextcontext-2",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"eventTarget",id:"eventtarget-2",level:5},{value:"eventName",id:"eventname-2",level:5},{value:"listener",id:"listener-1",level:5},{value:"Returns",id:"returns-20",level:4},{value:"<del>UNSAFE_componentWillMount()?</del>",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Deprecated",id:"deprecated-5",level:4},{value:"See",id:"see-7",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"<del>UNSAFE_componentWillReceiveProps()?</del>",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"nextProps",id:"nextprops-3",level:5},{value:"nextContext",id:"nextcontext-3",level:5},{value:"Returns",id:"returns-22",level:4},{value:"Deprecated",id:"deprecated-6",level:4},{value:"See",id:"see-8",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"<del>UNSAFE_componentWillUpdate()?</del>",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"nextProps",id:"nextprops-4",level:5},{value:"nextState",id:"nextstate-2",level:5},{value:"nextContext",id:"nextcontext-4",level:5},{value:"Returns",id:"returns-23",level:4},{value:"Deprecated",id:"deprecated-7",level:4},{value:"See",id:"see-9",level:4},{value:"Inherited from",id:"inherited-from-19",level:4}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsxs)(n.h1,{id:"class-abstract-abstractcomponentp-s-ss",children:["Class: ",(0,t.jsx)(n.code,{children:"abstract"})," AbstractComponent<P, S, SS>"]})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L10",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:10"})]}),"\n",(0,t.jsx)(n.p,{children:"The base class for all view components."}),"\n",(0,t.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Component"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"P"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"S"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"SS"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(n.h3,{id:"new-abstractcomponent",children:"new AbstractComponent()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new AbstractComponent"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">(",(0,t.jsx)(n.code,{children:"props"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,t.jsx)(n.code,{children:"AbstractComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1015"}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"P"})}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,t.jsx)(n.code,{children:"AbstractComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component<P, S, SS>.constructor"})}),"\n",(0,t.jsx)(n.h3,{id:"new-abstractcomponent-1",children:"new AbstractComponent()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new AbstractComponent"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">(",(0,t.jsx)(n.code,{children:"props"}),", ",(0,t.jsx)(n.code,{children:"context"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,t.jsx)(n.code,{children:"AbstractComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1020"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props-1",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"P"})}),"\n",(0,t.jsx)(n.h5,{id:"context",children:"context"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,t.jsx)(n.code,{children:"AbstractComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/legacy-context.html",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component<P, S, SS>.constructor"})}),"\n",(0,t.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"context-1",children:"context"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"context"}),": ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,t.jsx)(n.code,{children:"PageContextType"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L16",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:16"})]}),"\n",(0,t.jsxs)(n.p,{children:["If using the new style context, re-declare this in your class to be the\n",(0,t.jsx)(n.code,{children:"React.ContextType"})," of your ",(0,t.jsx)(n.code,{children:"static contextType"}),".\nShould be used with type annotation or static contextType."]}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-1",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#context",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.context"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"props-2",children:"props"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"readonly"})," ",(0,t.jsx)(n.strong,{children:"props"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1033"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.props"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"refs",children:(0,t.jsx)(n.del,{children:"refs"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"refs"}),": ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1040"}),"\n",(0,t.jsx)(n.h4,{id:"index-signature",children:"Index Signature"}),"\n",(0,t.jsxs)(n.p,{children:["[",(0,t.jsx)(n.code,{children:"key"}),": ",(0,t.jsx)(n.code,{children:"string"}),"]: ",(0,t.jsx)(n.code,{children:"ReactInstance"})]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see-2",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs",children:"Legacy React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.refs"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"state",children:"state"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"state"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1034"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.state"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"contexttype",children:"contextType"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.strong,{children:"contextType"}),": ",(0,t.jsx)(n.code,{children:"Context"}),"<",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,t.jsx)(n.code,{children:"PageContextType"})}),"> = ",(0,t.jsx)(n.code,{children:"PageContext"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L15",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:15"})]}),"\n",(0,t.jsxs)(n.p,{children:["If set, ",(0,t.jsx)(n.code,{children:"this.context"})," will be set at runtime to the current value of the given Context."]}),"\n",(0,t.jsx)(n.h4,{id:"example-1",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-3",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#static-contexttype",children:"https://react.dev/reference/react/Component#static-contexttype"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.contextType"})}),"\n",(0,t.jsx)(n.h2,{id:"accessors",children:"Accessors"}),"\n",(0,t.jsx)(n.h3,{id:"utils",children:"utils"}),"\n",(0,t.jsx)(n.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"get"})," ",(0,t.jsx)(n.strong,{children:"utils"}),"(): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(n.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L26",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:26"})]}),"\n",(0,t.jsxs)(n.p,{children:["Returns the utilities for the view components. The returned value is the\nvalue bound to the ",(0,t.jsx)(n.code,{children:"$Utils"})," object container constant."]}),"\n",(0,t.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(n.code,{children:"Utils"})})}),"\n",(0,t.jsx)(n.p,{children:"The utilities for the view components."}),"\n",(0,t.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(n.h3,{id:"componentdidcatch",children:"componentDidCatch()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidCatch"}),"(",(0,t.jsx)(n.code,{children:"error"}),", ",(0,t.jsx)(n.code,{children:"errorInfo"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1397"}),"\n",(0,t.jsx)(n.p,{children:"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"error",children:"error"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Error"})}),"\n",(0,t.jsx)(n.h5,{id:"errorinfo",children:"errorInfo"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"ErrorInfo"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentDidCatch"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidmount",children:"componentDidMount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1376"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after a component is mounted. Setting state here will trigger re-rendering."}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentDidMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidupdate",children:"componentDidUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"snapshot"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1439"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after updating occurs. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["The snapshot is only present if ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"})," is present and returns non-null."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"snapshot",children:"snapshot?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"SS"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentDidUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillmount",children:(0,t.jsx)(n.del,{children:"componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1455"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead; will stop working in React 17"]}),"\n",(0,t.jsx)(n.h4,{id:"see-4",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1486"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-3",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-5",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillunmount",children:"componentWillUnmount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUnmount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1392"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,t.jsx)(n.code,{children:"componentDidMount"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillUnmount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillupdate",children:(0,t.jsx)(n.del,{children:"componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1518"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-1",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-1",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-4",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-6",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"cssclasses",children:"cssClasses()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"cssClasses"}),"(",(0,t.jsx)(n.code,{children:"classRules"}),", ",(0,t.jsx)(n.code,{children:"includeComponentClassName"}),"): ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L86",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:86"})]}),"\n",(0,t.jsx)(n.p,{children:"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to true."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"classrules",children:"classRules"}),"\n",(0,t.jsxs)(n.p,{children:["CSS classes in a\nstring separated by whitespace, or a map of CSS class names to\nboolean values. The CSS class name will be included in the result\nonly if the value is ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"string"})," | {} | ",(0,t.jsx)(n.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(n.h5,{id:"includecomponentclassname",children:"includeComponentClassName"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"boolean"})," = ",(0,t.jsx)(n.code,{children:"false"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsxs)(n.p,{children:["String of CSS classes that had their property resolved\nto ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"examples",children:"Examples"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"this.cssClasses('my-class my-class-modifier', true);\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"this.cssClasses({\n 'my-class': true,\n 'my-class-modifier': this.props.modifier\n }, true);\n"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"fire"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"data"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L100",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:100"})]}),"\n",(0,t.jsx)(n.p,{children:"Creates and sends a new IMA.js DOM custom event from this component."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"EventTarget compatible node."}),"\n",(0,t.jsx)(n.h5,{id:"eventname",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event."}),"\n",(0,t.jsx)(n.h5,{id:"data",children:"data?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.p,{children:"Data to send within the event."}),"\n",(0,t.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"forceupdate",children:"forceUpdate()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"forceUpdate"}),"(",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1030"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"callback",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.forceUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"getSnapshotBeforeUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),"): ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"SS"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1433"}),"\n",(0,t.jsxs)(n.p,{children:["Runs before React applies the result of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," to the document, and\nreturns an object to be given to ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidupdate",children:"componentDidUpdate"}),". Useful for saving\nthings such as scroll position before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," causes changes to it."]}),"\n",(0,t.jsx)(n.p,{children:"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops-1",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate-1",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"SS"})]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.getSnapshotBeforeUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"link",children:"link()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"link"}),"(",(0,t.jsx)(n.code,{children:"name"}),", ",(0,t.jsx)(n.code,{children:"params"}),"): ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L62",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:62"})]}),"\n",(0,t.jsxs)(n.p,{children:["Generates an absolute URL using the provided route name (see the\n",(0,t.jsx)("code",{children:"app/config/routes.js"})," file). The provided parameters will\nreplace the placeholders in the route pattern, while the extraneous\nparameters will be appended to the generated URL's query string."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The route name."}),"\n",(0,t.jsx)(n.h5,{id:"params",children:"params"}),"\n",(0,t.jsx)(n.p,{children:"Router parameters and\nextraneous parameters to add to the URL as a query string."}),"\n",(0,t.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The generated URL."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"listen",children:"listen()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"listen"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L114",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:114"})]}),"\n",(0,t.jsx)(n.p,{children:"Registers the provided event listener for execution whenever an IMA.js\nDOM custom event of the specified name occurs at the specified event\ntarget."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The react component or\nevent target at which the listener should listen for the event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-1",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event for which to listen."}),"\n",(0,t.jsx)(n.h5,{id:"listener",children:"listener"}),"\n",(0,t.jsxs)(n.p,{children:["(",(0,t.jsx)(n.code,{children:"event"}),") => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.p,{children:"The listener for event to register."}),"\n",(0,t.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"localize",children:"localize()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"localize"}),"(",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"params"}),"): ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L44",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:44"})]}),"\n",(0,t.jsx)(n.p,{children:"Returns the localized phrase identified by the specified key. The\nplaceholders in the localization phrase will be replaced by the provided\nvalues."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"key",children:"key"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"never"})}),"\n",(0,t.jsx)(n.p,{children:"Localization key."}),"\n",(0,t.jsx)(n.h5,{id:"params-1",children:"params"}),"\n",(0,t.jsx)(n.p,{children:"Values for replacing\nthe placeholders in the localization phrase."}),"\n",(0,t.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"Localized phrase."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"render",children:"render()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"render"}),"(): ",(0,t.jsx)(n.code,{children:"ReactNode"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1031"}),"\n",(0,t.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"ReactNode"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.render"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"setState"}),"<",(0,t.jsx)(n.code,{children:"K"}),">(",(0,t.jsx)(n.code,{children:"state"}),", ",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1025"}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"K"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.code,{children:"string"})," | ",(0,t.jsx)(n.code,{children:"number"})," | ",(0,t.jsx)(n.code,{children:"symbol"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"state-1",children:"state"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"S"})," | (",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"props"}),") => ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"S"})," | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"K"}),"> | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"callback-1",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.setState"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"shouldcomponentupdate",children:"shouldComponentUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"shouldComponentUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1387"}),"\n",(0,t.jsx)(n.p,{children:"Called to determine whether the change in props and state should trigger a re-render."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Component"})," always returns true.\n",(0,t.jsx)(n.code,{children:"PureComponent"})," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."]}),"\n",(0,t.jsxs)(n.p,{children:["If false is returned, ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),", ",(0,t.jsx)(n.code,{children:"componentWillUpdate"}),"\nand ",(0,t.jsx)(n.code,{children:"componentDidUpdate"})," will not be called."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-2",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-1",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-2",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.shouldComponentUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"unlisten"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractComponent.ts#L131",children:"packages/react-page-renderer/src/component/AbstractComponent.ts:131"})]}),"\n",(0,t.jsx)(n.p,{children:"Deregisters the provided event listener for an IMA.js DOM custom event\nof the specified name at the specified event target."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-2",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The react component or\nevent target at which the listener should listen for the event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-2",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event for which to listen."}),"\n",(0,t.jsx)(n.h5,{id:"listener-1",children:"listener"}),"\n",(0,t.jsxs)(n.p,{children:["(",(0,t.jsx)(n.code,{children:"event"}),") => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.p,{children:"The listener for event to register."}),"\n",(0,t.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillmount",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1470"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-21",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-5",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead"]}),"\n",(0,t.jsx)(n.h4,{id:"see-7",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.UNSAFE_componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1504"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-3",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-3",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-22",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-6",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-8",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.UNSAFE_componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillupdate",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1534"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-4",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-2",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-4",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-23",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-7",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-9",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.UNSAFE_componentWillUpdate"})})]})}function h(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>l});var s=r(3696);const t={},d=s.createContext(t);function i(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/247d659b.cb116983.js b/assets/js/247d659b.cb116983.js new file mode 100644 index 000000000..027b9573b --- /dev/null +++ b/assets/js/247d659b.cb116983.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8398],{1544:(r,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>t,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"api/@ima/dev-utils/functions/parseCompileError","title":"Function: parseCompileError()","description":"parseCompileError(error): CompileError \\\\| null","source":"@site/../docs/api/@ima/dev-utils/functions/parseCompileError.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/parseCompileError","permalink":"/api/@ima/dev-utils/functions/parseCompileError","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/parseCompileError.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getSource()","permalink":"/api/@ima/dev-utils/functions/getSource"},"next":{"title":"Function: parseError()","permalink":"/api/@ima/dev-utils/functions/parseError"}}');var i=n(2540),s=n(3023);const t={},c="Function: parseCompileError()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"error",id:"error",level:3},{value:"Returns",id:"returns",level:2}];function d(r){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...r.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.header,{children:(0,i.jsx)(e.h1,{id:"function-parsecompileerror",children:"Function: parseCompileError()"})}),"\n",(0,i.jsxs)(e.blockquote,{children:["\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:"parseCompileError"}),"(",(0,i.jsx)(e.code,{children:"error"}),"): ",(0,i.jsx)(e.a,{href:"/api/@ima/dev-utils/interfaces/CompileError",children:(0,i.jsx)(e.code,{children:"CompileError"})})," | ",(0,i.jsx)(e.code,{children:"null"})]}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["Defined in: ",(0,i.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/compileErrorParser.ts#L37",children:"compileErrorParser.ts:37"})]}),"\n",(0,i.jsx)(e.p,{children:"Tries to parse error location from an error. Which can be\neither webpack stats error or simple Error object."}),"\n",(0,i.jsx)(e.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(e.h3,{id:"error",children:"error"}),"\n",(0,i.jsx)(e.p,{children:"webpack stats object or error instance."}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:"StatsError"})," | ",(0,i.jsx)(e.code,{children:"Error"})]}),"\n",(0,i.jsx)(e.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.a,{href:"/api/@ima/dev-utils/interfaces/CompileError",children:(0,i.jsx)(e.code,{children:"CompileError"})})," | ",(0,i.jsx)(e.code,{children:"null"})]}),"\n",(0,i.jsx)(e.p,{children:"Parsed compile error."})]})}function p(r={}){const{wrapper:e}={...(0,s.R)(),...r.components};return e?(0,i.jsx)(e,{...r,children:(0,i.jsx)(d,{...r})}):d(r)}},3023:(r,e,n)=>{n.d(e,{R:()=>t,x:()=>c});var o=n(3696);const i={},s=o.createContext(i);function t(r){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof r?r(e):{...e,...r}}),[e,r])}function c(r){let e;return e=r.disableParentContext?"function"==typeof r.components?r.components(i):r.components||i:t(r.components),o.createElement(s.Provider,{value:e},r.children)}}}]); \ No newline at end of file diff --git a/assets/js/25accc40.ddb5f479.js b/assets/js/25accc40.ddb5f479.js deleted file mode 100644 index a883e37f1..000000000 --- a/assets/js/25accc40.ddb5f479.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2542],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>c});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var g=n.createContext({}),d=function(e){var a=n.useContext(g),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=d(e.components);return n.createElement(g.Provider,{value:a},e.children)},y="mdxType",s={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},m=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,o=p(e,["components","mdxType","originalType","parentName"]),y=d(t),m=r,c=y["".concat(g,".").concat(m)]||y[m]||s[m]||i;return t?n.createElement(c,l(l({ref:a},o),{},{components:t})):n.createElement(c,l({ref:a},o))}));function c(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=m;var p={};for(var g in a)hasOwnProperty.call(a,g)&&(p[g]=a[g]);p.originalType=e,p[y]="string"==typeof e?e:r,l[1]=p;for(var d=2;d<i;d++)l[d]=t[d];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},2467:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>g,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>p,toc:()=>d});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.ObjectContainer",title:"Class: ObjectContainer",sidebar_label:"@ima/core.ObjectContainer",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.ObjectContainer",id:"api/classes/ima_core.ObjectContainer",title:"Class: ObjectContainer",description:"@ima/core.ObjectContainer",source:"@site/../docs/api/classes/ima_core.ObjectContainer.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ObjectContainer",permalink:"/api/classes/ima_core.ObjectContainer",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ObjectContainer",title:"Class: ObjectContainer",sidebar_label:"@ima/core.ObjectContainer",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Namespace",permalink:"/api/classes/ima_core.Namespace"},next:{title:"@ima/core.Observable",permalink:"/api/classes/ima_core.Observable"}},g={},d=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_bindingPlugin",id:"_bindingplugin",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_bindingState",id:"_bindingstate",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_entries",id:"_entries",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_namespace",id:"_namespace",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"#getDebugName",id:"getdebugname",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_createEntry",id:"_createentry",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_createInstanceFromEntry",id:"_createinstancefromentry",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_getEntry",id:"_getentry",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_getEntryFromClassConstructor",id:"_getentryfromclassconstructor",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_getEntryFromConstant",id:"_getentryfromconstant",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_getEntryFromNamespace",id:"_getentryfromnamespace",level:3},{value:"Type parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_isOptional",id:"_isoptional",level:3},{value:"Type parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_isSpread",id:"_isspread",level:3},{value:"Type parameters",id:"type-parameters-7",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_updateEntryValues",id:"_updateentryvalues",level:3},{value:"Type parameters",id:"type-parameters-8",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"bind",id:"bind",level:3},{value:"Type parameters",id:"type-parameters-9",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"constant",id:"constant",level:3},{value:"Type parameters",id:"type-parameters-10",level:4},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"create",id:"create",level:3},{value:"Type parameters",id:"type-parameters-11",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"get",id:"get",level:3},{value:"Type parameters",id:"type-parameters-12",level:4},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"getConstructorOf",id:"getconstructorof",level:3},{value:"Type parameters",id:"type-parameters-13",level:4},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"has",id:"has",level:3},{value:"Type parameters",id:"type-parameters-14",level:4},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"inject",id:"inject",level:3},{value:"Type parameters",id:"type-parameters-15",level:4},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"provide",id:"provide",level:3},{value:"Type parameters",id:"type-parameters-16",level:4},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"setBindingState",id:"setbindingstate",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-24",level:4}],o={toc:d},y="wrapper";function s(e){let{components:a,...t}=e;return(0,r.yg)(y,(0,n.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ObjectContainer"),(0,r.yg)("p",null,"The Object Container is an enhanced dependency injector with support for\naliases and constants, and allowing to reference classes in the application\nnamespace by specifying their fully qualified names."),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new ObjectContainer"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"namespace"),")"),(0,r.yg)("p",null,"Initializes the object container."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"namespace")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The namespace container, used to access classes and values using their fully qualified names.")))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L91"},"packages/core/src/oc/ObjectContainer.ts:91")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_bindingplugin"},"_","bindingPlugin"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","bindingPlugin"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current plugin binding to OC."),(0,r.yg)("p",null,"The ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"()")," method may be called for changing\nobject container binding state only by the bootstrap script."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L76"},"packages/core/src/oc/ObjectContainer.ts:76")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_bindingstate"},"_","bindingState"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","bindingState"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/enums/ima_core.BindingState"},(0,r.yg)("inlineCode",{parentName:"a"},"BindingState"))),(0,r.yg)("p",null,"The current binding state."),(0,r.yg)("p",null,"The ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"()")," method may be called for changing\nobject container binding state only by the bootstrap script."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L68"},"packages/core/src/oc/ObjectContainer.ts:68")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_entries"},"_","entries"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","entries"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",", ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L77"},"packages/core/src/oc/ObjectContainer.ts:77")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_namespace"},"_","namespace"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","namespace"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace"))),(0,r.yg)("p",null,"The namespace container, used to access classes and values using\ntheir fully qualified names."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L83"},"packages/core/src/oc/ObjectContainer.ts:83")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"getdebugname"},"#getDebugName"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#getDebugName"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Formats name, function, class constructor to more compact\nname/message to allow for cleaner debug Error messages."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L875"},"packages/core/src/oc/ObjectContainer.ts:875")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_createentry"},"_","createEntry"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_createEntry"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"classConstructor"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Creates a new entry for the provided class or factory function, the\nprovided dependencies and entry options."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EntryConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The class constructor or factory function.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor or factory function.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#entryoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"EntryOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Created instance or generated value."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L648"},"packages/core/src/oc/ObjectContainer.ts:648")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_createinstancefromentry"},"_","createInstanceFromEntry"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_createInstanceFromEntry"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"entry"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"T")),(0,r.yg)("p",null,"Creates a new instance of the class or retrieves the value generated by\nthe factory function represented by the provided entry, passing in the\nprovided dependencies."),(0,r.yg)("p",null,"The method uses the dependencies specified by the entry if no custom\ndependencies are provided."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">")))),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"entry")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The entry representing the class that should have its instance created or factory faction to use to create a value.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"[]")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor or factory function.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"T")),(0,r.yg)("p",null,"Created instance or generated value."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L687"},"packages/core/src/oc/ObjectContainer.ts:687")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getentry"},"_","getEntry"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getEntry"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Retrieves the entry for the specified constant, alias, class or factory\nfunction, interface, or fully qualified namespace path (the method\nchecks these in this order in case of a name clash)."),(0,r.yg)("p",null,"The method retrieves an existing entry even if a qualified namespace\npath is provided (if the target class or interface has been configured\nin this object container)."),(0,r.yg)("p",null,"The method throws an ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error")," if no such constant, alias,\nregistry, interface implementation is known to this object container and\nthe provided identifier is not a valid namespace path specifying an\nexisting class, interface or value."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Name of a constant or alias, factory function, class or interface constructor, or a fully qualified namespace path.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"The retrieved entry."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"If no such constant, alias, registry, interface\nimplementation is known to this object container."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L536"},"packages/core/src/oc/ObjectContainer.ts:536")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getentryfromclassconstructor"},"_","getEntryFromClassConstructor"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getEntryFromClassConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"classConstructor"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Retrieves the class denoted by the provided class constructor."),(0,r.yg)("p",null,"The method then checks whether there are defined ",(0,r.yg)("inlineCode",{parentName:"p"},"$dependencies"),"\nproperty for class. Then the class is registered to this object\ncontainer."),(0,r.yg)("p",null,"The method returns the entry for the class if the specified class\ndoes not have defined ",(0,r.yg)("inlineCode",{parentName:"p"},"$dependencies")," property return\n",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"An entry representing the value at the specified\nclassConstructor. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"\nif the specified classConstructor does not have defined\n",(0,r.yg)("inlineCode",{parentName:"p"},"$dependencies"),"."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L842"},"packages/core/src/oc/ObjectContainer.ts:842")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getentryfromconstant"},"_","getEntryFromConstant"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getEntryFromConstant"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"compositionName"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<() => ",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Retrieves the constant value denoted by the provided fully qualified\ncomposition name."),(0,r.yg)("p",null,"The method returns the entry for the constant if the constant is registered\nwith this object container, otherwise return ",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"."),(0,r.yg)("p",null,"Finally, if the constant composition name does not resolve to value,\nthe method return ",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"compositionName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<() => ",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"An entry representing the value at the specified\ncomposition name in the constants. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"\nif the specified composition name does not exist in the constants."),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L748"},"packages/core/src/oc/ObjectContainer.ts:748")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getentryfromnamespace"},"_","getEntryFromNamespace"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getEntryFromNamespace"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Retrieves the class denoted by the provided fully qualified name within\nthe application namespace."),(0,r.yg)("p",null,'The method then checks whether there are dependencies configured for the\nclass, no matter whether the class is an implementation class or an\n"interface" class.'),(0,r.yg)("p",null,"The method returns the entry for the class if the class is registered\nwith this object container, otherwise an unregistered entry is created\nand returned."),(0,r.yg)("p",null,"Finally, if the namespace path does not resolve to a class, the method\nreturn an unregistered entry resolved to the value denoted by the\nnamespace path."),(0,r.yg)("p",null,"Alternatively, if a constructor function is passed in instead of a\nnamespace path, the method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"."),(0,r.yg)("h4",{id:"type-parameters-5"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Namespace path pointing to a class or a value in the application namespace, or a constructor function.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"An entry representing the value or class at the\nspecified path in the namespace. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null"),"\nif the specified path does not exist in the namespace."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L804"},"packages/core/src/oc/ObjectContainer.ts:804")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_isoptional"},"_","isOptional"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_isOptional"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Checks whether the name is marked as optional."),(0,r.yg)("h4",{id:"type-parameters-6"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Name of a constant or alias, factory function, class or interface constructor, or a fully qualified namespace path.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L594"},"packages/core/src/oc/ObjectContainer.ts:594")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_isspread"},"_","isSpread"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_isSpread"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Checks whether the name is marked as spread."),(0,r.yg)("h4",{id:"type-parameters-7"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dependency"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependency")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Name of a constant or alias, factory function, class or interface constructor, or a fully qualified namespace path.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L608"},"packages/core/src/oc/ObjectContainer.ts:608")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_updateentryvalues"},"_","updateEntryValues"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_updateEntryValues"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"entry"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"classConstructor"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"The method update classConstructor and dependencies for defined entry.\nThe entry throw Error for constants and if you try override dependencies\nmore than once."),(0,r.yg)("h4",{id:"type-parameters-8"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Entry"},(0,r.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">")))),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"entry")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The entry representing the class that should have its instance created or factory faction to use to create a value.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The class constructor or factory function.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor or factory function.")))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L627"},"packages/core/src/oc/ObjectContainer.ts:627")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"bind"},"bind"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"bind"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"C"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"classConstructor"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"Binds the specified class or factory function and dependencies to the\nspecified alias. Binding a class or factory function to an alias allows\nthe class or function to be specified as a dependency by specifying the\nalias and creating new instances by referring to the class or function\nby the alias."),(0,r.yg)("p",null,"Also note that the same class or function may be bound to several\naliases and each may use different dependencies."),(0,r.yg)("p",null,"The alias will use the default dependencies bound for the class if no\ndependencies are provided."),(0,r.yg)("h4",{id:"type-parameters-9"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"C")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"C"))))),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Alias name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"C"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The class constructor or a factory function.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor or factory function.")))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"This object container."),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L115"},"packages/core/src/oc/ObjectContainer.ts:115")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"Clears all entries from this object container and resets the locking\nmechanism of this object container."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"This object container."),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L486"},"packages/core/src/oc/ObjectContainer.ts:486")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"constant"},"constant"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"constant"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"Defines a new constant registered with this object container. Note that\nthis is the only way of passing ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," values to constructors\nbecause the object container treats strings as class, interface, alias\nor constant names."),(0,r.yg)("h4",{id:"type-parameters-10"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The constant name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The constant value.")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"This object container."),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L201"},"packages/core/src/oc/ObjectContainer.ts:201")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"create"},"create"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"create"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ocinstance"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstance")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Creates a new instance of the class or retrieves the value generated by\nthe factory function identified by the provided name, class, interface,\nor factory function, passing in the provided dependencies."),(0,r.yg)("p",null,"The method uses the dependencies specified when the class, interface or\nfactory function has been registered with the object container if no\ncustom dependencies are provided."),(0,r.yg)("h4",{id:"type-parameters-11"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinstanceconstrain"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstanceConstrain")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the alias, class, interface, or the class, interface or a factory function to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"[]")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor or factory function.")))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ocinstance"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstance")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Created instance or generated value."),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L464"},"packages/core/src/oc/ObjectContainer.ts:464")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ocinstance"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstance")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Retrieves the shared instance or value of the specified constant, alias,\nclass or factory function, interface, or fully qualified namespace path\n(the method checks these in this order in case of a name clash)."),(0,r.yg)("p",null,"The instance or value is created lazily the first time it is requested."),(0,r.yg)("h4",{id:"type-parameters-12"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinstanceconstrain"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstanceConstrain")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the alias, class, interface, or the class, interface or a factory function.")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ocinstance"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInstance")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"The shared instance or value."),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L401"},"packages/core/src/oc/ObjectContainer.ts:401")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getconstructorof"},"getConstructorOf"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getConstructorOf"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Returns the class constructor function of the specified class."),(0,r.yg)("h4",{id:"type-parameters-13"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name by which the class is registered with this object container.")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"The constructor function."),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L419"},"packages/core/src/oc/ObjectContainer.ts:419")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"has"},"has"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"has"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the specified object, class or resource is\nregistered with this object container."),(0,r.yg)("h4",{id:"type-parameters-14"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},"keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#ocinjectable"},(0,r.yg)("inlineCode",{parentName:"a"},"OCInjectable")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The resource name.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the specified object, class or\nresource is registered with this object container."),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L439"},"packages/core/src/oc/ObjectContainer.ts:439")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"inject"},"inject"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"inject"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"classConstructor"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"Configures the object loader with the specified default dependencies for\nthe specified class."),(0,r.yg)("p",null,"New instances of the class created by this object container will receive\nthe provided dependencies into constructor unless custom dependencies\nare provided."),(0,r.yg)("h4",{id:"type-parameters-15"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-17"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The class constructor.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor function.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"This object container."),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L245"},"packages/core/src/oc/ObjectContainer.ts:245")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"provide"},"provide"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"provide"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"I"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"interfaceConstructor"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"implementationConstructor"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dependencies?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"Configures the default implementation of the specified interface to use\nwhen an implementation provider of the specified interface is requested\nfrom this object container."),(0,r.yg)("p",null,"The implementation constructor will obtain the provided default\ndependencies or the dependencies provided to the ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"()"),"\nmethod."),(0,r.yg)("h4",{id:"type-parameters-16"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"I"))))),(0,r.yg)("h4",{id:"parameters-18"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"interfaceConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"I"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"AbstractConstructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"I"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The constructor of the interface representing the service.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"implementationConstructor")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The constructor of the class implementing the service interface.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dependencies?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor function.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,r.yg)("p",null,"This object container."),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L320"},"packages/core/src/oc/ObjectContainer.ts:320")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setbindingstate"},"setBindingState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setBindingState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"bindingState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"bindingPluginName?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-19"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bindingState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/enums/ima_core.BindingState"},(0,r.yg)("inlineCode",{parentName:"a"},"BindingState")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bindingPluginName?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/ObjectContainer.ts#L494"},"packages/core/src/oc/ObjectContainer.ts:494")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/25aeb21c.1770e9d4.js b/assets/js/25aeb21c.1770e9d4.js deleted file mode 100644 index 61210b709..000000000 --- a/assets/js/25aeb21c.1770e9d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7894],{5050:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/diagram-router-683726941d228a587bbf7ffda06d3c45.png"},5680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>m});var r=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=r.createContext({}),p=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=p(e.components);return r.createElement(s.Provider,{value:n},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=p(t),g=a,m=d["".concat(s,".").concat(g)]||d[g]||c[g]||o;return t?r.createElement(m,i(i({ref:n},u),{},{components:t})):r.createElement(m,i({ref:n},u))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=g;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[d]="string"==typeof e?e:a,i[1]=l;for(var p=2;p<o;p++)i[p]=t[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},588:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var r=t(8102),a=(t(6540),t(5680));const o={title:"Introduction",description:"Basic features > Routing >\xa0Introduction"},i=void 0,l={unversionedId:"basic-features/routing/introduction",id:"basic-features/routing/introduction",title:"Introduction",description:"Basic features > Routing >\xa0Introduction",source:"@site/../docs/basic-features/routing/introduction.md",sourceDirName:"basic-features/routing",slug:"/basic-features/routing/introduction",permalink:"/basic-features/routing/introduction",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/introduction.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Introduction",description:"Basic features > Routing >\xa0Introduction"},sidebar:"docs",previous:{title:"Data fetching",permalink:"/basic-features/data-fetching"},next:{title:"Dynamic Routes",permalink:"/basic-features/routing/dynamic-routes"}},s={},p=[{value:"Setting up Router",id:"setting-up-router",level:2},{value:"name",id:"name",level:3},{value:"pathExpression",id:"pathexpression",level:3},{value:"controller",id:"controller",level:3},{value:"view",id:"view",level:3},{value:"options",id:"options",level:3},{value:"onlyUpdate",id:"onlyupdate",level:4},{value:"autoScroll",id:"autoscroll",level:4},{value:"allowSPA",id:"allowspa",level:4},{value:"documentView",id:"documentview",level:4},{value:"managedRootView",id:"managedrootview",level:4},{value:"viewAdapter",id:"viewadapter",level:4},{value:"middlewares",id:"middlewares",level:4},{value:"Route params substitutions",id:"route-params-substitutions",level:2},{value:"Optional parameters",id:"optional-parameters",level:3},{value:"Linking between routes",id:"linking-between-routes",level:2},{value:"Generating links outside of app components",id:"generating-links-outside-of-app-components",level:3},{value:"Error and NotFound route names",id:"error-and-notfound-route-names",level:2},{value:"Redirects",id:"redirects",level:2},{value:"Method signature",id:"method-signature",level:3},{value:"url",id:"url",level:3},{value:"options",id:"options-1",level:3},{value:"httpStatus",id:"httpstatus",level:4},{value:"headers",id:"headers",level:4}],u={toc:p},d="wrapper";function c(e){let{components:n,...o}=e;return(0,a.yg)(d,(0,r.A)({},u,o,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"Routing is an essential part of every application that displays multiple pages. It allows to develop each part of an application separately and add new parts instantly. As it happens to be in MVC frameworks, each route targets specific controller which takes control over what happens next after a route is matched."),(0,a.yg)("p",null,(0,a.yg)("img",{src:t(5050).A,width:"881",height:"421"})),(0,a.yg)("h2",{id:"setting-up-router"},"Setting up Router"),(0,a.yg)("p",null,"All routes in IMA.js are registered inside the ",(0,a.yg)("inlineCode",{parentName:"p"},"init")," function in ",(0,a.yg)("inlineCode",{parentName:"p"},"app/config/routes.js"),". Same ",(0,a.yg)("inlineCode",{parentName:"p"},"init")," function can be found in ",(0,a.yg)("inlineCode",{parentName:"p"},"app/config/bind.js"),". See ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"Object Container")," documentation for more information about the ",(0,a.yg)("inlineCode",{parentName:"p"},"oc.get()")," function."),(0,a.yg)("p",null,"Usually you should be oke with simple string defined ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},"StaticRoutes")," (the ones defined below), but the router also has support for more advanced and powerful ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DynamicRoute"},"DynamicRoutes"),". For more information about these see the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/routing/dynamic-routes"},"next section"),"."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"import { RouteNames } from '@ima/core';\n\nimport HomeController from 'app/page/home/HomeController';\nimport HomeView from 'app/page/home/HomeView';\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add('home', '/', HomeController, HomeView)\n .add(RouteNames.ERROR, '/error', ErrorController, ErrorView)\n .add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);\n}\n")),(0,a.yg)("p",null,"The router ",(0,a.yg)("inlineCode",{parentName:"p"},"add")," method has following signature:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"add(name, pathExpression, controller, view, options = undefined);\n")),(0,a.yg)("h3",{id:"name"},"name"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},"\xa0",(0,a.yg)("inlineCode",{parentName:"p"},"string"))),(0,a.yg)("p",null,"This argument represents ",(0,a.yg)("strong",{parentName:"p"},"unique route name"),". You can use this name when ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#linking-between-routes"},"linking between routes")," or getting the ",(0,a.yg)("inlineCode",{parentName:"p"},"route")," instance using ",(0,a.yg)("inlineCode",{parentName:"p"},"getRouteHandler()")," method."),(0,a.yg)("h3",{id:"pathexpression"},"pathExpression"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"string |\xa0object"))),(0,a.yg)("p",null,"This can be either ",(0,a.yg)("inlineCode",{parentName:"p"},"object")," for ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/routing/dynamic-routes"},"dynamic routes")," or ",(0,a.yg)("inlineCode",{parentName:"p"},"string")," representing route path. The pathExpression supports **",(0,a.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#route-params-substitutions"},"parameter substitutions")),(0,a.yg)("h3",{id:"controller"},"controller"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"string | function"))),(0,a.yg)("p",null,"Route assigned ",(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("a",{parentName:"strong",href:"/basic-features/controller-lifecycle"},"Controller"))," class (can be a string alias, referring to the controller registered in the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"Object Container"),"). It goes through its full ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/controller-lifecycle"},"lifecycle")," and renders the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/views-and-components"},"View"),"."),(0,a.yg)("h3",{id:"view"},"view"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"string | function"))),(0,a.yg)("p",null,"Route assigned ",(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("a",{parentName:"strong",href:"/basic-features/views-and-components"},"View"))," class (also can be a string alias, referring to the view registered in the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"Object Container"),"). Rendered by the route controller."),(0,a.yg)("h3",{id:"options"},"options"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"object = undefined"))),(0,a.yg)("p",null,"These are optional, however it accepts object with following properties and their respective defaults:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"{\n onlyUpdate: false,\n autoScroll: true,\n allowSPA: true,\n documentView: null,\n managedRootView: null,\n viewAdapter: null,\n middlewares: []\n}\n")),(0,a.yg)("h4",{id:"onlyupdate"},"onlyUpdate"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"boolean | function = false"))),(0,a.yg)("p",null,"When only the parameters of the current route change an ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/controller-lifecycle#update-client"},(0,a.yg)("inlineCode",{parentName:"a"},"update")," method")," of the active controller will be invoked instead of re-instantiating the controller and view. The ",(0,a.yg)("inlineCode",{parentName:"p"},"update")," method receives ",(0,a.yg)("inlineCode",{parentName:"p"},"prevParams")," object containing - as the name suggests - previous route parameters."),(0,a.yg)("p",null,"If you provide function to the ",(0,a.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option; it receives 2 arguments (instances of previous ",(0,a.yg)("strong",{parentName:"p"},"controller")," and ",(0,a.yg)("strong",{parentName:"p"},"view"),") and it should return ",(0,a.yg)("strong",{parentName:"p"},"boolean"),"."),(0,a.yg)("h4",{id:"autoscroll"},"autoScroll"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,a.yg)("p",null,"Determines whether the page should be ",(0,a.yg)("strong",{parentName:"p"},"scrolled to the top")," when the navigation occurs."),(0,a.yg)("h4",{id:"allowspa"},"allowSPA"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,a.yg)("p",null,"Can be used to make the route to be always served from the server and never using the SPA (when disabled) even if the server is overloaded."),(0,a.yg)("p",null,"This is useful for routes that use different document views (specified by the ",(0,a.yg)("inlineCode",{parentName:"p"},"documentView")," option), for example for rendering the content of iframes."),(0,a.yg)("h4",{id:"documentview"},"documentView"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"AbstractDocumentView = null"))),(0,a.yg)("p",null,"Custom ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/rendering-process#documentview"},"DocumentView"),", should extend the ",(0,a.yg)("inlineCode",{parentName:"p"},"AbstractDocumentView")," from ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/core"),"."),(0,a.yg)("h4",{id:"managedrootview"},"managedRootView"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"function = null"))),(0,a.yg)("p",null,"Custom ",(0,a.yg)("inlineCode",{parentName:"p"},"ManagedRootView")," component, for more information see ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/rendering-process#managedrootview"},"rendering process"),"."),(0,a.yg)("h4",{id:"viewadapter"},"viewAdapter"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"function = null"))),(0,a.yg)("p",null,"Custom ",(0,a.yg)("inlineCode",{parentName:"p"},"ViewAdapter")," component, for more information see ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/rendering-process#viewadapter"},"rendering process"),"."),(0,a.yg)("h4",{id:"middlewares"},"middlewares"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"function[] = []"))),(0,a.yg)("p",null,"Array of route-specific middlewares. See the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/routing/middlewares"},"middlewares")," section for more information."),(0,a.yg)("h2",{id:"route-params-substitutions"},"Route params substitutions"),(0,a.yg)("p",null,"The parameter name can contain only letters ",(0,a.yg)("inlineCode",{parentName:"p"},"a-zA-Z"),", numbers ",(0,a.yg)("inlineCode",{parentName:"p"},"0-9"),", underscores ",(0,a.yg)("inlineCode",{parentName:"p"},"_")," and hyphens ",(0,a.yg)("inlineCode",{parentName:"p"},"-")," and is preceded by colon ",(0,a.yg)("inlineCode",{parentName:"p"},":"),"."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"router.add(\n 'order-detail',\n // highlight-next-line\n '/user/:userId/orders/:orderId',\n OrderController,\n OrderView\n);\n")),(0,a.yg)("p",null,"The ",(0,a.yg)("inlineCode",{parentName:"p"},"userId")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"orderId")," parameters are then accessible in ",(0,a.yg)("inlineCode",{parentName:"p"},"OrderController")," via ",(0,a.yg)("inlineCode",{parentName:"p"},"this.params"),":"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractController } from '@ima/core';\n\nclass OrderController extends AbstractController {\n load() {\n // highlight-next-line\n const userPromise = this._userService.get(this.params.userId);\n // highlight-next-line\n const orderPromise = this._orderService.get(this.params.orderId);\n\n return {\n user: userPromise,\n order: orderPromise\n }\n }\n}\n")),(0,a.yg)("h3",{id:"optional-parameters"},"Optional parameters"),(0,a.yg)("p",null,"Parameters can also be marked as ",(0,a.yg)("strong",{parentName:"p"},"optional")," by placing question mark ",(0,a.yg)("inlineCode",{parentName:"p"},"?")," after the colon ",(0,a.yg)("inlineCode",{parentName:"p"},":"),"."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"router.add(\n 'user-detail',\n // highlight-next-line\n '/profile/:?userId',\n UserController,\n UserView\n);\n")),(0,a.yg)("admonition",{type:"caution"},(0,a.yg)("p",{parentName:"admonition"},"Optional parameters can be ",(0,a.yg)("strong",{parentName:"p"},"placed only after the last slash"),". Doing otherwise can cause unexpected behavior.")),(0,a.yg)("h2",{id:"linking-between-routes"},"Linking between routes"),(0,a.yg)("p",null,"URLs to routes can be generated via the ",(0,a.yg)("inlineCode",{parentName:"p"},"Router.link()")," public method. These can be then used in ordinary anchor tags and IMA.js makes sure, ",(0,a.yg)("strong",{parentName:"p"},"to handle the site routing in SPA mode"),", rather than doing redirect/reload of the whole page."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-jsx"},"import { AbstractComponent } from '@ima/react-page-renderer';\n\nclass OrderView extends AbstractComponent {\n render() {\n const { user, order } = this.props;\n\n const orderLink = this.link('order-detail', {\n userId: user.id,\n orderId: order.id\n });\n\n return <a href={orderLink}>View order</a>\n }\n}\n")),(0,a.yg)("p",null,"This is done by listening to window ",(0,a.yg)("inlineCode",{parentName:"p"},"popstate")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"click")," events and reacting accordingly (in the ",(0,a.yg)("inlineCode",{parentName:"p"},"listen")," method of ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/core/src/router/ClientRouter.js#L113"},"ClientRouter"),", which is called by IMA.js on client during app init). If the handled URL is not valid registered app route, it is handled normally (e.g you are redirected to the target URL)."),(0,a.yg)("admonition",{type:"tip"},(0,a.yg)("p",{parentName:"admonition"},"You can use ",(0,a.yg)("inlineCode",{parentName:"p"},"this.link")," helper method in IMA.js abstract component or the ",(0,a.yg)("inlineCode",{parentName:"p"},"useLink")," hook from the ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/react-hooks"},"@ima/react-hooks")," plugin in your components and views to generate router links.")),(0,a.yg)("admonition",{type:"note"},(0,a.yg)("p",{parentName:"admonition"},"Under the hood, ",(0,a.yg)("inlineCode",{parentName:"p"},"this.link()")," is only alias for ",(0,a.yg)("inlineCode",{parentName:"p"},"this.utils.$Router.link"),", where ",(0,a.yg)("inlineCode",{parentName:"p"},"this.utils")," is taken from ",(0,a.yg)("inlineCode",{parentName:"p"},"this.context.$Utils"),"."),(0,a.yg)("p",{parentName:"admonition"},"For more information about ",(0,a.yg)("inlineCode",{parentName:"p"},"this.utils")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"$Utils")," objects, take a look at the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/rendering-process#react-context"},"React Context")," in the documentation.")),(0,a.yg)("h3",{id:"generating-links-outside-of-app-components"},"Generating links outside of app components"),(0,a.yg)("p",null,"Linking in ",(0,a.yg)("strong",{parentName:"p"},"Controllers"),", ",(0,a.yg)("strong",{parentName:"p"},"Extensions"),", ",(0,a.yg)("strong",{parentName:"p"},"Helpers")," and other ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"Object Container")," classes requires you to import ",(0,a.yg)("inlineCode",{parentName:"p"},"Router")," using ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container#1-dependency-injection"},"dependency injection"),". To do that you can either use ",(0,a.yg)("inlineCode",{parentName:"p"},"Router")," class in the dependency array, or ",(0,a.yg)("inlineCode",{parentName:"p"},"$Router")," string alias:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractController } from '@ima/core';\n\nexport default class DetailController extends AbstractController {\n static get $dependencies() {\n return ['$Router'];\n }\n\n constructor(router) {\n this._router = router;\n }\n\n load() {\n // ...\n }\n}\n")),(0,a.yg)("p",null,"Then you get ",(0,a.yg)("inlineCode",{parentName:"p"},"Router")," instance as the constructor's first argument, which gives you access to it's ",(0,a.yg)("inlineCode",{parentName:"p"},"link")," public method (and many others), that you can use to generate your desired route URL:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"load() {\n const detailLink = this._router.link('order-detail', {\n userId: user.id,\n orderId: order.id\n });\n\n return { detailLink };\n}\n")),(0,a.yg)("h2",{id:"error-and-notfound-route-names"},"Error and NotFound route names"),(0,a.yg)("p",null,"There are two special route names that ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/core")," exports: ",(0,a.yg)("inlineCode",{parentName:"p"},"RouteNames.ERROR"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"RouteNames.NOT_FOUND"),". You can use these constants to provide custom views and controllers for error handling pages."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"import { RouteNames } from '@ima/core';\n\nimport { ErrorController, ErrorView } from 'app/page/error';\nimport { NotFoundController, NotFoundView } from 'app/page/not-found';\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add('home', '/', HomeController, HomeView)\n .add(RouteNames.ERROR, '/error', ErrorController, ErrorView)\n .add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);\n}\n")),(0,a.yg)("h2",{id:"redirects"},"Redirects"),(0,a.yg)("p",null,"In addition to the ",(0,a.yg)("inlineCode",{parentName:"p"},"link")," method mentioned above (which handles URL generation for given routes), you can use ",(0,a.yg)("inlineCode",{parentName:"p"},"Router.redirect()")," method to ",(0,a.yg)("strong",{parentName:"p"},"redirect directly to the targeted URL"),"."),(0,a.yg)("p",null,"This URL can be either existing app route or external URL. As with links, in this case you also get SPA routing, in case of redirection to different IMA.js app route."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractController, Router } from '@ima/core';\n\nexport default class DetailController extends AbstractController {\n static get $dependencies() {\n return [\n Router // We're using class descriptor in this case for DI\n ];\n }\n\n constructor(router) {\n this._router = router;\n }\n\n init() {\n // highlight-next-line\n this._router.redirect(\n // highlight-next-line\n this._router.link('order-detail', {\n // highlight-next-line\n userId: user.id,\n // highlight-next-line\n orderId: order.id\n // highlight-next-line\n });\n // highlight-next-line\n );\n }\n}\n")),(0,a.yg)("admonition",{type:"info"},(0,a.yg)("p",{parentName:"admonition"},"On client side, redirections are handled by simply changing the ",(0,a.yg)("inlineCode",{parentName:"p"},"window.location.href"),", while on server you're using the express native ",(0,a.yg)("inlineCode",{parentName:"p"},"res.redirect")," method.")),(0,a.yg)("h3",{id:"method-signature"},"Method signature"),(0,a.yg)("p",null,"The redirect method has following signature, while the options object is ",(0,a.yg)("strong",{parentName:"p"},"available only on server side"),":"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"redirect(\n url = '',\n options = {} // Available only on server side\n)\n")),(0,a.yg)("h3",{id:"url"},"url"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"string"))),(0,a.yg)("p",null,"Target redirect URL."),(0,a.yg)("h3",{id:"options-1"},"options"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"object = {}"))),(0,a.yg)("p",null,"Additional options, used to customize redirect server response."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"{\n httpStatus: 302,\n headers: undefined,\n}\n")),(0,a.yg)("h4",{id:"httpstatus"},"httpStatus"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"number = 302"))),(0,a.yg)("p",null,"Custom redirect http status code."),(0,a.yg)("h4",{id:"headers"},"headers"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"object = undefined"))),(0,a.yg)("p",null,"Custom response headers."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/25aeb21c.6cdba741.js b/assets/js/25aeb21c.6cdba741.js new file mode 100644 index 000000000..8a41b6b5d --- /dev/null +++ b/assets/js/25aeb21c.6cdba741.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7894],{6737:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"basic-features/routing/introduction","title":"Introduction","description":"Basic features > Routing >\xa0Introduction","source":"@site/../docs/basic-features/routing/introduction.md","sourceDirName":"basic-features/routing","slug":"/basic-features/routing/introduction","permalink":"/basic-features/routing/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/introduction.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Introduction","description":"Basic features > Routing >\xa0Introduction"},"sidebar":"docs","previous":{"title":"Data fetching","permalink":"/basic-features/data-fetching"},"next":{"title":"Dynamic Routes","permalink":"/basic-features/routing/dynamic-routes"}}');var i=r(2540),o=r(3023);const s={title:"Introduction",description:"Basic features > Routing >\xa0Introduction"},d=void 0,c={},a=[{value:"Setting up Router",id:"setting-up-router",level:2},{value:"name",id:"name",level:3},{value:"pathExpression",id:"pathexpression",level:3},{value:"controller",id:"controller",level:3},{value:"view",id:"view",level:3},{value:"options",id:"options",level:3},{value:"onlyUpdate",id:"onlyupdate",level:4},{value:"autoScroll",id:"autoscroll",level:4},{value:"allowSPA",id:"allowspa",level:4},{value:"documentView",id:"documentview",level:4},{value:"managedRootView",id:"managedrootview",level:4},{value:"viewAdapter",id:"viewadapter",level:4},{value:"middlewares",id:"middlewares",level:4},{value:"Route params substitutions",id:"route-params-substitutions",level:2},{value:"Optional parameters",id:"optional-parameters",level:3},{value:"Linking between routes",id:"linking-between-routes",level:2},{value:"Generating links outside of app components",id:"generating-links-outside-of-app-components",level:3},{value:"Error and NotFound route names",id:"error-and-notfound-route-names",level:2},{value:"Redirects",id:"redirects",level:2},{value:"Method signature",id:"method-signature",level:3},{value:"url",id:"url",level:3},{value:"options",id:"options-1",level:3},{value:"httpStatus",id:"httpstatus",level:4},{value:"headers",id:"headers",level:4}];function l(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Routing is an essential part of every application that displays multiple pages. It allows to develop each part of an application separately and add new parts instantly. As it happens to be in MVC frameworks, each route targets specific controller which takes control over what happens next after a route is matched."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:r(5050).A+"",width:"881",height:"421"})}),"\n",(0,i.jsx)(n.h2,{id:"setting-up-router",children:"Setting up Router"}),"\n",(0,i.jsxs)(n.p,{children:["All routes in IMA.js are registered inside the ",(0,i.jsx)(n.code,{children:"init"})," function in ",(0,i.jsx)(n.code,{children:"app/config/routes.js"}),". Same ",(0,i.jsx)(n.code,{children:"init"})," function can be found in ",(0,i.jsx)(n.code,{children:"app/config/bind.js"}),". See ",(0,i.jsx)(n.a,{href:"/basic-features/object-container",children:"Object Container"})," documentation for more information about the ",(0,i.jsx)(n.code,{children:"oc.get()"})," function."]}),"\n",(0,i.jsxs)(n.p,{children:["Usually you should be oke with simple string defined ",(0,i.jsx)(n.a,{href:"../../api/classes/ima_core.StaticRoute.md",children:"StaticRoutes"})," (the ones defined below), but the router also has support for more advanced and powerful ",(0,i.jsx)(n.a,{href:"../../api/classes/ima_core.DynamicRoute.md",children:"DynamicRoutes"}),". For more information about these see the ",(0,i.jsx)(n.a,{href:"/basic-features/routing/dynamic-routes",children:"next section"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/routes.js",children:"import { RouteNames } from '@ima/core';\n\nimport HomeController from 'app/page/home/HomeController';\nimport HomeView from 'app/page/home/HomeView';\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add('home', '/', HomeController, HomeView)\n .add(RouteNames.ERROR, '/error', ErrorController, ErrorView)\n .add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The router ",(0,i.jsx)(n.code,{children:"add"})," method has following signature:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"add(name, pathExpression, controller, view, options = undefined);\n"})}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\xa0",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["This argument represents ",(0,i.jsx)(n.strong,{children:"unique route name"}),". You can use this name when ",(0,i.jsx)(n.a,{href:"/basic-features/routing/introduction#linking-between-routes",children:"linking between routes"})," or getting the ",(0,i.jsx)(n.code,{children:"route"})," instance using ",(0,i.jsx)(n.code,{children:"getRouteHandler()"})," method."]}),"\n",(0,i.jsx)(n.h3,{id:"pathexpression",children:"pathExpression"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string |\xa0object"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["This can be either ",(0,i.jsx)(n.code,{children:"object"})," for ",(0,i.jsx)(n.a,{href:"/basic-features/routing/dynamic-routes",children:"dynamic routes"})," or ",(0,i.jsx)(n.code,{children:"string"})," representing route path. The pathExpression supports **",(0,i.jsx)(n.a,{href:"/basic-features/routing/introduction#route-params-substitutions",children:"parameter substitutions"})]}),"\n",(0,i.jsx)(n.h3,{id:"controller",children:"controller"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string | function"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Route assigned ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/basic-features/controller-lifecycle",children:"Controller"})})," class (can be a string alias, referring to the controller registered in the ",(0,i.jsx)(n.a,{href:"/basic-features/object-container",children:"Object Container"}),"). It goes through its full ",(0,i.jsx)(n.a,{href:"/basic-features/controller-lifecycle",children:"lifecycle"})," and renders the ",(0,i.jsx)(n.a,{href:"/basic-features/views-and-components",children:"View"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"view",children:"view"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string | function"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Route assigned ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/basic-features/views-and-components",children:"View"})})," class (also can be a string alias, referring to the view registered in the ",(0,i.jsx)(n.a,{href:"/basic-features/object-container",children:"Object Container"}),"). Rendered by the route controller."]}),"\n",(0,i.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"object = undefined"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"These are optional, however it accepts object with following properties and their respective defaults:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"{\n onlyUpdate: false,\n autoScroll: true,\n allowSPA: true,\n documentView: null,\n managedRootView: null,\n viewAdapter: null,\n middlewares: []\n}\n"})}),"\n",(0,i.jsx)(n.h4,{id:"onlyupdate",children:"onlyUpdate"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean | function = false"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["When only the parameters of the current route change an ",(0,i.jsxs)(n.a,{href:"/basic-features/controller-lifecycle#update-client",children:[(0,i.jsx)(n.code,{children:"update"})," method"]})," of the active controller will be invoked instead of re-instantiating the controller and view. The ",(0,i.jsx)(n.code,{children:"update"})," method receives ",(0,i.jsx)(n.code,{children:"prevParams"})," object containing - as the name suggests - previous route parameters."]}),"\n",(0,i.jsxs)(n.p,{children:["If you provide function to the ",(0,i.jsx)(n.code,{children:"onlyUpdate"})," option; it receives 2 arguments (instances of previous ",(0,i.jsx)(n.strong,{children:"controller"})," and ",(0,i.jsx)(n.strong,{children:"view"}),") and it should return ",(0,i.jsx)(n.strong,{children:"boolean"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"autoscroll",children:"autoScroll"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Determines whether the page should be ",(0,i.jsx)(n.strong,{children:"scrolled to the top"})," when the navigation occurs."]}),"\n",(0,i.jsx)(n.h4,{id:"allowspa",children:"allowSPA"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Can be used to make the route to be always served from the server and never using the SPA (when disabled) even if the server is overloaded."}),"\n",(0,i.jsxs)(n.p,{children:["This is useful for routes that use different document views (specified by the ",(0,i.jsx)(n.code,{children:"documentView"})," option), for example for rendering the content of iframes."]}),"\n",(0,i.jsx)(n.h4,{id:"documentview",children:"documentView"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"AbstractDocumentView = null"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Custom ",(0,i.jsx)(n.a,{href:"/basic-features/rendering-process#documentview",children:"DocumentView"}),", should extend the ",(0,i.jsx)(n.code,{children:"AbstractDocumentView"})," from ",(0,i.jsx)(n.code,{children:"@ima/core"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"managedrootview",children:"managedRootView"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"function = null"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Custom ",(0,i.jsx)(n.code,{children:"ManagedRootView"})," component, for more information see ",(0,i.jsx)(n.a,{href:"/basic-features/rendering-process#managedrootview",children:"rendering process"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"viewadapter",children:"viewAdapter"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"function = null"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Custom ",(0,i.jsx)(n.code,{children:"ViewAdapter"})," component, for more information see ",(0,i.jsx)(n.a,{href:"/basic-features/rendering-process#viewadapter",children:"rendering process"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"middlewares",children:"middlewares"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"function[] = []"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Array of route-specific middlewares. See the ",(0,i.jsx)(n.a,{href:"/basic-features/routing/middlewares",children:"middlewares"})," section for more information."]}),"\n",(0,i.jsx)(n.h2,{id:"route-params-substitutions",children:"Route params substitutions"}),"\n",(0,i.jsxs)(n.p,{children:["The parameter name can contain only letters ",(0,i.jsx)(n.code,{children:"a-zA-Z"}),", numbers ",(0,i.jsx)(n.code,{children:"0-9"}),", underscores ",(0,i.jsx)(n.code,{children:"_"})," and hyphens ",(0,i.jsx)(n.code,{children:"-"})," and is preceded by colon ",(0,i.jsx)(n.code,{children:":"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"router.add(\n 'order-detail',\n // highlight-next-line\n '/user/:userId/orders/:orderId',\n OrderController,\n OrderView\n);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"userId"})," and ",(0,i.jsx)(n.code,{children:"orderId"})," parameters are then accessible in ",(0,i.jsx)(n.code,{children:"OrderController"})," via ",(0,i.jsx)(n.code,{children:"this.params"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"import { AbstractController } from '@ima/core';\n\nclass OrderController extends AbstractController {\n load() {\n // highlight-next-line\n const userPromise = this._userService.get(this.params.userId);\n // highlight-next-line\n const orderPromise = this._orderService.get(this.params.orderId);\n\n return {\n user: userPromise,\n order: orderPromise\n }\n }\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"optional-parameters",children:"Optional parameters"}),"\n",(0,i.jsxs)(n.p,{children:["Parameters can also be marked as ",(0,i.jsx)(n.strong,{children:"optional"})," by placing question mark ",(0,i.jsx)(n.code,{children:"?"})," after the colon ",(0,i.jsx)(n.code,{children:":"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"router.add(\n 'user-detail',\n // highlight-next-line\n '/profile/:?userId',\n UserController,\n UserView\n);\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"caution",children:(0,i.jsxs)(n.p,{children:["Optional parameters can be ",(0,i.jsx)(n.strong,{children:"placed only after the last slash"}),". Doing otherwise can cause unexpected behavior."]})}),"\n",(0,i.jsx)(n.h2,{id:"linking-between-routes",children:"Linking between routes"}),"\n",(0,i.jsxs)(n.p,{children:["URLs to routes can be generated via the ",(0,i.jsx)(n.code,{children:"Router.link()"})," public method. These can be then used in ordinary anchor tags and IMA.js makes sure, ",(0,i.jsx)(n.strong,{children:"to handle the site routing in SPA mode"}),", rather than doing redirect/reload of the whole page."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import { AbstractComponent } from '@ima/react-page-renderer';\n\nclass OrderView extends AbstractComponent {\n render() {\n const { user, order } = this.props;\n\n const orderLink = this.link('order-detail', {\n userId: user.id,\n orderId: order.id\n });\n\n return <a href={orderLink}>View order</a>\n }\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This is done by listening to window ",(0,i.jsx)(n.code,{children:"popstate"})," and ",(0,i.jsx)(n.code,{children:"click"})," events and reacting accordingly (in the ",(0,i.jsx)(n.code,{children:"listen"})," method of ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/core/src/router/ClientRouter.js#L113",children:"ClientRouter"}),", which is called by IMA.js on client during app init). If the handled URL is not valid registered app route, it is handled normally (e.g you are redirected to the target URL)."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["You can use ",(0,i.jsx)(n.code,{children:"this.link"})," helper method in IMA.js abstract component or the ",(0,i.jsx)(n.code,{children:"useLink"})," hook from the ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/react-hooks",children:"@ima/react-hooks"})," plugin in your components and views to generate router links."]})}),"\n",(0,i.jsxs)(n.admonition,{type:"note",children:[(0,i.jsxs)(n.p,{children:["Under the hood, ",(0,i.jsx)(n.code,{children:"this.link()"})," is only alias for ",(0,i.jsx)(n.code,{children:"this.utils.$Router.link"}),", where ",(0,i.jsx)(n.code,{children:"this.utils"})," is taken from ",(0,i.jsx)(n.code,{children:"this.context.$Utils"}),"."]}),(0,i.jsxs)(n.p,{children:["For more information about ",(0,i.jsx)(n.code,{children:"this.utils"})," and ",(0,i.jsx)(n.code,{children:"$Utils"})," objects, take a look at the ",(0,i.jsx)(n.a,{href:"/basic-features/rendering-process#react-context",children:"React Context"})," in the documentation."]})]}),"\n",(0,i.jsx)(n.h3,{id:"generating-links-outside-of-app-components",children:"Generating links outside of app components"}),"\n",(0,i.jsxs)(n.p,{children:["Linking in ",(0,i.jsx)(n.strong,{children:"Controllers"}),", ",(0,i.jsx)(n.strong,{children:"Extensions"}),", ",(0,i.jsx)(n.strong,{children:"Helpers"})," and other ",(0,i.jsx)(n.a,{href:"/basic-features/object-container",children:"Object Container"})," classes requires you to import ",(0,i.jsx)(n.code,{children:"Router"})," using ",(0,i.jsx)(n.a,{href:"/basic-features/object-container#1-dependency-injection",children:"dependency injection"}),". To do that you can either use ",(0,i.jsx)(n.code,{children:"Router"})," class in the dependency array, or ",(0,i.jsx)(n.code,{children:"$Router"})," string alias:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"import { AbstractController } from '@ima/core';\n\nexport default class DetailController extends AbstractController {\n static get $dependencies() {\n return ['$Router'];\n }\n\n constructor(router) {\n this._router = router;\n }\n\n load() {\n // ...\n }\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Then you get ",(0,i.jsx)(n.code,{children:"Router"})," instance as the constructor's first argument, which gives you access to it's ",(0,i.jsx)(n.code,{children:"link"})," public method (and many others), that you can use to generate your desired route URL:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"load() {\n const detailLink = this._router.link('order-detail', {\n userId: user.id,\n orderId: order.id\n });\n\n return { detailLink };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"error-and-notfound-route-names",children:"Error and NotFound route names"}),"\n",(0,i.jsxs)(n.p,{children:["There are two special route names that ",(0,i.jsx)(n.code,{children:"@ima/core"})," exports: ",(0,i.jsx)(n.code,{children:"RouteNames.ERROR"}),", ",(0,i.jsx)(n.code,{children:"RouteNames.NOT_FOUND"}),". You can use these constants to provide custom views and controllers for error handling pages."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/routes.js",children:"import { RouteNames } from '@ima/core';\n\nimport { ErrorController, ErrorView } from 'app/page/error';\nimport { NotFoundController, NotFoundView } from 'app/page/not-found';\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .add('home', '/', HomeController, HomeView)\n .add(RouteNames.ERROR, '/error', ErrorController, ErrorView)\n .add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"redirects",children:"Redirects"}),"\n",(0,i.jsxs)(n.p,{children:["In addition to the ",(0,i.jsx)(n.code,{children:"link"})," method mentioned above (which handles URL generation for given routes), you can use ",(0,i.jsx)(n.code,{children:"Router.redirect()"})," method to ",(0,i.jsx)(n.strong,{children:"redirect directly to the targeted URL"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"This URL can be either existing app route or external URL. As with links, in this case you also get SPA routing, in case of redirection to different IMA.js app route."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"import { AbstractController, Router } from '@ima/core';\n\nexport default class DetailController extends AbstractController {\n static get $dependencies() {\n return [\n Router // We're using class descriptor in this case for DI\n ];\n }\n\n constructor(router) {\n this._router = router;\n }\n\n init() {\n // highlight-next-line\n this._router.redirect(\n // highlight-next-line\n this._router.link('order-detail', {\n // highlight-next-line\n userId: user.id,\n // highlight-next-line\n orderId: order.id\n // highlight-next-line\n });\n // highlight-next-line\n );\n }\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["On client side, redirections are handled by simply changing the ",(0,i.jsx)(n.code,{children:"window.location.href"}),", while on server you're using the express native ",(0,i.jsx)(n.code,{children:"res.redirect"})," method."]})}),"\n",(0,i.jsx)(n.h3,{id:"method-signature",children:"Method signature"}),"\n",(0,i.jsxs)(n.p,{children:["The redirect method has following signature, while the options object is ",(0,i.jsx)(n.strong,{children:"available only on server side"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"redirect(\n url = '',\n options = {} // Available only on server side\n)\n"})}),"\n",(0,i.jsx)(n.h3,{id:"url",children:"url"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Target redirect URL."}),"\n",(0,i.jsx)(n.h3,{id:"options-1",children:"options"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"object = {}"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Additional options, used to customize redirect server response."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"{\n httpStatus: 302,\n headers: undefined,\n}\n"})}),"\n",(0,i.jsx)(n.h4,{id:"httpstatus",children:"httpStatus"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"number = 302"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Custom redirect http status code."}),"\n",(0,i.jsx)(n.h4,{id:"headers",children:"headers"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"object = undefined"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Custom response headers."})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5050:(e,n,r)=>{r.d(n,{A:()=>t});const t=r.p+"assets/images/diagram-router-683726941d228a587bbf7ffda06d3c45.png"},3023:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>d});var t=r(3696);const i={},o=t.createContext(i);function s(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/27a3d74a.fedcc850.js b/assets/js/27a3d74a.fedcc850.js deleted file mode 100644 index dd2a645f9..000000000 --- a/assets/js/27a3d74a.fedcc850.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6432],{5680:(e,n,r)=>{r.d(n,{xA:()=>s,yg:()=>g});var t=r(6540);function i(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function o(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a(Object(r),!0).forEach((function(n){i(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function p(e,n){if(null==e)return{};var r,t,i=function(e,n){if(null==e)return{};var r,t,i={},a=Object.keys(e);for(t=0;t<a.length;t++)r=a[t],n.indexOf(r)>=0||(i[r]=e[r]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)r=a[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=t.createContext({}),c=function(e){var n=t.useContext(l),r=n;return e&&(r="function"==typeof e?e(n):o(o({},n),e)),r},s=function(e){var n=c(e.components);return t.createElement(l.Provider,{value:n},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},f=t.forwardRef((function(e,n){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),m=c(r),f=i,g=m["".concat(l,".").concat(f)]||m[f]||d[f]||a;return r?t.createElement(g,o(o({ref:n},s),{},{components:r})):t.createElement(g,o({ref:n},s))}));function g(e,n){var r=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=f;var p={};for(var l in n)hasOwnProperty.call(n,l)&&(p[l]=n[l]);p.originalType=e,p[m]="string"==typeof e?e:i,o[1]=p;for(var c=2;c<a;c++)o[c]=r[c];return t.createElement.apply(null,o)}return t.createElement.apply(null,r)}f.displayName="MDXCreateElement"},3629:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>p,toc:()=>c});var t=r(8102),i=(r(6540),r(5680));const a={id:"ima_core.AppEnvironment",title:"Interface: AppEnvironment",sidebar_label:"@ima/core.AppEnvironment",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.AppEnvironment",id:"api/interfaces/ima_core.AppEnvironment",title:"Interface: AppEnvironment",description:"@ima/core.AppEnvironment",source:"@site/../docs/api/interfaces/ima_core.AppEnvironment.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.AppEnvironment",permalink:"/api/interfaces/ima_core.AppEnvironment",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AppEnvironment",title:"Interface: AppEnvironment",sidebar_label:"@ima/core.AppEnvironment",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/cli.ImaConfigurationContext",permalink:"/api/interfaces/ima_cli.ImaConfigurationContext"},next:{title:"@ima/core.BootConfig",permalink:"/api/interfaces/ima_core.BootConfig"}},l={},c=[{value:"Properties",id:"properties",level:2},{value:"dev",id:"dev",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"prod",id:"prod",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"regression",id:"regression",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"test",id:"test",level:3},{value:"Defined in",id:"defined-in-3",level:4}],s={toc:c},m="wrapper";function d(e){let{components:n,...r}=e;return(0,i.yg)(m,(0,t.A)({},s,r,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AppEnvironment"),(0,i.yg)("p",null,"App Environment structure, used in ./server/config/environment.js"),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"dev"},"dev"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"dev"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"PartialObjectDeep"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,i.yg)("inlineCode",{parentName:"a"},"Environment")),", {}",">"),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L118"},"packages/core/src/boot.ts:118")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"prod"},"prod"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"prod"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,i.yg)("inlineCode",{parentName:"a"},"Environment"))),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L117"},"packages/core/src/boot.ts:117")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"regression"},"regression"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"regression"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"PartialObjectDeep"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,i.yg)("inlineCode",{parentName:"a"},"Environment")),", {}",">"),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L120"},"packages/core/src/boot.ts:120")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"test"},"test"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"test"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"PartialObjectDeep"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,i.yg)("inlineCode",{parentName:"a"},"Environment")),", {}",">"),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L119"},"packages/core/src/boot.ts:119")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/27b4c996.66ec1fe1.js b/assets/js/27b4c996.66ec1fe1.js deleted file mode 100644 index 10c5bb87a..000000000 --- a/assets/js/27b4c996.66ec1fe1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8605],{5680:(e,t,n)=>{n.d(t,{xA:()=>s,yg:()=>g});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),p=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(n),m=r,g=u["".concat(c,".").concat(m)]||u[m]||d[m]||i;return n?a.createElement(g,o(o({ref:t},s),{},{components:n})):a.createElement(g,o({ref:t},s))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<i;p++)o[p]=n[p];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},5727:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.Execution",title:"Class: Execution",sidebar_label:"@ima/core.Execution",custom_edit_url:null},o=void 0,l={unversionedId:"api/classes/ima_core.Execution",id:"api/classes/ima_core.Execution",title:"Class: Execution",description:"@ima/core.Execution",source:"@site/../docs/api/classes/ima_core.Execution.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Execution",permalink:"/api/classes/ima_core.Execution",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Execution",title:"Class: Execution",sidebar_label:"@ima/core.Execution",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.EventBusImpl",permalink:"/api/classes/ima_core.EventBusImpl"},next:{title:"@ima/core.Extension",permalink:"/api/classes/ima_core.Extension"}},c={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"append",id:"append",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"execute",id:"execute",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4}],s={toc:p},u="wrapper";function d(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,a.A)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Execution"),(0,r.yg)("p",null,"Execution is an abstract class that defines a standard for executing jobs.\nThe execution can be either done in serial or in parallel way."),(0,r.yg)("p",null,"When executing jobs in parallel an option should define how to deal with\na result of each individual job execution. One option would be to return the\nresult of a job that completes first. Second option is to return result of\nall jobs once they're all complete."),(0,r.yg)("p",null,"For serial execution you should define an option that affects how arguments\npassed to the ",(0,r.yg)("inlineCode",{parentName:"p"},"execute")," method are distributed. They could be either\nsupplied to each job individually (thus meaning one job's mutation won't\naffect another job) or they could be supplied to the first job and then\npiped through other jobs."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Execution"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractExecution"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractExecution"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Execution"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"append"},"append"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"append"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"jobs"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Adds a new job to be executed. The job is appended at the end of the\nlist of current jobs therefore is executed last."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"jobs")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,r.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The jobs to be executed.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/Execution.ts#L25"},"packages/core/src/execution/Execution.ts:25")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"execute"},"execute"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"execute"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"...args"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("p",null,"Start executing collected jobs. In the end a ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise")," is returned\nwith a resulting value. On the returned ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise")," a ",(0,r.yg)("inlineCode",{parentName:"p"},"catch"),"\nmethod can be called to prevent any unwanted interruption."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"...args")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Arguments to be passed when executing jobs")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/Execution.ts#L36"},"packages/core/src/execution/Execution.ts:36")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/284c0bdc.22c56ea0.js b/assets/js/284c0bdc.22c56ea0.js deleted file mode 100644 index 388a04016..000000000 --- a/assets/js/284c0bdc.22c56ea0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3007],{5680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>d});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},g="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),g=p(t),m=r,d=g["".concat(l,".").concat(m)]||g[m]||u[m]||o;return t?a.createElement(d,i(i({ref:n},c),{},{components:t})):a.createElement(d,i({ref:n},c))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[g]="string"==typeof e?e:r,i[1]=s;for(var p=2;p<o;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},1471:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var a=t(8102),r=(t(6540),t(5680));const o={title:"Dictionary",description:"Basic features > Dictionary and language features"},i=void 0,s={unversionedId:"basic-features/dictionary",id:"basic-features/dictionary",title:"Dictionary",description:"Basic features > Dictionary and language features",source:"@site/../docs/basic-features/dictionary.md",sourceDirName:"basic-features",slug:"/basic-features/dictionary",permalink:"/basic-features/dictionary",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/dictionary.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Dictionary",description:"Basic features > Dictionary and language features"},sidebar:"docs",previous:{title:"SEO & Meta Manager",permalink:"/basic-features/seo-and-meta-manager"},next:{title:"Error Handling",permalink:"/basic-features/error-handling"}},l={},p=[{value:"Configuration",id:"configuration",level:2},{value:"URL parser configuration",id:"url-parser-configuration",level:3},{value:"<code>:language</code> placeholder",id:"language-placeholder",level:4},{value:"Language files",id:"language-files",level:3},{value:"Usage",id:"usage",level:2},{value:"Messageformat library",id:"messageformat-library",level:2}],c={toc:p},g="wrapper";function u(e){let{components:n,...t}=e;return(0,r.yg)(g,(0,a.A)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"Dictionary in IMA.js app serves many purposes. Simplest of them is keeping text strings out of component markup. More advanced one would be internationalization and in-text replacements."),(0,r.yg)("h2",{id:"configuration"},"Configuration"),(0,r.yg)("p",null,"First we need to tell IMA.js where to look for dictionary files. Naming convention of the files is up to you, but it should be clear what language are the files meant for and ",(0,r.yg)("strong",{parentName:"p"},"glob\xa0pattern")," has to be able to match path to the files. IMA.js ",(0,r.yg)("strong",{parentName:"p"},"defaults to the following configuration:")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"languages: {\n cs: ['./app/**/*CS.json'],\n en: ['./app/**/*EN.json']\n}\n")),(0,r.yg)("p",null,"However you can easily override this settings in ",(0,r.yg)("a",{parentName:"p",href:"/cli/ima-config-js#languages"},"ima.config.js")," (an example):"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript",metastring:'title="./ima.config.js"',title:'"./ima.config.js"'},"module.exports = {\n languages: {\n cs: [\n './app/component/**/*CS.json',\n './app/page/**/*CS.json'\n ],\n en: [\n './app/component/**/*EN.json',\n './app/page/**/*EN.json'\n ],\n de: [\n './app/component/**/*DE.json',\n './app/page/**/*DE.json'\n ]\n }\n}\n")),(0,r.yg)("h3",{id:"url-parser-configuration"},"URL parser configuration"),(0,r.yg)("p",null,"We also need to specify what language should be loaded. This is ",(0,r.yg)("strong",{parentName:"p"},"done dynamically depending on current URL"),". You can customize the URL patterns to language mapping in ",(0,r.yg)("strong",{parentName:"p"},"environment settings"),"."),(0,r.yg)("p",null,"The configuration consists of simple key-value pairs, that are used for configuring the languages used with specific hosts or starting paths:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"key"))," - has to start with '//' instead of a protocol, and you can define the root path."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"value"))," - is a language to use when the key is matched by the current URL.")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js",metastring:'title="./server/config/environment.js"',title:'"./server/config/environment.js"'},"module.exports = (() => ({\n prod: {\n $Language: {\n '//*:*/cs': 'cs', // https://ima-app.com/cs/custom-route\n '//*:*/en': 'en', // https://ima-app.com/en/custom-route\n '//*:*': 'cs', // https://ima-app.com/custom-route\n },\n }\n}))();\n")),(0,r.yg)("h4",{id:"language-placeholder"},(0,r.yg)("inlineCode",{parentName:"h4"},":language")," placeholder"),(0,r.yg)("p",null,"To make the language definition a bit easier for multilingua applications, you can use ",(0,r.yg)("inlineCode",{parentName:"p"},":language")," placeholder in following way:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js",metastring:'title="./server/config/environment.js"',title:'"./server/config/environment.js"'},"module.exports = (() => ({\n prod: {\n $Language: {\n '//*:*/:language': ':language', // https://ima-app.com/[en|cs]/custom-route\n '//*:*': 'cs', // https://ima-app.com/custom-route\n },\n }\n}))();\n")),(0,r.yg)("h3",{id:"language-files"},"Language files"),(0,r.yg)("p",null,"The ",(0,r.yg)("a",{parentName:"p",href:"http://messageformat.github.io/messageformat/"},"messageformat")," compiler, which processes our language files, expects .JSON files on the input. Contents of these files are objects, which can be nested into multiple levels. These levels are then represtend as a namespace ",(0,r.yg)("inlineCode",{parentName:"p"},"key")," to the value in the dictionary."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./pollVoteEN.json",title:"./pollVoteEN.json"},'{\n "resultTitle": "Result of {name}:",\n "result": {\n "voted": "{count, plural, =0{Found no results} one{Found one result} other{Found # results} }",\n "reader": "{gender, select, male{He said} female{She said} other{They said} }",\n }\n}\n')),(0,r.yg)("admonition",{type:"info"},(0,r.yg)("p",{parentName:"admonition"},"File name is used as a namespace for strings it defines. String defined under key ",(0,r.yg)("inlineCode",{parentName:"p"},"submit")," in file ",(0,r.yg)("inlineCode",{parentName:"p"},"uploadFormCS.json")," will be accessible under ",(0,r.yg)("inlineCode",{parentName:"p"},"uploadForm.submit"),".")),(0,r.yg)("h2",{id:"usage"},"Usage"),(0,r.yg)("p",null,"Every component and view extending ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractComponent")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractPureComponent")," has access to ",(0,r.yg)("inlineCode",{parentName:"p"},"localize")," method from within its instance. This method is alias to a ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," method from the Dictionary instance and takes 2 arguments:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"key")," - namespace and name of the localization string -> if you have ",(0,r.yg)("inlineCode",{parentName:"li"},"resultTitle")," string in file ",(0,r.yg)("inlineCode",{parentName:"li"},"pollVoteEN.json")," the key to this string would be ",(0,r.yg)("inlineCode",{parentName:"li"},"pollVote.resultTitle"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"parameters")," - Optional object with replacements and parameters for ",(0,r.yg)("a",{parentName:"li",href:"http://messageformat.github.io/messageformat/"},"messageformat")," syntax. For more info about the syntax check out ",(0,r.yg)("a",{parentName:"li",href:"http://userguide.icu-project.org/formatparse/messages"},"ICU guide"),".")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractPureComponent } from '@ima/react-page-renderer';\n\nclass PollVote extends AbstractPureComponent {\n render() {\n return (\n <div>\n {this.localize('pollVote.resultTitle')}\n {this.localize('pollVote.result.voted', {count: 3})}\n </div>\n );\n }\n}\n")),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"Use ",(0,r.yg)("inlineCode",{parentName:"p"},"useComponent().localize")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"useLocalize()")," hooks in functional components."),(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-jsx"},"import { useComponent, useLocalize } from '@ima/react-page-renderer';\n\nfunction PollVote() {\n // const { localize } = useComponent();\n const localize = useLocalize();\n\n return (\n <div>\n {localize('pollVote.resultTitle')}\n {localize('pollVote.result.voted', {count: 3})}\n </div>\n );\n}\n"))),(0,r.yg)("h2",{id:"messageformat-library"},"Messageformat library"),(0,r.yg)("p",null,"For more information on the available selectors, formatters, and other details, please see ",(0,r.yg)("a",{parentName:"p",href:"http://messageformat.github.io/messageformat/guide/"},"Format guide"),"."),(0,r.yg)("p",null,"Dictionary is also registered in ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"Object Container")," and thus can be obtained in Controllers, Extensions and other classes constructed through OC."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/284c0bdc.4abbd365.js b/assets/js/284c0bdc.4abbd365.js new file mode 100644 index 000000000..34187d722 --- /dev/null +++ b/assets/js/284c0bdc.4abbd365.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3007],{8793:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"basic-features/dictionary","title":"Dictionary","description":"Basic features > Dictionary and language features","source":"@site/../docs/basic-features/dictionary.md","sourceDirName":"basic-features","slug":"/basic-features/dictionary","permalink":"/basic-features/dictionary","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/dictionary.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Dictionary","description":"Basic features > Dictionary and language features"},"sidebar":"docs","previous":{"title":"SEO & Meta Manager","permalink":"/basic-features/seo-and-meta-manager"},"next":{"title":"Error Handling","permalink":"/basic-features/error-handling"}}');var a=s(2540),i=s(3023);const o={title:"Dictionary",description:"Basic features > Dictionary and language features"},r=void 0,l={},c=[{value:"Configuration",id:"configuration",level:2},{value:"URL parser configuration",id:"url-parser-configuration",level:3},{value:"<code>:language</code> placeholder",id:"language-placeholder",level:4},{value:"Language files",id:"language-files",level:3},{value:"Usage",id:"usage",level:2},{value:"Messageformat library",id:"messageformat-library",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Dictionary in IMA.js app serves many purposes. Simplest of them is keeping text strings out of component markup. More advanced one would be internationalization and in-text replacements."}),"\n",(0,a.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,a.jsxs)(n.p,{children:["First we need to tell IMA.js where to look for dictionary files. Naming convention of the files is up to you, but it should be clear what language are the files meant for and ",(0,a.jsx)(n.strong,{children:"glob\xa0pattern"})," has to be able to match path to the files. IMA.js ",(0,a.jsx)(n.strong,{children:"defaults to the following configuration:"})]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",children:"languages: {\n cs: ['./app/**/*CS.json'],\n en: ['./app/**/*EN.json']\n}\n"})}),"\n",(0,a.jsxs)(n.p,{children:["However you can easily override this settings in ",(0,a.jsx)(n.a,{href:"/cli/ima-config-js#languages",children:"ima.config.js"})," (an example):"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",metastring:'title="./ima.config.js"',children:"module.exports = {\n languages: {\n cs: [\n './app/component/**/*CS.json',\n './app/page/**/*CS.json'\n ],\n en: [\n './app/component/**/*EN.json',\n './app/page/**/*EN.json'\n ],\n de: [\n './app/component/**/*DE.json',\n './app/page/**/*DE.json'\n ]\n }\n}\n"})}),"\n",(0,a.jsx)(n.h3,{id:"url-parser-configuration",children:"URL parser configuration"}),"\n",(0,a.jsxs)(n.p,{children:["We also need to specify what language should be loaded. This is ",(0,a.jsx)(n.strong,{children:"done dynamically depending on current URL"}),". You can customize the URL patterns to language mapping in ",(0,a.jsx)(n.strong,{children:"environment settings"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"The configuration consists of simple key-value pairs, that are used for configuring the languages used with specific hosts or starting paths:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.code,{children:"key"})})," - has to start with '//' instead of a protocol, and you can define the root path."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.code,{children:"value"})})," - is a language to use when the key is matched by the current URL."]}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="./server/config/environment.js"',children:"module.exports = (() => ({\n prod: {\n $Language: {\n '//*:*/cs': 'cs', // https://ima-app.com/cs/custom-route\n '//*:*/en': 'en', // https://ima-app.com/en/custom-route\n '//*:*': 'cs', // https://ima-app.com/custom-route\n },\n }\n}))();\n"})}),"\n",(0,a.jsxs)(n.h4,{id:"language-placeholder",children:[(0,a.jsx)(n.code,{children:":language"})," placeholder"]}),"\n",(0,a.jsxs)(n.p,{children:["To make the language definition a bit easier for multilingua applications, you can use ",(0,a.jsx)(n.code,{children:":language"})," placeholder in following way:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="./server/config/environment.js"',children:"module.exports = (() => ({\n prod: {\n $Language: {\n '//*:*/:language': ':language', // https://ima-app.com/[en|cs]/custom-route\n '//*:*': 'cs', // https://ima-app.com/custom-route\n },\n }\n}))();\n"})}),"\n",(0,a.jsx)(n.h3,{id:"language-files",children:"Language files"}),"\n",(0,a.jsxs)(n.p,{children:["The ",(0,a.jsx)(n.a,{href:"http://messageformat.github.io/messageformat/",children:"messageformat"})," compiler, which processes our language files, expects .JSON files on the input. Contents of these files are objects, which can be nested into multiple levels. These levels are then represtend as a namespace ",(0,a.jsx)(n.code,{children:"key"})," to the value in the dictionary."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:"title=./pollVoteEN.json",children:'{\n "resultTitle": "Result of {name}:",\n "result": {\n "voted": "{count, plural, =0{Found no results} one{Found one result} other{Found # results} }",\n "reader": "{gender, select, male{He said} female{She said} other{They said} }",\n }\n}\n'})}),"\n",(0,a.jsx)(n.admonition,{type:"info",children:(0,a.jsxs)(n.p,{children:["File name is used as a namespace for strings it defines. String defined under key ",(0,a.jsx)(n.code,{children:"submit"})," in file ",(0,a.jsx)(n.code,{children:"uploadFormCS.json"})," will be accessible under ",(0,a.jsx)(n.code,{children:"uploadForm.submit"}),"."]})}),"\n",(0,a.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsxs)(n.p,{children:["Every component and view extending ",(0,a.jsx)(n.code,{children:"AbstractComponent"})," or ",(0,a.jsx)(n.code,{children:"AbstractPureComponent"})," has access to ",(0,a.jsx)(n.code,{children:"localize"})," method from within its instance. This method is alias to a ",(0,a.jsx)(n.code,{children:"get"})," method from the Dictionary instance and takes 2 arguments:"]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:"key"})," - namespace and name of the localization string -> if you have ",(0,a.jsx)(n.code,{children:"resultTitle"})," string in file ",(0,a.jsx)(n.code,{children:"pollVoteEN.json"})," the key to this string would be ",(0,a.jsx)(n.code,{children:"pollVote.resultTitle"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:"parameters"})," - Optional object with replacements and parameters for ",(0,a.jsx)(n.a,{href:"http://messageformat.github.io/messageformat/",children:"messageformat"})," syntax. For more info about the syntax check out ",(0,a.jsx)(n.a,{href:"http://userguide.icu-project.org/formatparse/messages",children:"ICU guide"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"import { AbstractPureComponent } from '@ima/react-page-renderer';\n\nclass PollVote extends AbstractPureComponent {\n render() {\n return (\n <div>\n {this.localize('pollVote.resultTitle')}\n {this.localize('pollVote.result.voted', {count: 3})}\n </div>\n );\n }\n}\n"})}),"\n",(0,a.jsxs)(n.admonition,{type:"tip",children:[(0,a.jsxs)(n.p,{children:["Use ",(0,a.jsx)(n.code,{children:"useComponent().localize"})," or ",(0,a.jsx)(n.code,{children:"useLocalize()"})," hooks in functional components."]}),(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-jsx",children:"import { useComponent, useLocalize } from '@ima/react-page-renderer';\n\nfunction PollVote() {\n // const { localize } = useComponent();\n const localize = useLocalize();\n\n return (\n <div>\n {localize('pollVote.resultTitle')}\n {localize('pollVote.result.voted', {count: 3})}\n </div>\n );\n}\n"})})]}),"\n",(0,a.jsx)(n.h2,{id:"messageformat-library",children:"Messageformat library"}),"\n",(0,a.jsxs)(n.p,{children:["For more information on the available selectors, formatters, and other details, please see ",(0,a.jsx)(n.a,{href:"http://messageformat.github.io/messageformat/guide/",children:"Format guide"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["Dictionary is also registered in ",(0,a.jsx)(n.a,{href:"/basic-features/object-container",children:"Object Container"})," and thus can be obtained in Controllers, Extensions and other classes constructed through OC."]})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>r});var t=s(3696);const a={},i=t.createContext(a);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/286e48de.4f9f707b.js b/assets/js/286e48de.4f9f707b.js new file mode 100644 index 000000000..017b863e2 --- /dev/null +++ b/assets/js/286e48de.4f9f707b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8675],{9567:(e,c,s)=>{s.r(c),s.d(c,{assets:()=>h,contentTitle:()=>l,default:()=>o,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/core/classes/CacheImpl","title":"Class: CacheImpl\\\\<V\\\\>","description":"Defined in21","source":"@site/../docs/api/@ima/core/classes/CacheImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/CacheImpl","permalink":"/api/@ima/core/classes/CacheImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/CacheImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: CacheFactory\\\\<V\\\\>","permalink":"/api/@ima/core/classes/CacheFactory"},"next":{"title":"Class: CancelError","permalink":"/api/@ima/core/classes/CancelError"}}');var i=s(2540),n=s(3023);const a={},l="Class: CacheImpl<V>",h={},d=[{value:"Example",id:"example",level:2},{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new CacheImpl()",id:"new-cacheimpl",level:3},{value:"Parameters",id:"parameters",level:4},{value:"cacheStorage",id:"cachestorage",level:5},{value:"factory",id:"factory",level:5},{value:"Helper",id:"helper",level:5},{value:"config",id:"config",level:5},{value:"enabled",id:"enabled",level:6},{value:"ttl",id:"ttl",level:6},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_cache",id:"_cache",level:3},{value:"_enabled",id:"_enabled",level:3},{value:"_factory",id:"_factory",level:3},{value:"_Helper",id:"_helper",level:3},{value:"_ttl",id:"_ttl",level:3},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"deserialize()",id:"deserialize",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"serializedData",id:"serializeddata",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"disable()",id:"disable",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"enable()",id:"enable",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"serialize()",id:"serialize",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"ttl",id:"ttl-1",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-9",level:4}];function t(e){const c={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.header,{children:(0,i.jsx)(c.h1,{id:"class-cacheimplv",children:"Class: CacheImpl<V>"})}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L21",children:"packages/core/src/cache/CacheImpl.ts:21"})]}),"\n",(0,i.jsxs)(c.p,{children:["Configurable generic implementation of the ",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:"Cache"})," interface."]}),"\n",(0,i.jsx)(c.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(c.pre,{children:(0,i.jsx)(c.code,{className:"language-ts",children:"if (cache.has('model.articles')) {\n return cache.get('model.articles');\n} else {\n let articles = getArticlesFromStorage();\n // cache for an hour\n cache.set('model.articles', articles, 60 * 60 * 1000);\n}\n"})}),"\n",(0,i.jsx)(c.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(c.ul,{children:["\n",(0,i.jsxs)(c.li,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(c.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(c.p,{children:["\u2022 ",(0,i.jsx)(c.strong,{children:"V"})]}),"\n",(0,i.jsx)(c.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(c.h3,{id:"new-cacheimpl",children:"new CacheImpl()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"new CacheImpl"}),"<",(0,i.jsx)(c.code,{children:"V"}),">(",(0,i.jsx)(c.code,{children:"cacheStorage"}),", ",(0,i.jsx)(c.code,{children:"factory"}),", ",(0,i.jsx)(c.code,{children:"Helper"}),", ",(0,i.jsx)(c.code,{children:"config"}),"): ",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/CacheImpl",children:(0,i.jsx)(c.code,{children:"CacheImpl"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L36",children:"packages/core/src/cache/CacheImpl.ts:36"})]}),"\n",(0,i.jsx)(c.p,{children:"Initializes the cache."}),"\n",(0,i.jsx)(c.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(c.h5,{id:"cachestorage",children:"cacheStorage"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(c.code,{children:"Storage"})}),"<",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:(0,i.jsx)(c.code,{children:"CacheEntry"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">>"]}),"\n",(0,i.jsx)(c.p,{children:"The cache entry storage to use."}),"\n",(0,i.jsx)(c.h5,{id:"factory",children:"factory"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/CacheFactory",children:(0,i.jsx)(c.code,{children:"CacheFactory"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(c.p,{children:"Which create new instance of cache entry."}),"\n",(0,i.jsx)(c.h5,{id:"helper",children:"Helper"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"__module"})}),"\n",(0,i.jsx)(c.p,{children:"The IMA.js helper methods."}),"\n",(0,i.jsx)(c.h5,{id:"config",children:"config"}),"\n",(0,i.jsx)(c.p,{children:"The cache configuration."}),"\n",(0,i.jsx)(c.h6,{id:"enabled",children:"enabled"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"boolean"})," = ",(0,i.jsx)(c.code,{children:"false"})]}),"\n",(0,i.jsx)(c.h6,{id:"ttl",children:"ttl"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"number"})," = ",(0,i.jsx)(c.code,{children:"30000"})]}),"\n",(0,i.jsx)(c.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/CacheImpl",children:(0,i.jsx)(c.code,{children:"CacheImpl"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(c.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#constructors",children:(0,i.jsx)(c.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(c.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(c.h3,{id:"_cache",children:"_cache"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"protected"})," ",(0,i.jsx)(c.strong,{children:"_cache"}),": ",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(c.code,{children:"Storage"})}),"<",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:(0,i.jsx)(c.code,{children:"CacheEntry"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">>"]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L22",children:"packages/core/src/cache/CacheImpl.ts:22"})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"_enabled",children:"_enabled"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"protected"})," ",(0,i.jsx)(c.strong,{children:"_enabled"}),": ",(0,i.jsx)(c.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L26",children:"packages/core/src/cache/CacheImpl.ts:26"})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"_factory",children:"_factory"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"protected"})," ",(0,i.jsx)(c.strong,{children:"_factory"}),": ",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/CacheFactory",children:(0,i.jsx)(c.code,{children:"CacheFactory"})}),"<",(0,i.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L23",children:"packages/core/src/cache/CacheImpl.ts:23"})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"_helper",children:"_Helper"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"protected"})," ",(0,i.jsx)(c.strong,{children:"_Helper"}),": ",(0,i.jsx)(c.code,{children:"__module"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L24",children:"packages/core/src/cache/CacheImpl.ts:24"})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"_ttl",children:"_ttl"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"protected"})," ",(0,i.jsx)(c.strong,{children:"_ttl"}),": ",(0,i.jsx)(c.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L25",children:"packages/core/src/cache/CacheImpl.ts:25"})]}),"\n",(0,i.jsx)(c.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(c.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"clear"}),"(): ",(0,i.jsx)(c.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L66",children:"packages/core/src/cache/CacheImpl.ts:66"})]}),"\n",(0,i.jsx)(c.p,{children:"Clears the cache by deleting all entries."}),"\n",(0,i.jsx)(c.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"void"})}),"\n",(0,i.jsx)(c.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#clear",children:(0,i.jsx)(c.code,{children:"clear"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"delete",children:"delete()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"delete"}),"(",(0,i.jsx)(c.code,{children:"key"}),"): ",(0,i.jsx)(c.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L122",children:"packages/core/src/cache/CacheImpl.ts:122"})]}),"\n",(0,i.jsx)(c.p,{children:"Deletes the specified cache entry. The method has no effect if the entry\ndoes not exist."}),"\n",(0,i.jsx)(c.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(c.h5,{id:"key",children:"key"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"string"})}),"\n",(0,i.jsx)(c.p,{children:"The identifier of the cache entry."}),"\n",(0,i.jsx)(c.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"void"})}),"\n",(0,i.jsx)(c.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#delete",children:(0,i.jsx)(c.code,{children:"delete"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"deserialize",children:"deserialize()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"deserialize"}),"(",(0,i.jsx)(c.code,{children:"serializedData"}),"): ",(0,i.jsx)(c.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L181",children:"packages/core/src/cache/CacheImpl.ts:181"})]}),"\n",(0,i.jsx)(c.p,{children:"Loads the provided serialized cache data into this cache. Entries\npresent in this cache but not specified in the provided data will remain\nin this cache intact."}),"\n",(0,i.jsx)(c.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(c.h5,{id:"serializeddata",children:"serializedData"}),"\n",(0,i.jsxs)(c.p,{children:["An\nobject representing the state of the cache to load, obtained by\nparsing the JSON string returned by the ",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#serialize",children:"Cache#serialize"}),"\nmethod."]}),"\n",(0,i.jsx)(c.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"void"})}),"\n",(0,i.jsx)(c.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#deserialize",children:(0,i.jsx)(c.code,{children:"deserialize"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"disable",children:"disable()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"disable"}),"(): ",(0,i.jsx)(c.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L129",children:"packages/core/src/cache/CacheImpl.ts:129"})]}),"\n",(0,i.jsx)(c.p,{children:"Disables the cache, preventing the retrieval of any cached entries and\nreporting all cache entries as non-existing. Disabling the cache does\nnot however prevent modifying the existing or creating new cache\nentries."}),"\n",(0,i.jsx)(c.p,{children:"Disabling the cache also clears all of its current entries."}),"\n",(0,i.jsx)(c.p,{children:"The method has no effect if the cache is already disabled."}),"\n",(0,i.jsx)(c.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"void"})}),"\n",(0,i.jsx)(c.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#disable",children:(0,i.jsx)(c.code,{children:"disable"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"enable",children:"enable()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"enable"}),"(): ",(0,i.jsx)(c.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L137",children:"packages/core/src/cache/CacheImpl.ts:137"})]}),"\n",(0,i.jsx)(c.p,{children:"Enables the cache, allowing the retrieval of cache entries."}),"\n",(0,i.jsx)(c.p,{children:"The method has no effect if the cache is already enabled."}),"\n",(0,i.jsx)(c.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"void"})}),"\n",(0,i.jsx)(c.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#enable",children:(0,i.jsx)(c.code,{children:"enable"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"get",children:"get()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"get"}),"(",(0,i.jsx)(c.code,{children:"key"}),"): ",(0,i.jsx)(c.code,{children:"null"})," | ",(0,i.jsx)(c.code,{children:"V"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L92",children:"packages/core/src/cache/CacheImpl.ts:92"})]}),"\n",(0,i.jsx)(c.p,{children:"Returns the value of the entry identified by the specified key."}),"\n",(0,i.jsxs)(c.p,{children:["The method returns ",(0,i.jsx)(c.code,{children:"null"})," if the specified entry does not exist, has\nalready expired, or the cache is currently disabled."]}),"\n",(0,i.jsx)(c.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(c.h5,{id:"key-1",children:"key"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"string"})}),"\n",(0,i.jsx)(c.p,{children:"The identifier of the cache entry."}),"\n",(0,i.jsx)(c.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"null"})," | ",(0,i.jsx)(c.code,{children:"V"})]}),"\n",(0,i.jsxs)(c.p,{children:["The value of the specified cache entry, or ",(0,i.jsx)(c.code,{children:"null"})," if the entry\nis not available."]}),"\n",(0,i.jsx)(c.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#get",children:(0,i.jsx)(c.code,{children:"get"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"has",children:"has()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"has"}),"(",(0,i.jsx)(c.code,{children:"key"}),"): ",(0,i.jsx)(c.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L73",children:"packages/core/src/cache/CacheImpl.ts:73"})]}),"\n",(0,i.jsx)(c.p,{children:"Tests whether the cache contains a fresh entry for the specified key. A\ncache entry is fresh if the has not expired its TTL (time to live)."}),"\n",(0,i.jsxs)(c.p,{children:["The method always returns ",(0,i.jsx)(c.code,{children:"false"})," if the cache is currently disabled."]}),"\n",(0,i.jsx)(c.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(c.h5,{id:"key-2",children:"key"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"string"})}),"\n",(0,i.jsx)(c.p,{children:"The identifier of the cache entry."}),"\n",(0,i.jsx)(c.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"boolean"})}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"true"})," if the cache is enabled, the entry exists and has\nnot expired yet."]}),"\n",(0,i.jsx)(c.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#has",children:(0,i.jsx)(c.code,{children:"has"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"serialize",children:"serialize()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"serialize"}),"(): ",(0,i.jsx)(c.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L144",children:"packages/core/src/cache/CacheImpl.ts:144"})]}),"\n",(0,i.jsxs)(c.p,{children:["Exports the state of this cache to an HTML-safe JSON string. The data\nobtained by parsing the result of this method are compatible with the\n",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#deserialize",children:"Cache#deserialize"})," method."]}),"\n",(0,i.jsx)(c.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"string"})}),"\n",(0,i.jsx)(c.p,{children:"A JSON string containing an object representing of the\ncurrent state of this cache."}),"\n",(0,i.jsx)(c.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#serialize",children:(0,i.jsx)(c.code,{children:"serialize"})})]}),"\n",(0,i.jsx)(c.hr,{}),"\n",(0,i.jsx)(c.h3,{id:"set",children:"set()"}),"\n",(0,i.jsxs)(c.blockquote,{children:["\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.strong,{children:"set"}),"(",(0,i.jsx)(c.code,{children:"key"}),", ",(0,i.jsx)(c.code,{children:"value"}),", ",(0,i.jsx)(c.code,{children:"ttl"}),"): ",(0,i.jsx)(c.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(c.p,{children:["Defined in: ",(0,i.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheImpl.ts#L106",children:"packages/core/src/cache/CacheImpl.ts:106"})]}),"\n",(0,i.jsx)(c.p,{children:"Sets the cache entry identified by the specified key to the provided\nvalue. The entry is created if it does not exist yet."}),"\n",(0,i.jsx)(c.p,{children:"The method has no effect if the cache is currently disabled."}),"\n",(0,i.jsx)(c.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(c.h5,{id:"key-3",children:"key"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"string"})}),"\n",(0,i.jsx)(c.p,{children:"The identifier of the cache entry."}),"\n",(0,i.jsx)(c.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"V"})}),"\n",(0,i.jsx)(c.p,{children:"The cache entry value."}),"\n",(0,i.jsx)(c.h5,{id:"ttl-1",children:"ttl"}),"\n",(0,i.jsxs)(c.p,{children:["Cache entry time to live in milliseconds. The\nentry will expire after the specified amount of milliseconds. Use\n",(0,i.jsx)(c.code,{children:"null"})," or omit the parameter to use the default TTL of this cache."]}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.code,{children:"string"})," | ",(0,i.jsx)(c.code,{children:"number"})]}),"\n",(0,i.jsx)(c.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(c.p,{children:(0,i.jsx)(c.code,{children:"void"})}),"\n",(0,i.jsx)(c.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,i.jsxs)(c.p,{children:[(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache",children:(0,i.jsx)(c.code,{children:"Cache"})}),".",(0,i.jsx)(c.a,{href:"/api/@ima/core/classes/Cache#set",children:(0,i.jsx)(c.code,{children:"set"})})]})]})}function o(e={}){const{wrapper:c}={...(0,n.R)(),...e.components};return c?(0,i.jsx)(c,{...e,children:(0,i.jsx)(t,{...e})}):t(e)}},3023:(e,c,s)=>{s.d(c,{R:()=>a,x:()=>l});var r=s(3696);const i={},n=r.createContext(i);function a(e){const c=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(c):{...c,...e}}),[c,e])}function l(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(n.Provider,{value:c},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2939e2fe.b66815f2.js b/assets/js/2939e2fe.b66815f2.js new file mode 100644 index 000000000..17290d1db --- /dev/null +++ b/assets/js/2939e2fe.b66815f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6794],{7912:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"api/@ima/core/type-aliases/RouteController","title":"Type Alias: RouteController","description":"RouteController: keyof OCAliasMap \\\\| Constructor\\\\\\\\> \\\\| AbstractConstructor\\\\\\\\>","source":"@site/../docs/api/@ima/core/type-aliases/RouteController.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/RouteController","permalink":"/api/@ima/core/type-aliases/RouteController","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/RouteController.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Resource","permalink":"/api/@ima/core/type-aliases/Resource"},"next":{"title":"Type Alias: RouteParams\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/RouteParams"}}');var s=r(2540),a=r(3023);const n={},c="Type Alias: RouteController",i={},l=[];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"type-alias-routecontroller",children:"Type Alias: RouteController"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"RouteController"}),": keyof ",(0,s.jsx)(t.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,s.jsx)(t.code,{children:"OCAliasMap"})})," | ",(0,s.jsx)(t.code,{children:"Constructor"}),"<",(0,s.jsx)(t.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(t.code,{children:"Controller"})}),"<",(0,s.jsx)(t.code,{children:"any"}),">> | ",(0,s.jsx)(t.code,{children:"AbstractConstructor"}),"<",(0,s.jsx)(t.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(t.code,{children:"Controller"})}),"<",(0,s.jsx)(t.code,{children:"any"}),">>"]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L15",children:"packages/core/src/router/AbstractRoute.ts:15"})]})]})}function d(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},3023:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>c});var o=r(3696);const s={},a=o.createContext(s);function n(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2a1789c8.6b0a7a29.js b/assets/js/2a1789c8.6b0a7a29.js new file mode 100644 index 000000000..55244cd37 --- /dev/null +++ b/assets/js/2a1789c8.6b0a7a29.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3192],{3592:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/dev-utils/interfaces/LoggerOptions","title":"Interface: LoggerOptions","description":"Defined in4","source":"@site/../docs/api/@ima/dev-utils/interfaces/LoggerOptions.md","sourceDirName":"api/@ima/dev-utils/interfaces","slug":"/api/@ima/dev-utils/interfaces/LoggerOptions","permalink":"/api/@ima/dev-utils/interfaces/LoggerOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/interfaces/LoggerOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: FragmentLine","permalink":"/api/@ima/dev-utils/interfaces/FragmentLine"},"next":{"title":"Type Alias: ParsedErrorData","permalink":"/api/@ima/dev-utils/type-aliases/ParsedErrorData"}}');var t=s(2540),r=s(3023);const a={},c="Interface: LoggerOptions",o={},l=[{value:"Properties",id:"properties",level:2},{value:"elapsed()?",id:"elapsed",level:3},{value:"Returns",id:"returns",level:4},{value:"newLine?",id:"newline",level:3},{value:"trackTime?",id:"tracktime",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"interface-loggeroptions",children:"Interface: LoggerOptions"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L4",children:"logger.ts:4"})]}),"\n",(0,t.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"elapsed",children:"elapsed()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"elapsed"}),": () => ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L7",children:"logger.ts:7"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"newline",children:"newLine?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"newLine"}),": ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L6",children:"logger.ts:6"})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"tracktime",children:"trackTime?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"trackTime"}),": ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L5",children:"logger.ts:5"})]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>c});var i=s(3696);const t={},r=i.createContext(t);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2aec711d.250dfd74.js b/assets/js/2aec711d.250dfd74.js new file mode 100644 index 000000000..675cf4db5 --- /dev/null +++ b/assets/js/2aec711d.250dfd74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3923],{466:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/core/classes/ComponentUtils","title":"Class: ComponentUtils","description":"Defined in4","source":"@site/../docs/api/@ima/core/classes/ComponentUtils.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ComponentUtils","permalink":"/api/@ima/core/classes/ComponentUtils","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ComponentUtils.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ClientWindow","permalink":"/api/@ima/core/classes/ClientWindow"},"next":{"title":"Class: abstract Controller\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/Controller"}}');var i=n(2540),t=n(3023);const c={},l="Class: ComponentUtils",a={},d=[{value:"Constructors",id:"constructors",level:2},{value:"new ComponentUtils()",id:"new-componentutils",level:3},{value:"Parameters",id:"parameters",level:4},{value:"oc",id:"oc",level:5},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"_createUtilityInstance()",id:"_createutilityinstance",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"alias",id:"alias",level:5},{value:"utilityClass",id:"utilityclass",level:5},{value:"Returns",id:"returns-1",level:4},{value:"getReferrers()",id:"getreferrers",level:3},{value:"Returns",id:"returns-2",level:4},{value:"getUtils()",id:"getutils",level:3},{value:"Returns",id:"returns-3",level:4},{value:"register()",id:"register",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"name",id:"name",level:5},{value:"componentUtilityClass?",id:"componentutilityclass",level:5},{value:"referrer?",id:"referrer",level:5},{value:"Returns",id:"returns-4",level:4}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-componentutils",children:"Class: ComponentUtils"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/ComponentUtils.ts#L4",children:"packages/core/src/page/renderer/ComponentUtils.ts:4"})]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-componentutils",children:"new ComponentUtils()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new ComponentUtils"}),"(",(0,i.jsx)(s.code,{children:"oc"}),"): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ComponentUtils",children:(0,i.jsx)(s.code,{children:"ComponentUtils"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/ComponentUtils.ts#L31",children:"packages/core/src/page/renderer/ComponentUtils.ts:31"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes the registry used for managing component utils."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"oc",children:"oc"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,i.jsx)(s.code,{children:"ObjectContainer"})})}),"\n",(0,i.jsx)(s.p,{children:"The application's dependency injector - the\nobject container."}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ComponentUtils",children:(0,i.jsx)(s.code,{children:"ComponentUtils"})})}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"_createutilityinstance",children:"_createUtilityInstance()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_createUtilityInstance"}),"(",(0,i.jsx)(s.code,{children:"alias"}),", ",(0,i.jsx)(s.code,{children:"utilityClass"}),"): ",(0,i.jsx)(s.code,{children:"any"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/ComponentUtils.ts#L104",children:"packages/core/src/page/renderer/ComponentUtils.ts:104"})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"alias",children:"alias"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.h5,{id:"utilityclass",children:"utilityClass"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependency",children:(0,i.jsx)(s.code,{children:"Dependency"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"any"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getreferrers",children:"getReferrers()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getReferrers"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,i.jsx)(s.code,{children:"StringParameters"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/ComponentUtils.ts#L100",children:"packages/core/src/page/renderer/ComponentUtils.ts:100"})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,i.jsx)(s.code,{children:"StringParameters"})})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getutils",children:"getUtils()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getUtils"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,i.jsx)(s.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/ComponentUtils.ts#L80",children:"packages/core/src/page/renderer/ComponentUtils.ts:80"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns object containing all registered utilities"}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,i.jsx)(s.code,{children:"Utils"})})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"register",children:"register()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"register"}),"<",(0,i.jsx)(s.code,{children:"T"}),">(",(0,i.jsx)(s.code,{children:"name"}),", ",(0,i.jsx)(s.code,{children:"componentUtilityClass"}),"?, ",(0,i.jsx)(s.code,{children:"referrer"}),"?): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/ComponentUtils.ts#L38",children:"packages/core/src/page/renderer/ComponentUtils.ts:38"})]}),"\n",(0,i.jsx)(s.p,{children:"Registers single utility class or multiple classes in alias->class mapping."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"T"})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"name",children:"name"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"string"})," | {} | ",(0,i.jsx)(s.code,{children:"Constructor"}),"<",(0,i.jsx)(s.code,{children:"T"}),"> & ",(0,i.jsx)(s.code,{children:"WithDependencies"})," | ",(0,i.jsx)(s.code,{children:"AbstractConstructor"}),"<",(0,i.jsx)(s.code,{children:"T"}),"> & ",(0,i.jsx)(s.code,{children:"Partial"}),"<",(0,i.jsx)(s.code,{children:"WithDependencies"}),"> | ",(0,i.jsx)(s.code,{children:"Function"})," & ",(0,i.jsx)(s.code,{children:"object"})," & ",(0,i.jsx)(s.code,{children:"Partial"}),"<",(0,i.jsx)(s.code,{children:"WithDependencies"}),"> | [",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,i.jsx)(s.code,{children:"OCInjectable"})}),"<",(0,i.jsx)(s.code,{children:"T"}),">, { ",(0,i.jsx)(s.code,{children:"optional"}),": ",(0,i.jsx)(s.code,{children:"boolean"}),"; }]"]}),"\n",(0,i.jsx)(s.h5,{id:"componentutilityclass",children:"componentUtilityClass?"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependency",children:(0,i.jsx)(s.code,{children:"Dependency"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.h5,{id:"referrer",children:"referrer?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})})]})}function h(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>l});var r=n(3696);const i={},t=r.createContext(i);function c(e){const s=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),r.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2b78a965.0d39465f.js b/assets/js/2b78a965.0d39465f.js new file mode 100644 index 000000000..27f9fcad9 --- /dev/null +++ b/assets/js/2b78a965.0d39465f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5671],{1947:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/AsyncRouteController","title":"Type Alias: AsyncRouteController","description":"AsyncRouteController: WithAsync\\\\","source":"@site/../docs/api/@ima/core/type-aliases/AsyncRouteController.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/AsyncRouteController","permalink":"/api/@ima/core/type-aliases/AsyncRouteController","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/AsyncRouteController.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: AppSettings","permalink":"/api/@ima/core/type-aliases/AppSettings"},"next":{"title":"Type Alias: AsyncRouteView","permalink":"/api/@ima/core/type-aliases/AsyncRouteView"}}');var n=o(2540),r=o(3023);const a={},c="Type Alias: AsyncRouteController",i={},l=[];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"type-alias-asyncroutecontroller",children:"Type Alias: AsyncRouteController"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"AsyncRouteController"}),": ",(0,n.jsx)(t.code,{children:"WithAsync"}),"<",(0,n.jsx)(t.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,n.jsx)(t.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L27",children:"packages/core/src/router/AbstractRoute.ts:27"})]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},3023:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>c});var s=o(3696);const n={},r=s.createContext(n);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c4916d9.419c161a.js b/assets/js/2c4916d9.419c161a.js new file mode 100644 index 000000000..94ac9c379 --- /dev/null +++ b/assets/js/2c4916d9.419c161a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6931],{8612:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>_,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_CHROME","description":"const RE\\\\_VALID\\\\_FRAME\\\\_CHROME: RegExp","source":"@site/../docs/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME.md","sourceDirName":"api/@ima/dev-utils/variables","slug":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","permalink":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: RE\\\\_SOURCE\\\\_MAPPING\\\\_URL","permalink":"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL"},"next":{"title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX","permalink":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX"}}');var i=a(2540),n=a(3023);const r={},o="Variable: RE_VALID_FRAME_CHROME",c={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"variable-re_valid_frame_chrome",children:"Variable: RE_VALID_FRAME_CHROME"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"const"})," ",(0,i.jsx)(t.strong,{children:"RE_VALID_FRAME_CHROME"}),": ",(0,i.jsx)(t.code,{children:"RegExp"})]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Defined in: ",(0,i.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/helpers.ts#L2",children:"helpers.ts:2"})]})]})}function _(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>r,x:()=>o});var s=a(3696);const i={},n=s.createContext(i);function r(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c6faea6.1f0a4f61.js b/assets/js/2c6faea6.1f0a4f61.js new file mode 100644 index 000000000..fe6470c7a --- /dev/null +++ b/assets/js/2c6faea6.1f0a4f61.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3205],{580:(e,s,c)=>{c.r(s),c.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/interfaces/Utils","title":"Interface: Utils","description":"Defined in34","source":"@site/../docs/api/@ima/core/interfaces/Utils.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/Utils","permalink":"/api/@ima/core/interfaces/Utils","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/Utils.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Settings","permalink":"/api/@ima/core/interfaces/Settings"},"next":{"title":"Interface: WindowCustomEventsMap","permalink":"/api/@ima/core/interfaces/WindowCustomEventsMap"}}');var r=c(2540),i=c(3023);const t={},a="Interface: Utils",l={},d=[{value:"Properties",id:"properties",level:2},{value:"$Dictionary",id:"dictionary",level:3},{value:"$Dispatcher",id:"dispatcher",level:3},{value:"$EventBus",id:"eventbus",level:3},{value:"$Helper",id:"helper",level:3},{value:"$Http",id:"http",level:3},{value:"$Observable",id:"observable",level:3},{value:"$PageStateManager",id:"pagestatemanager",level:3},{value:"$Router",id:"router",level:3},{value:"$Settings",id:"settings",level:3},{value:"$Window",id:"window",level:3}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"interface-utils",children:"Interface: Utils"})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L34",children:"packages/core/src/types.ts:34"})]}),"\n",(0,r.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(s.h3,{id:"dictionary",children:"$Dictionary"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Dictionary"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,r.jsx)(s.code,{children:"Dictionary"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L35",children:"packages/core/src/types.ts:35"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"dispatcher",children:"$Dispatcher"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Dispatcher"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,r.jsx)(s.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L36",children:"packages/core/src/types.ts:36"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"eventbus",children:"$EventBus"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$EventBus"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/EventBus",children:(0,r.jsx)(s.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L37",children:"packages/core/src/types.ts:37"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"helper",children:"$Helper"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Helper"}),": ",(0,r.jsx)(s.code,{children:"__module"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L39",children:"packages/core/src/types.ts:39"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"http",children:"$Http"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Http"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,r.jsx)(s.code,{children:"HttpAgent"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L40",children:"packages/core/src/types.ts:40"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"observable",children:"$Observable"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Observable"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,r.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L38",children:"packages/core/src/types.ts:38"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"pagestatemanager",children:"$PageStateManager"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$PageStateManager"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,r.jsx)(s.code,{children:"PageStateManager"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L41",children:"packages/core/src/types.ts:41"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"router",children:"$Router"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Router"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Router",children:(0,r.jsx)(s.code,{children:"Router"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L42",children:"packages/core/src/types.ts:42"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"settings",children:"$Settings"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Settings"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,r.jsx)(s.code,{children:"Settings"})})," & ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/BootSettings",children:(0,r.jsx)(s.code,{children:"BootSettings"})})," & ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L44",children:"packages/core/src/types.ts:44"})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"window",children:"$Window"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"$Window"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,r.jsx)(s.code,{children:"Window"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L43",children:"packages/core/src/types.ts:43"})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,s,c)=>{c.d(s,{R:()=>t,x:()=>a});var n=c(3696);const r={},i=n.createContext(r);function t(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c83167a.666a946f.js b/assets/js/2c83167a.666a946f.js deleted file mode 100644 index deee947ad..000000000 --- a/assets/js/2c83167a.666a946f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6032],{5680:(e,t,a)=>{a.d(t,{xA:()=>d,yg:()=>c});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),g=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=g(e.components);return n.createElement(s.Provider,{value:t},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},o=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),y=g(a),o=r,c=y["".concat(s,".").concat(o)]||y[o]||m[o]||i;return a?n.createElement(c,l(l({ref:t},d),{},{components:a})):n.createElement(c,l({ref:t},d))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=o;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[y]="string"==typeof e?e:r,l[1]=p;for(var g=2;g<i;g++)l[g]=a[g];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}o.displayName="MDXCreateElement"},8268:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>g});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.Dispatcher",title:"Class: Dispatcher",sidebar_label:"@ima/core.Dispatcher",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.Dispatcher",id:"api/classes/ima_core.Dispatcher",title:"Class: Dispatcher",description:"@ima/core.Dispatcher",source:"@site/../docs/api/classes/ima_core.Dispatcher.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Dispatcher",permalink:"/api/classes/ima_core.Dispatcher",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Dispatcher",title:"Class: Dispatcher",sidebar_label:"@ima/core.Dispatcher",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Dictionary",permalink:"/api/classes/ima_core.Dictionary"},next:{title:"@ima/core.DispatcherImpl",permalink:"/api/classes/ima_core.DispatcherImpl"}},s={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"fire",id:"fire",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"listen",id:"listen",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"listenAll",id:"listenall",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"unlistenAll",id:"unlistenall",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-10",level:4}],d={toc:g},y="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(y,(0,n.A)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Dispatcher"),(0,r.yg)("p",null,"A Dispatcher is a utility that manager event listeners registered for events\nand allows distributing (firing) events to the listeners registered for the\ngiven event."),(0,r.yg)("p",null,"The dispatcher provides a single-node event bus and is usually used to\npropagate events from controllers to UI components when modifying/passing\nthe state is impractical for any reason."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Dispatcher"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Dispatcher"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"Deregisters all event listeners currently registered with this\ndispatcher."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L31"},"packages/core/src/event/Dispatcher.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"Fires a new event of the specified name, carrying the provided data."),(0,r.yg)("p",null,"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."),(0,r.yg)("p",null,"It will also execute all event listeners registered to listen to all events."),(0,r.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,r.yg)("inlineCode",{parentName:"td"},"E"),"]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L158"},"packages/core/src/event/Dispatcher.ts:158")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L162"},"packages/core/src/event/Dispatcher.ts:162")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specified\nevent is fired on this dispatcher."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the data passed with the event as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener for the\nsame event and with the same scope multiple times has no effect."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to listen for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,r.yg)("inlineCode",{parentName:"td"},"E"),"]",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword will be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L52"},"packages/core/src/event/Dispatcher.ts:52")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L57"},"packages/core/src/event/Dispatcher.ts:57")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listenall"},"listenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listenAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when any event is fired\non this dispatcher."),(0,r.yg)("p",null,"When any event is fired, the event listener will be executed with the data\npassed with the event as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener with the same\nscope multiple times has no effect."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"DispatcherListenerAll"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,r.yg)("inlineCode",{parentName:"td"},"E"),"]",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword will be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L86"},"packages/core/src/event/Dispatcher.ts:86")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"DispatcherListenerAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L90"},"packages/core/src/event/Dispatcher.ts:90")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"Deregisters the provided event listener, so it will no longer be\nexecuted with the specified scope when the specified event is fired."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which the listener should be deregistered.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,r.yg)("inlineCode",{parentName:"td"},"E"),"]",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword would be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L106"},"packages/core/src/event/Dispatcher.ts:106")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L111"},"packages/core/src/event/Dispatcher.ts:111")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlistenall"},"unlistenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlistenAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"Deregisters the provided event listener, so it will no longer be\nexecuted when any event is fired."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"DispatcherListenerAll"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,r.yg)("inlineCode",{parentName:"td"},"E"),"]",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener function to deregister for all events.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional. The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword would be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",null,"This dispatcher instance."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L132"},"packages/core/src/event/Dispatcher.ts:132")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlistenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"DispatcherListenerAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Dispatcher.ts#L136"},"packages/core/src/event/Dispatcher.ts:136")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2ca52c80.a2aa5422.js b/assets/js/2ca52c80.a2aa5422.js deleted file mode 100644 index 3422cd6cc..000000000 --- a/assets/js/2ca52c80.a2aa5422.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4857],{5680:(e,t,a)=>{a.d(t,{xA:()=>d,yg:()=>m});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),p=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},d=function(e){var t=p(e.components);return n.createElement(o.Provider,{value:t},e.children)},g="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),g=p(a),c=r,m=g["".concat(o,".").concat(c)]||g[c]||y[c]||i;return a?n.createElement(m,s(s({ref:t},d),{},{components:a})):n.createElement(m,s({ref:t},d))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,s=new Array(i);s[0]=c;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[g]="string"==typeof e?e:r,s[1]=l;for(var p=2;p<i;p++)s[p]=a[p];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}c.displayName="MDXCreateElement"},1690:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>s,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.AbstractExtension",title:"Class: AbstractExtension<S, R, SS>",sidebar_label:"@ima/core.AbstractExtension",custom_edit_url:null},s=void 0,l={unversionedId:"api/classes/ima_core.AbstractExtension",id:"api/classes/ima_core.AbstractExtension",title:"Class: AbstractExtension<S, R, SS>",description:"@ima/core.AbstractExtension",source:"@site/../docs/api/classes/ima_core.AbstractExtension.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.AbstractExtension",permalink:"/api/classes/ima_core.AbstractExtension",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AbstractExtension",title:"Class: AbstractExtension<S, R, SS>",sidebar_label:"@ima/core.AbstractExtension",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AbstractExecution",permalink:"/api/classes/ima_core.AbstractExecution"},next:{title:"@ima/core.AbstractPageManager",permalink:"/api/classes/ima_core.AbstractPageManager"}},o={},p=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Properties",id:"properties",level:2},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"_partialStateSymbol",id:"_partialstatesymbol",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_usingStateManager",id:"_usingstatemanager",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"params",id:"params",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"status",id:"status",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"$dependencies",id:"dependencies",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"$name",id:"name",level:3},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"Methods",id:"methods",level:2},{value:"activate",id:"activate",level:3},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"beginStateTransaction",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"cancelStateTransaction",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"clearPartialState",id:"clearpartialstate",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"commitStateTransaction",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"deactivate",id:"deactivate",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"getAllowedStateKeys",id:"getallowedstatekeys",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"getPartialState",id:"getpartialstate",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getRouteParams",id:"getrouteparams",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"load",id:"load",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"setPageStateManager",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"setPartialState",id:"setpartialstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"setRouteParams",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"switchToPartialState",id:"switchtopartialstate",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"switchToStateManager",id:"switchtostatemanager",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-21",level:4},{value:"Defined in",id:"defined-in-27",level:4}],d={toc:p},g="wrapper";function y(e){let{components:t,...a}=e;return(0,r.yg)(g,(0,n.A)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AbstractExtension"),(0,r.yg)("p",null,"Abstract extension"),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"AbstractExtension"))))),(0,r.yg)("h2",{id:"indexable"},"Indexable"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"PropertyKey"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"any")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbuseventhandler"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusEventHandler"))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractExtension"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","()"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = ",(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#constructor"},"constructor")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_pagestatemanager"},"_","pageStateManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageStateManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",null,"State manager."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L24"},"packages/core/src/extension/AbstractExtension.ts:24")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_partialstatesymbol"},"_","partialStateSymbol"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","partialStateSymbol"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"symbol")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L30"},"packages/core/src/extension/AbstractExtension.ts:30")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_usingstatemanager"},"_","usingStateManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","usingStateManager"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"false")),(0,r.yg)("p",null,"Flag indicating whether the PageStateManager should be used instead\nof partial state."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L29"},"packages/core/src/extension/AbstractExtension.ts:29")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"params"},"params"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"params"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"R")),(0,r.yg)("p",null,"The route parameters extracted from the current route."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L39"},"packages/core/src/extension/AbstractExtension.ts:39")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"status"},"status"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"status"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"200")),(0,r.yg)("p",null,"The HTTP response code to send to the client."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L35"},"packages/core/src/extension/AbstractExtension.ts:35")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#$dependencies"},"$dependencies")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L17"},"packages/core/src/extension/AbstractExtension.ts:17")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"name"},"$name"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$name"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#$name"},"$name")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L16"},"packages/core/src/extension/AbstractExtension.ts:16")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"activate"},"activate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"activate"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Callback for activating the extension in the UI. This is the last\nmethod invoked during controller (and extensions) initialization, called\nafter all the promises returned from the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#load"},"load")," method have\nbeen resolved and the controller has configured the meta manager."),(0,r.yg)("p",null,"The extension may register any React and DOM event listeners in this\nmethod. The extension may start receiving event bus event after this\nmethod completes."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#activate"},"activate")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L58"},"packages/core/src/extension/AbstractExtension.ts:58")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"beginstatetransaction"},"beginStateTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"beginStateTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,r.yg)("p",null,"Note that call to ",(0,r.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#beginstatetransaction"},"beginStateTransaction")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L109"},"packages/core/src/extension/AbstractExtension.ts:109")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cancelstatetransaction"},"cancelStateTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cancelStateTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Cancels ongoing state transaction. Uncommitted state changes are lost."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#cancelstatetransaction"},"cancelStateTransaction")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L127"},"packages/core/src/extension/AbstractExtension.ts:127")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clearpartialstate"},"clearPartialState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clearPartialState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Clears the current partial state of the extension and sets it value to empty object."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#clearpartialstate"},"clearPartialState")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L155"},"packages/core/src/extension/AbstractExtension.ts:155")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"commitstatetransaction"},"commitStateTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"commitStateTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#commitstatetransaction"},"commitStateTransaction")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L118"},"packages/core/src/extension/AbstractExtension.ts:118")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"deactivate"},"deactivate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"deactivate"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Callback for deactivating the extension in the UI. This is the first\nmethod invoked during extension deinitialization. This usually happens\nwhen the user navigates to a different URL."),(0,r.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#activate"},"activate"),"\nmethod."),(0,r.yg)("p",null,"The extension should deregister listeners registered and release all\nresources obtained in the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#activate"},"activate")," method."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-7"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#deactivate"},"deactivate")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L65"},"packages/core/src/extension/AbstractExtension.ts:65")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."),(0,r.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#init"},"init"),"\nmethod."),(0,r.yg)("p",null,"The extension should release all resources obtained in the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#init"},"init")," method. The extension must release any resources\nthat might not be released automatically when the extensions's instance\nis destroyed by the garbage collector."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-8"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#destroy"},"destroy")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L51"},"packages/core/src/extension/AbstractExtension.ts:51")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getallowedstatekeys"},"getAllowedStateKeys"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getAllowedStateKeys"),"(): keyof ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,r.yg)("p",null,"Returns array of allowed state keys for extension."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,"keyof ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,r.yg)("h4",{id:"overrides-9"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#getallowedstatekeys"},"getAllowedStateKeys")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L204"},"packages/core/src/extension/AbstractExtension.ts:204")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L197"},"packages/core/src/extension/AbstractExtension.ts:197")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getpartialstate"},"getPartialState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getPartialState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",null,"Returns the current partial state of the extension."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",null,"The current partial state of the extension."),(0,r.yg)("h4",{id:"overrides-10"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#getpartialstate"},"getPartialState")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L148"},"packages/core/src/extension/AbstractExtension.ts:148")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getrouteparams"},"getRouteParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getRouteParams"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"R")),(0,r.yg)("p",null,"Returns the current route parameters."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"R")),(0,r.yg)("p",null,"The current route parameters."),(0,r.yg)("h4",{id:"overrides-11"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#getrouteparams"},"getRouteParams")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L169"},"packages/core/src/extension/AbstractExtension.ts:169")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getstate"},"getState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"Returns the current state of the controller using this extension."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"The current state of the controller."),(0,r.yg)("h4",{id:"overrides-12"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#getstate"},"getState")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L98"},"packages/core/src/extension/AbstractExtension.ts:98")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Callback for initializing the controller extension after the route\nparameters have been set on this extension."),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-13"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#init"},"init")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L44"},"packages/core/src/extension/AbstractExtension.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"load"},"load"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"load"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"Callback the extension uses to request the resources it needs to render\nits related parts of the view. This method is invoked after the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#init"},"init")," method."),(0,r.yg)("p",null,"The extension should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."),(0,r.yg)("p",null,"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."),(0,r.yg)("p",null,"The IMA will use the object to set the state of the controller."),(0,r.yg)("p",null,"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,r.yg)("h4",{id:"overrides-14"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#load"},"load")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L72"},"packages/core/src/extension/AbstractExtension.ts:72")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setpagestatemanager"},"setPageStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setPageStateManager"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"pageStateManager?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the state manager used to manage the controller's state.."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageStateManager?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"SS"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current state manager to use.")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-15"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#setpagestatemanager"},"setPageStateManager")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L176"},"packages/core/src/extension/AbstractExtension.ts:176")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setpartialstate"},"setPartialState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setPartialState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"partialStatePatch"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Patches the partial state of the extension. The extension is able\nduring its load and update phase receive state from active controller\nusing this extension and from previously loaded/updated extensions."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"partialStatePatch")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-16"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#setpartialstate"},"setPartialState")),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L136"},"packages/core/src/extension/AbstractExtension.ts:136")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setrouteparams"},"setRouteParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setRouteParams"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the current route parameters. This method is invoked before the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#init"},"init")," method."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current route parameters.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-17"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#setrouteparams"},"setRouteParams")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L162"},"packages/core/src/extension/AbstractExtension.ts:162")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"statePatch"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Patches the state of the controller using this extension by using the\nprovided object by copying the provided patch object fields to the\ncontroller's state object."),(0,r.yg)("p",null,"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."),(0,r.yg)("p",null,"Note that the extension may modify only the fields of the state that it\nhas specified by its ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#getallowedstatekeys"},"getAllowedStateKeys")," method."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"statePatch")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-18"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#setstate"},"setState")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L89"},"packages/core/src/extension/AbstractExtension.ts:89")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"switchtopartialstate"},"switchToPartialState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"switchToPartialState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Disables using PageStateManager for getting state."),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-19"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#switchtopartialstate"},"switchToPartialState")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L190"},"packages/core/src/extension/AbstractExtension.ts:190")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"switchtostatemanager"},"switchToStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"switchToStateManager"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Enables using PageStateManager for getting state."),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-20"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#switchtostatemanager"},"switchToStateManager")),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L183"},"packages/core/src/extension/AbstractExtension.ts:183")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"update"},"update"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"update"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevParams?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"Callback for updating the extension after a route update. This method\nis invoked if the current route has the ",(0,r.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," flag set to ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,r.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option of the current route is a callback and\nreturned ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("p",null,"The method must return an object with the same semantics as the result\nof the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#load"},"load")," method. The controller's state will then be\npatched by the returned object."),(0,r.yg)("p",null,"The other extension lifecycle callbacks (",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#init"},"init"),",\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#load"},"load"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#activate"},"activate"),",\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension#deactivate"},"deactivate"),", Extension#deinit) are not call in\ncase this method is used."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevParams")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Previous route parameters.")))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,r.yg)("h4",{id:"overrides-21"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},"Extension"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#update"},"update")),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/AbstractExtension.ts#L82"},"packages/core/src/extension/AbstractExtension.ts:82")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2d3b3d7d.a268d058.js b/assets/js/2d3b3d7d.a268d058.js new file mode 100644 index 000000000..c885270e7 --- /dev/null +++ b/assets/js/2d3b3d7d.a268d058.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3382],{5960:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>c,default:()=>m,frontMatter:()=>t,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"api/@ima/plugin-cli/functions/preprocessTransformer","title":"Function: preprocessTransformer()","description":"preprocessTransformer(options): Transformer","source":"@site/../docs/api/@ima/plugin-cli/functions/preprocessTransformer.md","sourceDirName":"api/@ima/plugin-cli/functions","slug":"/api/@ima/plugin-cli/functions/preprocessTransformer","permalink":"/api/@ima/plugin-cli/functions/preprocessTransformer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/functions/preprocessTransformer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"index","permalink":"/api/@ima/plugin-cli/"},"next":{"title":"Function: swcTransformer()","permalink":"/api/@ima/plugin-cli/functions/swcTransformer"}}');var i=n(2540),o=n(3023);const t={},c="Function: preprocessTransformer()",a={},p=[{value:"Parameters",id:"parameters",level:2},{value:"options",id:"options",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"function-preprocesstransformer",children:"Function: preprocessTransformer()"})}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"preprocessTransformer"}),"(",(0,i.jsx)(r.code,{children:"options"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/plugin-cli/type-aliases/Transformer",children:(0,i.jsx)(r.code,{children:"Transformer"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/transformers/preprocessTransformer.ts#L11",children:"transformers/preprocessTransformer.ts:11"})]}),"\n",(0,i.jsx)(r.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h3,{id:"options",children:"options"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"PreprocessTransformerOptions"})}),"\n",(0,i.jsx)(r.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/plugin-cli/type-aliases/Transformer",children:(0,i.jsx)(r.code,{children:"Transformer"})})})]})}function m(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>t,x:()=>c});var s=n(3696);const i={},o=s.createContext(i);function t(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2d4b099c.5c656169.js b/assets/js/2d4b099c.5c656169.js new file mode 100644 index 000000000..20f712297 --- /dev/null +++ b/assets/js/2d4b099c.5c656169.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[34],{2400:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"api/@ima/core/enumerations/BindingState","title":"Enumeration: BindingState","description":"Defined in1","source":"@site/../docs/api/@ima/core/enumerations/BindingState.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/BindingState","permalink":"/api/@ima/core/enumerations/BindingState","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/BindingState.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: ActionTypes","permalink":"/api/@ima/core/enumerations/ActionTypes"},"next":{"title":"Enumeration: HttpStatusCode","permalink":"/api/@ima/core/enumerations/HttpStatusCode"}}');var s=t(2540),r=t(3023);const a={},o="Enumeration: BindingState",c={},d=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"App",id:"app",level:3},{value:"IMA",id:"ima",level:3},{value:"Returns",id:"returns",level:4},{value:"Plugin",id:"plugin",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"enumeration-bindingstate",children:"Enumeration: BindingState"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/BindingState.ts#L1",children:"packages/core/src/oc/BindingState.ts:1"})]}),"\n",(0,s.jsx)(n.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,s.jsx)(n.h3,{id:"app",children:"App"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"App"}),": ",(0,s.jsx)(n.code,{children:'"app"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/BindingState.ts#L49",children:"packages/core/src/oc/BindingState.ts:49"})]}),"\n",(0,s.jsx)(n.p,{children:"Constant for app binding state."}),"\n",(0,s.jsx)(n.p,{children:"When the object container is in app binding state, it is possible\nto register new aliases using the bind() method and register\nnew constant using the constant() method, or override the\ndefault class dependencies of any already-configured class using the\ninject() method (classes that were not configured yet may be\nconfigured using the inject() method or provide()\nmethod)."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"ima",children:"IMA"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"IMA"}),": ",(0,s.jsx)(n.code,{children:'"ima.core"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/BindingState.ts#L36",children:"packages/core/src/oc/BindingState.ts:36"})]}),"\n",(0,s.jsx)(n.p,{children:"Constant for IMA binding state."}),"\n",(0,s.jsx)(n.p,{children:"When the object container is in ima binding state, it is possible\nto register new aliases using the bind() method and register\nnew constant using the constant() method, or override the\ndefault class dependencies of any already-configured class using the\ninject() method (classes that were not configured yet may be\nconfigured using the inject() method or provide()\nmethod)."}),"\n",(0,s.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:"The IMA binding state."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"plugin",children:"Plugin"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Plugin"}),": ",(0,s.jsx)(n.code,{children:'"plugin"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/BindingState.ts#L21",children:"packages/core/src/oc/BindingState.ts:21"})]}),"\n",(0,s.jsx)(n.p,{children:"Constant for plugin binding state."}),"\n",(0,s.jsx)(n.p,{children:"When the object container is in plugin binding state, it is impossible\nto register new aliases using the bind() method and register\nnew constant using the constant() method, or override the\ndefault class dependencies of any already-configured class using the\ninject() method (classes that were not configured yet may be\nconfigured using the inject() method or provide()\nmethod)."}),"\n",(0,s.jsx)(n.p,{children:"This prevents the unprivileged code (e.g. 3rd party plugins) from\noverriding the default dependency configuration provided by ima, or\noverriding the configuration of a 3rd party plugin by another 3rd party\nplugin."}),"\n",(0,s.jsx)(n.p,{children:"The application itself has always access to the unlocked object\ncontainer."})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(3696);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2d78be1f.06074399.js b/assets/js/2d78be1f.06074399.js new file mode 100644 index 000000000..3f8dc342b --- /dev/null +++ b/assets/js/2d78be1f.06074399.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8242],{3174:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/RouterMiddleware","title":"Type Alias: RouterMiddleware()","description":"RouterMiddleware: (params, locals, next?) => UnknownParameters \\\\| void \\\\| Promise\\\\","source":"@site/../docs/api/@ima/core/type-aliases/RouterMiddleware.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/RouterMiddleware","permalink":"/api/@ima/core/type-aliases/RouterMiddleware","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/RouterMiddleware.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: RouteView","permalink":"/api/@ima/core/type-aliases/RouteView"},"next":{"title":"Type Alias: SerializedCacheEntry\\\\<V\\\\>","permalink":"/api/@ima/core/type-aliases/SerializedCacheEntry"}}');var i=a(2540),n=a(3023);const t={},o="Type Alias: RouterMiddleware()",c={},d=[{value:"Parameters",id:"parameters",level:2},{value:"params",id:"params",level:3},{value:"locals",id:"locals",level:3},{value:"next?",id:"next",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"type-alias-routermiddleware",children:"Type Alias: RouterMiddleware()"})}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"RouterMiddleware"}),": (",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"locals"}),", ",(0,i.jsx)(r.code,{children:"next"}),"?) => ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})})," | ",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})})," | ",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L29",children:"packages/core/src/router/Router.ts:29"})]}),"\n",(0,i.jsx)(r.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h3,{id:"params",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.h3,{id:"locals",children:"locals"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.h3,{id:"next",children:"next?"}),"\n",(0,i.jsxs)(r.p,{children:["(",(0,i.jsx)(r.code,{children:"result"}),") => ",(0,i.jsx)(r.code,{children:"void"})]}),"\n",(0,i.jsx)(r.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})})," | ",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})})," | ",(0,i.jsx)(r.code,{children:"void"}),">"]})]})}function h(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,r,a)=>{a.d(r,{R:()=>t,x:()=>o});var s=a(3696);const i={},n=s.createContext(i);function t(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2dbe7023.000a8e60.js b/assets/js/2dbe7023.000a8e60.js new file mode 100644 index 000000000..ac62282c9 --- /dev/null +++ b/assets/js/2dbe7023.000a8e60.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7422],{4507:(e,r,c)=>{c.r(r),c.d(r,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"api/@ima/core/interfaces/RouteOptions","title":"Interface: RouteOptions","description":"Defined in58","source":"@site/../docs/api/@ima/core/interfaces/RouteOptions.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/RouteOptions","permalink":"/api/@ima/core/interfaces/RouteOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/RouteOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: RouteLocals","permalink":"/api/@ima/core/interfaces/RouteLocals"},"next":{"title":"Interface: Settings","permalink":"/api/@ima/core/interfaces/Settings"}}');var s=c(2540),o=c(3023);const i={},d="Interface: RouteOptions",t={},a=[{value:"Extends",id:"extends",level:2},{value:"Properties",id:"properties",level:2},{value:"autoScroll",id:"autoscroll",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"documentView",id:"documentview",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"extensions?",id:"extensions",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"headers?",id:"headers",level:3},{value:"httpStatus?",id:"httpstatus",level:3},{value:"managedRootView",id:"managedrootview",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"middlewares",id:"middlewares",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"onlyUpdate",id:"onlyupdate",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"viewAdapter",id:"viewadapter",level:3},{value:"Inherited from",id:"inherited-from-6",level:4}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"interface-routeoptions",children:"Interface: RouteOptions"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L58",children:"packages/core/src/router/Router.ts:58"})]}),"\n",(0,s.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})})}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"autoscroll",children:"autoScroll"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"autoScroll"}),": ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L36",children:"packages/core/src/router/Router.ts:36"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#autoscroll",children:(0,s.jsx)(r.code,{children:"autoScroll"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"documentview",children:"documentView"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"documentView"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L37",children:"packages/core/src/router/Router.ts:37"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#documentview",children:(0,s.jsx)(r.code,{children:"documentView"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"extensions",children:"extensions?"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"optional"})," ",(0,s.jsx)(r.strong,{children:"extensions"}),": (",(0,s.jsx)(r.code,{children:'"$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"$oc"'})," | ",(0,s.jsx)(r.code,{children:'"$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"$Env"'})," | ",(0,s.jsx)(r.code,{children:'"$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"$Request"'})," | ",(0,s.jsx)(r.code,{children:'"$Response"'})," | ",(0,s.jsx)(r.code,{children:'"$Window"'})," | ",(0,s.jsx)(r.code,{children:'"$Error"'})," | ",(0,s.jsx)(r.code,{children:'"$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"$Router"'})," | ",(0,s.jsx)(r.code,{children:'"$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"$Http"'})," | ",(0,s.jsx)(r.code,{children:'"$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:'"?$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"?$oc"'})," | ",(0,s.jsx)(r.code,{children:'"?$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"?$Env"'})," | ",(0,s.jsx)(r.code,{children:'"?$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"?$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"?$Request"'})," | ",(0,s.jsx)(r.code,{children:'"?$Response"'})," | ",(0,s.jsx)(r.code,{children:'"?$Window"'})," | ",(0,s.jsx)(r.code,{children:'"?$Error"'})," | ",(0,s.jsx)(r.code,{children:'"?$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"?$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"?$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"?$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"?$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"?$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"?$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"?$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"?$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"?$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"?$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"?$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"?$Router"'})," | ",(0,s.jsx)(r.code,{children:'"?$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"?$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"?$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"?$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"?$Http"'})," | ",(0,s.jsx)(r.code,{children:'"?$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`?$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:'"...?$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"...?$oc"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Env"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Request"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Response"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Window"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Error"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"...?$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"...?$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"...?$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...?$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"...?$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Router"'})," | ",(0,s.jsx)(r.code,{children:'"...?$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"...?$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"...?$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"...?$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Http"'})," | ",(0,s.jsx)(r.code,{children:'"...?$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`...?$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:'"...$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"...$oc"'})," | ",(0,s.jsx)(r.code,{children:'"...$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"...$Env"'})," | ",(0,s.jsx)(r.code,{children:'"...$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"...$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"...$Request"'})," | ",(0,s.jsx)(r.code,{children:'"...$Response"'})," | ",(0,s.jsx)(r.code,{children:'"...$Window"'})," | ",(0,s.jsx)(r.code,{children:'"...$Error"'})," | ",(0,s.jsx)(r.code,{children:'"...$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"...$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"...$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"...$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"...$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"...$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"...$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"...$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"...$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"...$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...$Router"'})," | ",(0,s.jsx)(r.code,{children:'"...$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"...$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"...$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"...$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"...$Http"'})," | ",(0,s.jsx)(r.code,{children:'"...$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`...$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">> | ",(0,s.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">> | [",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">> | ",(0,s.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">>, { ",(0,s.jsx)(r.code,{children:"optional"}),": ",(0,s.jsx)(r.code,{children:"true"}),"; }])[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L44",children:"packages/core/src/router/Router.ts:44"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#extensions",children:(0,s.jsx)(r.code,{children:"extensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"headers",children:"headers?"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"optional"})," ",(0,s.jsx)(r.strong,{children:"headers"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L59",children:"packages/core/src/router/Router.ts:59"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"httpstatus",children:"httpStatus?"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"optional"})," ",(0,s.jsx)(r.strong,{children:"httpStatus"}),": ",(0,s.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L60",children:"packages/core/src/router/Router.ts:60"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"managedrootview",children:"managedRootView"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"managedRootView"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L38",children:"packages/core/src/router/Router.ts:38"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#managedrootview",children:(0,s.jsx)(r.code,{children:"managedRootView"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"middlewares",children:"middlewares"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"middlewares"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,s.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L43",children:"packages/core/src/router/Router.ts:43"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#middlewares",children:(0,s.jsx)(r.code,{children:"middlewares"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"onlyupdate",children:"onlyUpdate"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"onlyUpdate"}),": ",(0,s.jsx)(r.code,{children:"boolean"})," | (",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"view"}),") => ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L39",children:"packages/core/src/router/Router.ts:39"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#onlyupdate",children:(0,s.jsx)(r.code,{children:"onlyUpdate"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"viewadapter",children:"viewAdapter"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"viewAdapter"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L42",children:"packages/core/src/router/Router.ts:42"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,s.jsx)(r.code,{children:"RouteFactoryOptions"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions#viewadapter",children:(0,s.jsx)(r.code,{children:"viewAdapter"})})]})]})}function h(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,r,c)=>{c.d(r,{R:()=>i,x:()=>d});var n=c(3696);const s={},o=n.createContext(s);function i(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2e35e39d.5d588a6c.js b/assets/js/2e35e39d.5d588a6c.js deleted file mode 100644 index bb867be19..000000000 --- a/assets/js/2e35e39d.5d588a6c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8839],{5680:(e,a,n)=>{n.d(a,{xA:()=>s,yg:()=>c});var t=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?i(Object(n),!0).forEach((function(a){r(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function d(e,a){if(null==e)return{};var n,t,r=function(e,a){if(null==e)return{};var n,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var g=t.createContext({}),p=function(e){var a=t.useContext(g),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},s=function(e){var a=p(e.components);return t.createElement(g.Provider,{value:a},e.children)},o="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},y=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),o=p(n),y=r,c=o["".concat(g,".").concat(y)]||o[y]||m[y]||i;return n?t.createElement(c,l(l({ref:a},s),{},{components:n})):t.createElement(c,l({ref:a},s))}));function c(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=y;var d={};for(var g in a)hasOwnProperty.call(a,g)&&(d[g]=a[g]);d.originalType=e,d[o]="string"==typeof e?e:r,l[1]=d;for(var p=2;p<i;p++)l[p]=n[p];return t.createElement.apply(null,l)}return t.createElement.apply(null,n)}y.displayName="MDXCreateElement"},4615:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>g,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>p});var t=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.PageMetaHandler",title:"Class: PageMetaHandler",sidebar_label:"@ima/core.PageMetaHandler",custom_edit_url:null},l=void 0,d={unversionedId:"api/classes/ima_core.PageMetaHandler",id:"api/classes/ima_core.PageMetaHandler",title:"Class: PageMetaHandler",description:"@ima/core.PageMetaHandler",source:"@site/../docs/api/classes/ima_core.PageMetaHandler.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageMetaHandler",permalink:"/api/classes/ima_core.PageMetaHandler",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageMetaHandler",title:"Class: PageMetaHandler",sidebar_label:"@ima/core.PageMetaHandler",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageManager",permalink:"/api/classes/ima_core.PageManager"},next:{title:"@ima/core.PageNavigationHandler",permalink:"/api/classes/ima_core.PageNavigationHandler"}},g={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"#managed",id:"managed",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"#metaManager",id:"metamanager",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"#window",id:"window",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"#sanitizeValue",id:"sanitizevalue",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"#selectMetaTags",id:"selectmetatags",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"#updateMetaAttributes",id:"updatemetaattributes",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"#updateMetaTag",id:"updatemetatag",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"handlePostManagedState",id:"handlepostmanagedstate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"handlePreManagedState",id:"handlepremanagedstate",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-12",level:4}],s={toc:p},o="wrapper";function m(e){let{components:a,...n}=e;return(0,r.yg)(o,(0,t.A)({},s,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageMetaHandler"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandler"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"PageMetaHandler"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new PageMetaHandler"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"window"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManager"),")"),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"window")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"metaManager")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager")))))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L21"},"packages/core/src/page/handler/PageMetaHandler.ts:21")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"managed"},"#managed"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#managed"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"false")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L15"},"packages/core/src/page/handler/PageMetaHandler.ts:15")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"metamanager"},"#metaManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#metaManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L14"},"packages/core/src/page/handler/PageMetaHandler.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"window"},"#window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L13"},"packages/core/src/page/handler/PageMetaHandler.ts:13")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): (typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))," ","|"," typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager")),")[]"),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,"(typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))," ","|"," typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager")),")[]"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L17"},"packages/core/src/page/handler/PageMetaHandler.ts:17")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"sanitizevalue"},"#sanitizeValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#sanitizeValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaValue")))))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L124"},"packages/core/src/page/handler/PageMetaHandler.ts:124")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"selectmetatags"},"#selectMetaTags"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#selectMetaTags"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"NodeList")),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"NodeList")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L128"},"packages/core/src/page/handler/PageMetaHandler.ts:128")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"updatemetaattributes"},"#updateMetaAttributes"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#updateMetaAttributes"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Update specified meta or link tags in DOM."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L59"},"packages/core/src/page/handler/PageMetaHandler.ts:59")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"updatemetatag"},"#updateMetaTag"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#updateMetaTag"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"iterator"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"tagName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"keyName"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Helper to update specific meta tags in page document."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metamanagerrecordkeys"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecordKeys")))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"iterator")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">","]",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Collection of meta records to update.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"tagName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},'"link"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"meta"')),(0,r.yg)("td",{parentName:"tr",align:"left"},"Tag name for the given collection.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"keyName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},'"name"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"rel"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"property"')),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L93"},"packages/core/src/page/handler/PageMetaHandler.ts:93")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#destroy"},"destroy")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L50"},"packages/core/src/page/handler/PageHandler.ts:50")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlepostmanagedstate"},"handlePostManagedState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handlePostManagedState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called after a PageManager finishes transition from previous page to\na new one."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#handlepostmanagedstate"},"handlePostManagedState")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L38"},"packages/core/src/page/handler/PageMetaHandler.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlepremanagedstate"},"handlePreManagedState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handlePreManagedState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called before a PageManager starts to transition from previous page to\na new one."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#handlepremanagedstate"},"handlePreManagedState")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageMetaHandler.ts#L31"},"packages/core/src/page/handler/PageMetaHandler.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the page handler."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#init"},"init")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L7"},"packages/core/src/page/handler/PageHandler.ts:7")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2ece5d09.234234f1.js b/assets/js/2ece5d09.234234f1.js deleted file mode 100644 index f793f8f04..000000000 --- a/assets/js/2ece5d09.234234f1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1894],{5680:(e,n,t)=>{t.d(n,{xA:()=>p,yg:()=>g});var a=t(6540);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var u=a.createContext({}),s=function(e){var n=a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=s(e.components);return a.createElement(u.Provider,{value:n},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,u=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=s(t),m=l,g=c["".concat(u,".").concat(m)]||c[m]||d[m]||r;return t?a.createElement(g,i(i({ref:n},p),{},{components:t})):a.createElement(g,i({ref:n},p))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,i=new Array(r);i[0]=m;var o={};for(var u in n)hasOwnProperty.call(n,u)&&(o[u]=n[u]);o.originalType=e,o[c]="string"==typeof e?e:l,i[1]=o;for(var s=2;s<r;s++)i[s]=t[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},6185:(e,n,t)=>{t.d(n,{A:()=>i});var a=t(6540),l=t(8017);const r={tabItem:"tabItem_Ymn6"};function i(e){let{children:n,hidden:t,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,l.A)(r.tabItem,i),hidden:t},n)}},1253:(e,n,t)=>{t.d(n,{A:()=>k});var a=t(8102),l=t(6540),r=t(8017),i=t(3104),o=t(9519),u=t(7485),s=t(1682),p=t(9466);function c(e){return function(e){return l.Children.map(e,(e=>{if(!e||(0,l.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:l}}=e;return{value:n,label:t,attributes:a,default:l}}))}function d(e){const{values:n,children:t}=e;return(0,l.useMemo)((()=>{const e=n??c(t);return function(e){const n=(0,s.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:t}=e;const a=(0,o.W6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,u.aZ)(r),(0,l.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(a.location.search);n.set(r,e),a.replace({...a.location,search:n.toString()})}),[r,a])]}function y(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,r=d(e),[i,o]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:r}))),[u,s]=g({queryString:t,groupId:a}),[c,y]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,r]=(0,p.Dv)(t);return[a,(0,l.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:a}),b=(()=>{const e=u??c;return m({value:e,tabValues:r})?e:null})();(0,l.useLayoutEffect)((()=>{b&&o(b)}),[b]);return{selectedValue:i,selectValue:(0,l.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),s(e),y(e)}),[s,y,r]),tabValues:r}}var b=t(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function h(e){let{className:n,block:t,selectedValue:o,selectValue:u,tabValues:s}=e;const p=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),d=e=>{const n=e.currentTarget,t=p.indexOf(n),a=s[t].value;a!==o&&(c(n),u(a))},m=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=p.indexOf(e.currentTarget)+1;n=p[t]??p[0];break}case"ArrowLeft":{const t=p.indexOf(e.currentTarget)-1;n=p[t]??p[p.length-1];break}}n?.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":t},n)},s.map((e=>{let{value:n,label:t,attributes:i}=e;return l.createElement("li",(0,a.A)({role:"tab",tabIndex:o===n?0:-1,"aria-selected":o===n,key:n,ref:e=>p.push(e),onKeyDown:m,onClick:d},i,{className:(0,r.A)("tabs__item",f.tabItem,i?.className,{"tabs__item--active":o===n})}),t??n)})))}function v(e){let{lazy:n,children:t,selectedValue:a}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===a));return e?(0,l.cloneElement)(e,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},r.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function w(e){const n=y(e);return l.createElement("div",{className:(0,r.A)("tabs-container",f.tabList)},l.createElement(h,(0,a.A)({},e,n)),l.createElement(v,(0,a.A)({},e,n)))}function k(e){const n=(0,b.A)();return l.createElement(w,(0,a.A)({key:String(n)},e))}},5376:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>u,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var a=t(8102),l=(t(6540),t(5680)),r=t(1253),i=t(6185);const o={title:"Analyze Plugin",description:"CLI > CLI Plugins and their API > Analyze Plugin"},u=void 0,s={unversionedId:"cli/plugins/analyze-plugin",id:"cli/plugins/analyze-plugin",title:"Analyze Plugin",description:"CLI > CLI Plugins and their API > Analyze Plugin",source:"@site/../docs/cli/plugins/analyze-plugin.md",sourceDirName:"cli/plugins",slug:"/cli/plugins/analyze-plugin",permalink:"/cli/plugins/analyze-plugin",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/plugins/analyze-plugin.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Analyze Plugin",description:"CLI > CLI Plugins and their API > Analyze Plugin"},sidebar:"docs",previous:{title:"CLI Plugins API",permalink:"/cli/cli-plugins-api"},next:{title:"ScrambleCSS Plugin",permalink:"/cli/plugins/scramble-css-plugin"}},p={},c=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"CLI Arguments",id:"cli-arguments",level:2},{value:"--analyze",id:"--analyze",level:3},{value:"Options",id:"options",level:2},{value:"open",id:"open",level:3},{value:"bundleStatsOptions",id:"bundlestatsoptions",level:3},{value:"bundleAnalyzerOptions",id:"bundleanalyzeroptions",level:3}],d={toc:c},m="wrapper";function g(e){let{components:n,...t}=e;return(0,l.yg)(m,(0,a.A)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,l.yg)("p",null,"Pre-configures ",(0,l.yg)("a",{parentName:"p",href:"https://npmjs.com/package/bundle-stats-webpack-plugin"},"bundle-stats-webpack-plugin")," and ",(0,l.yg)("a",{parentName:"p",href:"https://npmjs.com/package/webpack-bundle-analyzer"},"webpack-bundle-analyzer")," webpack plugins for fast and easy bundle analyzing."),(0,l.yg)("p",null,"This plugin provides easy way to ",(0,l.yg)("strong",{parentName:"p"},"analyze webpack bundle"),". Apart from pre-configuring the forementioned plugins, it also outputs ",(0,l.yg)("inlineCode",{parentName:"p"},"stats.json")," file which can be used in multiple other online webpack bundle analyzer tools. For example:"),(0,l.yg)("ul",null,(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"https://alexkuz.github.io/webpack-chart/"},"Webpack Chart")," - interactive pie chart"),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"https://chrisbateman.github.io/webpack-visualizer/"},"Webpack Visualizer")," - visualize and analyze bundle"),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"https://webpack.jakoblind.no/optimize/"},"Bundle optimize helper")," - analyze and optimize bundle"),(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("a",{parentName:"li",href:"https://statoscope.tech/"},"Statoscope")," - detailed webpack stats analyzer")),(0,l.yg)("admonition",{type:"note"},(0,l.yg)("p",{parentName:"admonition"},"The plugin also prints these links directly into the console when the build finishes, for easier access.")),(0,l.yg)("h2",{id:"installation"},"Installation"),(0,l.yg)(r.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,l.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,l.yg)("pre",null,(0,l.yg)("code",{parentName:"pre",className:"language-bash"},"npm install @ima/cli-plugin-analyze -D\n"))),(0,l.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,l.yg)("pre",null,(0,l.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add @ima/cli-plugin-analyze --dev\n"))),(0,l.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,l.yg)("pre",null,(0,l.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add @ima/cli-plugin-analyze -D\n")))),(0,l.yg)("h2",{id:"usage"},"Usage"),(0,l.yg)("pre",null,(0,l.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const { AnalyzePlugin } = require('@ima/cli-plugin-analyze');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n plugins: [new AnalyzePlugin()],\n};\n")),(0,l.yg)("h2",{id:"cli-arguments"},"CLI Arguments"),(0,l.yg)("h3",{id:"--analyze"},"--analyze"),(0,l.yg)("blockquote",null,(0,l.yg)("p",{parentName:"blockquote"},(0,l.yg)("inlineCode",{parentName:"p"},"client |\xa0client.es | server"))),(0,l.yg)("p",null,"Run the ima build command with ",(0,l.yg)("inlineCode",{parentName:"p"},"--analyze")," argument and pick one of the three produced bundles you want to analyze. For example: ",(0,l.yg)("inlineCode",{parentName:"p"},"npx ima build --analyze=client"),"."),(0,l.yg)("h2",{id:"options"},"Options"),(0,l.yg)("pre",null,(0,l.yg)("code",{parentName:"pre",className:"language-ts"},"new AnalyzePlugin(options: {\n open?: boolean;\n bundleStatsOptions?: BundleStatsWebpackPlugin.Options;\n bundleAnalyzerOptions?: BundleAnalyzerPlugin.Options;\n});\n")),(0,l.yg)("h3",{id:"open"},"open"),(0,l.yg)("blockquote",null,(0,l.yg)("p",{parentName:"blockquote"},(0,l.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,l.yg)("p",null,"Set to false if you don't want to automatically open the browser window with the html reports when the build finishes."),(0,l.yg)("h3",{id:"bundlestatsoptions"},"bundleStatsOptions"),(0,l.yg)("blockquote",null,(0,l.yg)("p",{parentName:"blockquote"},(0,l.yg)("inlineCode",{parentName:"p"},"object"))),(0,l.yg)("p",null,"Pass any option that the ",(0,l.yg)("inlineCode",{parentName:"p"},"BundleStatsWebpackPlugin")," accepts. These are then merged with some of our custom defaults."),(0,l.yg)("h3",{id:"bundleanalyzeroptions"},"bundleAnalyzerOptions"),(0,l.yg)("blockquote",null,(0,l.yg)("p",{parentName:"blockquote"},(0,l.yg)("inlineCode",{parentName:"p"},"object"))),(0,l.yg)("p",null,"Pass any option that the ",(0,l.yg)("inlineCode",{parentName:"p"},"BundleAnalyzerPlugin")," accepts. These are then merged with some of our custom defaults."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2ece5d09.60f617bc.js b/assets/js/2ece5d09.60f617bc.js new file mode 100644 index 000000000..69ba62f72 --- /dev/null +++ b/assets/js/2ece5d09.60f617bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1894],{4134:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>u,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});const l=JSON.parse('{"id":"cli/plugins/analyze-plugin","title":"Analyze Plugin","description":"CLI > CLI Plugins and their API > Analyze Plugin","source":"@site/../docs/cli/plugins/analyze-plugin.md","sourceDirName":"cli/plugins","slug":"/cli/plugins/analyze-plugin","permalink":"/cli/plugins/analyze-plugin","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/plugins/analyze-plugin.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Analyze Plugin","description":"CLI > CLI Plugins and their API > Analyze Plugin"},"sidebar":"docs","previous":{"title":"CLI Plugins API","permalink":"/cli/cli-plugins-api"},"next":{"title":"ScrambleCSS Plugin","permalink":"/cli/plugins/scramble-css-plugin"}}');var t=a(2540),s=a(3023),i=a(3776),r=a(6052);const o={title:"Analyze Plugin",description:"CLI > CLI Plugins and their API > Analyze Plugin"},u=void 0,c={},d=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"CLI Arguments",id:"cli-arguments",level:2},{value:"--analyze",id:"--analyze",level:3},{value:"Options",id:"options",level:2},{value:"open",id:"open",level:3},{value:"bundleStatsOptions",id:"bundlestatsoptions",level:3},{value:"bundleAnalyzerOptions",id:"bundleanalyzeroptions",level:3}];function p(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["Pre-configures ",(0,t.jsx)(n.a,{href:"https://npmjs.com/package/bundle-stats-webpack-plugin",children:"bundle-stats-webpack-plugin"})," and ",(0,t.jsx)(n.a,{href:"https://npmjs.com/package/webpack-bundle-analyzer",children:"webpack-bundle-analyzer"})," webpack plugins for fast and easy bundle analyzing."]}),"\n",(0,t.jsxs)(n.p,{children:["This plugin provides easy way to ",(0,t.jsx)(n.strong,{children:"analyze webpack bundle"}),". Apart from pre-configuring the forementioned plugins, it also outputs ",(0,t.jsx)(n.code,{children:"stats.json"})," file which can be used in multiple other online webpack bundle analyzer tools. For example:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://alexkuz.github.io/webpack-chart/",children:"Webpack Chart"})," - interactive pie chart"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://chrisbateman.github.io/webpack-visualizer/",children:"Webpack Visualizer"})," - visualize and analyze bundle"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://webpack.jakoblind.no/optimize/",children:"Bundle optimize helper"})," - analyze and optimize bundle"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://statoscope.tech/",children:"Statoscope"})," - detailed webpack stats analyzer"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsx)(n.p,{children:"The plugin also prints these links directly into the console when the build finishes, for easier access."})}),"\n",(0,t.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,t.jsx)(r.A,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install @ima/cli-plugin-analyze -D\n"})})}),(0,t.jsx)(r.A,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn add @ima/cli-plugin-analyze --dev\n"})})}),(0,t.jsx)(r.A,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add @ima/cli-plugin-analyze -D\n"})})})]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const { AnalyzePlugin } = require('@ima/cli-plugin-analyze');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n plugins: [new AnalyzePlugin()],\n};\n"})}),"\n",(0,t.jsx)(n.h2,{id:"cli-arguments",children:"CLI Arguments"}),"\n",(0,t.jsx)(n.h3,{id:"--analyze",children:"--analyze"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"client |\xa0client.es | server"})}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Run the ima build command with ",(0,t.jsx)(n.code,{children:"--analyze"})," argument and pick one of the three produced bundles you want to analyze. For example: ",(0,t.jsx)(n.code,{children:"npx ima build --analyze=client"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"new AnalyzePlugin(options: {\n open?: boolean;\n bundleStatsOptions?: BundleStatsWebpackPlugin.Options;\n bundleAnalyzerOptions?: BundleAnalyzerPlugin.Options;\n});\n"})}),"\n",(0,t.jsx)(n.h3,{id:"open",children:"open"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Set to false if you don't want to automatically open the browser window with the html reports when the build finishes."}),"\n",(0,t.jsx)(n.h3,{id:"bundlestatsoptions",children:"bundleStatsOptions"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Pass any option that the ",(0,t.jsx)(n.code,{children:"BundleStatsWebpackPlugin"})," accepts. These are then merged with some of our custom defaults."]}),"\n",(0,t.jsx)(n.h3,{id:"bundleanalyzeroptions",children:"bundleAnalyzerOptions"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Pass any option that the ",(0,t.jsx)(n.code,{children:"BundleAnalyzerPlugin"})," accepts. These are then merged with some of our custom defaults."]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},6052:(e,n,a)=>{a.d(n,{A:()=>i});a(3696);var l=a(2689);const t={tabItem:"tabItem_wHwb"};var s=a(2540);function i(e){let{children:n,hidden:a,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,l.A)(t.tabItem,i),hidden:a,children:n})}},3776:(e,n,a)=>{a.d(n,{A:()=>w});var l=a(3696),t=a(2689),s=a(3707),i=a(9519),r=a(3604),o=a(5196),u=a(6229),c=a(8030);function d(e){return l.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,l.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:a}=e;return(0,l.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:a,attributes:l,default:t}}=e;return{value:n,label:a,attributes:l,default:t}}))}(a);return function(e){const n=(0,u.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,a])}function h(e){let{value:n,tabValues:a}=e;return a.some((e=>e.value===n))}function b(e){let{queryString:n=!1,groupId:a}=e;const t=(0,i.W6)(),s=function(e){let{queryString:n=!1,groupId:a}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:n,groupId:a});return[(0,o.aZ)(s),(0,l.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(t.location.search);n.set(s,e),t.replace({...t.location,search:n.toString()})}),[s,t])]}function m(e){const{defaultValue:n,queryString:a=!1,groupId:t}=e,s=p(e),[i,o]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!h({value:n,tabValues:a}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const l=a.find((e=>e.default))??a[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:n,tabValues:s}))),[u,d]=b({queryString:a,groupId:t}),[m,g]=function(e){let{groupId:n}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,s]=(0,c.Dv)(a);return[t,(0,l.useCallback)((e=>{a&&s.set(e)}),[a,s])]}({groupId:t}),f=(()=>{const e=u??m;return h({value:e,tabValues:s})?e:null})();(0,r.A)((()=>{f&&o(f)}),[f]);return{selectedValue:i,selectValue:(0,l.useCallback)((e=>{if(!h({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),g(e)}),[d,g,s]),tabValues:s}}var g=a(5200);const f={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var x=a(2540);function j(e){let{className:n,block:a,selectedValue:l,selectValue:i,tabValues:r}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.a_)(),c=e=>{const n=e.currentTarget,a=o.indexOf(n),t=r[a].value;t!==l&&(u(n),i(t))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const a=o.indexOf(e.currentTarget)+1;n=o[a]??o[0];break}case"ArrowLeft":{const a=o.indexOf(e.currentTarget)-1;n=o[a]??o[o.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.A)("tabs",{"tabs--block":a},n),children:r.map((e=>{let{value:n,label:a,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,ref:e=>{o.push(e)},onKeyDown:d,onClick:c,...s,className:(0,t.A)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":l===n}),children:a??n},n)}))})}function y(e){let{lazy:n,children:a,selectedValue:s}=e;const i=(Array.isArray(a)?a:[a]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===s));return e?(0,l.cloneElement)(e,{className:(0,t.A)("margin-top--md",e.props.className)}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function v(e){const n=m(e);return(0,x.jsxs)("div",{className:(0,t.A)("tabs-container",f.tabList),children:[(0,x.jsx)(j,{...n,...e}),(0,x.jsx)(y,{...n,...e})]})}function w(e){const n=(0,g.A)();return(0,x.jsx)(v,{...e,children:d(e.children)},String(n))}},3023:(e,n,a)=>{a.d(n,{R:()=>i,x:()=>r});var l=a(3696);const t={},s=l.createContext(t);function i(e){const n=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),l.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2f4a9057.aa2d0274.js b/assets/js/2f4a9057.aa2d0274.js new file mode 100644 index 000000000..9799f611f --- /dev/null +++ b/assets/js/2f4a9057.aa2d0274.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7373],{6933:(e,n,c)=>{c.r(n),c.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useOnce","title":"Function: useOnce()","description":"useOnce(callback): void","source":"@site/../docs/api/@ima/react-page-renderer/functions/useOnce.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useOnce","permalink":"/api/@ima/react-page-renderer/functions/useOnce","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useOnce.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useLocalize()","permalink":"/api/@ima/react-page-renderer/functions/useLocalize"},"next":{"title":"Function: usePageContext()","permalink":"/api/@ima/react-page-renderer/functions/usePageContext"}}');var t=c(2540),a=c(3023);const s={},i="Function: useOnce()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"callback",id:"callback",level:3},{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"function-useonce",children:"Function: useOnce()"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"useOnce"}),"(",(0,t.jsx)(n.code,{children:"callback"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L28",children:"packages/react-page-renderer/src/hooks/component.ts:28"})]}),"\n",(0,t.jsx)(n.p,{children:'"Constructor" like hook, which makes sure, that provided callback\nis called only once during component\'s lifecycle.'}),"\n",(0,t.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h3,{id:"callback",children:"callback"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"useOnce(() => {\n\toneTimeAction();\n});\n"})})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,c)=>{c.d(n,{R:()=>s,x:()=>i});var r=c(3696);const t={},a=r.createContext(t);function s(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2fa7fbb9.c11df398.js b/assets/js/2fa7fbb9.c11df398.js deleted file mode 100644 index 054f4e30e..000000000 --- a/assets/js/2fa7fbb9.c11df398.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[920],{5680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>d});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},c="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=p(t),m=r,d=c["".concat(s,".").concat(m)]||c[m]||g[m]||o;return t?a.createElement(d,i(i({ref:n},u),{},{components:t})):a.createElement(d,i({ref:n},u))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[c]="string"==typeof e?e:r,i[1]=l;for(var p=2;p<o;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},6185:(e,n,t)=>{t.d(n,{A:()=>i});var a=t(6540),r=t(8017);const o={tabItem:"tabItem_Ymn6"};function i(e){let{children:n,hidden:t,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.A)(o.tabItem,i),hidden:t},n)}},1253:(e,n,t)=>{t.d(n,{A:()=>N});var a=t(8102),r=t(6540),o=t(8017),i=t(3104),l=t(9519),s=t(7485),p=t(1682),u=t(9466);function c(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}function g(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??c(t);return function(e){const n=(0,p.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function d(e){let{queryString:n=!1,groupId:t}=e;const a=(0,l.W6)(),o=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,s.aZ)(o),(0,r.useCallback)((e=>{if(!o)return;const n=new URLSearchParams(a.location.search);n.set(o,e),a.replace({...a.location,search:n.toString()})}),[o,a])]}function y(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,o=g(e),[i,l]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:o}))),[s,p]=d({queryString:t,groupId:a}),[c,y]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,o]=(0,u.Dv)(t);return[a,(0,r.useCallback)((e=>{t&&o.set(e)}),[t,o])]}({groupId:a}),f=(()=>{const e=s??c;return m({value:e,tabValues:o})?e:null})();(0,r.useLayoutEffect)((()=>{f&&l(f)}),[f]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),p(e),y(e)}),[p,y,o]),tabValues:o}}var f=t(2303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function h(e){let{className:n,block:t,selectedValue:l,selectValue:s,tabValues:p}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),g=e=>{const n=e.currentTarget,t=u.indexOf(n),a=p[t].value;a!==l&&(c(n),s(a))},m=e=>{let n=null;switch(e.key){case"Enter":g(e);break;case"ArrowRight":{const t=u.indexOf(e.currentTarget)+1;n=u[t]??u[0];break}case"ArrowLeft":{const t=u.indexOf(e.currentTarget)-1;n=u[t]??u[u.length-1];break}}n?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":t},n)},p.map((e=>{let{value:n,label:t,attributes:i}=e;return r.createElement("li",(0,a.A)({role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,key:n,ref:e=>u.push(e),onKeyDown:m,onClick:g},i,{className:(0,o.A)("tabs__item",b.tabItem,i?.className,{"tabs__item--active":l===n})}),t??n)})))}function v(e){let{lazy:n,children:t,selectedValue:a}=e;const o=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=o.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},o.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function j(e){const n=y(e);return r.createElement("div",{className:(0,o.A)("tabs-container",b.tabList)},r.createElement(h,(0,a.A)({},e,n)),r.createElement(v,(0,a.A)({},e,n)))}function N(e){const n=(0,f.A)();return r.createElement(j,(0,a.A)({key:String(n)},e))}},2936:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>s,default:()=>d,frontMatter:()=>l,metadata:()=>p,toc:()=>c});var a=t(8102),r=(t(6540),t(5680)),o=t(1253),i=t(6185);const l={title:"Migration 17.0.0",description:"Migration > Migration to version 17.0.0"},s=void 0,p={unversionedId:"migration/migration-17.0.0",id:"migration/migration-17.0.0",title:"Migration 17.0.0",description:"Migration > Migration to version 17.0.0",source:"@site/../docs/migration/migration-17.0.0.md",sourceDirName:"migration",slug:"/migration/migration-17.0.0",permalink:"/migration/migration-17.0.0",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-17.0.0.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Migration 17.0.0",description:"Migration > Migration to version 17.0.0"},sidebar:"docs",previous:{title:"Migration 0.16.0",permalink:"/migration/migration-0.16.0"},next:{title:"Migration 18.0.0",permalink:"/migration/migration-18.0.0"}},u={},c=[{value:"Imports",id:"imports",level:2},{value:"Context API",id:"context-api",level:2},{value:"Utils Registration",id:"utils-registration",level:2},{value:"IMA.js bundle for client/server",id:"imajs-bundle-for-clientserver",level:2},{value:"Language Key in Config",id:"language-key-in-config",level:2},{value:"Hot Reload",id:"hot-reload",level:2},{value:"IMA.js Plugins",id:"imajs-plugins",level:2}],g={toc:c},m="wrapper";function d(e){let{components:n,...t}=e;return(0,r.yg)(m,(0,a.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"IMA.js brings few major breaking changes, notably in the renaming of all packages. We've tried to make this process as easy as possible\nthrough the provided jscodeshift transform scripts. For more information read below."),(0,r.yg)("h2",{id:"imports"},"Imports"),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"ima-")," packages (even plugins) has been renamed to ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/")," scoped packages and ",(0,r.yg)("inlineCode",{parentName:"p"},"ima")," core package has been renamed to ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/core"),". The core package is now bundled with ",(0,r.yg)("a",{parentName:"p",href:"https://rollupjs.org/guide/en/"},"rollup"),", so you can no longer import a file from specific path (i.e. ",(0,r.yg)("inlineCode",{parentName:"p"},"import GenericError from 'ima/error/GenericError'"),"), but you can import it directly from ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/core")," (i.e. ",(0,r.yg)("inlineCode",{parentName:"p"},"import { GenericError } from '@ima/core'"),")."),(0,r.yg)("p",null,"All of this can be done automatically for a whole project using following jscodeshift script."),(0,r.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"))),(0,r.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"))),(0,r.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n")))),(0,r.yg)("p",null,"Also replace paths which contain ",(0,r.yg)("inlineCode",{parentName:"p"},"ima")," to ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/core")," in ",(0,r.yg)("inlineCode",{parentName:"p"},"package.json")," (setupFiles in jest) and ",(0,r.yg)("inlineCode",{parentName:"p"},"server.js"),"."),(0,r.yg)("p",null,"Following packages have been renamed."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"ima-gulp-task-loader -> @ima/gulp-task-loader\nima-gulp-tasks -> @ima/gulp-tasks\nima-helpers -> @ima/helpers\nima-server -> @ima/server\n")),(0,r.yg)("p",null,"Following packages have been removed."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"ima-examples\nima-skeleton\n")),(0,r.yg)("p",null,"And as a replacement, following package has been created."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"create-ima-app\n")),(0,r.yg)("p",null,"Also all plugins have been renamed from ",(0,r.yg)("inlineCode",{parentName:"p"},"ima-plugin-*")," to ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/plugin-*"),"."),(0,r.yg)("h2",{id:"context-api"},"Context API"),(0,r.yg)("p",null,"IMA.js v17 no longer uses ",(0,r.yg)("inlineCode",{parentName:"p"},"prop-types")," in ",(0,r.yg)("inlineCode",{parentName:"p"},"contextTypes")," of ",(0,r.yg)("inlineCode",{parentName:"p"},"React")," components. Instead, you should use ",(0,r.yg)("inlineCode",{parentName:"p"},"PageContext")," from ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/core"),". Also, ",(0,r.yg)("inlineCode",{parentName:"p"},"prop-types")," has been removed from ",(0,r.yg)("inlineCode",{parentName:"p"},"IMA.js")," dependencies, so if you need it for some reason, make sure it is installed as a project dependency."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"Example:")),(0,r.yg)("p",null,"This is original IMA.js v16 code."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"import PropTypes from 'prop-types';\n\nexport default class MyComponent extends AbstractComponent {\n static get contextTypes() {\n return {\n $Utils: PropTypes.object,\n urlParams: PropTypes.object\n };\n }\n}\n")),(0,r.yg)("p",null,"This should be the new IMA.js v17 code."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"import { PageContext } from '@ima/core';\n\nexport default class MyComponent extends AbstractComponent {\n static get contextType() {\n return PageContext;\n }\n}\n")),(0,r.yg)("p",null,"All of this can be done automatically for a whole project using following jscodeshift script."),(0,r.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"))),(0,r.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"))),(0,r.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n")))),(0,r.yg)("h2",{id:"utils-registration"},"Utils Registration"),(0,r.yg)("p",null,"There is a new way of defining component utils. You can no longer define ",(0,r.yg)("inlineCode",{parentName:"p"},"oc.constant('$Utils', {...})")," in ",(0,r.yg)("inlineCode",{parentName:"p"},"app/conf/bind.js"),", you have to use ",(0,r.yg)("inlineCode",{parentName:"p"},"oc.get(ComponentUtils).register({...})")," instead. Also, following component utils are predefined by default, so you don't have to define them yourself."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"oc.get(ComponentUtils).register({\n $CssClasses: '$CssClasses',\n $Dictionary: Dictionary,\n $Dispatcher: Dispatcher,\n $EventBus: EventBus,\n $Helper: '$Helper',\n $Http: HttpAgent,\n $PageStateManager: PageStateManager,\n $Router: Router,\n $Settings: '$Settings',\n $Window: Window\n});\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"Example:")),(0,r.yg)("p",null,"Following definition of utils is no longer supported."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"oc.constant('$Utils', {\n $MyCustomHelper: oc.get(MyCustomHelper),\n ...\n});\n")),(0,r.yg)("p",null,"And must be replaced with following."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"oc.get(ComponentUtils).register({\n $MyCustomHelper: MyCustomHelper,\n ...\n});\n")),(0,r.yg)("h2",{id:"imajs-bundle-for-clientserver"},"IMA.js bundle for client/server"),(0,r.yg)("p",null,"IMA.js v17 comes bundled for server and client side. This means smaller bundle for clients. To benefit from this, you should update ",(0,r.yg)("inlineCode",{parentName:"p"},"vendors")," in your ",(0,r.yg)("inlineCode",{parentName:"p"},"app/build.js")," as following."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"let vendors = {\n- common: ['@ima/core'],\n+ common: [],\n\n- server: [],\n+ server: [{ '@ima/core': '@ima/core/dist/ima.server.cjs.js' }],\n\n- client: [],\n+ client: [{ '@ima/core': '@ima/core/dist/ima.client.cjs.js' }],\n\n test: []\n};\n")),(0,r.yg)("h2",{id:"language-key-in-config"},"Language Key in Config"),(0,r.yg)("p",null,"Config key ",(0,r.yg)("inlineCode",{parentName:"p"},"language")," (mostly used in ",(0,r.yg)("inlineCode",{parentName:"p"},"app/config/*.js")," boot methods) has been renamed to ",(0,r.yg)("inlineCode",{parentName:"p"},"$Language"),". You can search whole project for ",(0,r.yg)("inlineCode",{parentName:"p"},"config.language")," and replace it with ",(0,r.yg)("inlineCode",{parentName:"p"},"config.$Language"),", but most likely, it will be used only in ",(0,r.yg)("inlineCode",{parentName:"p"},"app/config/settings.js"),"."),(0,r.yg)("h2",{id:"hot-reload"},"Hot Reload"),(0,r.yg)("p",null,"Hot Reload has been rewritten and published as ima plugin. Old hot reloading will no longer work. You should delete ",(0,r.yg)("inlineCode",{parentName:"p"},"app/assets/js/hot.reload.js")," from your project, then install the plugin via ",(0,r.yg)("inlineCode",{parentName:"p"},"npm install --save-dev @ima/plugin-websocket @ima/plugin-hot-reload")," and add following lines to your ",(0,r.yg)("inlineCode",{parentName:"p"},"app/build.js"),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"// You can add this somewhere below the vendors variable initialization\nif (\n process.env.NODE_ENV === 'dev' ||\n process.env.NODE_ENV === 'development' ||\n process.env.NODE_ENV === undefined\n) {\n vendors.common.push('@ima/plugin-websocket');\n vendors.common.push('@ima/plugin-hot-reload');\n}\n")),(0,r.yg)("h2",{id:"imajs-plugins"},"IMA.js Plugins"),(0,r.yg)("p",null,"All IMA.js plugins need to be updated to the latest version. Older versions won't work."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2fa7fbb9.ed330009.js b/assets/js/2fa7fbb9.ed330009.js new file mode 100644 index 000000000..d78551a36 --- /dev/null +++ b/assets/js/2fa7fbb9.ed330009.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[920],{3781:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>u});const s=JSON.parse('{"id":"migration/migration-17.0.0","title":"Migration 17.0.0","description":"Migration > Migration to version 17.0.0","source":"@site/../docs/migration/migration-17.0.0.md","sourceDirName":"migration","slug":"/migration/migration-17.0.0","permalink":"/migration/migration-17.0.0","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-17.0.0.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Migration 17.0.0","description":"Migration > Migration to version 17.0.0"},"sidebar":"docs","previous":{"title":"Migration 0.16.0","permalink":"/migration/migration-0.16.0"},"next":{"title":"Migration 18.0.0","permalink":"/migration/migration-18.0.0"}}');var o=r(2540),t=r(3023),i=r(3776),a=r(6052);const l={title:"Migration 17.0.0",description:"Migration > Migration to version 17.0.0"},c=void 0,d={},u=[{value:"Imports",id:"imports",level:2},{value:"Context API",id:"context-api",level:2},{value:"Utils Registration",id:"utils-registration",level:2},{value:"IMA.js bundle for client/server",id:"imajs-bundle-for-clientserver",level:2},{value:"Language Key in Config",id:"language-key-in-config",level:2},{value:"Hot Reload",id:"hot-reload",level:2},{value:"IMA.js Plugins",id:"imajs-plugins",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"IMA.js brings few major breaking changes, notably in the renaming of all packages. We've tried to make this process as easy as possible\nthrough the provided jscodeshift transform scripts. For more information read below."}),"\n",(0,o.jsx)(n.h2,{id:"imports",children:"Imports"}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"ima-"})," packages (even plugins) has been renamed to ",(0,o.jsx)(n.code,{children:"@ima/"})," scoped packages and ",(0,o.jsx)(n.code,{children:"ima"})," core package has been renamed to ",(0,o.jsx)(n.code,{children:"@ima/core"}),". The core package is now bundled with ",(0,o.jsx)(n.a,{href:"https://rollupjs.org/guide/en/",children:"rollup"}),", so you can no longer import a file from specific path (i.e. ",(0,o.jsx)(n.code,{children:"import GenericError from 'ima/error/GenericError'"}),"), but you can import it directly from ",(0,o.jsx)(n.code,{children:"@ima/core"})," (i.e. ",(0,o.jsx)(n.code,{children:"import { GenericError } from '@ima/core'"}),")."]}),"\n",(0,o.jsx)(n.p,{children:"All of this can be done automatically for a whole project using following jscodeshift script."}),"\n",(0,o.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,o.jsx)(a.A,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"})})}),(0,o.jsx)(a.A,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn dlx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"})})}),(0,o.jsx)(a.A,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm dlx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"})})})]}),"\n",(0,o.jsxs)(n.p,{children:["Also replace paths which contain ",(0,o.jsx)(n.code,{children:"ima"})," to ",(0,o.jsx)(n.code,{children:"@ima/core"})," in ",(0,o.jsx)(n.code,{children:"package.json"})," (setupFiles in jest) and ",(0,o.jsx)(n.code,{children:"server.js"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Following packages have been renamed."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ima-gulp-task-loader -> @ima/gulp-task-loader\nima-gulp-tasks -> @ima/gulp-tasks\nima-helpers -> @ima/helpers\nima-server -> @ima/server\n"})}),"\n",(0,o.jsx)(n.p,{children:"Following packages have been removed."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"ima-examples\nima-skeleton\n"})}),"\n",(0,o.jsx)(n.p,{children:"And as a replacement, following package has been created."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"create-ima-app\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Also all plugins have been renamed from ",(0,o.jsx)(n.code,{children:"ima-plugin-*"})," to ",(0,o.jsx)(n.code,{children:"@ima/plugin-*"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"context-api",children:"Context API"}),"\n",(0,o.jsxs)(n.p,{children:["IMA.js v17 no longer uses ",(0,o.jsx)(n.code,{children:"prop-types"})," in ",(0,o.jsx)(n.code,{children:"contextTypes"})," of ",(0,o.jsx)(n.code,{children:"React"})," components. Instead, you should use ",(0,o.jsx)(n.code,{children:"PageContext"})," from ",(0,o.jsx)(n.code,{children:"@ima/core"}),". Also, ",(0,o.jsx)(n.code,{children:"prop-types"})," has been removed from ",(0,o.jsx)(n.code,{children:"IMA.js"})," dependencies, so if you need it for some reason, make sure it is installed as a project dependency."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsx)(n.p,{children:"This is original IMA.js v16 code."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import PropTypes from 'prop-types';\n\nexport default class MyComponent extends AbstractComponent {\n static get contextTypes() {\n return {\n $Utils: PropTypes.object,\n urlParams: PropTypes.object\n };\n }\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"This should be the new IMA.js v17 code."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import { PageContext } from '@ima/core';\n\nexport default class MyComponent extends AbstractComponent {\n static get contextType() {\n return PageContext;\n }\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"All of this can be done automatically for a whole project using following jscodeshift script."}),"\n",(0,o.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,o.jsx)(a.A,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"})})}),(0,o.jsx)(a.A,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn dlx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"})})}),(0,o.jsx)(a.A,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm dlx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./\n"})})})]}),"\n",(0,o.jsx)(n.h2,{id:"utils-registration",children:"Utils Registration"}),"\n",(0,o.jsxs)(n.p,{children:["There is a new way of defining component utils. You can no longer define ",(0,o.jsx)(n.code,{children:"oc.constant('$Utils', {...})"})," in ",(0,o.jsx)(n.code,{children:"app/conf/bind.js"}),", you have to use ",(0,o.jsx)(n.code,{children:"oc.get(ComponentUtils).register({...})"})," instead. Also, following component utils are predefined by default, so you don't have to define them yourself."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"oc.get(ComponentUtils).register({\n $CssClasses: '$CssClasses',\n $Dictionary: Dictionary,\n $Dispatcher: Dispatcher,\n $EventBus: EventBus,\n $Helper: '$Helper',\n $Http: HttpAgent,\n $PageStateManager: PageStateManager,\n $Router: Router,\n $Settings: '$Settings',\n $Window: Window\n});\n"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Example:"})}),"\n",(0,o.jsx)(n.p,{children:"Following definition of utils is no longer supported."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"oc.constant('$Utils', {\n $MyCustomHelper: oc.get(MyCustomHelper),\n ...\n});\n"})}),"\n",(0,o.jsx)(n.p,{children:"And must be replaced with following."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"oc.get(ComponentUtils).register({\n $MyCustomHelper: MyCustomHelper,\n ...\n});\n"})}),"\n",(0,o.jsx)(n.h2,{id:"imajs-bundle-for-clientserver",children:"IMA.js bundle for client/server"}),"\n",(0,o.jsxs)(n.p,{children:["IMA.js v17 comes bundled for server and client side. This means smaller bundle for clients. To benefit from this, you should update ",(0,o.jsx)(n.code,{children:"vendors"})," in your ",(0,o.jsx)(n.code,{children:"app/build.js"})," as following."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"let vendors = {\n- common: ['@ima/core'],\n+ common: [],\n\n- server: [],\n+ server: [{ '@ima/core': '@ima/core/dist/ima.server.cjs.js' }],\n\n- client: [],\n+ client: [{ '@ima/core': '@ima/core/dist/ima.client.cjs.js' }],\n\n test: []\n};\n"})}),"\n",(0,o.jsx)(n.h2,{id:"language-key-in-config",children:"Language Key in Config"}),"\n",(0,o.jsxs)(n.p,{children:["Config key ",(0,o.jsx)(n.code,{children:"language"})," (mostly used in ",(0,o.jsx)(n.code,{children:"app/config/*.js"})," boot methods) has been renamed to ",(0,o.jsx)(n.code,{children:"$Language"}),". You can search whole project for ",(0,o.jsx)(n.code,{children:"config.language"})," and replace it with ",(0,o.jsx)(n.code,{children:"config.$Language"}),", but most likely, it will be used only in ",(0,o.jsx)(n.code,{children:"app/config/settings.js"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"hot-reload",children:"Hot Reload"}),"\n",(0,o.jsxs)(n.p,{children:["Hot Reload has been rewritten and published as ima plugin. Old hot reloading will no longer work. You should delete ",(0,o.jsx)(n.code,{children:"app/assets/js/hot.reload.js"})," from your project, then install the plugin via ",(0,o.jsx)(n.code,{children:"npm install --save-dev @ima/plugin-websocket @ima/plugin-hot-reload"})," and add following lines to your ",(0,o.jsx)(n.code,{children:"app/build.js"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"// You can add this somewhere below the vendors variable initialization\nif (\n process.env.NODE_ENV === 'dev' ||\n process.env.NODE_ENV === 'development' ||\n process.env.NODE_ENV === undefined\n) {\n vendors.common.push('@ima/plugin-websocket');\n vendors.common.push('@ima/plugin-hot-reload');\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"imajs-plugins",children:"IMA.js Plugins"}),"\n",(0,o.jsx)(n.p,{children:"All IMA.js plugins need to be updated to the latest version. Older versions won't work."})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},6052:(e,n,r)=>{r.d(n,{A:()=>i});r(3696);var s=r(2689);const o={tabItem:"tabItem_wHwb"};var t=r(2540);function i(e){let{children:n,hidden:r,className:i}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,s.A)(o.tabItem,i),hidden:r,children:n})}},3776:(e,n,r)=>{r.d(n,{A:()=>w});var s=r(3696),o=r(2689),t=r(3707),i=r(9519),a=r(3604),l=r(5196),c=r(6229),d=r(8030);function u(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:r}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:r,attributes:s,default:o}}=e;return{value:n,label:r,attributes:s,default:o}}))}(r);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,r])}function h(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:r}=e;const o=(0,i.W6)(),t=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,l.aZ)(t),(0,s.useCallback)((e=>{if(!t)return;const n=new URLSearchParams(o.location.search);n.set(t,e),o.replace({...o.location,search:n.toString()})}),[t,o])]}function g(e){const{defaultValue:n,queryString:r=!1,groupId:o}=e,t=p(e),[i,l]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!h({value:n,tabValues:r}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=r.find((e=>e.default))??r[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:t}))),[c,u]=m({queryString:r,groupId:o}),[g,j]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[o,t]=(0,d.Dv)(r);return[o,(0,s.useCallback)((e=>{r&&t.set(e)}),[r,t])]}({groupId:o}),x=(()=>{const e=c??g;return h({value:e,tabValues:t})?e:null})();(0,a.A)((()=>{x&&l(x)}),[x]);return{selectedValue:i,selectValue:(0,s.useCallback)((e=>{if(!h({value:e,tabValues:t}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),j(e)}),[u,j,t]),tabValues:t}}var j=r(5200);const x={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var f=r(2540);function v(e){let{className:n,block:r,selectedValue:s,selectValue:i,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,t.a_)(),d=e=>{const n=e.currentTarget,r=l.indexOf(n),o=a[r].value;o!==s&&(c(n),i(o))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;n=l[r]??l[0];break}case"ArrowLeft":{const r=l.indexOf(e.currentTarget)-1;n=l[r]??l[l.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":r},n),children:a.map((e=>{let{value:n,label:r,attributes:t}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>{l.push(e)},onKeyDown:u,onClick:d,...t,className:(0,o.A)("tabs__item",x.tabItem,t?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function b(e){let{lazy:n,children:r,selectedValue:t}=e;const i=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===t));return e?(0,s.cloneElement)(e,{className:(0,o.A)("margin-top--md",e.props.className)}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function y(e){const n=g(e);return(0,f.jsxs)("div",{className:(0,o.A)("tabs-container",x.tabList),children:[(0,f.jsx)(v,{...n,...e}),(0,f.jsx)(b,{...n,...e})]})}function w(e){const n=(0,j.A)();return(0,f.jsx)(y,{...e,children:u(e.children)},String(n))}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>a});var s=r(3696);const o={},t=s.createContext(o);function i(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2fbd0ada.fe7d51a5.js b/assets/js/2fbd0ada.fe7d51a5.js new file mode 100644 index 000000000..16f7bf518 --- /dev/null +++ b/assets/js/2fbd0ada.fe7d51a5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7273],{3402:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>o,frontMatter:()=>a,metadata:()=>n,toc:()=>h});const n=JSON.parse('{"id":"api/@ima/react-page-renderer/interfaces/useDispatcherType","title":"Interface: useDispatcherType","description":"Defined in10","source":"@site/../docs/api/@ima/react-page-renderer/interfaces/useDispatcherType.md","sourceDirName":"api/@ima/react-page-renderer/interfaces","slug":"/api/@ima/react-page-renderer/interfaces/useDispatcherType","permalink":"/api/@ima/react-page-renderer/interfaces/useDispatcherType","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/interfaces/useDispatcherType.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: useComponentType","permalink":"/api/@ima/react-page-renderer/interfaces/useComponentType"},"next":{"title":"Interface: useEventBusType","permalink":"/api/@ima/react-page-renderer/interfaces/useEventBusType"}}');var s=r(2540),i=r(3023);const a={},d="Interface: useDispatcherType",c={},h=[{value:"Properties",id:"properties",level:2},{value:"fire()",id:"fire",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"event",id:"event",level:5},{value:"data",id:"data",level:5},{value:"Returns",id:"returns",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"event",id:"event-1",level:5},{value:"data",id:"data-1",level:5},{value:"Returns",id:"returns-1",level:4}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"interface-usedispatchertype",children:"Interface: useDispatcherType"})}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/dispatcher.ts#L10",children:"packages/react-page-renderer/src/hooks/dispatcher.ts:10"})]}),"\n",(0,s.jsx)(t.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(t.h3,{id:"fire",children:"fire()"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"fire"}),": <",(0,s.jsx)(t.code,{children:"E"}),">(",(0,s.jsx)(t.code,{children:"event"}),", ",(0,s.jsx)(t.code,{children:"data"}),") => ",(0,s.jsx)(t.code,{children:"this"}),"(",(0,s.jsx)(t.code,{children:"event"}),", ",(0,s.jsx)(t.code,{children:"data"}),") => ",(0,s.jsx)(t.code,{children:"this"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/dispatcher.ts#L11",children:"packages/react-page-renderer/src/hooks/dispatcher.ts:11"})]}),"\n",(0,s.jsx)(t.p,{children:"Fires a new event of the specified name, carrying the provided data."}),"\n",(0,s.jsx)(t.p,{children:"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."}),"\n",(0,s.jsx)(t.p,{children:"It will also execute all event listeners registered to listen to all events."}),"\n",(0,s.jsx)(t.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,s.jsx)(t.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"E"})," ",(0,s.jsx)(t.em,{children:"extends"})," keyof ",(0,s.jsx)(t.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,s.jsx)(t.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,s.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(t.h5,{id:"event",children:"event"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"E"})}),"\n",(0,s.jsx)(t.p,{children:"The name of the event to fire."}),"\n",(0,s.jsx)(t.h5,{id:"data",children:"data"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,s.jsx)(t.code,{children:"DispatcherEventsMap"})}),"[",(0,s.jsx)(t.code,{children:"E"}),"]"]}),"\n",(0,s.jsx)(t.p,{children:"The data to pass to the event listeners."}),"\n",(0,s.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"this"})}),"\n",(0,s.jsx)(t.p,{children:"This dispatcher."}),"\n",(0,s.jsx)(t.p,{children:"Fires a new event of the specified name, carrying the provided data."}),"\n",(0,s.jsx)(t.p,{children:"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."}),"\n",(0,s.jsx)(t.p,{children:"It will also execute all event listeners registered to listen to all events."}),"\n",(0,s.jsx)(t.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,s.jsx)(t.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(t.h5,{id:"event-1",children:"event"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"string"})}),"\n",(0,s.jsx)(t.p,{children:"The name of the event to fire."}),"\n",(0,s.jsx)(t.h5,{id:"data-1",children:"data"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"any"})}),"\n",(0,s.jsx)(t.p,{children:"The data to pass to the event listeners."}),"\n",(0,s.jsx)(t.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"this"})}),"\n",(0,s.jsx)(t.p,{children:"This dispatcher."})]})}function o(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,t,r)=>{r.d(t,{R:()=>a,x:()=>d});var n=r(3696);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30081c14.5f8e193e.js b/assets/js/30081c14.5f8e193e.js new file mode 100644 index 000000000..19d7ded04 --- /dev/null +++ b/assets/js/30081c14.5f8e193e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6669],{1621:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/dev-utils/index","title":"index","description":"@ima/dev-utils","source":"@site/../docs/api/@ima/dev-utils/index.md","sourceDirName":"api/@ima/dev-utils","slug":"/api/@ima/dev-utils/","permalink":"/api/@ima/dev-utils/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: pluginLoader","permalink":"/api/@ima/core/variables/pluginLoader"},"next":{"title":"Class: Logger","permalink":"/api/@ima/dev-utils/classes/Logger"}}');var n=r(2540),t=r(3023);const o={},a=void 0,c={},l=[{value:"Contents",id:"contents",level:2}];function d(e){const i={a:"a",code:"code",h2:"h2",hr:"hr",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("p",{align:"center",children:(0,n.jsx)("img",{height:"130",src:"https://imajs.io/img/logo.svg"})}),"\n",(0,n.jsx)("h1",{align:"center",children:"@ima/dev-utils"}),"\n",(0,n.jsx)("p",{align:"center",children:(0,n.jsx)("i",{children:"Used to share common methods and utils used across other dev packages (@ima/cli, @ima/error-overlay, etc.)."})}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.p,{children:"Currently it mainly contains methods for compile and runtime error parsing which are used in multiple other packages."}),"\n",(0,n.jsx)(i.p,{children:"There's intentionally no \"main\" export or index file and each utils file has to be imported with it's direct path. This is because some packages are used on client only while others may contain some nodejs specific syntax."}),"\n",(0,n.jsx)(i.p,{children:"This means that you need to import each utility as:"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-javascript",children:"import { extractSourceMappingUrl } from '@ima/dev-utils/sourceMapUtils';\nimport { FragmentLine } from '@ima/dev-utils/sourceFragment';\nimport { parseCompileError } from '@ima/dev-utils/compileErrorParser';\n// ...\n"})}),"\n",(0,n.jsx)(i.h2,{id:"contents",children:"Contents"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.code,{children:"compileErrorParser"})," - used to parse compile errors from currently used loaders."]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.code,{children:"cliUtils"})," - utilities for CLI error formatting."]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.code,{children:"helpers"})," - general regexps and other helpers."]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.code,{children:"sourceFragment"})," - utility to create source fragment object containing X number of lines of code around highlighted line from provided source."]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.code,{children:"sourceMapUtils"})," - utils to extract source map URL from file contents."]}),"\n"]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsxs)(i.p,{children:["This package is part of the IMA.js application stack, see ",(0,n.jsx)(i.a,{href:"https://imajs.io/",children:"imajs.io"})," for more info about the whole project."]})]})}function m(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,i,r)=>{r.d(i,{R:()=>o,x:()=>a});var s=r(3696);const n={},t=s.createContext(n);function o(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30bfce74.42bd10a4.js b/assets/js/30bfce74.42bd10a4.js new file mode 100644 index 000000000..f42c18ced --- /dev/null +++ b/assets/js/30bfce74.42bd10a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7855],{1099:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"api/@ima/core/classes/Entry","title":"Class: Entry\\\\<T\\\\>","description":"Defined in15","source":"@site/../docs/api/@ima/core/classes/Entry.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Entry","permalink":"/api/@ima/core/classes/Entry","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Entry.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: DynamicRoute","permalink":"/api/@ima/core/classes/DynamicRoute"},"next":{"title":"Class: abstract Error","permalink":"/api/@ima/core/classes/Error"}}');var c=r(2540),i=r(3023);const t={},d="Class: Entry<T>",l={},a=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Entry()",id:"new-entry",level:3},{value:"Parameters",id:"parameters",level:4},{value:"classConstructor",id:"classconstructor",level:5},{value:"dependencies?",id:"dependencies",level:5},{value:"referrer?",id:"referrer",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"classConstructor",id:"classconstructor-1",level:3},{value:"sharedInstance",id:"sharedinstance",level:3},{value:"Accessors",id:"accessors",level:2},{value:"dependencies",id:"dependencies-1",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Set Signature",id:"set-signature",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"dependencies",id:"dependencies-2",level:6},{value:"Returns",id:"returns-2",level:5},{value:"options",id:"options-1",level:3},{value:"Get Signature",id:"get-signature-1",level:4},{value:"Returns",id:"returns-3",level:5},{value:"referrer",id:"referrer-1",level:3},{value:"Get Signature",id:"get-signature-2",level:4},{value:"Returns",id:"returns-4",level:5},{value:"writeable",id:"writeable",level:3},{value:"Get Signature",id:"get-signature-3",level:4},{value:"Returns",id:"returns-5",level:5},{value:"Methods",id:"methods",level:2},{value:"from()",id:"from",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"entry",id:"entry",level:5},{value:"Returns",id:"returns-6",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"class-entryt",children:"Class: Entry<T>"})}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L15",children:"packages/core/src/oc/Entry.ts:15"})]}),"\n",(0,c.jsx)(n.p,{children:"Object container entry, representing either a class, interface, constant or\nan alias."}),"\n",(0,c.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})," = ",(0,c.jsx)(n.code,{children:"any"})]}),"\n",(0,c.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,c.jsx)(n.h3,{id:"new-entry",children:"new Entry()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"new Entry"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"classConstructor"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"?, ",(0,c.jsx)(n.code,{children:"referrer"}),"?, ",(0,c.jsx)(n.code,{children:"options"}),"?): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L60",children:"packages/core/src/oc/Entry.ts:60"})]}),"\n",(0,c.jsx)(n.p,{children:"Initializes the entry."}),"\n",(0,c.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"classconstructor",children:"classConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"EntryConstructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The\nclass constructor or constant value getter."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies",children:"dependencies?"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor function."}),"\n",(0,c.jsx)(n.h5,{id:"referrer",children:"referrer?"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"string"})}),"\n",(0,c.jsx)(n.p,{children:"Reference to part of application that created\nthis entry."}),"\n",(0,c.jsx)(n.h5,{id:"options",children:"options?"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EntryOptions",children:(0,c.jsx)(n.code,{children:"EntryOptions"})})}),"\n",(0,c.jsx)(n.p,{children:"The Entry options."}),"\n",(0,c.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(n.h3,{id:"classconstructor-1",children:"classConstructor"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"classConstructor"}),": ",(0,c.jsx)(n.code,{children:"EntryConstructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L20",children:"packages/core/src/oc/Entry.ts:20"})]}),"\n",(0,c.jsx)(n.p,{children:"The constructor of the class represented by this entry, or the\ngetter of the value of the constant represented by this entry."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"sharedinstance",children:"sharedInstance"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"sharedInstance"}),": ",(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.code,{children:"EntrySharedInstance"}),"<",(0,c.jsx)(n.code,{children:"T"}),"> = ",(0,c.jsx)(n.code,{children:"null"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L25",children:"packages/core/src/oc/Entry.ts:25"})]}),"\n",(0,c.jsx)(n.p,{children:"The shared instance of the class represented by this entry."}),"\n",(0,c.jsx)(n.h2,{id:"accessors",children:"Accessors"}),"\n",(0,c.jsx)(n.h3,{id:"dependencies-1",children:"dependencies"}),"\n",(0,c.jsx)(n.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"get"})," ",(0,c.jsx)(n.strong,{children:"dependencies"}),"(): ",(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L95",children:"packages/core/src/oc/Entry.ts:95"})]}),"\n",(0,c.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.h4,{id:"set-signature",children:"Set Signature"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"set"})," ",(0,c.jsx)(n.strong,{children:"dependencies"}),"(",(0,c.jsx)(n.code,{children:"dependencies"}),"): ",(0,c.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L74",children:"packages/core/src/oc/Entry.ts:74"})]}),"\n",(0,c.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,c.jsx)(n.h6,{id:"dependencies-2",children:"dependencies"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"void"})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"options-1",children:"options"}),"\n",(0,c.jsx)(n.h4,{id:"get-signature-1",children:"Get Signature"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"get"})," ",(0,c.jsx)(n.strong,{children:"options"}),"(): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EntryOptions",children:(0,c.jsx)(n.code,{children:"EntryOptions"})})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L107",children:"packages/core/src/oc/Entry.ts:107"})]}),"\n",(0,c.jsx)(n.h5,{id:"returns-3",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EntryOptions",children:(0,c.jsx)(n.code,{children:"EntryOptions"})})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"referrer-1",children:"referrer"}),"\n",(0,c.jsx)(n.h4,{id:"get-signature-2",children:"Get Signature"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"get"})," ",(0,c.jsx)(n.strong,{children:"referrer"}),"(): ",(0,c.jsx)(n.code,{children:"undefined"})," | ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L99",children:"packages/core/src/oc/Entry.ts:99"})]}),"\n",(0,c.jsx)(n.h5,{id:"returns-4",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"undefined"})," | ",(0,c.jsx)(n.code,{children:"string"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"writeable",children:"writeable"}),"\n",(0,c.jsx)(n.h4,{id:"get-signature-3",children:"Get Signature"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"get"})," ",(0,c.jsx)(n.strong,{children:"writeable"}),"(): ",(0,c.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L103",children:"packages/core/src/oc/Entry.ts:103"})]}),"\n",(0,c.jsx)(n.h5,{id:"returns-5",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"boolean"})}),"\n",(0,c.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,c.jsx)(n.h3,{id:"from",children:"from()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"static"})," ",(0,c.jsx)(n.strong,{children:"from"}),"<",(0,c.jsx)(n.code,{children:"TInfer"}),">(",(0,c.jsx)(n.code,{children:"entry"}),"): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"TInfer"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/Entry.ts#L111",children:"packages/core/src/oc/Entry.ts:111"})]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"TInfer"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"entry",children:"entry"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"TInfer"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"TInfer"}),">"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>d});var s=r(3696);const c={},i=s.createContext(c);function t(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:t(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30c3cb5b.1c1ac8f0.js b/assets/js/30c3cb5b.1c1ac8f0.js deleted file mode 100644 index b05020562..000000000 --- a/assets/js/30c3cb5b.1c1ac8f0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3794],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>u});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),d=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),s=d(a),y=n,u=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return a?r.createElement(u,l(l({ref:t},g),{},{components:a})):r.createElement(u,l({ref:t},g))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=y;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:n,l[1]=o;for(var d=2;d<i;d++)l[d]=a[d];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}y.displayName="MDXCreateElement"},5105:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.PageRenderer",title:"Class: PageRenderer",sidebar_label:"@ima/core.PageRenderer",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.PageRenderer",id:"api/classes/ima_core.PageRenderer",title:"Class: PageRenderer",description:"@ima/core.PageRenderer",source:"@site/../docs/api/classes/ima_core.PageRenderer.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageRenderer",permalink:"/api/classes/ima_core.PageRenderer",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageRenderer",title:"Class: PageRenderer",sidebar_label:"@ima/core.PageRenderer",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageNavigationHandler",permalink:"/api/classes/ima_core.PageNavigationHandler"},next:{title:"@ima/core.PageStateManager",permalink:"/api/classes/ima_core.PageStateManager"}},p={},d=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"mount",id:"mount",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"setState",id:"setstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"unmount",id:"unmount",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4}],g={toc:d},s="wrapper";function m(e){let{components:t,...a}=e;return(0,n.yg)(s,(0,r.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageRenderer"),(0,n.yg)("p",null,"The page renderer is a utility for rendering the page at either the\nclient-side or the server-side, handling the differences in the environment."),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new PageRenderer"),"()"),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"mount"},"mount"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"mount"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pageResources"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"routeOptions"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,n.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,n.yg)("p",null,"Renders the page using the provided controller and view. The actual\nbehavior of this method differs at the client-side and the at\nserver-side in the following way:"),(0,n.yg)("p",null,"At the server, the method first waits for all the resources to load, and\nthen renders the page to a string containing HTML markup to send to the\nclient."),(0,n.yg)("p",null,"At the client, the method uses the already available resources to render\nthe page into DOM, re-using the DOM created from the HTML markup send by\nthe server if possible. After this the method will re-render the page\nevery time another resource being loaded finishes its loading and\nbecomes available."),(0,n.yg)("p",null,"Note that the method renders the page at the client-side only after all\nresources have been loaded if this is the first time this method is\ninvoked at the client."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<{}, {}, {}",">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current page controller.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The page's view.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageResources")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownpromiseparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownPromiseParameters"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The resources for the view loaded by the controller.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeOptions")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,n.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,n.yg)("p",null,"A promise that will resolve to information about the\nrendered page. The ",(0,n.yg)("inlineCode",{parentName:"p"},"status")," will contain the HTTP status\ncode to send to the client (at the server side) or determine the\ntype of error page to navigate to (at the client side)."),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L62"},"packages/core/src/page/renderer/PageRenderer.ts:62")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setstate"},"setState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setState"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"state"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Sets the provided state to the currently rendered view."),(0,n.yg)("p",null,"This method has no effect at the server-side."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"state")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The state to set to the currently rendered view.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L119"},"packages/core/src/page/renderer/PageRenderer.ts:119")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unmount"},"unmount"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unmount"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Unmounts the view from the DOM."),(0,n.yg)("p",null,"This method has no effect at the server-side."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L107"},"packages/core/src/page/renderer/PageRenderer.ts:107")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"update"},"update"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"update"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"resourcesUpdate"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"routeOptions"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,n.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,n.yg)("p",null,"Handles update of the current route that does not replace the current\ncontroller and view."),(0,n.yg)("p",null,"The method will use the already available resource to update the\ncontroller's state and the view immediately. After that, the method will\nupdate the controller's state and view with every resource that becomes\nresolved."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<{}, {}, {}",">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current page controller.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The page's view.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resourcesUpdate")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownpromiseparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownPromiseParameters"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The resources that represent the update the of current state according to the current route and its parameters.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeOptions")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,n.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,n.yg)("p",null,"A promise that will resolve to information about the\nrendered page. The ",(0,n.yg)("inlineCode",{parentName:"p"},"status")," will contain the HTTP status\ncode to send to the client (at the server side) or determine the\ntype of error page to navigate to (at the client side).\nThe ",(0,n.yg)("inlineCode",{parentName:"p"},"content")," field will contain the rendered markup of\nthe page at the server-side, or ",(0,n.yg)("inlineCode",{parentName:"p"},"null")," at the client-side."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L93"},"packages/core/src/page/renderer/PageRenderer.ts:93")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/30e917a1.9ff61c65.js b/assets/js/30e917a1.9ff61c65.js new file mode 100644 index 000000000..5aa9b8b9f --- /dev/null +++ b/assets/js/30e917a1.9ff61c65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8198],{8858:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/ServerPageManager","title":"Class: ServerPageManager","description":"Defined in14","source":"@site/../docs/api/@ima/core/classes/ServerPageManager.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ServerPageManager","permalink":"/api/@ima/core/classes/ServerPageManager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ServerPageManager.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: SerialBatch","permalink":"/api/@ima/core/classes/SerialBatch"},"next":{"title":"Class: ServerRouter","permalink":"/api/@ima/core/classes/ServerRouter"}}');var s=a(2540),c=a(3023);const i={},d="Class: ServerPageManager",t={},l=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ServerPageManager()",id:"new-serverpagemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageFactory",id:"pagefactory",level:5},{value:"pageRenderer",id:"pagerenderer",level:5},{value:"pageStateManager",id:"pagestatemanager",level:5},{value:"pageHandlerRegistry",id:"pagehandlerregistry",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_managedPage",id:"_managedpage",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_pageFactory",id:"_pagefactory",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_pageHandlerRegistry",id:"_pagehandlerregistry",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"_pageRenderer",id:"_pagerenderer",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"_previousManagedPage",id:"_previousmanagedpage",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"_activateController()",id:"_activatecontroller",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"_activateExtensions()",id:"_activateextensions",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"_activatePageSource()",id:"_activatepagesource",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"_clearComponentState()",id:"_clearcomponentstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"_constructManagedPageValue()",id:"_constructmanagedpagevalue",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"route",id:"route",level:5},{value:"options",id:"options-1",level:5},{value:"params",id:"params",level:5},{value:"controllerInstance",id:"controllerinstance",level:5},{value:"decoratedController",id:"decoratedcontroller",level:5},{value:"viewInstance",id:"viewinstance",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"_deactivateController()",id:"_deactivatecontroller",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"_deactivateExtensions()",id:"_deactivateextensions",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"_deactivatePageSource()",id:"_deactivatepagesource",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"_destroyController()",id:"_destroycontroller",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"_destroyExtensions()",id:"_destroyextensions",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"_destroyPageSource()",id:"_destroypagesource",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"_getInitialManagedPage()",id:"_getinitialmanagedpage",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"_getLoadedControllerState()",id:"_getloadedcontrollerstate",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"_getLoadedExtensionsState()",id:"_getloadedextensionsstate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"controllerState?",id:"controllerstate",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"_getUpdatedControllerState()",id:"_getupdatedcontrollerstate",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"_getUpdatedExtensionsState()",id:"_getupdatedextensionsstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"controllerState?",id:"controllerstate-1",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"_hasOnlyUpdate()",id:"_hasonlyupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"controller",id:"controller-1",level:5},{value:"view",id:"view-1",level:5},{value:"options",id:"options-2",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"_initController()",id:"_initcontroller",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"_initExtensions()",id:"_initextensions",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"_initPageSource()",id:"_initpagesource",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"_loadPageSource()",id:"_loadpagesource",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"_runPostManageHandlers()",id:"_runpostmanagehandlers",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"previousManagedPage",id:"previousmanagedpage",level:5},{value:"action",id:"action",level:5},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"_runPreManageHandlers()",id:"_runpremanagehandlers",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"actualManagedPage",id:"actualmanagedpage",level:5},{value:"action",id:"action-1",level:5},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"_setRestrictedPageStateManager()",id:"_setrestrictedpagestatemanager",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"extension",id:"extension",level:5},{value:"extensionState",id:"extensionstate",level:5},{value:"Returns",id:"returns-25",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"_storeManagedPageSnapshot()",id:"_storemanagedpagesnapshot",level:3},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-32",level:4},{value:"_stripManagedPageValueForPublic()",id:"_stripmanagedpagevalueforpublic",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-27",level:4},{value:"controller",id:"controller-2",level:5},{value:"options",id:"options-3",level:5},{value:"params",id:"params-1",level:5},{value:"route",id:"route-1",level:5},{value:"view",id:"view-2",level:5},{value:"Inherited from",id:"inherited-from-33",level:4},{value:"_switchToPageStateManager()",id:"_switchtopagestatemanager",level:3},{value:"Returns",id:"returns-28",level:4},{value:"Inherited from",id:"inherited-from-34",level:4},{value:"_switchToPageStateManagerAfterLoaded()",id:"_switchtopagestatemanagerafterloaded",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"extension",id:"extension-1",level:5},{value:"extensionState",id:"extensionstate-1",level:5},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-35",level:4},{value:"_updatePageSource()",id:"_updatepagesource",level:3},{value:"Returns",id:"returns-30",level:4},{value:"Inherited from",id:"inherited-from-36",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-31",level:4},{value:"Inherited from",id:"inherited-from-37",level:4},{value:"getViewController()",id:"getviewcontroller",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"route",id:"route-2",level:5},{value:"Returns",id:"returns-32",level:4},{value:"Inherited from",id:"inherited-from-38",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-33",level:4},{value:"Inherited from",id:"inherited-from-39",level:4},{value:"manage()",id:"manage",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"__namedParameters",id:"__namedparameters",level:5},{value:"Returns",id:"returns-34",level:4},{value:"Inherited from",id:"inherited-from-40",level:4},{value:"postManage()",id:"postmanage",level:3},{value:"Returns",id:"returns-35",level:4},{value:"Inherited from",id:"inherited-from-41",level:4},{value:"preManage()",id:"premanage",level:3},{value:"Returns",id:"returns-36",level:4},{value:"Inherited from",id:"inherited-from-42",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"class-serverpagemanager",children:"Class: ServerPageManager"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ServerPageManager.ts#L14",children:"packages/core/src/page/manager/ServerPageManager.ts:14"})]}),"\n",(0,s.jsx)(r.p,{children:"Page manager for controller on the server side."}),"\n",(0,s.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})})}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(r.h3,{id:"new-serverpagemanager",children:"new ServerPageManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"new ServerPageManager"}),"(",(0,s.jsx)(r.code,{children:"pageFactory"}),", ",(0,s.jsx)(r.code,{children:"pageRenderer"}),", ",(0,s.jsx)(r.code,{children:"pageStateManager"}),", ",(0,s.jsx)(r.code,{children:"pageHandlerRegistry"}),", ",(0,s.jsx)(r.code,{children:"dispatcher"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ServerPageManager",children:(0,s.jsx)(r.code,{children:"ServerPageManager"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L95",children:"packages/core/src/page/manager/AbstractPageManager.ts:95"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes the page manager."}),"\n",(0,s.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"pagefactory",children:"pageFactory"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(r.code,{children:"PageFactory"})})}),"\n",(0,s.jsx)(r.p,{children:"Factory used by the page manager to\ncreate instances of the controller for the current route, and\ndecorate the controllers and page state managers."}),"\n",(0,s.jsx)(r.h5,{id:"pagerenderer",children:"pageRenderer"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,s.jsx)(r.code,{children:"PageRenderer"})})}),"\n",(0,s.jsx)(r.p,{children:"The current renderer of the page."}),"\n",(0,s.jsx)(r.h5,{id:"pagestatemanager",children:"pageStateManager"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(r.code,{children:"PageStateManager"})})}),"\n",(0,s.jsx)(r.p,{children:"The current page state\nmanager."}),"\n",(0,s.jsx)(r.h5,{id:"pagehandlerregistry",children:"pageHandlerRegistry"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(r.code,{children:"PageHandlerRegistry"})})}),"\n",(0,s.jsx)(r.p,{children:"Instance of HandlerRegistry that\nholds a list of pre-manage and post-manage handlers."}),"\n",(0,s.jsx)(r.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(r.code,{children:"Dispatcher"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ServerPageManager",children:(0,s.jsx)(r.code,{children:"ServerPageManager"})})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#constructors",children:(0,s.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_dispatcher"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(r.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L81",children:"packages/core/src/page/manager/AbstractPageManager.ts:81"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_dispatcher",children:(0,s.jsx)(r.code,{children:"_dispatcher"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_managedpage",children:"_managedPage"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_managedPage"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L68",children:"packages/core/src/page/manager/AbstractPageManager.ts:68"})]}),"\n",(0,s.jsx)(r.p,{children:"Details of the currently managed page."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_managedpage",children:(0,s.jsx)(r.code,{children:"_managedPage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagefactory",children:"_pageFactory"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageFactory"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(r.code,{children:"PageFactory"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L63",children:"packages/core/src/page/manager/AbstractPageManager.ts:63"})]}),"\n",(0,s.jsx)(r.p,{children:"Factory used by the page manager to create instances of the\ncontroller for the current route, and decorate the controllers and\npage state managers."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagefactory",children:(0,s.jsx)(r.code,{children:"_pageFactory"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagehandlerregistry",children:"_pageHandlerRegistry"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageHandlerRegistry"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(r.code,{children:"PageHandlerRegistry"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L80",children:"packages/core/src/page/manager/AbstractPageManager.ts:80"})]}),"\n",(0,s.jsx)(r.p,{children:"A registry that holds a list of pre-manage and post-manage handlers."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagehandlerregistry",children:(0,s.jsx)(r.code,{children:"_pageHandlerRegistry"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagerenderer",children:"_pageRenderer"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageRenderer"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,s.jsx)(r.code,{children:"PageRenderer"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L72",children:"packages/core/src/page/manager/AbstractPageManager.ts:72"})]}),"\n",(0,s.jsx)(r.p,{children:"The current renderer of the page."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagerenderer",children:(0,s.jsx)(r.code,{children:"_pageRenderer"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagestatemanager",children:"_pageStateManager"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageStateManager"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(r.code,{children:"PageStateManager"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L76",children:"packages/core/src/page/manager/AbstractPageManager.ts:76"})]}),"\n",(0,s.jsx)(r.p,{children:"The current page state manager."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagestatemanager",children:(0,s.jsx)(r.code,{children:"_pageStateManager"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_previousmanagedpage",children:"_previousManagedPage"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_previousManagedPage"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L57",children:"packages/core/src/page/manager/AbstractPageManager.ts:57"})]}),"\n",(0,s.jsx)(r.p,{children:"Snapshot of the previously managed page before it was replaced with\na new one"}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_previousmanagedpage",children:(0,s.jsx)(r.code,{children:"_previousManagedPage"})})]}),"\n",(0,s.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,s.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,s.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"get"})," ",(0,s.jsx)(r.code,{children:"static"})," ",(0,s.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,s.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ServerPageManager.ts#L15",children:"packages/core/src/page/manager/ServerPageManager.ts:15"})]}),"\n",(0,s.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,s.jsx)(r.code,{children:"Dependencies"})})}),"\n",(0,s.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(r.h3,{id:"_activatecontroller",children:"_activateController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_activateController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L549",children:"packages/core/src/page/manager/AbstractPageManager.ts:549"})]}),"\n",(0,s.jsx)(r.p,{children:"Activate managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_activatecontroller",children:(0,s.jsx)(r.code,{children:"_activateController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_activateextensions",children:"_activateExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_activateExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L563",children:"packages/core/src/page/manager/AbstractPageManager.ts:563"})]}),"\n",(0,s.jsx)(r.p,{children:"Activate extensions for managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_activateextensions",children:(0,s.jsx)(r.code,{children:"_activateExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_activatepagesource",children:"_activatePageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_activatePageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L529",children:"packages/core/src/page/manager/AbstractPageManager.ts:529"})]}),"\n",(0,s.jsx)(r.p,{children:"Activate page source so call activate method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_activatepagesource",children:(0,s.jsx)(r.code,{children:"_activatePageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_clearcomponentstate",children:"_clearComponentState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_clearComponentState"}),"(",(0,s.jsx)(r.code,{children:"options"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L753",children:"packages/core/src/page/manager/AbstractPageManager.ts:753"})]}),"\n",(0,s.jsx)(r.p,{children:"The method clear state on current rendered component to DOM."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"options",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.p,{children:"The current route options."}),"\n",(0,s.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_clearcomponentstate",children:(0,s.jsx)(r.code,{children:"_clearComponentState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_constructmanagedpagevalue",children:"_constructManagedPageValue()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_constructManagedPageValue"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"view"}),", ",(0,s.jsx)(r.code,{children:"route"}),", ",(0,s.jsx)(r.code,{children:"options"}),", ",(0,s.jsx)(r.code,{children:"params"}),", ",(0,s.jsx)(r.code,{children:"controllerInstance"}),", ",(0,s.jsx)(r.code,{children:"decoratedController"}),", ",(0,s.jsx)(r.code,{children:"viewInstance"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L245",children:"packages/core/src/page/manager/AbstractPageManager.ts:245"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"unknown"})}),"\n",(0,s.jsx)(r.h5,{id:"route",children:"route"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(r.code,{children:"string"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,s.jsx)(r.h5,{id:"options-1",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,s.jsx)(r.h5,{id:"controllerinstance",children:"controllerInstance"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(r.code,{children:"Controller"})}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,s.jsx)(r.code,{children:"PageState"})}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(r.code,{children:"RouteParams"})}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,s.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,s.jsx)(r.h5,{id:"decoratedcontroller",children:"decoratedController"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,s.jsx)(r.code,{children:"ControllerDecorator"})})}),"\n",(0,s.jsx)(r.h5,{id:"viewinstance",children:"viewInstance"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"unknown"})}),"\n",(0,s.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_constructmanagedpagevalue",children:(0,s.jsx)(r.code,{children:"_constructManagedPageValue"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_deactivatecontroller",children:"_deactivateController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_deactivateController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L691",children:"packages/core/src/page/manager/AbstractPageManager.ts:691"})]}),"\n",(0,s.jsx)(r.p,{children:"Deactivate last managed instance of controller only If controller was\nactivated."}),"\n",(0,s.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_deactivatecontroller",children:(0,s.jsx)(r.code,{children:"_deactivateController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_deactivateextensions",children:"_deactivateExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_deactivateExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L702",children:"packages/core/src/page/manager/AbstractPageManager.ts:702"})]}),"\n",(0,s.jsx)(r.p,{children:"Deactivate extensions for last managed instance of controller only if\nthey were activated."}),"\n",(0,s.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_deactivateextensions",children:(0,s.jsx)(r.code,{children:"_deactivateExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_deactivatepagesource",children:"_deactivatePageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_deactivatePageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L677",children:"packages/core/src/page/manager/AbstractPageManager.ts:677"})]}),"\n",(0,s.jsx)(r.p,{children:"Deactivate page source so call deactivate method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_deactivatepagesource",children:(0,s.jsx)(r.code,{children:"_deactivatePageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_destroycontroller",children:"_destroyController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_destroyController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L726",children:"packages/core/src/page/manager/AbstractPageManager.ts:726"})]}),"\n",(0,s.jsx)(r.p,{children:"Destroy last managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_destroycontroller",children:(0,s.jsx)(r.code,{children:"_destroyController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_destroyextensions",children:"_destroyExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_destroyExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L739",children:"packages/core/src/page/manager/AbstractPageManager.ts:739"})]}),"\n",(0,s.jsx)(r.p,{children:"Destroy extensions for last managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_destroyextensions",children:(0,s.jsx)(r.code,{children:"_destroyExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_destroypagesource",children:"_destroyPageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_destroyPageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L714",children:"packages/core/src/page/manager/AbstractPageManager.ts:714"})]}),"\n",(0,s.jsx)(r.p,{children:"Destroy page source so call destroy method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_destroypagesource",children:(0,s.jsx)(r.code,{children:"_destroyPageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getinitialmanagedpage",children:"_getInitialManagedPage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getInitialManagedPage"}),"(): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L302",children:"packages/core/src/page/manager/AbstractPageManager.ts:302"})]}),"\n",(0,s.jsx)(r.p,{children:"Clear value from managed page."}),"\n",(0,s.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getinitialmanagedpage",children:(0,s.jsx)(r.code,{children:"_getInitialManagedPage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getloadedcontrollerstate",children:"_getLoadedControllerState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getLoadedControllerState"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L485",children:"packages/core/src/page/manager/AbstractPageManager.ts:485"})]}),"\n",(0,s.jsx)(r.p,{children:"Load controller state from managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-20",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getloadedcontrollerstate",children:(0,s.jsx)(r.code,{children:"_getLoadedControllerState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getloadedextensionsstate",children:"_getLoadedExtensionsState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getLoadedExtensionsState"}),"(",(0,s.jsx)(r.code,{children:"controllerState"}),"?): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L501",children:"packages/core/src/page/manager/AbstractPageManager.ts:501"})]}),"\n",(0,s.jsx)(r.p,{children:"Load extensions state from managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controllerstate",children:"controllerState?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-21",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getloadedextensionsstate",children:(0,s.jsx)(r.code,{children:"_getLoadedExtensionsState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getupdatedcontrollerstate",children:"_getUpdatedControllerState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getUpdatedControllerState"}),"(): {} | ",(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L621",children:"packages/core/src/page/manager/AbstractPageManager.ts:621"})]}),"\n",(0,s.jsx)(r.p,{children:"Return updated controller state for current page controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:["{} | ",(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-22",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getupdatedcontrollerstate",children:(0,s.jsx)(r.code,{children:"_getUpdatedControllerState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getupdatedextensionsstate",children:"_getUpdatedExtensionsState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getUpdatedExtensionsState"}),"(",(0,s.jsx)(r.code,{children:"controllerState"}),"?): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L637",children:"packages/core/src/page/manager/AbstractPageManager.ts:637"})]}),"\n",(0,s.jsx)(r.p,{children:"Return updated extensions state for current page controller."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controllerstate-1",children:"controllerState?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-23",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getupdatedextensionsstate",children:(0,s.jsx)(r.code,{children:"_getUpdatedExtensionsState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_hasonlyupdate",children:"_hasOnlyUpdate()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_hasOnlyUpdate"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"view"}),", ",(0,s.jsx)(r.code,{children:"options"}),"): ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L769",children:"packages/core/src/page/manager/AbstractPageManager.ts:769"})]}),"\n",(0,s.jsx)(r.p,{children:"Return true if manager has to update last managed controller and view."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller-1",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(r.h5,{id:"view-1",children:"view"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"unknown"})}),"\n",(0,s.jsx)(r.h5,{id:"options-2",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"boolean"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-24",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_hasonlyupdate",children:(0,s.jsx)(r.code,{children:"_hasOnlyUpdate"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_initcontroller",children:"_initController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_initController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L398",children:"packages/core/src/page/manager/AbstractPageManager.ts:398"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes managed instance of controller with the provided parameters."}),"\n",(0,s.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-25",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_initcontroller",children:(0,s.jsx)(r.code,{children:"_initController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_initextensions",children:"_initExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_initExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L413",children:"packages/core/src/page/manager/AbstractPageManager.ts:413"})]}),"\n",(0,s.jsx)(r.p,{children:"Initialize extensions for managed instance of controller with the\nprovided parameters."}),"\n",(0,s.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-26",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_initextensions",children:(0,s.jsx)(r.code,{children:"_initExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_initpagesource",children:"_initPageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_initPageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L383",children:"packages/core/src/page/manager/AbstractPageManager.ts:383"})]}),"\n",(0,s.jsx)(r.p,{children:"Initialize page source so call init method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-27",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_initpagesource",children:(0,s.jsx)(r.code,{children:"_initPageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_loadpagesource",children:"_loadPageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_loadPageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L443",children:"packages/core/src/page/manager/AbstractPageManager.ts:443"})]}),"\n",(0,s.jsx)(r.p,{children:"Load page source so call load method on controller and his extensions.\nMerge loaded state and render it."}),"\n",(0,s.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-28",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_loadpagesource",children:(0,s.jsx)(r.code,{children:"_loadPageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_runpostmanagehandlers",children:"_runPostManageHandlers()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_runPostManageHandlers"}),"(",(0,s.jsx)(r.code,{children:"previousManagedPage"}),", ",(0,s.jsx)(r.code,{children:"action"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L809",children:"packages/core/src/page/manager/AbstractPageManager.ts:809"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"previousmanagedpage",children:"previousManagedPage"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h5,{id:"action",children:"action"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(r.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-29",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_runpostmanagehandlers",children:(0,s.jsx)(r.code,{children:"_runPostManageHandlers"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_runpremanagehandlers",children:"_runPreManageHandlers()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_runPreManageHandlers"}),"(",(0,s.jsx)(r.code,{children:"actualManagedPage"}),", ",(0,s.jsx)(r.code,{children:"action"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L788",children:"packages/core/src/page/manager/AbstractPageManager.ts:788"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"actualmanagedpage",children:"actualManagedPage"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h5,{id:"action-1",children:"action"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(r.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-30",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_runpremanagehandlers",children:(0,s.jsx)(r.code,{children:"_runPreManageHandlers"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_setrestrictedpagestatemanager",children:"_setRestrictedPageStateManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_setRestrictedPageStateManager"}),"(",(0,s.jsx)(r.code,{children:"extension"}),", ",(0,s.jsx)(r.code,{children:"extensionState"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L342",children:"packages/core/src/page/manager/AbstractPageManager.ts:342"})]}),"\n",(0,s.jsx)(r.p,{children:"Set page state manager to extension which has restricted rights to set\nglobal state."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"extension",children:"extension"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})})}),"\n",(0,s.jsx)(r.h5,{id:"extensionstate",children:"extensionState"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-31",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_setrestrictedpagestatemanager",children:(0,s.jsx)(r.code,{children:"_setRestrictedPageStateManager"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_storemanagedpagesnapshot",children:"_storeManagedPageSnapshot()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_storeManagedPageSnapshot"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L281",children:"packages/core/src/page/manager/AbstractPageManager.ts:281"})]}),"\n",(0,s.jsx)(r.p,{children:"Creates a cloned version of currently managed page and stores it in\na helper property.\nSnapshot is used in manager handlers to easily determine differences\nbetween the current and the previous state."}),"\n",(0,s.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-32",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_storemanagedpagesnapshot",children:(0,s.jsx)(r.code,{children:"_storeManagedPageSnapshot"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_stripmanagedpagevalueforpublic",children:"_stripManagedPageValueForPublic()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_stripManagedPageValueForPublic"}),"(",(0,s.jsx)(r.code,{children:"value"}),"): ",(0,s.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L332",children:"packages/core/src/page/manager/AbstractPageManager.ts:332"})]}),"\n",(0,s.jsx)(r.p,{children:"Removes properties we do not want to propagate outside of the page manager"}),"\n",(0,s.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"value",children:"value"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.p,{children:"The managed page object to strip down"}),"\n",(0,s.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"object"})}),"\n",(0,s.jsx)(r.h5,{id:"controller-2",children:"controller"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"controller"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"options-3",children:"options"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"options"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"params"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(r.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"route-1",children:"route"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"route"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(r.code,{children:"string"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"view-2",children:"view"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"view"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-33",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_stripmanagedpagevalueforpublic",children:(0,s.jsx)(r.code,{children:"_stripManagedPageValueForPublic"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_switchtopagestatemanager",children:"_switchToPageStateManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_switchToPageStateManager"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L430",children:"packages/core/src/page/manager/AbstractPageManager.ts:430"})]}),"\n",(0,s.jsx)(r.p,{children:"Iterates over extensions of current controller and switches each one to\npageStateManager and clears their partial state."}),"\n",(0,s.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-34",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_switchtopagestatemanager",children:(0,s.jsx)(r.code,{children:"_switchToPageStateManager"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_switchtopagestatemanagerafterloaded",children:"_switchToPageStateManagerAfterLoaded()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_switchToPageStateManagerAfterLoaded"}),"(",(0,s.jsx)(r.code,{children:"extension"}),", ",(0,s.jsx)(r.code,{children:"extensionState"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L363",children:"packages/core/src/page/manager/AbstractPageManager.ts:363"})]}),"\n",(0,s.jsx)(r.p,{children:"For defined extension switches to pageStageManager and clears partial state\nafter extension state is loaded."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"extension-1",children:"extension"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})})}),"\n",(0,s.jsx)(r.h5,{id:"extensionstate-1",children:"extensionState"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-29",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-35",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_switchtopagestatemanagerafterloaded",children:(0,s.jsx)(r.code,{children:"_switchToPageStateManagerAfterLoaded"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_updatepagesource",children:"_updatePageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_updatePageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L580",children:"packages/core/src/page/manager/AbstractPageManager.ts:580"})]}),"\n",(0,s.jsx)(r.p,{children:"Update page source so call update method on controller and his\nextensions. Merge updated state and render it."}),"\n",(0,s.jsx)(r.h4,{id:"returns-30",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-36",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_updatepagesource",children:(0,s.jsx)(r.code,{children:"_updatePageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"destroy"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L232",children:"packages/core/src/page/manager/AbstractPageManager.ts:232"})]}),"\n",(0,s.jsx)(r.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(r.h4,{id:"returns-31",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-37",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#destroy",children:(0,s.jsx)(r.code,{children:"destroy"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getviewcontroller",children:"getViewController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"getViewController"}),"(",(0,s.jsx)(r.code,{children:"route"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<{ ",(0,s.jsx)(r.code,{children:"controller"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})}),"; ",(0,s.jsx)(r.code,{children:"view"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,s.jsx)(r.code,{children:"RouteView"})}),"; }>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L833",children:"packages/core/src/page/manager/AbstractPageManager.ts:833"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"route-2",children:"route"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(r.code,{children:"string"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"returns-32",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<{ ",(0,s.jsx)(r.code,{children:"controller"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})}),"; ",(0,s.jsx)(r.code,{children:"view"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,s.jsx)(r.code,{children:"RouteView"})}),"; }>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-38",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#getviewcontroller",children:(0,s.jsx)(r.code,{children:"getViewController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"init"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L114",children:"packages/core/src/page/manager/AbstractPageManager.ts:114"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes the page manager."}),"\n",(0,s.jsx)(r.h4,{id:"returns-33",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-39",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#init",children:(0,s.jsx)(r.code,{children:"init"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"manage",children:"manage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"manage"}),"(",(0,s.jsx)(r.code,{children:"__namedParameters"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L133",children:"packages/core/src/page/manager/AbstractPageManager.ts:133"})]}),"\n",(0,s.jsx)(r.p,{children:"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."}),"\n",(0,s.jsx)(r.p,{children:"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"__namedparameters",children:"__namedParameters"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManageArgs",children:(0,s.jsx)(r.code,{children:"ManageArgs"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-34",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsxs)(r.p,{children:["A promise that will resolve to information about the rendered page.\nThe ",(0,s.jsx)(r.code,{children:"status"})," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-40",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#manage",children:(0,s.jsx)(r.code,{children:"manage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"postmanage",children:"postManage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"postManage"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L223",children:"packages/core/src/page/manager/AbstractPageManager.ts:223"})]}),"\n",(0,s.jsx)(r.p,{children:"Called by router after currently managed route is resolved."}),"\n",(0,s.jsx)(r.h4,{id:"returns-35",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-41",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#postmanage",children:(0,s.jsx)(r.code,{children:"postManage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"premanage",children:"preManage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"preManage"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L123",children:"packages/core/src/page/manager/AbstractPageManager.ts:123"})]}),"\n",(0,s.jsx)(r.p,{children:"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."}),"\n",(0,s.jsx)(r.h4,{id:"returns-36",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-42",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#premanage",children:(0,s.jsx)(r.code,{children:"preManage"})})]})]})}function h(e={}){const{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3023:(e,r,a)=>{a.d(r,{R:()=>i,x:()=>d});var n=a(3696);const s={},c=n.createContext(s);function i(e){const r=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3149f580.b57117fe.js b/assets/js/3149f580.b57117fe.js deleted file mode 100644 index d4eca6eee..000000000 --- a/assets/js/3149f580.b57117fe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[905],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>u});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var g=n.createContext({}),p=function(e){var a=n.useContext(g),t=a;return e&&(t="function"==typeof e?e(a):o(o({},a),e)),t},s=function(e){var a=p(e.components);return n.createElement(g.Provider,{value:a},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},m=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(t),m=r,u=d["".concat(g,".").concat(m)]||d[m]||y[m]||i;return t?n.createElement(u,o(o({ref:a},s),{},{components:t})):n.createElement(u,o({ref:a},s))}));function u(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=m;var l={};for(var g in a)hasOwnProperty.call(a,g)&&(l[g]=a[g]);l.originalType=e,l[d]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<i;p++)o[p]=t[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},8942:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>g,contentTitle:()=>o,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.CookieStorage",title:"Class: CookieStorage",sidebar_label:"@ima/core.CookieStorage",custom_edit_url:null},o=void 0,l={unversionedId:"api/classes/ima_core.CookieStorage",id:"api/classes/ima_core.CookieStorage",title:"Class: CookieStorage",description:"@ima/core.CookieStorage",source:"@site/../docs/api/classes/ima_core.CookieStorage.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.CookieStorage",permalink:"/api/classes/ima_core.CookieStorage",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.CookieStorage",title:"Class: CookieStorage",sidebar_label:"@ima/core.CookieStorage",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ControllerDecorator",permalink:"/api/classes/ima_core.ControllerDecorator"},next:{title:"@ima/core.Dictionary",permalink:"/api/classes/ima_core.Dictionary"}},g={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"#memoParseRawCookies",id:"memoparserawcookies",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_options",id:"_options",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_request",id:"_request",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_response",id:"_response",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_storage",id:"_storage",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"_transformFunction",id:"_transformfunction",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_window",id:"_window",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods",level:2},{value:"#extractCookie",id:"extractcookie",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"#extractNameAndValue",id:"extractnameandvalue",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"#firstLetterToLowerCase",id:"firstlettertolowercase",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"#generateCookieString",id:"generatecookiestring",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"#parseRawCookies",id:"parserawcookies",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getCookiesStringForCookieHeader",id:"getcookiesstringforcookieheader",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"getExpirationAsDate",id:"getexpirationasdate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"keys",id:"keys",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"parse",id:"parse",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"parseFromSetCookieHeader",id:"parsefromsetcookieheader",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"recomputeCookieMaxAgeAndExpires",id:"recomputecookiemaxageandexpires",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"sanitizeCookieValue",id:"sanitizecookievalue",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"size",id:"size",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"validateCookieSecurity",id:"validatecookiesecurity",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-28",level:4}],s={toc:p},d="wrapper";function y(e){let{components:a,...t}=e;return(0,r.yg)(d,(0,n.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".CookieStorage"),(0,r.yg)("p",null,"Storage of cookies, mirroring the cookies to the current request / response\nat the server side and the ",(0,r.yg)("inlineCode",{parentName:"p"},"document.cookie")," property at the client\nside. The storage caches the cookies internally."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,r.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookie"},(0,r.yg)("inlineCode",{parentName:"a"},"Cookie")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"value"'),"]",">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"CookieStorage"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new CookieStorage"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"window"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"request"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"response"),")"),(0,r.yg)("p",null,"Initializes the cookie storage."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"window")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The window utility.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"request")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Request"},(0,r.yg)("inlineCode",{parentName:"a"},"Request"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current HTTP request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"response")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current HTTP response.")))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"cookie.set('cookie', 'value', { expires: 10 }); // cookie expires\n // after 10s\n cookie.set('cookie'); // delete cookie\n")),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L182"},"packages/core/src/storage/CookieStorage.ts:182")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"memoparserawcookies"},"#memoParseRawCookies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#memoParseRawCookies"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"MemoizedFn"),"\\<(",(0,r.yg)("inlineCode",{parentName:"p"},"rawCookies"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]",">"),(0,r.yg)("p",null,"Memoized function of private parseRawCookies function"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L93"},"packages/core/src/storage/CookieStorage.ts:93")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_options"},"_","options"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","options"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions"))),(0,r.yg)("p",null,"The overriding cookie attribute values."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L68"},"packages/core/src/storage/CookieStorage.ts:68")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_request"},"_","request"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","request"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Request"},(0,r.yg)("inlineCode",{parentName:"a"},"Request"))),(0,r.yg)("p",null,"The current HTTP request. This field is used at the server side."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L53"},"packages/core/src/storage/CookieStorage.ts:53")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_response"},"_","response"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","response"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"The current HTTP response. This field is used at the server side."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L58"},"packages/core/src/storage/CookieStorage.ts:58")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_storage"},"_","storage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","storage"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookie"},(0,r.yg)("inlineCode",{parentName:"a"},"Cookie")),">"),(0,r.yg)("p",null,"The internal storage of entries."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L63"},"packages/core/src/storage/CookieStorage.ts:63")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_transformfunction"},"_","transformFunction"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","transformFunction"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Transform encode and decode functions for cookie value."),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"decode")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"encode")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L82"},"packages/core/src/storage/CookieStorage.ts:82")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_window"},"_","window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("p",null,"The window utility used to determine whether the IMA is being run\nat the client or at the server."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L48"},"packages/core/src/storage/CookieStorage.ts:48")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L95"},"packages/core/src/storage/CookieStorage.ts:95")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"extractcookie"},"#extractCookie"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#extractCookie"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"cookieString"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookie"},(0,r.yg)("inlineCode",{parentName:"a"},"Cookie"))," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"name?"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," }"),(0,r.yg)("p",null,"Extract cookie name, value and options from cookie string."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cookieString")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value of the ",(0,r.yg)("inlineCode",{parentName:"td"},"Set-Cookie")," HTTP header.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookie"},(0,r.yg)("inlineCode",{parentName:"a"},"Cookie"))," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"name?"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," }"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L590"},"packages/core/src/storage/CookieStorage.ts:590")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"extractnameandvalue"},"#extractNameAndValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#extractNameAndValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"pair"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pairIndex"),"): ","[",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Date"),"]"),(0,r.yg)("p",null,"Extract name and value for defined pair and pair index."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pair")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pairIndex")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,"[",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Date"),"]"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L620"},"packages/core/src/storage/CookieStorage.ts:620")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"firstlettertolowercase"},"#firstLetterToLowerCase"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#firstLetterToLowerCase"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"word"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Creates a copy of the provided word (or text) that has its first\ncharacter converted to lower case."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"word")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The word (or any text) that should have its first character converted to lower case.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"A copy of the provided string with its first character\nconverted to lower case."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L539"},"packages/core/src/storage/CookieStorage.ts:539")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"generatecookiestring"},"#generateCookieString"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#generateCookieString"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates a string representing the specified cookie, usable either\nwith the ",(0,r.yg)("inlineCode",{parentName:"p"},"document.cookie")," property or the ",(0,r.yg)("inlineCode",{parentName:"p"},"Set-Cookie")," HTTP\nheader."),(0,r.yg)("p",null,"(Note that the ",(0,r.yg)("inlineCode",{parentName:"p"},"Cookie")," HTTP header uses a slightly different\nsyntax.)"),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Date")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie value, will be converted to string.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cookie attributes. Only the attributes listed in the type annotation of this field are supported. For documentation and full list of cookie attributes see ",(0,r.yg)("a",{parentName:"td",href:"http://tools.ietf.org/html/rfc2965#page-5"},"http://tools.ietf.org/html/rfc2965#page-5"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"A string representing the cookie. Setting this string\nto the ",(0,r.yg)("inlineCode",{parentName:"p"},"document.cookie")," property will set the cookie to\nthe browser's cookie storage."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L562"},"packages/core/src/storage/CookieStorage.ts:562")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"parserawcookies"},"#parseRawCookies"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#parseRawCookies"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"rawCookies"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"rawCookies")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L495"},"packages/core/src/storage/CookieStorage.ts:495")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"Clears the storage of all entries."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"This storage."),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#clear"},"clear")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L280"},"packages/core/src/storage/CookieStorage.ts:280")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"delete"},"delete"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"delete"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"Deletes the cookie identified by the specified name."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Name identifying the cookie.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie options. The ",(0,r.yg)("inlineCode",{parentName:"td"},"domain")," and ",(0,r.yg)("inlineCode",{parentName:"td"},"path")," specify the cookie's domain and path. The ",(0,r.yg)("inlineCode",{parentName:"td"},"httpOnly")," and ",(0,r.yg)("inlineCode",{parentName:"td"},"secure")," flags set the flags of the same name of the cookie.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"This storage."),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#delete"},"delete")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L268"},"packages/core/src/storage/CookieStorage.ts:268")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Date")),(0,r.yg)("p",null,"Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if the entry does not exists."),(0,r.yg)("p",null,"Entries set to the ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," value can be tested for existence\nusing the ",(0,r.yg)("inlineCode",{parentName:"p"},"link has")," method."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Date")),(0,r.yg)("p",null,"The value of the storage entry."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#get"},"get")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L216"},"packages/core/src/storage/CookieStorage.ts:216")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getcookiesstringforcookieheader"},"getCookiesStringForCookieHeader"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getCookiesStringForCookieHeader"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns all cookies in this storage serialized to a string compatible\nwith the ",(0,r.yg)("inlineCode",{parentName:"p"},"Cookie")," HTTP header."),(0,r.yg)("p",null,"When ",(0,r.yg)("inlineCode",{parentName:"p"},"url")," is provided, the method validates the cookie security based on\nthe ",(0,r.yg)("inlineCode",{parentName:"p"},"url")," and the cookie's domain, path, and secure attributes."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"All cookies in this storage serialized to a string\ncompatible with the ",(0,r.yg)("inlineCode",{parentName:"p"},"Cookie")," HTTP header."),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L318"},"packages/core/src/storage/CookieStorage.ts:318")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getexpirationasdate"},"getExpirationAsDate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getExpirationAsDate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"expiration"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Date")),(0,r.yg)("p",null,"Converts the provided cookie expiration to a ",(0,r.yg)("inlineCode",{parentName:"p"},"Date")," instance."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"expiration")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Date")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cookie expiration in seconds from now, or as a string compatible with the ",(0,r.yg)("inlineCode",{parentName:"td"},"Date")," constructor.")))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Date")),(0,r.yg)("p",null,"Cookie expiration as a ",(0,r.yg)("inlineCode",{parentName:"p"},"Date")," instance."),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L481"},"packages/core/src/storage/CookieStorage.ts:481")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"has"},"has"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"has"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the entry identified by the specified key exists\nin this storage."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the storage entry exists."),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#has"},"has")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L207"},"packages/core/src/storage/CookieStorage.ts:207")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"transformFunction?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."),(0,r.yg)("p",null,"This method must be invoked only once and it must be the first method\ninvoked on this instance."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"transformFunction")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object"))))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"This storage."),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#init"},"init")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L193"},"packages/core/src/storage/CookieStorage.ts:193")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"keys"},"keys"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"keys"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,r.yg)("p",null,"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,r.yg)("p",null,"An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,r.yg)("inlineCode",{parentName:"p"},"for..of")," loop."),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#keys"},"keys")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L293"},"packages/core/src/storage/CookieStorage.ts:293")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"parse"},"parse"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"parse"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Parses cookies from a cookie string and sets the parsed cookies to the\ninternal storage."),(0,r.yg)("p",null,"The method obtains the cookie string from the request's ",(0,r.yg)("inlineCode",{parentName:"p"},"Cookie"),"\nHTTP header when used at the server side, and the ",(0,r.yg)("inlineCode",{parentName:"p"},"document.cookie"),"\nproperty at the client side."),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L393"},"packages/core/src/storage/CookieStorage.ts:393")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"parsefromsetcookieheader"},"parseFromSetCookieHeader"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"parseFromSetCookieHeader"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"cookiesString"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Parses cookies from the provided ",(0,r.yg)("inlineCode",{parentName:"p"},"Set-Cookie")," HTTP header value."),(0,r.yg)("p",null,"When ",(0,r.yg)("inlineCode",{parentName:"p"},"url")," is provided, the method validates the cookie security based on\nthe ",(0,r.yg)("inlineCode",{parentName:"p"},"url")," and the cookie's domain, path, and secure attributes."),(0,r.yg)("p",null,"The parsed cookies will be set to the internal storage, and the current\nHTTP response (via the ",(0,r.yg)("inlineCode",{parentName:"p"},"Set-Cookie")," HTTP header) if at the server\nside, or the browser (via the ",(0,r.yg)("inlineCode",{parentName:"p"},"document.cookie")," property)."),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cookiesString")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value of the ",(0,r.yg)("inlineCode",{parentName:"td"},"Set-Cookie")," HTTP header. When there are multiple cookies, the value can be provided as an array of strings.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L357"},"packages/core/src/storage/CookieStorage.ts:357")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"recomputecookiemaxageandexpires"},"recomputeCookieMaxAgeAndExpires"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"recomputeCookieMaxAgeAndExpires"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Recomputes cookie's attributes maxAge and expires between each other."),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cookie attributes. Only the attributes listed in the type annotation of this field are supported. For documentation and full list of cookie attributes see ",(0,r.yg)("a",{parentName:"td",href:"http://tools.ietf.org/html/rfc2965#page-5"},"http://tools.ietf.org/html/rfc2965#page-5"))))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L459"},"packages/core/src/storage/CookieStorage.ts:459")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"sanitizecookievalue"},"sanitizeCookieValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"sanitizeCookieValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Sanitize cookie value by rules in\n(@see ",(0,r.yg)("a",{parentName:"p",href:"http://tools.ietf.org/html/rfc6265#section-4r.1.1"},"http://tools.ietf.org/html/rfc6265#section-4r.1.1"),"). Erase all\ninvalid characters from cookie value."),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Date")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cookie value")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Sanitized value"),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L417"},"packages/core/src/storage/CookieStorage.ts:417")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"set"},"set"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"set"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Date")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The storage entry value.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookieoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie options. The ",(0,r.yg)("inlineCode",{parentName:"td"},"maxAge")," is the maximum age in seconds of the cookie before it will be deleted, the ",(0,r.yg)("inlineCode",{parentName:"td"},"expires")," is an alternative to that, specifying the moment at which the cookie will be discarded. The ",(0,r.yg)("inlineCode",{parentName:"td"},"domain")," and ",(0,r.yg)("inlineCode",{parentName:"td"},"path")," specify the cookie's domain and path. The ",(0,r.yg)("inlineCode",{parentName:"td"},"httpOnly")," and ",(0,r.yg)("inlineCode",{parentName:"td"},"secure")," flags set the flags of the same name of the cookie.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("p",null,"This storage."),(0,r.yg)("h4",{id:"overrides-7"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#set"},"set")),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L234"},"packages/core/src/storage/CookieStorage.ts:234")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"size"},"size"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"size"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"Returns the number of entries in this storage."),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"The number of entries in this storage."),(0,r.yg)("h4",{id:"overrides-8"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#size"},"size")),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L302"},"packages/core/src/storage/CookieStorage.ts:302")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"validatecookiesecurity"},"validateCookieSecurity"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"validateCookieSecurity"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"cookie"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Filters invalid cookies based on the provided url.\nWe try to check validity of the domain based on secure, path and\ndomain definitions."),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cookie")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#cookie"},(0,r.yg)("inlineCode",{parentName:"a"},"Cookie")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/CookieStorage.ts#L104"},"packages/core/src/storage/CookieStorage.ts:104")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/321fbd12.743a4e70.js b/assets/js/321fbd12.743a4e70.js deleted file mode 100644 index 2f74a6361..000000000 --- a/assets/js/321fbd12.743a4e70.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1690],{5680:(e,a,t)=>{t.d(a,{xA:()=>d,yg:()=>c});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function g(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=n.createContext({}),s=function(e){var a=n.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},d=function(e){var a=s(e.components);return n.createElement(p.Provider,{value:a},e.children)},o="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},m=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,d=g(e,["components","mdxType","originalType","parentName"]),o=s(t),m=r,c=o["".concat(p,".").concat(m)]||o[m]||y[m]||i;return t?n.createElement(c,l(l({ref:a},d),{},{components:t})):n.createElement(c,l({ref:a},d))}));function c(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=m;var g={};for(var p in a)hasOwnProperty.call(a,p)&&(g[p]=a[p]);g.originalType=e,g[o]="string"==typeof e?e:r,l[1]=g;for(var s=2;s<i;s++)l[s]=t[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},108:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>s});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.PageStateManagerImpl",title:"Class: PageStateManagerImpl<S>",sidebar_label:"@ima/core.PageStateManagerImpl",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.PageStateManagerImpl",id:"api/classes/ima_core.PageStateManagerImpl",title:"Class: PageStateManagerImpl<S>",description:"@ima/core.PageStateManagerImpl",source:"@site/../docs/api/classes/ima_core.PageStateManagerImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageStateManagerImpl",permalink:"/api/classes/ima_core.PageStateManagerImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageStateManagerImpl",title:"Class: PageStateManagerImpl<S>",sidebar_label:"@ima/core.PageStateManagerImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageStateManagerDecorator",permalink:"/api/classes/ima_core.PageStateManagerDecorator"},next:{title:"@ima/core.PluginLoader",permalink:"/api/classes/ima_core.PluginLoader"}},p={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_cursor",id:"_cursor",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_ongoingTransaction",id:"_ongoingtransaction",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_statePatchQueue",id:"_statepatchqueue",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_states",id:"_states",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"onChange",id:"onchange",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"_callOnChangeCallback",id:"_callonchangecallback",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_eraseExcessHistory",id:"_eraseexcesshistory",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_pushToHistory",id:"_pushtohistory",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"beginTransaction",id:"begintransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"cancelTransaction",id:"canceltransaction",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"commitTransaction",id:"committransaction",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"getAllStates",id:"getallstates",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getTransactionStatePatches",id:"gettransactionstatepatches",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-18",level:4}],d={toc:s},o="wrapper";function y(e){let{components:a,...t}=e;return(0,r.yg)(o,(0,n.A)({},d,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageStateManagerImpl"),(0,r.yg)("p",null,"The implementation of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager")," interface."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"PageStateManagerImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new PageStateManagerImpl"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"dispatcher"),")"),(0,r.yg)("p",null,"Initializes the page state manager."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Dispatcher fires events to app.")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L40"},"packages/core/src/page/state/PageStateManagerImpl.ts:40")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_cursor"},"_","cursor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","cursor"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"-1")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L25"},"packages/core/src/page/state/PageStateManagerImpl.ts:25")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L26"},"packages/core/src/page/state/PageStateManagerImpl.ts:26")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_ongoingtransaction"},"_","ongoingTransaction"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","ongoingTransaction"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")," = ",(0,r.yg)("inlineCode",{parentName:"p"},"false")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L27"},"packages/core/src/page/state/PageStateManagerImpl.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_statepatchqueue"},"_","statePatchQueue"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","statePatchQueue"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",")[] = ",(0,r.yg)("inlineCode",{parentName:"p"},"[]")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L28"},"packages/core/src/page/state/PageStateManagerImpl.ts:28")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_states"},"_","states"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","states"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[] = ",(0,r.yg)("inlineCode",{parentName:"p"},"[]")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L29"},"packages/core/src/page/state/PageStateManagerImpl.ts:29")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"onchange"},"onChange"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"onChange"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"newState"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"newState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"newState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#onchange"},"onChange")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L7"},"packages/core/src/page/state/PageStateManager.ts:7")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher")),"[]"),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,"typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher")),"[]"),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L31"},"packages/core/src/page/state/PageStateManagerImpl.ts:31")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_callonchangecallback"},"_","callOnChangeCallback"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_callOnChangeCallback"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"newState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Call registered callback function on (@link onChange) with newState."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"newState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L175"},"packages/core/src/page/state/PageStateManagerImpl.ts:175")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_eraseexcesshistory"},"_","eraseExcessHistory"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_eraseExcessHistory"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Erase the oldest state from storage only if it exceed max\ndefined size of history."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L157"},"packages/core/src/page/state/PageStateManagerImpl.ts:157")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pushtohistory"},"_","pushToHistory"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_pushToHistory"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"newState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Push new state to history storage."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"newState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L167"},"packages/core/src/page/state/PageStateManagerImpl.ts:167")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"begintransaction"},"beginTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"beginTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Starts queueing state patches off the main state. While the transaction\nis active every ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,r.yg)("p",null,"Note that call to ",(0,r.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#begintransaction"},"beginTransaction")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L106"},"packages/core/src/page/state/PageStateManagerImpl.ts:106")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"canceltransaction"},"cancelTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cancelTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Cancels ongoing transaction. Uncommitted state changes are lost."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#canceltransaction"},"cancelTransaction")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L148"},"packages/core/src/page/state/PageStateManagerImpl.ts:148")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Clears the state history."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#clear"},"clear")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L49"},"packages/core/src/page/state/PageStateManagerImpl.ts:49")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"committransaction"},"commitTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"commitTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Applies queued state patches to the main state. All patches are squashed\nand applied with one ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#committransaction"},"commitTransaction")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L123"},"packages/core/src/page/state/PageStateManagerImpl.ts:123")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getallstates"},"getAllStates"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getAllStates"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,r.yg)("p",null,"Returns the recorded history of page states. The states will be\nchronologically sorted from the oldest to the newest."),(0,r.yg)("p",null,"Note that the implementation may limit the size of the recorded history,\ntherefore the complete history may not be available."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,r.yg)("p",null,"The recorded history of page states."),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#getallstates"},"getAllStates")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L92"},"packages/core/src/page/state/PageStateManagerImpl.ts:92")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getstate"},"getState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"S")),(0,r.yg)("p",null,"Returns the current page state."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S")),(0,r.yg)("p",null,"The current page state."),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#getstate"},"getState")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L85"},"packages/core/src/page/state/PageStateManagerImpl.ts:85")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gettransactionstatepatches"},"getTransactionStatePatches"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getTransactionStatePatches"),"(): (",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",")[]"),(0,r.yg)("p",null,"Returns queueing state patches off the main state from the begin of transaction."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,"(",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",")[]"),(0,r.yg)("p",null,"State patches from the begin of transaction."),(0,r.yg)("h4",{id:"overrides-7"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#gettransactionstatepatches"},"getTransactionStatePatches")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L99"},"packages/core/src/page/state/PageStateManagerImpl.ts:99")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"patchState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets a new page state by applying the provided patch to the current\nstate."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"patchState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-8"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#setstate"},"setState")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L59"},"packages/core/src/page/state/PageStateManagerImpl.ts:59")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3237d59a.443cfcf6.js b/assets/js/3237d59a.443cfcf6.js new file mode 100644 index 000000000..d17f0a503 --- /dev/null +++ b/assets/js/3237d59a.443cfcf6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5525],{6270:(i,e,n)=>{n.r(e),n.d(e,{assets:()=>t,contentTitle:()=>c,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>o});const l=JSON.parse('{"id":"api/@ima/plugin-cli/globals","title":"@ima/plugin-cli","description":"Interfaces","source":"@site/../docs/api/@ima/plugin-cli/globals.md","sourceDirName":"api/@ima/plugin-cli","slug":"/api/@ima/plugin-cli/globals","permalink":"/api/@ima/plugin-cli/globals","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/globals.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: typescriptDeclarationsPlugin()","permalink":"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin"},"next":{"title":"Interface: Context","permalink":"/api/@ima/plugin-cli/interfaces/Context"}}');var a=n(2540),r=n(3023);const s={},c="@ima/plugin-cli",t={},o=[{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2},{value:"Functions",id:"functions",level:2}];function p(i){const e={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,r.R)(),...i.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.header,{children:(0,a.jsx)(e.h1,{id:"imaplugin-cli",children:"@ima/plugin-cli"})}),"\n",(0,a.jsx)(e.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/interfaces/Context",children:"Context"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",children:"ImaPluginConfig"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/interfaces/PipeContext",children:"PipeContext"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/interfaces/Source",children:"Source"})}),"\n"]}),"\n",(0,a.jsx)(e.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/type-aliases/Command",children:"Command"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/type-aliases/Plugin",children:"Plugin"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/type-aliases/Transformer",children:"Transformer"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/type-aliases/TransformerOptions",children:"TransformerOptions"})}),"\n"]}),"\n",(0,a.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/variables/clientServerConfig",children:"clientServerConfig"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/variables/defaultConfig",children:"defaultConfig"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/variables/nodeConfig",children:"nodeConfig"})}),"\n"]}),"\n",(0,a.jsx)(e.h2,{id:"functions",children:"Functions"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/functions/preprocessTransformer",children:"preprocessTransformer"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/functions/swcTransformer",children:"swcTransformer"})}),"\n",(0,a.jsx)(e.li,{children:(0,a.jsx)(e.a,{href:"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin",children:"typescriptDeclarationsPlugin"})}),"\n"]})]})}function u(i={}){const{wrapper:e}={...(0,r.R)(),...i.components};return e?(0,a.jsx)(e,{...i,children:(0,a.jsx)(p,{...i})}):p(i)}},3023:(i,e,n)=>{n.d(e,{R:()=>s,x:()=>c});var l=n(3696);const a={},r=l.createContext(a);function s(i){const e=l.useContext(r);return l.useMemo((function(){return"function"==typeof i?i(e):{...e,...i}}),[e,i])}function c(i){let e;return e=i.disableParentContext?"function"==typeof i.components?i.components(a):i.components||a:s(i.components),l.createElement(r.Provider,{value:e},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/327389ac.8b16545b.js b/assets/js/327389ac.8b16545b.js new file mode 100644 index 000000000..74d9661c7 --- /dev/null +++ b/assets/js/327389ac.8b16545b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1495],{9463:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"basic-features/page-state","title":"Page State","description":"Basic features > Page State and it\'s usage","source":"@site/../docs/basic-features/page-state.md","sourceDirName":"basic-features","slug":"/basic-features/page-state","permalink":"/basic-features/page-state","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/page-state.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Page State","description":"Basic features > Page State and it\'s usage"},"sidebar":"docs","previous":{"title":"Events","permalink":"/basic-features/events"},"next":{"title":"SEO & Meta Manager","permalink":"/basic-features/seo-and-meta-manager"}}');var a=n(2540),i=n(3023);const o={title:"Page State",description:"Basic features > Page State and it's usage"},r=void 0,l={},c=[{value:"Get &\xa0Set",id:"get-set",level:2},{value:"Initial page state",id:"initial-page-state",level:2},{value:"Partial state",id:"partial-state",level:2},{value:"State transactions",id:"state-transactions",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Core of each application is the data the app is working with. The data needs to be managed in some manner and user needs to be able to manipulate with the data during application run. IMA.js adopted a React style of state management."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{src:n(19).A+"",width:"881",height:"421"})}),"\n",(0,a.jsxs)(t.p,{children:["A ",(0,a.jsx)(t.strong,{children:"PageStateManager"})," class is used for managing ",(0,a.jsx)(t.strong,{children:"page state"})," and is in tight cooperation with ",(0,a.jsx)(t.strong,{children:"PageManager"}),".\nPageManager need state manager to collect initial state from Controller and registered extension, and to be informed about every state change that happens inside Controller or Extension."]}),"\n",(0,a.jsx)(t.h2,{id:"get-set",children:"Get &\xa0Set"}),"\n",(0,a.jsxs)(t.p,{children:["As we've mentioned before, IMA.js state management is inspired by React. In every Controller and Extension you can call ",(0,a.jsx)(t.code,{children:"this.setState(patchObject)"})," method that will update page state and trigger new rendering of a View. Counterpart to ",(0,a.jsx)(t.code,{children:"setState"})," is ",(0,a.jsx)(t.code,{children:"getState"}),". This method returns current state that is shared among controller and all its registered extensions."]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-javascript",children:"// app/page/home/HomeController.js\n\nonVisibilityToggle() {\n const {\xa0visibility } = this.getState();\n\n this.setState({ visibility: !visibility });\n}\n"})}),"\n",(0,a.jsx)(t.h2,{id:"initial-page-state",children:"Initial page state"}),"\n",(0,a.jsxs)(t.p,{children:["First additions to page state are set when ",(0,a.jsx)(t.code,{children:"load"})," method of a Controller and Extensions returns an object of resources. These resources may be plain data or (un)resolved promises. Promises are handled differently on server vs. client. This behavior is described in Controller's ",(0,a.jsxs)(t.a,{href:"./controller-lifecycle#load-serverclient",children:[(0,a.jsx)(t.code,{children:"load"})," method documentation"]}),"."]}),"\n",(0,a.jsx)(t.h2,{id:"partial-state",children:"Partial state"}),"\n",(0,a.jsxs)(t.p,{children:["Since Extensions also have a word in loading resources it may be necessary to share resources between Controller and Extensions. Here comes partial state into play. It allows you to call ",(0,a.jsx)(t.code,{children:"getState"})," method in ",(0,a.jsx)(t.code,{children:"load"})," method of an Extension. Received state consists of states collected from loaded Controller and Extensions loaded prior to the current Extension. Extensions are loaded in the same order as they were registered in a Controller."]}),"\n",(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Note"}),": Promises in received state may not be resolved. Therefore you need to chain promises or use ",(0,a.jsx)(t.code,{children:"async/await"}),"."]}),"\n"]}),"\n",(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Note"}),": If you'll use ",(0,a.jsx)(t.code,{children:"async/await"})," execution will not be parallel relative to other promises."]}),"\n"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-javascript",children:"// app/page/home/HomeController.js\nexport default class HomeController extends AbstractController {\n\n load() {\n const userPromise = this._userService.load(this.params.userId);\n\n return {\n user: userPromise\n };\n }\n}\n"})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-javascript",children:"// app/component/poll/PollExtension.js\nexport default class PollExtension extends AbstractExtension {\n getAllowedStateKeys() {\n return ['pollVotes'];\n }\n\n load() {\n const { user: userPromise } = this.getState();\n const pollVotesPromise = userPromise.then(\n user => this._pollService.getVotes(user.id)\n );\n\n return {\n pollVotes: pollVotesPromise\n };\n }\n}\n"})}),"\n",(0,a.jsx)(t.h2,{id:"state-transactions",children:"State transactions"}),"\n",(0,a.jsx)(t.p,{children:"State transactions, similarly to SQL transactions, provide a way to queue state patches and then commit them as a one to the original state."}),"\n",(0,a.jsxs)(t.p,{children:["They're here for use cases where you'd in you workflow call ",(0,a.jsx)(t.code,{children:"setState"})," method multiple times or you'd have to collect state patches in a separate variable (this is hard to do across multiple methods)."]}),"\n",(0,a.jsxs)(t.p,{children:["Transaction is initiated with ",(0,a.jsx)(t.code,{children:"beginStateTransaction()"})," in Controller/Extension. After that\nevery setState call is queued and doesn't change the state or re-render anything. If there\nis another transaction initiated before you commit you'll lost your patches."]}),"\n",(0,a.jsxs)(t.p,{children:["If you want to see what changes are in queue from the begin of transaction call ",(0,a.jsx)(t.code,{children:"getTransactionStatePatches()"})," method."]}),"\n",(0,a.jsxs)(t.p,{children:["To finish the transaction you have to call ",(0,a.jsx)(t.code,{children:"commitStateTransaction()"})," method. It will squash\nall the patches made during the transaction into a one and apply it to the original state.\nTherefore your application will re-render only once and you'll also receive ",(0,a.jsx)(t.a,{href:"./events#stateeventsbefore_change_state",children:"state events"})," only once."]}),"\n",(0,a.jsxs)(t.p,{children:["Another way to finish the transaction is to cancel it via ",(0,a.jsx)(t.code,{children:"cancelStateTransaction()"})," method."]}),"\n",(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Note"}),": Call to ",(0,a.jsx)(t.code,{children:"getState"})," method after the transaction has begun will return state as it was before the transaction eg. the returned state doesn't include changes from the transaction period until the transaction is committed."]}),"\n"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-javascript",children:"async onFormSubmit({ content, deleteRevisions = false }) {\n const { article } = this.getState();\n\n this.beginStateTransaction();\n\n const result = await this._http.put(/* ... */);\n\n if (deleteRevisions) {\n await this.deleteArticleRevisions();\n }\n\n this.setState({ article: Object.assign({}, article, {\xa0content }) });\n this.commitStateTransaction();\n}\n\nasync deleteArticleRevisions() {\n const { article, revisions } = this.getState();\n\n await this._http.delete(/* ... */);\n\n this.setState({ revisions: [] });\n}\n"})}),"\n",(0,a.jsxs)(t.p,{children:["In the example above, after the form is submitted with ",(0,a.jsx)(t.code,{children:"deleteRevisions = true"}),":"]}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["Two ",(0,a.jsx)(t.code,{children:"setState"})," calls are made"]}),"\n",(0,a.jsxs)(t.li,{children:["Only one render is triggered after the ",(0,a.jsx)(t.code,{children:"commitStateTransaction"})," call"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},19:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/diagram-page-state-5512b3a2b5f48555cf76c83172bf4788.png"},3023:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>r});var s=n(3696);const a={},i=s.createContext(a);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/327389ac.d68d11a5.js b/assets/js/327389ac.d68d11a5.js deleted file mode 100644 index 8116fc2a5..000000000 --- a/assets/js/327389ac.d68d11a5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1495],{2400:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/diagram-page-state-5512b3a2b5f48555cf76c83172bf4788.png"},5680:(e,t,a)=>{a.d(t,{xA:()=>p,yg:()=>m});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},o=Object.keys(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=n.createContext({}),c=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=c(a),u=r,m=d["".concat(l,".").concat(u)]||d[u]||g[u]||o;return a?n.createElement(m,s(s({ref:t},p),{},{components:a})):n.createElement(m,s({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,s=new Array(o);s[0]=u;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[d]="string"==typeof e?e:r,s[1]=i;for(var c=2;c<o;c++)s[c]=a[c];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},6e3:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=a(8102),r=(a(6540),a(5680));const o={title:"Page State",description:"Basic features > Page State and it's usage"},s=void 0,i={unversionedId:"basic-features/page-state",id:"basic-features/page-state",title:"Page State",description:"Basic features > Page State and it's usage",source:"@site/../docs/basic-features/page-state.md",sourceDirName:"basic-features",slug:"/basic-features/page-state",permalink:"/basic-features/page-state",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/page-state.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Page State",description:"Basic features > Page State and it's usage"},sidebar:"docs",previous:{title:"Events",permalink:"/basic-features/events"},next:{title:"SEO & Meta Manager",permalink:"/basic-features/seo-and-meta-manager"}},l={},c=[{value:"Get &\xa0Set",id:"get-set",level:2},{value:"Initial page state",id:"initial-page-state",level:2},{value:"Partial state",id:"partial-state",level:2},{value:"State transactions",id:"state-transactions",level:2}],p={toc:c},d="wrapper";function g(e){let{components:t,...o}=e;return(0,r.yg)(d,(0,n.A)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"Core of each application is the data the app is working with. The data needs to be managed in some manner and user needs to be able to manipulate with the data during application run. IMA.js adopted a React style of state management."),(0,r.yg)("p",null,(0,r.yg)("img",{src:a(2400).A,width:"881",height:"421"})),(0,r.yg)("p",null,"A ",(0,r.yg)("strong",{parentName:"p"},"PageStateManager")," class is used for managing ",(0,r.yg)("strong",{parentName:"p"},"page state")," and is in tight cooperation with ",(0,r.yg)("strong",{parentName:"p"},"PageManager"),".\nPageManager need state manager to collect initial state from Controller and registered extension, and to be informed about every state change that happens inside Controller or Extension."),(0,r.yg)("h2",{id:"get-set"},"Get &\xa0Set"),(0,r.yg)("p",null,"As we've mentioned before, IMA.js state management is inspired by React. In every Controller and Extension you can call ",(0,r.yg)("inlineCode",{parentName:"p"},"this.setState(patchObject)")," method that will update page state and trigger new rendering of a View. Counterpart to ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," is ",(0,r.yg)("inlineCode",{parentName:"p"},"getState"),". This method returns current state that is shared among controller and all its registered extensions."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/home/HomeController.js\n\nonVisibilityToggle() {\n const {\xa0visibility } = this.getState();\n\n this.setState({ visibility: !visibility });\n}\n")),(0,r.yg)("h2",{id:"initial-page-state"},"Initial page state"),(0,r.yg)("p",null,"First additions to page state are set when ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method of a Controller and Extensions returns an object of resources. These resources may be plain data or (un)resolved promises. Promises are handled differently on server vs. client. This behavior is described in Controller's ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load")," method documentation"),"."),(0,r.yg)("h2",{id:"partial-state"},"Partial state"),(0,r.yg)("p",null,"Since Extensions also have a word in loading resources it may be necessary to share resources between Controller and Extensions. Here comes partial state into play. It allows you to call ",(0,r.yg)("inlineCode",{parentName:"p"},"getState")," method in ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method of an Extension. Received state consists of states collected from loaded Controller and Extensions loaded prior to the current Extension. Extensions are loaded in the same order as they were registered in a Controller."),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("strong",{parentName:"p"},"Note"),": Promises in received state may not be resolved. Therefore you need to chain promises or use ",(0,r.yg)("inlineCode",{parentName:"p"},"async/await"),".")),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("strong",{parentName:"p"},"Note"),": If you'll use ",(0,r.yg)("inlineCode",{parentName:"p"},"async/await")," execution will not be parallel relative to other promises.")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/home/HomeController.js\nexport default class HomeController extends AbstractController {\n\n load() {\n const userPromise = this._userService.load(this.params.userId);\n\n return {\n user: userPromise\n };\n }\n}\n")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/poll/PollExtension.js\nexport default class PollExtension extends AbstractExtension {\n getAllowedStateKeys() {\n return ['pollVotes'];\n }\n\n load() {\n const { user: userPromise } = this.getState();\n const pollVotesPromise = userPromise.then(\n user => this._pollService.getVotes(user.id)\n );\n\n return {\n pollVotes: pollVotesPromise\n };\n }\n}\n")),(0,r.yg)("h2",{id:"state-transactions"},"State transactions"),(0,r.yg)("p",null,"State transactions, similarly to SQL transactions, provide a way to queue state patches and then commit them as a one to the original state."),(0,r.yg)("p",null,"They're here for use cases where you'd in you workflow call ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," method multiple times or you'd have to collect state patches in a separate variable (this is hard to do across multiple methods)."),(0,r.yg)("p",null,"Transaction is initiated with ",(0,r.yg)("inlineCode",{parentName:"p"},"beginStateTransaction()")," in Controller/Extension. After that\nevery setState call is queued and doesn't change the state or re-render anything. If there\nis another transaction initiated before you commit you'll lost your patches."),(0,r.yg)("p",null,"If you want to see what changes are in queue from the begin of transaction call ",(0,r.yg)("inlineCode",{parentName:"p"},"getTransactionStatePatches()")," method."),(0,r.yg)("p",null,"To finish the transaction you have to call ",(0,r.yg)("inlineCode",{parentName:"p"},"commitStateTransaction()")," method. It will squash\nall the patches made during the transaction into a one and apply it to the original state.\nTherefore your application will re-render only once and you'll also receive ",(0,r.yg)("a",{parentName:"p",href:"./events#stateeventsbefore_change_state"},"state events")," only once."),(0,r.yg)("p",null,"Another way to finish the transaction is to cancel it via ",(0,r.yg)("inlineCode",{parentName:"p"},"cancelStateTransaction()")," method."),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("strong",{parentName:"p"},"Note"),": Call to ",(0,r.yg)("inlineCode",{parentName:"p"},"getState")," method after the transaction has begun will return state as it was before the transaction eg. the returned state doesn't include changes from the transaction period until the transaction is committed.")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async onFormSubmit({ content, deleteRevisions = false }) {\n const { article } = this.getState();\n\n this.beginStateTransaction();\n\n const result = await this._http.put(/* ... */);\n\n if (deleteRevisions) {\n await this.deleteArticleRevisions();\n }\n\n this.setState({ article: Object.assign({}, article, {\xa0content }) });\n this.commitStateTransaction();\n}\n\nasync deleteArticleRevisions() {\n const { article, revisions } = this.getState();\n\n await this._http.delete(/* ... */);\n\n this.setState({ revisions: [] });\n}\n")),(0,r.yg)("p",null,"In the example above, after the form is submitted with ",(0,r.yg)("inlineCode",{parentName:"p"},"deleteRevisions = true"),":"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Two ",(0,r.yg)("inlineCode",{parentName:"li"},"setState")," calls are made"),(0,r.yg)("li",{parentName:"ul"},"Only one render is triggered after the ",(0,r.yg)("inlineCode",{parentName:"li"},"commitStateTransaction")," call")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/327aa04a.3db9469b.js b/assets/js/327aa04a.3db9469b.js deleted file mode 100644 index f8bbf5682..000000000 --- a/assets/js/327aa04a.3db9469b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4866],{5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>c});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=r.createContext({}),s=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),u=s(n),y=a,c=u["".concat(o,".").concat(y)]||u[y]||g[y]||i;return n?r.createElement(c,p(p({ref:t},d),{},{components:n})):r.createElement(c,p({ref:t},d))}));function c(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,p=new Array(i);p[0]=y;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[u]="string"==typeof e?e:a,p[1]=l;for(var s=2;s<i;s++)p[s]=n[s];return r.createElement.apply(null,p)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},6470:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>p,default:()=>g,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var r=n(8102),a=(n(6540),n(5680));const i={id:"ima_react_page_renderer.useEventBusType",title:"Interface: useEventBusType",sidebar_label:"@ima/react-page-renderer.useEventBusType",custom_edit_url:null},p=void 0,l={unversionedId:"api/interfaces/ima_react_page_renderer.useEventBusType",id:"api/interfaces/ima_react_page_renderer.useEventBusType",title:"Interface: useEventBusType",description:"@ima/react-page-renderer.useEventBusType",source:"@site/../docs/api/interfaces/ima_react_page_renderer.useEventBusType.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_react_page_renderer.useEventBusType",permalink:"/api/interfaces/ima_react_page_renderer.useEventBusType",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.useEventBusType",title:"Interface: useEventBusType",sidebar_label:"@ima/react-page-renderer.useEventBusType",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.useDispatcherType",permalink:"/api/interfaces/ima_react_page_renderer.useDispatcherType"}},o={},s=[{value:"Properties",id:"properties",level:2},{value:"fire",id:"fire",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in",level:4}],d={toc:s},u="wrapper";function g(e){let{components:t,...n}=e;return(0,a.yg)(u,(0,r.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".useEventBusType"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"fire"},"fire"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"fire"),": (",(0,a.yg)("inlineCode",{parentName:"p"},"eventTarget"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"EventTarget"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"eventName"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"data?"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"options?"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbusoptions"},(0,a.yg)("inlineCode",{parentName:"a"},"EventBusOptions")),") => ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,a.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,a.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,a.yg)("p",null,"\u25b8 (",(0,a.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,a.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,a.yg)("p",null,"Fires a new custom event of the specified name, carrying the provided\ndata."),(0,a.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,a.yg)("p",null,"Note that the default options are\n",(0,a.yg)("inlineCode",{parentName:"p"},"{ bubbles: true, cancelable: true }"),", which is different from the\ndefault values used in the native custom events\n(",(0,a.yg)("inlineCode",{parentName:"p"},"{ bubbles: false, cancelable: false }"),")."),(0,a.yg)("h5",{id:"parameters"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,a.yg)("td",{parentName:"tr",align:"left"},"The event target at which the event will be dispatched (e.g. element/document/window).")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"eventName")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string")),(0,a.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"data?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any")),(0,a.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"options?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbusoptions"},(0,a.yg)("inlineCode",{parentName:"a"},"EventBusOptions"))),(0,a.yg)("td",{parentName:"tr",align:"left"},"The override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are ",(0,a.yg)("inlineCode",{parentName:"td"},"{ bubbles: true, cancelable: true }"),".")))),(0,a.yg)("h5",{id:"returns"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,a.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,a.yg)("p",null,"This custom event bus."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,a.yg)("p",null,"Thrown if the provided event target cannot be used to\nfire the event."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"},"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event")),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/eventBus.ts#L7"},"packages/react-page-renderer/src/hooks/eventBus.ts:7")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/331030ba.bc428d6d.js b/assets/js/331030ba.bc428d6d.js new file mode 100644 index 000000000..fdcac37b8 --- /dev/null +++ b/assets/js/331030ba.bc428d6d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9840],{4578:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/ClientRouter","title":"Class: ClientRouter","description":"Defined in43","source":"@site/../docs/api/@ima/core/classes/ClientRouter.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ClientRouter","permalink":"/api/@ima/core/classes/ClientRouter","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ClientRouter.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ClientPageManager","permalink":"/api/@ima/core/classes/ClientPageManager"},"next":{"title":"Class: ClientWindow","permalink":"/api/@ima/core/classes/ClientWindow"}}');var i=s(2540),t=s(3023);const c={},d="Class: ClientRouter",a={},l=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ClientRouter()",id:"new-clientrouter",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageManager",id:"pagemanager",level:5},{value:"factory",id:"factory",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"window",id:"window",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_currentlyRoutedPath",id:"_currentlyroutedpath",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"_currentMiddlewareId",id:"_currentmiddlewareid",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_factory",id:"_factory",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_host",id:"_host",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"_isSPARouted",id:"_issparouted",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"_languagePartPath",id:"_languagepartpath",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"_middlewareTimeout",id:"_middlewaretimeout",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"_mountedPromise",id:"_mountedpromise",level:3},{value:"_pageManager",id:"_pagemanager",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"_protocol",id:"_protocol",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"_root",id:"_root",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"_routeHandlers",id:"_routehandlers",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"_window",id:"_window",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"_boundHandleClick()",id:"_boundhandleclick",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"event",id:"event",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_boundHandlePopState()",id:"_boundhandlepopstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"event",id:"event-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_extractRoutePath()",id:"_extractroutepath",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"path",id:"path",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"_getAnchorElement()",id:"_getanchorelement",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"target",id:"target",level:5},{value:"Returns",id:"returns-5",level:4},{value:"_getCurrentlyRoutedPath()",id:"_getcurrentlyroutedpath",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"_getMiddlewaresForRoute()",id:"_getmiddlewaresforroute",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"routeName",id:"routename",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"_handle()",id:"_handle",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"route",id:"route",level:5},{value:"params",id:"params",level:5},{value:"options?",id:"options",level:5},{value:"action?",id:"action",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"_handleClick()",id:"_handleclick",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"event",id:"event-2",level:5},{value:"Returns",id:"returns-9",level:4},{value:"_handleFatalError()",id:"_handlefatalerror",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"error",id:"error",level:5},{value:"Returns",id:"returns-10",level:4},{value:"_handlePopState()",id:"_handlepopstate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"event",id:"event-3",level:5},{value:"Returns",id:"returns-11",level:4},{value:"_isHashLink()",id:"_ishashlink",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"targetUrl",id:"targeturl",level:5},{value:"Returns",id:"returns-12",level:4},{value:"_isSameDomain()",id:"_issamedomain",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"url?",id:"url",level:5},{value:"Returns",id:"returns-13",level:4},{value:"_runMiddlewares()",id:"_runmiddlewares",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"middlewares",id:"middlewares",level:5},{value:"params",id:"params-1",level:5},{value:"locals",id:"locals",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"add()",id:"add",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options-1",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Throws",id:"throws",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"getBaseUrl()",id:"getbaseurl",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"getCurrentRouteInfo()",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-17",level:4},{value:"params",id:"params-2",level:5},{value:"path",id:"path-1",level:5},{value:"route",id:"route-1",level:5},{value:"Throws",id:"throws-1",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getProtocol()",id:"getprotocol",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"getRouteHandler()",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"name",id:"name-1",level:5},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"getRouteHandlers()",id:"getroutehandlers",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"getRouteHandlersByPath()",id:"getroutehandlersbypath",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"path",id:"path-2",level:5},{value:"Returns",id:"returns-24",level:4},{value:"middlewares",id:"middlewares-1",level:5},{value:"route?",id:"route-2",level:5},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"handleError()",id:"handleerror",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"params",id:"params-3",level:5},{value:"options?",id:"options-2",level:5},{value:"locals?",id:"locals-1",level:5},{value:"Returns",id:"returns-26",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"handleNotFound()",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"params",id:"params-4",level:5},{value:"options",id:"options-3",level:5},{value:"locals",id:"locals-2",level:5},{value:"Returns",id:"returns-27",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"config",id:"config",level:5},{value:"$Host",id:"host",level:6},{value:"$LanguagePartPath",id:"languagepartpath",level:6},{value:"$Protocol",id:"protocol",level:6},{value:"$Root",id:"root",level:6},{value:"Returns",id:"returns-28",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"reason",id:"reason",level:5},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"reason",id:"reason-1",level:5},{value:"Returns",id:"returns-30",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"routeName",id:"routename-1",level:5},{value:"params",id:"params-5",level:5},{value:"Returns",id:"returns-31",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"listen()",id:"listen",level:3},{value:"Returns",id:"returns-32",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"url",id:"url-1",level:5},{value:"options?",id:"options-4",level:5},{value:"action?",id:"action-1",level:5},{value:"locals?",id:"locals-3",level:5},{value:"Returns",id:"returns-33",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"remove()",id:"remove",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"name",id:"name-2",level:5},{value:"Returns",id:"returns-34",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"route()",id:"route-3",level:3},{value:"Parameters",id:"parameters-24",level:4},{value:"path",id:"path-3",level:5},{value:"options?",id:"options-5",level:5},{value:"action?",id:"action-2",level:5},{value:"locals?",id:"locals-4",level:5},{value:"Returns",id:"returns-35",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Returns",id:"returns-36",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"use()",id:"use",level:3},{value:"Parameters",id:"parameters-25",level:4},{value:"middleware",id:"middleware",level:5},{value:"Returns",id:"returns-37",level:4},{value:"Throws",id:"throws-2",level:4},{value:"Inherited from",id:"inherited-from-30",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"class-clientrouter",children:"Class: ClientRouter"})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L43",children:"packages/core/src/router/ClientRouter.ts:43"})]}),"\n",(0,i.jsxs)(r.p,{children:["The client-side implementation of the ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:"Router"})," interface."]}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-clientrouter",children:"new ClientRouter()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new ClientRouter"}),"(",(0,i.jsx)(r.code,{children:"pageManager"}),", ",(0,i.jsx)(r.code,{children:"factory"}),", ",(0,i.jsx)(r.code,{children:"dispatcher"}),", ",(0,i.jsx)(r.code,{children:"window"}),", ",(0,i.jsx)(r.code,{children:"settings"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L79",children:"packages/core/src/router/ClientRouter.ts:79"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the client-side router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"pagemanager",children:"pageManager"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/PageManager",children:(0,i.jsx)(r.code,{children:"PageManager"})})}),"\n",(0,i.jsx)(r.p,{children:"The page manager handling UI rendering,\nand transitions between pages if at the client side."}),"\n",(0,i.jsx)(r.h5,{id:"factory",children:"factory"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,i.jsx)(r.code,{children:"RouteFactory"})})}),"\n",(0,i.jsx)(r.p,{children:"Factory for routes."}),"\n",(0,i.jsx)(r.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(r.code,{children:"Dispatcher"})})}),"\n",(0,i.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,i.jsx)(r.h5,{id:"window",children:"window"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(r.code,{children:"Window"})})}),"\n",(0,i.jsx)(r.p,{children:"The current global client-side APIs provider."}),"\n",(0,i.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,i.jsx)(r.p,{children:"$Router settings."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.code,{children:"number"})," | { ",(0,i.jsx)(r.code,{children:"isSPARouted"}),": (",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"action"}),"?) => ",(0,i.jsx)(r.code,{children:"boolean"}),"; ",(0,i.jsx)(r.code,{children:"middlewareTimeout"}),": ",(0,i.jsx)(r.code,{children:"number"}),"; }"]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#constructors",children:(0,i.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(r.h3,{id:"_currentlyroutedpath",children:"_currentlyRoutedPath"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_currentlyRoutedPath"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L93",children:"packages/core/src/router/AbstractRouter.ts:93"})]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_currentlyroutedpath",children:(0,i.jsx)(r.code,{children:"_currentlyRoutedPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_currentmiddlewareid",children:"_currentMiddlewareId"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_currentMiddlewareId"}),": ",(0,i.jsx)(r.code,{children:"number"})," = ",(0,i.jsx)(r.code,{children:"0"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L92",children:"packages/core/src/router/AbstractRouter.ts:92"})]}),"\n",(0,i.jsx)(r.p,{children:"Middleware ID counter which is used to auto-generate unique middleware\nnames when adding them to routeHandlers map."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_currentmiddlewareid",children:(0,i.jsx)(r.code,{children:"_currentMiddlewareId"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_dispatcher"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(r.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L62",children:"packages/core/src/router/AbstractRouter.ts:62"})]}),"\n",(0,i.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_dispatcher",children:(0,i.jsx)(r.code,{children:"_dispatcher"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_factory",children:"_factory"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_factory"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,i.jsx)(r.code,{children:"RouteFactory"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L58",children:"packages/core/src/router/AbstractRouter.ts:58"})]}),"\n",(0,i.jsx)(r.p,{children:"Factory for routes."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_factory",children:(0,i.jsx)(r.code,{children:"_factory"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_host",children:"_host"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_host"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L71",children:"packages/core/src/router/AbstractRouter.ts:71"})]}),"\n",(0,i.jsx)(r.p,{children:"The application's host."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_host",children:(0,i.jsx)(r.code,{children:"_host"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_issparouted",children:"_isSPARouted"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_isSPARouted"}),": ",(0,i.jsx)(r.code,{children:"undefined"})," | (",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"action"}),"?) => ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L95",children:"packages/core/src/router/AbstractRouter.ts:95"})]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_issparouted",children:(0,i.jsx)(r.code,{children:"_isSPARouted"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_languagepartpath",children:"_languagePartPath"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_languagePartPath"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L80",children:"packages/core/src/router/AbstractRouter.ts:80"})]}),"\n",(0,i.jsxs)(r.p,{children:["The URL path fragment used as a suffix to the ",(0,i.jsx)(r.code,{children:"_root"})," field\nthat specifies the current language."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_languagepartpath",children:(0,i.jsx)(r.code,{children:"_languagePartPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_middlewaretimeout",children:"_middlewareTimeout"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_middlewareTimeout"}),": ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L94",children:"packages/core/src/router/AbstractRouter.ts:94"})]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_middlewaretimeout",children:(0,i.jsx)(r.code,{children:"_middlewareTimeout"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_mountedpromise",children:"_mountedPromise"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_mountedPromise"}),": ",(0,i.jsx)(r.code,{children:"null"})," | { ",(0,i.jsx)(r.code,{children:"promise"}),": ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">; ",(0,i.jsx)(r.code,{children:"reject"}),": () => ",(0,i.jsx)(r.code,{children:"void"}),"; ",(0,i.jsx)(r.code,{children:"resolve"}),": () => ",(0,i.jsx)(r.code,{children:"void"}),"; } = ",(0,i.jsx)(r.code,{children:"null"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L53",children:"packages/core/src/router/ClientRouter.ts:53"})]}),"\n",(0,i.jsx)(r.p,{children:"Mounted promise to prevent routing until app is fully mounted."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_pagemanager",children:"_pageManager"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_pageManager"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/PageManager",children:(0,i.jsx)(r.code,{children:"PageManager"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L54",children:"packages/core/src/router/AbstractRouter.ts:54"})]}),"\n",(0,i.jsx)(r.p,{children:"The page manager handling UI rendering, and transitions between\npages if at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_pagemanager",children:(0,i.jsx)(r.code,{children:"_pageManager"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_protocol",children:"_protocol"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_protocol"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L67",children:"packages/core/src/router/AbstractRouter.ts:67"})]}),"\n",(0,i.jsxs)(r.p,{children:["The current protocol used to access the application, terminated by a\ncolon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_protocol",children:(0,i.jsx)(r.code,{children:"_protocol"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_root",children:"_root"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_root"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L75",children:"packages/core/src/router/AbstractRouter.ts:75"})]}),"\n",(0,i.jsx)(r.p,{children:"The URL path pointing to the application's root."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_root",children:(0,i.jsx)(r.code,{children:"_root"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_routehandlers",children:"_routeHandlers"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_routeHandlers"}),": ",(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L84",children:"packages/core/src/router/AbstractRouter.ts:84"})]}),"\n",(0,i.jsx)(r.p,{children:"Storage of all known routes and middlewares. The key are their names."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_routehandlers",children:(0,i.jsx)(r.code,{children:"_routeHandlers"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_window",children:"_window"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_window"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(r.code,{children:"Window"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L44",children:"packages/core/src/router/ClientRouter.ts:44"})]}),"\n",(0,i.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"get"})," ",(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L59",children:"packages/core/src/router/ClientRouter.ts:59"})]}),"\n",(0,i.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(r.code,{children:"Dependencies"})})}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"_boundhandleclick",children:"_boundHandleClick()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_boundHandleClick"}),"(",(0,i.jsx)(r.code,{children:"event"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L45",children:"packages/core/src/router/ClientRouter.ts:45"})]}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"event",children:"event"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Event"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_boundhandlepopstate",children:"_boundHandlePopState()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_boundHandlePopState"}),"(",(0,i.jsx)(r.code,{children:"event"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L47",children:"packages/core/src/router/ClientRouter.ts:47"})]}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"event-1",children:"event"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Event"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_extractroutepath",children:"_extractRoutePath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_extractRoutePath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L526",children:"packages/core/src/router/AbstractRouter.ts:526"})]}),"\n",(0,i.jsx)(r.p,{children:"Strips the URL path part that points to the application's root (base\nURL) from the provided path."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Relative or absolute URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"URL path relative to the application's base URL."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_extractroutepath",children:(0,i.jsx)(r.code,{children:"_extractRoutePath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getanchorelement",children:"_getAnchorElement()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getAnchorElement"}),"(",(0,i.jsx)(r.code,{children:"target"}),"): ",(0,i.jsx)(r.code,{children:"Node"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L408",children:"packages/core/src/router/ClientRouter.ts:408"})]}),"\n",(0,i.jsx)(r.p,{children:"The method determines whether an anchor element or a child of an anchor\nelement has been clicked, and if it was, the method returns anchor\nelement else null."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"target",children:"target"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Node"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Node"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getcurrentlyroutedpath",children:"_getCurrentlyRoutedPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getCurrentlyRoutedPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L664",children:"packages/core/src/router/AbstractRouter.ts:664"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns path that is stored in private property when a ",(0,i.jsx)(r.code,{children:"route"}),"\nmethod is called."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_getcurrentlyroutedpath",children:(0,i.jsx)(r.code,{children:"_getCurrentlyRoutedPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getmiddlewaresforroute",children:"_getMiddlewaresForRoute()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getMiddlewaresForRoute"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L642",children:"packages/core/src/router/AbstractRouter.ts:642"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns middlewares preceding given route name."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_getmiddlewaresforroute",children:(0,i.jsx)(r.code,{children:"_getMiddlewaresForRoute"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_handle",children:"_handle()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_handle"}),"(",(0,i.jsx)(r.code,{children:"route"}),", ",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L549",children:"packages/core/src/router/AbstractRouter.ts:549"})]}),"\n",(0,i.jsx)(r.p,{children:"Handles the provided route and parameters by initializing the route's\ncontroller and rendering its state via the route's view."}),"\n",(0,i.jsx)(r.p,{children:"The result is then sent to the client if used at the server side, or\ndisplayed if used as the client side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"route",children:"route"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"The route that should have its\nassociated controller rendered via the associated view."}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in the\n",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action\nobject describing what triggered this routing."}),"\n",(0,i.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise that resolves when the\npage is rendered and the result is sent to the client, or\ndisplayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_handle",children:(0,i.jsx)(r.code,{children:"_handle"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_handleclick",children:"_handleClick()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_handleClick"}),"(",(0,i.jsx)(r.code,{children:"event"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L350",children:"packages/core/src/router/ClientRouter.ts:350"})]}),"\n",(0,i.jsx)(r.p,{children:"Handles a click event. The method performs navigation to the target\nlocation of the anchor (if it has one)."}),"\n",(0,i.jsx)(r.p,{children:"The navigation will be handled by the router if the protocol and domain\nof the anchor's target location (href) is the same as the current,\notherwise the method results in a hard redirect."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"event-2",children:"event"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"MouseEvent"})}),"\n",(0,i.jsx)(r.p,{children:"The click event."}),"\n",(0,i.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_handlefatalerror",children:"_handleFatalError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_handleFatalError"}),"(",(0,i.jsx)(r.code,{children:"error"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L305",children:"packages/core/src/router/ClientRouter.ts:305"})]}),"\n",(0,i.jsx)(r.p,{children:"Handle a fatal error application state. IMA handle fatal error when IMA\nhandle error."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"error",children:"error"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_handlepopstate",children:"_handlePopState()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_handlePopState"}),"(",(0,i.jsx)(r.code,{children:"event"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L326",children:"packages/core/src/router/ClientRouter.ts:326"})]}),"\n",(0,i.jsx)(r.p,{children:"Handles a popstate event. The method is performed when the active history\nentry changes."}),"\n",(0,i.jsxs)(r.p,{children:["The navigation will be handled by the router if the event state is defined\nand event is not ",(0,i.jsx)(r.code,{children:"defaultPrevented"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"event-3",children:"event"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"PopStateEvent"})}),"\n",(0,i.jsx)(r.p,{children:"The popstate event."}),"\n",(0,i.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_ishashlink",children:"_isHashLink()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_isHashLink"}),"(",(0,i.jsx)(r.code,{children:"targetUrl"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L436",children:"packages/core/src/router/ClientRouter.ts:436"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests whether the provided target URL contains only an update of the\nhash fragment of the current URL."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"targeturl",children:"targetUrl"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The target URL."}),"\n",(0,i.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the navigation to target URL would\nresult only in updating the hash fragment of the current URL."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_issamedomain",children:"_isSameDomain()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_isSameDomain"}),"(",(0,i.jsx)(r.code,{children:"url"}),"?): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L459",children:"packages/core/src/router/ClientRouter.ts:459"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests whether the the protocol and domain of the provided URL are the\nsame as the current."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"url",children:"url?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n",(0,i.jsx)(r.p,{children:"The URL."}),"\n",(0,i.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the protocol and domain of the\nprovided URL are the same as the current."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_runmiddlewares",children:"_runMiddlewares()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_runMiddlewares"}),"(",(0,i.jsx)(r.code,{children:"middlewares"}),", ",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"locals"}),"): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L677",children:"packages/core/src/router/AbstractRouter.ts:677"})]}),"\n",(0,i.jsx)(r.p,{children:"Runs provided middlewares in sequence."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middlewares",children:"middlewares"}),"\n",(0,i.jsx)(r.p,{children:"Array of middlewares."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n",(0,i.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Router params that can be\nmutated by middlewares."}),"\n",(0,i.jsx)(r.h5,{id:"locals",children:"locals"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_runmiddlewares",children:(0,i.jsx)(r.code,{children:"_runMiddlewares"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"add",children:"add()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"add"}),"(",(0,i.jsx)(r.code,{children:"name"}),", ",(0,i.jsx)(r.code,{children:"pathExpression"}),", ",(0,i.jsx)(r.code,{children:"controller"}),", ",(0,i.jsx)(r.code,{children:"view"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L167",children:"packages/core/src/router/AbstractRouter.ts:167"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new route to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of this route, identifying it among\nthe rest of the routes in the application."}),"\n",(0,i.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsxs)(r.p,{children:["A path expression specifying the URL path\npart matching this route (must not contain a query string),\noptionally containing named parameter placeholders specified as\n",(0,i.jsx)(r.code,{children:":parameterName"}),". The name of the parameter is terminated\nby a forward slash (",(0,i.jsx)(r.code,{children:"/"}),") or the end of the path expression\nstring.\nThe path expression may also contain optional parameters, which\nare specified as ",(0,i.jsx)(r.code,{children:":?parameterName"}),". It is recommended to\nspecify the optional parameters at the end of the path\nexpression."]}),"\n",(0,i.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,i.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name of Object Container alias\nidentifying the controller associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,i.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name or Object Container alias identifying\nthe view class associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"options-1",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["Additional route options, specified how the navigation to the\nroute will be handled.\nThe ",(0,i.jsx)(r.code,{children:"onlyUpdate"})," can be either a flag signalling whether\nthe current controller and view instances should be kept if they\nmatch the ones used by the previous route; or a callback function\nthat will receive the previous controller and view identifiers\nused in the previously matching route, and returns a\n",(0,i.jsx)(r.code,{children:"boolean"})," representing the value of the flag. This flag is\ndisabled by default.\nThe ",(0,i.jsx)(r.code,{children:"autoScroll"})," flag signals whether the page should be\nscrolled to the top when the navigation takes place. This flag is\nenabled by default."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route with the same name already exists."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#add",children:(0,i.jsx)(r.code,{children:"add"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getbaseurl",children:"getBaseUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getBaseUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L243",children:"packages/core/src/router/AbstractRouter.ts:243"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the application's absolute base URL, pointing to the public root\nof the application."}),"\n",(0,i.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The application's base URL."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getbaseurl",children:(0,i.jsx)(r.code,{children:"getBaseUrl"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getcurrentrouteinfo",children:"getCurrentRouteInfo()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getCurrentRouteInfo"}),"(): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L271",children:"packages/core/src/router/AbstractRouter.ts:271"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the information about the currently active route."}),"\n",(0,i.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsx)(r.h5,{id:"params-2",children:"params"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"params"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})}),"<{}>"]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"path"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route-1",children:"route"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"throws-1",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route is not define for current path."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getcurrentrouteinfo",children:(0,i.jsx)(r.code,{children:"getCurrentRouteInfo"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getDomain"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L250",children:"packages/core/src/router/AbstractRouter.ts:250"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the application's domain in the following form\n",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's domain."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-20",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getdomain",children:(0,i.jsx)(r.code,{children:"getDomain"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"gethost",children:"getHost()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getHost"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L257",children:"packages/core/src/router/AbstractRouter.ts:257"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns application's host (domain and, if necessary, the port number)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's host."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-21",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#gethost",children:(0,i.jsx)(r.code,{children:"getHost"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getpath",children:"getPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L120",children:"packages/core/src/router/ClientRouter.ts:120"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current path part of the current URL, including the query\nstring (if any)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The path and query parts of the current URL."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getpath",children:(0,i.jsx)(r.code,{children:"getPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getprotocol",children:"getProtocol()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getProtocol"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L264",children:"packages/core/src/router/AbstractRouter.ts:264"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application protocol used to access the\napplication."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-22",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getprotocol",children:(0,i.jsx)(r.code,{children:"getProtocol"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandler",children:"getRouteHandler()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandler"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L220",children:"packages/core/src/router/AbstractRouter.ts:220"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns specified handler from registered route handlers."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name."}),"\n",(0,i.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n",(0,i.jsx)(r.p,{children:"Route with given name or undefined."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-23",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getroutehandler",children:(0,i.jsx)(r.code,{children:"getRouteHandler"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandlers",children:"getRouteHandlers()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandlers"}),"(): ",(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L297",children:"packages/core/src/router/AbstractRouter.ts:297"})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-24",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getroutehandlers",children:(0,i.jsx)(r.code,{children:"getRouteHandlers"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandlersbypath",children:"getRouteHandlersByPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandlersByPath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L615",children:"packages/core/src/router/AbstractRouter.ts:615"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the route matching the provided URL path part (the path may\ncontain a query) and all middlewares preceding this route definition."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-2",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsxs)(r.p,{children:["The route\nmatching the path and middlewares preceding it or ",(0,i.jsx)(r.code,{children:"{}"}),"\n(empty object) if no such route exists."]}),"\n",(0,i.jsx)(r.h5,{id:"middlewares-1",children:"middlewares"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"middlewares"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route-2",children:"route?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-25",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getroutehandlersbypath",children:(0,i.jsx)(r.code,{children:"getRouteHandlersByPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L113",children:"packages/core/src/router/ClientRouter.ts:113"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current absolute URL (including protocol, host, query, etc)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current absolute URL."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#geturl",children:(0,i.jsx)(r.code,{children:"getUrl"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handleerror",children:"handleError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleError"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L233",children:"packages/core/src/router/ClientRouter.ts:233"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-3",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-2",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-1",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#handleerror",children:(0,i.jsx)(r.code,{children:"handleError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handlenotfound",children:"handleNotFound()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleNotFound"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),", ",(0,i.jsx)(r.code,{children:"locals"}),"): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L293",children:"packages/core/src/router/ClientRouter.ts:293"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-4",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,i.jsx)(r.code,{children:"StringParameters"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-3",children:"options"}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-2",children:"locals"}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#handlenotfound",children:(0,i.jsx)(r.code,{children:"handleNotFound"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"init"}),"(",(0,i.jsx)(r.code,{children:"config"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L97",children:"packages/core/src/router/ClientRouter.ts:97"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the router with the provided configuration."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"config",children:"config"}),"\n",(0,i.jsxs)(r.p,{children:["Router configuration.\nThe ",(0,i.jsx)(r.code,{children:"$Protocol"})," field must be the current protocol used to\naccess the application, terminated by a colon (for example\n",(0,i.jsx)(r.code,{children:"https:"}),").\nThe ",(0,i.jsx)(r.code,{children:"$Root"})," field must specify the URL path pointing to the\napplication's root.\nThe ",(0,i.jsx)(r.code,{children:"$LanguagePartPath"})," field must be the URL path fragment\nused as a suffix to the ",(0,i.jsx)(r.code,{children:"$Root"})," field that specifies the\ncurrent language.\nThe ",(0,i.jsx)(r.code,{children:"$Host"})," field must be the application's domain (and the\nport number if other than the default is used) in the following\nform: ",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h6,{id:"host",children:"$Host"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"languagepartpath",children:"$LanguagePartPath"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"protocol",children:"$Protocol"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"root",children:"$Root"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#init",children:(0,i.jsx)(r.code,{children:"init"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isClientError"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L507",children:"packages/core/src/router/AbstractRouter.ts:507"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-29",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-26",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#isclienterror",children:(0,i.jsx)(r.code,{children:"isClientError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isRedirection"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L514",children:"packages/core/src/router/AbstractRouter.ts:514"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error lead to redirection."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-20",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason-1",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-30",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nredirection."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-27",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#isredirection",children:(0,i.jsx)(r.code,{children:"isRedirection"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"link",children:"link()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"link"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),", ",(0,i.jsx)(r.code,{children:"params"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L338",children:"packages/core/src/router/AbstractRouter.ts:338"})]}),"\n",(0,i.jsx)(r.p,{children:"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-21",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename-1",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of the route, identifying the\nroute to use."}),"\n",(0,i.jsx)(r.h5,{id:"params-5",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameter values for the route's\nparameter placeholders. Extraneous parameters will be added as\nURL query."}),"\n",(0,i.jsx)(r.h4,{id:"returns-31",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"An absolute URL for the specified route and parameters."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-28",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#link",children:(0,i.jsx)(r.code,{children:"link"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"listen",children:"listen()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"listen"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L127",children:"packages/core/src/router/ClientRouter.ts:127"})]}),"\n",(0,i.jsx)(r.p,{children:'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This\nmethod has no effect at the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-32",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#listen",children:(0,i.jsx)(r.code,{children:"listen"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"redirect"}),"(",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L169",children:"packages/core/src/router/ClientRouter.ts:169"})]}),"\n",(0,i.jsx)(r.p,{children:"Redirects the client to the specified location."}),"\n",(0,i.jsxs)(r.p,{children:["At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,i.jsx)(r.code,{children:"Location"})," header."]}),"\n",(0,i.jsx)(r.p,{children:"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."}),"\n",(0,i.jsx)(r.p,{children:"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-22",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"url-1",children:"url"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL to which the client should be redirected."}),"\n",(0,i.jsx)(r.h5,{id:"options-4",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action-1",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-3",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-33",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#redirect",children:(0,i.jsx)(r.code,{children:"redirect"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"remove",children:"remove()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"remove"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L211",children:"packages/core/src/router/AbstractRouter.ts:211"})]}),"\n",(0,i.jsx)(r.p,{children:"Removes the specified route from the router's known routes."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-23",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-2",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name, identifying the route to remove."}),"\n",(0,i.jsx)(r.h4,{id:"returns-34",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-29",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#remove",children:(0,i.jsx)(r.code,{children:"remove"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"route-3",children:"route()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),"(",(0,i.jsx)(r.code,{children:"path"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L198",children:"packages/core/src/router/ClientRouter.ts:198"})]}),"\n",(0,i.jsx)(r.p,{children:"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-24",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-3",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path part received from the client, with\noptional query."}),"\n",(0,i.jsx)(r.h5,{id:"options-5",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action-2",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-4",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-35",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#route-3",children:(0,i.jsx)(r.code,{children:"route"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"unlisten"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ClientRouter.ts#L148",children:"packages/core/src/router/ClientRouter.ts:148"})]}),"\n",(0,i.jsx)(r.p,{children:'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This method has no effect\nat the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-36",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#unlisten",children:(0,i.jsx)(r.code,{children:"unlisten"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"use",children:"use()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"use"}),"(",(0,i.jsx)(r.code,{children:"middleware"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L199",children:"packages/core/src/router/AbstractRouter.ts:199"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new middleware to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-25",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middleware",children:"middleware"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})}),"\n",(0,i.jsxs)(r.p,{children:["Middleware\nfunction accepting routeParams as a first argument, which can be mutated\nand ",(0,i.jsx)(r.code,{children:"locals"})," object as second argument. This can be used to pass data\nbetween middlewares."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-37",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ClientRouter",children:(0,i.jsx)(r.code,{children:"ClientRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws-2",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a middleware with the same name already exists."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-30",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#use",children:(0,i.jsx)(r.code,{children:"use"})})]})]})}function h(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>c,x:()=>d});var n=s(3696);const i={},t=n.createContext(i);function c(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/339f6683.0de4ee04.js b/assets/js/339f6683.0de4ee04.js new file mode 100644 index 000000000..8109d2b61 --- /dev/null +++ b/assets/js/339f6683.0de4ee04.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1519],{5076:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/interfaces/HttpAgentRequestOptions","title":"Interface: HttpAgentRequestOptions","description":"Defined in30","source":"@site/../docs/api/@ima/core/interfaces/HttpAgentRequestOptions.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/HttpAgentRequestOptions","permalink":"/api/@ima/core/interfaces/HttpAgentRequestOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/HttpAgentRequestOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: GlobalImaObject","permalink":"/api/@ima/core/interfaces/GlobalImaObject"},"next":{"title":"Interface: ImaRequestInit","permalink":"/api/@ima/core/interfaces/ImaRequestInit"}}');var r=s(2540),c=s(3023);const i={},a="Interface: HttpAgentRequestOptions",o={},d=[{value:"Properties",id:"properties",level:2},{value:"abortController?",id:"abortcontroller",level:3},{value:"cache",id:"cache",level:3},{value:"fetchOptions",id:"fetchoptions",level:3},{value:"keepSensitiveHeaders?",id:"keepsensitiveheaders",level:3},{value:"postProcessors?",id:"postprocessors",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"response",id:"response",level:5},{value:"Returns",id:"returns",level:4},{value:"repeatRequest",id:"repeatrequest",level:3},{value:"responseType?",id:"responsetype",level:3},{value:"timeout",id:"timeout",level:3},{value:"ttl",id:"ttl",level:3},{value:"validateCookies?",id:"validatecookies",level:3}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"interface-httpagentrequestoptions",children:"Interface: HttpAgentRequestOptions"})}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L30",children:"packages/core/src/http/HttpAgent.ts:30"})]}),"\n",(0,r.jsx)(t.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(t.h3,{id:"abortcontroller",children:"abortController?"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"optional"})," ",(0,r.jsx)(t.strong,{children:"abortController"}),": ",(0,r.jsx)(t.code,{children:"AbortController"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L40",children:"packages/core/src/http/HttpAgent.ts:40"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"cache",children:"cache"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"cache"}),": ",(0,r.jsx)(t.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L35",children:"packages/core/src/http/HttpAgent.ts:35"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"fetchoptions",children:"fetchOptions"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"fetchOptions"}),": ",(0,r.jsx)(t.a,{href:"/api/@ima/core/interfaces/ImaRequestInit",children:(0,r.jsx)(t.code,{children:"ImaRequestInit"})})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L34",children:"packages/core/src/http/HttpAgent.ts:34"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"keepsensitiveheaders",children:"keepSensitiveHeaders?"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"optional"})," ",(0,r.jsx)(t.strong,{children:"keepSensitiveHeaders"}),": ",(0,r.jsx)(t.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L41",children:"packages/core/src/http/HttpAgent.ts:41"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"postprocessors",children:"postProcessors?"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"optional"})," ",(0,r.jsx)(t.strong,{children:"postProcessors"}),": <",(0,r.jsx)(t.code,{children:"B"}),">(",(0,r.jsx)(t.code,{children:"response"}),") => ",(0,r.jsx)(t.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(t.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(t.code,{children:"B"}),">[]"]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L37",children:"packages/core/src/http/HttpAgent.ts:37"})]}),"\n",(0,r.jsx)(t.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"B"})," = ",(0,r.jsx)(t.code,{children:"unknown"})]}),"\n",(0,r.jsx)(t.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(t.h5,{id:"response",children:"response"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(t.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(t.code,{children:"B"}),">"]}),"\n",(0,r.jsx)(t.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(t.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(t.code,{children:"B"}),">"]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"repeatrequest",children:"repeatRequest"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"repeatRequest"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L33",children:"packages/core/src/http/HttpAgent.ts:33"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"responsetype",children:"responseType?"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"optional"})," ",(0,r.jsx)(t.strong,{children:"responseType"}),": ",(0,r.jsx)(t.code,{children:'"json"'})," | ",(0,r.jsx)(t.code,{children:'"blob"'})," | ",(0,r.jsx)(t.code,{children:'"text"'})," | ",(0,r.jsx)(t.code,{children:'"arrayBuffer"'})," | ",(0,r.jsx)(t.code,{children:'"formData"'})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L36",children:"packages/core/src/http/HttpAgent.ts:36"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"timeout",children:"timeout"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"timeout"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L31",children:"packages/core/src/http/HttpAgent.ts:31"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"ttl",children:"ttl"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"ttl"}),": ",(0,r.jsx)(t.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L32",children:"packages/core/src/http/HttpAgent.ts:32"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"validatecookies",children:"validateCookies?"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"optional"})," ",(0,r.jsx)(t.strong,{children:"validateCookies"}),": ",(0,r.jsx)(t.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L42",children:"packages/core/src/http/HttpAgent.ts:42"})]})]})}function p(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(3696);const r={},c=n.createContext(r);function i(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/33fd58a6.4b3c8f3e.js b/assets/js/33fd58a6.4b3c8f3e.js new file mode 100644 index 000000000..287c0a920 --- /dev/null +++ b/assets/js/33fd58a6.4b3c8f3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[633],{4792:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"migration/migration-0.15.0","title":"Migration 0.15.0","description":"Migration > Migration to version 0.15.0","source":"@site/../docs/migration/migration-0.15.0.md","sourceDirName":"migration","slug":"/migration/migration-0.15.0","permalink":"/migration/migration-0.15.0","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-0.15.0.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Migration 0.15.0","description":"Migration > Migration to version 0.15.0"},"sidebar":"docs","previous":{"title":"Migration 0.14.0","permalink":"/migration/migration-0.14.0"},"next":{"title":"Migration 0.16.0","permalink":"/migration/migration-0.16.0"}}');var i=s(2540),r=s(3023);const a={title:"Migration 0.15.0",description:"Migration > Migration to version 0.15.0"},o=void 0,l={},c=[{value:"Build",id:"build",level:2},{value:"Karma removed instead of that added Jest",id:"karma-removed-instead-of-that-added-jest",level:3},{value:"Server",id:"server",level:2},{value:"DocumentView",id:"documentview",level:2},{value:"SPA",id:"spa",level:2},{value:"Removed namespaces",id:"removed-namespaces",level:2},{value:"Others",id:"others",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"In order to upgrade to IMA.js 0.15.0, start ba adding these new dependencies to package.json:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'"prop-types": "15.6.0",\n"react": "16.2.0",\n"react-dom": "16.2.0",\n"express-http-proxy": "^1.0.7"\n'})}),"\n",(0,i.jsx)(n.h2,{id:"build",children:"Build"}),"\n",(0,i.jsx)(n.p,{children:"If you are overriding polyfills or shims (for example using some custom polyfills) you need to change polyfills or shims structure in gulpConfig.js . Now it has to be structure for js, es and fetch polyfills.\nIf you are't overriding polyfills or shims, you can skip this step."}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"shim: {\n js: {\n name: 'shim.js',\n src: ['./node_modules/ima/polyfill/collectionEnumeration.js'],\n dest: {\n client: './build/static/js/'\n }\n },\n es: {\n name: 'shim.es.js',\n src: [],\n dest: {\n client: './build/static/js/',\n server: './build/ima/'\n }\n }\n\n\npolyfill: {\n js: {\n name: 'polyfill.js',\n src: [\n './node_modules/babel-polyfill/dist/polyfill.min.js',\n './node_modules/custom-event-polyfill/custom-event-polyfill.js'\n ],\n dest: {\n client: './build/static/js/'\n }\n },\n es: {\n name: 'polyfill.es.js',\n src: ['./node_modules/custom-event-polyfill/custom-event-polyfill.js'],\n dest: {\n client: './build/static/js/'\n }\n },\n fetch: {\n name: 'fetch-polyfill.js',\n src: [\n './node_modules/core-js/client/shim.min.js',\n './node_modules/whatwg-fetch/fetch.js'\n ],\n dest: {\n client: './build/static/js/'\n }\n },\n ima: {\n name: 'ima-polyfill.js',\n src: [\n './node_modules/ima/polyfill/imaLoader.js',\n './node_modules/ima/polyfill/imaRunner.js'\n ],\n dest: {\n client: './build/static/js/'\n }\n }\n }\n\n"})}),"\n",(0,i.jsx)(n.p,{children:"In build.js add new property 'es' to bundle object:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"es: [\n './build/static/js/polyfill.es.js',\n './build/static/js/shim.es.js',\n './build/static/js/vendor.client.es.js',\n './build/static/js/app.client.es.js'\n]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Add to your settings.js ",(0,i.jsx)(n.strong,{children:"prod"}),".$Page.$Render new property esScripts like this:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"esScripts: [\n '/static/js/locale/' + config.$Language + '.js' + versionStamp,\n '/static/js/app.bundle.es.min.js' + versionStamp\n]\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Add to your settings.js ",(0,i.jsx)(n.strong,{children:"dev"}),".$Page.$Render new property esScripts like this:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"esScripts: [\n '/static/js/polyfill.es.js' + versionStamp,\n '/static/js/shim.es.js' + versionStamp,\n '/static/js/vendor.client.es.js' + versionStamp,\n `/static/js/locale/${config.$Language}.js${versionStamp}`,\n '/static/js/app.client.es.js' + versionStamp,\n '/static/js/hot.reload.js' + versionStamp\n]\n"})}),"\n",(0,i.jsx)(n.h3,{id:"karma-removed-instead-of-that-added-jest",children:"Karma removed instead of that added Jest"}),"\n",(0,i.jsx)(n.p,{children:"If you are overriding gulpfile.js you need to make following changes:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["remove from gulpConfig.tasks.dev task ",(0,i.jsx)(n.code,{children:"test:unit:karma:dev"})]}),"\n",(0,i.jsxs)(n.li,{children:["remove from gulpConfig.tasks.dev and gulpConfig.tasks.build task ",(0,i.jsx)(n.code,{children:"Es6ToEs5:vendor:client:test"})]}),"\n",(0,i.jsxs)(n.li,{children:["remove from function buildExample task ",(0,i.jsx)(n.code,{children:"Es6ToEs5:vendor:client:test"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If you are overriding gulpConfig.tasks.build in gulpConfig.js you need to add ",(0,i.jsx)(n.code,{children:"bundle:es:app"})," into bundles section."]}),"\n",(0,i.jsx)(n.h2,{id:"server",children:"Server"}),"\n",(0,i.jsx)(n.p,{children:"In server.js"}),"\n",(0,i.jsx)(n.p,{children:"Add at the top into import sections:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"require('ima/polyfill/imaLoader.js');\nrequire('ima/polyfill/imaRunner.js');\n"})}),"\n",(0,i.jsx)(n.p,{children:"add proxy into middlewares imports section"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"let proxy = require('express-http-proxy');\n"})}),"\n",(0,i.jsx)(n.p,{children:"change line"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:".use(environment.$Proxy.path + '/', proxy)\n"})}),"\n",(0,i.jsx)(n.p,{children:"to"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:".use(environment.$Proxy.path + '/', proxy(environment.$Proxy.server))\n"})}),"\n",(0,i.jsx)(n.h2,{id:"documentview",children:"DocumentView"}),"\n",(0,i.jsx)(n.p,{children:"In DocumentView.jsx we united sync and async scripts."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["remove ",(0,i.jsx)(n.code,{children:"getSyncScripts"})," function."]}),"\n",(0,i.jsxs)(n.li,{children:["update ",(0,i.jsx)(n.code,{children:"getAsyncScripts"})," function to"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"getAsyncScripts() {\n let scriptResources = `<script>\n function checkAsyncAwait () {\n try {\n new Function('(async () => ({}))()');\n return true;\n } catch (e) {\n return false;\n }\n }\n $IMA.Runner = $IMA.Runner || {};\n if (Object.values && checkAsyncAwait()) {\n $IMA.Runner.scripts = [\n ${this.utils.$Settings.$Page.$Render.esScripts\n .map(script => `'${script}'`)\n .join()}\n ];\n } else {\n $IMA.Runner.scripts = [\n ${this.utils.$Settings.$Page.$Render.scripts\n .map(script => `'${script}'`)\n .join()}\n ];\n }\n\n if (!window.fetch) {\n $IMA.Runner.scripts.unshift('${this.utils.$Settings.$Static\n .js}/fetch-polyfill.js');\n }\n\n $IMA.Runner.scripts.forEach(function(source) {\n var script = document.createElement('script');\n script.async = $IMA.$Env !== 'dev';\n script.onload = $IMA.Runner.load;\n script.src = source;\n\n document.getElementById('scripts').appendChild(script);\n });\n <\/script>`;\n\n return scriptResources;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"replace"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"{this.utils.$Settings.$Env === 'dev' ?\n <div id='scripts'>{this.getSyncScripts()}</div>\n:\n <div id='scripts' dangerouslySetInnerHTML={\n { __html: this.getAsyncScripts() }\n }/>\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"with"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"<div id='scripts' dangerouslySetInnerHTML={\n { __html: this.getAsyncScripts() }\n}/>\n"})}),"\n",(0,i.jsx)(n.h2,{id:"spa",children:"SPA"}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.code,{children:"app/assets/static/html/spa.html"})," add ima-polyfill."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L42",children:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L42"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L47",children:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L47"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"removed-namespaces",children:"Removed namespaces"}),"\n",(0,i.jsx)(n.p,{children:"If you extends some view from ns.ima.page.AbstractComponent, you need to add this import:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"import AbstractComponent from 'ima/page/AbstractComponent';\n"})}),"\n",(0,i.jsx)(n.p,{children:"and use AbstractComponent instead of ns.ima.page.AbstractComponent."}),"\n",(0,i.jsx)(n.p,{children:"If you extends some view from ns.ima.controller.AbstractController, you need to add this import:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"import AbstractController from 'ima/controller/AbstractController';\n"})}),"\n",(0,i.jsx)(n.p,{children:"and use AbstractController instead of ns.ima.controller.AbstractController."}),"\n",(0,i.jsx)(n.p,{children:"In settings.js import your DocumentView like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"import DocumentView from 'app/component/document/DocumentView';\n"})}),"\n",(0,i.jsx)(n.p,{children:"Now you need to replace your documentView namespace with React component"}),"\n",(0,i.jsx)(n.p,{children:"so for this step replace your configuration.prod.$Page.$Render.documentView to DocumentView."}),"\n",(0,i.jsx)(n.h2,{id:"others",children:"Others"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["IMA.js is now using React 16 where is no longer supported ",(0,i.jsx)(n.code,{children:"react-addons-perf"})," package in case you were using it."]}),"\n",(0,i.jsxs)(n.li,{children:["There was added a fetchOptions property to the IMA.js' http. You can add this property into your settings.js file\nto the ",(0,i.jsx)(n.code,{children:"$Http.defaultRequestOptions"})," object. The property represents the second and optional parameter of the fetch method\n",(0,i.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch",children:"https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch"})," - an options object containing\nsettings that you want to apply to the Fetch API ",(0,i.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API",children:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API"})," request."]}),"\n",(0,i.jsx)(n.li,{children:"There is a breaking change in the IMA.js' router. Now there is defined an order where mandatory parameters have to be before optional parameters."}),"\n",(0,i.jsx)(n.li,{children:"There are no longer available Request and Response at the client side."}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>o});var t=s(3696);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/33fd58a6.eaff46d9.js b/assets/js/33fd58a6.eaff46d9.js deleted file mode 100644 index 88a095e49..000000000 --- a/assets/js/33fd58a6.eaff46d9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[633],{5680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>g});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},s=Object.keys(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,s=e.originalType,l=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),m=p(t),d=r,g=m["".concat(l,".").concat(d)]||m[d]||u[d]||s;return t?a.createElement(g,i(i({ref:n},c),{},{components:t})):a.createElement(g,i({ref:n},c))}));function g(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var s=t.length,i=new Array(s);i[0]=d;var o={};for(var l in n)hasOwnProperty.call(n,l)&&(o[l]=n[l]);o.originalType=e,o[m]="string"==typeof e?e:r,i[1]=o;for(var p=2;p<s;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},4130:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>p});var a=t(8102),r=(t(6540),t(5680));const s={title:"Migration 0.15.0",description:"Migration > Migration to version 0.15.0"},i=void 0,o={unversionedId:"migration/migration-0.15.0",id:"migration/migration-0.15.0",title:"Migration 0.15.0",description:"Migration > Migration to version 0.15.0",source:"@site/../docs/migration/migration-0.15.0.md",sourceDirName:"migration",slug:"/migration/migration-0.15.0",permalink:"/migration/migration-0.15.0",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-0.15.0.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Migration 0.15.0",description:"Migration > Migration to version 0.15.0"},sidebar:"docs",previous:{title:"Migration 0.14.0",permalink:"/migration/migration-0.14.0"},next:{title:"Migration 0.16.0",permalink:"/migration/migration-0.16.0"}},l={},p=[{value:"Build",id:"build",level:2},{value:"Karma removed instead of that added Jest",id:"karma-removed-instead-of-that-added-jest",level:3},{value:"Server",id:"server",level:2},{value:"DocumentView",id:"documentview",level:2},{value:"SPA",id:"spa",level:2},{value:"Removed namespaces",id:"removed-namespaces",level:2},{value:"Others",id:"others",level:2}],c={toc:p},m="wrapper";function u(e){let{components:n,...t}=e;return(0,r.yg)(m,(0,a.A)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"In order to upgrade to IMA.js 0.15.0, start ba adding these new dependencies to package.json:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'"prop-types": "15.6.0",\n"react": "16.2.0",\n"react-dom": "16.2.0",\n"express-http-proxy": "^1.0.7"\n')),(0,r.yg)("h2",{id:"build"},"Build"),(0,r.yg)("p",null,"If you are overriding polyfills or shims (for example using some custom polyfills) you need to change polyfills or shims structure in gulpConfig.js . Now it has to be structure for js, es and fetch polyfills.\nIf you are't overriding polyfills or shims, you can skip this step."),(0,r.yg)("p",null,"Example:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"shim: {\n js: {\n name: 'shim.js',\n src: ['./node_modules/ima/polyfill/collectionEnumeration.js'],\n dest: {\n client: './build/static/js/'\n }\n },\n es: {\n name: 'shim.es.js',\n src: [],\n dest: {\n client: './build/static/js/',\n server: './build/ima/'\n }\n }\n\n\npolyfill: {\n js: {\n name: 'polyfill.js',\n src: [\n './node_modules/babel-polyfill/dist/polyfill.min.js',\n './node_modules/custom-event-polyfill/custom-event-polyfill.js'\n ],\n dest: {\n client: './build/static/js/'\n }\n },\n es: {\n name: 'polyfill.es.js',\n src: ['./node_modules/custom-event-polyfill/custom-event-polyfill.js'],\n dest: {\n client: './build/static/js/'\n }\n },\n fetch: {\n name: 'fetch-polyfill.js',\n src: [\n './node_modules/core-js/client/shim.min.js',\n './node_modules/whatwg-fetch/fetch.js'\n ],\n dest: {\n client: './build/static/js/'\n }\n },\n ima: {\n name: 'ima-polyfill.js',\n src: [\n './node_modules/ima/polyfill/imaLoader.js',\n './node_modules/ima/polyfill/imaRunner.js'\n ],\n dest: {\n client: './build/static/js/'\n }\n }\n }\n\n")),(0,r.yg)("p",null,"In build.js add new property 'es' to bundle object:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"es: [\n './build/static/js/polyfill.es.js',\n './build/static/js/shim.es.js',\n './build/static/js/vendor.client.es.js',\n './build/static/js/app.client.es.js'\n]\n")),(0,r.yg)("p",null,"Add to your settings.js ",(0,r.yg)("strong",{parentName:"p"},"prod"),".$Page.$Render new property esScripts like this:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"esScripts: [\n '/static/js/locale/' + config.$Language + '.js' + versionStamp,\n '/static/js/app.bundle.es.min.js' + versionStamp\n]\n")),(0,r.yg)("p",null,"Add to your settings.js ",(0,r.yg)("strong",{parentName:"p"},"dev"),".$Page.$Render new property esScripts like this:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"esScripts: [\n '/static/js/polyfill.es.js' + versionStamp,\n '/static/js/shim.es.js' + versionStamp,\n '/static/js/vendor.client.es.js' + versionStamp,\n `/static/js/locale/${config.$Language}.js${versionStamp}`,\n '/static/js/app.client.es.js' + versionStamp,\n '/static/js/hot.reload.js' + versionStamp\n]\n")),(0,r.yg)("h3",{id:"karma-removed-instead-of-that-added-jest"},"Karma removed instead of that added Jest"),(0,r.yg)("p",null,"If you are overriding gulpfile.js you need to make following changes:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"remove from gulpConfig.tasks.dev task ",(0,r.yg)("inlineCode",{parentName:"li"},"test:unit:karma:dev")),(0,r.yg)("li",{parentName:"ul"},"remove from gulpConfig.tasks.dev and gulpConfig.tasks.build task ",(0,r.yg)("inlineCode",{parentName:"li"},"Es6ToEs5:vendor:client:test")),(0,r.yg)("li",{parentName:"ul"},"remove from function buildExample task ",(0,r.yg)("inlineCode",{parentName:"li"},"Es6ToEs5:vendor:client:test"))),(0,r.yg)("p",null,"If you are overriding gulpConfig.tasks.build in gulpConfig.js you need to add ",(0,r.yg)("inlineCode",{parentName:"p"},"bundle:es:app")," into bundles section."),(0,r.yg)("h2",{id:"server"},"Server"),(0,r.yg)("p",null,"In server.js"),(0,r.yg)("p",null,"Add at the top into import sections:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"require('ima/polyfill/imaLoader.js');\nrequire('ima/polyfill/imaRunner.js');\n")),(0,r.yg)("p",null,"add proxy into middlewares imports section"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"let proxy = require('express-http-proxy');\n")),(0,r.yg)("p",null,"change line"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},".use(environment.$Proxy.path + '/', proxy)\n")),(0,r.yg)("p",null,"to"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},".use(environment.$Proxy.path + '/', proxy(environment.$Proxy.server))\n")),(0,r.yg)("h2",{id:"documentview"},"DocumentView"),(0,r.yg)("p",null,"In DocumentView.jsx we united sync and async scripts."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"remove ",(0,r.yg)("inlineCode",{parentName:"li"},"getSyncScripts")," function."),(0,r.yg)("li",{parentName:"ul"},"update ",(0,r.yg)("inlineCode",{parentName:"li"},"getAsyncScripts")," function to")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"getAsyncScripts() {\n let scriptResources = `<script>\n function checkAsyncAwait () {\n try {\n new Function('(async () => ({}))()');\n return true;\n } catch (e) {\n return false;\n }\n }\n $IMA.Runner = $IMA.Runner || {};\n if (Object.values && checkAsyncAwait()) {\n $IMA.Runner.scripts = [\n ${this.utils.$Settings.$Page.$Render.esScripts\n .map(script => `'${script}'`)\n .join()}\n ];\n } else {\n $IMA.Runner.scripts = [\n ${this.utils.$Settings.$Page.$Render.scripts\n .map(script => `'${script}'`)\n .join()}\n ];\n }\n\n if (!window.fetch) {\n $IMA.Runner.scripts.unshift('${this.utils.$Settings.$Static\n .js}/fetch-polyfill.js');\n }\n\n $IMA.Runner.scripts.forEach(function(source) {\n var script = document.createElement('script');\n script.async = $IMA.$Env !== 'dev';\n script.onload = $IMA.Runner.load;\n script.src = source;\n\n document.getElementById('scripts').appendChild(script);\n });\n <\/script>`;\n\n return scriptResources;\n}\n")),(0,r.yg)("p",null,"replace"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-jsx"},"{this.utils.$Settings.$Env === 'dev' ?\n <div id='scripts'>{this.getSyncScripts()}</div>\n:\n <div id='scripts' dangerouslySetInnerHTML={\n { __html: this.getAsyncScripts() }\n }/>\n}\n")),(0,r.yg)("p",null,"with"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-jsx"},"<div id='scripts' dangerouslySetInnerHTML={\n { __html: this.getAsyncScripts() }\n}/>\n")),(0,r.yg)("h2",{id:"spa"},"SPA"),(0,r.yg)("p",null,"In ",(0,r.yg)("inlineCode",{parentName:"p"},"app/assets/static/html/spa.html")," add ima-polyfill."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L42"},"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L42")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L47"},"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/assets/static/html/spa.html#L47"))),(0,r.yg)("h2",{id:"removed-namespaces"},"Removed namespaces"),(0,r.yg)("p",null,"If you extends some view from ns.ima.page.AbstractComponent, you need to add this import:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import AbstractComponent from 'ima/page/AbstractComponent';\n")),(0,r.yg)("p",null,"and use AbstractComponent instead of ns.ima.page.AbstractComponent."),(0,r.yg)("p",null,"If you extends some view from ns.ima.controller.AbstractController, you need to add this import:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import AbstractController from 'ima/controller/AbstractController';\n")),(0,r.yg)("p",null,"and use AbstractController instead of ns.ima.controller.AbstractController."),(0,r.yg)("p",null,"In settings.js import your DocumentView like this:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import DocumentView from 'app/component/document/DocumentView';\n")),(0,r.yg)("p",null,"Now you need to replace your documentView namespace with React component"),(0,r.yg)("p",null,"so for this step replace your configuration.prod.$Page.$Render.documentView to DocumentView."),(0,r.yg)("h2",{id:"others"},"Others"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"IMA.js is now using React 16 where is no longer supported ",(0,r.yg)("inlineCode",{parentName:"li"},"react-addons-perf")," package in case you were using it."),(0,r.yg)("li",{parentName:"ul"},"There was added a fetchOptions property to the IMA.js' http. You can add this property into your settings.js file\nto the ",(0,r.yg)("inlineCode",{parentName:"li"},"$Http.defaultRequestOptions")," object. The property represents the second and optional parameter of the fetch method\n",(0,r.yg)("a",{parentName:"li",href:"https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch"},"https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch")," - an options object containing\nsettings that you want to apply to the Fetch API ",(0,r.yg)("a",{parentName:"li",href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API"},"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API")," request."),(0,r.yg)("li",{parentName:"ul"},"There is a breaking change in the IMA.js' router. Now there is defined an order where mandatory parameters have to be before optional parameters."),(0,r.yg)("li",{parentName:"ul"},"There are no longer available Request and Response at the client side.")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3410d364.0547a697.js b/assets/js/3410d364.0547a697.js deleted file mode 100644 index 694222d3d..000000000 --- a/assets/js/3410d364.0547a697.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[240],{5680:(e,t,n)=>{n.d(t,{xA:()=>g,yg:()=>u});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),o=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},g=function(e){var t=o(e.components);return a.createElement(d.Provider,{value:t},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),m=o(n),s=r,u=m["".concat(d,".").concat(s)]||m[s]||y[s]||l;return n?a.createElement(u,i(i({ref:t},g),{},{components:n})):a.createElement(u,i({ref:t},g))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=s;var p={};for(var d in t)hasOwnProperty.call(t,d)&&(p[d]=t[d]);p.originalType=e,p[m]="string"==typeof e?e:r,i[1]=p;for(var o=2;o<l;o++)i[o]=n[o];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}s.displayName="MDXCreateElement"},7298:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>y,frontMatter:()=>l,metadata:()=>p,toc:()=>o});var a=n(8102),r=(n(6540),n(5680));const l={id:"ima_react_page_renderer.AbstractComponent",title:"Class: AbstractComponent<P, S, SS>",sidebar_label:"@ima/react-page-renderer.AbstractComponent",custom_edit_url:null},i=void 0,p={unversionedId:"api/classes/ima_react_page_renderer.AbstractComponent",id:"api/classes/ima_react_page_renderer.AbstractComponent",title:"Class: AbstractComponent<P, S, SS>",description:"@ima/react-page-renderer.AbstractComponent",source:"@site/../docs/api/classes/ima_react_page_renderer.AbstractComponent.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.AbstractComponent",permalink:"/api/classes/ima_react_page_renderer.AbstractComponent",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.AbstractComponent",title:"Class: AbstractComponent<P, S, SS>",sidebar_label:"@ima/react-page-renderer.AbstractComponent",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/dev-utils.Logger",permalink:"/api/classes/ima_dev_utils.Logger"},next:{title:"@ima/react-page-renderer.AbstractPureComponent",permalink:"/api/classes/ima_react_page_renderer.AbstractPureComponent"}},d={},o=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Properties",id:"properties",level:2},{value:"_utils",id:"_utils",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"context",id:"context",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"props",id:"props",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"refs",id:"refs",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Accessors",id:"accessors",level:2},{value:"utils",id:"utils",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods",level:2},{value:"UNSAFE_componentWillMount",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"UNSAFE_componentWillReceiveProps",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"UNSAFE_componentWillUpdate",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"componentDidCatch",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"componentDidMount",id:"componentdidmount",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"componentDidUpdate",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"componentWillMount",id:"componentwillmount",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"componentWillReceiveProps",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"componentWillUnmount",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"componentWillUpdate",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"cssClasses",id:"cssclasses",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"fire",id:"fire",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"forceUpdate",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"getSnapshotBeforeUpdate",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"listen",id:"listen",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"localize",id:"localize",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"render",id:"render",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"shouldComponentUpdate",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-29",level:4}],g={toc:o},m="wrapper";function y(e){let{components:t,...n}=e;return(0,r.yg)(m,(0,a.A)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".AbstractComponent"),(0,r.yg)("p",null,"The base class for all view components."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"p"},"Component"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"AbstractComponent"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractComponent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),")"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P"))))),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,"Component\\<P, S, SS",">",".constructor"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1008"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractComponent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"context"),")"),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"P"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"context")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/legacy-context.html"},"React Docs")),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,"Component\\<P, S, SS",">",".constructor"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1013"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_utils"},"_","utils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","utils"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L18"},"packages/react-page-renderer/src/component/AbstractComponent.ts:18")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"context"},"context"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"context"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,"Component.context"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L16"},"packages/react-page-renderer/src/component/AbstractComponent.ts:16")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"props"},"props"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,r.yg)("strong",{parentName:"p"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"P"),">"),(0,r.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,r.yg)("p",null,"Component.props"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1026"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"refs"},"refs"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"refs"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs"},"Legacy React Docs")),(0,r.yg)("h4",{id:"index-signature"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactInstance")),(0,r.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,r.yg)("p",null,"Component.refs"),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1033"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"state"},"state"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"state"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,r.yg)("p",null,"Component.state"),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1027"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"contexttype"},"contextType"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"contextType"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Context"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType")),">"," = ",(0,r.yg)("inlineCode",{parentName:"p"},"PageContext")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,"Component.contextType"),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L15"},"packages/react-page-renderer/src/component/AbstractComponent.ts:15")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"utils"},"utils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"utils"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"Returns the utilities for the view components. The returned value is the\nvalue bound to the ",(0,r.yg)("inlineCode",{parentName:"p"},"$Utils")," object container constant."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"The utilities for the view components."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L26"},"packages/react-page-renderer/src/component/AbstractComponent.ts:26")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"unsafe_componentwillmount"},"UNSAFE","_","componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#componentdidmount"},"componentDidMount")," or the constructor instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillMount"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1463"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillreceiveprops"},"UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1497"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillupdate"},"UNSAFE","_","componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#setstate"},"setState")," here."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1527"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidcatch"},"componentDidCatch"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidCatch"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"error"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"errorInfo"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"error")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"errorInfo")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ErrorInfo"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidCatch"),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1390"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidmount"},"componentDidMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after a component is mounted. Setting state here will trigger re-rendering."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidMount"),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1369"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidupdate"},"componentDidUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"snapshot?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after updating occurs. Not called for the initial render."),(0,r.yg)("p",null,"The snapshot is only present if ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate")," is present and returns non-null."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"snapshot?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS"))))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidUpdate"),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1432"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillmount"},"componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#componentdidmount"},"componentDidMount")," or the constructor instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillMount"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1448"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillreceiveprops"},"componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1479"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillunmount"},"componentWillUnmount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUnmount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidMount"),"."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillUnmount"),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1385"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillupdate"},"componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#setstate"},"setState")," here."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1511"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cssclasses"},"cssClasses"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cssClasses"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"classRules"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"includeComponentClassName?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to true."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classRules")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"),"; } ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"CSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is ",(0,r.yg)("inlineCode",{parentName:"td"},"true"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"includeComponentClassName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"false")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"String of CSS classes that had their property resolved\nto ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"this.cssClasses('my-class my-class-modifier', true);\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"this.cssClasses({\n 'my-class': true,\n 'my-class-modifier': this.props.modifier\n }, true);\n")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L86"},"packages/react-page-renderer/src/component/AbstractComponent.ts:86")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Creates and sends a new IMA.js DOM custom event from this component."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"EventTarget compatible node.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Data to send within the event.")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L100"},"packages/react-page-renderer/src/component/AbstractComponent.ts:100")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"forceupdate"},"forceUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"forceUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,r.yg)("p",null,"Component.forceUpdate"),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1023"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"getSnapshotBeforeUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"Runs before React applies the result of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#render"},"render")," to the document, and\nreturns an object to be given to ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#componentdidupdate"},"componentDidUpdate"),". Useful for saving\nthings such as scroll position before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#render"},"render")," causes changes to it."),(0,r.yg)("p",null,"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,r.yg)("p",null,"Component.getSnapshotBeforeUpdate"),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1426"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"link"},"link"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"link"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates an absolute URL using the provided route name (see the"),(0,r.yg)("code",null,"app/config/routes.js")," file). The provided parameters will replace the placeholders in the route pattern, while the extraneous parameters will be appended to the generated URL's query string.",(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The route name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Router parameters and extraneous parameters to add to the URL as a query string.")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The generated URL."),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L62"},"packages/react-page-renderer/src/component/AbstractComponent.ts:62")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Registers the provided event listener for execution whenever an IMA.js\nDOM custom event of the specified name occurs at the specified event\ntarget."),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The react component or event target at which the listener should listen for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which to listen.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The listener for event to register.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L114"},"packages/react-page-renderer/src/component/AbstractComponent.ts:114")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"localize"},"localize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"localize"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the localized phrase identified by the specified key. The\nplaceholders in the localization phrase will be replaced by the provided\nvalues."),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"never")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Localization key.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Values for replacing the placeholders in the localization phrase.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Localized phrase."),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L44"},"packages/react-page-renderer/src/component/AbstractComponent.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"render"},"render"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"render"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactNode")),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"ReactNode")),(0,r.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,r.yg)("p",null,"Component.render"),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1024"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"prevState"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">",", ",(0,r.yg)("inlineCode",{parentName:"td"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,r.yg)("p",null,"Component.setState"),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1018"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"shouldcomponentupdate"},"shouldComponentUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"shouldComponentUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Called to determine whether the change in props and state should trigger a re-render."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Component")," always returns true.\n",(0,r.yg)("inlineCode",{parentName:"p"},"PureComponent")," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."),(0,r.yg)("p",null,"If false is returned, ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.AbstractComponent#render"},"render"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"componentWillUpdate"),"\nand ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidUpdate")," will not be called."),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"P"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,r.yg)("p",null,"Component.shouldComponentUpdate"),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1380"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Deregisters the provided event listener for an IMA.js DOM custom event\nof the specified name at the specified event target."),(0,r.yg)("h4",{id:"parameters-17"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The react component or event target at which the listener should listen for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which to listen.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The listener for event to register.")))),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/AbstractComponent.ts#L131"},"packages/react-page-renderer/src/component/AbstractComponent.ts:131")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/34832b8e.43e95837.js b/assets/js/34832b8e.43e95837.js new file mode 100644 index 000000000..b0dfeeac2 --- /dev/null +++ b/assets/js/34832b8e.43e95837.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7160],{639:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>t});const c=JSON.parse('{"id":"api/@ima/core/interfaces/Environment","title":"Interface: Environment","description":"Defined in56","source":"@site/../docs/api/@ima/core/interfaces/Environment.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/Environment","permalink":"/api/@ima/core/interfaces/Environment","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/Environment.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: DispatcherEventsMap","permalink":"/api/@ima/core/interfaces/DispatcherEventsMap"},"next":{"title":"Interface: GlobalImaObject","permalink":"/api/@ima/core/interfaces/GlobalImaObject"}}');var s=r(2540),l=r(3023);const i={},d="Interface: Environment",o={},t=[{value:"Indexable",id:"indexable",level:2},{value:"Properties",id:"properties",level:2},{value:"$App?",id:"app",level:3},{value:"$Debug",id:"debug",level:3},{value:"$Language",id:"language",level:3},{value:"$Resources()?",id:"resources",level:3},{value:"Parameters",id:"parameters",level:4},{value:"response",id:"response",level:5},{value:"manifest",id:"manifest",level:5},{value:"defaultResources",id:"defaultresources",level:5},{value:"Returns",id:"returns",level:4},{value:"$Server",id:"server",level:3},{value:"cache",id:"cache",level:4},{value:"cache.cacheKeyGenerator()?",id:"cachecachekeygenerator",level:5},{value:"Parameters",id:"parameters-1",level:6},{value:"req",id:"req",level:6},{value:"Returns",id:"returns-1",level:6},{value:"cache.enabled",id:"cacheenabled",level:5},{value:"cache.entryTtl",id:"cacheentryttl",level:5},{value:"cache.maxEntries",id:"cachemaxentries",level:5},{value:"cache.unusedEntryTtl",id:"cacheunusedentryttl",level:5},{value:"clusters",id:"clusters",level:4},{value:"concurrency",id:"concurrency",level:4},{value:"host?",id:"host",level:4},{value:"logger",id:"logger",level:4},{value:"logger.formatting",id:"loggerformatting",level:5},{value:"overloadConcurrency",id:"overloadconcurrency",level:4},{value:"port",id:"port",level:4},{value:"protocol?",id:"protocol",level:4},{value:"serveSPA",id:"servespa",level:4},{value:"serveSPA.allow",id:"servespaallow",level:5},{value:"serveSPA.blackList()?",id:"servespablacklist",level:5},{value:"Parameters",id:"parameters-2",level:6},{value:"userAgent",id:"useragent",level:6},{value:"Returns",id:"returns-2",level:6},{value:"staticConcurrency",id:"staticconcurrency",level:4},{value:"staticPath",id:"staticpath",level:4},{value:"$Version",id:"version",level:3}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",p:"p",strong:"strong",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"interface-environment",children:"Interface: Environment"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L56",children:"packages/core/src/boot.ts:56"})]}),"\n",(0,s.jsx)(n.p,{children:"App environment for single env key."}),"\n",(0,s.jsx)(n.h2,{id:"indexable",children:"Indexable"}),"\n",(0,s.jsxs)(n.p,{children:["[",(0,s.jsx)(n.code,{children:"key"}),": ",(0,s.jsx)(n.code,{children:"string"}),"]: ",(0,s.jsx)(n.code,{children:"unknown"})]}),"\n",(0,s.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(n.h3,{id:"app",children:"$App?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"$App"}),": ",(0,s.jsx)(n.code,{children:"$AppSettings"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L61",children:"packages/core/src/boot.ts:61"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"debug",children:"$Debug"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"$Debug"}),": ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L58",children:"packages/core/src/boot.ts:58"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"language",children:"$Language"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"$Language"}),": ",(0,s.jsx)(n.code,{children:"Record"}),"<",(0,s.jsx)(n.code,{children:"string"}),", ",(0,s.jsx)(n.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L59",children:"packages/core/src/boot.ts:59"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"resources",children:"$Resources()?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"$Resources"}),": (",(0,s.jsx)(n.code,{children:"response"}),", ",(0,s.jsx)(n.code,{children:"manifest"}),", ",(0,s.jsx)(n.code,{children:"defaultResources"}),") => ",(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/Resources",children:(0,s.jsx)(n.code,{children:"Resources"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L62",children:"packages/core/src/boot.ts:62"})]}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h5,{id:"response",children:"response"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"unknown"})}),"\n",(0,s.jsx)(n.h5,{id:"manifest",children:"manifest"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/Manifest",children:(0,s.jsx)(n.code,{children:"Manifest"})})}),"\n",(0,s.jsx)(n.h5,{id:"defaultresources",children:"defaultResources"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/Resources",children:(0,s.jsx)(n.code,{children:"Resources"})})}),"\n",(0,s.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/Resources",children:(0,s.jsx)(n.code,{children:"Resources"})})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"server",children:"$Server"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"$Server"}),": ",(0,s.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L67",children:"packages/core/src/boot.ts:67"})]}),"\n",(0,s.jsx)(n.h4,{id:"cache",children:"cache"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"cache"}),": ",(0,s.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"cachecachekeygenerator",children:"cache.cacheKeyGenerator()?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"cache.cacheKeyGenerator"}),": (",(0,s.jsx)(n.code,{children:"req"}),") => ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(n.h6,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(n.h6,{id:"req",children:"req"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"Request"})}),"\n",(0,s.jsx)(n.h6,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h5,{id:"cacheenabled",children:"cache.enabled"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"cache.enabled"}),": ",(0,s.jsx)(n.code,{children:"boolean"})," | (",(0,s.jsx)(n.code,{children:"req"}),") => ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"cacheentryttl",children:"cache.entryTtl"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"cache.entryTtl"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"cachemaxentries",children:"cache.maxEntries"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"cache.maxEntries"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"cacheunusedentryttl",children:"cache.unusedEntryTtl"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"cache.unusedEntryTtl"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"clusters",children:"clusters"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"clusters"}),": ",(0,s.jsx)(n.code,{children:"null"})," | ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"concurrency",children:"concurrency"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"concurrency"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"host",children:"host?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"host"}),": ",(0,s.jsx)(n.code,{children:"string"})," | (",(0,s.jsx)(n.code,{children:"__namedParameters"}),") => ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"logger",children:"logger"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"logger"}),": ",(0,s.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"loggerformatting",children:"logger.formatting"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"logger.formatting"}),": ",(0,s.jsx)(n.code,{children:'"dev"'})," | ",(0,s.jsx)(n.code,{children:'"simple"'})," | ",(0,s.jsx)(n.code,{children:'"JSON"'})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"overloadconcurrency",children:"overloadConcurrency"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"overloadConcurrency"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"port",children:"port"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"port"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"protocol",children:"protocol?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"protocol"}),": ",(0,s.jsx)(n.code,{children:'"http:"'})," | ",(0,s.jsx)(n.code,{children:'"https:"'})," | (",(0,s.jsx)(n.code,{children:"__namedParameters"}),") => ",(0,s.jsx)(n.code,{children:'"http:"'})," | ",(0,s.jsx)(n.code,{children:'"https:"'})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"servespa",children:"serveSPA"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"serveSPA"}),": ",(0,s.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"servespaallow",children:"serveSPA.allow"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"serveSPA.allow"}),": ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsx)(n.h5,{id:"servespablacklist",children:"serveSPA.blackList()?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"serveSPA.blackList"}),": (",(0,s.jsx)(n.code,{children:"userAgent"}),") => ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsx)(n.h6,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(n.h6,{id:"useragent",children:"userAgent"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h6,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"boolean"})}),"\n",(0,s.jsx)(n.h4,{id:"staticconcurrency",children:"staticConcurrency"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"staticConcurrency"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"staticpath",children:"staticPath"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"staticPath"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"version",children:"$Version"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"$Version"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L60",children:"packages/core/src/boot.ts:60"})]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>d});var c=r(3696);const s={},l=c.createContext(s);function i(e){const n=c.useContext(l);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),c.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/35f8904a.2fa5a4ab.js b/assets/js/35f8904a.2fa5a4ab.js new file mode 100644 index 000000000..d1fc62d73 --- /dev/null +++ b/assets/js/35f8904a.2fa5a4ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[707],{235:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/dev-utils/functions/createSourceFragment","title":"Function: createSourceFragment()","description":"createSourceFragment(line, source, contextLines?): FragmentLine[]","source":"@site/../docs/api/@ima/dev-utils/functions/createSourceFragment.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/createSourceFragment","permalink":"/api/@ima/dev-utils/functions/createSourceFragment","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/createSourceFragment.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: createLogger()","permalink":"/api/@ima/dev-utils/functions/createLogger"},"next":{"title":"Function: extractSourceMappingUrl()","permalink":"/api/@ima/dev-utils/functions/extractSourceMappingUrl"}}');var c=r(2540),i=r(3023);const s={},o="Function: createSourceFragment()",a={},d=[{value:"Parameters",id:"parameters",level:2},{value:"line",id:"line",level:3},{value:"source",id:"source",level:3},{value:"contextLines?",id:"contextlines",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"function-createsourcefragment",children:"Function: createSourceFragment()"})}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"createSourceFragment"}),"(",(0,c.jsx)(n.code,{children:"line"}),", ",(0,c.jsx)(n.code,{children:"source"}),", ",(0,c.jsx)(n.code,{children:"contextLines"}),"?): ",(0,c.jsx)(n.a,{href:"/api/@ima/dev-utils/interfaces/FragmentLine",children:(0,c.jsx)(n.code,{children:"FragmentLine"})}),"[]"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/sourceFragment.ts#L18",children:"sourceFragment.ts:18"})]}),"\n",(0,c.jsx)(n.p,{children:"Create fragment of code lines around input line (above and below), created\ncreated from provided source code."}),"\n",(0,c.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(n.h3,{id:"line",children:"line"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"number"})}),"\n",(0,c.jsx)(n.p,{children:"Source code line number, around which\nyou want to created source fragment."}),"\n",(0,c.jsx)(n.h3,{id:"source",children:"source"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"string"})}),"\n",(0,c.jsx)(n.p,{children:"Source file's source code."}),"\n",(0,c.jsx)(n.h3,{id:"contextlines",children:"contextLines?"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"number"})," = ",(0,c.jsx)(n.code,{children:"4"})]}),"\n",(0,c.jsx)(n.p,{children:"Number of lines to generate,\nbelow and after watched line."}),"\n",(0,c.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/dev-utils/interfaces/FragmentLine",children:(0,c.jsx)(n.code,{children:"FragmentLine"})}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"Array of source code lines."})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(l,{...e})}):l(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var t=r(3696);const c={},i=t.createContext(c);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:s(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/36520f9b.297f480e.js b/assets/js/36520f9b.297f480e.js new file mode 100644 index 000000000..10a0d332a --- /dev/null +++ b/assets/js/36520f9b.297f480e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5462],{6710:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useLocalize","title":"Function: useLocalize()","description":"useLocalize(): Dictionary\\\\[\\"get\\"\\\\]","source":"@site/../docs/api/@ima/react-page-renderer/functions/useLocalize.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useLocalize","permalink":"/api/@ima/react-page-renderer/functions/useLocalize","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useLocalize.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useLink()","permalink":"/api/@ima/react-page-renderer/functions/useLink"},"next":{"title":"Function: useOnce()","permalink":"/api/@ima/react-page-renderer/functions/useOnce"}}');var i=r(2540),t=r(3023);const s={},a="Function: useLocalize()",o={},l=[{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"function-uselocalize",children:"Function: useLocalize()"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"useLocalize"}),"(): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,i.jsx)(n.code,{children:"Dictionary"})}),"[",(0,i.jsx)(n.code,{children:'"get"'}),"]"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/localize.ts#L14",children:"packages/react-page-renderer/src/hooks/localize.ts:14"})]}),"\n",(0,i.jsx)(n.p,{children:"Provides direct access to Dictionary.get function."}),"\n",(0,i.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,i.jsx)(n.code,{children:"Dictionary"})}),"[",(0,i.jsx)(n.code,{children:'"get"'}),"]"]}),"\n",(0,i.jsx)(n.p,{children:"Localized string."}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"const localize = useLocalize();\n"})})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>a});var c=r(3696);const i={},t=c.createContext(i);function s(e){const n=c.useContext(t);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),c.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37e10be9.028d57a7.js b/assets/js/37e10be9.028d57a7.js new file mode 100644 index 000000000..c3922a40c --- /dev/null +++ b/assets/js/37e10be9.028d57a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2831],{8972:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>p,frontMatter:()=>t,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/cli/functions/createWebpackConfig","title":"Function: createWebpackConfig()","description":"createWebpackConfig(args, imaConfig): Promise\\\\","source":"@site/../docs/api/@ima/cli/functions/createWebpackConfig.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/createWebpackConfig","permalink":"/api/@ima/cli/functions/createWebpackConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/createWebpackConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: createDevServerConfig()","permalink":"/api/@ima/cli/functions/createDevServerConfig"},"next":{"title":"Function: findRules()","permalink":"/api/@ima/cli/functions/findRules"}}');var a=i(2540),r=i(3023);const t={},s="Function: createWebpackConfig()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"args",id:"args",level:3},{value:"imaConfig",id:"imaconfig",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"function-createwebpackconfig",children:"Function: createWebpackConfig()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"createWebpackConfig"}),"(",(0,a.jsx)(n.code,{children:"args"}),", ",(0,a.jsx)(n.code,{children:"imaConfig"}),"): ",(0,a.jsx)(n.code,{children:"Promise"}),"<",(0,a.jsx)(n.code,{children:"Configuration"}),"[]>"]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L453",children:"webpack/utils.ts:453"})]}),"\n",(0,a.jsx)(n.p,{children:"Creates webpack configurations contexts from current config and cli args.\nAdditionally it applies all existing configuration overrides from cli plugins\nand app overrides in this order cli -> plugins -> app."}),"\n",(0,a.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(n.h3,{id:"args",children:"args"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,a.jsx)(n.code,{children:"ImaCliArgs"})})}),"\n",(0,a.jsx)(n.p,{children:"Parsed CLI and build arguments."}),"\n",(0,a.jsx)(n.h3,{id:"imaconfig",children:"imaConfig"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,a.jsx)(n.code,{children:"ImaConfig"})})}),"\n",(0,a.jsx)(n.p,{children:"Loaded ima config."}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"Promise"}),"<",(0,a.jsx)(n.code,{children:"Configuration"}),"[]>"]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>s});var c=i(3696);const a={},r=c.createContext(a);function t(e){const n=c.useContext(r);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),c.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3834631c.e80112c3.js b/assets/js/3834631c.e80112c3.js deleted file mode 100644 index f74afd5f4..000000000 --- a/assets/js/3834631c.e80112c3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5682],{5680:(e,a,t)=>{t.d(a,{xA:()=>g,yg:()=>m});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=n.createContext({}),s=function(e){var a=n.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},g=function(e){var a=s(e.components);return n.createElement(p.Provider,{value:a},e.children)},y="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},d=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),y=s(t),d=r,m=y["".concat(p,".").concat(d)]||y[d]||c[d]||i;return t?n.createElement(m,l(l({ref:a},g),{},{components:t})):n.createElement(m,l({ref:a},g))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=d;var o={};for(var p in a)hasOwnProperty.call(a,p)&&(o[p]=a[p]);o.originalType=e,o[y]="string"==typeof e?e:r,l[1]=o;for(var s=2;s<i;s++)l[s]=t[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},4361:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.Dictionary",title:"Class: Dictionary",sidebar_label:"@ima/core.Dictionary",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.Dictionary",id:"api/classes/ima_core.Dictionary",title:"Class: Dictionary",description:"@ima/core.Dictionary",source:"@site/../docs/api/classes/ima_core.Dictionary.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Dictionary",permalink:"/api/classes/ima_core.Dictionary",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Dictionary",title:"Class: Dictionary",sidebar_label:"@ima/core.Dictionary",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.CookieStorage",permalink:"/api/classes/ima_core.CookieStorage"},next:{title:"@ima/core.Dispatcher",permalink:"/api/classes/ima_core.Dispatcher"}},p={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"getLanguage",id:"getlanguage",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4}],g={toc:s},y="wrapper";function c(e){let{components:a,...t}=e;return(0,r.yg)(y,(0,n.A)({},g,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Dictionary"),(0,r.yg)("p",null,"The Dictionary is a manager and preprocessor of localization phrases for a\nsingle language. The format of the localization phrases depends on the\nimplementation of this interface."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Dictionary"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MessageFormatDictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"MessageFormatDictionary"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MessageFormatDictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"MessageFormatDictionary"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Dictionary"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"parameters?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Retrieves the localization phrase identified by the specified key,\nevaluates the phrase's placeholder expressions using the provided\nparameters and returns the result."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"never")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The key identifying the localization phrase.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"parameters?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#objectparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The map of parameter names to the parameter values to use. Defaults to an empty plain object.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The specified localization phrase with its placeholders\nevaluated using the provided parameters."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L59"},"packages/core/src/dictionary/Dictionary.ts:59")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getlanguage"},"getLanguage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getLanguage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the ISO 639-1 language code of the language this dictionary was\ninitialized with."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The language code representing the language of the\nlocalization phrases in this dictionary."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L43"},"packages/core/src/dictionary/Dictionary.ts:43")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"has"},"has"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"has"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Tests whether the specified localization phrase exists in the\ndictionary."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The key identifying the localization phrase. @return",(0,r.yg)("inlineCode",{parentName:"td"},"true")," if the key exists and denotes a single localization phrase, otherwise ",(0,r.yg)("inlineCode",{parentName:"td"},"false"),".")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L71"},"packages/core/src/dictionary/Dictionary.ts:71")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes this dictionary with the provided language and localization\nphrases."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dictionaryconfig"},(0,r.yg)("inlineCode",{parentName:"a"},"DictionaryConfig"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The dictionary configuration.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/Dictionary.ts#L32"},"packages/core/src/dictionary/Dictionary.ts:32")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/388bb84c.002c25f3.js b/assets/js/388bb84c.002c25f3.js new file mode 100644 index 000000000..9ab8705d6 --- /dev/null +++ b/assets/js/388bb84c.002c25f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8753],{6102:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/type-aliases/HttpProxyRequestParams","title":"Type Alias: HttpProxyRequestParams","description":"HttpProxyRequestParams: object","source":"@site/../docs/api/@ima/core/type-aliases/HttpProxyRequestParams.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/HttpProxyRequestParams","permalink":"/api/@ima/core/type-aliases/HttpProxyRequestParams","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/HttpProxyRequestParams.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: HttpProxyErrorParams\\\\<B\\\\>","permalink":"/api/@ima/core/type-aliases/HttpProxyErrorParams"},"next":{"title":"Type Alias: InitBindFunction()","permalink":"/api/@ima/core/type-aliases/InitBindFunction"}}');var n=s(2540),a=s(3023);const i={},o="Type Alias: HttpProxyRequestParams",c={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"data?",id:"data",level:3},{value:"method",id:"method",level:3},{value:"options",id:"options",level:3},{value:"transformedUrl",id:"transformedurl",level:3},{value:"url",id:"url",level:3}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"type-alias-httpproxyrequestparams",children:"Type Alias: HttpProxyRequestParams"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"HttpProxyRequestParams"}),": ",(0,n.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L27",children:"packages/core/src/http/HttpProxy.ts:27"})]}),"\n",(0,n.jsx)(t.p,{children:"An object representing the complete request parameters used to create and\nsend the HTTP request."}),"\n",(0,n.jsx)(t.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,n.jsx)(t.h3,{id:"data",children:"data?"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"optional"})," ",(0,n.jsx)(t.strong,{children:"data"}),": ",(0,n.jsx)(t.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,n.jsx)(t.code,{children:"UnknownParameters"})})]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"method",children:"method"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"method"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"options",children:"options"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"options"}),": ",(0,n.jsx)(t.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,n.jsx)(t.code,{children:"HttpAgentRequestOptions"})})]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"transformedurl",children:"transformedUrl"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"transformedUrl"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"url",children:"url"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"url"}),": ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>o});var r=s(3696);const n={},a=r.createContext(n);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3aa5d059.2126437f.js b/assets/js/3aa5d059.2126437f.js new file mode 100644 index 000000000..85a77e0ab --- /dev/null +++ b/assets/js/3aa5d059.2126437f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5755],{9284:(e,r,c)=>{c.r(r),c.d(r,{assets:()=>t,contentTitle:()=>i,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/interfaces/RouteFactoryOptions","title":"Interface: RouteFactoryOptions","description":"Defined in35","source":"@site/../docs/api/@ima/core/interfaces/RouteFactoryOptions.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/RouteFactoryOptions","permalink":"/api/@ima/core/interfaces/RouteFactoryOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/RouteFactoryOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: RouteAction","permalink":"/api/@ima/core/interfaces/RouteAction"},"next":{"title":"Interface: RouteLocals","permalink":"/api/@ima/core/interfaces/RouteLocals"}}');var s=c(2540),o=c(3023);const d={},i="Interface: RouteFactoryOptions",t={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Properties",id:"properties",level:2},{value:"autoScroll",id:"autoscroll",level:3},{value:"documentView",id:"documentview",level:3},{value:"extensions?",id:"extensions",level:3},{value:"managedRootView",id:"managedrootview",level:3},{value:"middlewares",id:"middlewares",level:3},{value:"onlyUpdate",id:"onlyupdate",level:3},{value:"viewAdapter",id:"viewadapter",level:3}];function a(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"interface-routefactoryoptions",children:"Interface: RouteFactoryOptions"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L35",children:"packages/core/src/router/Router.ts:35"})]}),"\n",(0,s.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"autoscroll",children:"autoScroll"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"autoScroll"}),": ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L36",children:"packages/core/src/router/Router.ts:36"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"documentview",children:"documentView"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"documentView"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L37",children:"packages/core/src/router/Router.ts:37"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"extensions",children:"extensions?"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"optional"})," ",(0,s.jsx)(r.strong,{children:"extensions"}),": (",(0,s.jsx)(r.code,{children:'"$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"$oc"'})," | ",(0,s.jsx)(r.code,{children:'"$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"$Env"'})," | ",(0,s.jsx)(r.code,{children:'"$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"$Request"'})," | ",(0,s.jsx)(r.code,{children:'"$Response"'})," | ",(0,s.jsx)(r.code,{children:'"$Window"'})," | ",(0,s.jsx)(r.code,{children:'"$Error"'})," | ",(0,s.jsx)(r.code,{children:'"$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"$Router"'})," | ",(0,s.jsx)(r.code,{children:'"$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"$Http"'})," | ",(0,s.jsx)(r.code,{children:'"$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:'"?$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"?$oc"'})," | ",(0,s.jsx)(r.code,{children:'"?$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"?$Env"'})," | ",(0,s.jsx)(r.code,{children:'"?$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"?$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"?$Request"'})," | ",(0,s.jsx)(r.code,{children:'"?$Response"'})," | ",(0,s.jsx)(r.code,{children:'"?$Window"'})," | ",(0,s.jsx)(r.code,{children:'"?$Error"'})," | ",(0,s.jsx)(r.code,{children:'"?$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"?$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"?$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"?$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"?$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"?$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"?$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"?$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"?$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"?$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"?$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"?$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"?$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"?$Router"'})," | ",(0,s.jsx)(r.code,{children:'"?$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"?$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"?$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"?$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"?$Http"'})," | ",(0,s.jsx)(r.code,{children:'"?$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"?$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`?$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`?$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:'"...?$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"...?$oc"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Env"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Request"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Response"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Window"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Error"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"...?$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...?$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"...?$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"...?$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...?$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"...?$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Router"'})," | ",(0,s.jsx)(r.code,{children:'"...?$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"...?$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"...?$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"...?$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"...?$Http"'})," | ",(0,s.jsx)(r.code,{children:'"...?$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"...?$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`...?$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...?$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:'"...$Helper"'})," | ",(0,s.jsx)(r.code,{children:'"...$oc"'})," | ",(0,s.jsx)(r.code,{children:'"...$Settings"'})," | ",(0,s.jsx)(r.code,{children:'"...$Env"'})," | ",(0,s.jsx)(r.code,{children:'"...$Protocol"'})," | ",(0,s.jsx)(r.code,{children:'"...$Secure"'})," | ",(0,s.jsx)(r.code,{children:'"...$Request"'})," | ",(0,s.jsx)(r.code,{children:'"...$Response"'})," | ",(0,s.jsx)(r.code,{children:'"...$Window"'})," | ",(0,s.jsx)(r.code,{children:'"...$Error"'})," | ",(0,s.jsx)(r.code,{children:'"...$Dictionary"'})," | ",(0,s.jsx)(r.code,{children:'"...$CookieTransformFunction"'})," | ",(0,s.jsx)(r.code,{children:'"...$CookieStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$SessionStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$MapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$WeakMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$SessionMapStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$Dispatcher"'})," | ",(0,s.jsx)(r.code,{children:'"...$EventBus"'})," | ",(0,s.jsx)(r.code,{children:'"...$Observable"'})," | ",(0,s.jsx)(r.code,{children:'"...$CacheStorage"'})," | ",(0,s.jsx)(r.code,{children:'"...$CacheFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...$Cache"'})," | ",(0,s.jsx)(r.code,{children:'"...$MetaManager"'})," | ",(0,s.jsx)(r.code,{children:'"...$ControllerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageStateManagerDecorator"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageStateManager"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...$ComponentUtils"'})," | ",(0,s.jsx)(r.code,{children:'"...$Utils"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageHandlerRegistry"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageManager"'})," | ",(0,s.jsx)(r.code,{children:'"...$RouteFactory"'})," | ",(0,s.jsx)(r.code,{children:'"...$Router"'})," | ",(0,s.jsx)(r.code,{children:'"...$RouteNames"'})," | ",(0,s.jsx)(r.code,{children:'"...$RouterEvents"'})," | ",(0,s.jsx)(r.code,{children:'"...$HttpUrlTransformer"'})," | ",(0,s.jsx)(r.code,{children:'"...$HttpAgentProxy"'})," | ",(0,s.jsx)(r.code,{children:'"...$Http"'})," | ",(0,s.jsx)(r.code,{children:'"...$HttpStatusCode"'})," | ",(0,s.jsx)(r.code,{children:'"...$PageRenderer"'})," | ",(0,s.jsx)(r.code,{children:"`...$Helper.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$oc.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Settings.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Env.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Protocol.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Secure.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Request.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Response.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Window.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Error.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Dictionary.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CookieTransformFunction.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CookieStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$SessionStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$MapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$WeakMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$SessionMapStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Dispatcher.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$EventBus.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Observable.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CacheStorage.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$CacheFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Cache.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$MetaManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$ControllerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageStateManagerDecorator.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageStateManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$ComponentUtils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Utils.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageHandlerRegistry.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageManager.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$RouteFactory.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Router.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$RouteNames.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$RouterEvents.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$HttpUrlTransformer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$HttpAgentProxy.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$Http.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$HttpStatusCode.${string}`"})," | ",(0,s.jsx)(r.code,{children:"`...$PageRenderer.${string}`"})," | ",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">> | ",(0,s.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">> | [",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">> | ",(0,s.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})}),"<",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),", ",(0,s.jsx)(r.code,{children:"any"}),">>, { ",(0,s.jsx)(r.code,{children:"optional"}),": ",(0,s.jsx)(r.code,{children:"true"}),"; }])[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L44",children:"packages/core/src/router/Router.ts:44"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"managedrootview",children:"managedRootView"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"managedRootView"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L38",children:"packages/core/src/router/Router.ts:38"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"middlewares",children:"middlewares"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"middlewares"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,s.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L43",children:"packages/core/src/router/Router.ts:43"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"onlyupdate",children:"onlyUpdate"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"onlyUpdate"}),": ",(0,s.jsx)(r.code,{children:"boolean"})," | (",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"view"}),") => ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L39",children:"packages/core/src/router/Router.ts:39"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"viewadapter",children:"viewAdapter"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"viewAdapter"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L42",children:"packages/core/src/router/Router.ts:42"})]})]})}function h(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},3023:(e,r,c)=>{c.d(r,{R:()=>d,x:()=>i});var n=c(3696);const s={},o=n.createContext(s);function d(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3b749563.9defdeea.js b/assets/js/3b749563.9defdeea.js new file mode 100644 index 000000000..df50dbd0a --- /dev/null +++ b/assets/js/3b749563.9defdeea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7430],{8223:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>d,contentTitle:()=>a,default:()=>o,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/Storage","title":"Class: abstract Storage\\\\<V\\\\>","description":"Defined in6","source":"@site/../docs/api/@ima/core/classes/Storage.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Storage","permalink":"/api/@ima/core/classes/Storage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Storage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: StaticRoute","permalink":"/api/@ima/core/classes/StaticRoute"},"next":{"title":"Class: UrlTransformer","permalink":"/api/@ima/core/classes/UrlTransformer"}}');var i=r(2540),t=r(3023);const c={},a="Class: abstract Storage<V>",d={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Storage()",id:"new-storage",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-2",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-4",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-5",level:4},{value:"keys()",id:"keys",level:3},{value:"Returns",id:"returns-6",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-7",level:4},{value:"size()",id:"size",level:3},{value:"Returns",id:"returns-8",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsxs)(s.h1,{id:"class-abstract-storagev",children:["Class: ",(0,i.jsx)(s.code,{children:"abstract"})," Storage<V>"]})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L6",children:"packages/core/src/storage/Storage.ts:6"})]}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:"Storage"})," is an unordered collection of named values of any\ntype. Values in the storage are named using ",(0,i.jsx)(s.code,{children:"string"})," keys. The storage\ncan be therefore thought of as a ",(0,i.jsx)(s.code,{children:"Map<string, *>"}),"....."]}),"\n",(0,i.jsx)(s.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/CookieStorage",children:(0,i.jsx)(s.code,{children:"CookieStorage"})})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,i.jsx)(s.code,{children:"MapStorage"})})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionMapStorage",children:(0,i.jsx)(s.code,{children:"SessionMapStorage"})})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionStorage",children:(0,i.jsx)(s.code,{children:"SessionStorage"})})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/WeakMapStorage",children:(0,i.jsx)(s.code,{children:"WeakMapStorage"})})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"V"})]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-storage",children:"new Storage()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new Storage"}),"<",(0,i.jsx)(s.code,{children:"V"}),">(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L73",children:"packages/core/src/storage/Storage.ts:73"})]}),"\n",(0,i.jsx)(s.p,{children:"Clears the storage of all entries."}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"delete"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L64",children:"packages/core/src/storage/Storage.ts:64"})]}),"\n",(0,i.jsx)(s.p,{children:"Deletes the entry identified by the specified key from this storage."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L42",children:"packages/core/src/storage/Storage.ts:42"})]}),"\n",(0,i.jsxs)(s.p,{children:["Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,i.jsx)(s.code,{children:"undefined"})," if the entry does not exists."]}),"\n",(0,i.jsxs)(s.p,{children:["Entries set to the ",(0,i.jsx)(s.code,{children:"undefined"})," value can be tested for existence\nusing the ",(0,i.jsx)(s.code,{children:"link has"})," method."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-1",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n",(0,i.jsx)(s.p,{children:"The value of the storage entry."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"has"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L28",children:"packages/core/src/storage/Storage.ts:28"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns ",(0,i.jsx)(s.code,{children:"true"})," if the entry identified by the specified key exists\nin this storage."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-2",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if the storage entry exists."]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L17",children:"packages/core/src/storage/Storage.ts:17"})]}),"\n",(0,i.jsx)(s.p,{children:"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."}),"\n",(0,i.jsx)(s.p,{children:"This method must be invoked only once and it must be the first method\ninvoked on this instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"keys",children:"keys()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"keys"}),"(): ",(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L86",children:"packages/core/src/storage/Storage.ts:86"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n",(0,i.jsxs)(s.p,{children:["An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,i.jsx)(s.code,{children:"for..of"})," loop."]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"set"}),"(",(0,i.jsx)(s.code,{children:"key"}),", ",(0,i.jsx)(s.code,{children:"value"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L54",children:"packages/core/src/storage/Storage.ts:54"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-3",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"V"})}),"\n",(0,i.jsx)(s.p,{children:"The storage entry value."}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"size",children:"size()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"size"}),"(): ",(0,i.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L95",children:"packages/core/src/storage/Storage.ts:95"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"number"})}),"\n",(0,i.jsx)(s.p,{children:"The number of entries in this storage."})]})}function o(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>c,x:()=>a});var n=r(3696);const i={},t=n.createContext(i);function c(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3c01549e.a2129879.js b/assets/js/3c01549e.a2129879.js deleted file mode 100644 index 4071dc009..000000000 --- a/assets/js/3c01549e.a2129879.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7645],{5680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>d});var a=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var o=a.createContext({}),u=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=u(e.components);return a.createElement(o.Provider,{value:n},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(t),m=i,d=p["".concat(o,".").concat(m)]||p[m]||g[m]||r;return t?a.createElement(d,l(l({ref:n},c),{},{components:t})):a.createElement(d,l({ref:n},c))}));function d(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,l=new Array(r);l[0]=m;var s={};for(var o in n)hasOwnProperty.call(n,o)&&(s[o]=n[o]);s.originalType=e,s[p]="string"==typeof e?e:i,l[1]=s;for(var u=2;u<r;u++)l[u]=t[u];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},6185:(e,n,t)=>{t.d(n,{A:()=>l});var a=t(6540),i=t(8017);const r={tabItem:"tabItem_Ymn6"};function l(e){let{children:n,hidden:t,className:l}=e;return a.createElement("div",{role:"tabpanel",className:(0,i.A)(r.tabItem,l),hidden:t},n)}},1253:(e,n,t)=>{t.d(n,{A:()=>C});var a=t(8102),i=t(6540),r=t(8017),l=t(3104),s=t(9519),o=t(7485),u=t(1682),c=t(9466);function p(e){return function(e){return i.Children.map(e,(e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:i}}=e;return{value:n,label:t,attributes:a,default:i}}))}function g(e){const{values:n,children:t}=e;return(0,i.useMemo)((()=>{const e=n??p(t);return function(e){const n=(0,u.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function d(e){let{queryString:n=!1,groupId:t}=e;const a=(0,s.W6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o.aZ)(r),(0,i.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(a.location.search);n.set(r,e),a.replace({...a.location,search:n.toString()})}),[r,a])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,r=g(e),[l,s]=(0,i.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:r}))),[o,u]=d({queryString:t,groupId:a}),[p,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,r]=(0,c.Dv)(t);return[a,(0,i.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:a}),h=(()=>{const e=o??p;return m({value:e,tabValues:r})?e:null})();(0,i.useLayoutEffect)((()=>{h&&s(h)}),[h]);return{selectedValue:l,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);s(e),u(e),f(e)}),[u,f,r]),tabValues:r}}var h=t(2303);const y={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:n,block:t,selectedValue:s,selectValue:o,tabValues:u}=e;const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,l.a_)(),g=e=>{const n=e.currentTarget,t=c.indexOf(n),a=u[t].value;a!==s&&(p(n),o(a))},m=e=>{let n=null;switch(e.key){case"Enter":g(e);break;case"ArrowRight":{const t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{const t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1];break}}n?.focus()};return i.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":t},n)},u.map((e=>{let{value:n,label:t,attributes:l}=e;return i.createElement("li",(0,a.A)({role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,key:n,ref:e=>c.push(e),onKeyDown:m,onClick:g},l,{className:(0,r.A)("tabs__item",y.tabItem,l?.className,{"tabs__item--active":s===n})}),t??n)})))}function w(e){let{lazy:n,children:t,selectedValue:a}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===a));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return i.createElement("div",{className:"margin-top--md"},r.map(((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function v(e){const n=f(e);return i.createElement("div",{className:(0,r.A)("tabs-container",y.tabList)},i.createElement(b,(0,a.A)({},e,n)),i.createElement(w,(0,a.A)({},e,n)))}function C(e){const n=(0,h.A)();return i.createElement(v,(0,a.A)({key:String(n)},e))}},4035:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>u,toc:()=>p});var a=t(8102),i=(t(6540),t(5680)),r=t(1253),l=t(6185);const s={title:"CLI Plugins API",description:"CLI > CLI Plugins and their API"},o=void 0,u={unversionedId:"cli/cli-plugins-api",id:"cli/cli-plugins-api",title:"CLI Plugins API",description:"CLI > CLI Plugins and their API",source:"@site/../docs/cli/cli-plugins-api.md",sourceDirName:"cli",slug:"/cli/cli-plugins-api",permalink:"/cli/cli-plugins-api",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/cli-plugins-api.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"CLI Plugins API",description:"CLI > CLI Plugins and their API"},sidebar:"docs",previous:{title:"Additional features",permalink:"/cli/additional-features"},next:{title:"Analyze Plugin",permalink:"/cli/plugins/analyze-plugin"}},c={},p=[{value:"CLI Plugins API",id:"cli-plugins-api",level:2},{value:"Creating a CLI plugin",id:"creating-a-cli-plugin",level:2},{value:"Extending the webpack config",id:"extending-the-webpack-config",level:3},{value:"Custom CLI arguments",id:"custom-cli-arguments",level:3},{value:"Accessing CLI arguments",id:"accessing-cli-arguments",level:3},{value:"Final results",id:"final-results",level:3},{value:"Using TypeScript",id:"using-typescript",level:3},{value:"Existing CLI plugins",id:"existing-cli-plugins",level:2}],g={toc:p},m="wrapper";function d(e){let{components:n,...t}=e;return(0,i.yg)(m,(0,a.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"The CLI comes with built-in support for plugins. Plugins are used to ",(0,i.yg)("strong",{parentName:"p"},"extend")," or ",(0,i.yg)("strong",{parentName:"p"},"modify")," existing webpack config very easily or even run some pre/post processing scripts during the build process."),(0,i.yg)("p",null,"The CLI plugin is usually a class or an object implementing ",(0,i.yg)("inlineCode",{parentName:"p"},"ImaCliPlugin")," interface. This instance is then added to the ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#plugins"},"plugins")," array field in the ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js"),", which registers the plugin to the build process. Additionally to extending the webpack config, you have ability to provide additional custom CLI arguments."),(0,i.yg)("h2",{id:"cli-plugins-api"},"CLI Plugins API"),(0,i.yg)("p",null,"Each plugin has to comply with the ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/cli/src/types.ts#L56"},"following interface"),". Even though almost v everything method is not required and marked as optional, your plugin should implement at least one of the following methods in order to be of any use. Otherwise it would still work but the plugin would not do anything."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-typescript"},"/**\n * Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used\n * to extend functionality of default CLI with custom cli arguments and webpack config overrides.\n */\nexport interface ImaCliPlugin {\n /**\n * Plugin name, used mainly for better debugging messages.\n */\n readonly name: string;\n\n /**\n * Optional additional CLI arguments to extend the set of existing ones.\n */\n readonly cliArgs?: Partial<Record<ImaCliCommand, CommandBuilder>>;\n\n /**\n * Optional plugin hook to do some pre processing right after the cli args are processed\n * and the imaConfig is loaded, before the webpack config creation and compiler run.\n */\n preProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;\n\n /**\n * Called right before creating webpack configurations after preProcess call.\n * This hook lets you customize configuration contexts for each webpack config\n * that will be generated. This is usefull when you need to overrite configuration\n * contexts for values that are not editable anywhere else (like output folders).\n */\n prepareConfigurations?(\n configurations: ImaConfigurationContext[],\n imaConfig: ImaConfig,\n args: ImaCliArgs\n ): Promise<ImaConfigurationContext[]>;\n\n /**\n * Webpack callback function used by plugins to customize/extend ima webpack config before it's run.\n */\n webpack?(\n config: Configuration,\n ctx: ImaConfigurationContext,\n imaConfig: ImaConfig\n ): Promise<Configuration>;\n\n /**\n * Optional plugin hook to do some custom processing after the compilation has finished.\n * Attention! This hook runs only for build command.\n */\n postProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;\n}\n")),(0,i.yg)("h2",{id:"creating-a-cli-plugin"},"Creating a CLI plugin"),(0,i.yg)("p",null,"In this section we're going to create custom plugin, which generates assets manifest json file. To achieve this we'll use ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/plugins/webpack-manifest-plugin/"},"WebpackManifestPlugin")," and extend our webpack config. We'll also define some additional CLI arguments that will enable us to overwrite certain settings on demand."),(0,i.yg)("p",null,"First we're going to install the ",(0,i.yg)("inlineCode",{parentName:"p"},"webpack-manifest-plugin"),":"),(0,i.yg)(r.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,i.yg)(l.A,{value:"npm",mdxType:"TabItem"},(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-bash"},"npm install webpack-manifest-plugin -D\n"))),(0,i.yg)(l.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add webpack-manifest-plugin --dev\n"))),(0,i.yg)(l.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add webpack-manifest-plugin -D\n")))),(0,i.yg)("p",null,"Then we need to define base class for our new CLI plugin. To make things easier we're going to work directly in the ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," but in reality you'd be better of creating separate npm package for easier sharing between multiple IMA.js projects."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"class CliManifestPlugin {\n name = 'CliManifestPlugin';\n\n webpack(config, ctx, imaConfig) {}\n}\n\nmodule.exports = {\n plugins: [new CliManifestPlugin()],\n};\n")),(0,i.yg)("h3",{id:"extending-the-webpack-config"},"Extending the webpack config"),(0,i.yg)("p",null,"Now we're going to initialize our manifest plugin. But we only want to do this when we are building the final bundle using the ",(0,i.yg)("inlineCode",{parentName:"p"},"build")," command. For that we can use the ",(0,i.yg)("inlineCode",{parentName:"p"},"ctx: ImaContext")," variable, which contains multiple flags and values describing current build context. One of those values is ",(0,i.yg)("inlineCode",{parentName:"p"},"ctx.command")," which can be either ",(0,i.yg)("inlineCode",{parentName:"p"},"dev")," or ",(0,i.yg)("inlineCode",{parentName:"p"},"build"),"."),(0,i.yg)("p",null,"We are also going to make sure that we can provide options to our CLI plugin that are in this case passed directly to the webpack plugin."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const { WebpackManifestPlugin } = require('webpack-manifest-plugin');\n\nclass CliManifestPlugin {\n //...\n #options = {};\n\n constructor(options) {\n this.#options = options;\n }\n\n webpack(config, ctx, imaConfig) {\n if (ctx.command === 'build') {\n config.plugins.push(new WebpackManifestPlugin(this.#options));\n }\n\n return config;\n }\n //...\n}\n")),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"Feel free to print the ",(0,i.yg)("inlineCode",{parentName:"p"},"ctx")," object into the console and examine it's properties."),(0,i.yg)("p",{parentName:"admonition"},"Similarly to the ",(0,i.yg)("inlineCode",{parentName:"p"},"ctx")," you can also use the ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig")," parameter, which contains loaded ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file. You can use this feature to have some additional custom plugin-specific definitions in the ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file too, or use existing settings for some additional functionality.")),(0,i.yg)("p",null,"We're now going to use these options and pass ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/shellscape/webpack-manifest-plugin#seed"},"seed")," argument to the plugin. The ",(0,i.yg)("inlineCode",{parentName:"p"},"seed")," object is used to share data between multiple manifest plugin instances (in our case multiple webpack compilations). This makes sure that the final ",(0,i.yg)("inlineCode",{parentName:"p"},"manifest.json")," file contains paths to all generated assets and is not overwritten by each finished webpack compilation."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"//...\n// highlight-next-line\nconst manifestSeed = {};\n\nmodule.exports = {\n // highlight-next-line\n plugins: [new CliManifestPlugin({ seed: manifestSeed })],\n};\n")),(0,i.yg)("h3",{id:"custom-cli-arguments"},"Custom CLI arguments"),(0,i.yg)("p",null,"There may be times you'd like to customize or enable/disable certain features on demand using CLI arguments. To demonstrate this we're going to define ",(0,i.yg)("inlineCode",{parentName:"p"},"manifestBasePath")," CIL argument which will overwrite the ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/shellscape/webpack-manifest-plugin#basepath"},"basePath")," plugin option."),(0,i.yg)("p",null,"You can define CLI arguments for each command separately, in our case, since the plugin does something only in ",(0,i.yg)("inlineCode",{parentName:"p"},"build")," command, we're gonna do the same for the CLI arguments:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"class CliManifestPlugin {\n //...\n cliArgs = {\n dev: undefined, // Dev args will go here\n build: {\n manifestBasePath: {\n desc: 'Overwrite basePath default value',\n type: 'string',\n },\n },\n };\n //...\n}\n")),(0,i.yg)("p",null,"The argument definition is passed directly to the ",(0,i.yg)("inlineCode",{parentName:"p"},"yargs")," parser, so anything that ",(0,i.yg)("a",{parentName:"p",href:"https://yargs.js.org/docs/#api-reference-optionskey-opt"},"yargs options")," accept can be passed here. If you've done everything correctly you should even see the new argument in the command ",(0,i.yg)("inlineCode",{parentName:"p"},"--help")," option:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-console"},"npx ima build --help\n\nima build\n\nBuild an application for production\n\nOptions:\n// highlight-next-line\n --manifestBasePath Overwrite basePath default value [string]\n")),(0,i.yg)("h3",{id:"accessing-cli-arguments"},"Accessing CLI arguments"),(0,i.yg)("p",null,"CLI argument ",(0,i.yg)("strong",{parentName:"p"},"values are merged into the ",(0,i.yg)("inlineCode",{parentName:"strong"},"ctx")," parameter"),", so you can access them here. In our case we would like to extend the plugin options with the CLI override:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const { WebpackManifestPlugin } = require('webpack-manifest-plugin');\n\nclass CliManifestPlugin {\n //...\n webpack(config, ctx, imaConfig) {\n if (ctx.command === 'build') {\n config.plugins.push(\n new WebpackManifestPlugin({\n ...this.#options,\n // highlight-next-line\n basePath: ctx.manifestBasePath ?? '',\n })\n );\n }\n\n return config;\n }\n //...\n}\n")),(0,i.yg)("p",null,"Running ",(0,i.yg)("inlineCode",{parentName:"p"},"npx ima build --manifestBasePath=path/prefix")," should be reflected in the generated ",(0,i.yg)("inlineCode",{parentName:"p"},"manifest.json")," file in the ",(0,i.yg)("inlineCode",{parentName:"p"},"./build")," directory."),(0,i.yg)("h3",{id:"final-results"},"Final results"),(0,i.yg)("p",null,"Below is the entire content of the ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file we've been building so far that you can use as a reference."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const { WebpackManifestPlugin } = require('webpack-manifest-plugin');\n\nclass CliManifestPlugin {\n #options = {};\n\n name = 'CliManifestPlugin';\n\n cliArgs = {\n dev: undefined, // Dev args will go here\n build: {\n manifestBasePath: {\n desc: 'Overwrite basePath default value',\n type: 'string',\n },\n },\n };\n\n constructor(options) {\n this.#options = options;\n }\n\n webpack(config, ctx, imaConfig) {\n if (ctx.command === 'build') {\n config.plugins.push(\n new WebpackManifestPlugin({\n ...this.#options,\n basePath: ctx.manifestBasePath ?? '',\n })\n );\n }\n\n return config;\n }\n}\n\nconst manifestSeed = {};\n\nmodule.exports = {\n plugins: [new CliManifestPlugin({ seed: manifestSeed })],\n};\n")),(0,i.yg)("h3",{id:"using-typescript"},"Using TypeScript"),(0,i.yg)("p",null,"Since the ",(0,i.yg)("inlineCode",{parentName:"p"},"@ima/cli")," is written in TypeScript, there are ",(0,i.yg)("a",{parentName:"p",href:"/cli/cli-plugins-api#plugins-api"},"TypeScript definitions")," you can use while defining your plugin. All types and interfaces are available as exports from the ",(0,i.yg)("inlineCode",{parentName:"p"},"@ima/cli")," package while you can always have a look at our existing plugins, which are also written in TypeScript for an inspiration."),(0,i.yg)("h2",{id:"existing-cli-plugins"},"Existing CLI plugins"),(0,i.yg)("p",null,"Currently we maintain ",(0,i.yg)("strong",{parentName:"p"},"3 distinct CLI plugins")," that we actively use in our applications. These enables us to extend the feature set of the IMA.js CLI with additional functionality, which is not really suited to be available by default in the original CLI config, since their use is very situational. However you can almost certainly benefit from using these in your application."),(0,i.yg)("p",null,"Most of these plugins also provide additional functionality that can be used outside of the CLI plugin definition, but it is essential for it to work properly."),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("a",{parentName:"li",href:"/cli/plugins/analyze-plugin"},(0,i.yg)("strong",{parentName:"a"},"AnalyzePlugin"))," - Pre-configures ",(0,i.yg)("a",{parentName:"li",href:"https://npmjs.com/package/bundle-stats-webpack-plugin"},"bundle-stats-webpack-plugin")," and ",(0,i.yg)("a",{parentName:"li",href:"https://npmjs.com/package/webpack-bundle-analyzer"},"webpack-bundle-analyzer")," webpack plugins for fast and easy bundle analyzing."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("a",{parentName:"li",href:"/cli/plugins/scramble-css-plugin"},(0,i.yg)("strong",{parentName:"a"},"ScrambleCSSPlugin"))," - Implements CSS class minimizer and uglifier that can be reverse-compiled at runtime (you can access classes using their original name)."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("a",{parentName:"li",href:"/cli/plugins/less-constants-plugin"},(0,i.yg)("strong",{parentName:"a"},"LessConstantsPlugin"))," - Adds preprocessor which converts theme values defined in the JS file, to their LESS variable counterparts.")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3c01549e.c16a5ecb.js b/assets/js/3c01549e.c16a5ecb.js new file mode 100644 index 000000000..a72e62f92 --- /dev/null +++ b/assets/js/3c01549e.c16a5ecb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7645],{2595:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"cli/cli-plugins-api","title":"CLI Plugins API","description":"CLI > CLI Plugins and their API","source":"@site/../docs/cli/cli-plugins-api.md","sourceDirName":"cli","slug":"/cli/cli-plugins-api","permalink":"/cli/cli-plugins-api","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/cli-plugins-api.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"CLI Plugins API","description":"CLI > CLI Plugins and their API"},"sidebar":"docs","previous":{"title":"Additional features","permalink":"/cli/additional-features"},"next":{"title":"Analyze Plugin","permalink":"/cli/plugins/analyze-plugin"}}');var s=i(2540),a=i(3023),l=i(3776),r=i(6052);const o={title:"CLI Plugins API",description:"CLI > CLI Plugins and their API"},c=void 0,u={},d=[{value:"CLI Plugins API",id:"cli-plugins-api",level:2},{value:"Creating a CLI plugin",id:"creating-a-cli-plugin",level:2},{value:"Extending the webpack config",id:"extending-the-webpack-config",level:3},{value:"Custom CLI arguments",id:"custom-cli-arguments",level:3},{value:"Accessing CLI arguments",id:"accessing-cli-arguments",level:3},{value:"Final results",id:"final-results",level:3},{value:"Using TypeScript",id:"using-typescript",level:3},{value:"Existing CLI plugins",id:"existing-cli-plugins",level:2}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["The CLI comes with built-in support for plugins. Plugins are used to ",(0,s.jsx)(n.strong,{children:"extend"})," or ",(0,s.jsx)(n.strong,{children:"modify"})," existing webpack config very easily or even run some pre/post processing scripts during the build process."]}),"\n",(0,s.jsxs)(n.p,{children:["The CLI plugin is usually a class or an object implementing ",(0,s.jsx)(n.code,{children:"ImaCliPlugin"})," interface. This instance is then added to the ",(0,s.jsx)(n.a,{href:"/cli/ima-config-js#plugins",children:"plugins"})," array field in the ",(0,s.jsx)(n.code,{children:"ima.config.js"}),", which registers the plugin to the build process. Additionally to extending the webpack config, you have ability to provide additional custom CLI arguments."]}),"\n",(0,s.jsx)(n.h2,{id:"cli-plugins-api",children:"CLI Plugins API"}),"\n",(0,s.jsxs)(n.p,{children:["Each plugin has to comply with the ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/cli/src/types.ts#L56",children:"following interface"}),". Even though almost v everything method is not required and marked as optional, your plugin should implement at least one of the following methods in order to be of any use. Otherwise it would still work but the plugin would not do anything."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"/**\n * Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used\n * to extend functionality of default CLI with custom cli arguments and webpack config overrides.\n */\nexport interface ImaCliPlugin {\n /**\n * Plugin name, used mainly for better debugging messages.\n */\n readonly name: string;\n\n /**\n * Optional additional CLI arguments to extend the set of existing ones.\n */\n readonly cliArgs?: Partial<Record<ImaCliCommand, CommandBuilder>>;\n\n /**\n * Optional plugin hook to do some pre processing right after the cli args are processed\n * and the imaConfig is loaded, before the webpack config creation and compiler run.\n */\n preProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;\n\n /**\n * Called right before creating webpack configurations after preProcess call.\n * This hook lets you customize configuration contexts for each webpack config\n * that will be generated. This is usefull when you need to overrite configuration\n * contexts for values that are not editable anywhere else (like output folders).\n */\n prepareConfigurations?(\n configurations: ImaConfigurationContext[],\n imaConfig: ImaConfig,\n args: ImaCliArgs\n ): Promise<ImaConfigurationContext[]>;\n\n /**\n * Webpack callback function used by plugins to customize/extend ima webpack config before it's run.\n */\n webpack?(\n config: Configuration,\n ctx: ImaConfigurationContext,\n imaConfig: ImaConfig\n ): Promise<Configuration>;\n\n /**\n * Optional plugin hook to do some custom processing after the compilation has finished.\n * Attention! This hook runs only for build command.\n */\n postProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"creating-a-cli-plugin",children:"Creating a CLI plugin"}),"\n",(0,s.jsxs)(n.p,{children:["In this section we're going to create custom plugin, which generates assets manifest json file. To achieve this we'll use ",(0,s.jsx)(n.a,{href:"https://webpack.js.org/plugins/webpack-manifest-plugin/",children:"WebpackManifestPlugin"})," and extend our webpack config. We'll also define some additional CLI arguments that will enable us to overwrite certain settings on demand."]}),"\n",(0,s.jsxs)(n.p,{children:["First we're going to install the ",(0,s.jsx)(n.code,{children:"webpack-manifest-plugin"}),":"]}),"\n",(0,s.jsxs)(l.A,{groupId:"npm2yarn",children:[(0,s.jsx)(r.A,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm install webpack-manifest-plugin -D\n"})})}),(0,s.jsx)(r.A,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn add webpack-manifest-plugin --dev\n"})})}),(0,s.jsx)(r.A,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm add webpack-manifest-plugin -D\n"})})})]}),"\n",(0,s.jsxs)(n.p,{children:["Then we need to define base class for our new CLI plugin. To make things easier we're going to work directly in the ",(0,s.jsx)(n.code,{children:"ima.config.js"})," but in reality you'd be better of creating separate npm package for easier sharing between multiple IMA.js projects."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"class CliManifestPlugin {\n name = 'CliManifestPlugin';\n\n webpack(config, ctx, imaConfig) {}\n}\n\nmodule.exports = {\n plugins: [new CliManifestPlugin()],\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"extending-the-webpack-config",children:"Extending the webpack config"}),"\n",(0,s.jsxs)(n.p,{children:["Now we're going to initialize our manifest plugin. But we only want to do this when we are building the final bundle using the ",(0,s.jsx)(n.code,{children:"build"})," command. For that we can use the ",(0,s.jsx)(n.code,{children:"ctx: ImaContext"})," variable, which contains multiple flags and values describing current build context. One of those values is ",(0,s.jsx)(n.code,{children:"ctx.command"})," which can be either ",(0,s.jsx)(n.code,{children:"dev"})," or ",(0,s.jsx)(n.code,{children:"build"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"We are also going to make sure that we can provide options to our CLI plugin that are in this case passed directly to the webpack plugin."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const { WebpackManifestPlugin } = require('webpack-manifest-plugin');\n\nclass CliManifestPlugin {\n //...\n #options = {};\n\n constructor(options) {\n this.#options = options;\n }\n\n webpack(config, ctx, imaConfig) {\n if (ctx.command === 'build') {\n config.plugins.push(new WebpackManifestPlugin(this.#options));\n }\n\n return config;\n }\n //...\n}\n"})}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsxs)(n.p,{children:["Feel free to print the ",(0,s.jsx)(n.code,{children:"ctx"})," object into the console and examine it's properties."]}),(0,s.jsxs)(n.p,{children:["Similarly to the ",(0,s.jsx)(n.code,{children:"ctx"})," you can also use the ",(0,s.jsx)(n.code,{children:"imaConfig"})," parameter, which contains loaded ",(0,s.jsx)(n.code,{children:"ima.config.js"})," file. You can use this feature to have some additional custom plugin-specific definitions in the ",(0,s.jsx)(n.code,{children:"ima.config.js"})," file too, or use existing settings for some additional functionality."]})]}),"\n",(0,s.jsxs)(n.p,{children:["We're now going to use these options and pass ",(0,s.jsx)(n.a,{href:"https://github.com/shellscape/webpack-manifest-plugin#seed",children:"seed"})," argument to the plugin. The ",(0,s.jsx)(n.code,{children:"seed"})," object is used to share data between multiple manifest plugin instances (in our case multiple webpack compilations). This makes sure that the final ",(0,s.jsx)(n.code,{children:"manifest.json"})," file contains paths to all generated assets and is not overwritten by each finished webpack compilation."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"//...\n// highlight-next-line\nconst manifestSeed = {};\n\nmodule.exports = {\n // highlight-next-line\n plugins: [new CliManifestPlugin({ seed: manifestSeed })],\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"custom-cli-arguments",children:"Custom CLI arguments"}),"\n",(0,s.jsxs)(n.p,{children:["There may be times you'd like to customize or enable/disable certain features on demand using CLI arguments. To demonstrate this we're going to define ",(0,s.jsx)(n.code,{children:"manifestBasePath"})," CIL argument which will overwrite the ",(0,s.jsx)(n.a,{href:"https://github.com/shellscape/webpack-manifest-plugin#basepath",children:"basePath"})," plugin option."]}),"\n",(0,s.jsxs)(n.p,{children:["You can define CLI arguments for each command separately, in our case, since the plugin does something only in ",(0,s.jsx)(n.code,{children:"build"})," command, we're gonna do the same for the CLI arguments:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"class CliManifestPlugin {\n //...\n cliArgs = {\n dev: undefined, // Dev args will go here\n build: {\n manifestBasePath: {\n desc: 'Overwrite basePath default value',\n type: 'string',\n },\n },\n };\n //...\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["The argument definition is passed directly to the ",(0,s.jsx)(n.code,{children:"yargs"})," parser, so anything that ",(0,s.jsx)(n.a,{href:"https://yargs.js.org/docs/#api-reference-optionskey-opt",children:"yargs options"})," accept can be passed here. If you've done everything correctly you should even see the new argument in the command ",(0,s.jsx)(n.code,{children:"--help"})," option:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-console",children:"npx ima build --help\n\nima build\n\nBuild an application for production\n\nOptions:\n// highlight-next-line\n --manifestBasePath Overwrite basePath default value [string]\n"})}),"\n",(0,s.jsx)(n.h3,{id:"accessing-cli-arguments",children:"Accessing CLI arguments"}),"\n",(0,s.jsxs)(n.p,{children:["CLI argument ",(0,s.jsxs)(n.strong,{children:["values are merged into the ",(0,s.jsx)(n.code,{children:"ctx"})," parameter"]}),", so you can access them here. In our case we would like to extend the plugin options with the CLI override:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const { WebpackManifestPlugin } = require('webpack-manifest-plugin');\n\nclass CliManifestPlugin {\n //...\n webpack(config, ctx, imaConfig) {\n if (ctx.command === 'build') {\n config.plugins.push(\n new WebpackManifestPlugin({\n ...this.#options,\n // highlight-next-line\n basePath: ctx.manifestBasePath ?? '',\n })\n );\n }\n\n return config;\n }\n //...\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Running ",(0,s.jsx)(n.code,{children:"npx ima build --manifestBasePath=path/prefix"})," should be reflected in the generated ",(0,s.jsx)(n.code,{children:"manifest.json"})," file in the ",(0,s.jsx)(n.code,{children:"./build"})," directory."]}),"\n",(0,s.jsx)(n.h3,{id:"final-results",children:"Final results"}),"\n",(0,s.jsxs)(n.p,{children:["Below is the entire content of the ",(0,s.jsx)(n.code,{children:"ima.config.js"})," file we've been building so far that you can use as a reference."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const { WebpackManifestPlugin } = require('webpack-manifest-plugin');\n\nclass CliManifestPlugin {\n #options = {};\n\n name = 'CliManifestPlugin';\n\n cliArgs = {\n dev: undefined, // Dev args will go here\n build: {\n manifestBasePath: {\n desc: 'Overwrite basePath default value',\n type: 'string',\n },\n },\n };\n\n constructor(options) {\n this.#options = options;\n }\n\n webpack(config, ctx, imaConfig) {\n if (ctx.command === 'build') {\n config.plugins.push(\n new WebpackManifestPlugin({\n ...this.#options,\n basePath: ctx.manifestBasePath ?? '',\n })\n );\n }\n\n return config;\n }\n}\n\nconst manifestSeed = {};\n\nmodule.exports = {\n plugins: [new CliManifestPlugin({ seed: manifestSeed })],\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"using-typescript",children:"Using TypeScript"}),"\n",(0,s.jsxs)(n.p,{children:["Since the ",(0,s.jsx)(n.code,{children:"@ima/cli"})," is written in TypeScript, there are ",(0,s.jsx)(n.a,{href:"/cli/cli-plugins-api#plugins-api",children:"TypeScript definitions"})," you can use while defining your plugin. All types and interfaces are available as exports from the ",(0,s.jsx)(n.code,{children:"@ima/cli"})," package while you can always have a look at our existing plugins, which are also written in TypeScript for an inspiration."]}),"\n",(0,s.jsx)(n.h2,{id:"existing-cli-plugins",children:"Existing CLI plugins"}),"\n",(0,s.jsxs)(n.p,{children:["Currently we maintain ",(0,s.jsx)(n.strong,{children:"3 distinct CLI plugins"})," that we actively use in our applications. These enables us to extend the feature set of the IMA.js CLI with additional functionality, which is not really suited to be available by default in the original CLI config, since their use is very situational. However you can almost certainly benefit from using these in your application."]}),"\n",(0,s.jsx)(n.p,{children:"Most of these plugins also provide additional functionality that can be used outside of the CLI plugin definition, but it is essential for it to work properly."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"/cli/plugins/analyze-plugin",children:(0,s.jsx)(n.strong,{children:"AnalyzePlugin"})})," - Pre-configures ",(0,s.jsx)(n.a,{href:"https://npmjs.com/package/bundle-stats-webpack-plugin",children:"bundle-stats-webpack-plugin"})," and ",(0,s.jsx)(n.a,{href:"https://npmjs.com/package/webpack-bundle-analyzer",children:"webpack-bundle-analyzer"})," webpack plugins for fast and easy bundle analyzing."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"/cli/plugins/scramble-css-plugin",children:(0,s.jsx)(n.strong,{children:"ScrambleCSSPlugin"})})," - Implements CSS class minimizer and uglifier that can be reverse-compiled at runtime (you can access classes using their original name)."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"/cli/plugins/less-constants-plugin",children:(0,s.jsx)(n.strong,{children:"LessConstantsPlugin"})})," - Adds preprocessor which converts theme values defined in the JS file, to their LESS variable counterparts."]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6052:(e,n,i)=>{i.d(n,{A:()=>l});i(3696);var t=i(2689);const s={tabItem:"tabItem_wHwb"};var a=i(2540);function l(e){let{children:n,hidden:i,className:l}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,t.A)(s.tabItem,l),hidden:i,children:n})}},3776:(e,n,i)=>{i.d(n,{A:()=>y});var t=i(3696),s=i(2689),a=i(3707),l=i(9519),r=i(3604),o=i(5196),c=i(6229),u=i(8030);function d(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:i}=e;return(0,t.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:i,attributes:t,default:s}}=e;return{value:n,label:i,attributes:t,default:s}}))}(i);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,i])}function p(e){let{value:n,tabValues:i}=e;return i.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:i}=e;const s=(0,l.W6)(),a=function(e){let{queryString:n=!1,groupId:i}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!i)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:n,groupId:i});return[(0,o.aZ)(a),(0,t.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(s.location.search);n.set(a,e),s.replace({...s.location,search:n.toString()})}),[a,s])]}function m(e){const{defaultValue:n,queryString:i=!1,groupId:s}=e,a=h(e),[l,o]=(0,t.useState)((()=>function(e){let{defaultValue:n,tabValues:i}=e;if(0===i.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:i}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${i.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=i.find((e=>e.default))??i[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:a}))),[c,d]=g({queryString:i,groupId:s}),[m,f]=function(e){let{groupId:n}=e;const i=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,a]=(0,u.Dv)(i);return[s,(0,t.useCallback)((e=>{i&&a.set(e)}),[i,a])]}({groupId:s}),b=(()=>{const e=c??m;return p({value:e,tabValues:a})?e:null})();(0,r.A)((()=>{b&&o(b)}),[b]);return{selectedValue:l,selectValue:(0,t.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)}),[d,f,a]),tabValues:a}}var f=i(5200);const b={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var x=i(2540);function j(e){let{className:n,block:i,selectedValue:t,selectValue:l,tabValues:r}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.a_)(),u=e=>{const n=e.currentTarget,i=o.indexOf(n),s=r[i].value;s!==t&&(c(n),l(s))},d=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const i=o.indexOf(e.currentTarget)+1;n=o[i]??o[0];break}case"ArrowLeft":{const i=o.indexOf(e.currentTarget)-1;n=o[i]??o[o.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":i},n),children:r.map((e=>{let{value:n,label:i,attributes:a}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{o.push(e)},onKeyDown:d,onClick:u,...a,className:(0,s.A)("tabs__item",b.tabItem,a?.className,{"tabs__item--active":t===n}),children:i??n},n)}))})}function w(e){let{lazy:n,children:i,selectedValue:a}=e;const l=(Array.isArray(i)?i:[i]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===a));return e?(0,t.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:l.map(((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==a})))})}function v(e){const n=m(e);return(0,x.jsxs)("div",{className:(0,s.A)("tabs-container",b.tabList),children:[(0,x.jsx)(j,{...n,...e}),(0,x.jsx)(w,{...n,...e})]})}function y(e){const n=(0,f.A)();return(0,x.jsx)(v,{...e,children:d(e.children)},String(n))}},3023:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>r});var t=i(3696);const s={},a=t.createContext(s);function l(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3c40fb45.8afd3117.js b/assets/js/3c40fb45.8afd3117.js deleted file mode 100644 index 77f5709f7..000000000 --- a/assets/js/3c40fb45.8afd3117.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[216],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>u});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),d=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),s=d(a),y=n,u=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return a?r.createElement(u,l(l({ref:t},g),{},{components:a})):r.createElement(u,l({ref:t},g))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=y;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:n,l[1]=o;for(var d=2;d<i;d++)l[d]=a[d];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}y.displayName="MDXCreateElement"},2666:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.AbstractRouter",title:"Class: AbstractRouter",sidebar_label:"@ima/core.AbstractRouter",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.AbstractRouter",id:"api/classes/ima_core.AbstractRouter",title:"Class: AbstractRouter",description:"@ima/core.AbstractRouter",source:"@site/../docs/api/classes/ima_core.AbstractRouter.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.AbstractRouter",permalink:"/api/classes/ima_core.AbstractRouter",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AbstractRouter",title:"Class: AbstractRouter",sidebar_label:"@ima/core.AbstractRouter",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AbstractRoute",permalink:"/api/classes/ima_core.AbstractRoute"},next:{title:"@ima/core.Bootstrap",permalink:"/api/classes/ima_core.Bootstrap"}},p={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_currentMiddlewareId",id:"_currentmiddlewareid",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_currentlyRoutedPath",id:"_currentlyroutedpath",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_factory",id:"_factory",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_host",id:"_host",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"_isSPARouted",id:"_issparouted",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"_languagePartPath",id:"_languagepartpath",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"_middlewareTimeout",id:"_middlewaretimeout",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"_pageManager",id:"_pagemanager",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"_protocol",id:"_protocol",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"_root",id:"_root",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"_routeHandlers",id:"_routehandlers",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"Methods",id:"methods",level:2},{value:"#addParamsFromOriginalRoute",id:"addparamsfromoriginalroute",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_extractRoutePath",id:"_extractroutepath",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_getCurrentlyRoutedPath",id:"_getcurrentlyroutedpath",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"_getMiddlewaresForRoute",id:"_getmiddlewaresforroute",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_handle",id:"_handle",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_runMiddlewares",id:"_runmiddlewares",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"add",id:"add",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"getBaseUrl",id:"getbaseurl",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"getCurrentRouteInfo",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"getProtocol",id:"getprotocol",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"getRouteHandler",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"getRouteHandlers",id:"getroutehandlers",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"getRouteHandlersByPath",id:"getroutehandlersbypath",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"handleError",id:"handleerror",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"handleNotFound",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"listen",id:"listen",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"remove",id:"remove",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"route",id:"route",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Returns",id:"returns-27",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"use",id:"use",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Overrides",id:"overrides-21",level:4},{value:"Defined in",id:"defined-in-41",level:4}],g={toc:d},s="wrapper";function m(e){let{components:t,...a}=e;return(0,n.yg)(s,(0,r.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AbstractRouter"),(0,n.yg)("p",null,"The basic implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router")," interface, providing the\ncommon or default functionality for parts of the API."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,n.yg)("inlineCode",{parentName:"a"},"Router"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"AbstractRouter"))),(0,n.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientRouter"))),(0,n.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new AbstractRouter"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"factory"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"dispatcher"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings"),")"),(0,n.yg)("p",null,"Initializes the router."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The page manager handling UI rendering, and transitions between pages if at the client side.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"factory")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.RouteFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Factory for routes.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Dispatcher fires events to app.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ","{"," ",(0,n.yg)("inlineCode",{parentName:"td"},"isSPARouted?"),": (",(0,n.yg)("inlineCode",{parentName:"td"},"url"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"action?"),": ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,n.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,n.yg)("inlineCode",{parentName:"td"},"middlewareTimeout?"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," }"),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-ts"},"router.link('article', {articleId: 1});\n")),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-ts"},"router.redirect('http://www.example.com/web');\n")),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-ts"},"router.add(\n 'home',\n '/',\n ns.app.page.home.Controller,\n ns.app.page.home.View,\n {\n onlyUpdate: false,\n autoScroll: true,\n documentView: null,\n managedRootView: null,\n viewAdapter: null\n }\n );\n")),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L125"},"packages/core/src/router/AbstractRouter.ts:125")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_currentmiddlewareid"},"_","currentMiddlewareId"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","currentMiddlewareId"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"0")),(0,n.yg)("p",null,"Middleware ID counter which is used to auto-generate unique middleware\nnames when adding them to routeHandlers map."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L92"},"packages/core/src/router/AbstractRouter.ts:92")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_currentlyroutedpath"},"_","currentlyRoutedPath"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","currentlyRoutedPath"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L93"},"packages/core/src/router/AbstractRouter.ts:93")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("p",null,"Dispatcher fires events to app."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L62"},"packages/core/src/router/AbstractRouter.ts:62")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_factory"},"_","factory"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","factory"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.RouteFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,n.yg)("p",null,"Factory for routes."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L58"},"packages/core/src/router/AbstractRouter.ts:58")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_host"},"_","host"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","host"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The application's host."),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L71"},"packages/core/src/router/AbstractRouter.ts:71")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_issparouted"},"_","isSPARouted"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","isSPARouted"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," (",(0,n.yg)("inlineCode",{parentName:"p"},"url"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L95"},"packages/core/src/router/AbstractRouter.ts:95")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_languagepartpath"},"_","languagePartPath"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","languagePartPath"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The URL path fragment used as a suffix to the ",(0,n.yg)("inlineCode",{parentName:"p"},"_root")," field\nthat specifies the current language."),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L80"},"packages/core/src/router/AbstractRouter.ts:80")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_middlewaretimeout"},"_","middlewareTimeout"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","middlewareTimeout"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L94"},"packages/core/src/router/AbstractRouter.ts:94")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pagemanager"},"_","pageManager"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","pageManager"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,n.yg)("p",null,"The page manager handling UI rendering, and transitions between\npages if at the client side."),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L54"},"packages/core/src/router/AbstractRouter.ts:54")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_protocol"},"_","protocol"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","protocol"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The current protocol used to access the application, terminated by a\ncolon (for example ",(0,n.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L67"},"packages/core/src/router/AbstractRouter.ts:67")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_root"},"_","root"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","root"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The URL path pointing to the application's root."),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L75"},"packages/core/src/router/AbstractRouter.ts:75")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_routehandlers"},"_","routeHandlers"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","routeHandlers"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("p",null,"Storage of all known routes and middlewares. The key are their names."),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L84"},"packages/core/src/router/AbstractRouter.ts:84")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"addparamsfromoriginalroute"},"#addParamsFromOriginalRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#addParamsFromOriginalRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Obtains original route that was handled before not-found / error route\nand assigns its params to current params"),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Route params for not-found or error page")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Provided params merged with params\nfrom original route"),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L733"},"packages/core/src/router/AbstractRouter.ts:733")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_extractroutepath"},"_","extractRoutePath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_extractRoutePath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Strips the URL path part that points to the application's root (base\nURL) from the provided path."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Relative or absolute URL path.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"URL path relative to the application's base URL."),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L526"},"packages/core/src/router/AbstractRouter.ts:526")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getcurrentlyroutedpath"},"_","getCurrentlyRoutedPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getCurrentlyRoutedPath"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns path that is stored in private property when a ",(0,n.yg)("inlineCode",{parentName:"p"},"route"),"\nmethod is called."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L664"},"packages/core/src/router/AbstractRouter.ts:664")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getmiddlewaresforroute"},"_","getMiddlewaresForRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getMiddlewaresForRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeName"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("p",null,"Returns middlewares preceding given route name."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L642"},"packages/core/src/router/AbstractRouter.ts:642")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_handle"},"_","handle"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handle"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"route"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"Handles the provided route and parameters by initializing the route's\ncontroller and rendering its state via the route's view."),(0,n.yg)("p",null,"The result is then sent to the client if used at the server side, or\ndisplayed if used as the client side."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route that should have its associated controller rendered via the associated view.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise that resolves when the\npage is rendered and the result is sent to the client, or\ndisplayed if used at the client side."),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L549"},"packages/core/src/router/AbstractRouter.ts:549")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_runmiddlewares"},"_","runMiddlewares"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_runMiddlewares"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"middlewares"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Runs provided middlewares in sequence."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middlewares")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Array of middlewares.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Router params that can be mutated by middlewares.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L677"},"packages/core/src/router/AbstractRouter.ts:677")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"add"},"add"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"add"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"Adds a new route to router."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of this route, identifying it among the rest of the routes in the application.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"A path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":parameterName"),". The name of the parameter is terminated by a forward slash (",(0,n.yg)("inlineCode",{parentName:"td"},"/"),") or the end of the path expression string. The path expression may also contain optional parameters, which are specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":?parameterName"),". It is recommended to specify the optional parameters at the end of the path expression.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name of Object Container alias identifying the controller associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name or Object Container alias identifying the view class associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Additional route options, specified how the navigation to the route will be handled. The ",(0,n.yg)("inlineCode",{parentName:"td"},"onlyUpdate")," can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a ",(0,n.yg)("inlineCode",{parentName:"td"},"boolean")," representing the value of the flag. This flag is disabled by default. The ",(0,n.yg)("inlineCode",{parentName:"td"},"autoScroll")," flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.")))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a route with the same name already exists."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#add"},"add")),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L167"},"packages/core/src/router/AbstractRouter.ts:167")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getbaseurl"},"getBaseUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getBaseUrl"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the application's absolute base URL, pointing to the public root\nof the application."),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The application's base URL."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#getbaseurl"},"getBaseUrl")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L243"},"packages/core/src/router/AbstractRouter.ts:243")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getcurrentrouteinfo"},"getCurrentRouteInfo"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getCurrentRouteInfo"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the information about the currently active route."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),"\\<{}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a route is not define for current path."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#getcurrentrouteinfo"},"getCurrentRouteInfo")),(0,n.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L271"},"packages/core/src/router/AbstractRouter.ts:271")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getdomain"},"getDomain"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the application's domain in the following form\n",(0,n.yg)("inlineCode",{parentName:"p"},"${protocol}//${host}"),"."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application's domain."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#getdomain"},"getDomain")),(0,n.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L250"},"packages/core/src/router/AbstractRouter.ts:250")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gethost"},"getHost"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns application's host (domain and, if necessary, the port number)."),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application's host."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#gethost"},"getHost")),(0,n.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L257"},"packages/core/src/router/AbstractRouter.ts:257")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getpath"},"getPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current path part of the current URL, including the query\nstring (if any)."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The path and query parts of the current URL."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#getpath"},"getPath")),(0,n.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L227"},"packages/core/src/router/AbstractRouter.ts:227")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getprotocol"},"getProtocol"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getProtocol"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,n.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application protocol used to access the\napplication."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#getprotocol"},"getProtocol")),(0,n.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L264"},"packages/core/src/router/AbstractRouter.ts:264")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandler"},"getRouteHandler"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandler"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("p",null,"Returns specified handler from registered route handlers."),(0,n.yg)("h4",{id:"parameters-7"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route's unique name.")))),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("p",null,"Route with given name or undefined."),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#getroutehandler"},"getRouteHandler")),(0,n.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L220"},"packages/core/src/router/AbstractRouter.ts:220")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandlers"},"getRouteHandlers"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandlers"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L297"},"packages/core/src/router/AbstractRouter.ts:297")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandlersbypath"},"getRouteHandlersByPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandlersByPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the route matching the provided URL path part (the path may\ncontain a query) and all middlewares preceding this route definition."),(0,n.yg)("h4",{id:"parameters-8"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")))),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The route\nmatching the path and middlewares preceding it or ",(0,n.yg)("inlineCode",{parentName:"p"},"{}"),"\n(empty object) if no such route exists."),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middlewares")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L615"},"packages/core/src/router/AbstractRouter.ts:615")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"geturl"},"getUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current absolute URL (including protocol, host, query, etc)."),(0,n.yg)("h4",{id:"returns-16"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current absolute URL."),(0,n.yg)("h4",{id:"overrides-9"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#geturl"},"getUrl")),(0,n.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L236"},"packages/core/src/router/AbstractRouter.ts:236")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handleerror"},"handleError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"handleError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'),(0,n.yg)("h4",{id:"parameters-9"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-17"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."),(0,n.yg)("h4",{id:"overrides-10"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#handleerror"},"handleError")),(0,n.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L402"},"packages/core/src/router/AbstractRouter.ts:402")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handlenotfound"},"handleNotFound"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"handleNotFound"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'),(0,n.yg)("h4",{id:"parameters-10"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-18"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,n.yg)("h4",{id:"overrides-11"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#handlenotfound"},"handleNotFound")),(0,n.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L454"},"packages/core/src/router/AbstractRouter.ts:454")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Initializes the router with the provided configuration."),(0,n.yg)("h4",{id:"parameters-11"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Router configuration. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Protocol")," field must be the current protocol used to access the application, terminated by a colon (for example ",(0,n.yg)("inlineCode",{parentName:"td"},"https:"),"). The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Root")," field must specify the URL path pointing to the application's root. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$LanguagePartPath")," field must be the URL path fragment used as a suffix to the ",(0,n.yg)("inlineCode",{parentName:"td"},"$Root")," field that specifies the current language. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Host")," field must be the application's domain (and the port number if other than the default is used) in the following form: ",(0,n.yg)("inlineCode",{parentName:"td"},"${protocol}//${host}"),".")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Host")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$LanguagePartPath?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Protocol?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Root?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-19"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-12"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#init"},"init")),(0,n.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L151"},"packages/core/src/router/AbstractRouter.ts:151")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isclienterror"},"isClientError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isClientError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."),(0,n.yg)("h4",{id:"parameters-12"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"reason")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,n.yg)("h4",{id:"returns-20"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,n.yg)("h4",{id:"overrides-13"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#isclienterror"},"isClientError")),(0,n.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L507"},"packages/core/src/router/AbstractRouter.ts:507")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isredirection"},"isRedirection"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isRedirection"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, if possible, whether the specified error lead to redirection."),(0,n.yg)("h4",{id:"parameters-13"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"reason")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,n.yg)("h4",{id:"returns-21"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nredirection."),(0,n.yg)("h4",{id:"overrides-14"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#isredirection"},"isRedirection")),(0,n.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L514"},"packages/core/src/router/AbstractRouter.ts:514")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"link"},"link"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"link"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeName"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."),(0,n.yg)("h4",{id:"parameters-14"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of the route, identifying the route to use.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.")))),(0,n.yg)("h4",{id:"returns-22"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"An absolute URL for the specified route and parameters."),(0,n.yg)("h4",{id:"overrides-15"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#link"},"link")),(0,n.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L338"},"packages/core/src/router/AbstractRouter.ts:338")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"listen"},"listen"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"listen"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,n.yg)("p",null,"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,n.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,n.yg)("p",null,"The effects of this method can be reverted with ",(0,n.yg)("inlineCode",{parentName:"p"},"unlisten"),". This\nmethod has no effect at the server side."),(0,n.yg)("h4",{id:"returns-23"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-16"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#listen"},"listen")),(0,n.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L305"},"packages/core/src/router/AbstractRouter.ts:305")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"redirect"},"redirect"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"redirect"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Redirects the client to the specified location."),(0,n.yg)("p",null,"At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,n.yg)("inlineCode",{parentName:"p"},"Location")," header."),(0,n.yg)("p",null,"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."),(0,n.yg)("p",null,"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."),(0,n.yg)("h4",{id:"parameters-15"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"url")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL to which the client should be redirected.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-24"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-17"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#redirect"},"redirect")),(0,n.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L323"},"packages/core/src/router/AbstractRouter.ts:323")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"remove"},"remove"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"remove"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"Removes the specified route from the router's known routes."),(0,n.yg)("h4",{id:"parameters-16"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route's unique name, identifying the route to remove.")))),(0,n.yg)("h4",{id:"returns-25"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-18"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#remove"},"remove")),(0,n.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L211"},"packages/core/src/router/AbstractRouter.ts:211")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"route"},"route"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"route"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."),(0,n.yg)("h4",{id:"parameters-17"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path part received from the client, with optional query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-26"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,n.yg)("h4",{id:"overrides-19"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#route"},"route")),(0,n.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L363"},"packages/core/src/router/AbstractRouter.ts:363")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unlisten"},"unlisten"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unlisten"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,n.yg)("p",null,"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,n.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,n.yg)("p",null,"The effects of this method can be reverted with ",(0,n.yg)("inlineCode",{parentName:"p"},"unlisten"),". This method has no effect\nat the server side."),(0,n.yg)("h4",{id:"returns-27"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-20"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#unlisten"},"unlisten")),(0,n.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L314"},"packages/core/src/router/AbstractRouter.ts:314")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"use"},"use"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"use"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"middleware"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"Adds a new middleware to router."),(0,n.yg)("h4",{id:"parameters-18"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middleware")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Middleware function accepting routeParams as a first argument, which can be mutated and ",(0,n.yg)("inlineCode",{parentName:"td"},"locals")," object as second argument. This can be used to pass data between middlewares.")))),(0,n.yg)("h4",{id:"returns-28"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a middleware with the same name already exists."),(0,n.yg)("h4",{id:"overrides-21"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router#use"},"use")),(0,n.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L199"},"packages/core/src/router/AbstractRouter.ts:199")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3c5ae44f.d09a7239.js b/assets/js/3c5ae44f.d09a7239.js new file mode 100644 index 000000000..b53bf1325 --- /dev/null +++ b/assets/js/3c5ae44f.d09a7239.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7354],{6501:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/cli/functions/createCacheKey","title":"Function: createCacheKey()","description":"createCacheKey(ctx, imaConfig, additionalData): string","source":"@site/../docs/api/@ima/cli/functions/createCacheKey.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/createCacheKey","permalink":"/api/@ima/cli/functions/createCacheKey","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/createCacheKey.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: compileLanguages()","permalink":"/api/@ima/cli/functions/compileLanguages"},"next":{"title":"Function: createDevServerConfig()","permalink":"/api/@ima/cli/functions/createDevServerConfig"}}');var a=i(2540),c=i(3023);const r={},s="Function: createCacheKey()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ctx",id:"ctx",level:3},{value:"imaConfig",id:"imaconfig",level:3},{value:"additionalData",id:"additionaldata",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"function-createcachekey",children:"Function: createCacheKey()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"createCacheKey"}),"(",(0,a.jsx)(n.code,{children:"ctx"}),", ",(0,a.jsx)(n.code,{children:"imaConfig"}),", ",(0,a.jsx)(n.code,{children:"additionalData"}),"): ",(0,a.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L167",children:"webpack/utils.ts:167"})]}),"\n",(0,a.jsx)(n.p,{children:"Creates hash representing current webpack environment."}),"\n",(0,a.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(n.h3,{id:"ctx",children:"ctx"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,a.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n",(0,a.jsx)(n.p,{children:"Current configuration context."}),"\n",(0,a.jsx)(n.h3,{id:"imaconfig",children:"imaConfig"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,a.jsx)(n.code,{children:"ImaConfig"})})}),"\n",(0,a.jsx)(n.p,{children:"ima configuration"}),"\n",(0,a.jsx)(n.h3,{id:"additionaldata",children:"additionalData"}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"string"})})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>s});var t=i(3696);const a={},c=t.createContext(a);function r(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3c604595.124813c2.js b/assets/js/3c604595.124813c2.js new file mode 100644 index 000000000..a5e94c121 --- /dev/null +++ b/assets/js/3c604595.124813c2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7020],{3959:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/dev-utils/globals","title":"@ima/dev-utils","description":"Classes","source":"@site/../docs/api/@ima/dev-utils/globals.md","sourceDirName":"api/@ima/dev-utils","slug":"/api/@ima/dev-utils/globals","permalink":"/api/@ima/dev-utils/globals","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/globals.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: time()","permalink":"/api/@ima/dev-utils/functions/time"},"next":{"title":"Interface: CompileError","permalink":"/api/@ima/dev-utils/interfaces/CompileError"}}');var n=r(2540),a=r(3023);const l={},t="@ima/dev-utils",c={},d=[{value:"Classes",id:"classes",level:2},{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2},{value:"Functions",id:"functions",level:2}];function o(e){const i={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.header,{children:(0,n.jsx)(i.h1,{id:"imadev-utils",children:"@ima/dev-utils"})}),"\n",(0,n.jsx)(i.h2,{id:"classes",children:"Classes"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/classes/Logger",children:"Logger"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/interfaces/CompileError",children:"CompileError"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/interfaces/FragmentLine",children:"FragmentLine"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:"LoggerOptions"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/type-aliases/ParsedErrorData",children:"ParsedErrorData"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"variables",children:"Variables"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE",children:"COMPILE_ERROR_NEEDLES_RE"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/variables/logger",children:"logger"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL",children:"RE_SOURCE_MAPPING_URL"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME",children:"RE_VALID_FRAME_CHROME"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX",children:"RE_VALID_FRAME_FIREFOX"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"functions",children:"Functions"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/createLogger",children:"createLogger"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/createSourceFragment",children:"createSourceFragment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/extractSourceMappingUrl",children:"extractSourceMappingUrl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/formatError",children:"formatError"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/getSource",children:"getSource"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/parseCompileError",children:"parseCompileError"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/parseError",children:"parseError"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/printTime",children:"printTime"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/resolveErrorType",children:"resolveErrorType"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/dev-utils/functions/time",children:"time"})}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},3023:(e,i,r)=>{r.d(i,{R:()=>l,x:()=>t});var s=r(3696);const n={},a=s.createContext(n);function l(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3d63d319.16e433b9.js b/assets/js/3d63d319.16e433b9.js new file mode 100644 index 000000000..a7a159b9e --- /dev/null +++ b/assets/js/3d63d319.16e433b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2690],{6484:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>d,default:()=>o,frontMatter:()=>l,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"api/@ima/cli/interfaces/ImaConfigurationContext","title":"Interface: ImaConfigurationContext","description":"Defined in56","source":"@site/../docs/api/@ima/cli/interfaces/ImaConfigurationContext.md","sourceDirName":"api/@ima/cli/interfaces","slug":"/api/@ima/cli/interfaces/ImaConfigurationContext","permalink":"/api/@ima/cli/interfaces/ImaConfigurationContext","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/interfaces/ImaConfigurationContext.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ImaCliPlugin","permalink":"/api/@ima/cli/interfaces/ImaCliPlugin"},"next":{"title":"Type Alias: ImaCliCommand","permalink":"/api/@ima/cli/type-aliases/ImaCliCommand"}}');var r=n(2540),c=n(3023);const l={},d="Interface: ImaConfigurationContext",a={},h=[{value:"Extends",id:"extends",level:2},{value:"Properties",id:"properties",level:2},{value:"appDir",id:"appdir",level:3},{value:"clean",id:"clean",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"clearCache?",id:"clearcache",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"command",id:"command",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"devtool",id:"devtool",level:3},{value:"environment",id:"environment",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"forceLegacy?",id:"forcelegacy",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"forceSPA?",id:"forcespa",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"hostname?",id:"hostname",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"ignoreWarnings?",id:"ignorewarnings",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"imaEnvironment",id:"imaenvironment",level:3},{value:"inspect?",id:"inspect",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"isClient",id:"isclient",level:3},{value:"isClientES",id:"isclientes",level:3},{value:"isDevEnv",id:"isdevenv",level:3},{value:"isServer",id:"isserver",level:3},{value:"lazyServer?",id:"lazyserver",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"legacy?",id:"legacy",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"lessGlobalsPath",id:"lessglobalspath",level:3},{value:"mode",id:"mode",level:3},{value:"name",id:"name",level:3},{value:"open?",id:"open",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"openUrl?",id:"openurl",level:3},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"outputFolders",id:"outputfolders",level:3},{value:"css",id:"css",level:4},{value:"hot",id:"hot",level:4},{value:"js",id:"js",level:4},{value:"media",id:"media",level:4},{value:"public",id:"public",level:4},{value:"port?",id:"port",level:3},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"processCss",id:"processcss",level:3},{value:"profile?",id:"profile",level:3},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"publicUrl?",id:"publicurl",level:3},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"reactRefresh?",id:"reactrefresh",level:3},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"rootDir",id:"rootdir",level:3},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"targets",id:"targets",level:3},{value:"typescript",id:"typescript",level:3},{value:"enabled",id:"enabled",level:4},{value:"tsconfigPath",id:"tsconfigpath",level:4},{value:"useHMR",id:"usehmr",level:3},{value:"useSourceMaps",id:"usesourcemaps",level:3},{value:"verbose?",id:"verbose",level:3},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"writeToDisk?",id:"writetodisk",level:3},{value:"Inherited from",id:"inherited-from-19",level:4}];function t(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"interface-imaconfigurationcontext",children:"Interface: ImaConfigurationContext"})}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L56",children:"types.ts:56"})]}),"\n",(0,r.jsx)(i.p,{children:"CLI arguments merged with concrete configuration context."}),"\n",(0,r.jsx)(i.h2,{id:"extends",children:"Extends"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})})}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(i.h3,{id:"appdir",children:"appDir"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"appDir"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L74",children:"types.ts:74"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"clean",children:"clean"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"clean"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L33",children:"types.ts:33"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#clean",children:(0,r.jsx)(i.code,{children:"clean"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"clearcache",children:"clearCache?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"clearCache"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L34",children:"types.ts:34"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#clearcache",children:(0,r.jsx)(i.code,{children:"clearCache"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"command",children:"command"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"command"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/cli/type-aliases/ImaCliCommand",children:(0,r.jsx)(i.code,{children:"ImaCliCommand"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L32",children:"types.ts:32"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#command",children:(0,r.jsx)(i.code,{children:"command"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"devtool",children:"devtool"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"devtool"}),": ",(0,r.jsx)(i.code,{children:"undefined"})," | ",(0,r.jsx)(i.code,{children:"string"})," | ",(0,r.jsx)(i.code,{children:"false"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L81",children:"types.ts:81"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"environment",children:"environment"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"environment"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L46",children:"types.ts:46"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#environment",children:(0,r.jsx)(i.code,{children:"environment"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"forcelegacy",children:"forceLegacy?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"forceLegacy"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L49",children:"types.ts:49"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#forcelegacy",children:(0,r.jsx)(i.code,{children:"forceLegacy"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"forcespa",children:"forceSPA?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"forceSPA"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L41",children:"types.ts:41"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#forcespa",children:(0,r.jsx)(i.code,{children:"forceSPA"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"hostname",children:"hostname?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"hostname"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L44",children:"types.ts:44"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#hostname",children:(0,r.jsx)(i.code,{children:"hostname"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"ignorewarnings",children:"ignoreWarnings?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"ignoreWarnings"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L37",children:"types.ts:37"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#ignorewarnings",children:(0,r.jsx)(i.code,{children:"ignoreWarnings"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"imaenvironment",children:"imaEnvironment"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"imaEnvironment"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,r.jsx)(i.code,{children:"Environment"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L73",children:"types.ts:73"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"inspect",children:"inspect?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"inspect"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L36",children:"types.ts:36"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#inspect",children:(0,r.jsx)(i.code,{children:"inspect"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"isclient",children:"isClient"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"isClient"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L59",children:"types.ts:59"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"isclientes",children:"isClientES"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"isClientES"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L60",children:"types.ts:60"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"isdevenv",children:"isDevEnv"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"isDevEnv"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L79",children:"types.ts:79"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"isserver",children:"isServer"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"isServer"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L58",children:"types.ts:58"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"lazyserver",children:"lazyServer?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"lazyServer"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L50",children:"types.ts:50"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#lazyserver",children:(0,r.jsx)(i.code,{children:"lazyServer"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"legacy",children:"legacy?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"legacy"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L40",children:"types.ts:40"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#legacy",children:(0,r.jsx)(i.code,{children:"legacy"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"lessglobalspath",children:"lessGlobalsPath"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"lessGlobalsPath"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L75",children:"types.ts:75"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"mode",children:"mode"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"mode"}),": ",(0,r.jsx)(i.code,{children:"undefined"})," | ",(0,r.jsx)(i.code,{children:'"development"'})," | ",(0,r.jsx)(i.code,{children:'"production"'})," | ",(0,r.jsx)(i.code,{children:'"none"'})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L76",children:"types.ts:76"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"name",children:"name"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"name"}),": ",(0,r.jsx)(i.code,{children:'"server"'})," | ",(0,r.jsx)(i.code,{children:'"client"'})," | ",(0,r.jsx)(i.code,{children:'"client.es"'})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L57",children:"types.ts:57"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"open",children:"open?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"open"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L38",children:"types.ts:38"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#open",children:(0,r.jsx)(i.code,{children:"open"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"openurl",children:"openUrl?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"openUrl"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L39",children:"types.ts:39"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#openurl",children:(0,r.jsx)(i.code,{children:"openUrl"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"outputfolders",children:"outputFolders"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"outputFolders"}),": ",(0,r.jsx)(i.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L62",children:"types.ts:62"})]}),"\n",(0,r.jsx)(i.h4,{id:"css",children:"css"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"css"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"hot",children:"hot"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"hot"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"js",children:"js"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"js"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"media",children:"media"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"media"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"public",children:"public"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"public"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"port",children:"port?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"port"}),": ",(0,r.jsx)(i.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L43",children:"types.ts:43"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#port",children:(0,r.jsx)(i.code,{children:"port"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"processcss",children:"processCss"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"processCss"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L61",children:"types.ts:61"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"profile",children:"profile?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"profile"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L42",children:"types.ts:42"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#profile",children:(0,r.jsx)(i.code,{children:"profile"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"publicurl",children:"publicUrl?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"publicUrl"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L45",children:"types.ts:45"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#publicurl",children:(0,r.jsx)(i.code,{children:"publicUrl"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"reactrefresh",children:"reactRefresh?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"reactRefresh"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L48",children:"types.ts:48"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#reactrefresh",children:(0,r.jsx)(i.code,{children:"reactRefresh"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"rootdir",children:"rootDir"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"rootDir"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L31",children:"types.ts:31"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#rootdir",children:(0,r.jsx)(i.code,{children:"rootDir"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"targets",children:"targets"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"targets"}),": ",(0,r.jsx)(i.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L80",children:"types.ts:80"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"typescript",children:"typescript"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"typescript"}),": ",(0,r.jsx)(i.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L69",children:"types.ts:69"})]}),"\n",(0,r.jsx)(i.h4,{id:"enabled",children:"enabled"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"enabled"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"tsconfigpath",children:"tsconfigPath"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"tsconfigPath"}),": ",(0,r.jsx)(i.code,{children:"undefined"})," | ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"usehmr",children:"useHMR"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"useHMR"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L77",children:"types.ts:77"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"usesourcemaps",children:"useSourceMaps"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"useSourceMaps"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L78",children:"types.ts:78"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"verbose",children:"verbose?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"verbose"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L35",children:"types.ts:35"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#verbose",children:(0,r.jsx)(i.code,{children:"verbose"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"writetodisk",children:"writeToDisk?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"writeToDisk"}),": ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L47",children:"types.ts:47"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs#writetodisk",children:(0,r.jsx)(i.code,{children:"writeToDisk"})})]})]})}function o(e={}){const{wrapper:i}={...(0,c.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>l,x:()=>d});var s=n(3696);const r={},c=s.createContext(r);function l(e){const i=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3e4ac49e.9c64da22.js b/assets/js/3e4ac49e.9c64da22.js new file mode 100644 index 000000000..e3286702a --- /dev/null +++ b/assets/js/3e4ac49e.9c64da22.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7733],{8974:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>i,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/PageRendererFactory","title":"Class: PageRendererFactory","description":"Defined in7","source":"@site/../docs/api/@ima/react-page-renderer/classes/PageRendererFactory.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/PageRendererFactory","permalink":"/api/@ima/react-page-renderer/classes/PageRendererFactory","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/PageRendererFactory.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ErrorBoundary","permalink":"/api/@ima/react-page-renderer/classes/ErrorBoundary"},"next":{"title":"Class: ServerPageRenderer","permalink":"/api/@ima/react-page-renderer/classes/ServerPageRenderer"}}');var t=n(2540),s=n(3023);const c={},d="Class: PageRendererFactory",i={},o=[{value:"Constructors",id:"constructors",level:2},{value:"new PageRendererFactory()",id:"new-pagerendererfactory",level:3},{value:"Parameters",id:"parameters",level:4},{value:"componentUtils",id:"componentutils",level:5},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"getDocumentView()",id:"getdocumentview",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"documentView",id:"documentview",level:5},{value:"Returns",id:"returns-1",level:4},{value:"getManagedRootView()",id:"getmanagedrootview",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"managedRootView",id:"managedrootview",level:5},{value:"Returns",id:"returns-2",level:4},{value:"getUtils()",id:"getutils",level:3},{value:"Returns",id:"returns-3",level:4}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"class-pagerendererfactory",children:"Class: PageRendererFactory"})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L7",children:"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:7"})]}),"\n",(0,t.jsx)(r.p,{children:"Factory for page render."}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-pagerendererfactory",children:"new PageRendererFactory()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new PageRendererFactory"}),"(",(0,t.jsx)(r.code,{children:"componentUtils"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/PageRendererFactory",children:(0,t.jsx)(r.code,{children:"PageRendererFactory"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L15",children:"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:15"})]}),"\n",(0,t.jsx)(r.p,{children:"Initializes the factory used by the page renderer."}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"componentutils",children:"componentUtils"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/ComponentUtils",children:(0,t.jsx)(r.code,{children:"ComponentUtils"})})}),"\n",(0,t.jsx)(r.p,{children:"The registry of component utilities."}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/PageRendererFactory",children:(0,t.jsx)(r.code,{children:"PageRendererFactory"})})}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"getdocumentview",children:"getDocumentView()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getDocumentView"}),"(",(0,t.jsx)(r.code,{children:"documentView"}),"): ",(0,t.jsx)(r.code,{children:"ComponentType"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L40",children:"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:40"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the class constructor of the specified document view component.\nDocument view may be specified as a namespace path or as a class\nconstructor."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"documentview",children:"documentView"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,t.jsx)(r.p,{children:"The\nnamespace path pointing to the document view component, or the\nconstructor of the document view component."}),"\n",(0,t.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,t.jsx)(r.p,{children:"The constructor of the document\nview component."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getmanagedrootview",children:"getManagedRootView()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getManagedRootView"}),"(",(0,t.jsx)(r.code,{children:"managedRootView"}),"): ",(0,t.jsx)(r.code,{children:"ComponentType"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L71",children:"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:71"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the class constructor of the specified managed root view\ncomponent. Managed root view may be specified as a namespace\npath or as a class constructor."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"managedrootview",children:"managedRootView"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,t.jsx)(r.p,{children:"The\nnamespace path pointing to the managed root view component, or\nthe constructor of the React component."}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,t.jsx)(r.p,{children:"The constructor of the managed\nroot view component."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getutils",children:"getUtils()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getUtils"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(r.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L25",children:"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:25"})]}),"\n",(0,t.jsx)(r.p,{children:"Return object of services which are defined for alias $Utils."}),"\n",(0,t.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(r.code,{children:"Utils"})})})]})}function h(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>c,x:()=>d});var a=n(3696);const t={},s=a.createContext(t);function c(e){const r=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3e704a63.69700263.js b/assets/js/3e704a63.69700263.js new file mode 100644 index 000000000..358bf484e --- /dev/null +++ b/assets/js/3e704a63.69700263.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[302],{135:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/core/classes/MessageFormatDictionary","title":"Class: MessageFormatDictionary","description":"Defined in16","source":"@site/../docs/api/@ima/core/classes/MessageFormatDictionary.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/MessageFormatDictionary","permalink":"/api/@ima/core/classes/MessageFormatDictionary","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/MessageFormatDictionary.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: MapStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/MapStorage"},"next":{"title":"Class: abstract MetaManager","permalink":"/api/@ima/core/classes/MetaManager"}}');var n=s(2540),a=s(3023);const c={},t="Class: MessageFormatDictionary",d={},o=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new MessageFormatDictionary()",id:"new-messageformatdictionary",level:3},{value:"Returns",id:"returns",level:4},{value:"Example",id:"example",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_dictionary",id:"_dictionary",level:3},{value:"_language",id:"_language",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters",level:4},{value:"key",id:"key",level:5},{value:"parameters?",id:"parameters-1",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getLanguage()",id:"getlanguage",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"config",id:"config",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4}];function l(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.header,{children:(0,n.jsx)(i.h1,{id:"class-messageformatdictionary",children:"Class: MessageFormatDictionary"})}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L16",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:16"})]}),"\n",(0,n.jsxs)(i.p,{children:["Implementation of the ",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:"Dictionary"})," interface that relies on\ncompiled MessageFormat localization messages for its dictionary."]}),"\n",(0,n.jsx)(i.h2,{id:"extends",children:"Extends"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,n.jsx)(i.code,{children:"Dictionary"})})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(i.h3,{id:"new-messageformatdictionary",children:"new MessageFormatDictionary()"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"new MessageFormatDictionary"}),"(): ",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/MessageFormatDictionary",children:(0,n.jsx)(i.code,{children:"MessageFormatDictionary"})})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L30",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:30"})]}),"\n",(0,n.jsx)(i.p,{children:"Initializes the dictionary."}),"\n",(0,n.jsx)(i.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/MessageFormatDictionary",children:(0,n.jsx)(i.code,{children:"MessageFormatDictionary"})})}),"\n",(0,n.jsx)(i.h4,{id:"example",children:"Example"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-ts",children:"dictionary.get('home.hello', {GENDER: 'UNSPECIFIED'});\n"})}),"\n",(0,n.jsx)(i.h4,{id:"overrides",children:"Overrides"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,n.jsx)(i.code,{children:"Dictionary"})}),".",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary#constructors",children:(0,n.jsx)(i.code,{children:"constructor"})})]}),"\n",(0,n.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(i.h3,{id:"_dictionary",children:"_dictionary"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"protected"})," ",(0,n.jsx)(i.strong,{children:"_dictionary"}),": ",(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DictionaryData",children:(0,n.jsx)(i.code,{children:"DictionaryData"})})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L18",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:18"})]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"_language",children:"_language"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"protected"})," ",(0,n.jsx)(i.strong,{children:"_language"}),": ",(0,n.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L17",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:17"})]}),"\n",(0,n.jsx)(i.h2,{id:"accessors",children:"Accessors"}),"\n",(0,n.jsx)(i.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,n.jsx)(i.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"get"})," ",(0,n.jsx)(i.code,{children:"static"})," ",(0,n.jsx)(i.strong,{children:"$dependencies"}),"(): ",(0,n.jsx)(i.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L20",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:20"})]}),"\n",(0,n.jsx)(i.h5,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"never"}),"[]"]}),"\n",(0,n.jsx)(i.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(i.h3,{id:"get",children:"get()"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"get"}),"(",(0,n.jsx)(i.code,{children:"key"}),", ",(0,n.jsx)(i.code,{children:"parameters"}),"?): ",(0,n.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L89",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:89"})]}),"\n",(0,n.jsx)(i.p,{children:"Retrieves the localization phrase identified by the specified key,\nevaluates the phrase's placeholder expressions using the provided\nparameters and returns the result."}),"\n",(0,n.jsx)(i.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(i.h5,{id:"key",children:"key"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"The key identifying the localization phrase. The key\nconsists of at least two parts separated by dots. The first part\ndenotes the name of the source JSON localization file, while the\nrest denote a field path within the localization object within\nthe given localization file."}),"\n",(0,n.jsx)(i.h5,{id:"parameters-1",children:"parameters?"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/ObjectParameters",children:(0,n.jsx)(i.code,{children:"ObjectParameters"})})}),"\n",(0,n.jsx)(i.p,{children:"The\nmap of parameter names to the parameter values to use.\nDefaults to an empty plain object."}),"\n",(0,n.jsx)(i.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"The specified localization phrase with its placeholders\nevaluated using the provided parameters."}),"\n",(0,n.jsx)(i.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,n.jsx)(i.code,{children:"Dictionary"})}),".",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary#get",children:(0,n.jsx)(i.code,{children:"get"})})]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"getlanguage",children:"getLanguage()"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"getLanguage"}),"(): ",(0,n.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L69",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:69"})]}),"\n",(0,n.jsx)(i.p,{children:"Returns the ISO 639-1 language code of the language this dictionary was\ninitialized with."}),"\n",(0,n.jsx)(i.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"The language code representing the language of the\nlocalization phrases in this dictionary."}),"\n",(0,n.jsx)(i.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,n.jsx)(i.code,{children:"Dictionary"})}),".",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary#getlanguage",children:(0,n.jsx)(i.code,{children:"getLanguage"})})]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"has",children:"has()"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"has"}),"(",(0,n.jsx)(i.code,{children:"key"}),"): ",(0,n.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L115",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:115"})]}),"\n",(0,n.jsx)(i.p,{children:"Tests whether the specified localization phrase exists in the\ndictionary."}),"\n",(0,n.jsx)(i.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsx)(i.h5,{id:"key-1",children:"key"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.p,{children:"The key identifying the localization phrase. The key\nconsists of at least two parts separated by dots. The first part\ndenotes the name of the source JSON localization file, while the\nrest denote a field path within the localization object within\nthe given localization file."}),"\n",(0,n.jsx)(i.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"boolean"})}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"true"})," if the key exists and denotes a single\nlocalization phrase, otherwise ",(0,n.jsx)(i.code,{children:"false"}),"."]}),"\n",(0,n.jsx)(i.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,n.jsx)(i.code,{children:"Dictionary"})}),".",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary#has",children:(0,n.jsx)(i.code,{children:"has"})})]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h3,{id:"init",children:"init()"}),"\n",(0,n.jsxs)(i.blockquote,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"init"}),"(",(0,n.jsx)(i.code,{children:"config"}),"): ",(0,n.jsx)(i.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(i.p,{children:["Defined in: ",(0,n.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/MessageFormatDictionary.ts#L61",children:"packages/core/src/dictionary/MessageFormatDictionary.ts:61"})]}),"\n",(0,n.jsx)(i.p,{children:"Initializes this dictionary with the provided language and localization\nphrases."}),"\n",(0,n.jsx)(i.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsx)(i.h5,{id:"config",children:"config"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DictionaryConfig",children:(0,n.jsx)(i.code,{children:"DictionaryConfig"})})}),"\n",(0,n.jsx)(i.p,{children:"The dictionary configuration."}),"\n",(0,n.jsx)(i.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"void"})}),"\n",(0,n.jsx)(i.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,n.jsx)(i.code,{children:"Dictionary"})}),".",(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary#init",children:(0,n.jsx)(i.code,{children:"init"})})]})]})}function h(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},3023:(e,i,s)=>{s.d(i,{R:()=>c,x:()=>t});var r=s(3696);const n={},a=r.createContext(n);function c(e){const i=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),r.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3e749104.40a4fd40.js b/assets/js/3e749104.40a4fd40.js new file mode 100644 index 000000000..f5a99a655 --- /dev/null +++ b/assets/js/3e749104.40a4fd40.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[680],{127:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>o,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/classes/MetaManagerImpl","title":"Class: MetaManagerImpl","description":"Defined in11","source":"@site/../docs/api/@ima/core/classes/MetaManagerImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/MetaManagerImpl","permalink":"/api/@ima/core/classes/MetaManagerImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/MetaManagerImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract MetaManager","permalink":"/api/@ima/core/classes/MetaManager"},"next":{"title":"Class: Namespace","permalink":"/api/@ima/core/classes/Namespace"}}');var s=a(2540),t=a(3023);const i={},c="Class: MetaManagerImpl",l={},d=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new MetaManagerImpl()",id:"new-metamanagerimpl",level:3},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_link",id:"_link",level:3},{value:"_metaName",id:"_metaname",level:3},{value:"_metaProperty",id:"_metaproperty",level:3},{value:"_title",id:"_title",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"clearMetaAttributes()",id:"clearmetaattributes",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getLink()",id:"getlink",level:3},{value:"Parameters",id:"parameters",level:4},{value:"relation",id:"relation",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"getLinks()",id:"getlinks",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"getLinksIterator()",id:"getlinksiterator",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"getMetaName()",id:"getmetaname",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"getMetaNames()",id:"getmetanames",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"getMetaNamesIterator()",id:"getmetanamesiterator",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"getMetaProperties()",id:"getmetaproperties",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getMetaPropertiesIterator()",id:"getmetapropertiesiterator",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"getMetaProperty()",id:"getmetaproperty",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"property",id:"property",level:5},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"getTitle()",id:"gettitle",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"setLink()",id:"setlink",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"relation",id:"relation-1",level:5},{value:"href",id:"href",level:5},{value:"attr?",id:"attr",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Parram",id:"parram",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"setMetaName()",id:"setmetaname",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"name",id:"name-1",level:5},{value:"content",id:"content",level:5},{value:"attr?",id:"attr-1",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Parram",id:"parram-1",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"setMetaProperty()",id:"setmetaproperty",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"property",id:"property-1",level:5},{value:"content",id:"content-1",level:5},{value:"attr?",id:"attr-2",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Parram",id:"parram-2",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"setTitle()",id:"settitle",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"title",id:"title",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-15",level:4}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"class-metamanagerimpl",children:"Class: MetaManagerImpl"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L11",children:"packages/core/src/meta/MetaManagerImpl.ts:11"})]}),"\n",(0,s.jsxs)(r.p,{children:["Default implementation of the ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:"MetaManager"})," interface."]}),"\n",(0,s.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})})}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(r.h3,{id:"new-metamanagerimpl",children:"new MetaManagerImpl()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"new MetaManagerImpl"}),"(): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManagerImpl",children:(0,s.jsx)(r.code,{children:"MetaManagerImpl"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L24",children:"packages/core/src/meta/MetaManagerImpl.ts:24"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes the meta page attributes manager."}),"\n",(0,s.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManagerImpl",children:(0,s.jsx)(r.code,{children:"MetaManagerImpl"})})}),"\n",(0,s.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#constructors",children:(0,s.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"_link",children:"_link"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_link"}),": ",(0,s.jsx)(r.code,{children:"Map"}),"<",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"href"'}),">>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L15",children:"packages/core/src/meta/MetaManagerImpl.ts:15"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_metaname",children:"_metaName"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_metaName"}),": ",(0,s.jsx)(r.code,{children:"Map"}),"<",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L13",children:"packages/core/src/meta/MetaManagerImpl.ts:13"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_metaproperty",children:"_metaProperty"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_metaProperty"}),": ",(0,s.jsx)(r.code,{children:"Map"}),"<",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L14",children:"packages/core/src/meta/MetaManagerImpl.ts:14"})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_title",children:"_title"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_title"}),": ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L12",children:"packages/core/src/meta/MetaManagerImpl.ts:12"})]}),"\n",(0,s.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,s.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,s.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"get"})," ",(0,s.jsx)(r.code,{children:"static"})," ",(0,s.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,s.jsx)(r.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L17",children:"packages/core/src/meta/MetaManagerImpl.ts:17"})]}),"\n",(0,s.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"never"}),"[]"]}),"\n",(0,s.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(r.h3,{id:"clearmetaattributes",children:"clearMetaAttributes()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"clearMetaAttributes"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L166",children:"packages/core/src/meta/MetaManagerImpl.ts:166"})]}),"\n",(0,s.jsx)(r.p,{children:"Resets the stored meta names, properties and links."}),"\n",(0,s.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#clearmetaattributes",children:(0,s.jsx)(r.code,{children:"clearMetaAttributes"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getlink",children:"getLink()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getLink"}),"(",(0,s.jsx)(r.code,{children:"relation"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"href"'}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L145",children:"packages/core/src/meta/MetaManagerImpl.ts:145"})]}),"\n",(0,s.jsx)(r.p,{children:"Return the reference to the specified related linked document. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."}),"\n",(0,s.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"relation",children:"relation"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The relation of the link target to the current\npage."}),"\n",(0,s.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"href"'}),">"]}),"\n",(0,s.jsx)(r.p,{children:"The reference to the location of the related document,\ne.g. a URL."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getlink",children:(0,s.jsx)(r.code,{children:"getLink"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getlinks",children:"getLinks()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getLinks"}),"(): ",(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L152",children:"packages/core/src/meta/MetaManagerImpl.ts:152"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the relations of the currently set related documents linked to\nthe current page."}),"\n",(0,s.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,s.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getlinks",children:(0,s.jsx)(r.code,{children:"getLinks"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getlinksiterator",children:"getLinksIterator()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getLinksIterator"}),"(): ",(0,s.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"href"'}),">]>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L159",children:"packages/core/src/meta/MetaManagerImpl.ts:159"})]}),"\n",(0,s.jsx)(r.p,{children:"Return [key, value] pairs of currently set links."}),"\n",(0,s.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"href"'}),">]>"]}),"\n",(0,s.jsx)(r.p,{children:"[key, value] pairs of currently set links."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getlinksiterator",children:(0,s.jsx)(r.code,{children:"getLinksIterator"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getmetaname",children:"getMetaName()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getMetaName"}),"(",(0,s.jsx)(r.code,{children:"name"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L76",children:"packages/core/src/meta/MetaManagerImpl.ts:76"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the value of the specified named meta information property. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The name of the named meta information property."}),"\n",(0,s.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">"]}),"\n",(0,s.jsx)(r.p,{children:"The value of the generic meta information, or an empty string."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getmetaname",children:(0,s.jsx)(r.code,{children:"getMetaName"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getmetanames",children:"getMetaNames()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getMetaNames"}),"(): ",(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L83",children:"packages/core/src/meta/MetaManagerImpl.ts:83"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the names of the currently specified named meta information\nproperties."}),"\n",(0,s.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,s.jsx)(r.p,{children:"The names of the currently specified named meta\ninformation properties."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getmetanames",children:(0,s.jsx)(r.code,{children:"getMetaNames"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getmetanamesiterator",children:"getMetaNamesIterator()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getMetaNamesIterator"}),"(): ",(0,s.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L90",children:"packages/core/src/meta/MetaManagerImpl.ts:90"})]}),"\n",(0,s.jsx)(r.p,{children:"Return [key, value] pairs of named meta information."}),"\n",(0,s.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n",(0,s.jsx)(r.p,{children:"[key, value] pairs of named meta information."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getmetanamesiterator",children:(0,s.jsx)(r.code,{children:"getMetaNamesIterator"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getmetaproperties",children:"getMetaProperties()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getMetaProperties"}),"(): ",(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L120",children:"packages/core/src/meta/MetaManagerImpl.ts:120"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the names of the currently specified specialized meta\ninformation properties."}),"\n",(0,s.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,s.jsx)(r.p,{children:"The names of the currently specified specialized meta\ninformation properties."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getmetaproperties",children:(0,s.jsx)(r.code,{children:"getMetaProperties"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getmetapropertiesiterator",children:"getMetaPropertiesIterator()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getMetaPropertiesIterator"}),"(): ",(0,s.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L127",children:"packages/core/src/meta/MetaManagerImpl.ts:127"})]}),"\n",(0,s.jsx)(r.p,{children:"Return [key, value] pairs of meta information properties."}),"\n",(0,s.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,s.jsx)(r.code,{children:"string"}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n",(0,s.jsx)(r.p,{children:"[key, value] pairs of meta information properties."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getmetapropertiesiterator",children:(0,s.jsx)(r.code,{children:"getMetaPropertiesIterator"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getmetaproperty",children:"getMetaProperty()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getMetaProperty"}),"(",(0,s.jsx)(r.code,{children:"property"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L112",children:"packages/core/src/meta/MetaManagerImpl.ts:112"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the value of the specified specialized meta information\nproperty. The method returns an empty string for missing meta\ninformation (to make the returned value React-friendly)."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"property",children:"property"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,s.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,s.jsx)(r.code,{children:'"content"'}),">"]}),"\n",(0,s.jsx)(r.p,{children:"The value of the specified meta information, or an\nempty string."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#getmetaproperty",children:(0,s.jsx)(r.code,{children:"getMetaProperty"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"gettitle",children:"getTitle()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"getTitle"}),"(): ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L60",children:"packages/core/src/meta/MetaManagerImpl.ts:60"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the page title. The method returns an empty string if no page\ntitle has been set yet."}),"\n",(0,s.jsx)(r.p,{children:"Note that the page title is cached internally by the meta manager and\nmay therefore differ from the current document title if it has been\nmodified by a 3rd party code."}),"\n",(0,s.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The current page title."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#gettitle",children:(0,s.jsx)(r.code,{children:"getTitle"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"setlink",children:"setLink()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"setLink"}),"(",(0,s.jsx)(r.code,{children:"relation"}),", ",(0,s.jsx)(r.code,{children:"href"}),", ",(0,s.jsx)(r.code,{children:"attr"}),"?): ",(0,s.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L136",children:"packages/core/src/meta/MetaManagerImpl.ts:136"})]}),"\n",(0,s.jsx)(r.p,{children:"Sets the specified specialized link information."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"relation-1",children:"relation"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The relation of the link target to the current\npage."}),"\n",(0,s.jsx)(r.h5,{id:"href",children:"href"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,s.jsx)(r.code,{children:"MetaValue"})})}),"\n",(0,s.jsx)(r.p,{children:"The reference to the location of the related\ndocument, e.g. a URL."}),"\n",(0,s.jsx)(r.h5,{id:"attr",children:"attr?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,s.jsx)(r.code,{children:"MetaAttributes"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"this"})}),"\n",(0,s.jsx)(r.h4,{id:"parram",children:"Parram"}),"\n",(0,s.jsx)(r.p,{children:"attr Additional optional link attributes."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#setlink",children:(0,s.jsx)(r.code,{children:"setLink"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"setmetaname",children:"setMetaName()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"setMetaName"}),"(",(0,s.jsx)(r.code,{children:"name"}),", ",(0,s.jsx)(r.code,{children:"content"}),", ",(0,s.jsx)(r.code,{children:"attr"}),"?): ",(0,s.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L67",children:"packages/core/src/meta/MetaManagerImpl.ts:67"})]}),"\n",(0,s.jsx)(r.p,{children:"Set the specified named meta information property."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"name-1",children:"name"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsxs)(r.p,{children:["Meta information property name, for example\n",(0,s.jsx)(r.code,{children:"keywords"}),"."]}),"\n",(0,s.jsx)(r.h5,{id:"content",children:"content"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,s.jsx)(r.code,{children:"MetaValue"})})}),"\n",(0,s.jsx)(r.p,{children:"The meta information content."}),"\n",(0,s.jsx)(r.h5,{id:"attr-1",children:"attr?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,s.jsx)(r.code,{children:"MetaAttributes"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"this"})}),"\n",(0,s.jsx)(r.h4,{id:"parram-1",children:"Parram"}),"\n",(0,s.jsx)(r.p,{children:"attr Additional optional meta attributes."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#setmetaname",children:(0,s.jsx)(r.code,{children:"setMetaName"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"setmetaproperty",children:"setMetaProperty()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"setMetaProperty"}),"(",(0,s.jsx)(r.code,{children:"property"}),", ",(0,s.jsx)(r.code,{children:"content"}),", ",(0,s.jsx)(r.code,{children:"attr"}),"?): ",(0,s.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L99",children:"packages/core/src/meta/MetaManagerImpl.ts:99"})]}),"\n",(0,s.jsx)(r.p,{children:"Sets the specified specialized meta information property."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"property-1",children:"property"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The value of the meta information property."}),"\n",(0,s.jsx)(r.h5,{id:"content-1",children:"content"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,s.jsx)(r.code,{children:"MetaValue"})})}),"\n",(0,s.jsx)(r.h5,{id:"attr-2",children:"attr?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,s.jsx)(r.code,{children:"MetaAttributes"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"this"})}),"\n",(0,s.jsx)(r.h4,{id:"parram-2",children:"Parram"}),"\n",(0,s.jsx)(r.p,{children:"attr Additional optional meta attributes."}),"\n",(0,s.jsx)(r.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#setmetaproperty",children:(0,s.jsx)(r.code,{children:"setMetaProperty"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"settitle",children:"setTitle()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"setTitle"}),"(",(0,s.jsx)(r.code,{children:"title"}),"): ",(0,s.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManagerImpl.ts#L51",children:"packages/core/src/meta/MetaManagerImpl.ts:51"})]}),"\n",(0,s.jsx)(r.p,{children:"Sets the page title."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"title",children:"title"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The new page title."}),"\n",(0,s.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"this"})}),"\n",(0,s.jsx)(r.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(r.code,{children:"MetaManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager#settitle",children:(0,s.jsx)(r.code,{children:"setTitle"})})]})]})}function o(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,r,a)=>{a.d(r,{R:()=>i,x:()=>c});var n=a(3696);const s={},t=n.createContext(s);function i(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3ee3a507.71f4cd3e.js b/assets/js/3ee3a507.71f4cd3e.js new file mode 100644 index 000000000..dc1de1a4f --- /dev/null +++ b/assets/js/3ee3a507.71f4cd3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3650],{1192:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/plugin-cli/interfaces/Source","title":"Interface: Source","description":"Defined in89","source":"@site/../docs/api/@ima/plugin-cli/interfaces/Source.md","sourceDirName":"api/@ima/plugin-cli/interfaces","slug":"/api/@ima/plugin-cli/interfaces/Source","permalink":"/api/@ima/plugin-cli/interfaces/Source","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/interfaces/Source.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: PipeContext","permalink":"/api/@ima/plugin-cli/interfaces/PipeContext"},"next":{"title":"Type Alias: Command","permalink":"/api/@ima/plugin-cli/type-aliases/Command"}}');var c=i(2540),t=i(3023);const r={},a="Interface: Source",l={},o=[{value:"Properties",id:"properties",level:2},{value:"code",id:"code",level:3},{value:"fileName",id:"filename",level:3},{value:"map?",id:"map",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"interface-source",children:"Interface: Source"})}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L89",children:"types.ts:89"})]}),"\n",(0,c.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(n.h3,{id:"code",children:"code"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"code"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L91",children:"types.ts:91"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"filename",children:"fileName"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"fileName"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L90",children:"types.ts:90"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"map",children:"map?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"map"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L92",children:"types.ts:92"})]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>a});var s=i(3696);const c={},t=s.createContext(c);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fb1a119.8a1e9a80.js b/assets/js/3fb1a119.8a1e9a80.js deleted file mode 100644 index dd468d302..000000000 --- a/assets/js/3fb1a119.8a1e9a80.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4263],{5680:(e,a,r)=>{r.d(a,{xA:()=>d,yg:()=>c});var n=r(6540);function t(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function i(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var a=1;a<arguments.length;a++){var r=null!=arguments[a]?arguments[a]:{};a%2?i(Object(r),!0).forEach((function(a){t(e,a,r[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))}))}return e}function l(e,a){if(null==e)return{};var r,n,t=function(e,a){if(null==e)return{};var r,n,t={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],a.indexOf(r)>=0||(t[r]=e[r]);return t}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],a.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(t[r]=e[r])}return t}var p=n.createContext({}),o=function(e){var a=n.useContext(p),r=a;return e&&(r="function"==typeof e?e(a):g(g({},a),e)),r},d=function(e){var a=o(e.components);return n.createElement(p.Provider,{value:a},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},y=n.forwardRef((function(e,a){var r=e.components,t=e.mdxType,i=e.originalType,p=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),s=o(r),y=t,c=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return r?n.createElement(c,g(g({ref:a},d),{},{components:r})):n.createElement(c,g({ref:a},d))}));function c(e,a){var r=arguments,t=a&&a.mdxType;if("string"==typeof e||t){var i=r.length,g=new Array(i);g[0]=y;var l={};for(var p in a)hasOwnProperty.call(a,p)&&(l[p]=a[p]);l.originalType=e,l[s]="string"==typeof e?e:t,g[1]=l;for(var o=2;o<i;o++)g[o]=r[o];return n.createElement.apply(null,g)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},8914:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>p,contentTitle:()=>g,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var n=r(8102),t=(r(6540),r(5680));const i={id:"ima_core.ServerPageManager",title:"Class: ServerPageManager",sidebar_label:"@ima/core.ServerPageManager",custom_edit_url:null},g=void 0,l={unversionedId:"api/classes/ima_core.ServerPageManager",id:"api/classes/ima_core.ServerPageManager",title:"Class: ServerPageManager",description:"@ima/core.ServerPageManager",source:"@site/../docs/api/classes/ima_core.ServerPageManager.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ServerPageManager",permalink:"/api/classes/ima_core.ServerPageManager",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ServerPageManager",title:"Class: ServerPageManager",sidebar_label:"@ima/core.ServerPageManager",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.SerialBatch",permalink:"/api/classes/ima_core.SerialBatch"},next:{title:"@ima/core.ServerRouter",permalink:"/api/classes/ima_core.ServerRouter"}},p={},o=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_managedPage",id:"_managedpage",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"_pageFactory",id:"_pagefactory",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_pageHandlerRegistry",id:"_pagehandlerregistry",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_pageRenderer",id:"_pagerenderer",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_previousManagedPage",id:"_previousmanagedpage",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods",level:2},{value:"#cancelable",id:"cancelable",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_activateController",id:"_activatecontroller",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_activateExtensions",id:"_activateextensions",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_activatePageSource",id:"_activatepagesource",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_clearComponentState",id:"_clearcomponentstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_constructManagedPageValue",id:"_constructmanagedpagevalue",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_deactivateController",id:"_deactivatecontroller",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"_deactivateExtensions",id:"_deactivateextensions",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_deactivatePageSource",id:"_deactivatepagesource",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_destroyController",id:"_destroycontroller",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"_destroyExtensions",id:"_destroyextensions",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"_destroyPageSource",id:"_destroypagesource",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"_getInitialManagedPage",id:"_getinitialmanagedpage",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"_getLoadedControllerState",id:"_getloadedcontrollerstate",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"_getLoadedExtensionsState",id:"_getloadedextensionsstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"_getUpdatedControllerState",id:"_getupdatedcontrollerstate",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"_getUpdatedExtensionsState",id:"_getupdatedextensionsstate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"_hasOnlyUpdate",id:"_hasonlyupdate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"_initController",id:"_initcontroller",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"_initExtensions",id:"_initextensions",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"_initPageSource",id:"_initpagesource",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"_loadPageSource",id:"_loadpagesource",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"_runPostManageHandlers",id:"_runpostmanagehandlers",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"_runPreManageHandlers",id:"_runpremanagehandlers",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"_setRestrictedPageStateManager",id:"_setrestrictedpagestatemanager",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Inherited from",id:"inherited-from-32",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"_storeManagedPageSnapshot",id:"_storemanagedpagesnapshot",level:3},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-33",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"_stripManagedPageValueForPublic",id:"_stripmanagedpagevalueforpublic",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-27",level:4},{value:"Inherited from",id:"inherited-from-34",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"_switchToPageStateManager",id:"_switchtopagestatemanager",level:3},{value:"Returns",id:"returns-28",level:4},{value:"Inherited from",id:"inherited-from-35",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"_switchToPageStateManagerAfterLoaded",id:"_switchtopagestatemanagerafterloaded",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-36",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"_updatePageSource",id:"_updatepagesource",level:3},{value:"Returns",id:"returns-30",level:4},{value:"Inherited from",id:"inherited-from-37",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-31",level:4},{value:"Inherited from",id:"inherited-from-38",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"getViewController",id:"getviewcontroller",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-32",level:4},{value:"Inherited from",id:"inherited-from-39",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-33",level:4},{value:"Inherited from",id:"inherited-from-40",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"manage",id:"manage",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-34",level:4},{value:"Inherited from",id:"inherited-from-41",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"postManage",id:"postmanage",level:3},{value:"Returns",id:"returns-35",level:4},{value:"Inherited from",id:"inherited-from-42",level:4},{value:"Defined in",id:"defined-in-43",level:4},{value:"preManage",id:"premanage",level:3},{value:"Returns",id:"returns-36",level:4},{value:"Inherited from",id:"inherited-from-43",level:4},{value:"Defined in",id:"defined-in-44",level:4}],d={toc:o},s="wrapper";function m(e){let{components:a,...r}=e;return(0,t.yg)(s,(0,n.A)({},d,r,{components:a,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ServerPageManager"),(0,t.yg)("p",null,"Page manager for controller on the server side."),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},(0,t.yg)("inlineCode",{parentName:"a"},"AbstractPageManager"))),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"ServerPageManager"))))),(0,t.yg)("h2",{id:"constructors"},"Constructors"),(0,t.yg)("h3",{id:"constructor"},"constructor"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"new ServerPageManager"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"pageFactory"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"pageRenderer"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"pageStateManager"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"pageHandlerRegistry"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"dispatcher"),")"),(0,t.yg)("p",null,"Initializes the page manager."),(0,t.yg)("h4",{id:"parameters"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"pageFactory")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageFactory"},(0,t.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,t.yg)("td",{parentName:"tr",align:"left"},"Factory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"pageRenderer")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageRenderer"},(0,t.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,t.yg)("td",{parentName:"tr",align:"left"},"The current renderer of the page.")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"pageStateManager")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,t.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,t.yg)("td",{parentName:"tr",align:"left"},"The current page state manager.")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"pageHandlerRegistry")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,t.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,t.yg)("td",{parentName:"tr",align:"left"},"Instance of HandlerRegistry that holds a list of pre-manage and post-manage handlers.")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,t.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,t.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,t.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#constructor"},"constructor")),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L95"},"packages/core/src/page/manager/AbstractPageManager.ts:95")),(0,t.yg)("h2",{id:"properties"},"Properties"),(0,t.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,t.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,t.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_dispatcher"},"_dispatcher")),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L81"},"packages/core/src/page/manager/AbstractPageManager.ts:81")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_managedpage"},"_","managedPage"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","managedPage"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("p",null,"Details of the currently managed page."),(0,t.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_managedpage"},"_managedPage")),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L68"},"packages/core/src/page/manager/AbstractPageManager.ts:68")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_pagefactory"},"_","pageFactory"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","pageFactory"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageFactory"},(0,t.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,t.yg)("p",null,"Factory used by the page manager to create instances of the\ncontroller for the current route, and decorate the controllers and\npage state managers."),(0,t.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagefactory"},"_pageFactory")),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L63"},"packages/core/src/page/manager/AbstractPageManager.ts:63")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_pagehandlerregistry"},"_","pageHandlerRegistry"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","pageHandlerRegistry"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,t.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,t.yg)("p",null,"A registry that holds a list of pre-manage and post-manage handlers."),(0,t.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagehandlerregistry"},"_pageHandlerRegistry")),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L80"},"packages/core/src/page/manager/AbstractPageManager.ts:80")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_pagerenderer"},"_","pageRenderer"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","pageRenderer"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageRenderer"},(0,t.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,t.yg)("p",null,"The current renderer of the page."),(0,t.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagerenderer"},"_pageRenderer")),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L72"},"packages/core/src/page/manager/AbstractPageManager.ts:72")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_pagestatemanager"},"_","pageStateManager"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","pageStateManager"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,t.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,t.yg)("p",null,"The current page state manager."),(0,t.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_pagestatemanager"},"_pageStateManager")),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L76"},"packages/core/src/page/manager/AbstractPageManager.ts:76")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_previousmanagedpage"},"_","previousManagedPage"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","previousManagedPage"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("p",null,"Snapshot of the previously managed page before it was replaced with\na new one"),(0,t.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_previousmanagedpage"},"_previousManagedPage")),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L57"},"packages/core/src/page/manager/AbstractPageManager.ts:57")),(0,t.yg)("h2",{id:"accessors"},"Accessors"),(0,t.yg)("h3",{id:"dependencies"},"$dependencies"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,t.yg)("inlineCode",{parentName:"p"},"get")," ",(0,t.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,t.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,t.yg)("h4",{id:"returns"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,t.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/ServerPageManager.ts#L15"},"packages/core/src/page/manager/ServerPageManager.ts:15")),(0,t.yg)("h2",{id:"methods"},"Methods"),(0,t.yg)("h3",{id:"cancelable"},"#cancelable"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,t.yg)("strong",{parentName:"p"},"#cancelable"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,t.yg)("inlineCode",{parentName:"p"},"promise"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,t.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"T"))))),(0,t.yg)("h4",{id:"parameters-1"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"promise")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"T"))))),(0,t.yg)("h4",{id:"returns-1"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,t.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager##cancelable"},"#cancelable")),(0,t.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L845"},"packages/core/src/page/manager/AbstractPageManager.ts:845")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_activatecontroller"},"_","activateController"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_activateController"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Activate managed instance of controller."),(0,t.yg)("h4",{id:"returns-2"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_activatecontroller"},"_activateController")),(0,t.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L549"},"packages/core/src/page/manager/AbstractPageManager.ts:549")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_activateextensions"},"_","activateExtensions"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_activateExtensions"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Activate extensions for managed instance of controller."),(0,t.yg)("h4",{id:"returns-3"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_activateextensions"},"_activateExtensions")),(0,t.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L563"},"packages/core/src/page/manager/AbstractPageManager.ts:563")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_activatepagesource"},"_","activatePageSource"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_activatePageSource"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Activate page source so call activate method on controller and his\nextensions."),(0,t.yg)("h4",{id:"returns-4"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_activatepagesource"},"_activatePageSource")),(0,t.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L529"},"packages/core/src/page/manager/AbstractPageManager.ts:529")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_clearcomponentstate"},"_","clearComponentState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"_clearComponentState"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"The method clear state on current rendered component to DOM."),(0,t.yg)("h4",{id:"parameters-2"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,t.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,t.yg)("h4",{id:"returns-5"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_clearcomponentstate"},"_clearComponentState")),(0,t.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L753"},"packages/core/src/page/manager/AbstractPageManager.ts:753")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_constructmanagedpagevalue"},"_","constructManagedPageValue"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_constructManagedPageValue"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"route"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"options"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"controllerInstance"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"decoratedController"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"viewInstance"),"): ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("h4",{id:"parameters-3"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"controller")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"view")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"route")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,t.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,t.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,t.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"params")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"controllerInstance")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,t.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,t.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,t.yg)("inlineCode",{parentName:"a"},"PageState")),">")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"decoratedController")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator"},(0,t.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"viewInstance")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,t.yg)("h4",{id:"returns-6"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_constructmanagedpagevalue"},"_constructManagedPageValue")),(0,t.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L245"},"packages/core/src/page/manager/AbstractPageManager.ts:245")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_deactivatecontroller"},"_","deactivateController"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_deactivateController"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Deactivate last managed instance of controller only If controller was\nactivated."),(0,t.yg)("h4",{id:"returns-7"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_deactivatecontroller"},"_deactivateController")),(0,t.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L691"},"packages/core/src/page/manager/AbstractPageManager.ts:691")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_deactivateextensions"},"_","deactivateExtensions"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_deactivateExtensions"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Deactivate extensions for last managed instance of controller only if\nthey were activated."),(0,t.yg)("h4",{id:"returns-8"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_deactivateextensions"},"_deactivateExtensions")),(0,t.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L702"},"packages/core/src/page/manager/AbstractPageManager.ts:702")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_deactivatepagesource"},"_","deactivatePageSource"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_deactivatePageSource"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Deactivate page source so call deactivate method on controller and his\nextensions."),(0,t.yg)("h4",{id:"returns-9"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_deactivatepagesource"},"_deactivatePageSource")),(0,t.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L677"},"packages/core/src/page/manager/AbstractPageManager.ts:677")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_destroycontroller"},"_","destroyController"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_destroyController"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Destroy last managed instance of controller."),(0,t.yg)("h4",{id:"returns-10"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_destroycontroller"},"_destroyController")),(0,t.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L726"},"packages/core/src/page/manager/AbstractPageManager.ts:726")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_destroyextensions"},"_","destroyExtensions"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_destroyExtensions"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Destroy extensions for last managed instance of controller."),(0,t.yg)("h4",{id:"returns-11"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_destroyextensions"},"_destroyExtensions")),(0,t.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L739"},"packages/core/src/page/manager/AbstractPageManager.ts:739")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_destroypagesource"},"_","destroyPageSource"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_destroyPageSource"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Destroy page source so call destroy method on controller and his\nextensions."),(0,t.yg)("h4",{id:"returns-12"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_destroypagesource"},"_destroyPageSource")),(0,t.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L714"},"packages/core/src/page/manager/AbstractPageManager.ts:714")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_getinitialmanagedpage"},"_","getInitialManagedPage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_getInitialManagedPage"),"(): ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("p",null,"Clear value from managed page."),(0,t.yg)("h4",{id:"returns-13"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("h4",{id:"inherited-from-20"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getinitialmanagedpage"},"_getInitialManagedPage")),(0,t.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L302"},"packages/core/src/page/manager/AbstractPageManager.ts:302")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_getloadedcontrollerstate"},"_","getLoadedControllerState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_getLoadedControllerState"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,t.yg)("p",null,"Load controller state from managed instance of controller."),(0,t.yg)("h4",{id:"returns-14"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,t.yg)("h4",{id:"inherited-from-21"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getloadedcontrollerstate"},"_getLoadedControllerState")),(0,t.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L485"},"packages/core/src/page/manager/AbstractPageManager.ts:485")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_getloadedextensionsstate"},"_","getLoadedExtensionsState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_getLoadedExtensionsState"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"controllerState?"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,t.yg)("p",null,"Load extensions state from managed instance of controller."),(0,t.yg)("h4",{id:"parameters-4"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"controllerState?")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,t.yg)("h4",{id:"returns-15"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,t.yg)("h4",{id:"inherited-from-22"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getloadedextensionsstate"},"_getLoadedExtensionsState")),(0,t.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L501"},"packages/core/src/page/manager/AbstractPageManager.ts:501")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_getupdatedcontrollerstate"},"_","getUpdatedControllerState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_getUpdatedControllerState"),"(): {} ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,t.yg)("p",null,"Return updated controller state for current page controller."),(0,t.yg)("h4",{id:"returns-16"},"Returns"),(0,t.yg)("p",null,"{} ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,t.yg)("h4",{id:"inherited-from-23"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getupdatedcontrollerstate"},"_getUpdatedControllerState")),(0,t.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L621"},"packages/core/src/page/manager/AbstractPageManager.ts:621")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_getupdatedextensionsstate"},"_","getUpdatedExtensionsState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_getUpdatedExtensionsState"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"controllerState?"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,t.yg)("p",null,"Return updated extensions state for current page controller."),(0,t.yg)("h4",{id:"parameters-5"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"controllerState?")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,t.yg)("h4",{id:"returns-17"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,t.yg)("h4",{id:"inherited-from-24"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_getupdatedextensionsstate"},"_getUpdatedExtensionsState")),(0,t.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L637"},"packages/core/src/page/manager/AbstractPageManager.ts:637")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_hasonlyupdate"},"_","hasOnlyUpdate"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_hasOnlyUpdate"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("p",null,"Return true if manager has to update last managed controller and view."),(0,t.yg)("h4",{id:"parameters-6"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"controller")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"view")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteOptions")))))),(0,t.yg)("h4",{id:"returns-18"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("h4",{id:"inherited-from-25"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_hasonlyupdate"},"_hasOnlyUpdate")),(0,t.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L769"},"packages/core/src/page/manager/AbstractPageManager.ts:769")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_initcontroller"},"_","initController"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_initController"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Initializes managed instance of controller with the provided parameters."),(0,t.yg)("h4",{id:"returns-19"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-26"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_initcontroller"},"_initController")),(0,t.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L398"},"packages/core/src/page/manager/AbstractPageManager.ts:398")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_initextensions"},"_","initExtensions"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_initExtensions"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Initialize extensions for managed instance of controller with the\nprovided parameters."),(0,t.yg)("h4",{id:"returns-20"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-27"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_initextensions"},"_initExtensions")),(0,t.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L413"},"packages/core/src/page/manager/AbstractPageManager.ts:413")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_initpagesource"},"_","initPageSource"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_initPageSource"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Initialize page source so call init method on controller and his\nextensions."),(0,t.yg)("h4",{id:"returns-21"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-28"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_initpagesource"},"_initPageSource")),(0,t.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L383"},"packages/core/src/page/manager/AbstractPageManager.ts:383")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_loadpagesource"},"_","loadPageSource"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_loadPageSource"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,t.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,t.yg)("p",null,"Load page source so call load method on controller and his extensions.\nMerge loaded state and render it."),(0,t.yg)("h4",{id:"returns-22"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,t.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,t.yg)("h4",{id:"inherited-from-29"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_loadpagesource"},"_loadPageSource")),(0,t.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L443"},"packages/core/src/page/manager/AbstractPageManager.ts:443")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_runpostmanagehandlers"},"_","runPostManageHandlers"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_runPostManageHandlers"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"previousManagedPage"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"parameters-7"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"previousManagedPage")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"action")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,t.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,t.yg)("h4",{id:"returns-23"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"inherited-from-30"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_runpostmanagehandlers"},"_runPostManageHandlers")),(0,t.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L809"},"packages/core/src/page/manager/AbstractPageManager.ts:809")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_runpremanagehandlers"},"_","runPreManageHandlers"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_runPreManageHandlers"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"actualManagedPage"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"parameters-8"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"actualManagedPage")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"action")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,t.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,t.yg)("h4",{id:"returns-24"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"inherited-from-31"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_runpremanagehandlers"},"_runPreManageHandlers")),(0,t.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L788"},"packages/core/src/page/manager/AbstractPageManager.ts:788")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_setrestrictedpagestatemanager"},"_","setRestrictedPageStateManager"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"_setRestrictedPageStateManager"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"extensionState"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Set page state manager to extension which has restricted rights to set\nglobal state."),(0,t.yg)("h4",{id:"parameters-9"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"extension")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,t.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"extensionState")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,t.yg)("h4",{id:"returns-25"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-32"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_setrestrictedpagestatemanager"},"_setRestrictedPageStateManager")),(0,t.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L342"},"packages/core/src/page/manager/AbstractPageManager.ts:342")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_storemanagedpagesnapshot"},"_","storeManagedPageSnapshot"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_storeManagedPageSnapshot"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Creates a cloned version of currently managed page and stores it in\na helper property.\nSnapshot is used in manager handlers to easily determine differences\nbetween the current and the previous state."),(0,t.yg)("h4",{id:"returns-26"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-33"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_storemanagedpagesnapshot"},"_storeManagedPageSnapshot")),(0,t.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L281"},"packages/core/src/page/manager/AbstractPageManager.ts:281")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_stripmanagedpagevalueforpublic"},"_","stripManagedPageValueForPublic"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_stripManagedPageValueForPublic"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Object")),(0,t.yg)("p",null,"Removes properties we do not want to propagate outside of the page manager"),(0,t.yg)("h4",{id:"parameters-10"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"value")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,t.yg)("td",{parentName:"tr",align:"left"},"The managed page object to strip down")))),(0,t.yg)("h4",{id:"returns-27"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Object")),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"controller")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"params")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"route")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,t.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,t.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,t.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"view")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,t.yg)("h4",{id:"inherited-from-34"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_stripmanagedpagevalueforpublic"},"_stripManagedPageValueForPublic")),(0,t.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L332"},"packages/core/src/page/manager/AbstractPageManager.ts:332")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_switchtopagestatemanager"},"_","switchToPageStateManager"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_switchToPageStateManager"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Iterates over extensions of current controller and switches each one to\npageStateManager and clears their partial state."),(0,t.yg)("h4",{id:"returns-28"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-35"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_switchtopagestatemanager"},"_switchToPageStateManager")),(0,t.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L430"},"packages/core/src/page/manager/AbstractPageManager.ts:430")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_switchtopagestatemanagerafterloaded"},"_","switchToPageStateManagerAfterLoaded"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"_switchToPageStateManagerAfterLoaded"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"extensionState"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"For defined extension switches to pageStageManager and clears partial state\nafter extension state is loaded."),(0,t.yg)("h4",{id:"parameters-11"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"extension")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,t.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"extensionState")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,t.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,t.yg)("h4",{id:"returns-29"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-36"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_switchtopagestatemanagerafterloaded"},"_switchToPageStateManagerAfterLoaded")),(0,t.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L363"},"packages/core/src/page/manager/AbstractPageManager.ts:363")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_updatepagesource"},"_","updatePageSource"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_updatePageSource"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,t.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,t.yg)("p",null,"Update page source so call update method on controller and his\nextensions. Merge updated state and render it."),(0,t.yg)("h4",{id:"returns-30"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,t.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,t.yg)("h4",{id:"inherited-from-37"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#_updatepagesource"},"_updatePageSource")),(0,t.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L580"},"packages/core/src/page/manager/AbstractPageManager.ts:580")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"destroy"},"destroy"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,t.yg)("h4",{id:"returns-31"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-38"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#destroy"},"destroy")),(0,t.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L232"},"packages/core/src/page/manager/AbstractPageManager.ts:232")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getviewcontroller"},"getViewController"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"getViewController"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"route"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<","{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteController"))," ; ",(0,t.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteView"))," }",">"),(0,t.yg)("h4",{id:"parameters-12"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"route")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,t.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,t.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,t.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,t.yg)("h4",{id:"returns-32"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<","{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteController"))," ; ",(0,t.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,t.yg)("inlineCode",{parentName:"a"},"RouteView"))," }",">"),(0,t.yg)("h4",{id:"inherited-from-39"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#getviewcontroller"},"getViewController")),(0,t.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L833"},"packages/core/src/page/manager/AbstractPageManager.ts:833")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"init"},"init"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"init"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Initializes the page manager."),(0,t.yg)("h4",{id:"returns-33"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-40"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#init"},"init")),(0,t.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L114"},"packages/core/src/page/manager/AbstractPageManager.ts:114")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"manage"},"manage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"manage"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"\xabdestructured\xbb"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,t.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,t.yg)("p",null,"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."),(0,t.yg)("p",null,"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."),(0,t.yg)("h4",{id:"parameters-13"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"\xabdestructured\xbb")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#manageargs"},(0,t.yg)("inlineCode",{parentName:"a"},"ManageArgs")))))),(0,t.yg)("h4",{id:"returns-34"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,t.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,t.yg)("p",null,"A promise that will resolve to information about the rendered page.\nThe ",(0,t.yg)("inlineCode",{parentName:"p"},"status")," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."),(0,t.yg)("h4",{id:"inherited-from-41"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#manage"},"manage")),(0,t.yg)("h4",{id:"defined-in-42"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L133"},"packages/core/src/page/manager/AbstractPageManager.ts:133")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"postmanage"},"postManage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"postManage"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Called by router after currently managed route is resolved."),(0,t.yg)("h4",{id:"returns-35"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-42"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#postmanage"},"postManage")),(0,t.yg)("h4",{id:"defined-in-43"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L223"},"packages/core/src/page/manager/AbstractPageManager.ts:223")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"premanage"},"preManage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"preManage"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."),(0,t.yg)("h4",{id:"returns-36"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"inherited-from-43"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},"AbstractPageManager"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager#premanage"},"preManage")),(0,t.yg)("h4",{id:"defined-in-44"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L123"},"packages/core/src/page/manager/AbstractPageManager.ts:123")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/418a1cae.07db9ae1.js b/assets/js/418a1cae.07db9ae1.js deleted file mode 100644 index 95ac66d42..000000000 --- a/assets/js/418a1cae.07db9ae1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9029],{5680:(e,a,t)=>{t.d(a,{xA:()=>d,yg:()=>m});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function p(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=r.createContext({}),o=function(e){var a=r.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):p(p({},a),e)),t},d=function(e){var a=o(e.components);return r.createElement(s.Provider,{value:a},e.children)},y="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},g=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),y=o(t),g=n,m=y["".concat(s,".").concat(g)]||y[g]||c[g]||i;return t?r.createElement(m,p(p({ref:a},d),{},{components:t})):r.createElement(m,p({ref:a},d))}));function m(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,p=new Array(i);p[0]=g;var l={};for(var s in a)hasOwnProperty.call(a,s)&&(l[s]=a[s]);l.originalType=e,l[y]="string"==typeof e?e:n,p[1]=l;for(var o=2;o<i;o++)p[o]=t[o];return r.createElement.apply(null,p)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},6505:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>p,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_react_page_renderer.useDispatcherType",title:"Interface: useDispatcherType",sidebar_label:"@ima/react-page-renderer.useDispatcherType",custom_edit_url:null},p=void 0,l={unversionedId:"api/interfaces/ima_react_page_renderer.useDispatcherType",id:"api/interfaces/ima_react_page_renderer.useDispatcherType",title:"Interface: useDispatcherType",description:"@ima/react-page-renderer.useDispatcherType",source:"@site/../docs/api/interfaces/ima_react_page_renderer.useDispatcherType.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_react_page_renderer.useDispatcherType",permalink:"/api/interfaces/ima_react_page_renderer.useDispatcherType",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.useDispatcherType",title:"Interface: useDispatcherType",sidebar_label:"@ima/react-page-renderer.useDispatcherType",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.useComponentType",permalink:"/api/interfaces/ima_react_page_renderer.useComponentType"},next:{title:"@ima/react-page-renderer.useEventBusType",permalink:"/api/interfaces/ima_react_page_renderer.useEventBusType"}},s={},o=[{value:"Properties",id:"properties",level:2},{value:"fire",id:"fire",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Type parameters",id:"type-parameters",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in",level:4}],d={toc:o},y="wrapper";function c(e){let{components:a,...t}=e;return(0,n.yg)(y,(0,r.A)({},d,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".useDispatcherType"),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"fire"},"fire"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"fire"),": \\<E",">","(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"E"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"data"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,n.yg)("inlineCode",{parentName:"p"},"E"),"]",") => ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher")),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"data"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),") => ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("p",null,"\u25b8 \\<",(0,n.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("p",null,"Fires a new event of the specified name, carrying the provided data."),(0,n.yg)("p",null,"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."),(0,n.yg)("p",null,"It will also execute all event listeners registered to listen to all events."),(0,n.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,n.yg)("h5",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,n.yg)("h5",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"data")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,n.yg)("inlineCode",{parentName:"td"},"E"),"]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")))),(0,n.yg)("h5",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("p",null,"This dispatcher."),(0,n.yg)("p",null,"\u25b8 (",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("h5",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"data")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"any"))))),(0,n.yg)("h5",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/dispatcher.ts#L11"},"packages/react-page-renderer/src/hooks/dispatcher.ts:11")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/42be0be8.c1603066.js b/assets/js/42be0be8.c1603066.js deleted file mode 100644 index 714398d6d..000000000 --- a/assets/js/42be0be8.c1603066.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5083],{5680:(e,n,r)=>{r.d(n,{xA:()=>p,yg:()=>c});var i=r(6540);function t(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,i)}return r}function l(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a(Object(r),!0).forEach((function(n){t(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function d(e,n){if(null==e)return{};var r,i,t=function(e,n){if(null==e)return{};var r,i,t={},a=Object.keys(e);for(i=0;i<a.length;i++)r=a[i],n.indexOf(r)>=0||(t[r]=e[r]);return t}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(t[r]=e[r])}return t}var s=i.createContext({}),o=function(e){var n=i.useContext(s),r=n;return e&&(r="function"==typeof e?e(n):l(l({},n),e)),r},p=function(e){var n=o(e.components);return i.createElement(s.Provider,{value:n},e.children)},g="mdxType",y={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},u=i.forwardRef((function(e,n){var r=e.components,t=e.mdxType,a=e.originalType,s=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),g=o(r),u=t,c=g["".concat(s,".").concat(u)]||g[u]||y[u]||a;return r?i.createElement(c,l(l({ref:n},p),{},{components:r})):i.createElement(c,l({ref:n},p))}));function c(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var a=r.length,l=new Array(a);l[0]=u;var d={};for(var s in n)hasOwnProperty.call(n,s)&&(d[s]=n[s]);d.originalType=e,d[g]="string"==typeof e?e:t,l[1]=d;for(var o=2;o<a;o++)l[o]=r[o];return i.createElement.apply(null,l)}return i.createElement.apply(null,r)}u.displayName="MDXCreateElement"},5534:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>y,frontMatter:()=>a,metadata:()=>d,toc:()=>o});var i=r(8102),t=(r(6540),r(5680));const a={id:"ima_core.ServerWindow",title:"Class: ServerWindow",sidebar_label:"@ima/core.ServerWindow",custom_edit_url:null},l=void 0,d={unversionedId:"api/classes/ima_core.ServerWindow",id:"api/classes/ima_core.ServerWindow",title:"Class: ServerWindow",description:"@ima/core.ServerWindow",source:"@site/../docs/api/classes/ima_core.ServerWindow.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ServerWindow",permalink:"/api/classes/ima_core.ServerWindow",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ServerWindow",title:"Class: ServerWindow",sidebar_label:"@ima/core.ServerWindow",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ServerRouter",permalink:"/api/classes/ima_core.ServerRouter"},next:{title:"@ima/core.SessionMapStorage",permalink:"/api/classes/ima_core.SessionMapStorage"}},s={},o=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Methods",id:"methods",level:2},{value:"bindEventListener",id:"bindeventlistener",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"createCustomEvent",id:"createcustomevent",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getBody",id:"getbody",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getDocument",id:"getdocument",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getElementById",id:"getelementbyid",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getHistoryState",id:"gethistorystate",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getScrollX",id:"getscrollx",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getScrollY",id:"getscrolly",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"getWindow",id:"getwindow",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"hasSessionStorage",id:"hassessionstorage",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"isClient",id:"isclient",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"isCookieEnabled",id:"iscookieenabled",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"pushState",id:"pushstate",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"querySelector",id:"queryselector",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"querySelectorAll",id:"queryselectorall",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"redirect",id:"redirect",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"replaceState",id:"replacestate",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"scrollTo",id:"scrollto",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-21",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"setTitle",id:"settitle",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Overrides",id:"overrides-22",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"unbindEventListener",id:"unbindeventlistener",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-23",level:4},{value:"Defined in",id:"defined-in-24",level:4}],p={toc:o},g="wrapper";function y(e){let{components:n,...r}=e;return(0,t.yg)(g,(0,i.A)({},p,r,{components:n,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ServerWindow"),(0,t.yg)("p",null,"Server-side implementation of the ",(0,t.yg)("inlineCode",{parentName:"p"},"Window")," utility API."),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,t.yg)("inlineCode",{parentName:"a"},"Window"))),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"ServerWindow"))))),(0,t.yg)("h2",{id:"constructors"},"Constructors"),(0,t.yg)("h3",{id:"constructor"},"constructor"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"new ServerWindow"),"()"),(0,t.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#constructor"},"constructor")),(0,t.yg)("h2",{id:"accessors"},"Accessors"),(0,t.yg)("h3",{id:"dependencies"},"$dependencies"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,t.yg)("inlineCode",{parentName:"p"},"get")," ",(0,t.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,t.yg)("h4",{id:"returns"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L11"},"packages/core/src/window/ServerWindow.ts:11")),(0,t.yg)("h2",{id:"methods"},"Methods"),(0,t.yg)("h3",{id:"bindeventlistener"},"bindEventListener"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"bindEventListener"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."),(0,t.yg)("p",null,"Registering the same event listener for the same event on the same event\ntarget with the same ",(0,t.yg)("inlineCode",{parentName:"p"},"useCapture")," flag value repeatedly has no\neffect."),(0,t.yg)("h4",{id:"returns-1"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#bindeventlistener"},"bindEventListener")),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L194"},"packages/core/src/window/ServerWindow.ts:194")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"createcustomevent"},"createCustomEvent"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"createCustomEvent"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,t.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"CustomEvent"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,t.yg)("p",null,"Create new instance of CustomEvent of the specified name and using the\nprovided options."),(0,t.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"T"))))),(0,t.yg)("h4",{id:"parameters"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"name")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string")),(0,t.yg)("td",{parentName:"tr",align:"left"},"Custom event's name (sometimes referred to as the event's type).")),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"CustomEventInit"),"\\<",(0,t.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,t.yg)("td",{parentName:"tr",align:"left"},"The custom event's options.")))),(0,t.yg)("h4",{id:"returns-2"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"CustomEvent"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,t.yg)("p",null,"The created custom event."),(0,t.yg)("p",null,(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"See"))),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent"},"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent")),(0,t.yg)("h4",{id:"overrides-1"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#createcustomevent"},"createCustomEvent")),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L179"},"packages/core/src/window/ServerWindow.ts:179")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getbody"},"getBody"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getBody"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"Returns the document's body element. The method returns\n",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," if invoked at the server-side."),(0,t.yg)("h4",{id:"returns-3"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"The document's body element, or\n",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," if invoked at the server side."),(0,t.yg)("h4",{id:"overrides-2"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getbody"},"getBody")),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L109"},"packages/core/src/window/ServerWindow.ts:109")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getdocument"},"getDocument"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getDocument"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"Returns the native ",(0,t.yg)("inlineCode",{parentName:"p"},"document")," object representing any web page loaded\nin the browser and serves as an entry point into the web page's content\nwhich is the DOM tree at the client-side. The method returns ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined"),"\nif used at the server-side."),(0,t.yg)("h4",{id:"returns-4"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"The ",(0,t.yg)("inlineCode",{parentName:"p"},"document")," object at the\nclient-side, or ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," at the server-side."),(0,t.yg)("h4",{id:"overrides-3"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getdocument"},"getDocument")),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L53"},"packages/core/src/window/ServerWindow.ts:53")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getdomain"},"getDomain"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("p",null,"Returns the domain of the current document's URL as\n",(0,t.yg)("inlineCode",{parentName:"p"},"${protocol}://${host}"),"."),(0,t.yg)("h4",{id:"returns-5"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("p",null,"The current domain."),(0,t.yg)("h4",{id:"overrides-4"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getdomain"},"getDomain")),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L81"},"packages/core/src/window/ServerWindow.ts:81")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getelementbyid"},"getElementById"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getElementById"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"null")),(0,t.yg)("p",null,"Returns the HTML element with the specified ",(0,t.yg)("inlineCode",{parentName:"p"},"id")," attribute value."),(0,t.yg)("h4",{id:"returns-6"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"null")),(0,t.yg)("p",null,"The element with the specified id, or\n",(0,t.yg)("inlineCode",{parentName:"p"},"null")," if no such element exists."),(0,t.yg)("h4",{id:"overrides-5"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getelementbyid"},"getElementById")),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L116"},"packages/core/src/window/ServerWindow.ts:116")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"gethistorystate"},"getHistoryState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getHistoryState"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"Returns the history state."),(0,t.yg)("h4",{id:"returns-7"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"The current history state"),(0,t.yg)("h4",{id:"overrides-6"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#gethistorystate"},"getHistoryState")),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L123"},"packages/core/src/window/ServerWindow.ts:123")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"gethost"},"getHost"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("h4",{id:"returns-8"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("p",null,"The current host."),(0,t.yg)("h4",{id:"overrides-7"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#gethost"},"getHost")),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L88"},"packages/core/src/window/ServerWindow.ts:88")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getpath"},"getPath"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("p",null,"Returns the path part of the current URL, including the query string."),(0,t.yg)("h4",{id:"returns-9"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("p",null,"The path and query string parts of the current URL."),(0,t.yg)("h4",{id:"overrides-8"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getpath"},"getPath")),(0,t.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L95"},"packages/core/src/window/ServerWindow.ts:95")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getscrollx"},"getScrollX"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getScrollX"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"0")),(0,t.yg)("p",null,"Returns the number of pixels the viewport is scrolled horizontally."),(0,t.yg)("h4",{id:"returns-10"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"0")),(0,t.yg)("p",null,"The number of pixels the viewport is scrolled\nhorizontally."),(0,t.yg)("h4",{id:"overrides-9"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getscrollx"},"getScrollX")),(0,t.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L60"},"packages/core/src/window/ServerWindow.ts:60")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getscrolly"},"getScrollY"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getScrollY"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"0")),(0,t.yg)("p",null,"Returns the number of pixels the document is scrolled vertically."),(0,t.yg)("h4",{id:"returns-11"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"0")),(0,t.yg)("p",null,"The number of pixels the document is scrolled\nvertically."),(0,t.yg)("h4",{id:"overrides-10"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getscrolly"},"getScrollY")),(0,t.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L67"},"packages/core/src/window/ServerWindow.ts:67")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"geturl"},"getUrl"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("h4",{id:"returns-12"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},'""')),(0,t.yg)("p",null,"The current document's URL."),(0,t.yg)("h4",{id:"overrides-11"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#geturl"},"getUrl")),(0,t.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L102"},"packages/core/src/window/ServerWindow.ts:102")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getwindow"},"getWindow"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getWindow"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"Returns the native ",(0,t.yg)("inlineCode",{parentName:"p"},"window")," object representing the global context\nat the client-side. The method returns ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," if used at the\nserver-side."),(0,t.yg)("h4",{id:"returns-13"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"undefined")),(0,t.yg)("p",null,"The ",(0,t.yg)("inlineCode",{parentName:"p"},"window")," object at the\nclient-side, or ",(0,t.yg)("inlineCode",{parentName:"p"},"undefined")," at the server-side."),(0,t.yg)("h4",{id:"overrides-12"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getwindow"},"getWindow")),(0,t.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L46"},"packages/core/src/window/ServerWindow.ts:46")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"hassessionstorage"},"hasSessionStorage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"hasSessionStorage"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("p",null,"Returns ",(0,t.yg)("inlineCode",{parentName:"p"},"true")," if the session storage is supported."),(0,t.yg)("h4",{id:"returns-14"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"true")," if the session storage is supported."),(0,t.yg)("h4",{id:"overrides-13"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#hassessionstorage"},"hasSessionStorage")),(0,t.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L32"},"packages/core/src/window/ServerWindow.ts:32")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isclient"},"isClient"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"isClient"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("h4",{id:"returns-15"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"true")," if invoked at the client side."),(0,t.yg)("h4",{id:"overrides-14"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#isclient"},"isClient")),(0,t.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L18"},"packages/core/src/window/ServerWindow.ts:18")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"iscookieenabled"},"isCookieEnabled"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"isCookieEnabled"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("p",null,"Returns ",(0,t.yg)("inlineCode",{parentName:"p"},"true")," if the cookies are set and processed with every\nHTTP request and response automatically by the environment."),(0,t.yg)("h4",{id:"returns-16"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"false")),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"true")," if cookies are handled automatically by\nthe environment."),(0,t.yg)("h4",{id:"overrides-15"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#iscookieenabled"},"isCookieEnabled")),(0,t.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L25"},"packages/core/src/window/ServerWindow.ts:25")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"pushstate"},"pushState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"pushState"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Pushes a new state to the browser history. The method has no effect if\nthe current browser does not support the history API (IE9)."),(0,t.yg)("h4",{id:"returns-17"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-16"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#pushstate"},"pushState")),(0,t.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L165"},"packages/core/src/window/ServerWindow.ts:165")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"queryselector"},"querySelector"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"querySelector"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"null")),(0,t.yg)("p",null,"Returns the first element matching the specified CSS 3 selector."),(0,t.yg)("h4",{id:"returns-18"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"null")),(0,t.yg)("p",null,"The first element matching the CSS selector or\n",(0,t.yg)("inlineCode",{parentName:"p"},"null")," if no such element exists."),(0,t.yg)("h4",{id:"overrides-17"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#queryselector"},"querySelector")),(0,t.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L130"},"packages/core/src/window/ServerWindow.ts:130")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"queryselectorall"},"querySelectorAll"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"querySelectorAll"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,t.yg)("inlineCode",{parentName:"p"},"selector"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"NodeListOf"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"E"),">"),(0,t.yg)("p",null,"Returns a node list of all elements matching the specified CSS 3\nselector."),(0,t.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"E")),(0,t.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,t.yg)("inlineCode",{parentName:"td"},"Element")," = ",(0,t.yg)("inlineCode",{parentName:"td"},"Element"))))),(0,t.yg)("h4",{id:"parameters-1"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"selector")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string")),(0,t.yg)("td",{parentName:"tr",align:"left"},"The CSS selector.")))),(0,t.yg)("h4",{id:"returns-19"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"NodeListOf"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"E"),">"),(0,t.yg)("p",null,"A node list containing all elements matching the\nspecified CSS selector."),(0,t.yg)("h4",{id:"overrides-18"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#queryselectorall"},"querySelectorAll")),(0,t.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L137"},"packages/core/src/window/ServerWindow.ts:137")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"redirect"},"redirect"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"redirect"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Performs a hard redirect (discarding the current JavaScript state) to\nthe specified URL."),(0,t.yg)("h4",{id:"returns-20"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-19"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#redirect"},"redirect")),(0,t.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L158"},"packages/core/src/window/ServerWindow.ts:158")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"replacestate"},"replaceState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"replaceState"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Replaces the current history entry. The method has no effect if the\ncurrent browser does not support the history API (IE9)."),(0,t.yg)("h4",{id:"returns-21"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-20"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#replacestate"},"replaceState")),(0,t.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L172"},"packages/core/src/window/ServerWindow.ts:172")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"scrollto"},"scrollTo"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"scrollTo"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Scrolls the viewport to the specified location (if possible)."),(0,t.yg)("h4",{id:"returns-22"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-21"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#scrollto"},"scrollTo")),(0,t.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L74"},"packages/core/src/window/ServerWindow.ts:74")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"settitle"},"setTitle"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"setTitle"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"never")),(0,t.yg)("p",null,"Sets the new page title of the document."),(0,t.yg)("h4",{id:"returns-23"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"never")),(0,t.yg)("h4",{id:"overrides-22"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#settitle"},"setTitle")),(0,t.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L39"},"packages/core/src/window/ServerWindow.ts:39")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"unbindeventlistener"},"unbindEventListener"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"unbindEventListener"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."),(0,t.yg)("p",null,"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."),(0,t.yg)("h4",{id:"returns-24"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-23"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#unbindeventlistener"},"unbindEventListener")),(0,t.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ServerWindow.ts#L201"},"packages/core/src/window/ServerWindow.ts:201")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/42dbe6f3.5b529643.js b/assets/js/42dbe6f3.5b529643.js new file mode 100644 index 000000000..f574fba86 --- /dev/null +++ b/assets/js/42dbe6f3.5b529643.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6007],{6908:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"api/@ima/dev-utils/type-aliases/ParsedErrorData","title":"Type Alias: ParsedErrorData","description":"ParsedErrorData: object","source":"@site/../docs/api/@ima/dev-utils/type-aliases/ParsedErrorData.md","sourceDirName":"api/@ima/dev-utils/type-aliases","slug":"/api/@ima/dev-utils/type-aliases/ParsedErrorData","permalink":"/api/@ima/dev-utils/type-aliases/ParsedErrorData","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/type-aliases/ParsedErrorData.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: LoggerOptions","permalink":"/api/@ima/dev-utils/interfaces/LoggerOptions"},"next":{"title":"Variable: COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE","permalink":"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE"}}');var r=s(2540),a=s(3023);const t={},l="Type Alias: ParsedErrorData",c={},o=[{value:"Type declaration",id:"type-declaration",level:2},{value:"column?",id:"column",level:3},{value:"fileUri?",id:"fileuri",level:3},{value:"functionName?",id:"functionname",level:3},{value:"line?",id:"line",level:3},{value:"message?",id:"message",level:3},{value:"name?",id:"name",level:3},{value:"stack?",id:"stack",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"type-alias-parsederrordata",children:"Type Alias: ParsedErrorData"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"ParsedErrorData"}),": ",(0,r.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/cliUtils.ts#L13",children:"cliUtils.ts:13"})]}),"\n",(0,r.jsx)(n.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,r.jsx)(n.h3,{id:"column",children:"column?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"column"}),": ",(0,r.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"fileuri",children:"fileUri?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"fileUri"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"functionname",children:"functionName?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"functionName"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"line",children:"line?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"line"}),": ",(0,r.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"message",children:"message?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"message"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"name",children:"name?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"name"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"stack",children:"stack?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"stack"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>l});var i=s(3696);const r={},a=i.createContext(r);function t(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/435e6e8a.b97332d0.js b/assets/js/435e6e8a.b97332d0.js deleted file mode 100644 index 371f45681..000000000 --- a/assets/js/435e6e8a.b97332d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[716],{5680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>u});var r=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=r.createContext({}),d=function(e){var n=r.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},g=function(e){var n=d(e.components);return r.createElement(p.Provider,{value:n},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},s=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),y=d(t),s=a,u=y["".concat(p,".").concat(s)]||y[s]||m[s]||i;return t?r.createElement(u,l(l({ref:n},g),{},{components:t})):r.createElement(u,l({ref:n},g))}));function u(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=s;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o[y]="string"==typeof e?e:a,l[1]=o;for(var d=2;d<i;d++)l[d]=t[d];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}s.displayName="MDXCreateElement"},4691:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=t(8102),a=(t(6540),t(5680));const i={id:"ima_react_page_renderer.ErrorBoundary",title:"Class: ErrorBoundary",sidebar_label:"@ima/react-page-renderer.ErrorBoundary",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_react_page_renderer.ErrorBoundary",id:"api/classes/ima_react_page_renderer.ErrorBoundary",title:"Class: ErrorBoundary",description:"@ima/react-page-renderer.ErrorBoundary",source:"@site/../docs/api/classes/ima_react_page_renderer.ErrorBoundary.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.ErrorBoundary",permalink:"/api/classes/ima_react_page_renderer.ErrorBoundary",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.ErrorBoundary",title:"Class: ErrorBoundary",sidebar_label:"@ima/react-page-renderer.ErrorBoundary",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.BlankManagedRootView",permalink:"/api/classes/ima_react_page_renderer.BlankManagedRootView"},next:{title:"@ima/react-page-renderer.PageRendererFactory",permalink:"/api/classes/ima_react_page_renderer.PageRendererFactory"}},p={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"props",id:"props",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"refs",id:"refs",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods",level:2},{value:"UNSAFE_componentWillMount",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"UNSAFE_componentWillReceiveProps",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"UNSAFE_componentWillUpdate",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"componentDidCatch",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"componentDidMount",id:"componentdidmount",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"componentDidUpdate",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"componentWillMount",id:"componentwillmount",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"componentWillReceiveProps",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"componentWillUnmount",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"componentWillUpdate",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"forceUpdate",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getSnapshotBeforeUpdate",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"render",id:"render",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"shouldComponentUpdate",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"getDerivedStateFromError",id:"getderivedstatefromerror",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-21",level:4}],g={toc:d},y="wrapper";function m(e){let{components:n,...t}=e;return(0,a.yg)(y,(0,r.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".ErrorBoundary"),(0,a.yg)("p",null,"Error boundary wrapper which connects the IMA application to the\ndev HMR api and handles error reporting."),(0,a.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"PureComponent"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"ErrorBoundaryProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"ErrorBoundaryState"),">"),(0,a.yg)("p",{parentName:"li"},"\u21b3 ",(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"ErrorBoundary"))))),(0,a.yg)("h2",{id:"constructors"},"Constructors"),(0,a.yg)("h3",{id:"constructor"},"constructor"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"new ErrorBoundary"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"props"),")"),(0,a.yg)("h4",{id:"parameters"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"props")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"))))),(0,a.yg)("h4",{id:"overrides"},"Overrides"),(0,a.yg)("p",null,"PureComponent\\","<","\nErrorBoundaryProps,\nErrorBoundaryState\n\\",">",".constructor"),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ErrorBoundary.ts#L19"},"packages/react-page-renderer/src/component/ErrorBoundary.ts:19")),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"context"},"context"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"context"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"unknown")),(0,a.yg)("p",null,"If using the new style context, re-declare this in your class to be the\n",(0,a.yg)("inlineCode",{parentName:"p"},"React.ContextType")," of your ",(0,a.yg)("inlineCode",{parentName:"p"},"static contextType"),".\nShould be used with type annotation or static contextType."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-ts"},"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://react.dev/reference/react/Component#context"},"React Docs")),(0,a.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.context"),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1006"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"props"},"props"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,a.yg)("strong",{parentName:"p"},"props"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"ErrorBoundaryProps"),">"),(0,a.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.props"),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1026"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"refs"},"refs"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"refs"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Object")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs"},"Legacy React Docs")),(0,a.yg)("h4",{id:"index-signature"},"Index signature"),(0,a.yg)("p",null,"\u25aa ","[key: ",(0,a.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,a.yg)("inlineCode",{parentName:"p"},"ReactInstance")),(0,a.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.refs"),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1033"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"state"},"state"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"state"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"ErrorBoundaryState"),">"),(0,a.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.state"),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1027"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"contexttype"},"contextType"),(0,a.yg)("p",null,"\u25aa ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"contextType"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Context"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,a.yg)("p",null,"If set, ",(0,a.yg)("inlineCode",{parentName:"p"},"this.context")," will be set at runtime to the current value of the given Context."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-ts"},"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://react.dev/reference/react/Component#static-contexttype"},"https://react.dev/reference/react/Component#static-contexttype")),(0,a.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.contextType"),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:988"),(0,a.yg)("h2",{id:"methods"},"Methods"),(0,a.yg)("h3",{id:"unsafe_componentwillmount"},"UNSAFE","_","componentWillMount"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"UNSAFE_componentWillMount"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,a.yg)("p",null,"This method will not stop working in React 17."),(0,a.yg)("p",null,"Note: the presence of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,a.yg)("h4",{id:"returns"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,"16.3, use ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#componentdidmount"},"componentDidMount")," or the constructor instead"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,a.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.UNSAFE","_","componentWillMount"),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1463"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"unsafe_componentwillreceiveprops"},"UNSAFE","_","componentWillReceiveProps"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"UNSAFE_componentWillReceiveProps"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,a.yg)("p",null,"Calling ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#setstate"},"setState")," generally does not trigger this method."),(0,a.yg)("p",null,"This method will not stop working in React 17."),(0,a.yg)("p",null,"Note: the presence of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,a.yg)("h4",{id:"parameters-1"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"returns-1"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,a.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.UNSAFE","_","componentWillReceiveProps"),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1497"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"unsafe_componentwillupdate"},"UNSAFE","_","componentWillUpdate"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"UNSAFE_componentWillUpdate"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,a.yg)("p",null,"Note: You cannot call ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#setstate"},"setState")," here."),(0,a.yg)("p",null,"This method will not stop working in React 17."),(0,a.yg)("p",null,"Note: the presence of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,a.yg)("h4",{id:"parameters-2"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextState")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"returns-2"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,a.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.UNSAFE","_","componentWillUpdate"),(0,a.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1527"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentdidcatch"},"componentDidCatch"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"componentDidCatch"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"error"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"parameters-3"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"error")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Error"))))),(0,a.yg)("h4",{id:"returns-3"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"overrides-1"},"Overrides"),(0,a.yg)("p",null,"PureComponent.componentDidCatch"),(0,a.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ErrorBoundary.ts#L38"},"packages/react-page-renderer/src/component/ErrorBoundary.ts:38")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentdidmount"},"componentDidMount"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"componentDidMount"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"returns-4"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"overrides-2"},"Overrides"),(0,a.yg)("p",null,"PureComponent.componentDidMount"),(0,a.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ErrorBoundary.ts#L31"},"packages/react-page-renderer/src/component/ErrorBoundary.ts:31")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentdidupdate"},"componentDidUpdate"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"componentDidUpdate"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"prevState"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"snapshot?"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called immediately after updating occurs. Not called for the initial render."),(0,a.yg)("p",null,"The snapshot is only present if ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate")," is present and returns non-null."),(0,a.yg)("h4",{id:"parameters-4"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"prevState")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"snapshot?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"returns-5"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.componentDidUpdate"),(0,a.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1432"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentwillmount"},"componentWillMount"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"componentWillMount"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,a.yg)("p",null,"Note: the presence of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,a.yg)("h4",{id:"returns-6"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,"16.3, use ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#componentdidmount"},"componentDidMount")," or the constructor instead; will stop working in React 17"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,a.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.componentWillMount"),(0,a.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1448"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentwillreceiveprops"},"componentWillReceiveProps"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"componentWillReceiveProps"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,a.yg)("p",null,"Calling ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#setstate"},"setState")," generally does not trigger this method."),(0,a.yg)("p",null,"Note: the presence of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,a.yg)("h4",{id:"parameters-5"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"returns-7"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,a.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.componentWillReceiveProps"),(0,a.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1479"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentwillunmount"},"componentWillUnmount"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"componentWillUnmount"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,a.yg)("inlineCode",{parentName:"p"},"componentDidMount"),"."),(0,a.yg)("h4",{id:"returns-8"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.componentWillUnmount"),(0,a.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1385"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"componentwillupdate"},"componentWillUpdate"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"componentWillUpdate"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,a.yg)("p",null,"Note: You cannot call ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#setstate"},"setState")," here."),(0,a.yg)("p",null,"Note: the presence of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,a.yg)("h4",{id:"parameters-6"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextState")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"returns-9"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,a.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,a.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.componentWillUpdate"),(0,a.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1511"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"forceupdate"},"forceUpdate"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"forceUpdate"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"parameters-7"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"callback?")),(0,a.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,a.yg)("inlineCode",{parentName:"td"},"void"))))),(0,a.yg)("h4",{id:"returns-10"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.forceUpdate"),(0,a.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1023"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"getSnapshotBeforeUpdate"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"prevState"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("p",null,"Runs before React applies the result of ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#render"},"render")," to the document, and\nreturns an object to be given to ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#componentdidupdate"},"componentDidUpdate"),". Useful for saving\nthings such as scroll position before ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#render"},"render")," causes changes to it."),(0,a.yg)("p",null,"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."),(0,a.yg)("h4",{id:"parameters-8"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"prevState")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),">")))),(0,a.yg)("h4",{id:"returns-11"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.getSnapshotBeforeUpdate"),(0,a.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1426"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"render"},"render"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"render"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"ReactElement"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"JSXElementConstructor"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,a.yg)("h4",{id:"returns-12"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"ReactElement"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"JSXElementConstructor"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,a.yg)("h4",{id:"overrides-3"},"Overrides"),(0,a.yg)("p",null,"PureComponent.render"),(0,a.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ErrorBoundary.ts#L45"},"packages/react-page-renderer/src/component/ErrorBoundary.ts:45")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"setstate"},"setState"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,a.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"K")),(0,a.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,a.yg)("inlineCode",{parentName:"td"},'"hasError"'))))),(0,a.yg)("h4",{id:"parameters-9"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"state")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState")," ","|"," (",(0,a.yg)("inlineCode",{parentName:"td"},"prevState"),": ",(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),">",", ",(0,a.yg)("inlineCode",{parentName:"td"},"props"),": ",(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">",") => ",(0,a.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"K"),">"," ","|"," ",(0,a.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"K"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"callback?")),(0,a.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,a.yg)("inlineCode",{parentName:"td"},"void"))))),(0,a.yg)("h4",{id:"returns-13"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.setState"),(0,a.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1018"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"shouldcomponentupdate"},"shouldComponentUpdate"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"shouldComponentUpdate"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("p",null,"Called to determine whether the change in props and state should trigger a re-render."),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"Component")," always returns true.\n",(0,a.yg)("inlineCode",{parentName:"p"},"PureComponent")," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."),(0,a.yg)("p",null,"If false is returned, ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary#render"},"render"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"componentWillUpdate"),"\nand ",(0,a.yg)("inlineCode",{parentName:"p"},"componentDidUpdate")," will not be called."),(0,a.yg)("h4",{id:"parameters-10"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryProps"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextState")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ErrorBoundaryState"),">")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"returns-14"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,a.yg)("p",null,"PureComponent.shouldComponentUpdate"),(0,a.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/react/index.d.ts:1380"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getderivedstatefromerror"},"getDerivedStateFromError"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("strong",{parentName:"p"},"getDerivedStateFromError"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"Object")),(0,a.yg)("h4",{id:"returns-15"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"Object")),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"hasError")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,a.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ErrorBoundary.ts#L27"},"packages/react-page-renderer/src/component/ErrorBoundary.ts:27")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/44cf4fdc.4aee52d1.js b/assets/js/44cf4fdc.4aee52d1.js deleted file mode 100644 index ed65b79fb..000000000 --- a/assets/js/44cf4fdc.4aee52d1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2401],{5680:(e,n,t)=>{t.d(n,{xA:()=>d,yg:()=>c});var r=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=r.createContext({}),g=function(e){var n=r.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},d=function(e){var n=g(e.components);return r.createElement(p.Provider,{value:n},e.children)},o="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},y=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),o=g(t),y=a,c=o["".concat(p,".").concat(y)]||o[y]||u[y]||i;return t?r.createElement(c,l(l({ref:n},d),{},{components:t})):r.createElement(c,l({ref:n},d))}));function c(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=y;var s={};for(var p in n)hasOwnProperty.call(n,p)&&(s[p]=n[p]);s.originalType=e,s[o]="string"==typeof e?e:a,l[1]=s;for(var g=2;g<i;g++)l[g]=t[g];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},4304:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>g});var r=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.Request",title:"Class: Request",sidebar_label:"@ima/core.Request",custom_edit_url:null},l=void 0,s={unversionedId:"api/classes/ima_core.Request",id:"api/classes/ima_core.Request",title:"Class: Request",description:"@ima/core.Request",source:"@site/../docs/api/classes/ima_core.Request.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Request",permalink:"/api/classes/ima_core.Request",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Request",title:"Class: Request",sidebar_label:"@ima/core.Request",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PluginLoader",permalink:"/api/classes/ima_core.PluginLoader"},next:{title:"@ima/core.Response",permalink:"/api/classes/ima_core.Response"}},p={},g=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Properties",id:"properties",level:2},{value:"_request",id:"_request",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"getBody",id:"getbody",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getCookieHeader",id:"getcookieheader",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getFile",id:"getfile",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getFiles",id:"getfiles",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getHeader",id:"getheader",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getIP",id:"getip",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getIPs",id:"getips",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getMethod",id:"getmethod",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-11",level:4}],d={toc:g},o="wrapper";function u(e){let{components:n,...t}=e;return(0,a.yg)(o,(0,r.A)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Request"),(0,a.yg)("p",null,"Wrapper for the ExpressJS request, exposing only the necessary minimum."),(0,a.yg)("h2",{id:"constructors"},"Constructors"),(0,a.yg)("h3",{id:"constructor"},"constructor"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"new Request"),"()"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"_request"},"_","request"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"_","request"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Request"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"ParamsDictionary"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"ParsedQs"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,a.yg)("p",null,"The current ExpressJS request object, or ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," if running at\nthe client side."),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L14"},"packages/core/src/router/Request.ts:14")),(0,a.yg)("h2",{id:"accessors"},"Accessors"),(0,a.yg)("h3",{id:"dependencies"},"$dependencies"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("inlineCode",{parentName:"p"},"get")," ",(0,a.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,a.yg)("h4",{id:"returns"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L16"},"packages/core/src/router/Request.ts:16")),(0,a.yg)("h2",{id:"methods"},"Methods"),(0,a.yg)("h3",{id:"getbody"},"getBody"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getBody"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("p",null,"Returns body of request."),(0,a.yg)("h4",{id:"returns-1"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L68"},"packages/core/src/router/Request.ts:68")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getcookieheader"},"getCookieHeader"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getCookieHeader"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"Returns the ",(0,a.yg)("inlineCode",{parentName:"p"},"Cookie")," HTTP header value."),(0,a.yg)("h4",{id:"returns-2"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"The value of the ",(0,a.yg)("inlineCode",{parentName:"p"},"Cookie")," header."),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L45"},"packages/core/src/router/Request.ts:45")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getfile"},"getFile"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getFile"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("p",null,"Returns uploaded file to server and meta information."),(0,a.yg)("h4",{id:"returns-3"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L52"},"packages/core/src/router/Request.ts:52")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getfiles"},"getFiles"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getFiles"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("p",null,"Returns uploaded files to server with their meta information."),(0,a.yg)("h4",{id:"returns-4"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L60"},"packages/core/src/router/Request.ts:60")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getheader"},"getHeader"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getHeader"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"header"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"Returns the specified HTTP request header."),(0,a.yg)("h4",{id:"parameters"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"header")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string"))))),(0,a.yg)("h4",{id:"returns-5"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L75"},"packages/core/src/router/Request.ts:75")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getip"},"getIP"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getIP"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"Returns the remote IP address of the request."),(0,a.yg)("h4",{id:"returns-6"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L82"},"packages/core/src/router/Request.ts:82")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getips"},"getIPs"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getIPs"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,a.yg)("p",null,"Returns array of IP addresses specified in the \u201cX-Forwarded-For\u201d\nrequest header."),(0,a.yg)("h4",{id:"returns-7"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,a.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L90"},"packages/core/src/router/Request.ts:90")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getmethod"},"getMethod"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getMethod"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"returns-8"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L94"},"packages/core/src/router/Request.ts:94")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getpath"},"getPath"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"Returns the path part of the URL to which the request was made."),(0,a.yg)("h4",{id:"returns-9"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"The path to which the request was made."),(0,a.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L36"},"packages/core/src/router/Request.ts:36")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"init"},"init"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"init"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"request"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Initializes the request using the provided ExpressJS request object."),(0,a.yg)("h4",{id:"parameters-1"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"request")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,a.yg)("inlineCode",{parentName:"td"},"any"),">",">"),(0,a.yg)("td",{parentName:"tr",align:"left"},"The ExpressJS request object representing the current request. Use ",(0,a.yg)("inlineCode",{parentName:"td"},"null")," at the client side.")))),(0,a.yg)("h4",{id:"returns-10"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Request.ts#L27"},"packages/core/src/router/Request.ts:27")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/45e185c2.e54708e6.js b/assets/js/45e185c2.e54708e6.js deleted file mode 100644 index 61427b232..000000000 --- a/assets/js/45e185c2.e54708e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6538],{5680:(e,a,n)=>{n.d(a,{xA:()=>o,yg:()=>c});var t=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?i(Object(n),!0).forEach((function(a){r(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function g(e,a){if(null==e)return{};var n,t,r=function(e,a){if(null==e)return{};var n,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=t.createContext({}),p=function(e){var a=t.useContext(d),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},o=function(e){var a=p(e.components);return t.createElement(d.Provider,{value:a},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},y=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,o=g(e,["components","mdxType","originalType","parentName"]),s=p(n),y=r,c=s["".concat(d,".").concat(y)]||s[y]||m[y]||i;return n?t.createElement(c,l(l({ref:a},o),{},{components:n})):t.createElement(c,l({ref:a},o))}));function c(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=y;var g={};for(var d in a)hasOwnProperty.call(a,d)&&(g[d]=a[d]);g.originalType=e,g[s]="string"==typeof e?e:r,l[1]=g;for(var p=2;p<i;p++)l[p]=n[p];return t.createElement.apply(null,l)}return t.createElement.apply(null,n)}y.displayName="MDXCreateElement"},6068:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>g,toc:()=>p});var t=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.PageHandler",title:"Class: PageHandler",sidebar_label:"@ima/core.PageHandler",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.PageHandler",id:"api/classes/ima_core.PageHandler",title:"Class: PageHandler",description:"@ima/core.PageHandler",source:"@site/../docs/api/classes/ima_core.PageHandler.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageHandler",permalink:"/api/classes/ima_core.PageHandler",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageHandler",title:"Class: PageHandler",sidebar_label:"@ima/core.PageHandler",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageFactory",permalink:"/api/classes/ima_core.PageFactory"},next:{title:"@ima/core.PageHandlerRegistry",permalink:"/api/classes/ima_core.PageHandlerRegistry"}},d={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"handlePostManagedState",id:"handlepostmanagedstate",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"handlePreManagedState",id:"handlepremanagedstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4}],o={toc:p},s="wrapper";function m(e){let{components:a,...n}=e;return(0,r.yg)(s,(0,t.A)({},o,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageHandler"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"PageHandler"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageMetaHandler"},(0,r.yg)("inlineCode",{parentName:"a"},"PageMetaHandler"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageNavigationHandler"},(0,r.yg)("inlineCode",{parentName:"a"},"PageNavigationHandler"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageMetaHandler"},(0,r.yg)("inlineCode",{parentName:"a"},"PageMetaHandler"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageNavigationHandler"},(0,r.yg)("inlineCode",{parentName:"a"},"PageNavigationHandler"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new PageHandler"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L50"},"packages/core/src/page/handler/PageHandler.ts:50")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlepostmanagedstate"},"handlePostManagedState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handlePostManagedState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"previousManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called after a PageManager finishes transition from previous page to\na new one."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"managedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The currently managed page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"previousManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data of the page that was previously managed.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered the routing.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L38"},"packages/core/src/page/handler/PageHandler.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlepremanagedstate"},"handlePreManagedState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handlePreManagedState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called before a PageManager starts to transition from previous page to\na new one."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"managedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The currently managed page - soon-to-be previously managed page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data of the page that's about to be managed.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered the routing.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L21"},"packages/core/src/page/handler/PageHandler.ts:21")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the page handler."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandler.ts#L7"},"packages/core/src/page/handler/PageHandler.ts:7")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/45f28deb.82f89c66.js b/assets/js/45f28deb.82f89c66.js new file mode 100644 index 000000000..003fe5956 --- /dev/null +++ b/assets/js/45f28deb.82f89c66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6627],{606:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/dev-utils/functions/extractSourceMappingUrl","title":"Function: extractSourceMappingUrl()","description":"extractSourceMappingUrl(fileUri, fileContents): string \\\\| null","source":"@site/../docs/api/@ima/dev-utils/functions/extractSourceMappingUrl.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/extractSourceMappingUrl","permalink":"/api/@ima/dev-utils/functions/extractSourceMappingUrl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/extractSourceMappingUrl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: createSourceFragment()","permalink":"/api/@ima/dev-utils/functions/createSourceFragment"},"next":{"title":"Function: formatError()","permalink":"/api/@ima/dev-utils/functions/formatError"}}');var i=n(2540),c=n(3023);const s={},o="Function: extractSourceMappingUrl()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"fileUri",id:"fileuri",level:3},{value:"fileContents",id:"filecontents",level:3},{value:"Returns",id:"returns",level:2}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"function-extractsourcemappingurl",children:"Function: extractSourceMappingUrl()"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"extractSourceMappingUrl"}),"(",(0,i.jsx)(t.code,{children:"fileUri"}),", ",(0,i.jsx)(t.code,{children:"fileContents"}),"): ",(0,i.jsx)(t.code,{children:"string"})," | ",(0,i.jsx)(t.code,{children:"null"})]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Defined in: ",(0,i.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/sourceMapUtils.ts#L11",children:"sourceMapUtils.ts:11"})]}),"\n",(0,i.jsxs)(t.p,{children:["Extracts sourceMappingURL from the provided file contents.\nBased on ",(0,i.jsx)(t.a,{href:"https://github.com/facebook/create-react-app/blob/main/packages/react-error-overlay/src/utils/getSourceMap.js#L79",children:"https://github.com/facebook/create-react-app/blob/main/packages/react-error-overlay/src/utils/getSourceMap.js#L79"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(t.h3,{id:"fileuri",children:"fileUri"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})}),"\n",(0,i.jsx)(t.p,{children:"The uri of the source file."}),"\n",(0,i.jsx)(t.h3,{id:"filecontents",children:"fileContents"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})}),"\n",(0,i.jsx)(t.p,{children:"Source file file contents."}),"\n",(0,i.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"string"})," | ",(0,i.jsx)(t.code,{children:"null"})]})]})}function d(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>o});var r=n(3696);const i={},c=r.createContext(i);function s(e){const t=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/46be744b.4a50c0a2.js b/assets/js/46be744b.4a50c0a2.js deleted file mode 100644 index a02d856e7..000000000 --- a/assets/js/46be744b.4a50c0a2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8809],{5680:(e,t,n)=>{n.d(t,{xA:()=>o,yg:()=>u});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),g=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},o=function(e){var t=g(e.components);return a.createElement(p.Provider,{value:t},e.children)},s="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=d(e,["components","mdxType","originalType","parentName"]),s=g(n),m=r,u=s["".concat(p,".").concat(m)]||s[m]||y[m]||i;return n?a.createElement(u,l(l({ref:t},o),{},{components:n})):a.createElement(u,l({ref:t},o))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var d={};for(var p in t)hasOwnProperty.call(t,p)&&(d[p]=t[p]);d.originalType=e,d[s]="string"==typeof e?e:r,l[1]=d;for(var g=2;g<i;g++)l[g]=n[g];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},7898:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>d,toc:()=>g});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.ClientWindow",title:"Class: ClientWindow",sidebar_label:"@ima/core.ClientWindow",custom_edit_url:null},l=void 0,d={unversionedId:"api/classes/ima_core.ClientWindow",id:"api/classes/ima_core.ClientWindow",title:"Class: ClientWindow",description:"@ima/core.ClientWindow",source:"@site/../docs/api/classes/ima_core.ClientWindow.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ClientWindow",permalink:"/api/classes/ima_core.ClientWindow",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ClientWindow",title:"Class: ClientWindow",sidebar_label:"@ima/core.ClientWindow",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ClientRouter",permalink:"/api/classes/ima_core.ClientRouter"},next:{title:"@ima/core.ComponentUtils",permalink:"/api/classes/ima_core.ComponentUtils"}},p={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Properties",id:"properties",level:2},{value:"#scopedListeners",id:"scopedlisteners",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"_findScopedListener",id:"_findscopedlistener",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"bindEventListener",id:"bindeventlistener",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"createCustomEvent",id:"createcustomevent",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getBody",id:"getbody",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getDocument",id:"getdocument",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getElementById",id:"getelementbyid",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getHistoryState",id:"gethistorystate",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getScrollX",id:"getscrollx",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"getScrollY",id:"getscrolly",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"getWindow",id:"getwindow",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"hasSessionStorage",id:"hassessionstorage",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"isClient",id:"isclient",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"isCookieEnabled",id:"iscookieenabled",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"pushState",id:"pushstate",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"querySelector",id:"queryselector",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"querySelectorAll",id:"queryselectorall",level:3},{value:"Type parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"replaceState",id:"replacestate",level:3},{value:"Type parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"scrollTo",id:"scrollto",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Overrides",id:"overrides-21",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"setTitle",id:"settitle",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-22",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"unbindEventListener",id:"unbindeventlistener",level:3},{value:"Type parameters",id:"type-parameters-7",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-23",level:4},{value:"Defined in",id:"defined-in-26",level:4}],o={toc:g},s="wrapper";function y(e){let{components:t,...n}=e;return(0,r.yg)(s,(0,a.A)({},o,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ClientWindow"),(0,r.yg)("p",null,"Client-side implementation of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window")," utility API."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"ClientWindow"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new ClientWindow"),"()"),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#constructor"},"constructor")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"scopedlisteners"},"#scopedListeners"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#scopedListeners"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"WeakMap"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"object"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L10"},"packages/core/src/window/ClientWindow.ts:10")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L12"},"packages/core/src/window/ClientWindow.ts:12")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_findscopedlistener"},"_","findScopedListener"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_findScopedListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"remove?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"E"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"AddEventListenerOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"remove")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"false"))))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L297"},"packages/core/src/window/ClientWindow.ts:297")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"bindeventlistener"},"bindEventListener"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"bindEventListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."),(0,r.yg)("p",null,"Registering the same event listener for the same event on the same event\ntarget with the same ",(0,r.yg)("inlineCode",{parentName:"p"},"useCapture")," flag value repeatedly has no\neffect."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"E"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"false")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#bindeventlistener"},"bindEventListener")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L213"},"packages/core/src/window/ClientWindow.ts:213")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"createcustomevent"},"createCustomEvent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"createCustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Create new instance of CustomEvent of the specified name and using the\nprovided options."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Custom event's name (sometimes referred to as the event's type).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEventInit"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The custom event's options.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"The created custom event."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent"},"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#createcustomevent"},"createCustomEvent")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L203"},"packages/core/src/window/ClientWindow.ts:203")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getbody"},"getBody"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getBody"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"Returns the document's body element. The method returns\n",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if invoked at the server-side."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"The document's body element, or\n",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if invoked at the server side."),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getbody"},"getBody")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L141"},"packages/core/src/window/ClientWindow.ts:141")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getdocument"},"getDocument"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getDocument"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Document")),(0,r.yg)("p",null,"Returns the native ",(0,r.yg)("inlineCode",{parentName:"p"},"document")," object representing any web page loaded\nin the browser and serves as an entry point into the web page's content\nwhich is the DOM tree at the client-side. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined"),"\nif used at the server-side."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Document")),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"document")," object at the\nclient-side, or ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," at the server-side."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getdocument"},"getDocument")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L69"},"packages/core/src/window/ClientWindow.ts:69")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getdomain"},"getDomain"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the domain of the current document's URL as\n",(0,r.yg)("inlineCode",{parentName:"p"},"${protocol}://${host}"),"."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current domain."),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getdomain"},"getDomain")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L113"},"packages/core/src/window/ClientWindow.ts:113")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getelementbyid"},"getElementById"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getElementById"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"id"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"Returns the HTML element with the specified ",(0,r.yg)("inlineCode",{parentName:"p"},"id")," attribute value."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"id")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value of the ",(0,r.yg)("inlineCode",{parentName:"td"},"id")," attribute to look for.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"The element with the specified id, or\n",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if no such element exists."),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getelementbyid"},"getElementById")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L148"},"packages/core/src/window/ClientWindow.ts:148")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethistorystate"},"getHistoryState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHistoryState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("p",null,"Returns the history state."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("p",null,"The current history state"),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#gethistorystate"},"getHistoryState")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L155"},"packages/core/src/window/ClientWindow.ts:155")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethost"},"getHost"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current host."),(0,r.yg)("h4",{id:"overrides-7"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#gethost"},"getHost")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L120"},"packages/core/src/window/ClientWindow.ts:120")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getpath"},"getPath"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the path part of the current URL, including the query string."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The path and query string parts of the current URL."),(0,r.yg)("h4",{id:"overrides-8"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getpath"},"getPath")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L127"},"packages/core/src/window/ClientWindow.ts:127")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getscrollx"},"getScrollX"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getScrollX"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"Returns the number of pixels the viewport is scrolled horizontally."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"The number of pixels the viewport is scrolled\nhorizontally."),(0,r.yg)("h4",{id:"overrides-9"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getscrollx"},"getScrollX")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L76"},"packages/core/src/window/ClientWindow.ts:76")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getscrolly"},"getScrollY"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getScrollY"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"Returns the number of pixels the document is scrolled vertically."),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"The number of pixels the document is scrolled\nvertically."),(0,r.yg)("h4",{id:"overrides-10"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getscrolly"},"getScrollY")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L91"},"packages/core/src/window/ClientWindow.ts:91")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"geturl"},"getUrl"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current document's URL."),(0,r.yg)("h4",{id:"overrides-11"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#geturl"},"getUrl")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L134"},"packages/core/src/window/ClientWindow.ts:134")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getwindow"},"getWindow"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getWindow"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Window")),(0,r.yg)("p",null,"Returns the native ",(0,r.yg)("inlineCode",{parentName:"p"},"window")," object representing the global context\nat the client-side. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if used at the\nserver-side."),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Window")),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"window")," object at the\nclient-side, or ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," at the server-side."),(0,r.yg)("h4",{id:"overrides-12"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#getwindow"},"getWindow")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L62"},"packages/core/src/window/ClientWindow.ts:62")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"hassessionstorage"},"hasSessionStorage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"hasSessionStorage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the session storage is supported."),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the session storage is supported."),(0,r.yg)("h4",{id:"overrides-13"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#hassessionstorage"},"hasSessionStorage")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L33"},"packages/core/src/window/ClientWindow.ts:33")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"isclient"},"isClient"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isClient"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if invoked at the client side."),(0,r.yg)("h4",{id:"overrides-14"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#isclient"},"isClient")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L19"},"packages/core/src/window/ClientWindow.ts:19")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"iscookieenabled"},"isCookieEnabled"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isCookieEnabled"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the cookies are set and processed with every\nHTTP request and response automatically by the environment."),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if cookies are handled automatically by\nthe environment."),(0,r.yg)("h4",{id:"overrides-15"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#iscookieenabled"},"isCookieEnabled")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L26"},"packages/core/src/window/ClientWindow.ts:26")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pushstate"},"pushState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"pushState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"title"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Pushes a new state to the browser history. The method has no effect if\nthe current browser does not support the history API (IE9)."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A state object associated with the history item, preferably representing the page state.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The page title related to the state. Note that this parameter is ignored by some browsers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new URL at which the state is available.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-16"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#pushstate"},"pushState")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L185"},"packages/core/src/window/ClientWindow.ts:185")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"queryselector"},"querySelector"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"querySelector"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"selector"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"E")),(0,r.yg)("p",null,"Returns the first element matching the specified CSS 3 selector."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Element")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Element"))))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"selector")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The CSS selector.")))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"E")),(0,r.yg)("p",null,"The first element matching the CSS selector or\n",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if no such element exists."),(0,r.yg)("h4",{id:"overrides-17"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#queryselector"},"querySelector")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L162"},"packages/core/src/window/ClientWindow.ts:162")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"queryselectorall"},"querySelectorAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"querySelectorAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"selector"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"NodeListOf"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">"),(0,r.yg)("p",null,"Returns a node list of all elements matching the specified CSS 3\nselector."),(0,r.yg)("h4",{id:"type-parameters-5"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Element")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Element"))))),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"selector")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The CSS selector.")))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"NodeListOf"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">"),(0,r.yg)("p",null,"A node list containing all elements matching the\nspecified CSS selector."),(0,r.yg)("h4",{id:"overrides-18"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#queryselectorall"},"querySelectorAll")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L169"},"packages/core/src/window/ClientWindow.ts:169")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"redirect"},"redirect"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"redirect"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Performs a hard redirect (discarding the current JavaScript state) to\nthe specified URL."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the browser will be redirected.")))),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-19"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#redirect"},"redirect")),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L178"},"packages/core/src/window/ClientWindow.ts:178")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"replacestate"},"replaceState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"replaceState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"title"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Replaces the current history entry. The method has no effect if the\ncurrent browser does not support the history API (IE9)."),(0,r.yg)("h4",{id:"type-parameters-6"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A state object associated with the history item, preferably representing the page state.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The page title related to the state. Note that this parameter is ignored by some browsers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new URL at which the state is available.")))),(0,r.yg)("h4",{id:"returns-22"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-20"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#replacestate"},"replaceState")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L194"},"packages/core/src/window/ClientWindow.ts:194")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"scrollto"},"scrollTo"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"scrollTo"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"x"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"y"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Scrolls the viewport to the specified location (if possible)."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"x")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Horizontal scroll offset in pixels.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"y")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Vertical scroll offset in pixels.")))),(0,r.yg)("h4",{id:"returns-23"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-21"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#scrollto"},"scrollTo")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L106"},"packages/core/src/window/ClientWindow.ts:106")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"settitle"},"setTitle"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setTitle"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"title"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the new page title of the document."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new page title.")))),(0,r.yg)("h4",{id:"returns-24"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-22"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#settitle"},"setTitle")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L55"},"packages/core/src/window/ClientWindow.ts:55")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unbindeventlistener"},"unbindEventListener"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unbindEventListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."),(0,r.yg)("p",null,"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."),(0,r.yg)("h4",{id:"type-parameters-7"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Event")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"E"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"false")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The ",(0,r.yg)("inlineCode",{parentName:"td"},"useCapture")," flag value that was used when the listener was registered, or provide capture option through object options.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-25"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-23"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window#unbindeventlistener"},"unbindEventListener")),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/ClientWindow.ts#L254"},"packages/core/src/window/ClientWindow.ts:254")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/48673dc0.34954a0b.js b/assets/js/48673dc0.34954a0b.js new file mode 100644 index 000000000..38226b1be --- /dev/null +++ b/assets/js/48673dc0.34954a0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2662],{777:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"api/@ima/core/classes/PluginLoader","title":"Class: PluginLoader","description":"Defined in9","source":"@site/../docs/api/@ima/core/classes/PluginLoader.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PluginLoader","permalink":"/api/@ima/core/classes/PluginLoader","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PluginLoader.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageStateManagerImpl\\\\<S\\\\>","permalink":"/api/@ima/core/classes/PageStateManagerImpl"},"next":{"title":"Class: Request","permalink":"/api/@ima/core/classes/Request"}}');var r=s(2540),a=s(3023);const l={},c="Class: PluginLoader",t={},d=[{value:"Properties",id:"properties",level:2},{value:"_bootstrap?",id:"_bootstrap",level:3},{value:"_plugins",id:"_plugins",level:3},{value:"Methods",id:"methods",level:2},{value:"getPlugins()",id:"getplugins",level:3},{value:"Returns",id:"returns",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters",level:4},{value:"bootstrap",id:"bootstrap",level:5},{value:"Returns",id:"returns-1",level:4},{value:"register()",id:"register",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name",level:5},{value:"registerFn",id:"registerfn",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Example",id:"example",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"class-pluginloader",children:"Class: PluginLoader"})}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L9",children:"packages/core/src/pluginLoader.ts:9"})]}),"\n",(0,r.jsx)(n.p,{children:"Plugin loader utility used to register external IMA.js plugins. This\nadds ability for external packages to automatically hook into several\nIMA.js application parts and automatically bootstrap certain settings."}),"\n",(0,r.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(n.h3,{id:"_bootstrap",children:"_bootstrap?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"protected"})," ",(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"_bootstrap"}),": ",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,r.jsx)(n.code,{children:"Bootstrap"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L14",children:"packages/core/src/pluginLoader.ts:14"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_plugins",children:"_plugins"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"protected"})," ",(0,r.jsx)(n.strong,{children:"_plugins"}),": ",(0,r.jsx)(n.code,{children:"Record"}),"<",(0,r.jsx)(n.code,{children:"string"}),", { ",(0,r.jsx)(n.code,{children:"name"}),": ",(0,r.jsx)(n.code,{children:"string"}),"; ",(0,r.jsx)(n.code,{children:"plugin"}),": ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(n.code,{children:"InitPluginConfig"})}),"; }>"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L10",children:"packages/core/src/pluginLoader.ts:10"})]}),"\n",(0,r.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(n.h3,{id:"getplugins",children:"getPlugins()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"getPlugins"}),"(): ",(0,r.jsx)(n.code,{children:"object"}),"[]"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L88",children:"packages/core/src/pluginLoader.ts:88"})]}),"\n",(0,r.jsx)(n.p,{children:"Returns array of registered IMA.js plugins."}),"\n",(0,r.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"object"}),"[]"]}),"\n",(0,r.jsx)(n.p,{children:"Array of IMA.js plugins."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"init",children:"init()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"init"}),"(",(0,r.jsx)(n.code,{children:"bootstrap"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L36",children:"packages/core/src/pluginLoader.ts:36"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes the plugin loader with bootstrap instance. Which is later used\nto handle dynamically loaded IMA.js plugins."}),"\n",(0,r.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"bootstrap",children:"bootstrap"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,r.jsx)(n.code,{children:"Bootstrap"})})}),"\n",(0,r.jsx)(n.p,{children:"App bootstrap instance."}),"\n",(0,r.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"register",children:"register()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"register"}),"(",(0,r.jsx)(n.code,{children:"name"}),", ",(0,r.jsx)(n.code,{children:"registerFn"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L57",children:"packages/core/src/pluginLoader.ts:57"})]}),"\n",(0,r.jsx)(n.p,{children:"Registers plugin into IMA.js bootstrap sequence."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Plugin name."}),"\n",(0,r.jsx)(n.h5,{id:"registerfn",children:"registerFn"}),"\n",(0,r.jsxs)(n.p,{children:["(",(0,r.jsx)(n.code,{children:"ns"}),") => ",(0,r.jsx)(n.code,{children:"void"})," | ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(n.code,{children:"InitPluginConfig"})})]}),"\n",(0,r.jsx)(n.p,{children:"Plugin initialization function."}),"\n",(0,r.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"pluginLoader.register('@ima/plugin-logger', ns => {\n ns.set('ima.plugin.logger', logger);\n\n return {\n initSettings,\n initServices,\n initBind,\n };\n});\n"})})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>c});var i=s(3696);const r={},a=i.createContext(r);function l(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/487a916d.9bc066de.js b/assets/js/487a916d.9bc066de.js deleted file mode 100644 index e8623877d..000000000 --- a/assets/js/487a916d.9bc066de.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2195],{5680:(e,a,t)=>{t.d(a,{xA:()=>c,yg:()=>m});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function p(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=n.createContext({}),o=function(e){var a=n.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):p(p({},a),e)),t},c=function(e){var a=o(e.components);return n.createElement(s.Provider,{value:a},e.children)},g="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},y=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),g=o(t),y=r,m=g["".concat(s,".").concat(y)]||g[y]||d[y]||i;return t?n.createElement(m,p(p({ref:a},c),{},{components:t})):n.createElement(m,p({ref:a},c))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,p=new Array(i);p[0]=y;var l={};for(var s in a)hasOwnProperty.call(a,s)&&(l[s]=a[s]);l.originalType=e,l[g]="string"==typeof e?e:r,p[1]=l;for(var o=2;o<i;o++)p[o]=t[o];return n.createElement.apply(null,p)}return n.createElement.apply(null,t)}y.displayName="MDXCreateElement"},3856:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>p,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.Utils",title:"Interface: Utils",sidebar_label:"@ima/core.Utils",custom_edit_url:null},p=void 0,l={unversionedId:"api/interfaces/ima_core.Utils",id:"api/interfaces/ima_core.Utils",title:"Interface: Utils",description:"@ima/core.Utils",source:"@site/../docs/api/interfaces/ima_core.Utils.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.Utils",permalink:"/api/interfaces/ima_core.Utils",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Utils",title:"Interface: Utils",sidebar_label:"@ima/core.Utils",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Settings",permalink:"/api/interfaces/ima_core.Settings"},next:{title:"@ima/core.WindowCustomEventsMap",permalink:"/api/interfaces/ima_core.WindowCustomEventsMap"}},s={},o=[{value:"Properties",id:"properties",level:2},{value:"$Dictionary",id:"dictionary",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"$Dispatcher",id:"dispatcher",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"$EventBus",id:"eventbus",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"$Helper",id:"helper",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"$Http",id:"http",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"$Observable",id:"observable",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"$PageStateManager",id:"pagestatemanager",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"$Router",id:"router",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"$Settings",id:"settings",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"$Window",id:"window",level:3},{value:"Defined in",id:"defined-in-9",level:4}],c={toc:o},g="wrapper";function d(e){let{components:a,...t}=e;return(0,r.yg)(g,(0,n.A)({},c,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Utils"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"dictionary"},"$Dictionary"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Dictionary"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L35"},"packages/core/src/types.ts:35")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dispatcher"},"$Dispatcher"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Dispatcher"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L36"},"packages/core/src/types.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"eventbus"},"$EventBus"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$EventBus"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L37"},"packages/core/src/types.ts:37")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"helper"},"$Helper"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Helper"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"__module")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L39"},"packages/core/src/types.ts:39")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"http"},"$Http"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Http"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L40"},"packages/core/src/types.ts:40")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"observable"},"$Observable"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Observable"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L38"},"packages/core/src/types.ts:38")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pagestatemanager"},"$PageStateManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$PageStateManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L41"},"packages/core/src/types.ts:41")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"router"},"$Router"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Router"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L42"},"packages/core/src/types.ts:42")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"settings"},"$Settings"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Settings"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings"))," & ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#bootsettings"},(0,r.yg)("inlineCode",{parentName:"a"},"BootSettings"))," & ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),"; }"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L44"},"packages/core/src/types.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"window"},"$Window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/types.ts#L43"},"packages/core/src/types.ts:43")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/48d92cf8.f58307ed.js b/assets/js/48d92cf8.f58307ed.js deleted file mode 100644 index f9c9961fb..000000000 --- a/assets/js/48d92cf8.f58307ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5693],{5680:(e,t,a)=>{a.d(t,{xA:()=>p,yg:()=>m});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},u="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(a),d=n,m=u["".concat(c,".").concat(d)]||u[d]||y[d]||o;return a?r.createElement(m,i(i({ref:t},p),{},{components:a})):r.createElement(m,i({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:n,i[1]=l;for(var s=2;s<o;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},1116:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>y,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var r=a(8102),n=(a(6540),a(5680));const o={id:"ima_core.RouteFactory",title:"Class: RouteFactory",sidebar_label:"@ima/core.RouteFactory",custom_edit_url:null},i=void 0,l={unversionedId:"api/classes/ima_core.RouteFactory",id:"api/classes/ima_core.RouteFactory",title:"Class: RouteFactory",description:"@ima/core.RouteFactory",source:"@site/../docs/api/classes/ima_core.RouteFactory.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.RouteFactory",permalink:"/api/classes/ima_core.RouteFactory",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouteFactory",title:"Class: RouteFactory",sidebar_label:"@ima/core.RouteFactory",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Response",permalink:"/api/classes/ima_core.Response"},next:{title:"@ima/core.Router",permalink:"/api/classes/ima_core.Router"}},c={},s=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Methods",id:"methods",level:2},{value:"createRoute",id:"createroute",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4}],p={toc:s},u="wrapper";function y(e){let{components:t,...a}=e;return(0,n.yg)(u,(0,r.A)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouteFactory"),(0,n.yg)("p",null,"Utility factory used by router to create routes."),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new RouteFactory"),"()"),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouteFactory.ts#L10"},"packages/core/src/router/RouteFactory.ts:10")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"createroute"},"createRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"createRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DynamicRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"DynamicRoute"))," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"StaticRoute"))),(0,n.yg)("p",null,"Create new instance of ima.core.router.AbstractRoute."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of this route, identifying it among the rest of the routes in the application.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"A path expression specifying either the URL path part matching this route (must not\\ contain a query string) with optionally containing named parameter placeholders specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":parameterName"),". Or object defining matcher in form of regular expression and toPath and extractParameters function overrides.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name of Object Container alias identifying the controller associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name or Object Container alias identifying the view class associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route additional options.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DynamicRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"DynamicRoute"))," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"StaticRoute"))),(0,n.yg)("p",null,"The constructed route."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouteFactory.ts#L32"},"packages/core/src/router/RouteFactory.ts:32")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/48fa096e.6047a287.js b/assets/js/48fa096e.6047a287.js deleted file mode 100644 index 6041dffdb..000000000 --- a/assets/js/48fa096e.6047a287.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5990],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>u});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),s=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),d=s(a),y=r,u=d["".concat(o,".").concat(y)]||d[y]||m[y]||i;return a?n.createElement(u,l(l({ref:t},g),{},{components:a})):n.createElement(u,l({ref:t},g))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=y;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p[d]="string"==typeof e?e:r,l[1]=p;for(var s=2;s<i;s++)l[s]=a[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},4529:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_react_page_renderer.useComponentType",title:"Interface: useComponentType",sidebar_label:"@ima/react-page-renderer.useComponentType",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_react_page_renderer.useComponentType",id:"api/interfaces/ima_react_page_renderer.useComponentType",title:"Interface: useComponentType",description:"@ima/react-page-renderer.useComponentType",source:"@site/../docs/api/interfaces/ima_react_page_renderer.useComponentType.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_react_page_renderer.useComponentType",permalink:"/api/interfaces/ima_react_page_renderer.useComponentType",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.useComponentType",title:"Interface: useComponentType",sidebar_label:"@ima/react-page-renderer.useComponentType",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.ViewAdapterProps",permalink:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},next:{title:"@ima/react-page-renderer.useDispatcherType",permalink:"/api/interfaces/ima_react_page_renderer.useDispatcherType"}},o={},s=[{value:"Properties",id:"properties",level:2},{value:"cssClasses",id:"cssclasses",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in",level:4},{value:"fire",id:"fire",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"link",id:"link",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Defined in",id:"defined-in-2",level:4},{value:"listen",id:"listen",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"localize",id:"localize",level:3},{value:"Type declaration",id:"type-declaration-4",level:4},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-4",level:5},{value:"Defined in",id:"defined-in-4",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Type declaration",id:"type-declaration-5",level:4},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-5",level:5},{value:"Defined in",id:"defined-in-5",level:4},{value:"utils",id:"utils",level:3},{value:"Defined in",id:"defined-in-6",level:4}],g={toc:s},d="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(d,(0,n.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".useComponentType"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"cssclasses"},"cssClasses"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"cssClasses"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"classRules"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Argument"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"component?"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"ComponentType"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"classRules"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"component?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("h5",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classRules")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Argument")),(0,r.yg)("td",{parentName:"tr",align:"left"},"CSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is ",(0,r.yg)("inlineCode",{parentName:"td"},"true"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"ComponentType")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component requiring the composition of the CSS class names, if it has the ",(0,r.yg)("inlineCode",{parentName:"td"},"className")," property set and requires its inclusion this time.")))),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"String of CSS classes that had their property resolved\nto ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L9"},"packages/react-page-renderer/src/hooks/component.ts:9")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"fire"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"EventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbusoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusOptions")),") => ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Fires a new custom event of the specified name, carrying the provided\ndata."),(0,r.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,r.yg)("p",null,"Note that the default options are\n",(0,r.yg)("inlineCode",{parentName:"p"},"{ bubbles: true, cancelable: true }"),", which is different from the\ndefault values used in the native custom events\n(",(0,r.yg)("inlineCode",{parentName:"p"},"{ bubbles: false, cancelable: false }"),")."),(0,r.yg)("h5",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the event will be dispatched (e.g. element/document/window).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbusoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are ",(0,r.yg)("inlineCode",{parentName:"td"},"{ bubbles: true, cancelable: true }"),".")))),(0,r.yg)("h5",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This custom event bus."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Thrown if the provided event target cannot be used to\nfire the event."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"},"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L12"},"packages/react-page-renderer/src/hooks/component.ts:12")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"link"},"link"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"link"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"routeName"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"type-declaration-2"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"routeName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."),(0,r.yg)("h5",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"routeName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The unique name of the route, identifying the route to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Parameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.")))),(0,r.yg)("h5",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"An absolute URL for the specified route and parameters."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L11"},"packages/react-page-renderer/src/hooks/component.ts:11")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"listen"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"EventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener")),") => ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"type-declaration-3"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specific\ncustom event is fired by the same implementation of the event bus and\npasses through the specified event target."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."),(0,r.yg)("h5",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener should listen for the specified event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to listen for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")))),(0,r.yg)("h5",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L13"},"packages/react-page-renderer/src/hooks/component.ts:13")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"localize"},"localize"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"localize"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"key"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"never"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"parameters?"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#objectparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectParameters")),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"type-declaration-4"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"parameters?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Retrieves the localization phrase identified by the specified key,\nevaluates the phrase's placeholder expressions using the provided\nparameters and returns the result."),(0,r.yg)("h5",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"never")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The key identifying the localization phrase.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"parameters?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#objectparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"ObjectParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The map of parameter names to the parameter values to use. Defaults to an empty plain object.")))),(0,r.yg)("h5",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The specified localization phrase with its placeholders\nevaluated using the provided parameters."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L10"},"packages/react-page-renderer/src/hooks/component.ts:10")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"EventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener")),") => ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"type-declaration-5"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Removes the provided event listener from the set of event listeners\nexecuted when the specified custom event fired by the same\nimplementation passes through the specified event target."),(0,r.yg)("p",null,"The method has no effect if the listener is not registered for the\nspecified event at the specified event target."),(0,r.yg)("h5",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener is listening for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event listened for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")))),(0,r.yg)("h5",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L14"},"packages/react-page-renderer/src/hooks/component.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"utils"},"utils"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"utils"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L8"},"packages/react-page-renderer/src/hooks/component.ts:8")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/186.c1288e4d.js b/assets/js/492.30677ee8.js similarity index 57% rename from assets/js/186.c1288e4d.js rename to assets/js/492.30677ee8.js index 511b34e7e..0bd7a3feb 100644 --- a/assets/js/186.c1288e4d.js +++ b/assets/js/492.30677ee8.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[186],{186:(s,c,e)=>{e.r(c)}}]); \ No newline at end of file +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[492],{492:(s,c,e)=>{e.r(c)}}]); \ No newline at end of file diff --git a/assets/js/4a07765f.908c4c06.js b/assets/js/4a07765f.908c4c06.js deleted file mode 100644 index e4631e2fb..000000000 --- a/assets/js/4a07765f.908c4c06.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1603],{5680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>d});var i=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)t=a[i],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)t=a[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=i.createContext({}),c=function(e){var n=i.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=c(e.components);return i.createElement(o.Provider,{value:n},e.children)},g="mdxType",s={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},m=i.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),g=c(t),m=r,d=g["".concat(o,".").concat(m)]||g[m]||s[m]||a;return t?i.createElement(d,l(l({ref:n},u),{},{components:t})):i.createElement(d,l({ref:n},u))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,l=new Array(a);l[0]=m;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[g]="string"==typeof e?e:r,l[1]=p;for(var c=2;c<a;c++)l[c]=t[c];return i.createElement.apply(null,l)}return i.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5507:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>s,frontMatter:()=>a,metadata:()=>p,toc:()=>c});var i=t(8102),r=(t(6540),t(5680));const a={id:"ima_plugin_cli.Context",title:"Interface: Context",sidebar_label:"@ima/plugin-cli.Context",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_plugin_cli.Context",id:"api/interfaces/ima_plugin_cli.Context",title:"Interface: Context",description:"@ima/plugin-cli.Context",source:"@site/../docs/api/interfaces/ima_plugin_cli.Context.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_plugin_cli.Context",permalink:"/api/interfaces/ima_plugin_cli.Context",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_plugin_cli.Context",title:"Interface: Context",sidebar_label:"@ima/plugin-cli.Context",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/dev-utils.LoggerOptions",permalink:"/api/interfaces/ima_dev_utils.LoggerOptions"},next:{title:"@ima/plugin-cli.ImaPluginConfig",permalink:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"}},o={},c=[{value:"Properties",id:"properties",level:2},{value:"command",id:"command",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"config",id:"config",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"cwd",id:"cwd",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"inputDir",id:"inputdir",level:3},{value:"Defined in",id:"defined-in-3",level:4}],u={toc:c},g="wrapper";function s(e){let{components:n,...t}=e;return(0,r.yg)(g,(0,i.A)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli"},"@ima/plugin-cli"),".Context"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"command"},"command"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"command"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#command"},(0,r.yg)("inlineCode",{parentName:"a"},"Command"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L72"},"types.ts:72")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"config"},"config"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"config"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"ImaPluginConfig"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L74"},"types.ts:74")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cwd"},"cwd"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"cwd"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L73"},"types.ts:73")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"inputdir"},"inputDir"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"inputDir"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L75"},"types.ts:75")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4a35f728.a960871c.js b/assets/js/4a35f728.a960871c.js new file mode 100644 index 000000000..58c05c817 --- /dev/null +++ b/assets/js/4a35f728.a960871c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6333],{7297:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"api/@ima/react-page-renderer/index","title":"@ima/react-page-renderer","description":"Adds support for rendering pages with React for IMA@18 and higher. For legacy IMA@17 use page renderers included in core package.","source":"@site/../docs/api/@ima/react-page-renderer/index.md","sourceDirName":"api/@ima/react-page-renderer","slug":"/api/@ima/react-page-renderer/","permalink":"/api/@ima/react-page-renderer/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: nodeConfig","permalink":"/api/@ima/plugin-cli/variables/nodeConfig"},"next":{"title":"Class: abstract AbstractComponent\\\\<P, S, SS\\\\>","permalink":"/api/@ima/react-page-renderer/classes/AbstractComponent"}}');var t=n(2540),s=n(3023),i=n(3776),l=n(6052);const o={},c="@ima/react-page-renderer",u={},d=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"app/config/bind.js",id:"appconfigbindjs",level:3},{value:"app/config/settings.js",id:"appconfigsettingsjs",level:3},{value:"server/app.js",id:"serverappjs",level:3},{value:"Components",id:"components",level:3}];function p(e){const r={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"imareact-page-renderer",children:"@ima/react-page-renderer"})}),"\n",(0,t.jsx)(r.p,{children:"Adds support for rendering pages with React for IMA@18 and higher. For legacy IMA@17 use page renderers included in core package."}),"\n",(0,t.jsx)(r.h2,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,t.jsx)(l.A,{value:"npm",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-bash",children:"npm install @ima/react-page-renderer\n"})})}),(0,t.jsx)(l.A,{value:"yarn",label:"Yarn",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-bash",children:"yarn add @ima/react-page-renderer\n"})})}),(0,t.jsx)(l.A,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-bash",children:"pnpm add @ima/react-page-renderer\n"})})})]}),"\n",(0,t.jsx)(r.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(r.h3,{id:"appconfigbindjs",children:"app/config/bind.js"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-javascript",children:"import {\n defaultCssClasses as cssClassNameProcessor,\n PageRendererFactory,\n ServerPageRenderer,\n} from '@ima/react-page-renderer';\nimport { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';\n\nexport default (ns, oc, config) => {\n oc.bind('$CssClasses', function () {\n return cssClassNameProcessor;\n });\n\n oc.get(ComponentUtils).register({\n $CssClasses: '$CssClasses',\n });\n\n oc.inject(PageRendererFactory, [ComponentUtils]);\n oc.bind('$PageRendererFactory', PageRendererFactory);\n\n if (oc.get(Window).isClient()) {\n oc.provide(PageRenderer, ClientPageRenderer, [\n PageRendererFactory,\n '$Helper',\n '$Dispatcher',\n '$Settings',\n Window,\n ]);\n } else {\n oc.provide(PageRenderer, ServerPageRenderer, [\n PageRendererFactory,\n '$Helper',\n '$Dispatcher',\n '$Settings',\n Cache,\n ]);\n }\n oc.bind('$PageRenderer', PageRenderer);\n};\n"})}),"\n",(0,t.jsx)(r.p,{children:"If your app is using legacy React@17, use legacy client page renderer instead of the default one."}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-javascript",children:"import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/LegacyClientPageRenderer';\n"})}),"\n",(0,t.jsx)(r.h3,{id:"appconfigsettingsjs",children:"app/config/settings.js"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-javascript",children:"import DocumentView from 'app/document/DocumentView';\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n $Page: {\n $Render: {\n documentView: DocumentView,\n masterElementId: 'page',\n },\n },\n },\n };\n};\n"})}),"\n",(0,t.jsx)(r.h3,{id:"serverappjs",children:"server/app.js"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-javascript",children:"// You should already have this line in your file\nconst imaServer = require('@ima/server')();\n\nrequire('@ima/react-page-renderer/hook/server')(imaServer);\n"})}),"\n",(0,t.jsx)(r.h3,{id:"components",children:"Components"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-javascript",children:"import { AbstractComponent, AbstractPureComponent } from '@ima/react-page-renderer';\n\nexport default class MyComponent extends AbstractComponent {}\n"})})]})}function m(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},6052:(e,r,n)=>{n.d(r,{A:()=>i});n(3696);var a=n(2689);const t={tabItem:"tabItem_wHwb"};var s=n(2540);function i(e){let{children:r,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.A)(t.tabItem,i),hidden:n,children:r})}},3776:(e,r,n)=>{n.d(r,{A:()=>C});var a=n(3696),t=n(2689),s=n(3707),i=n(9519),l=n(3604),o=n(5196),c=n(6229),u=n(8030);function d(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:r,children:n}=e;return(0,a.useMemo)((()=>{const e=r??function(e){return d(e).map((e=>{let{props:{value:r,label:n,attributes:a,default:t}}=e;return{value:r,label:n,attributes:a,default:t}}))}(n);return function(e){const r=(0,c.XI)(e,((e,r)=>e.value===r.value));if(r.length>0)throw new Error(`Docusaurus error: Duplicate values "${r.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[r,n])}function m(e){let{value:r,tabValues:n}=e;return n.some((e=>e.value===r))}function g(e){let{queryString:r=!1,groupId:n}=e;const t=(0,i.W6)(),s=function(e){let{queryString:r=!1,groupId:n}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:r,groupId:n});return[(0,o.aZ)(s),(0,a.useCallback)((e=>{if(!s)return;const r=new URLSearchParams(t.location.search);r.set(s,e),t.replace({...t.location,search:r.toString()})}),[s,t])]}function h(e){const{defaultValue:r,queryString:n=!1,groupId:t}=e,s=p(e),[i,o]=(0,a.useState)((()=>function(e){let{defaultValue:r,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(r){if(!m({value:r,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:r,tabValues:s}))),[c,d]=g({queryString:n,groupId:t}),[h,f]=function(e){let{groupId:r}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(r),[t,s]=(0,u.Dv)(n);return[t,(0,a.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:t}),b=(()=>{const e=c??h;return m({value:e,tabValues:s})?e:null})();(0,l.A)((()=>{b&&o(b)}),[b]);return{selectedValue:i,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)}),[d,f,s]),tabValues:s}}var f=n(5200);const b={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var v=n(2540);function j(e){let{className:r,block:n,selectedValue:a,selectValue:i,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.a_)(),u=e=>{const r=e.currentTarget,n=o.indexOf(r),t=l[n].value;t!==a&&(c(r),i(t))},d=e=>{let r=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;r=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;r=o[n]??o[o.length-1];break}}r?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.A)("tabs",{"tabs--block":n},r),children:l.map((e=>{let{value:r,label:n,attributes:s}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:a===r?0:-1,"aria-selected":a===r,ref:e=>{o.push(e)},onKeyDown:d,onClick:u,...s,className:(0,t.A)("tabs__item",b.tabItem,s?.className,{"tabs__item--active":a===r}),children:n??r},r)}))})}function x(e){let{lazy:r,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(r){const e=i.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:(0,t.A)("margin-top--md",e.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,r)=>(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==s})))})}function y(e){const r=h(e);return(0,v.jsxs)("div",{className:(0,t.A)("tabs-container",b.tabList),children:[(0,v.jsx)(j,{...r,...e}),(0,v.jsx)(x,{...r,...e})]})}function C(e){const r=(0,f.A)();return(0,v.jsx)(y,{...e,children:d(e.children)},String(r))}},3023:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>l});var a=n(3696);const t={},s=a.createContext(t);function i(e){const r=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4c792d2e.4fbbc3f8.js b/assets/js/4c792d2e.4fbbc3f8.js new file mode 100644 index 000000000..ca0b74563 --- /dev/null +++ b/assets/js/4c792d2e.4fbbc3f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8317],{983:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useWindowEvent","title":"Function: useWindowEvent()","description":"Call Signature","source":"@site/../docs/api/@ima/react-page-renderer/functions/useWindowEvent.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useWindowEvent","permalink":"/api/@ima/react-page-renderer/functions/useWindowEvent","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useWindowEvent.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useSettings()","permalink":"/api/@ima/react-page-renderer/functions/useSettings"},"next":{"title":"@ima/react-page-renderer","permalink":"/api/@ima/react-page-renderer/globals"}}');var r=t(2540),i=t(3023);const d={},c="Function: useWindowEvent()",a={},l=[{value:"Call Signature",id:"call-signature",level:2},{value:"Type Parameters",id:"type-parameters",level:3},{value:"Parameters",id:"parameters",level:3},{value:"eventTarget",id:"eventtarget",level:4},{value:"event",id:"event",level:4},{value:"listener",id:"listener",level:4},{value:"useCapture?",id:"usecapture",level:4},{value:"Returns",id:"returns",level:3},{value:"Example",id:"example",level:3},{value:"Call Signature",id:"call-signature-1",level:2},{value:"Type Parameters",id:"type-parameters-1",level:3},{value:"Parameters",id:"parameters-1",level:3},{value:"eventTarget",id:"eventtarget-1",level:4},{value:"event",id:"event-1",level:4},{value:"listener",id:"listener-1",level:4},{value:"useCapture?",id:"usecapture-1",level:4},{value:"Returns",id:"returns-1",level:3},{value:"Example",id:"example-1",level:3}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"function-usewindowevent",children:"Function: useWindowEvent()"})}),"\n",(0,r.jsx)(n.h2,{id:"call-signature",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"useWindowEvent"}),"<",(0,r.jsx)(n.code,{children:"T"}),", ",(0,r.jsx)(n.code,{children:"K"}),">(",(0,r.jsx)(n.code,{children:"eventTarget"}),", ",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"useCapture"}),"?): ",(0,r.jsx)(n.code,{children:"useWindowEventType"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/windowEvent.ts#L50",children:"packages/react-page-renderer/src/hooks/windowEvent.ts:50"})]}),"\n",(0,r.jsx)(n.p,{children:"Hook for binding window events using IMA window API."}),"\n",(0,r.jsx)(n.h3,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.a,{href:"/api/@ima/core/type-aliases/WindowEventTargets",children:(0,r.jsx)(n.code,{children:"WindowEventTargets"})})]}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"K"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"string"})," | ",(0,r.jsx)(n.code,{children:"number"})," | ",(0,r.jsx)(n.code,{children:"symbol"})]}),"\n",(0,r.jsx)(n.h3,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h4,{id:"eventtarget",children:"eventTarget"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"T"})}),"\n",(0,r.jsx)(n.p,{children:"Optional event target, if left blank\nit defaults to current window (=> can be omitted in most use cases)."}),"\n",(0,r.jsx)(n.h4,{id:"event",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"K"})}),"\n",(0,r.jsx)(n.p,{children:"Event name."}),"\n",(0,r.jsx)(n.h4,{id:"listener",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:["(",(0,r.jsx)(n.code,{children:"event"}),") => ",(0,r.jsx)(n.code,{children:"void"})]}),"\n",(0,r.jsx)(n.h4,{id:"usecapture",children:"useCapture?"}),"\n",(0,r.jsx)(n.p,{children:"Use capture instead of bubbling (default)."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"boolean"})," | ",(0,r.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,r.jsx)(n.h3,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"useWindowEventType"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"window"})," object and utility methods."]}),"\n",(0,r.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"// Using window as event target\nconst { dispatchEvent, createCustomEvent } = useWindowEvent(\n window,\n 'custom-event',\n () => windowEventCallback(a, b)\n);\n\n// Using custom event target\nconst { dispatchEvent } = useWindowEvent(\n\twindow.getElementById('page'),\n\t'click',\n\t() => windowEventCallback(a, b),\n\tfalse,\n);\n\n// Dispatching custom event\nuseEffect(() => {\n\tdispatchEvent(\n\t\tcreateCustomEvent('custom-event'),\n\t\t{ data: {} }\n\t);\n});\n"})}),"\n",(0,r.jsx)(n.h2,{id:"call-signature-1",children:"Call Signature"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"useWindowEvent"}),"<",(0,r.jsx)(n.code,{children:"T"}),", ",(0,r.jsx)(n.code,{children:"E"}),">(",(0,r.jsx)(n.code,{children:"eventTarget"}),", ",(0,r.jsx)(n.code,{children:"event"}),", ",(0,r.jsx)(n.code,{children:"listener"}),", ",(0,r.jsx)(n.code,{children:"useCapture"}),"?): ",(0,r.jsx)(n.code,{children:"useWindowEventType"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/windowEvent.ts#L59",children:"packages/react-page-renderer/src/hooks/windowEvent.ts:59"})]}),"\n",(0,r.jsx)(n.p,{children:"Hook for binding window events using IMA window API."}),"\n",(0,r.jsx)(n.h3,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"EventTarget"})]}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"E"})," ",(0,r.jsx)(n.em,{children:"extends"})," ",(0,r.jsx)(n.code,{children:"Event"})," = ",(0,r.jsx)(n.code,{children:"Event"})]}),"\n",(0,r.jsx)(n.h3,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(n.h4,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"T"})}),"\n",(0,r.jsx)(n.p,{children:"Optional event target, if left blank\nit defaults to current window (=> can be omitted in most use cases)."}),"\n",(0,r.jsx)(n.h4,{id:"event-1",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Event name."}),"\n",(0,r.jsx)(n.h4,{id:"listener-1",children:"listener"}),"\n",(0,r.jsxs)(n.p,{children:["(",(0,r.jsx)(n.code,{children:"event"}),") => ",(0,r.jsx)(n.code,{children:"void"})]}),"\n",(0,r.jsx)(n.h4,{id:"usecapture-1",children:"useCapture?"}),"\n",(0,r.jsx)(n.p,{children:"Use capture instead of bubbling (default)."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"boolean"})," | ",(0,r.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,r.jsx)(n.h3,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"useWindowEventType"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"window"})," object and utility methods."]}),"\n",(0,r.jsx)(n.h3,{id:"example-1",children:"Example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"// Using window as event target\nconst { dispatchEvent, createCustomEvent } = useWindowEvent(\n window,\n 'custom-event',\n () => windowEventCallback(a, b)\n);\n\n// Using custom event target\nconst { dispatchEvent } = useWindowEvent(\n\twindow.getElementById('page'),\n\t'click',\n\t() => windowEventCallback(a, b),\n\tfalse,\n);\n\n// Dispatching custom event\nuseEffect(() => {\n\tdispatchEvent(\n\t\tcreateCustomEvent('custom-event'),\n\t\t{ data: {} }\n\t);\n});\n"})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>d,x:()=>c});var s=t(3696);const r={},i=s.createContext(r);function d(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cabad03.78436b0f.js b/assets/js/4cabad03.78436b0f.js deleted file mode 100644 index 0bff219eb..000000000 --- a/assets/js/4cabad03.78436b0f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3097],{5680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>d});var i=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,i,a=function(e,n){if(null==e)return{};var t,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=i.createContext({}),p=function(e){var n=i.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},g=function(e){var n=p(e.components);return i.createElement(l.Provider,{value:n},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},m=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,g=s(e,["components","mdxType","originalType","parentName"]),u=p(t),m=a,d=u["".concat(l,".").concat(m)]||u[m]||c[m]||r;return t?i.createElement(d,o(o({ref:n},g),{},{components:t})):i.createElement(d,o({ref:n},g))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,o=new Array(r);o[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[u]="string"==typeof e?e:a,o[1]=s;for(var p=2;p<r;p++)o[p]=t[p];return i.createElement.apply(null,o)}return i.createElement.apply(null,t)}m.displayName="MDXCreateElement"},9729:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var i=t(8102),a=(t(6540),t(5680));const r={title:"Plugins API",description:"Plugins > Plugins API"},o=void 0,s={unversionedId:"plugins/plugin-api",id:"plugins/plugin-api",title:"Plugins API",description:"Plugins > Plugins API",source:"@site/../docs/plugins/plugin-api.md",sourceDirName:"plugins",slug:"/plugins/plugin-api",permalink:"/plugins/plugin-api",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/plugins/plugin-api.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Plugins API",description:"Plugins > Plugins API"},sidebar:"docs",previous:{title:"LESS Constants Plugin",permalink:"/cli/plugins/less-constants-plugin"},next:{title:"Existing plugins",permalink:"/plugins/available-plugins"}},l={},p=[{value:"Plugin registration",id:"plugin-registration",level:2},{value:"Plugin bootstrap functions",id:"plugin-bootstrap-functions",level:3},{value:"initBind",id:"initbind",level:4},{value:"initServices",id:"initservices",level:4},{value:"initSettings",id:"initsettings",level:4},{value:"Examples",id:"examples",level:3},{value:"Dynamically imported plugins and tree shaking",id:"dynamically-imported-plugins-and-tree-shaking",level:2},{value:"Conclusion",id:"conclusion",level:2}],g={toc:p},u="wrapper";function c(e){let{components:n,...t}=e;return(0,a.yg)(u,(0,i.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"IMA.js development stack offers ",(0,a.yg)("strong",{parentName:"p"},"built-in support for plugins"),". Writing plugins for IMA.js is really\nsimple. It basically comes to creating an ordinary npm package and using ",(0,a.yg)("inlineCode",{parentName:"p"},"pluginLoader.register")," method to hook into IMA.js application environment using certain functions."),(0,a.yg)("admonition",{type:"info"},(0,a.yg)("p",{parentName:"admonition"},"In situations where you don't need to hook into IMA.js app environment from within your plugin (you're for example just exporting some interface), you don't need call this registration method as it servers no purpose.")),(0,a.yg)("h2",{id:"plugin-registration"},"Plugin registration"),(0,a.yg)("p",null,"As mentioned above, the plugin registration is done from within your ",(0,a.yg)("strong",{parentName:"p"},"npm package entry point")," using ",(0,a.yg)("inlineCode",{parentName:"p"},"pluginLoader.register")," method:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { pluginLoader } from '@ima/core';\nimport Service from './service';\n\npluginLoader.register('my-ima-plugin', ns => {\n ns.set('my.ima.plugin.Service', Service);\n});\n")),(0,a.yg)("p",null,"The ",(0,a.yg)("inlineCode",{parentName:"p"},"register")," method expects 2 arguments, first is ",(0,a.yg)("strong",{parentName:"p"},"name of your plugin")," (this is used strictly for debugging purposes, however it is required) and ",(0,a.yg)("strong",{parentName:"p"},"callback registration function")," which receives ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#ns"},(0,a.yg)("inlineCode",{parentName:"a"},"Namespace"))," as one and only argument, that you can use to specify to which namespace this plugin should be bound."),(0,a.yg)("h3",{id:"plugin-bootstrap-functions"},"Plugin bootstrap functions"),(0,a.yg)("p",null,"The registration function can additionally ",(0,a.yg)("strong",{parentName:"p"},"return an object with additional callback functions"),". These allow you to further bootstrap your plugin. All are however optional, meaning you can define any combination of these or don't return anything."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { pluginLoader } from '@ima/core';\n\npluginLoader.register('my-ima-plugin', ns => {\n return {\n initBind: (ns, oc, config) => {},\n initServices: (ns, oc, config) => {},\n initSettings: (ns, oc, config) => {}\n }\n});\n")),(0,a.yg)("h4",{id:"initbind"},"initBind"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"initBind(ns: Namespace, oc: ObjectContainer, config: Config['bind'], isDynamicallyLoaded = false)"))),(0,a.yg)("p",null,"This function has the same interface as a function exported in ",(0,a.yg)("inlineCode",{parentName:"p"},"bind.js")," of your IMA.js application and also serves the same purpose. This is the place where you would want to initialize your custom constants and bindings and assign them to the ",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container"},(0,a.yg)("inlineCode",{parentName:"a"},"ObjectContainer")),"."),(0,a.yg)("h4",{id:"initservices"},"initServices"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"initServices(ns: Namespace, oc: ObjectContainer, config: Config['services'], isDynamicallyLoaded = false)"))),(0,a.yg)("p",null,"Similarly to ",(0,a.yg)("inlineCode",{parentName:"p"},"initBind"),", this is equivalent to a function exported by ",(0,a.yg)("inlineCode",{parentName:"p"},"services.js")," file in your application."),(0,a.yg)("h4",{id:"initsettings"},"initSettings"),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("inlineCode",{parentName:"p"},"initSettings(ns: Namespace, oc: ObjectContainer, config: Config['settings'], isDynamicallyLoaded = false)"))),(0,a.yg)("p",null,"You can probably already see the pattern here. This function should return an object with settings, with the same structure as function in ",(0,a.yg)("inlineCode",{parentName:"p"},"settings.js")," file does."),(0,a.yg)("p",null,"These settings are then ",(0,a.yg)("strong",{parentName:"p"},"merged with your application settings")," a possible conflicts are overridden with the application settings. This allows you to ",(0,a.yg)("strong",{parentName:"p"},"define defaults for your plugin"),", which can be easily overridden in your application."),(0,a.yg)("h3",{id:"examples"},"Examples"),(0,a.yg)("p",null,"Putting it all together, your main file in your npm package could look something like this (borrowing contents of ",(0,a.yg)("inlineCode",{parentName:"p"},"main.js")," from our ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-plugins/blob/master/packages/plugin-useragent/README.md"},"@ima/plugin-useragent"),":"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { pluginLoader } from '@ima/core';\nimport PlatformJS from 'platform';\n\nimport UserAgent from './AbstractUserAgent.js';\nimport ClientUserAgent from './ClientUserAgent.js';\nimport ServerUserAgent from './ServerUserAgent.js';\n\npluginLoader.register('@ima/plugin-useragent', () => {\n return {\n initBind: (ns, oc) => {\n if (oc.get('$Window').isClient()) {\n oc.provide(UserAgent, ClientUserAgent, [PlatformJS, '$Window']);\n } else {\n oc.provide(UserAgent, ServerUserAgent, [PlatformJS, '$Request']);\n }\n },\n initServices: (ns, oc) => {\n oc.get(UserAgent).init();\n },\n };\n});\n\nexport { ClientUserAgent, ServerUserAgent, UserAgent, PlatformJS };\n")),(0,a.yg)("h2",{id:"dynamically-imported-plugins-and-tree-shaking"},"Dynamically imported plugins and tree shaking"),(0,a.yg)("p",null,"When the plugin is imported dynamically and initialized lazily, you receive ",(0,a.yg)("inlineCode",{parentName:"p"},"isDynamicallyLoaded = true")," as the last argument in the registration bootstrap functions. This can help you in certain situations where you need to know when the plugin was initialized."),(0,a.yg)("p",null,"The bootstrap process works the same way as with plugins initialized upon application startup, meaning all plugin settings are still overwritten with possible overrides in the application settings. There's however one caveat with the ",(0,a.yg)("inlineCode",{parentName:"p"},"ObjectContainer")," that you need to pay attention to."),(0,a.yg)("admonition",{type:"warning"},(0,a.yg)("p",{parentName:"admonition"},"When using ",(0,a.yg)("strong",{parentName:"p"},"string syntax")," to get certain settings in the ",(0,a.yg)("inlineCode",{parentName:"p"},"$dependencies")," field:"),(0,a.yg)("pre",{parentName:"admonition"},(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"static get $dependencies() {\n return ['$Settings.myPlugin.repeatCount'];\n};\n\nconstructor(repeatCount) {\n this.repeatCount = repeatCount;\n}\n\nfn() {\n this.repeatXTimes(this.repeatCount);\n}\n")),(0,a.yg)("p",{parentName:"admonition"},"This w",(0,a.yg)("strong",{parentName:"p"},"on't be updated")," with possible plugin defaults when it get's loaded. In order to prevent this issue, you need to access whole settings object which will get updated values:"),(0,a.yg)("pre",{parentName:"admonition"},(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"static get $dependencies() {\n return ['$Settings'];\n};\n\nmyFUnction(settings) {\n this.settings = settings;\n}\n\nfn() {\n this.repeatXTimes(settings?.myPlugin?.repeatCount);\n}\n"))),(0,a.yg)("h2",{id:"conclusion"},"Conclusion"),(0,a.yg)("p",null,"As you can see, creating IMA.js plugin is very easy. You can always check our\n",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-plugins/tree/master"},"IMA.js-plugins")," monorepo to take a look at many other already\nexisting plugins and how they're implemented, which we describe more in detail ",(0,a.yg)("a",{parentName:"p",href:"./available-plugins"},"in the documentation"),"."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4cabad03.8962443e.js b/assets/js/4cabad03.8962443e.js new file mode 100644 index 000000000..96efa5b47 --- /dev/null +++ b/assets/js/4cabad03.8962443e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3097],{9091:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"plugins/plugin-api","title":"Plugins API","description":"Plugins > Plugins API","source":"@site/../docs/plugins/plugin-api.md","sourceDirName":"plugins","slug":"/plugins/plugin-api","permalink":"/plugins/plugin-api","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/plugins/plugin-api.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Plugins API","description":"Plugins > Plugins API"},"sidebar":"docs","previous":{"title":"LESS Constants Plugin","permalink":"/cli/plugins/less-constants-plugin"},"next":{"title":"Existing plugins","permalink":"/plugins/available-plugins"}}');var s=i(2540),r=i(3023);const o={title:"Plugins API",description:"Plugins > Plugins API"},a=void 0,l={},c=[{value:"Plugin registration",id:"plugin-registration",level:2},{value:"Plugin bootstrap functions",id:"plugin-bootstrap-functions",level:3},{value:"initBind",id:"initbind",level:4},{value:"initServices",id:"initservices",level:4},{value:"initSettings",id:"initsettings",level:4},{value:"Examples",id:"examples",level:3},{value:"Dynamically imported plugins and tree shaking",id:"dynamically-imported-plugins-and-tree-shaking",level:2},{value:"Conclusion",id:"conclusion",level:2}];function d(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["IMA.js development stack offers ",(0,s.jsx)(n.strong,{children:"built-in support for plugins"}),". Writing plugins for IMA.js is really\nsimple. It basically comes to creating an ordinary npm package and using ",(0,s.jsx)(n.code,{children:"pluginLoader.register"})," method to hook into IMA.js application environment using certain functions."]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"In situations where you don't need to hook into IMA.js app environment from within your plugin (you're for example just exporting some interface), you don't need call this registration method as it servers no purpose."})}),"\n",(0,s.jsx)(n.h2,{id:"plugin-registration",children:"Plugin registration"}),"\n",(0,s.jsxs)(n.p,{children:["As mentioned above, the plugin registration is done from within your ",(0,s.jsx)(n.strong,{children:"npm package entry point"})," using ",(0,s.jsx)(n.code,{children:"pluginLoader.register"})," method:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"import { pluginLoader } from '@ima/core';\nimport Service from './service';\n\npluginLoader.register('my-ima-plugin', ns => {\n ns.set('my.ima.plugin.Service', Service);\n});\n"})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"register"})," method expects 2 arguments, first is ",(0,s.jsx)(n.strong,{children:"name of your plugin"})," (this is used strictly for debugging purposes, however it is required) and ",(0,s.jsx)(n.strong,{children:"callback registration function"})," which receives ",(0,s.jsx)(n.a,{href:"../api/modules/ima_core.md#ns",children:(0,s.jsx)(n.code,{children:"Namespace"})})," as one and only argument, that you can use to specify to which namespace this plugin should be bound."]}),"\n",(0,s.jsx)(n.h3,{id:"plugin-bootstrap-functions",children:"Plugin bootstrap functions"}),"\n",(0,s.jsxs)(n.p,{children:["The registration function can additionally ",(0,s.jsx)(n.strong,{children:"return an object with additional callback functions"}),". These allow you to further bootstrap your plugin. All are however optional, meaning you can define any combination of these or don't return anything."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"import { pluginLoader } from '@ima/core';\n\npluginLoader.register('my-ima-plugin', ns => {\n return {\n initBind: (ns, oc, config) => {},\n initServices: (ns, oc, config) => {},\n initSettings: (ns, oc, config) => {}\n }\n});\n"})}),"\n",(0,s.jsx)(n.h4,{id:"initbind",children:"initBind"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"initBind(ns: Namespace, oc: ObjectContainer, config: Config['bind'], isDynamicallyLoaded = false)"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["This function has the same interface as a function exported in ",(0,s.jsx)(n.code,{children:"bind.js"})," of your IMA.js application and also serves the same purpose. This is the place where you would want to initialize your custom constants and bindings and assign them to the ",(0,s.jsx)(n.a,{href:"/basic-features/object-container",children:(0,s.jsx)(n.code,{children:"ObjectContainer"})}),"."]}),"\n",(0,s.jsx)(n.h4,{id:"initservices",children:"initServices"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"initServices(ns: Namespace, oc: ObjectContainer, config: Config['services'], isDynamicallyLoaded = false)"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Similarly to ",(0,s.jsx)(n.code,{children:"initBind"}),", this is equivalent to a function exported by ",(0,s.jsx)(n.code,{children:"services.js"})," file in your application."]}),"\n",(0,s.jsx)(n.h4,{id:"initsettings",children:"initSettings"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"initSettings(ns: Namespace, oc: ObjectContainer, config: Config['settings'], isDynamicallyLoaded = false)"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can probably already see the pattern here. This function should return an object with settings, with the same structure as function in ",(0,s.jsx)(n.code,{children:"settings.js"})," file does."]}),"\n",(0,s.jsxs)(n.p,{children:["These settings are then ",(0,s.jsx)(n.strong,{children:"merged with your application settings"})," a possible conflicts are overridden with the application settings. This allows you to ",(0,s.jsx)(n.strong,{children:"define defaults for your plugin"}),", which can be easily overridden in your application."]}),"\n",(0,s.jsx)(n.h3,{id:"examples",children:"Examples"}),"\n",(0,s.jsxs)(n.p,{children:["Putting it all together, your main file in your npm package could look something like this (borrowing contents of ",(0,s.jsx)(n.code,{children:"main.js"})," from our ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-plugins/blob/master/packages/plugin-useragent/README.md",children:"@ima/plugin-useragent"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"import { pluginLoader } from '@ima/core';\nimport PlatformJS from 'platform';\n\nimport UserAgent from './AbstractUserAgent.js';\nimport ClientUserAgent from './ClientUserAgent.js';\nimport ServerUserAgent from './ServerUserAgent.js';\n\npluginLoader.register('@ima/plugin-useragent', () => {\n return {\n initBind: (ns, oc) => {\n if (oc.get('$Window').isClient()) {\n oc.provide(UserAgent, ClientUserAgent, [PlatformJS, '$Window']);\n } else {\n oc.provide(UserAgent, ServerUserAgent, [PlatformJS, '$Request']);\n }\n },\n initServices: (ns, oc) => {\n oc.get(UserAgent).init();\n },\n };\n});\n\nexport { ClientUserAgent, ServerUserAgent, UserAgent, PlatformJS };\n"})}),"\n",(0,s.jsx)(n.h2,{id:"dynamically-imported-plugins-and-tree-shaking",children:"Dynamically imported plugins and tree shaking"}),"\n",(0,s.jsxs)(n.p,{children:["When the plugin is imported dynamically and initialized lazily, you receive ",(0,s.jsx)(n.code,{children:"isDynamicallyLoaded = true"})," as the last argument in the registration bootstrap functions. This can help you in certain situations where you need to know when the plugin was initialized."]}),"\n",(0,s.jsxs)(n.p,{children:["The bootstrap process works the same way as with plugins initialized upon application startup, meaning all plugin settings are still overwritten with possible overrides in the application settings. There's however one caveat with the ",(0,s.jsx)(n.code,{children:"ObjectContainer"})," that you need to pay attention to."]}),"\n",(0,s.jsxs)(n.admonition,{type:"warning",children:[(0,s.jsxs)(n.p,{children:["When using ",(0,s.jsx)(n.strong,{children:"string syntax"})," to get certain settings in the ",(0,s.jsx)(n.code,{children:"$dependencies"})," field:"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"static get $dependencies() {\n return ['$Settings.myPlugin.repeatCount'];\n};\n\nconstructor(repeatCount) {\n this.repeatCount = repeatCount;\n}\n\nfn() {\n this.repeatXTimes(this.repeatCount);\n}\n"})}),(0,s.jsxs)(n.p,{children:["This w",(0,s.jsx)(n.strong,{children:"on't be updated"})," with possible plugin defaults when it get's loaded. In order to prevent this issue, you need to access whole settings object which will get updated values:"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"static get $dependencies() {\n return ['$Settings'];\n};\n\nmyFUnction(settings) {\n this.settings = settings;\n}\n\nfn() {\n this.repeatXTimes(settings?.myPlugin?.repeatCount);\n}\n"})})]}),"\n",(0,s.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsxs)(n.p,{children:["As you can see, creating IMA.js plugin is very easy. You can always check our\n",(0,s.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master",children:"IMA.js-plugins"})," monorepo to take a look at many other already\nexisting plugins and how they're implemented, which we describe more in detail ",(0,s.jsx)(n.a,{href:"./available-plugins",children:"in the documentation"}),"."]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>a});var t=i(3696);const s={},r=t.createContext(s);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cfd18d6.b4aaf758.js b/assets/js/4cfd18d6.b4aaf758.js new file mode 100644 index 000000000..2da8f780d --- /dev/null +++ b/assets/js/4cfd18d6.b4aaf758.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8139],{2321:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/type-aliases/HttpAgentResponse","title":"Type Alias: HttpAgentResponse\\\\<B\\\\>","description":"HttpAgentResponse\\\\: object","source":"@site/../docs/api/@ima/core/type-aliases/HttpAgentResponse.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/HttpAgentResponse","permalink":"/api/@ima/core/type-aliases/HttpAgentResponse","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/HttpAgentResponse.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: GenericErrorParams","permalink":"/api/@ima/core/type-aliases/GenericErrorParams"},"next":{"title":"Type Alias: HttpProxyErrorParams\\\\<B\\\\>","permalink":"/api/@ima/core/type-aliases/HttpProxyErrorParams"}}');var r=t(2540),a=t(3023);const i={},c="Type Alias: HttpAgentResponse<B>",o={},d=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Type declaration",id:"type-declaration",level:2},{value:"body",id:"body",level:3},{value:"cached",id:"cached",level:3},{value:"headers",id:"headers",level:3},{value:"headersRaw?",id:"headersraw",level:3},{value:"params",id:"params",level:3},{value:"status",id:"status",level:3}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"type-alias-httpagentresponseb",children:"Type Alias: HttpAgentResponse<B>"})}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"HttpAgentResponse"}),"<",(0,r.jsx)(s.code,{children:"B"}),">: ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L55",children:"packages/core/src/http/HttpAgent.ts:55"})]}),"\n",(0,r.jsx)(s.p,{children:"A response from the server."}),"\n",(0,r.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"B"})]}),"\n",(0,r.jsx)(s.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,r.jsx)(s.h3,{id:"body",children:"body"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"body"}),": ",(0,r.jsx)(s.code,{children:"B"})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"cached",children:"cached"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"cached"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"headers",children:"headers"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"headers"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,r.jsx)(s.code,{children:"StringParameters"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"headersraw",children:"headersRaw?"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"optional"})," ",(0,r.jsx)(s.strong,{children:"headersRaw"}),": ",(0,r.jsx)(s.code,{children:"Headers"})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"params",children:"params"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"params"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,r.jsx)(s.code,{children:"HttpProxyRequestParams"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"status",children:"status"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"status"}),": ",(0,r.jsx)(s.code,{children:"number"})]}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>c});var n=t(3696);const r={},a=n.createContext(r);function i(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4d54b06c.da3756a7.js b/assets/js/4d54b06c.da3756a7.js new file mode 100644 index 000000000..b778d0523 --- /dev/null +++ b/assets/js/4d54b06c.da3756a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[371],{2458:(e,s,a)=>{a.r(s),a.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>t,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/classes/Namespace","title":"Class: Namespace","description":"Defined in7","source":"@site/../docs/api/@ima/core/classes/Namespace.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Namespace","permalink":"/api/@ima/core/classes/Namespace","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Namespace.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: MetaManagerImpl","permalink":"/api/@ima/core/classes/MetaManagerImpl"},"next":{"title":"Class: ObjectContainer","permalink":"/api/@ima/core/classes/ObjectContainer"}}');var r=a(2540),c=a(3023);const t={},i="Class: Namespace",l={},d=[{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Namespace()",id:"new-namespace",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"get()",id:"get",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"path",id:"path",level:5},{value:"Returns",id:"returns-1",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"path",id:"path-1",level:5},{value:"Returns",id:"returns-2",level:4},{value:"namespace()",id:"namespace",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"path",id:"path-2",level:5},{value:"Returns",id:"returns-3",level:4},{value:"set()",id:"set",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"path",id:"path-3",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-4",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"class-namespace",children:"Class: Namespace"})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L7",children:"packages/core/src/Namespace.ts:7"})]}),"\n",(0,r.jsx)(s.p,{children:"Namespace creation, manipulation and traversal utility. This utility is used\nto create semi-global shared namespaces for registering references to\ninterfaces, classes and constants of the application to provide access to\neach other more easily than by using the ES6 import/export mechanism."}),"\n",(0,r.jsx)(s.h2,{id:"indexable",children:"Indexable"}),"\n",(0,r.jsxs)(s.p,{children:["[",(0,r.jsx)(s.code,{children:"key"}),": ",(0,r.jsx)(s.code,{children:"string"})," | ",(0,r.jsx)(s.code,{children:"number"})," | ",(0,r.jsx)(s.code,{children:"symbol"}),"]: ",(0,r.jsx)(s.code,{children:"any"})]}),"\n",(0,r.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(s.h3,{id:"new-namespace",children:"new Namespace()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"new Namespace"}),"(): ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Namespace",children:(0,r.jsx)(s.code,{children:"Namespace"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Namespace",children:(0,r.jsx)(s.code,{children:"Namespace"})})}),"\n",(0,r.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"get"}),"<",(0,r.jsx)(s.code,{children:"V"}),">(",(0,r.jsx)(s.code,{children:"path"}),"): ",(0,r.jsx)(s.code,{children:"undefined"})," | ",(0,r.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L77",children:"packages/core/src/Namespace.ts:77"})]}),"\n",(0,r.jsx)(s.p,{children:"Return value for the specified namespace path point or undefined if path is not type of string"}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"V"})," = ",(0,r.jsx)(s.code,{children:"any"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"path",children:"path"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The namespace path to get."}),"\n",(0,r.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"undefined"})," | ",(0,r.jsx)(s.code,{children:"V"})]}),"\n",(0,r.jsx)(s.p,{children:"The value at the specified path in the namespace or undefined for any non-string path"}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"has"}),"(",(0,r.jsx)(s.code,{children:"path"}),"): ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L60",children:"packages/core/src/Namespace.ts:60"})]}),"\n",(0,r.jsx)(s.p,{children:"Verifies that the specified namespace path point to an existing\nnamespace or terminal value."}),"\n",(0,r.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"path-1",children:"path"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The namespace path to test."}),"\n",(0,r.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"boolean"})}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"true"})," if the namespace or terminal value exists\nat the specified path."]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"namespace",children:"namespace()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"namespace"}),"<",(0,r.jsx)(s.code,{children:"V"}),">(",(0,r.jsx)(s.code,{children:"path"}),"): ",(0,r.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L36",children:"packages/core/src/Namespace.ts:36"})]}),"\n",(0,r.jsx)(s.p,{children:"Verifies that the specified path in namespace exists, creates it if it\ndoes not, and returns the value at the specified path in the namespace."}),"\n",(0,r.jsx)(s.p,{children:"The method recursively creates all path parts in the namespaces as empty\nplain objects for all path parts that do not exist yet, including the\nlast one. This means, that if called with a non-existing namespace path\nas an argument, the return value will be the last created namespace\nobject."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"V"})," = ",(0,r.jsx)(s.code,{children:"any"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"path-2",children:"path"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The namespace path."}),"\n",(0,r.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"V"})}),"\n",(0,r.jsx)(s.p,{children:"The value at the specified path in the namespace."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"set"}),"<",(0,r.jsx)(s.code,{children:"V"}),">(",(0,r.jsx)(s.code,{children:"path"}),", ",(0,r.jsx)(s.code,{children:"value"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L99",children:"packages/core/src/Namespace.ts:99"})]}),"\n",(0,r.jsx)(s.p,{children:"Set value for the specified namespace path point."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"V"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"path-3",children:"path"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The namespace path to set."}),"\n",(0,r.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"V"})}),"\n",(0,r.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})})]})}function p(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},3023:(e,s,a)=>{a.d(s,{R:()=>t,x:()=>i});var n=a(3696);const r={},c=n.createContext(r);function t(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4d5af51b.06a034a5.js b/assets/js/4d5af51b.06a034a5.js deleted file mode 100644 index 1304839f4..000000000 --- a/assets/js/4d5af51b.06a034a5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2183],{5680:(e,n,a)=>{a.d(n,{xA:()=>m,yg:()=>u});var i=a(6540);function t(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,i)}return a}function l(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){t(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function p(e,n){if(null==e)return{};var a,i,t=function(e,n){if(null==e)return{};var a,i,t={},r=Object.keys(e);for(i=0;i<r.length;i++)a=r[i],n.indexOf(a)>=0||(t[a]=e[a]);return t}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)a=r[i],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(t[a]=e[a])}return t}var o=i.createContext({}),g=function(e){var n=i.useContext(o),a=n;return e&&(a="function"==typeof e?e(n):l(l({},n),e)),a},m=function(e){var n=g(e.components);return i.createElement(o.Provider,{value:n},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},y=i.forwardRef((function(e,n){var a=e.components,t=e.mdxType,r=e.originalType,o=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),s=g(a),y=t,u=s["".concat(o,".").concat(y)]||s[y]||d[y]||r;return a?i.createElement(u,l(l({ref:n},m),{},{components:a})):i.createElement(u,l({ref:n},m))}));function u(e,n){var a=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var r=a.length,l=new Array(r);l[0]=y;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[s]="string"==typeof e?e:t,l[1]=p;for(var g=2;g<r;g++)l[g]=a[g];return i.createElement.apply(null,l)}return i.createElement.apply(null,a)}y.displayName="MDXCreateElement"},1257:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>p,toc:()=>g});var i=a(8102),t=(a(6540),a(5680));const r={id:"ima_plugin_cli",title:"Module: @ima/plugin-cli",sidebar_label:"@ima/plugin-cli",sidebar_position:0,custom_edit_url:null},l=void 0,p={unversionedId:"api/modules/ima_plugin_cli",id:"api/modules/ima_plugin_cli",title:"Module: @ima/plugin-cli",description:"Interfaces",source:"@site/../docs/api/modules/ima_plugin_cli.md",sourceDirName:"api/modules",slug:"/api/modules/ima_plugin_cli",permalink:"/api/modules/ima_plugin_cli",draft:!1,editUrl:null,tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"ima_plugin_cli",title:"Module: @ima/plugin-cli",sidebar_label:"@ima/plugin-cli",sidebar_position:0,custom_edit_url:null},sidebar:"api",previous:{title:"@ima/dev-utils",permalink:"/api/modules/ima_dev_utils"},next:{title:"@ima/react-page-renderer",permalink:"/api/modules/ima_react_page_renderer"}},o={},g=[{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Command",id:"command",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Plugin",id:"plugin",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"Transformer",id:"transformer",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Defined in",id:"defined-in-2",level:4},{value:"TransformerOptions",id:"transformeroptions",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Variables",id:"variables",level:2},{value:"clientServerConfig",id:"clientserverconfig",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"defaultConfig",id:"defaultconfig",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"nodeConfig",id:"nodeconfig",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"Functions",id:"functions",level:2},{value:"preprocessTransformer",id:"preprocesstransformer",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"swcTransformer",id:"swctransformer",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"typescriptDeclarationsPlugin",id:"typescriptdeclarationsplugin",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-9",level:4}],m={toc:g},s="wrapper";function d(e){let{components:n,...a}=e;return(0,t.yg)(s,(0,i.A)({},m,a,{components:n,mdxType:"MDXLayout"}),(0,t.yg)("h2",{id:"interfaces"},"Interfaces"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("a",{parentName:"li",href:"/api/interfaces/ima_plugin_cli.Context"},"Context")),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("a",{parentName:"li",href:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},"ImaPluginConfig")),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("a",{parentName:"li",href:"/api/interfaces/ima_plugin_cli.PipeContext"},"PipeContext")),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("a",{parentName:"li",href:"/api/interfaces/ima_plugin_cli.Source"},"Source"))),(0,t.yg)("h2",{id:"type-aliases"},"Type Aliases"),(0,t.yg)("h3",{id:"command"},"Command"),(0,t.yg)("p",null,"\u01ac ",(0,t.yg)("strong",{parentName:"p"},"Command"),": ",(0,t.yg)("inlineCode",{parentName:"p"},'"dev"')," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"link"')," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},'"build"')),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L16"},"types.ts:16")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"plugin"},"Plugin"),(0,t.yg)("p",null,"\u01ac ",(0,t.yg)("strong",{parentName:"p"},"Plugin"),": (",(0,t.yg)("inlineCode",{parentName:"p"},"context"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Context"},(0,t.yg)("inlineCode",{parentName:"a"},"Context")),") => ",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,t.yg)("p",null,"\u25b8 (",(0,t.yg)("inlineCode",{parentName:"p"},"context"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h5",{id:"parameters"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"context")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_plugin_cli.Context"},(0,t.yg)("inlineCode",{parentName:"a"},"Context")))))),(0,t.yg)("h5",{id:"returns"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L69"},"types.ts:69")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"transformer"},"Transformer"),(0,t.yg)("p",null,"\u01ac ",(0,t.yg)("strong",{parentName:"p"},"Transformer"),": (",(0,t.yg)("inlineCode",{parentName:"p"},"{\n source,\n context,\n}"),": ","{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"context"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.PipeContext"},(0,t.yg)("inlineCode",{parentName:"a"},"PipeContext"))," ; ",(0,t.yg)("inlineCode",{parentName:"p"},"source"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source"))," }) => ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source"))," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source")),">"),(0,t.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,t.yg)("p",null,"\u25b8 (",(0,t.yg)("inlineCode",{parentName:"p"},"{\n source,\n context,\n}"),"): ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source"))," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source")),">"),(0,t.yg)("h5",{id:"parameters-1"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type")))),(0,t.yg)("p",null,"| ",(0,t.yg)("inlineCode",{parentName:"p"},"{\n source,\n context,\n}")," | ",(0,t.yg)("inlineCode",{parentName:"p"},"Object")," |\n| ",(0,t.yg)("inlineCode",{parentName:"p"},"{\n source,\n context,\n}.context")," | ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.PipeContext"},(0,t.yg)("inlineCode",{parentName:"a"},"PipeContext"))," |\n| ",(0,t.yg)("inlineCode",{parentName:"p"},"{\n source,\n context,\n}.source")," | ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source"))," |"),(0,t.yg)("h5",{id:"returns-1"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source"))," ","|"," ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.Source"},(0,t.yg)("inlineCode",{parentName:"a"},"Source")),">"),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L4"},"types.ts:4")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"transformeroptions"},"TransformerOptions"),(0,t.yg)("p",null,"\u01ac ",(0,t.yg)("strong",{parentName:"p"},"TransformerOptions"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"Object")),(0,t.yg)("h4",{id:"type-declaration-2"},"Type declaration"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"test")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"RegExp"))))),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L11"},"types.ts:11")),(0,t.yg)("h2",{id:"variables"},"Variables"),(0,t.yg)("h3",{id:"clientserverconfig"},"clientServerConfig"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,t.yg)("strong",{parentName:"p"},"clientServerConfig"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},(0,t.yg)("inlineCode",{parentName:"a"},"ImaPluginConfig"))),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/utils/configurations.ts#L42"},"utils/configurations.ts:42")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"defaultconfig"},"defaultConfig"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,t.yg)("strong",{parentName:"p"},"defaultConfig"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},(0,t.yg)("inlineCode",{parentName:"a"},"ImaPluginConfig"))),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/utils/configurations.ts#L6"},"utils/configurations.ts:6")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"nodeconfig"},"nodeConfig"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,t.yg)("strong",{parentName:"p"},"nodeConfig"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},(0,t.yg)("inlineCode",{parentName:"a"},"ImaPluginConfig"))),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/utils/configurations.ts#L70"},"utils/configurations.ts:70")),(0,t.yg)("h2",{id:"functions"},"Functions"),(0,t.yg)("h3",{id:"preprocesstransformer"},"preprocessTransformer"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"preprocessTransformer"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#transformer"},(0,t.yg)("inlineCode",{parentName:"a"},"Transformer"))),(0,t.yg)("h4",{id:"parameters-2"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"PreprocessTransformerOptions"))))),(0,t.yg)("h4",{id:"returns-2"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#transformer"},(0,t.yg)("inlineCode",{parentName:"a"},"Transformer"))),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/transformers/preprocessTransformer.ts#L11"},"transformers/preprocessTransformer.ts:11")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"swctransformer"},"swcTransformer"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"swcTransformer"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#transformer"},(0,t.yg)("inlineCode",{parentName:"a"},"Transformer"))),(0,t.yg)("h4",{id:"parameters-3"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"Options"))))),(0,t.yg)("h4",{id:"returns-3"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#transformer"},(0,t.yg)("inlineCode",{parentName:"a"},"Transformer"))),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/transformers/swcTransformer.ts#L59"},"transformers/swcTransformer.ts:59")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"typescriptdeclarationsplugin"},"typescriptDeclarationsPlugin"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"typescriptDeclarationsPlugin"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#plugin"},(0,t.yg)("inlineCode",{parentName:"a"},"Plugin"))),(0,t.yg)("h4",{id:"parameters-4"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"options")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"TypescriptDeclarationsPluginOptions"))))),(0,t.yg)("h4",{id:"returns-4"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#plugin"},(0,t.yg)("inlineCode",{parentName:"a"},"Plugin"))),(0,t.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/plugins/typescriptDeclarationsPlugin.ts#L28"},"plugins/typescriptDeclarationsPlugin.ts:28")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4db42fa4.9873669d.js b/assets/js/4db42fa4.9873669d.js new file mode 100644 index 000000000..93ec28c0d --- /dev/null +++ b/assets/js/4db42fa4.9873669d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[686],{6763:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/classes/AbstractExtension","title":"Class: abstract AbstractExtension\\\\<S, R, SS\\\\>","description":"Defined in11","source":"@site/../docs/api/@ima/core/classes/AbstractExtension.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/AbstractExtension","permalink":"/api/@ima/core/classes/AbstractExtension","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/AbstractExtension.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractExecution","permalink":"/api/@ima/core/classes/AbstractExecution"},"next":{"title":"Class: abstract AbstractPageManager","permalink":"/api/@ima/core/classes/AbstractPageManager"}}');var t=n(2540),i=n(3023);const a={},c="Class: abstract AbstractExtension<S, R, SS>",d={},l=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractExtension()",id:"new-abstractextension",level:3},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Properties",id:"properties",level:2},{value:"_pageStateManager?",id:"_pagestatemanager",level:3},{value:"_partialStateSymbol",id:"_partialstatesymbol",level:3},{value:"_usingStateManager",id:"_usingstatemanager",level:3},{value:"params",id:"params",level:3},{value:"status",id:"status",level:3},{value:"$dependencies",id:"dependencies",level:3},{value:"Overrides",id:"overrides",level:4},{value:"$name?",id:"name",level:3},{value:"Overrides",id:"overrides-1",level:4},{value:"Methods",id:"methods",level:2},{value:"activate()",id:"activate",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"beginStateTransaction()",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"cancelStateTransaction()",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"clearPartialState()",id:"clearpartialstate",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"commitStateTransaction()",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"deactivate()",id:"deactivate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getAllowedStateKeys()",id:"getallowedstatekeys",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"getPartialState()",id:"getpartialstate",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"getRouteParams()",id:"getrouteparams",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"load()",id:"load",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"setPageStateManager()",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageStateManager?",id:"pagestatemanager",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"setPartialState()",id:"setpartialstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"partialStatePatch",id:"partialstatepatch",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"setRouteParams()",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"params",id:"params-1",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"statePatch",id:"statepatch",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"switchToPartialState()",id:"switchtopartialstate",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"switchToStateManager()",id:"switchtostatemanager",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"update()",id:"update",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"prevParams",id:"prevparams",level:5},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-21",level:4}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsxs)(s.h1,{id:"class-abstract-abstractextensions-r-ss",children:["Class: ",(0,t.jsx)(s.code,{children:"abstract"})," AbstractExtension<S, R, SS>"]})}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L11",children:"packages/core/src/extension/AbstractExtension.ts:11"})]}),"\n",(0,t.jsx)(s.p,{children:"Abstract extension"}),"\n",(0,t.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),"<",(0,t.jsx)(s.code,{children:"S"}),", ",(0,t.jsx)(s.code,{children:"R"}),", ",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"S"})," ",(0,t.jsx)(s.em,{children:"extends"})," ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(s.code,{children:"PageState"})})," = {}"]}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"R"})," ",(0,t.jsx)(s.em,{children:"extends"})," ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(s.code,{children:"RouteParams"})})," = {}"]}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"SS"})," ",(0,t.jsx)(s.em,{children:"extends"})," ",(0,t.jsx)(s.code,{children:"S"})," = ",(0,t.jsx)(s.code,{children:"S"})]}),"\n",(0,t.jsx)(s.h2,{id:"indexable",children:"Indexable"}),"\n",(0,t.jsxs)(s.p,{children:["[",(0,t.jsx)(s.code,{children:"key"}),": ",(0,t.jsx)(s.code,{children:"string"})," | ",(0,t.jsx)(s.code,{children:"number"})," | ",(0,t.jsx)(s.code,{children:"symbol"}),"]: ",(0,t.jsx)(s.code,{children:"any"})]}),"\n",(0,t.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"new-abstractextension",children:"new AbstractExtension()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"new AbstractExtension"}),"<",(0,t.jsx)(s.code,{children:"S"}),", ",(0,t.jsx)(s.code,{children:"R"}),", ",(0,t.jsx)(s.code,{children:"SS"}),">(): ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExtension",children:(0,t.jsx)(s.code,{children:"AbstractExtension"})}),"<",(0,t.jsx)(s.code,{children:"R"}),", ",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExtension",children:(0,t.jsx)(s.code,{children:"AbstractExtension"})}),"<",(0,t.jsx)(s.code,{children:"R"}),", ",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#constructors",children:(0,t.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,t.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"_pagestatemanager",children:"_pageStateManager?"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.code,{children:"optional"})," ",(0,t.jsx)(s.strong,{children:"_pageStateManager"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(s.code,{children:"PageStateManager"})}),"<",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L24",children:"packages/core/src/extension/AbstractExtension.ts:24"})]}),"\n",(0,t.jsx)(s.p,{children:"State manager."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_partialstatesymbol",children:"_partialStateSymbol"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_partialStateSymbol"}),": ",(0,t.jsx)(s.code,{children:"symbol"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L30",children:"packages/core/src/extension/AbstractExtension.ts:30"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"_usingstatemanager",children:"_usingStateManager"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.strong,{children:"_usingStateManager"}),": ",(0,t.jsx)(s.code,{children:"boolean"})," = ",(0,t.jsx)(s.code,{children:"false"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L29",children:"packages/core/src/extension/AbstractExtension.ts:29"})]}),"\n",(0,t.jsx)(s.p,{children:"Flag indicating whether the PageStateManager should be used instead\nof partial state."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"params",children:"params"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"params"}),": ",(0,t.jsx)(s.code,{children:"R"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L39",children:"packages/core/src/extension/AbstractExtension.ts:39"})]}),"\n",(0,t.jsx)(s.p,{children:"The route parameters extracted from the current route."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"status",children:"status"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"status"}),": ",(0,t.jsx)(s.code,{children:"number"})," = ",(0,t.jsx)(s.code,{children:"200"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L35",children:"packages/core/src/extension/AbstractExtension.ts:35"})]}),"\n",(0,t.jsx)(s.p,{children:"The HTTP response code to send to the client."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"static"})," ",(0,t.jsx)(s.strong,{children:"$dependencies"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,t.jsx)(s.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L17",children:"packages/core/src/extension/AbstractExtension.ts:17"})]}),"\n",(0,t.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#$dependencies",children:(0,t.jsx)(s.code,{children:"$dependencies"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"name",children:"$name?"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"static"})," ",(0,t.jsx)(s.code,{children:"optional"})," ",(0,t.jsx)(s.strong,{children:"$name"}),": ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L16",children:"packages/core/src/extension/AbstractExtension.ts:16"})]}),"\n",(0,t.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#$name",children:(0,t.jsx)(s.code,{children:"$name"})})]}),"\n",(0,t.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"activate",children:"activate()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"activate"}),"(): ",(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L58",children:"packages/core/src/extension/AbstractExtension.ts:58"})]}),"\n",(0,t.jsxs)(s.p,{children:["Callback for activating the extension in the UI. This is the last\nmethod invoked during controller (and extensions) initialization, called\nafter all the promises returned from the ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#load",children:"Extension#load"})," method have\nbeen resolved and the controller has configured the meta manager."]}),"\n",(0,t.jsx)(s.p,{children:"The extension may register any React and DOM event listeners in this\nmethod. The extension may start receiving event bus event after this\nmethod completes."}),"\n",(0,t.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#activate",children:(0,t.jsx)(s.code,{children:"activate"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"beginstatetransaction",children:"beginStateTransaction()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"beginStateTransaction"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L109",children:"packages/core/src/extension/AbstractExtension.ts:109"})]}),"\n",(0,t.jsxs)(s.p,{children:["Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,t.jsx)(s.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,t.jsxs)(s.p,{children:["Note that call to ",(0,t.jsx)(s.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#beginstatetransaction",children:(0,t.jsx)(s.code,{children:"beginStateTransaction"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"cancelstatetransaction",children:"cancelStateTransaction()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"cancelStateTransaction"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L127",children:"packages/core/src/extension/AbstractExtension.ts:127"})]}),"\n",(0,t.jsx)(s.p,{children:"Cancels ongoing state transaction. Uncommitted state changes are lost."}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#cancelstatetransaction",children:(0,t.jsx)(s.code,{children:"cancelStateTransaction"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"clearpartialstate",children:"clearPartialState()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"clearPartialState"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L155",children:"packages/core/src/extension/AbstractExtension.ts:155"})]}),"\n",(0,t.jsx)(s.p,{children:"Clears the current partial state of the extension and sets it value to empty object."}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#clearpartialstate",children:(0,t.jsx)(s.code,{children:"clearPartialState"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"commitstatetransaction",children:"commitStateTransaction()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"commitStateTransaction"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L118",children:"packages/core/src/extension/AbstractExtension.ts:118"})]}),"\n",(0,t.jsxs)(s.p,{children:["Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,t.jsx)(s.code,{children:"setState"})," call."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#commitstatetransaction",children:(0,t.jsx)(s.code,{children:"commitStateTransaction"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"deactivate",children:"deactivate()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"deactivate"}),"(): ",(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L65",children:"packages/core/src/extension/AbstractExtension.ts:65"})]}),"\n",(0,t.jsx)(s.p,{children:"Callback for deactivating the extension in the UI. This is the first\nmethod invoked during extension deinitialization. This usually happens\nwhen the user navigates to a different URL."}),"\n",(0,t.jsxs)(s.p,{children:["This method is the lifecycle counterpart of the ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#activate",children:"Extension#activate"}),"\nmethod."]}),"\n",(0,t.jsxs)(s.p,{children:["The extension should deregister listeners registered and release all\nresources obtained in the ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#activate",children:"Extension#activate"})," method."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#deactivate",children:(0,t.jsx)(s.code,{children:"deactivate"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"destroy",children:"destroy()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"destroy"}),"(): ",(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L51",children:"packages/core/src/extension/AbstractExtension.ts:51"})]}),"\n",(0,t.jsx)(s.p,{children:"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."}),"\n",(0,t.jsxs)(s.p,{children:["This method is the lifecycle counterpart of the ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"}),"\nmethod."]}),"\n",(0,t.jsxs)(s.p,{children:["The extension should release all resources obtained in the\n",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"})," method. The extension must release any resources\nthat might not be released automatically when the extensions's instance\nis destroyed by the garbage collector."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#destroy",children:(0,t.jsx)(s.code,{children:"destroy"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getallowedstatekeys",children:"getAllowedStateKeys()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getAllowedStateKeys"}),"(): keyof ",(0,t.jsx)(s.code,{children:"S"}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L204",children:"packages/core/src/extension/AbstractExtension.ts:204"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns array of allowed state keys for extension."}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:["keyof ",(0,t.jsx)(s.code,{children:"S"}),"[]"]}),"\n",(0,t.jsx)(s.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#getallowedstatekeys",children:(0,t.jsx)(s.code,{children:"getAllowedStateKeys"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getHttpStatus"}),"(): ",(0,t.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L197",children:"packages/core/src/extension/AbstractExtension.ts:197"})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"number"})}),"\n",(0,t.jsx)(s.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getpartialstate",children:"getPartialState()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getPartialState"}),"(): ",(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L148",children:"packages/core/src/extension/AbstractExtension.ts:148"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns the current partial state of the extension."}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"Partial"}),"<",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"The current partial state of the extension."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#getpartialstate",children:(0,t.jsx)(s.code,{children:"getPartialState"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getrouteparams",children:"getRouteParams()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getRouteParams"}),"(): ",(0,t.jsx)(s.code,{children:"R"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L169",children:"packages/core/src/extension/AbstractExtension.ts:169"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns the current route parameters."}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"R"})}),"\n",(0,t.jsx)(s.p,{children:"The current route parameters."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#getrouteparams",children:(0,t.jsx)(s.code,{children:"getRouteParams"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getstate",children:"getState()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getState"}),"(): ",(0,t.jsx)(s.code,{children:"SS"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L98",children:"packages/core/src/extension/AbstractExtension.ts:98"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns the current state of the controller using this extension."}),"\n",(0,t.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"SS"})}),"\n",(0,t.jsx)(s.p,{children:"The current state of the controller."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#getstate",children:(0,t.jsx)(s.code,{children:"getState"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"init"}),"(): ",(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L44",children:"packages/core/src/extension/AbstractExtension.ts:44"})]}),"\n",(0,t.jsx)(s.p,{children:"Callback for initializing the controller extension after the route\nparameters have been set on this extension."}),"\n",(0,t.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"void"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#init",children:(0,t.jsx)(s.code,{children:"init"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"load",children:"load()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"load"}),"(): ",(0,t.jsx)(s.code,{children:"S"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L72",children:"packages/core/src/extension/AbstractExtension.ts:72"})]}),"\n",(0,t.jsxs)(s.p,{children:["Callback the extension uses to request the resources it needs to render\nits related parts of the view. This method is invoked after the\n",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"})," method."]}),"\n",(0,t.jsx)(s.p,{children:"The extension should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."}),"\n",(0,t.jsx)(s.p,{children:"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."}),"\n",(0,t.jsx)(s.p,{children:"The IMA will use the object to set the state of the controller."}),"\n",(0,t.jsx)(s.p,{children:"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."}),"\n",(0,t.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"S"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#load",children:(0,t.jsx)(s.code,{children:"load"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"setpagestatemanager",children:"setPageStateManager()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"setPageStateManager"}),"(",(0,t.jsx)(s.code,{children:"pageStateManager"}),"?): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L176",children:"packages/core/src/extension/AbstractExtension.ts:176"})]}),"\n",(0,t.jsx)(s.p,{children:"Sets the state manager used to manage the controller's state.."}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"pagestatemanager",children:"pageStateManager?"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(s.code,{children:"PageStateManager"})}),"<",(0,t.jsx)(s.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"The current state manager to\nuse."}),"\n",(0,t.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#setpagestatemanager",children:(0,t.jsx)(s.code,{children:"setPageStateManager"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"setpartialstate",children:"setPartialState()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"setPartialState"}),"(",(0,t.jsx)(s.code,{children:"partialStatePatch"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L136",children:"packages/core/src/extension/AbstractExtension.ts:136"})]}),"\n",(0,t.jsx)(s.p,{children:"Patches the partial state of the extension. The extension is able\nduring its load and update phase receive state from active controller\nusing this extension and from previously loaded/updated extensions."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"partialstatepatch",children:"partialStatePatch"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"S"})}),"\n",(0,t.jsx)(s.p,{children:"Patch of the controller's state to apply."}),"\n",(0,t.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-16",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#setpartialstate",children:(0,t.jsx)(s.code,{children:"setPartialState"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"setrouteparams",children:"setRouteParams()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"setRouteParams"}),"(",(0,t.jsx)(s.code,{children:"params"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L162",children:"packages/core/src/extension/AbstractExtension.ts:162"})]}),"\n",(0,t.jsxs)(s.p,{children:["Sets the current route parameters. This method is invoked before the\n",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"})," method."]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"params-1",children:"params"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"R"})," = ",(0,t.jsx)(s.code,{children:"..."})]}),"\n",(0,t.jsx)(s.p,{children:"The current route parameters."}),"\n",(0,t.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-17",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#setrouteparams",children:(0,t.jsx)(s.code,{children:"setRouteParams"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"setState"}),"<",(0,t.jsx)(s.code,{children:"K"}),">(",(0,t.jsx)(s.code,{children:"statePatch"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L89",children:"packages/core/src/extension/AbstractExtension.ts:89"})]}),"\n",(0,t.jsx)(s.p,{children:"Patches the state of the controller using this extension by using the\nprovided object by copying the provided patch object fields to the\ncontroller's state object."}),"\n",(0,t.jsx)(s.p,{children:"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."}),"\n",(0,t.jsxs)(s.p,{children:["Note that the extension may modify only the fields of the state that it\nhas specified by its ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#getallowedstatekeys",children:"Extension#getAllowedStateKeys"})," method."]}),"\n",(0,t.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(s.p,{children:["\u2022 ",(0,t.jsx)(s.strong,{children:"K"})," ",(0,t.jsx)(s.em,{children:"extends"})," ",(0,t.jsx)(s.code,{children:"string"})," | ",(0,t.jsx)(s.code,{children:"number"})," | ",(0,t.jsx)(s.code,{children:"symbol"})]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"statepatch",children:"statePatch"}),"\n",(0,t.jsx)(s.p,{children:"Patch of the controller's state to apply."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"S"})," | ",(0,t.jsx)(s.code,{children:"Pick"}),"<",(0,t.jsx)(s.code,{children:"S"}),", ",(0,t.jsx)(s.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(s.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-18",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#setstate",children:(0,t.jsx)(s.code,{children:"setState"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"switchtopartialstate",children:"switchToPartialState()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"switchToPartialState"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L190",children:"packages/core/src/extension/AbstractExtension.ts:190"})]}),"\n",(0,t.jsx)(s.p,{children:"Disables using PageStateManager for getting state."}),"\n",(0,t.jsx)(s.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-19",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#switchtopartialstate",children:(0,t.jsx)(s.code,{children:"switchToPartialState"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"switchtostatemanager",children:"switchToStateManager()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"switchToStateManager"}),"(): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L183",children:"packages/core/src/extension/AbstractExtension.ts:183"})]}),"\n",(0,t.jsx)(s.p,{children:"Enables using PageStateManager for getting state."}),"\n",(0,t.jsx)(s.h4,{id:"returns-20",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})}),"\n",(0,t.jsx)(s.h4,{id:"overrides-20",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#switchtostatemanager",children:(0,t.jsx)(s.code,{children:"switchToStateManager"})})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"update",children:"update()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"update"}),"(",(0,t.jsx)(s.code,{children:"prevParams"}),"): ",(0,t.jsx)(s.code,{children:"S"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/AbstractExtension.ts#L82",children:"packages/core/src/extension/AbstractExtension.ts:82"})]}),"\n",(0,t.jsxs)(s.p,{children:["Callback for updating the extension after a route update. This method\nis invoked if the current route has the ",(0,t.jsx)(s.code,{children:"onlyUpdate"})," flag set to ",(0,t.jsx)(s.code,{children:"true"})," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,t.jsx)(s.code,{children:"onlyUpdate"})," option of the current route is a callback and\nreturned ",(0,t.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["The method must return an object with the same semantics as the result\nof the ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#load",children:"Extension#load"})," method. The controller's state will then be\npatched by the returned object."]}),"\n",(0,t.jsxs)(s.p,{children:["The other extension lifecycle callbacks (",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"}),",\n",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#load",children:"Extension#load"}),", ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#activate",children:"Extension#activate"}),",\n",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#deactivate",children:"Extension#deactivate"}),", Extension#deinit) are not call in\ncase this method is used."]}),"\n",(0,t.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"prevparams",children:"prevParams"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"R"})," = ",(0,t.jsx)(s.code,{children:"..."})]}),"\n",(0,t.jsx)(s.p,{children:"Previous route\nparameters."}),"\n",(0,t.jsx)(s.h4,{id:"returns-21",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"S"})," | ",(0,t.jsx)(s.code,{children:"Promise"}),"<",(0,t.jsx)(s.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(s.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,t.jsx)(s.h4,{id:"overrides-21",children:"Overrides"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(s.code,{children:"Extension"})}),".",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Extension#update",children:(0,t.jsx)(s.code,{children:"update"})})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>c});var r=n(3696);const t={},i=r.createContext(t);function a(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f34213b.5807c3a4.js b/assets/js/4f34213b.5807c3a4.js new file mode 100644 index 000000000..e69fe34a1 --- /dev/null +++ b/assets/js/4f34213b.5807c3a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[656],{8702:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/core/classes/SerialBatch","title":"Class: SerialBatch","description":"Defined in4","source":"@site/../docs/api/@ima/core/classes/SerialBatch.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/SerialBatch","permalink":"/api/@ima/core/classes/SerialBatch","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/SerialBatch.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Router","permalink":"/api/@ima/core/classes/Router"},"next":{"title":"Class: ServerPageManager","permalink":"/api/@ima/core/classes/ServerPageManager"}}');var n=r(2540),i=r(3023);const a={},t="Class: SerialBatch",d={},l=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new SerialBatch()",id:"new-serialbatch",level:3},{value:"Parameters",id:"parameters",level:4},{value:"jobs",id:"jobs",level:5},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Properties",id:"properties",level:2},{value:"_jobs",id:"_jobs",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Methods",id:"methods",level:2},{value:"_executeJob()",id:"_executejob",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"stage",id:"stage",level:5},{value:"args",id:"args",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_validateJob()",id:"_validatejob",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"job",id:"job",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"append()",id:"append",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"jobs",id:"jobs-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"execute()",id:"execute",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"args",id:"args-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides",level:4}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"class-serialbatch",children:"Class: SerialBatch"})}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/SerialBatch.ts#L4",children:"packages/core/src/execution/SerialBatch.ts:4"})]}),"\n",(0,n.jsxs)(s.p,{children:["Basic implementation of the ",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Execution",children:"Execution"})," interface. Provides the basic\nfunctionality for appending and validating jobs."]}),"\n",(0,n.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,n.jsx)(s.code,{children:"AbstractExecution"})})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(s.h3,{id:"new-serialbatch",children:"new SerialBatch()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"new SerialBatch"}),"(",(0,n.jsx)(s.code,{children:"jobs"}),"): ",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/SerialBatch",children:(0,n.jsx)(s.code,{children:"SerialBatch"})})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L13",children:"packages/core/src/execution/AbstractExecution.ts:13"})]}),"\n",(0,n.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"jobs",children:"jobs"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,n.jsx)(s.code,{children:"ExecutionJob"})}),"[] = ",(0,n.jsx)(s.code,{children:"[]"})]}),"\n",(0,n.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/SerialBatch",children:(0,n.jsx)(s.code,{children:"SerialBatch"})})}),"\n",(0,n.jsx)(s.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,n.jsx)(s.code,{children:"AbstractExecution"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution#constructors",children:(0,n.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,n.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"_jobs",children:"_jobs"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"protected"})," ",(0,n.jsx)(s.strong,{children:"_jobs"}),": ",(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,n.jsx)(s.code,{children:"ExecutionJob"})}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L11",children:"packages/core/src/execution/AbstractExecution.ts:11"})]}),"\n",(0,n.jsx)(s.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,n.jsx)(s.code,{children:"AbstractExecution"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution#_jobs",children:(0,n.jsx)(s.code,{children:"_jobs"})})]}),"\n",(0,n.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(s.h3,{id:"_executejob",children:"_executeJob()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"_executeJob"}),"(",(0,n.jsx)(s.code,{children:"stage"}),", ",(0,n.jsx)(s.code,{children:"args"}),"): ",(0,n.jsx)(s.code,{children:"Promise"}),"<",(0,n.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/SerialBatch.ts#L22",children:"packages/core/src/execution/SerialBatch.ts:22"})]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"stage",children:"stage"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,n.jsx)(s.code,{children:"ExecutionJob"})})}),"\n",(0,n.jsx)(s.h5,{id:"args",children:"args"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"unknown"}),"[]"]}),"\n",(0,n.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"Promise"}),"<",(0,n.jsx)(s.code,{children:"unknown"}),">"]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"_validatejob",children:"_validateJob()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"_validateJob"}),"(",(0,n.jsx)(s.code,{children:"job"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L44",children:"packages/core/src/execution/AbstractExecution.ts:44"})]}),"\n",(0,n.jsxs)(s.p,{children:["Return ",(0,n.jsx)(s.code,{children:"true"})," if the given job can be executed"]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"job",children:"job"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,n.jsx)(s.code,{children:"ExecutionJob"})})}),"\n",(0,n.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsx)(s.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,n.jsx)(s.code,{children:"AbstractExecution"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution#_validatejob",children:(0,n.jsx)(s.code,{children:"_validateJob"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"append",children:"append()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"append"}),"(",(0,n.jsx)(s.code,{children:"jobs"}),"): ",(0,n.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L22",children:"packages/core/src/execution/AbstractExecution.ts:22"})]}),"\n",(0,n.jsx)(s.p,{children:"Adds a new job to be executed. The job is appended at the end of the\nlist of current jobs therefore is executed last."}),"\n",(0,n.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"jobs-1",children:"jobs"}),"\n",(0,n.jsx)(s.p,{children:"The jobs to be executed."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,n.jsx)(s.code,{children:"ExecutionJob"})})," | ",(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,n.jsx)(s.code,{children:"ExecutionJob"})}),"[]"]}),"\n",(0,n.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"void"})}),"\n",(0,n.jsx)(s.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,n.jsx)(s.code,{children:"AbstractExecution"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution#append",children:(0,n.jsx)(s.code,{children:"append"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"execute",children:"execute()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"execute"}),"(...",(0,n.jsx)(s.code,{children:"args"}),"): ",(0,n.jsx)(s.code,{children:"Promise"}),"<",(0,n.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/SerialBatch.ts#L8",children:"packages/core/src/execution/SerialBatch.ts:8"})]}),"\n",(0,n.jsxs)(s.p,{children:["Start executing collected jobs. In the end a ",(0,n.jsx)(s.code,{children:"Promise"})," is returned\nwith a resulting value. On the returned ",(0,n.jsx)(s.code,{children:"Promise"})," a ",(0,n.jsx)(s.code,{children:"catch"}),"\nmethod can be called to prevent any unwanted interruption."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"args-1",children:"args"}),"\n",(0,n.jsxs)(s.p,{children:["...",(0,n.jsx)(s.code,{children:"unknown"}),"[]"]}),"\n",(0,n.jsx)(s.p,{children:"Arguments to be passed when executing jobs"}),"\n",(0,n.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"Promise"}),"<",(0,n.jsx)(s.code,{children:"unknown"}),">"]}),"\n",(0,n.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,n.jsx)(s.code,{children:"AbstractExecution"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution#execute",children:(0,n.jsx)(s.code,{children:"execute"})})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>a,x:()=>t});var c=r(3696);const n={},i=c.createContext(n);function a(e){const s=c.useContext(i);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),c.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4fdd7ffa.24c205f8.js b/assets/js/4fdd7ffa.24c205f8.js new file mode 100644 index 000000000..6a235db39 --- /dev/null +++ b/assets/js/4fdd7ffa.24c205f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1453],{640:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/interfaces/useEventBusType","title":"Interface: useEventBusType","description":"Defined in6","source":"@site/../docs/api/@ima/react-page-renderer/interfaces/useEventBusType.md","sourceDirName":"api/@ima/react-page-renderer/interfaces","slug":"/api/@ima/react-page-renderer/interfaces/useEventBusType","permalink":"/api/@ima/react-page-renderer/interfaces/useEventBusType","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/interfaces/useEventBusType.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: useDispatcherType","permalink":"/api/@ima/react-page-renderer/interfaces/useDispatcherType"},"next":{"title":"Variable: PageContext","permalink":"/api/@ima/react-page-renderer/variables/PageContext"}}');var s=t(2540),a=t(3023);const i={},c="Interface: useEventBusType",d={},o=[{value:"Properties",id:"properties",level:2},{value:"fire()",id:"fire",level:3},{value:"Parameters",id:"parameters",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"eventName",id:"eventname",level:5},{value:"data?",id:"data",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns",level:4},{value:"Throws",id:"throws",level:4},{value:"See",id:"see",level:4}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"interface-useeventbustype",children:"Interface: useEventBusType"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/eventBus.ts#L6",children:"packages/react-page-renderer/src/hooks/eventBus.ts:6"})]}),"\n",(0,s.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"fire"}),": (",(0,s.jsx)(n.code,{children:"eventTarget"}),", ",(0,s.jsx)(n.code,{children:"eventName"}),", ",(0,s.jsx)(n.code,{children:"data"}),"?, ",(0,s.jsx)(n.code,{children:"options"}),"?) => ",(0,s.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/eventBus.ts#L7",children:"packages/react-page-renderer/src/hooks/eventBus.ts:7"})]}),"\n",(0,s.jsx)(n.p,{children:"Fires a new custom event of the specified name, carrying the provided\ndata."}),"\n",(0,s.jsx)(n.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,s.jsxs)(n.p,{children:["Note that the default options are\n",(0,s.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),", which is different from the\ndefault values used in the native custom events\n(",(0,s.jsx)(n.code,{children:"{ bubbles: false, cancelable: false }"}),")."]}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,s.jsx)(n.p,{children:"The event target at which the event\nwill be dispatched (e.g. element/document/window)."}),"\n",(0,s.jsx)(n.h5,{id:"eventname",children:"eventName"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.p,{children:"The name of the event to fire."}),"\n",(0,s.jsx)(n.h5,{id:"data",children:"data?"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"any"})}),"\n",(0,s.jsx)(n.p,{children:"The data to pass to the event listeners."}),"\n",(0,s.jsx)(n.h5,{id:"options",children:"options?"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusOptions",children:(0,s.jsx)(n.code,{children:"EventBusOptions"})})}),"\n",(0,s.jsxs)(n.p,{children:["The\noverride of the default options passed to the constructor of the\ncustom event fired by this event bus.\nThe default options passed to the custom event constructor are\n",(0,s.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),"."]}),"\n",(0,s.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"this"})}),"\n",(0,s.jsx)(n.p,{children:"This custom event bus."}),"\n",(0,s.jsx)(n.h4,{id:"throws",children:"Throws"}),"\n",(0,s.jsx)(n.p,{children:"Thrown if the provided event target cannot be used to\nfire the event."}),"\n",(0,s.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event",children:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"})})]})}function l(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>c});var r=t(3696);const s={},a=r.createContext(s);function i(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5009512d.1a95076d.js b/assets/js/5009512d.1a95076d.js new file mode 100644 index 000000000..5d59ee472 --- /dev/null +++ b/assets/js/5009512d.1a95076d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7941],{1082:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/core/type-aliases/AsyncRouteView","title":"Type Alias: AsyncRouteView","description":"AsyncRouteView: WithAsync\\\\","source":"@site/../docs/api/@ima/core/type-aliases/AsyncRouteView.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/AsyncRouteView","permalink":"/api/@ima/core/type-aliases/AsyncRouteView","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/AsyncRouteView.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: AsyncRouteController","permalink":"/api/@ima/core/type-aliases/AsyncRouteController"},"next":{"title":"Type Alias: BootSettings","permalink":"/api/@ima/core/type-aliases/BootSettings"}}');var n=s(2540),o=s(3023);const a={},c="Type Alias: AsyncRouteView",r={},l=[];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"type-alias-asyncrouteview",children:"Type Alias: AsyncRouteView"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"AsyncRouteView"}),": ",(0,n.jsx)(t.code,{children:"WithAsync"}),"<",(0,n.jsx)(t.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,n.jsx)(t.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L28",children:"packages/core/src/router/AbstractRoute.ts:28"})]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>c});var i=s(3696);const n={},o=i.createContext(n);function a(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/506f4e3c.0ceadd9b.js b/assets/js/506f4e3c.0ceadd9b.js deleted file mode 100644 index b29a3cb11..000000000 --- a/assets/js/506f4e3c.0ceadd9b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8167],{4563:(e,n,a)=>{a.d(n,{A:()=>i});const i=a.p+"assets/images/imacli_19_features_1-bccacd00b714058c0891eda0a425a4c2.jpg"},6436:(e,n,a)=>{a.d(n,{A:()=>i});const i=a.p+"assets/images/imacli_19_features_2-6db455dfb1f209720f0f48271a0e52be.jpg"},5680:(e,n,a)=>{a.d(n,{xA:()=>p,yg:()=>c});var i=a(6540);function t(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,i)}return a}function l(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){t(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function o(e,n){if(null==e)return{};var a,i,t=function(e,n){if(null==e)return{};var a,i,t={},r=Object.keys(e);for(i=0;i<r.length;i++)a=r[i],n.indexOf(a)>=0||(t[a]=e[a]);return t}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)a=r[i],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(t[a]=e[a])}return t}var s=i.createContext({}),d=function(e){var n=i.useContext(s),a=n;return e&&(a="function"==typeof e?e(n):l(l({},n),e)),a},p=function(e){var n=d(e.components);return i.createElement(s.Provider,{value:n},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},u=i.forwardRef((function(e,n){var a=e.components,t=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),g=d(a),u=t,c=g["".concat(s,".").concat(u)]||g[u]||m[u]||r;return a?i.createElement(c,l(l({ref:n},p),{},{components:a})):i.createElement(c,l({ref:n},p))}));function c(e,n){var a=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var r=a.length,l=new Array(r);l[0]=u;var o={};for(var s in n)hasOwnProperty.call(n,s)&&(o[s]=n[s]);o.originalType=e,o[g]="string"==typeof e?e:t,l[1]=o;for(var d=2;d<r;d++)l[d]=a[d];return i.createElement.apply(null,l)}return i.createElement.apply(null,a)}u.displayName="MDXCreateElement"},6954:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var i=a(8102),t=(a(6540),a(5680));const r={title:"Migration 19.0.0",description:"Migration > Migration to version 19.0.0"},l="Migration from 18.x.x to 19.0.0",o={unversionedId:"migration/migration-19.0.0",id:"migration/migration-19.0.0",title:"Migration 19.0.0",description:"Migration > Migration to version 19.0.0",source:"@site/../docs/migration/migration-19.0.0.md",sourceDirName:"migration",slug:"/migration/migration-19.0.0",permalink:"/migration/migration-19.0.0",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-19.0.0.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Migration 19.0.0",description:"Migration > Migration to version 19.0.0"},sidebar:"docs",previous:{title:"Migration 18.0.0",permalink:"/migration/migration-18.0.0"},next:{title:"How to Contribute",permalink:"/contributing/how-to-contribute"}},s={},d=[{value:"Migration Guide",id:"migration-guide",level:2},{value:"<code>@ima/server</code> updates",id:"imaserver-updates",level:3},{value:"Update <code>@ima/react-page-renderer</code> import",id:"update-imareact-page-renderer-import",level:3},{value:"Register new <code>PageMetaHandler</code>",id:"register-new-pagemetahandler",level:3},{value:"Fire method params order change",id:"fire-method-params-order-change",level:3},{value:"Removed duplicates from <code>HttpAgent</code> settings:",id:"removed-duplicates-from-httpagent-settings",level:3},{value:"Full list of changes",id:"full-list-of-changes",level:2},{value:"New features",id:"new-features",level:2},{value:"@ima/cli",id:"imacli",level:3},{value:"@ima/plugin-cli",id:"imaplugin-cli",level:3},{value:"@ima/hmr-client",id:"imahmr-client",level:3},{value:"@ima/core",id:"imacore",level:3},{value:"Router changes",id:"router-changes",level:4},{value:"@ima/react-page-renderer",id:"imareact-page-renderer",level:3},{value:"@ima/error-overlay",id:"imaerror-overlay",level:3},{value:"@ima/server",id:"imaserver",level:3},{value:"create-ima-app",id:"create-ima-app",level:3},{value:"Breaking Changes",id:"breaking-changes",level:2},{value:"@ima/cli",id:"imacli-1",level:3},{value:"@ima/core",id:"imacore-1",level:3},{value:"Router changes",id:"router-changes-1",level:4},{value:"HttpAgent changes",id:"httpagent-changes",level:4},{value:"MetaManager changes",id:"metamanager-changes",level:4},{value:"@ima/react-page-renderer",id:"imareact-page-renderer-1",level:3},{value:"@ima/dev-utils",id:"imadev-utils",level:3},{value:"@ima/server",id:"imaserver-1",level:3}],p={toc:d},g="wrapper";function m(e){let{components:n,...r}=e;return(0,t.yg)(g,(0,i.A)({},p,r,{components:n,mdxType:"MDXLayout"}),(0,t.yg)("h1",{id:"migration-from-18xx-to-1900"},"Migration from 18.x.x to 19.0.0"),(0,t.yg)("p",null,"While IMA.js 19 is not as big of a release as previous major version, it brings some potential breaking changes to certain API and removes some deprecated functions. We have also managed to pack some additional new features."),(0,t.yg)("admonition",{type:"info"},(0,t.yg)("p",{parentName:"admonition"},"In addition to new features, ",(0,t.yg)("strong",{parentName:"p"},"there have been significant updates to TypeScript types in IMA monorepo"),". This should allow you to write even better applications in TypeScript, while also benefit from better autocomplete in JS applications.")),(0,t.yg)("h2",{id:"migration-guide"},"Migration Guide"),(0,t.yg)("p",null,"The list of changes required to get your app compiled is pretty minimal, however we suggest you take a look at all potential breaking changes in the (full list of changes)","[migration-19.0.0.md#breaking-changes]","."),(0,t.yg)("h3",{id:"imaserver-updates"},(0,t.yg)("inlineCode",{parentName:"h3"},"@ima/server")," updates"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"@ima/server")," now contains named exports, change following in ",(0,t.yg)("inlineCode",{parentName:"li"},"./server/app.js"))),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"// from\nconst imaServer = require('@ima/server')();\n\n// to\nconst { createIMAServer } = require('@ima/server');\nconst imaServer = createIMAServer();\n")),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Update definition of ",(0,t.yg)("inlineCode",{parentName:"li"},"$Source"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$RevivalSettings"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$RevivalCache"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Runner"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Styles"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Scripts")," content variables in ",(0,t.yg)("inlineCode",{parentName:"li"},"spa.ejs")," and DocumentView. These have been replaced by their lowerFirst counter-parts ",(0,t.yg)("inlineCode",{parentName:"li"},"resource")," (now replaces ",(0,t.yg)("inlineCode",{parentName:"li"},"$Source"),"), ",(0,t.yg)("inlineCode",{parentName:"li"},"revivalSettings"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"revivalCache"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"runner"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"styles"),", while ",(0,t.yg)("inlineCode",{parentName:"li"},"$Scripts")," support have been dropped completely."),(0,t.yg)("li",{parentName:"ul"},"Remove ",(0,t.yg)("inlineCode",{parentName:"li"},"urlParser")," middleware from ",(0,t.yg)("inlineCode",{parentName:"li"},"app.js"),", it is now part of renderApp middleware as a server hook.")),(0,t.yg)("h3",{id:"update-imareact-page-renderer-import"},"Update ",(0,t.yg)("inlineCode",{parentName:"h3"},"@ima/react-page-renderer")," import"),(0,t.yg)("p",null,"Change ",(0,t.yg)("inlineCode",{parentName:"p"},"ClientPageRenderer")," import from default to named import."),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"// from\nimport ClientPageRenderer\n from '@ima/react-page-renderer/dist/esm/client/renderer/ClientPageRenderer';\n\n// to\nimport { ClientPageRenderer }\n from '@ima/react-page-renderer/renderer/ClientPageRenderer';\n")),(0,t.yg)("h3",{id:"register-new-pagemetahandler"},"Register new ",(0,t.yg)("inlineCode",{parentName:"h3"},"PageMetaHandler")),(0,t.yg)("p",null,"Add new ",(0,t.yg)("inlineCode",{parentName:"p"},"PageMetaHandler")," to ",(0,t.yg)("inlineCode",{parentName:"p"},"PageHandlerRegistry")," in ",(0,t.yg)("inlineCode",{parentName:"p"},"bind.js")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"oc.inject(PageHandlerRegistry, [PageNavigationHandler, PageMetaHandler, SspPageHandler]);\n")),(0,t.yg)("p",null,"Optionally remove all meta tag renders from ",(0,t.yg)("inlineCode",{parentName:"p"},"DocumentView")," and ",(0,t.yg)("inlineCode",{parentName:"p"},"spa.ejs")," including ",(0,t.yg)("inlineCode",{parentName:"p"},"<title />")," tag. These can be replaced with ",(0,t.yg)("inlineCode",{parentName:"p"},"#{meta}")," content variable,"),(0,t.yg)("h3",{id:"fire-method-params-order-change"},"Fire method params order change"),(0,t.yg)("p",null,"In v18 after introducting the need for a ",(0,t.yg)("inlineCode",{parentName:"p"},"EventTarget")," in ",(0,t.yg)("inlineCode",{parentName:"p"},"EventBus.fire")," methods, we made a mistake with the argument order. In v19 it has been moved to first position to match other event handling methods."),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"// from\nthis.fire('fetchDataArticles', event.target, { data: true })\n\n// to\nthis.fire(event.target, 'fetchDataArticles', { data: true })\n")),(0,t.yg)("h3",{id:"removed-duplicates-from-httpagent-settings"},"Removed duplicates from ",(0,t.yg)("inlineCode",{parentName:"h3"},"HttpAgent")," settings:"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"headers")," have been moved to ",(0,t.yg)("inlineCode",{parentName:"li"},"fetchOptions"),":")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"// from\n$Http: {\n defaultRequestOptions: {\n headers: {\n // Set default request headers\n Accept: 'application/json',\n 'Accept-Language': config.$Language,\n },\n fetchOptions: {\n mode: 'cors',\n },\n },\n}\n\n// to\n$Http: {\n defaultRequestOptions: {\n fetchOptions: {\n mode: 'cors',\n headers: {\n // Set default request headers\n Accept: 'application/json',\n 'Accept-Language': config.$Language,\n },\n },\n },\n}\n")),(0,t.yg)("h2",{id:"full-list-of-changes"},"Full list of changes"),(0,t.yg)("h2",{id:"new-features"},"New features"),(0,t.yg)("h3",{id:"imacli"},"@ima/cli"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Added support for ",(0,t.yg)("strong",{parentName:"li"},"3rd party source maps")," using ",(0,t.yg)("inlineCode",{parentName:"li"},"source-loader"),", this is usefull especially in error overlay."),(0,t.yg)("li",{parentName:"ul"},"Added ability to customize open URL using ",(0,t.yg)("inlineCode",{parentName:"li"},"--openUrl")," CLI argument or ",(0,t.yg)("inlineCode",{parentName:"li"},"IMA_CLI_OPEN_URL")," environment variable. For more information see ",(0,t.yg)("a",{parentName:"li",href:"/cli/#%E2%80%93openurl"},"--openUrl"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("strong",{parentName:"li"},"Performance improvement")," when building CSS/LESS files (except CSS modules), on ",(0,t.yg)("inlineCode",{parentName:"li"},"server")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"client")," bundles. This can add up to 25% built speed improvement depending on the amount of CSS files your project is using."),(0,t.yg)("li",{parentName:"ul"},"Added additional CLI output information when ",(0,t.yg)("inlineCode",{parentName:"li"},"forcedLegacy")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"writeToDisk")," options are used."),(0,t.yg)("li",{parentName:"ul"},"Fixed manifest CSS files regexp, only files from static/css/ folder are now included in final manifest.json file."),(0,t.yg)("li",{parentName:"ul"},"Added new export for ",(0,t.yg)("inlineCode",{parentName:"li"},"findRules"),", this is simple helper function you can use to extract rules from webpack config in yor plugins for easier customization."),(0,t.yg)("li",{parentName:"ul"},"Added new export for ",(0,t.yg)("inlineCode",{parentName:"li"},"createWebpackConfig"),", when provided with CLI args and ",(0,t.yg)("inlineCode",{parentName:"li"},"imaConfig"),", it generates webpack configurations which are then passed to webpack compiler. This can be usefull for other tooling like StoryBook, where you need to customize different webpack config with fields from the IMA app one"),(0,t.yg)("li",{parentName:"ul"},"Added additional ",(0,t.yg)("inlineCode",{parentName:"li"},"ImaConfigurationContext")," variables: ",(0,t.yg)("inlineCode",{parentName:"li"},"isClientES"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"isClient")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"outputFolders"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("strong",{parentName:"li"},"Added support for ",(0,t.yg)("inlineCode",{parentName:"strong"},"prepareConfigurations")," CLI plugin method"),", which lets you customize webpack configuration contexts, before generating webpack config from them."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("strong",{parentName:"li"},"Added new ",(0,t.yg)("inlineCode",{parentName:"strong"},"cssBrowsersTarget")," ima.config.js settings"),", this allows you to easily customize postcss-preset-env browsers targets field.")),(0,t.yg)("div",{class:"text--center"},(0,t.yg)("p",null,(0,t.yg)("img",{alt:"New @ima/cli@19 features",src:a(4563).A,width:"673",height:"185"}))),(0,t.yg)("div",{class:"text--center"},(0,t.yg)("p",null,(0,t.yg)("img",{alt:"New @ima/cli@19 features",src:a(6436).A,width:"671",height:"188"}))),(0,t.yg)("h3",{id:"imaplugin-cli"},"@ima/plugin-cli"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("strong",{parentName:"li"},"Added support for source-maps"),", now all files transformed using ",(0,t.yg)("inlineCode",{parentName:"li"},"swc")," (JS/TS) also produce ",(0,t.yg)("inlineCode",{parentName:"li"},".map")," files alongside transformed files."),(0,t.yg)("li",{parentName:"ul"},"Added ability to enable/disable source maps generation using ",(0,t.yg)("inlineCode",{parentName:"li"},"sourceMaps")," option in ",(0,t.yg)("inlineCode",{parentName:"li"},"ima-plugin.config.js")," configuration file."),(0,t.yg)("li",{parentName:"ul"},"Added ability to add new custom transformers using ",(0,t.yg)("inlineCode",{parentName:"li"},"transformers")," option in",(0,t.yg)("inlineCode",{parentName:"li"}," ima-plugin.config.js")," configuration file."),(0,t.yg)("li",{parentName:"ul"},"When parsing configuration file the plugin now searches for ",(0,t.yg)("inlineCode",{parentName:"li"},"ima-plugin.config.js")," files recursively up to filesystem root. This allows to have one custom config file for monorepositories and removes the need of duplicating same config across all package directories.")),(0,t.yg)("h3",{id:"imahmr-client"},"@ima/hmr-client"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Fixed async issue in HMR, where IMA app could be re-rendered before the old instance finished cleanup.")),(0,t.yg)("h3",{id:"imacore"},"@ima/core"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Added new ",(0,t.yg)("inlineCode",{parentName:"li"},"CancelError")," used for canceling running route handlers."),(0,t.yg)("li",{parentName:"ul"},"Fix window history for error action, error pages are now not added to window history."),(0,t.yg)("li",{parentName:"ul"},"Package source files now include source map files."),(0,t.yg)("li",{parentName:"ul"},"Added ",(0,t.yg)("inlineCode",{parentName:"li"},"RouterEvents.BEFORE_LOADING_ASYNC_ROUTE")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"RouterEvents.AFTER_LOADING_ASYNC_ROUTE")," dispatcher events, which you can use to implement custom loaders when routing between async routes (or use it for any other handling)."),(0,t.yg)("li",{parentName:"ul"},"All exports now use ",(0,t.yg)("strong",{parentName:"li"},"named exports")," (this is technically only package-wide change and does not mean nothing for the end user)."),(0,t.yg)("li",{parentName:"ul"},"Added multiple new ",(0,t.yg)("strong",{parentName:"li"},"TS types"),", while also fixing existing types. Since rewriting IMA.js to typescript has been huge task, there may still be some type inconsistencies which we will try to fix in following releases to further improve TS experience in IMA.js ecosystem."),(0,t.yg)("li",{parentName:"ul"},"Added new ",(0,t.yg)("inlineCode",{parentName:"li"},"onRun")," event to ",(0,t.yg)("inlineCode",{parentName:"li"},"window.$IMA.Runner"),"."),(0,t.yg)("li",{parentName:"ul"},"Add new methods ",(0,t.yg)("inlineCode",{parentName:"li"},"isClientError()")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"isRedirection()")," to ",(0,t.yg)("inlineCode",{parentName:"li"},"GenericError"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"getRouteHandlersByPath()")," method on ",(0,t.yg)("inlineCode",{parentName:"li"},"AbstractRouter")," is now public. This return's middlewares and route for given path."),(0,t.yg)("li",{parentName:"ul"},"Fixed HttpAgent types -> data in method arguments should be optional"),(0,t.yg)("li",{parentName:"ul"},"Fixed missing transaction cleanup in PageStateManager"),(0,t.yg)("li",{parentName:"ul"},"Fix missing optional parameters in static router that were evaluated as undefined instead of 'undefined'."),(0,t.yg)("li",{parentName:"ul"},"Added autocompletion support for language file keys in localization functions. To be able to use this function, update ",(0,t.yg)("inlineCode",{parentName:"li"},"jsconfig.json"),"/",(0,t.yg)("inlineCode",{parentName:"li"},"tsconfig.json")," according to the documentation (adding ",(0,t.yg)("inlineCode",{parentName:"li"},'./build/tmp/types/**/*"')," path to ",(0,t.yg)("inlineCode",{parentName:"li"},"include")," field should suffice)."),(0,t.yg)("li",{parentName:"ul"},"Controller and Extension event bus methods can be targeted with prefix. Prefix is set by static field in controller/extension class e.g. ",(0,t.yg)("inlineCode",{parentName:"li"},"$name = 'ArticleController'"),";. Event is then ",(0,t.yg)("inlineCode",{parentName:"li"},"ArticleController.eventName"),":")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-javascript",metastring:'title="./app/page/article/ArticleController.js"',title:'"./app/page/article/ArticleController.js"'},"class ArticleController {\n static $name = 'ArticleController';\n\n onExpand({\xa0expandableId }) {\n console.log(expandableId);\n }\n}\n")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-javascript",metastring:'title="./app/component/expandable/ExpandLink.jsx"',title:'"./app/component/expandable/ExpandLink.jsx"'},"function ExpandLink() {\n onClick(event) {\n const { expandableId } = this.props;\n this.fire('ArticleController.expand', { expandableId });\n }\n}\n")),(0,t.yg)("h4",{id:"router-changes"},"Router changes"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Added middleware execution timeout => all middlewares must execute within this defined timeframe (defaults to 30s). This can be customized using ",(0,t.yg)("inlineCode",{parentName:"li"},"$Router.middlewareTimeout")," app settings."),(0,t.yg)("li",{parentName:"ul"},"Router middlewares now support ",(0,t.yg)("inlineCode",{parentName:"li"},"next")," callback, which when defined, has to be called, otherwise the middleware will eventually timeout and not proceed any further. This enables some additional features, where you are able to stop route processing by not calling the ",(0,t.yg)("inlineCode",{parentName:"li"},"next")," function if desired."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("strong",{parentName:"li"},"Middlewares can now return object value"),", which will be merged to the locals object, received as a second argument in middleware function. Middlewares wich ",(0,t.yg)("inlineCode",{parentName:"li"},"next"),' callback function can "return" additional locals by calling ',(0,t.yg)("inlineCode",{parentName:"li"},"next")," with an argument.")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"router.use(async (params, locals, next) => {\n next({ counter: counter++ });\n});\n")),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"For more information about middlewares see ",(0,t.yg)("a",{parentName:"li",href:"/basic-features/routing/middlewares"},"middlewares section"),".")),(0,t.yg)("h3",{id:"imareact-page-renderer"},"@ima/react-page-renderer"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Package source files now include source map files."),(0,t.yg)("li",{parentName:"ul"},"Fixed once hook parametr type."),(0,t.yg)("li",{parentName:"ul"},"Moved meta tags management to new PageMetaHandler, see ",(0,t.yg)("a",{parentName:"li",href:"/basic-features/seo-and-meta-manager"},"Seo and Meta Manager")," section for new updates to meta manager."),(0,t.yg)("li",{parentName:"ul"},"IMA specific React hooks have been rewritten to ",(0,t.yg)("strong",{parentName:"li"},"TypeScript"),"."),(0,t.yg)("li",{parentName:"ul"},"Added package exports of multiple missing TS types and other interfaces (this provides better support for writing your applications in TS).")),(0,t.yg)("h3",{id:"imaerror-overlay"},"@ima/error-overlay"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Fixed an issue where invalid Error params caused circular dependency error."),(0,t.yg)("li",{parentName:"ul"},"Fixed an issue where errors, that occurred before error overlay is initialized were not reported to the error overlay."),(0,t.yg)("li",{parentName:"ul"},"Reduced number of levels that are expanded by default in error overlay error params view."),(0,t.yg)("li",{parentName:"ul"},"Added ability to hide/show error params, this settings is saved to local storage.")),(0,t.yg)("h3",{id:"imaserver"},"@ima/server"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Style content variable now automatically generates preload links for app styles."),(0,t.yg)("li",{parentName:"ul"},"Added new metric - ",(0,t.yg)("strong",{parentName:"li"},"concurrent requests")," to monitoring."),(0,t.yg)("li",{parentName:"ul"},"Add information about error cause in places, where we used to throw away this information."),(0,t.yg)("li",{parentName:"ul"},"Add routeName key to res.locals instead of res.$IMA, since res.$IMA should not be used anymore."),(0,t.yg)("li",{parentName:"ul"},"Added ",(0,t.yg)("inlineCode",{parentName:"li"},"X-Request-ID")," to revival settings. Can be accessed through ",(0,t.yg)("inlineCode",{parentName:"li"},"$IMA.$RequestID"),". This can be usefull to match same requests between client and server instances."),(0,t.yg)("li",{parentName:"ul"},"Added ",(0,t.yg)("strong",{parentName:"li"},"XSS protection")," to ",(0,t.yg)("strong",{parentName:"li"},"host")," and ",(0,t.yg)("strong",{parentName:"li"},"protocol")," in revival settings."),(0,t.yg)("li",{parentName:"ul"},"Add support for Client Errors and Redirects when serving static error pages."),(0,t.yg)("li",{parentName:"ul"},"Added option to ",(0,t.yg)("strong",{parentName:"li"},"force app host")," and ",(0,t.yg)("strong",{parentName:"li"},"protocol"),", using ",(0,t.yg)("inlineCode",{parentName:"li"},"$Server.host")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"$Server.protocol")," settings in the ",(0,t.yg)("inlineCode",{parentName:"li"},"environment.js"),". (These 2 values can also be functions)."),(0,t.yg)("li",{parentName:"ul"},"The App error route is protected for exceeding static thresholds."),(0,t.yg)("li",{parentName:"ul"},"The Emitter ",(0,t.yg)("inlineCode",{parentName:"li"},"event.cause")," is removed. The error cause is set in ",(0,t.yg)("inlineCode",{parentName:"li"},"event.error.cause"),"."),(0,t.yg)("li",{parentName:"ul"},"Fixed issue with dummyApp forcing 'en' language, which fails to resolve on applications with different language settings."),(0,t.yg)("li",{parentName:"ul"},"Fixed issue where server redirect showed ErrorOverlay in debug mode."),(0,t.yg)("li",{parentName:"ul"},"The instances of ",(0,t.yg)("inlineCode",{parentName:"li"},"$Dispatcher"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Cache"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$PageRenderer")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"$PageManager")," are cleared after server sending response. Clearing PageManager cause calling ",(0,t.yg)("inlineCode",{parentName:"li"},"destroy")," lifecycle method of controller and extensions on server."),(0,t.yg)("li",{parentName:"ul"},"Add option to use custom ",(0,t.yg)("inlineCode",{parentName:"li"},"manifestRequire"),"."),(0,t.yg)("li",{parentName:"ul"},"SPA blacklist config is omitted for using degradation isSPA method when decision serving SPA page.")),(0,t.yg)("h3",{id:"create-ima-app"},"create-ima-app"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Added new ",(0,t.yg)("strong",{parentName:"li"},"typescript template"),", use ",(0,t.yg)("inlineCode",{parentName:"li"},"--typescript")," option when generating new application."),(0,t.yg)("li",{parentName:"ul"},"Migrated from default to named exports."),(0,t.yg)("li",{parentName:"ul"},"Fixed default static path and public path settings."),(0,t.yg)("li",{parentName:"ul"},"Updated environment.js and settings.js to support new IMA19 features.")),(0,t.yg)("h2",{id:"breaking-changes"},"Breaking Changes"),(0,t.yg)("h3",{id:"imacli-1"},"@ima/cli"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Removed ",(0,t.yg)("inlineCode",{parentName:"li"},"isESVersion")," ",(0,t.yg)("inlineCode",{parentName:"li"},"ImaConfigurationContext")," variable (use ",(0,t.yg)("inlineCode",{parentName:"li"},"isClientES")," instead).")),(0,t.yg)("h3",{id:"imacore-1"},"@ima/core"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"AbstractRouter.manage")," method no longer has controller and view properties in an object argument."),(0,t.yg)("li",{parentName:"ul"},'Multiple changes in router route handling and page manager with a goal of implementing ability to cancel running handlers before handling a new ones. This results in much more stable routing specifically when using async routes. Each route should now be executed "',(0,t.yg)("strong",{parentName:"li"},"sequentially"),"\" where BEFORE/AFTER_HANDLE_ROUTE router events should always fire in correct order. Also if you quickly move between different routes, without them finishing loading, the page manager is able to cancel it's executing mid handling and continue with a new route, which results in faster and more stable routing. While this change is essentially not a breaking change, since it only changes our internal API, it could possibly result in some new behavior."),(0,t.yg)("li",{parentName:"ul"},"Removed ",(0,t.yg)("inlineCode",{parentName:"li"},"ExtensibleError"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"StatusCode")," has been renamed to ",(0,t.yg)("inlineCode",{parentName:"li"},"HttpStatusCode"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"$Source")," environment.js variable has been renamed to ",(0,t.yg)("inlineCode",{parentName:"li"},"$Resources"),"."),(0,t.yg)("li",{parentName:"ul"},"Removed deprecated package ",(0,t.yg)("strong",{parentName:"li"},"entry points"),", this includes all imports directly referencing files from ",(0,t.yg)("inlineCode",{parentName:"li"},"./dist/")," directory. Please update your imports to the new ",(0,t.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/blob/master/packages/core/package.json#L39"},"exports fields"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"extractParameters()")," function in ",(0,t.yg)("inlineCode",{parentName:"li"},"DynamicRoute")," now receives additional object argument, containing ",(0,t.yg)("inlineCode",{parentName:"li"},"query")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"path")," (not modified path) for more control over extracted parameters. ",(0,t.yg)("strong",{parentName:"li"},"The router now uses params returned from ",(0,t.yg)("inlineCode",{parentName:"strong"},"extractParameters()")," directly"),". It no longer automatically merges query params into the resulting object. If you want to preserve this behavior, merge the extracted route params with query object provided in the second argument.")),(0,t.yg)("h4",{id:"router-changes-1"},"Router changes"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Replace custom URL parsing methods in ",(0,t.yg)("inlineCode",{parentName:"li"},"AbstractRoute"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"StaticRoute")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"DynamicRoute")," with combination of native ",(0,t.yg)("inlineCode",{parentName:"li"},"URL")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"URLSearchParams"),"."),(0,t.yg)("li",{parentName:"ul"},"Removed ",(0,t.yg)("inlineCode",{parentName:"li"},"pairsToQuery"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"paramsToQuery"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"getQuery"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"decodeURIParameter")," static methods on ",(0,t.yg)("inlineCode",{parentName:"li"},"AbstractRoute"),". These have been replaced with combination of native ",(0,t.yg)("inlineCode",{parentName:"li"},"URL")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"URLSearchParams")," interfaces."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"getTrimmedPath")," static method in ",(0,t.yg)("inlineCode",{parentName:"li"},"AbstractRoute")," is now instance method."),(0,t.yg)("li",{parentName:"ul"},"Url query params with no value (",(0,t.yg)("inlineCode",{parentName:"li"},"?param="),") are no longer extracted as ",(0,t.yg)("inlineCode",{parentName:"li"},"{ param: true }"),", but as ",(0,t.yg)("inlineCode",{parentName:"li"},"{ param: '' }"),". Please update your code to check for ",(0,t.yg)("inlineCode",{parentName:"li"},"key")," presence in these cases rather than ",(0,t.yg)("inlineCode",{parentName:"li"},"true")," value."),(0,t.yg)("li",{parentName:"ul"},"Parsing of semi-colons inside query params is not supported (as a result of using ",(0,t.yg)("inlineCode",{parentName:"li"},"URLSearchParams"),")")),(0,t.yg)("h4",{id:"httpagent-changes"},"HttpAgent changes"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"IMA HttpAgent")," now removes by default all headers from request and response which is stored in Cache. You can turn off this behavior with ",(0,t.yg)("inlineCode",{parentName:"li"},"keepSensitiveHeaders")," option but ",(0,t.yg)("strong",{parentName:"li"},"it is not recommended"),"."),(0,t.yg)("li",{parentName:"ul"},"Removed support for HttpAgent options.listener (these were used mainly in plugin-xhr, which is now unsupported)"),(0,t.yg)("li",{parentName:"ul"},"You can now define multiple ",(0,t.yg)("inlineCode",{parentName:"li"},"postProcessors[]")," in ",(0,t.yg)("inlineCode",{parentName:"li"},"HttpAgent")," options. This replaces old ",(0,t.yg)("inlineCode",{parentName:"li"},"postProcessor")," option, if you are using any post processor you need to update your options to postProcessors and make sure to wrap this post processor in an array."),(0,t.yg)("li",{parentName:"ul"},"Remove older, conflicting settings of ",(0,t.yg)("inlineCode",{parentName:"li"},"HttpAgent"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"withCredentials"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"headers"),", and ",(0,t.yg)("inlineCode",{parentName:"li"},"listeners"),". The first two now conflict with the newer ",(0,t.yg)("inlineCode",{parentName:"li"},"options.fetchOptions"),", the last one (",(0,t.yg)("inlineCode",{parentName:"li"},"listeners"),") has been removed completely. ",(0,t.yg)("inlineCode",{parentName:"li"},"options.withCredentials")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"options.headers")," are no longer followed. Use ",(0,t.yg)("inlineCode",{parentName:"li"},"options.fetchOptions.credentials")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"options.fetchOptions.headers")," instead. For definition, see the native Fetch API (note: for simplicity, ",(0,t.yg)("inlineCode",{parentName:"li"},"options.fetchOptions.headers")," only accepts headers defined by an object, not a tuple or an instance of Headers).")),(0,t.yg)("h4",{id:"metamanager-changes"},"MetaManager changes"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Rewritten meta tag management in SPA mode, ",(0,t.yg)("strong",{parentName:"li"},"all MetaManager managed tags are removed between pages while new page contains only those currently defined using setMetaParams function in app controller"),". This should make meta tags rendering more deterministic, while fixing situations where old meta tags might be left on the page indefinitely if not cleaner properly."),(0,t.yg)("li",{parentName:"ul"},"MetaManager getters now always return object with key=value pairs of their set value. This should make settings additional meta attributes in loops much easier (for example: ",(0,t.yg)("inlineCode",{parentName:"li"},"getMetaProperty('og:title'); -> { property: 'property-value' });"),")"),(0,t.yg)("li",{parentName:"ul"},"Meta values/attributes with null/undefined values are not rendered, other values are converted to string."),(0,t.yg)("li",{parentName:"ul"},"Added new ",(0,t.yg)("strong",{parentName:"li"},"iterator functions")," to MetaManager.")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"this.#metaManager.getMetaNamesIterator();\nthis.#metaManager.getMetaPropertiesIterator();\nthis.#metaManager.getLinksIterator();\n")),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Added ability to set ",(0,t.yg)("strong",{parentName:"li"},"additional attributes")," for meta tags/links in meta manager:")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"this.#metaManager.setLink('lcp-image', media.url, {\n 'lcp-image-imagesizes': media.sizes,\n 'lcp-image-imagesrcset': media.srcSet\n});\n")),(0,t.yg)("h3",{id:"imareact-page-renderer-1"},"@ima/react-page-renderer"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Removed deprecated package ",(0,t.yg)("strong",{parentName:"li"},"entry points"),", this includes all imports directly referencing files from ",(0,t.yg)("inlineCode",{parentName:"li"},"./dist/")," directory. Please update your imports to the new ",(0,t.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/blob/master/packages/react-page-renderer/package.json#L23"},"exports fields"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"isSSR")," hook has been removed, use ",(0,t.yg)("inlineCode",{parentName:"li"},"window.isClient()")," directly from ",(0,t.yg)("inlineCode",{parentName:"li"},"useComponentUtils()"),"."),(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("inlineCode",{parentName:"li"},"useSettings")," now returns ",(0,t.yg)("inlineCode",{parentName:"li"},"undefined"),", when settings is not found when using ",(0,t.yg)("inlineCode",{parentName:"li"},"selector")," namespace as an argument."),(0,t.yg)("li",{parentName:"ul"},"All exports are now ",(0,t.yg)("strong",{parentName:"li"},"named exports"),", you need to update import to ",(0,t.yg)("inlineCode",{parentName:"li"},"ClientPageRenderer")," in bind.js to:"),(0,t.yg)("li",{parentName:"ul"},"Changed signature of ",(0,t.yg)("inlineCode",{parentName:"li"},"useWindowEvent")," hook, it now matches bindEventListener parameters of ima window.")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/bind.js",title:"./app/config/bind.js"},"import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';\n")),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Change order of method arguments in Component ",(0,t.yg)("inlineCode",{parentName:"li"},"fire")," method. ",(0,t.yg)("inlineCode",{parentName:"li"},"target")," has been moved to the first argument position.")),(0,t.yg)("pre",null,(0,t.yg)("code",{parentName:"pre",className:"language-js"},"// from\nthis.fire('fetchDataArticles', event.target, { data: true })\n\n// to\nthis.fire(event.target, 'fetchDataArticles', { data: true })\n")),(0,t.yg)("h3",{id:"imadev-utils"},"@ima/dev-utils"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Package now uses ",(0,t.yg)("inlineCode",{parentName:"li"},"exports")," fields, instead of ",(0,t.yg)("inlineCode",{parentName:"li"},"./dist/*")," imports. ",(0,t.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/blob/master/packages/dev-utils/package.json#L20"},"See package.json"),".")),(0,t.yg)("h3",{id:"imaserver-1"},"@ima/server"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},"Update @esmj/monitor to 0.5.0 with breaking change for returns value from subscribe method where returns subscription is object with unsubscribe method."),(0,t.yg)("li",{parentName:"ul"},"Migrated urlParser middleware to ima server BeforeRequest hook. Remove ",(0,t.yg)("inlineCode",{parentName:"li"},"urlParser")," middleware from ",(0,t.yg)("inlineCode",{parentName:"li"},"app.js"),", it is now part of ",(0,t.yg)("inlineCode",{parentName:"li"},"renderApp")," middleware."),(0,t.yg)("li",{parentName:"ul"},"Dropped support for direct ",(0,t.yg)("inlineCode",{parentName:"li"},"response.contentVariables")," mutations, use ",(0,t.yg)("inlineCode",{parentName:"li"},"event.result")," and return values in ",(0,t.yg)("inlineCode",{parentName:"li"},"CreateContentVariables")," event."),(0,t.yg)("li",{parentName:"ul"},"Dropped support for ",(0,t.yg)("inlineCode",{parentName:"li"},"$Source"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$RevivalSettings"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$RevivalCache"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Runner"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Styles"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"$Scripts")," content variables. These have been replaced by their lowerFirst counter-parts ",(0,t.yg)("inlineCode",{parentName:"li"},"resource")," (now replaces ",(0,t.yg)("inlineCode",{parentName:"li"},"$Source"),"), ",(0,t.yg)("inlineCode",{parentName:"li"},"revivalSettings"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"revivalCache"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"runner"),", ",(0,t.yg)("inlineCode",{parentName:"li"},"styles"),", while ",(0,t.yg)("inlineCode",{parentName:"li"},"$Scripts")," support have been dropped completely."),(0,t.yg)("li",{parentName:"ul"},"Default resources in ",(0,t.yg)("inlineCode",{parentName:"li"},"$Resources")," now produce ",(0,t.yg)("inlineCode",{parentName:"li"},"styles")," and ",(0,t.yg)("inlineCode",{parentName:"li"},"esStyles")," fields (should not break anything in 99% of the applications). This does not necessarily mean which should be loaded on which ",(0,t.yg)("inlineCode",{parentName:"li"},"es")," version, but what bundle produced those styles. This also means that without any custom configuration, all styles should now be under ",(0,t.yg)("inlineCode",{parentName:"li"},"esStyles")," key, since they are built in client.es webpack bundle. This change was made to enable built of 2 CSS bundles simliar to how we handle ES bundles. This can be enabled using ",(0,t.yg)("inlineCode",{parentName:"li"},"@ima/cli-plugin-legacy-css"),"."),(0,t.yg)("li",{parentName:"ul"},"The package now provides multiple additional exports using named exports, the deafult export has been replaced with named ",(0,t.yg)("inlineCode",{parentName:"li"},"createIMAServer")," function.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/506f4e3c.4a1f55cc.js b/assets/js/506f4e3c.4a1f55cc.js new file mode 100644 index 000000000..900575f8d --- /dev/null +++ b/assets/js/506f4e3c.4a1f55cc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8167],{2606:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"migration/migration-19.0.0","title":"Migration 19.0.0","description":"Migration > Migration to version 19.0.0","source":"@site/../docs/migration/migration-19.0.0.md","sourceDirName":"migration","slug":"/migration/migration-19.0.0","permalink":"/migration/migration-19.0.0","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-19.0.0.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Migration 19.0.0","description":"Migration > Migration to version 19.0.0"},"sidebar":"docs","previous":{"title":"Migration 18.0.0","permalink":"/migration/migration-18.0.0"},"next":{"title":"How to Contribute","permalink":"/contributing/how-to-contribute"}}');var s=i(2540),t=i(3023);const o={title:"Migration 19.0.0",description:"Migration > Migration to version 19.0.0"},a="Migration from 18.x.x to 19.0.0",d={},l=[{value:"Migration Guide",id:"migration-guide",level:2},{value:"<code>@ima/server</code> updates",id:"imaserver-updates",level:3},{value:"Update <code>@ima/react-page-renderer</code> import",id:"update-imareact-page-renderer-import",level:3},{value:"Register new <code>PageMetaHandler</code>",id:"register-new-pagemetahandler",level:3},{value:"Fire method params order change",id:"fire-method-params-order-change",level:3},{value:"Removed duplicates from <code>HttpAgent</code> settings:",id:"removed-duplicates-from-httpagent-settings",level:3},{value:"Full list of changes",id:"full-list-of-changes",level:2},{value:"New features",id:"new-features",level:2},{value:"@ima/cli",id:"imacli",level:3},{value:"@ima/plugin-cli",id:"imaplugin-cli",level:3},{value:"@ima/hmr-client",id:"imahmr-client",level:3},{value:"@ima/core",id:"imacore",level:3},{value:"Router changes",id:"router-changes",level:4},{value:"@ima/react-page-renderer",id:"imareact-page-renderer",level:3},{value:"@ima/error-overlay",id:"imaerror-overlay",level:3},{value:"@ima/server",id:"imaserver",level:3},{value:"create-ima-app",id:"create-ima-app",level:3},{value:"Breaking Changes",id:"breaking-changes",level:2},{value:"@ima/cli",id:"imacli-1",level:3},{value:"@ima/core",id:"imacore-1",level:3},{value:"Router changes",id:"router-changes-1",level:4},{value:"HttpAgent changes",id:"httpagent-changes",level:4},{value:"MetaManager changes",id:"metamanager-changes",level:4},{value:"@ima/react-page-renderer",id:"imareact-page-renderer-1",level:3},{value:"@ima/dev-utils",id:"imadev-utils",level:3},{value:"@ima/server",id:"imaserver-1",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"migration-from-18xx-to-1900",children:"Migration from 18.x.x to 19.0.0"})}),"\n",(0,s.jsx)(n.p,{children:"While IMA.js 19 is not as big of a release as previous major version, it brings some potential breaking changes to certain API and removes some deprecated functions. We have also managed to pack some additional new features."}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["In addition to new features, ",(0,s.jsx)(n.strong,{children:"there have been significant updates to TypeScript types in IMA monorepo"}),". This should allow you to write even better applications in TypeScript, while also benefit from better autocomplete in JS applications."]})}),"\n",(0,s.jsx)(n.h2,{id:"migration-guide",children:"Migration Guide"}),"\n",(0,s.jsx)(n.p,{children:"The list of changes required to get your app compiled is pretty minimal, however we suggest you take a look at all potential breaking changes in the (full list of changes)[migration-19.0.0.md#breaking-changes]."}),"\n",(0,s.jsxs)(n.h3,{id:"imaserver-updates",children:[(0,s.jsx)(n.code,{children:"@ima/server"})," updates"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"@ima/server"})," now contains named exports, change following in ",(0,s.jsx)(n.code,{children:"./server/app.js"})]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"// from\nconst imaServer = require('@ima/server')();\n\n// to\nconst { createIMAServer } = require('@ima/server');\nconst imaServer = createIMAServer();\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Update definition of ",(0,s.jsx)(n.code,{children:"$Source"}),", ",(0,s.jsx)(n.code,{children:"$RevivalSettings"}),", ",(0,s.jsx)(n.code,{children:"$RevivalCache"}),", ",(0,s.jsx)(n.code,{children:"$Runner"}),", ",(0,s.jsx)(n.code,{children:"$Styles"}),", ",(0,s.jsx)(n.code,{children:"$Scripts"})," content variables in ",(0,s.jsx)(n.code,{children:"spa.ejs"})," and DocumentView. These have been replaced by their lowerFirst counter-parts ",(0,s.jsx)(n.code,{children:"resource"})," (now replaces ",(0,s.jsx)(n.code,{children:"$Source"}),"), ",(0,s.jsx)(n.code,{children:"revivalSettings"}),", ",(0,s.jsx)(n.code,{children:"revivalCache"}),", ",(0,s.jsx)(n.code,{children:"runner"}),", ",(0,s.jsx)(n.code,{children:"styles"}),", while ",(0,s.jsx)(n.code,{children:"$Scripts"})," support have been dropped completely."]}),"\n",(0,s.jsxs)(n.li,{children:["Remove ",(0,s.jsx)(n.code,{children:"urlParser"})," middleware from ",(0,s.jsx)(n.code,{children:"app.js"}),", it is now part of renderApp middleware as a server hook."]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"update-imareact-page-renderer-import",children:["Update ",(0,s.jsx)(n.code,{children:"@ima/react-page-renderer"})," import"]}),"\n",(0,s.jsxs)(n.p,{children:["Change ",(0,s.jsx)(n.code,{children:"ClientPageRenderer"})," import from default to named import."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"// from\nimport ClientPageRenderer\n from '@ima/react-page-renderer/dist/esm/client/renderer/ClientPageRenderer';\n\n// to\nimport { ClientPageRenderer }\n from '@ima/react-page-renderer/renderer/ClientPageRenderer';\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"register-new-pagemetahandler",children:["Register new ",(0,s.jsx)(n.code,{children:"PageMetaHandler"})]}),"\n",(0,s.jsxs)(n.p,{children:["Add new ",(0,s.jsx)(n.code,{children:"PageMetaHandler"})," to ",(0,s.jsx)(n.code,{children:"PageHandlerRegistry"})," in ",(0,s.jsx)(n.code,{children:"bind.js"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"oc.inject(PageHandlerRegistry, [PageNavigationHandler, PageMetaHandler, SspPageHandler]);\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Optionally remove all meta tag renders from ",(0,s.jsx)(n.code,{children:"DocumentView"})," and ",(0,s.jsx)(n.code,{children:"spa.ejs"})," including ",(0,s.jsx)(n.code,{children:"<title />"})," tag. These can be replaced with ",(0,s.jsx)(n.code,{children:"#{meta}"})," content variable,"]}),"\n",(0,s.jsx)(n.h3,{id:"fire-method-params-order-change",children:"Fire method params order change"}),"\n",(0,s.jsxs)(n.p,{children:["In v18 after introducting the need for a ",(0,s.jsx)(n.code,{children:"EventTarget"})," in ",(0,s.jsx)(n.code,{children:"EventBus.fire"})," methods, we made a mistake with the argument order. In v19 it has been moved to first position to match other event handling methods."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"// from\nthis.fire('fetchDataArticles', event.target, { data: true })\n\n// to\nthis.fire(event.target, 'fetchDataArticles', { data: true })\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"removed-duplicates-from-httpagent-settings",children:["Removed duplicates from ",(0,s.jsx)(n.code,{children:"HttpAgent"})," settings:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"headers"})," have been moved to ",(0,s.jsx)(n.code,{children:"fetchOptions"}),":"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"// from\n$Http: {\n defaultRequestOptions: {\n headers: {\n // Set default request headers\n Accept: 'application/json',\n 'Accept-Language': config.$Language,\n },\n fetchOptions: {\n mode: 'cors',\n },\n },\n}\n\n// to\n$Http: {\n defaultRequestOptions: {\n fetchOptions: {\n mode: 'cors',\n headers: {\n // Set default request headers\n Accept: 'application/json',\n 'Accept-Language': config.$Language,\n },\n },\n },\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"full-list-of-changes",children:"Full list of changes"}),"\n",(0,s.jsx)(n.h2,{id:"new-features",children:"New features"}),"\n",(0,s.jsx)(n.h3,{id:"imacli",children:"@ima/cli"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added support for ",(0,s.jsx)(n.strong,{children:"3rd party source maps"})," using ",(0,s.jsx)(n.code,{children:"source-loader"}),", this is usefull especially in error overlay."]}),"\n",(0,s.jsxs)(n.li,{children:["Added ability to customize open URL using ",(0,s.jsx)(n.code,{children:"--openUrl"})," CLI argument or ",(0,s.jsx)(n.code,{children:"IMA_CLI_OPEN_URL"})," environment variable. For more information see ",(0,s.jsx)(n.a,{href:"/cli/#%E2%80%93openurl",children:"--openUrl"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Performance improvement"})," when building CSS/LESS files (except CSS modules), on ",(0,s.jsx)(n.code,{children:"server"})," and ",(0,s.jsx)(n.code,{children:"client"})," bundles. This can add up to 25% built speed improvement depending on the amount of CSS files your project is using."]}),"\n",(0,s.jsxs)(n.li,{children:["Added additional CLI output information when ",(0,s.jsx)(n.code,{children:"forcedLegacy"})," and ",(0,s.jsx)(n.code,{children:"writeToDisk"})," options are used."]}),"\n",(0,s.jsx)(n.li,{children:"Fixed manifest CSS files regexp, only files from static/css/ folder are now included in final manifest.json file."}),"\n",(0,s.jsxs)(n.li,{children:["Added new export for ",(0,s.jsx)(n.code,{children:"findRules"}),", this is simple helper function you can use to extract rules from webpack config in yor plugins for easier customization."]}),"\n",(0,s.jsxs)(n.li,{children:["Added new export for ",(0,s.jsx)(n.code,{children:"createWebpackConfig"}),", when provided with CLI args and ",(0,s.jsx)(n.code,{children:"imaConfig"}),", it generates webpack configurations which are then passed to webpack compiler. This can be usefull for other tooling like StoryBook, where you need to customize different webpack config with fields from the IMA app one"]}),"\n",(0,s.jsxs)(n.li,{children:["Added additional ",(0,s.jsx)(n.code,{children:"ImaConfigurationContext"})," variables: ",(0,s.jsx)(n.code,{children:"isClientES"}),", ",(0,s.jsx)(n.code,{children:"isClient"})," and ",(0,s.jsx)(n.code,{children:"outputFolders"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsxs)(n.strong,{children:["Added support for ",(0,s.jsx)(n.code,{children:"prepareConfigurations"})," CLI plugin method"]}),", which lets you customize webpack configuration contexts, before generating webpack config from them."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsxs)(n.strong,{children:["Added new ",(0,s.jsx)(n.code,{children:"cssBrowsersTarget"})," ima.config.js settings"]}),", this allows you to easily customize postcss-preset-env browsers targets field."]}),"\n"]}),"\n",(0,s.jsx)("div",{class:"text--center",children:(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"New @ima/cli@19 features",src:i(4563).A+"",width:"673",height:"185"})})}),"\n",(0,s.jsx)("div",{class:"text--center",children:(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"New @ima/cli@19 features",src:i(6436).A+"",width:"671",height:"188"})})}),"\n",(0,s.jsx)(n.h3,{id:"imaplugin-cli",children:"@ima/plugin-cli"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Added support for source-maps"}),", now all files transformed using ",(0,s.jsx)(n.code,{children:"swc"})," (JS/TS) also produce ",(0,s.jsx)(n.code,{children:".map"})," files alongside transformed files."]}),"\n",(0,s.jsxs)(n.li,{children:["Added ability to enable/disable source maps generation using ",(0,s.jsx)(n.code,{children:"sourceMaps"})," option in ",(0,s.jsx)(n.code,{children:"ima-plugin.config.js"})," configuration file."]}),"\n",(0,s.jsxs)(n.li,{children:["Added ability to add new custom transformers using ",(0,s.jsx)(n.code,{children:"transformers"})," option in",(0,s.jsx)(n.code,{children:" ima-plugin.config.js"})," configuration file."]}),"\n",(0,s.jsxs)(n.li,{children:["When parsing configuration file the plugin now searches for ",(0,s.jsx)(n.code,{children:"ima-plugin.config.js"})," files recursively up to filesystem root. This allows to have one custom config file for monorepositories and removes the need of duplicating same config across all package directories."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imahmr-client",children:"@ima/hmr-client"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed async issue in HMR, where IMA app could be re-rendered before the old instance finished cleanup."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imacore",children:"@ima/core"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added new ",(0,s.jsx)(n.code,{children:"CancelError"})," used for canceling running route handlers."]}),"\n",(0,s.jsx)(n.li,{children:"Fix window history for error action, error pages are now not added to window history."}),"\n",(0,s.jsx)(n.li,{children:"Package source files now include source map files."}),"\n",(0,s.jsxs)(n.li,{children:["Added ",(0,s.jsx)(n.code,{children:"RouterEvents.BEFORE_LOADING_ASYNC_ROUTE"})," and ",(0,s.jsx)(n.code,{children:"RouterEvents.AFTER_LOADING_ASYNC_ROUTE"})," dispatcher events, which you can use to implement custom loaders when routing between async routes (or use it for any other handling)."]}),"\n",(0,s.jsxs)(n.li,{children:["All exports now use ",(0,s.jsx)(n.strong,{children:"named exports"})," (this is technically only package-wide change and does not mean nothing for the end user)."]}),"\n",(0,s.jsxs)(n.li,{children:["Added multiple new ",(0,s.jsx)(n.strong,{children:"TS types"}),", while also fixing existing types. Since rewriting IMA.js to typescript has been huge task, there may still be some type inconsistencies which we will try to fix in following releases to further improve TS experience in IMA.js ecosystem."]}),"\n",(0,s.jsxs)(n.li,{children:["Added new ",(0,s.jsx)(n.code,{children:"onRun"})," event to ",(0,s.jsx)(n.code,{children:"window.$IMA.Runner"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Add new methods ",(0,s.jsx)(n.code,{children:"isClientError()"})," and ",(0,s.jsx)(n.code,{children:"isRedirection()"})," to ",(0,s.jsx)(n.code,{children:"GenericError"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"getRouteHandlersByPath()"})," method on ",(0,s.jsx)(n.code,{children:"AbstractRouter"})," is now public. This return's middlewares and route for given path."]}),"\n",(0,s.jsx)(n.li,{children:"Fixed HttpAgent types -> data in method arguments should be optional"}),"\n",(0,s.jsx)(n.li,{children:"Fixed missing transaction cleanup in PageStateManager"}),"\n",(0,s.jsx)(n.li,{children:"Fix missing optional parameters in static router that were evaluated as undefined instead of 'undefined'."}),"\n",(0,s.jsxs)(n.li,{children:["Added autocompletion support for language file keys in localization functions. To be able to use this function, update ",(0,s.jsx)(n.code,{children:"jsconfig.json"}),"/",(0,s.jsx)(n.code,{children:"tsconfig.json"})," according to the documentation (adding ",(0,s.jsx)(n.code,{children:'./build/tmp/types/**/*"'})," path to ",(0,s.jsx)(n.code,{children:"include"})," field should suffice)."]}),"\n",(0,s.jsxs)(n.li,{children:["Controller and Extension event bus methods can be targeted with prefix. Prefix is set by static field in controller/extension class e.g. ",(0,s.jsx)(n.code,{children:"$name = 'ArticleController'"}),";. Event is then ",(0,s.jsx)(n.code,{children:"ArticleController.eventName"}),":"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",metastring:'title="./app/page/article/ArticleController.js"',children:"class ArticleController {\n static $name = 'ArticleController';\n\n onExpand({\xa0expandableId }) {\n console.log(expandableId);\n }\n}\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",metastring:'title="./app/component/expandable/ExpandLink.jsx"',children:"function ExpandLink() {\n onClick(event) {\n const { expandableId } = this.props;\n this.fire('ArticleController.expand', { expandableId });\n }\n}\n"})}),"\n",(0,s.jsx)(n.h4,{id:"router-changes",children:"Router changes"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added middleware execution timeout => all middlewares must execute within this defined timeframe (defaults to 30s). This can be customized using ",(0,s.jsx)(n.code,{children:"$Router.middlewareTimeout"})," app settings."]}),"\n",(0,s.jsxs)(n.li,{children:["Router middlewares now support ",(0,s.jsx)(n.code,{children:"next"})," callback, which when defined, has to be called, otherwise the middleware will eventually timeout and not proceed any further. This enables some additional features, where you are able to stop route processing by not calling the ",(0,s.jsx)(n.code,{children:"next"})," function if desired."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Middlewares can now return object value"}),", which will be merged to the locals object, received as a second argument in middleware function. Middlewares wich ",(0,s.jsx)(n.code,{children:"next"}),' callback function can "return" additional locals by calling ',(0,s.jsx)(n.code,{children:"next"})," with an argument."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"router.use(async (params, locals, next) => {\n next({ counter: counter++ });\n});\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["For more information about middlewares see ",(0,s.jsx)(n.a,{href:"/basic-features/routing/middlewares",children:"middlewares section"}),"."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imareact-page-renderer",children:"@ima/react-page-renderer"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Package source files now include source map files."}),"\n",(0,s.jsx)(n.li,{children:"Fixed once hook parametr type."}),"\n",(0,s.jsxs)(n.li,{children:["Moved meta tags management to new PageMetaHandler, see ",(0,s.jsx)(n.a,{href:"/basic-features/seo-and-meta-manager",children:"Seo and Meta Manager"})," section for new updates to meta manager."]}),"\n",(0,s.jsxs)(n.li,{children:["IMA specific React hooks have been rewritten to ",(0,s.jsx)(n.strong,{children:"TypeScript"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"Added package exports of multiple missing TS types and other interfaces (this provides better support for writing your applications in TS)."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imaerror-overlay",children:"@ima/error-overlay"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed an issue where invalid Error params caused circular dependency error."}),"\n",(0,s.jsx)(n.li,{children:"Fixed an issue where errors, that occurred before error overlay is initialized were not reported to the error overlay."}),"\n",(0,s.jsx)(n.li,{children:"Reduced number of levels that are expanded by default in error overlay error params view."}),"\n",(0,s.jsx)(n.li,{children:"Added ability to hide/show error params, this settings is saved to local storage."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imaserver",children:"@ima/server"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Style content variable now automatically generates preload links for app styles."}),"\n",(0,s.jsxs)(n.li,{children:["Added new metric - ",(0,s.jsx)(n.strong,{children:"concurrent requests"})," to monitoring."]}),"\n",(0,s.jsx)(n.li,{children:"Add information about error cause in places, where we used to throw away this information."}),"\n",(0,s.jsx)(n.li,{children:"Add routeName key to res.locals instead of res.$IMA, since res.$IMA should not be used anymore."}),"\n",(0,s.jsxs)(n.li,{children:["Added ",(0,s.jsx)(n.code,{children:"X-Request-ID"})," to revival settings. Can be accessed through ",(0,s.jsx)(n.code,{children:"$IMA.$RequestID"}),". This can be usefull to match same requests between client and server instances."]}),"\n",(0,s.jsxs)(n.li,{children:["Added ",(0,s.jsx)(n.strong,{children:"XSS protection"})," to ",(0,s.jsx)(n.strong,{children:"host"})," and ",(0,s.jsx)(n.strong,{children:"protocol"})," in revival settings."]}),"\n",(0,s.jsx)(n.li,{children:"Add support for Client Errors and Redirects when serving static error pages."}),"\n",(0,s.jsxs)(n.li,{children:["Added option to ",(0,s.jsx)(n.strong,{children:"force app host"})," and ",(0,s.jsx)(n.strong,{children:"protocol"}),", using ",(0,s.jsx)(n.code,{children:"$Server.host"})," and ",(0,s.jsx)(n.code,{children:"$Server.protocol"})," settings in the ",(0,s.jsx)(n.code,{children:"environment.js"}),". (These 2 values can also be functions)."]}),"\n",(0,s.jsx)(n.li,{children:"The App error route is protected for exceeding static thresholds."}),"\n",(0,s.jsxs)(n.li,{children:["The Emitter ",(0,s.jsx)(n.code,{children:"event.cause"})," is removed. The error cause is set in ",(0,s.jsx)(n.code,{children:"event.error.cause"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"Fixed issue with dummyApp forcing 'en' language, which fails to resolve on applications with different language settings."}),"\n",(0,s.jsx)(n.li,{children:"Fixed issue where server redirect showed ErrorOverlay in debug mode."}),"\n",(0,s.jsxs)(n.li,{children:["The instances of ",(0,s.jsx)(n.code,{children:"$Dispatcher"}),", ",(0,s.jsx)(n.code,{children:"$Cache"}),", ",(0,s.jsx)(n.code,{children:"$PageRenderer"})," and ",(0,s.jsx)(n.code,{children:"$PageManager"})," are cleared after server sending response. Clearing PageManager cause calling ",(0,s.jsx)(n.code,{children:"destroy"})," lifecycle method of controller and extensions on server."]}),"\n",(0,s.jsxs)(n.li,{children:["Add option to use custom ",(0,s.jsx)(n.code,{children:"manifestRequire"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"SPA blacklist config is omitted for using degradation isSPA method when decision serving SPA page."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"create-ima-app",children:"create-ima-app"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added new ",(0,s.jsx)(n.strong,{children:"typescript template"}),", use ",(0,s.jsx)(n.code,{children:"--typescript"})," option when generating new application."]}),"\n",(0,s.jsx)(n.li,{children:"Migrated from default to named exports."}),"\n",(0,s.jsx)(n.li,{children:"Fixed default static path and public path settings."}),"\n",(0,s.jsx)(n.li,{children:"Updated environment.js and settings.js to support new IMA19 features."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"breaking-changes",children:"Breaking Changes"}),"\n",(0,s.jsx)(n.h3,{id:"imacli-1",children:"@ima/cli"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Removed ",(0,s.jsx)(n.code,{children:"isESVersion"})," ",(0,s.jsx)(n.code,{children:"ImaConfigurationContext"})," variable (use ",(0,s.jsx)(n.code,{children:"isClientES"})," instead)."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imacore-1",children:"@ima/core"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"AbstractRouter.manage"})," method no longer has controller and view properties in an object argument."]}),"\n",(0,s.jsxs)(n.li,{children:['Multiple changes in router route handling and page manager with a goal of implementing ability to cancel running handlers before handling a new ones. This results in much more stable routing specifically when using async routes. Each route should now be executed "',(0,s.jsx)(n.strong,{children:"sequentially"}),"\" where BEFORE/AFTER_HANDLE_ROUTE router events should always fire in correct order. Also if you quickly move between different routes, without them finishing loading, the page manager is able to cancel it's executing mid handling and continue with a new route, which results in faster and more stable routing. While this change is essentially not a breaking change, since it only changes our internal API, it could possibly result in some new behavior."]}),"\n",(0,s.jsxs)(n.li,{children:["Removed ",(0,s.jsx)(n.code,{children:"ExtensibleError"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"StatusCode"})," has been renamed to ",(0,s.jsx)(n.code,{children:"HttpStatusCode"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"$Source"})," environment.js variable has been renamed to ",(0,s.jsx)(n.code,{children:"$Resources"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Removed deprecated package ",(0,s.jsx)(n.strong,{children:"entry points"}),", this includes all imports directly referencing files from ",(0,s.jsx)(n.code,{children:"./dist/"})," directory. Please update your imports to the new ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/master/packages/core/package.json#L39",children:"exports fields"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"extractParameters()"})," function in ",(0,s.jsx)(n.code,{children:"DynamicRoute"})," now receives additional object argument, containing ",(0,s.jsx)(n.code,{children:"query"})," and ",(0,s.jsx)(n.code,{children:"path"})," (not modified path) for more control over extracted parameters. ",(0,s.jsxs)(n.strong,{children:["The router now uses params returned from ",(0,s.jsx)(n.code,{children:"extractParameters()"})," directly"]}),". It no longer automatically merges query params into the resulting object. If you want to preserve this behavior, merge the extracted route params with query object provided in the second argument."]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"router-changes-1",children:"Router changes"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Replace custom URL parsing methods in ",(0,s.jsx)(n.code,{children:"AbstractRoute"}),", ",(0,s.jsx)(n.code,{children:"StaticRoute"})," and ",(0,s.jsx)(n.code,{children:"DynamicRoute"})," with combination of native ",(0,s.jsx)(n.code,{children:"URL"})," and ",(0,s.jsx)(n.code,{children:"URLSearchParams"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Removed ",(0,s.jsx)(n.code,{children:"pairsToQuery"}),", ",(0,s.jsx)(n.code,{children:"paramsToQuery"}),", ",(0,s.jsx)(n.code,{children:"getQuery"}),", ",(0,s.jsx)(n.code,{children:"decodeURIParameter"})," static methods on ",(0,s.jsx)(n.code,{children:"AbstractRoute"}),". These have been replaced with combination of native ",(0,s.jsx)(n.code,{children:"URL"})," and ",(0,s.jsx)(n.code,{children:"URLSearchParams"})," interfaces."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"getTrimmedPath"})," static method in ",(0,s.jsx)(n.code,{children:"AbstractRoute"})," is now instance method."]}),"\n",(0,s.jsxs)(n.li,{children:["Url query params with no value (",(0,s.jsx)(n.code,{children:"?param="}),") are no longer extracted as ",(0,s.jsx)(n.code,{children:"{ param: true }"}),", but as ",(0,s.jsx)(n.code,{children:"{ param: '' }"}),". Please update your code to check for ",(0,s.jsx)(n.code,{children:"key"})," presence in these cases rather than ",(0,s.jsx)(n.code,{children:"true"})," value."]}),"\n",(0,s.jsxs)(n.li,{children:["Parsing of semi-colons inside query params is not supported (as a result of using ",(0,s.jsx)(n.code,{children:"URLSearchParams"}),")"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"httpagent-changes",children:"HttpAgent changes"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"IMA HttpAgent"})," now removes by default all headers from request and response which is stored in Cache. You can turn off this behavior with ",(0,s.jsx)(n.code,{children:"keepSensitiveHeaders"})," option but ",(0,s.jsx)(n.strong,{children:"it is not recommended"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"Removed support for HttpAgent options.listener (these were used mainly in plugin-xhr, which is now unsupported)"}),"\n",(0,s.jsxs)(n.li,{children:["You can now define multiple ",(0,s.jsx)(n.code,{children:"postProcessors[]"})," in ",(0,s.jsx)(n.code,{children:"HttpAgent"})," options. This replaces old ",(0,s.jsx)(n.code,{children:"postProcessor"})," option, if you are using any post processor you need to update your options to postProcessors and make sure to wrap this post processor in an array."]}),"\n",(0,s.jsxs)(n.li,{children:["Remove older, conflicting settings of ",(0,s.jsx)(n.code,{children:"HttpAgent"}),", ",(0,s.jsx)(n.code,{children:"withCredentials"}),", ",(0,s.jsx)(n.code,{children:"headers"}),", and ",(0,s.jsx)(n.code,{children:"listeners"}),". The first two now conflict with the newer ",(0,s.jsx)(n.code,{children:"options.fetchOptions"}),", the last one (",(0,s.jsx)(n.code,{children:"listeners"}),") has been removed completely. ",(0,s.jsx)(n.code,{children:"options.withCredentials"})," and ",(0,s.jsx)(n.code,{children:"options.headers"})," are no longer followed. Use ",(0,s.jsx)(n.code,{children:"options.fetchOptions.credentials"})," and ",(0,s.jsx)(n.code,{children:"options.fetchOptions.headers"})," instead. For definition, see the native Fetch API (note: for simplicity, ",(0,s.jsx)(n.code,{children:"options.fetchOptions.headers"})," only accepts headers defined by an object, not a tuple or an instance of Headers)."]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"metamanager-changes",children:"MetaManager changes"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Rewritten meta tag management in SPA mode, ",(0,s.jsx)(n.strong,{children:"all MetaManager managed tags are removed between pages while new page contains only those currently defined using setMetaParams function in app controller"}),". This should make meta tags rendering more deterministic, while fixing situations where old meta tags might be left on the page indefinitely if not cleaner properly."]}),"\n",(0,s.jsxs)(n.li,{children:["MetaManager getters now always return object with key=value pairs of their set value. This should make settings additional meta attributes in loops much easier (for example: ",(0,s.jsx)(n.code,{children:"getMetaProperty('og:title'); -> { property: 'property-value' });"}),")"]}),"\n",(0,s.jsx)(n.li,{children:"Meta values/attributes with null/undefined values are not rendered, other values are converted to string."}),"\n",(0,s.jsxs)(n.li,{children:["Added new ",(0,s.jsx)(n.strong,{children:"iterator functions"})," to MetaManager."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"this.#metaManager.getMetaNamesIterator();\nthis.#metaManager.getMetaPropertiesIterator();\nthis.#metaManager.getLinksIterator();\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added ability to set ",(0,s.jsx)(n.strong,{children:"additional attributes"})," for meta tags/links in meta manager:"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"this.#metaManager.setLink('lcp-image', media.url, {\n 'lcp-image-imagesizes': media.sizes,\n 'lcp-image-imagesrcset': media.srcSet\n});\n"})}),"\n",(0,s.jsx)(n.h3,{id:"imareact-page-renderer-1",children:"@ima/react-page-renderer"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Removed deprecated package ",(0,s.jsx)(n.strong,{children:"entry points"}),", this includes all imports directly referencing files from ",(0,s.jsx)(n.code,{children:"./dist/"})," directory. Please update your imports to the new ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/master/packages/react-page-renderer/package.json#L23",children:"exports fields"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"isSSR"})," hook has been removed, use ",(0,s.jsx)(n.code,{children:"window.isClient()"})," directly from ",(0,s.jsx)(n.code,{children:"useComponentUtils()"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"useSettings"})," now returns ",(0,s.jsx)(n.code,{children:"undefined"}),", when settings is not found when using ",(0,s.jsx)(n.code,{children:"selector"})," namespace as an argument."]}),"\n",(0,s.jsxs)(n.li,{children:["All exports are now ",(0,s.jsx)(n.strong,{children:"named exports"}),", you need to update import to ",(0,s.jsx)(n.code,{children:"ClientPageRenderer"})," in bind.js to:"]}),"\n",(0,s.jsxs)(n.li,{children:["Changed signature of ",(0,s.jsx)(n.code,{children:"useWindowEvent"})," hook, it now matches bindEventListener parameters of ima window."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/bind.js",children:"import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Change order of method arguments in Component ",(0,s.jsx)(n.code,{children:"fire"})," method. ",(0,s.jsx)(n.code,{children:"target"})," has been moved to the first argument position."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"// from\nthis.fire('fetchDataArticles', event.target, { data: true })\n\n// to\nthis.fire(event.target, 'fetchDataArticles', { data: true })\n"})}),"\n",(0,s.jsx)(n.h3,{id:"imadev-utils",children:"@ima/dev-utils"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Package now uses ",(0,s.jsx)(n.code,{children:"exports"})," fields, instead of ",(0,s.jsx)(n.code,{children:"./dist/*"})," imports. ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/master/packages/dev-utils/package.json#L20",children:"See package.json"}),"."]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"imaserver-1",children:"@ima/server"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Update @esmj/monitor to 0.5.0 with breaking change for returns value from subscribe method where returns subscription is object with unsubscribe method."}),"\n",(0,s.jsxs)(n.li,{children:["Migrated urlParser middleware to ima server BeforeRequest hook. Remove ",(0,s.jsx)(n.code,{children:"urlParser"})," middleware from ",(0,s.jsx)(n.code,{children:"app.js"}),", it is now part of ",(0,s.jsx)(n.code,{children:"renderApp"})," middleware."]}),"\n",(0,s.jsxs)(n.li,{children:["Dropped support for direct ",(0,s.jsx)(n.code,{children:"response.contentVariables"})," mutations, use ",(0,s.jsx)(n.code,{children:"event.result"})," and return values in ",(0,s.jsx)(n.code,{children:"CreateContentVariables"})," event."]}),"\n",(0,s.jsxs)(n.li,{children:["Dropped support for ",(0,s.jsx)(n.code,{children:"$Source"}),", ",(0,s.jsx)(n.code,{children:"$RevivalSettings"}),", ",(0,s.jsx)(n.code,{children:"$RevivalCache"}),", ",(0,s.jsx)(n.code,{children:"$Runner"}),", ",(0,s.jsx)(n.code,{children:"$Styles"}),", ",(0,s.jsx)(n.code,{children:"$Scripts"})," content variables. These have been replaced by their lowerFirst counter-parts ",(0,s.jsx)(n.code,{children:"resource"})," (now replaces ",(0,s.jsx)(n.code,{children:"$Source"}),"), ",(0,s.jsx)(n.code,{children:"revivalSettings"}),", ",(0,s.jsx)(n.code,{children:"revivalCache"}),", ",(0,s.jsx)(n.code,{children:"runner"}),", ",(0,s.jsx)(n.code,{children:"styles"}),", while ",(0,s.jsx)(n.code,{children:"$Scripts"})," support have been dropped completely."]}),"\n",(0,s.jsxs)(n.li,{children:["Default resources in ",(0,s.jsx)(n.code,{children:"$Resources"})," now produce ",(0,s.jsx)(n.code,{children:"styles"})," and ",(0,s.jsx)(n.code,{children:"esStyles"})," fields (should not break anything in 99% of the applications). This does not necessarily mean which should be loaded on which ",(0,s.jsx)(n.code,{children:"es"})," version, but what bundle produced those styles. This also means that without any custom configuration, all styles should now be under ",(0,s.jsx)(n.code,{children:"esStyles"})," key, since they are built in client.es webpack bundle. This change was made to enable built of 2 CSS bundles simliar to how we handle ES bundles. This can be enabled using ",(0,s.jsx)(n.code,{children:"@ima/cli-plugin-legacy-css"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["The package now provides multiple additional exports using named exports, the deafult export has been replaced with named ",(0,s.jsx)(n.code,{children:"createIMAServer"})," function."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4563:(e,n,i)=>{i.d(n,{A:()=>r});const r=i.p+"assets/images/imacli_19_features_1-bccacd00b714058c0891eda0a425a4c2.jpg"},6436:(e,n,i)=>{i.d(n,{A:()=>r});const r=i.p+"assets/images/imacli_19_features_2-6db455dfb1f209720f0f48271a0e52be.jpg"},3023:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>a});var r=i(3696);const s={},t=r.createContext(s);function o(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/50a0dccc.5fda880f.js b/assets/js/50a0dccc.5fda880f.js new file mode 100644 index 000000000..71c164fc1 --- /dev/null +++ b/assets/js/50a0dccc.5fda880f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6142],{5782:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/AppSettings","title":"Type Alias: AppSettings","description":"AppSettings: object","source":"@site/../docs/api/@ima/core/type-aliases/AppSettings.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/AppSettings","permalink":"/api/@ima/core/type-aliases/AppSettings","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/AppSettings.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: AnyParameters","permalink":"/api/@ima/core/type-aliases/AnyParameters"},"next":{"title":"Type Alias: AsyncRouteController","permalink":"/api/@ima/core/type-aliases/AsyncRouteController"}}');var i=n(2540),r=n(3023);const c={},a="Type Alias: AppSettings",o={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"dev?",id:"dev",level:3},{value:"prod",id:"prod",level:3},{value:"regression?",id:"regression",level:3},{value:"test?",id:"test",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"type-alias-appsettings",children:"Type Alias: AppSettings"})}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"AppSettings"}),": ",(0,i.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L159",children:"packages/core/src/boot.ts:159"})]}),"\n",(0,i.jsx)(s.p,{children:"App settings function, used in ./app/config/settings.js"}),"\n",(0,i.jsx)(s.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(s.h3,{id:"dev",children:"dev?"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"optional"})," ",(0,i.jsx)(s.strong,{children:"dev"}),": ",(0,i.jsx)(s.code,{children:"PartialDeep"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,i.jsx)(s.code,{children:"Settings"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"prod",children:"prod"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"prod"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,i.jsx)(s.code,{children:"Settings"})})]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"regression",children:"regression?"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"optional"})," ",(0,i.jsx)(s.strong,{children:"regression"}),": ",(0,i.jsx)(s.code,{children:"PartialDeep"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,i.jsx)(s.code,{children:"Settings"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"test",children:"test?"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"optional"})," ",(0,i.jsx)(s.strong,{children:"test"}),": ",(0,i.jsx)(s.code,{children:"PartialDeep"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,i.jsx)(s.code,{children:"Settings"})}),">"]}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>a});var t=n(3696);const i={},r=t.createContext(i);function c(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/50f70a8b.4f12a211.js b/assets/js/50f70a8b.4f12a211.js new file mode 100644 index 000000000..588517962 --- /dev/null +++ b/assets/js/50f70a8b.4f12a211.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9862],{703:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>l,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"tutorial/writing-posts","title":"Writing Posts","description":"Tutorial > Writing Posts","source":"@site/../docs/tutorial/writing-posts.mdx","sourceDirName":"tutorial","slug":"/tutorial/writing-posts","permalink":"/tutorial/writing-posts","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/writing-posts.mdx","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Writing Posts","description":"Tutorial > Writing Posts"},"sidebar":"tutorial","previous":{"title":"Fetching Data","permalink":"/tutorial/fetching-data"},"next":{"title":"Final Polish","permalink":"/tutorial/final-polish"}}');var o=n(2540),r=n(3023),a=n(3776),i=n(6052);const c={title:"Writing Posts",description:"Tutorial > Writing Posts"},l=void 0,h={},d=[{value:"Processing input from user",id:"processing-input-from-user",level:2},{value:"Updating the form",id:"updating-the-form",level:3},{value:"Firing EventBus events",id:"firing-eventbus-events",level:3},{value:"Capturing EventBus events",id:"capturing-eventbus-events",level:3},{value:"Updating our post service classes",id:"updating-our-post-service-classes",level:4},{value:"Defining the <code>onPostSubmitted</code> method",id:"defining-the-onpostsubmitted-method",level:4},{value:"Updating the API",id:"updating-the-api",level:3}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["In ",(0,o.jsx)(t.a,{href:"./fetching-data.md",children:"previous part"})," we created our classes and services to handle data fetching from server.\nWe also learned something about the vital parts of IMA.js - ",(0,o.jsx)(t.strong,{children:"object container"})," and ",(0,o.jsx)(t.strong,{children:"server-side rendering"}),".\nIn this smaller section of the tutorial, we're going to be processing input from user and\nsending those data to the server."]}),"\n",(0,o.jsx)(t.h2,{id:"processing-input-from-user",children:"Processing input from user"}),"\n",(0,o.jsx)(t.p,{children:"To write new posts, we need to address several issues:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Notifying the controller"})," that the user submitted the new post."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Sending the post"})," to our server via HTTP (remember, we don't have\nan actual REST API backend, so we're going to mock this)."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Waiting for our post"})," to be saved."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Showing the updated"})," list of posts."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["We want the controller to handle submitting posts to the guest book in our\napplication instead of the ",(0,o.jsx)(t.code,{children:"postingForm"})," component to ",(0,o.jsx)(t.strong,{children:'maintain a single\n"source of truth"'})," in our application. This should be the case for all\ninformation that is related to the page as a whole. ",(0,o.jsx)(t.strong,{children:"Local information"})," (for\nexample starting music playback when the user clicks the play button of some\nplayer component) may remain stored within the component itself, as it is not\nnecessarily important to the overall state of the page."]}),"\n",(0,o.jsxs)(t.p,{children:["We'll use another IMA.js service to notify the controller that the user\nsubmitted a new post - the ",(0,o.jsx)(t.strong,{children:"EventBus"}),". In case you did not read ",(0,o.jsx)(t.a,{href:"/tutorial/adding-some-state#notes-on-communication-between-controllers-and-views",children:"the details\nabout communication between the controller and the view"}),"\n, the EventBus is an internal event system, built on top of DOM events, used for communication like this."]}),"\n",(0,o.jsx)(t.h3,{id:"updating-the-form",children:"Updating the form"}),"\n",(0,o.jsxs)(t.p,{children:["First update the ",(0,o.jsx)(t.code,{children:"<form ..."})," markup in the view of our ",(0,o.jsx)(t.code,{children:"PostingForm"})," component\n(",(0,o.jsx)(t.code,{children:"app/component/postingForm/PostingForm.jsx"}),") by adding an ",(0,o.jsx)(t.code,{children:"onSubmit"})," event\nlistener:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-jsx",children:'<form action="" method="post" onSubmit={e => this._onSubmit(e)}>\n'})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"<form action='' method='post' onSubmit={e => handleSubmit(e)}>\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Then we need to hook our inputs to ",(0,o.jsx)(t.code,{children:"_onChange()"})," handler which will set the contents of\nthose input to the state of our ",(0,o.jsx)(t.code,{children:"PostingForm"})," component."]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-jsx",children:'<input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n value={this.state.author}\n onChange={e => this._onChange(e)}\n placeholder="Your name"\n/>\n...\n<textarea\n id="postForm-content"\n className="form-control"\n name="content"\n value={this.state.content}\n onChange={e => this._onChange(e)}\n placeholder="What would you like to tell us?"\n/>\n'})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"<input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n value={post.author}\n onChange={e => handleChange(e)}\n placeholder='Your name'\n/>\n...\n<textarea\n id='postForm-content'\n className='form-control'\n name='content'\n value={post.content}\n onChange={e => handleChange(e)}\n placeholder='What would you like to tell us?'\n/>\n"})})})]}),"\n",(0,o.jsx)(t.p,{children:"We can't forget to define the default state for these two keys:"}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"#containerRef;\nconstructor(props, context) {\n super(props, context);\n this.#containerRef = createRef();\n this.state = {\n author: '',\n content: ''\n };\n}\n"})})}),(0,o.jsxs)(i.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"type Post = {\n author: string;\n content: string;\n};\n\nexport function PostingForm() {\n const containerRef: RefObject<HTMLDivElement> = createRef();\n const [post, setPost] = useState<Post>({\n author: '',\n content: '',\n });\n\n ...\n}\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"TypeScript:"})," Again, instead of the constructor, we used ",(0,o.jsx)(t.code,{children:"useState"})," hook from React and defined ",(0,o.jsx)(t.code,{children:"Post"})," type\nfor the newly defined state."]}),"\n"]})]})]}),"\n",(0,o.jsxs)(t.p,{children:["Import the ",(0,o.jsx)(t.code,{children:"createRef"})," from React to the\nbeginning of the file:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"import { createRef } from 'react';\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"import { RefObject, createRef } from 'react';\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["...and add ",(0,o.jsx)(t.code,{children:"ref={this.#containerRef}"})," to the first ",(0,o.jsx)(t.code,{children:"div"})," in the the component:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"...\nrender() {\n return (\n <div className='posting-form card' ref={this.#containerRef}>\n <form action='' method='post' onSubmit={e => this._onSubmit(e)}>\n ...\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"...\nreturn (\n <div className='posting-form card' ref={containerRef}>\n <form action='' method='post' onSubmit={e => handleSubmit(e)}>\n ...\n"})})})]}),"\n",(0,o.jsx)(t.p,{children:"This adds some internal state to our form component, which we'll maintain\nseparately from the main page state maintained by the home page controller."}),"\n",(0,o.jsxs)(t.p,{children:["Now we need to define the ",(0,o.jsx)(t.code,{children:"_onChange()"})," handler. We're going to use the\n",(0,o.jsx)(t.code,{children:"name"})," attribute of input and textarea fields so both can be handled by defining only one method.\nBut feel free to define ",(0,o.jsx)(t.code,{children:"onChange"})," handlers for each input separately, if that suits you better.\nOur ",(0,o.jsx)(t.code,{children:"_onChange()"})," handler will look like this:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_onChange(event) {\n this.setState({\n [event.target.name]: event.target.value\n });\n}\n"})})}),(0,o.jsxs)(i.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"const handleChange = (event: any): void => {\n setPost({ ...post, [event.target.name]: event.target.value });\n};\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:["**TypeScript: ** In our functional component we replaced the ",(0,o.jsx)(t.code,{children:"_onChange()"})," method with ",(0,o.jsx)(t.code,{children:"handleChange()"})," arrow function."]}),"\n"]})]})]}),"\n",(0,o.jsxs)(t.p,{children:["The only thing that remains is to define the ",(0,o.jsx)(t.code,{children:"_onSubmit()"})," in our component:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_onSubmit(event) {\n event.preventDefault();\n\n this.fire(this.#containerRef.current, 'postSubmitted', {\n author: this.state.author,\n content: this.state.content\n });\n\n // Reset the state after submitting\n this.setState({\n author: '',\n content: ''\n });\n}\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"const { fire } = useComponent();\n\nconst handleSubmit = (event: any): void => {\n event.preventDefault();\n\n fire(containerRef.current as EventTarget, 'postSubmitted', post);\n\n setPost({ author: '', content: '' });\n};\n"})})})]}),"\n",(0,o.jsx)(t.h3,{id:"firing-eventbus-events",children:"Firing EventBus events"}),"\n",(0,o.jsxs)(t.p,{children:["We can ",(0,o.jsx)(t.strong,{children:"fire EventBus events"})," through ",(0,o.jsx)(t.code,{children:"this.fire()"})," method that is available\nto us by extending the ",(0,o.jsx)(t.code,{children:"AbstractComponent"}),". So in this example\nwe fire the ",(0,o.jsx)(t.code,{children:"postSubmitted"})," event through EventBus with the form data as\nthe event data, clear the form, and finally we prevent the browser from\nsubmitting the form to the server."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:["**Typescript: ** In functional components, the ",(0,o.jsx)(t.code,{children:"fire"})," method is provided\nto us by the ",(0,o.jsx)(t.code,{children:"useComponent"})," hook, which gives us access to the utility methods."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"this.fire()"})," method is a ",(0,o.jsx)(t.strong,{children:"short-hand"})," for ",(0,o.jsx)(t.code,{children:"this.utils.$EventBus.fire(this, ...)"}),"\ncall, which fires the custom DOM event using the EventBus. The ",(0,o.jsx)(t.code,{children:"this.utils"}),"\nproperty is set to the view utils - various objects, data and services that\nare useful for rendering the UI - and is obtained from the React context.\nThe value returned by ",(0,o.jsx)(t.code,{children:"this.utils"})," is configurable in the\n",(0,o.jsx)(t.code,{children:"app/config/bind.js"})," configuration file and is represented by the constant\n",(0,o.jsx)(t.code,{children:"$Utils"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"capturing-eventbus-events",children:"Capturing EventBus events"}),"\n",(0,o.jsxs)(t.p,{children:["Now we need a way to capture the event in our home page controller, so open up\nthe home controller (the ",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"})," file) and add the\nfollowing method:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"onPostSubmitted(eventData) {\n // TODO\n}\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"onPostSubmitted(eventData: PostData) {\n // TODO\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["The IMA.js will automatically invoke this method when the ",(0,o.jsx)(t.code,{children:"postSubmitted"})," event\nbus event occurs. For details on how this mechanism works, please refer to the\n",(0,o.jsx)(t.a,{href:"./adding-some-state.md#emitting-events-using-the-eventbus",children:"Emitting events using the EventBus"}),"\nsection of the third chapter of this tutorial."]}),"\n",(0,o.jsxs)(t.p,{children:["Notice that our ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"})," event listener is a public method. This is\nbecause it represents the (event) interface for the view components."]}),"\n",(0,o.jsx)(t.h4,{id:"updating-our-post-service-classes",children:"Updating our post service classes"}),"\n",(0,o.jsxs)(t.p,{children:["Before we fill our ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"})," event listener with content however,\nwe need to update our post model classes first. Open the post factory class (",(0,o.jsx)(t.code,{children:"app/model/post/PostFactory.js"}),")\nand add the following method for creating a single post:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"createEntity(entityData) {\n return new PostEntity(entityData);\n}\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"createEntity(entityData: PostData): PostEntity {\n return new PostEntity(entityData);\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Since we don't like to repeat ourselves, update the ",(0,o.jsx)(t.code,{children:"return"})," statement in the\n",(0,o.jsx)(t.code,{children:"createList()"})," method as well:"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"return entities.map(entityData => this.createEntity(entityData));\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"return entities.map((entityData: PostData) => this.createEntity(entityData));\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Now add the following method for creating new posts to the post resource\n(",(0,o.jsx)(t.code,{children:"app/model/post/PostResource.js"}),"):"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"createPost(postData) {\n return this._http\n .post('http://localhost:3001/static/static/public/posts.json', postData)\n .then(response => this._factory.createEntity(response.body));\n}\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"type PostApiCreateResponse = {\n body: PostData;\n};\n\nexport class PostResource {\n ...\n\n createPost(postData: PostData): Promise<PostEntity> {\n return this._http\n .post('http://localhost:3001/static/static/public/posts.json', postData)\n .then((response: PostApiCreateResponse) =>\n this._factory.createEntity(response.body)\n );\n }\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["This method accepts a plain object containing the new post data and submits\nthem to the server using an HTTP POST request. The ",(0,o.jsx)(t.code,{children:"_http.post()"})," method sends\nthe HTTP POST request and returns a promise that resolves to the server's\nresponse with the response body parsed as JSON. We then use the server's\nresponse to create a post entity representing the saved post."]}),"\n",(0,o.jsxs)(t.p,{children:["Next we need to create a method for creating posts in our post service\n(",(0,o.jsx)(t.code,{children:"app/model/post/PostService.js"}),"):"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"createPost(postData) {\n postData.id = null;\n return this._resource.createPost(postData);\n}\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"createPost(postData: PostData): Promise<PostEntity> {\n postData.id = null;\n return this._resource.createPost(postData);\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["This method sets the ",(0,o.jsx)(t.code,{children:"id"})," field to ",(0,o.jsx)(t.code,{children:"null"})," as it is expected for posts that were\nnot created yet (the post IDs should be generated by our backend) and uses the\npost resource to create the post. The method returns a promise that resolves to\nthe post entity representing the created post."]}),"\n",(0,o.jsxs)(t.h4,{id:"defining-the-onpostsubmitted-method",children:["Defining the ",(0,o.jsx)(t.code,{children:"onPostSubmitted"})," method"]}),"\n",(0,o.jsxs)(t.p,{children:["With that in place, we can now fill in the contents of the ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"}),"\nevent listener in the home page controller (",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),"):"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then(posts => this.setState({ posts }));\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then((posts: PostData[]) => this.setState({ posts }));\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["This snippet calls the ",(0,o.jsx)(t.code,{children:"createPost()"})," method with our event data, waits for the\npost to be created, then requests the current list of posts from the post\nservice and updates the ",(0,o.jsx)(t.code,{children:"posts"})," field in the view's state using the\n",(0,o.jsx)(t.code,{children:"setState()"})," method. The ",(0,o.jsx)(t.code,{children:"setState()"})," method updated only the fields of the\nstate that are present in the provided state object without modifying the rest,\nand notifies the view about the new state so that the view is re-rendered."]}),"\n",(0,o.jsx)(t.h3,{id:"updating-the-api",children:"Updating the API"}),"\n",(0,o.jsx)(t.p,{children:"Now that everything is wired up, we can start submitting new posts, right?\nWell, not so fast. Remember, we do not have an actual REST API backend, so the\nHTTP POST request will fail and no new post will be created."}),"\n",(0,o.jsxs)(t.p,{children:["Since we don't want to implement an actual backend, we will work around this\nissue by implementing a ",(0,o.jsx)(t.a,{href:"http://en.wikipedia.org/wiki/Mock_object",children:"mock"})," ",(0,o.jsx)(t.strong,{children:"HTTP agent"})," that fetches the posts from the server and then acts as if sending\nsubsequent requests to the server while managing our state (the created posts)\nlocally and creating responses on spot without any actual communication with\nthe server. This approach is useful for both tests and our simple tutorial."]}),"\n",(0,o.jsxs)(t.p,{children:["To create our HTTP mock create the ",(0,o.jsx)(t.code,{children:"app/mock"})," directory and the\n",(0,o.jsx)(t.code,{children:"app/mock/MockHttpAgent.js"})," file with the following content:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"import { HttpAgentImpl } from '@ima/core';\n\nconst GET_DELAY = 70; // milliseconds\nconst POST_DELAY = 90; // milliseconds\n\nexport default class MockHttpAgent extends HttpAgentImpl {\n static get $dependencies() {\n return ['$HttpAgentProxy', '$Cache', '$CookieStorage', '$Settings.$Http'];\n }\n\n constructor(proxy, cache, cookie, config) {\n super(proxy, cache, cookie, config);\n\n this._posts = null;\n }\n\n get(url, data, options = {}) {\n if (!this._posts) {\n return super.get(url, data, options).then(response => {\n this._posts = response.body;\n\n return {\n body: this._posts.map(post => Object.assign({}, post))\n };\n });\n }\n\n return new Promise(resolve => {\n setTimeout(() => {\n resolve({\n body: this._posts.map(post => Object.assign({}, post))\n });\n }, GET_DELAY);\n });\n }\n\n post(url, data, options = {}) {\n if (!this._posts) {\n return this.get(url, {}).then(() => this.post(url, data));\n }\n\n return new Promise(resolve => {\n setTimeout(() => {\n let clone = Object.assign({}, data);\n\n clone.id = this._posts[0].id + 1;\n this._posts.unshift(clone);\n\n resolve({\n body: Object.assign({}, clone)\n });\n }, POST_DELAY);\n });\n }\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Let's take this class apart and take a look at what it does. We extend the\n",(0,o.jsx)(t.code,{children:"ima/http/HttpAgent"})," class which is the HTTP agent provided by IMA.js, so\nwe need to obtain its dependencies in our constructor\n(",(0,o.jsx)(t.code,{children:"proxy, cache, cookie, config"}),") and pass them to the super-constructor."]}),"\n",(0,o.jsxs)(t.p,{children:["Next we set up the ",(0,o.jsx)(t.code,{children:"_posts"})," field that we'll use to keep track of all posts and few REST API methods:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsxs)(t.strong,{children:["The ",(0,o.jsx)(t.code,{children:"get()"})," method"]})," checks whether we already have the posts fetched from the\nserver, and, if we don't, it uses the super-implementation to fetch them and\nstore them in the ",(0,o.jsx)(t.code,{children:"_posts"})," field. If the posts have already been fetched, the\nmethod returns a promise that resolves to a clone of the posts after the\nconfigured delay."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsxs)(t.strong,{children:["The ",(0,o.jsx)(t.code,{children:"post()"})," method"]})," checks whether we already have the posts fetched from the\nserver, and, if we don't, it fetches them using the ",(0,o.jsx)(t.code,{children:"get()"})," method and then\ncalls itself again. If we already have the posts fetched, the method clones the\ndata passed to it in parameters, generates an ID, stores the new record as the\nfirst element of the ",(0,o.jsx)(t.code,{children:"_posts"})," array while shifting the rest of the posts and\nresolves the returned promise after the configured delay to the stored post."]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["We included the delays in our ",(0,o.jsx)(t.code,{children:"get()"})," and ",(0,o.jsx)(t.code,{children:"post()"})," methods to simulate the\nlatency imposed by a real networking. Also notice how we always clone the data\nwe receive before storing them internally and return only clones of our\ninternal posts storage. This is to emulate the server behavior reliably, so\nthat new posts won't modify previously returned post arrays and later\nmodifications of data passed to or received from our mock server won't modify\nthe internal state or data returned by other calls to our methods."]}),"\n",(0,o.jsxs)(t.p,{children:["To wire up our HTTP mock into our application, we need to update the dependencies of the ",(0,o.jsx)(t.code,{children:"app/model/post/PostResource.js"}),":"]}),"\n",(0,o.jsxs)(a.A,{children:[(0,o.jsx)(i.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"import PostFactory from './PostFactory';\nimport MockHttpAgent from 'app/mock/MockHttpAgent';\n\nexport default class PostResource {\n static get $dependencies() {\n return [MockHttpAgent, PostFactory];\n }\n\n ...\n}\n"})})}),(0,o.jsx)(i.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"import MockHttpAgent from 'app/mock/MockHttpAgent';\n\nexport class PostResource {\n static $dependencies: Dependencies = [MockHttpAgent, PostFactory];\n\n declare _http: MockHttpAgent;\n\n ...\n}\n"})})})]}),"\n",(0,o.jsx)(t.p,{children:"Go ahead and check the result in the browser, you will now be able to write new\nposts to our guestbook (which will disappear once you reload the page, since we\nkeep the posts only in our HTTP mock)."})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},6052:(e,t,n)=>{n.d(t,{A:()=>a});n(3696);var s=n(2689);const o={tabItem:"tabItem_wHwb"};var r=n(2540);function a(e){let{children:t,hidden:n,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.A)(o.tabItem,a),hidden:n,children:t})}},3776:(e,t,n)=>{n.d(t,{A:()=>w});var s=n(3696),o=n(2689),r=n(3707),a=n(9519),i=n(3604),c=n(5196),l=n(6229),h=n(8030);function d(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:o}}=e;return{value:t,label:n,attributes:s,default:o}}))}(n);return function(e){const t=(0,l.XI)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const o=(0,a.W6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c.aZ)(r),(0,s.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(o.location.search);t.set(r,e),o.replace({...o.location,search:t.toString()})}),[r,o])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:o}=e,r=u(e),[a,c]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:r}))),[l,d]=m({queryString:n,groupId:o}),[g,x]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,r]=(0,h.Dv)(n);return[o,(0,s.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:o}),j=(()=>{const e=l??g;return p({value:e,tabValues:r})?e:null})();(0,i.A)((()=>{j&&c(j)}),[j]);return{selectedValue:a,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);c(e),d(e),x(e)}),[d,x,r]),tabValues:r}}var x=n(5200);const j={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var f=n(2540);function v(e){let{className:t,block:n,selectedValue:s,selectValue:a,tabValues:i}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,r.a_)(),h=e=>{const t=e.currentTarget,n=c.indexOf(t),o=i[n].value;o!==s&&(l(t),a(o))},d=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":n},t),children:i.map((e=>{let{value:t,label:n,attributes:r}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:d,onClick:h,...r,className:(0,o.A)("tabs__item",j.tabItem,r?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function b(e){let{lazy:t,children:n,selectedValue:r}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===r));return e?(0,s.cloneElement)(e,{className:(0,o.A)("margin-top--md",e.props.className)}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function y(e){const t=g(e);return(0,f.jsxs)("div",{className:(0,o.A)("tabs-container",j.tabList),children:[(0,f.jsx)(v,{...t,...e}),(0,f.jsx)(b,{...t,...e})]})}function w(e){const t=(0,x.A)();return(0,f.jsx)(y,{...e,children:d(e.children)},String(t))}},3023:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(3696);const o={},r=s.createContext(o);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/50f70a8b.ab64d9cf.js b/assets/js/50f70a8b.ab64d9cf.js deleted file mode 100644 index 5834d06be..000000000 --- a/assets/js/50f70a8b.ab64d9cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9862],{5680:(e,t,n)=>{n.d(t,{xA:()=>u,yg:()=>g});var a=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=a.createContext({}),l=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},u=function(e){var t=l(e.components);return a.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),c=l(n),m=o,g=c["".concat(p,".").concat(m)]||c[m]||d[m]||r;return n?a.createElement(g,s(s({ref:t},u),{},{components:n})):a.createElement(g,s({ref:t},u))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,s=new Array(r);s[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[c]="string"==typeof e?e:o,s[1]=i;for(var l=2;l<r;l++)s[l]=n[l];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6185:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(6540),o=n(8017);const r={tabItem:"tabItem_Ymn6"};function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,o.A)(r.tabItem,s),hidden:n},t)}},1253:(e,t,n)=>{n.d(t,{A:()=>N});var a=n(8102),o=n(6540),r=n(8017),s=n(3104),i=n(9519),p=n(7485),l=n(1682),u=n(9466);function c(e){return function(e){return o.Children.map(e,(e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:o}}=e;return{value:t,label:n,attributes:a,default:o}}))}function d(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??c(n);return function(e){const t=(0,l.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.W6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,p.aZ)(r),(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(a.location.search);t.set(r,e),a.replace({...a.location,search:t.toString()})}),[r,a])]}function h(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,r=d(e),[s,i]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[p,l]=g({queryString:n,groupId:a}),[c,h]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,r]=(0,u.Dv)(n);return[a,(0,o.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:a}),y=(()=>{const e=p??c;return m({value:e,tabValues:r})?e:null})();(0,o.useLayoutEffect)((()=>{y&&i(y)}),[y]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),l(e),h(e)}),[l,h,r]),tabValues:r}}var y=n(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function v(e){let{className:t,block:n,selectedValue:i,selectValue:p,tabValues:l}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.a_)(),d=e=>{const t=e.currentTarget,n=u.indexOf(t),a=l[n].value;a!==i&&(c(t),p(a))},m=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=u.indexOf(e.currentTarget)+1;t=u[n]??u[0];break}case"ArrowLeft":{const n=u.indexOf(e.currentTarget)-1;t=u[n]??u[u.length-1];break}}t?.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t)},l.map((e=>{let{value:t,label:n,attributes:s}=e;return o.createElement("li",(0,a.A)({role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,key:t,ref:e=>u.push(e),onKeyDown:m,onClick:d},s,{className:(0,r.A)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":i===t})}),n??t)})))}function b(e){let{lazy:t,children:n,selectedValue:a}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===a));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},r.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function T(e){const t=h(e);return o.createElement("div",{className:(0,r.A)("tabs-container",f.tabList)},o.createElement(v,(0,a.A)({},e,t)),o.createElement(b,(0,a.A)({},e,t)))}function N(e){const t=(0,y.A)();return o.createElement(T,(0,a.A)({key:String(t)},e))}},5967:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>p,default:()=>g,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=n(8102),o=(n(6540),n(5680)),r=n(1253),s=n(6185);const i={title:"Writing Posts",description:"Tutorial > Writing Posts"},p=void 0,l={unversionedId:"tutorial/writing-posts",id:"tutorial/writing-posts",title:"Writing Posts",description:"Tutorial > Writing Posts",source:"@site/../docs/tutorial/writing-posts.mdx",sourceDirName:"tutorial",slug:"/tutorial/writing-posts",permalink:"/tutorial/writing-posts",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/writing-posts.mdx",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Writing Posts",description:"Tutorial > Writing Posts"},sidebar:"tutorial",previous:{title:"Fetching Data",permalink:"/tutorial/fetching-data"},next:{title:"Final Polish",permalink:"/tutorial/final-polish"}},u={},c=[{value:"Processing input from user",id:"processing-input-from-user",level:2},{value:"Updating the form",id:"updating-the-form",level:3},{value:"Firing EventBus events",id:"firing-eventbus-events",level:3},{value:"Capturing EventBus events",id:"capturing-eventbus-events",level:3},{value:"Updating our post service classes",id:"updating-our-post-service-classes",level:4},{value:"Defining the <code>onPostSubmitted</code> method",id:"defining-the-onpostsubmitted-method",level:4},{value:"Updating the API",id:"updating-the-api",level:3}],d={toc:c},m="wrapper";function g(e){let{components:t,...n}=e;return(0,o.yg)(m,(0,a.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,"In ",(0,o.yg)("a",{parentName:"p",href:"./fetching-data.md"},"previous part")," we created our classes and services to handle data fetching from server.\nWe also learned something about the vital parts of IMA.js - ",(0,o.yg)("strong",{parentName:"p"},"object container")," and ",(0,o.yg)("strong",{parentName:"p"},"server-side rendering"),".\nIn this smaller section of the tutorial, we're going to be processing input from user and\nsending those data to the server."),(0,o.yg)("h2",{id:"processing-input-from-user"},"Processing input from user"),(0,o.yg)("p",null,"To write new posts, we need to address several issues:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Notifying the controller")," that the user submitted the new post."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Sending the post")," to our server via HTTP (remember, we don't have\nan actual REST API backend, so we're going to mock this)."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Waiting for our post")," to be saved."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Showing the updated")," list of posts.")),(0,o.yg)("p",null,"We want the controller to handle submitting posts to the guest book in our\napplication instead of the ",(0,o.yg)("inlineCode",{parentName:"p"},"postingForm")," component to ",(0,o.yg)("strong",{parentName:"p"},'maintain a single\n"source of truth"')," in our application. This should be the case for all\ninformation that is related to the page as a whole. ",(0,o.yg)("strong",{parentName:"p"},"Local information")," (for\nexample starting music playback when the user clicks the play button of some\nplayer component) may remain stored within the component itself, as it is not\nnecessarily important to the overall state of the page."),(0,o.yg)("p",null,"We'll use another IMA.js service to notify the controller that the user\nsubmitted a new post - the ",(0,o.yg)("strong",{parentName:"p"},"EventBus"),". In case you did not read ",(0,o.yg)("a",{parentName:"p",href:"/tutorial/adding-some-state#notes-on-communication-between-controllers-and-views"},"the details\nabout communication between the controller and the view"),"\n, the EventBus is an internal event system, built on top of DOM events, used for communication like this."),(0,o.yg)("h3",{id:"updating-the-form"},"Updating the form"),(0,o.yg)("p",null,"First update the ",(0,o.yg)("inlineCode",{parentName:"p"},"<form ...")," markup in the view of our ",(0,o.yg)("inlineCode",{parentName:"p"},"PostingForm")," component\n(",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/postingForm/PostingForm.jsx"),") by adding an ",(0,o.yg)("inlineCode",{parentName:"p"},"onSubmit")," event\nlistener:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},'<form action="" method="post" onSubmit={e => this._onSubmit(e)}>\n'))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"<form action='' method='post' onSubmit={e => handleSubmit(e)}>\n")))),(0,o.yg)("p",null,"Then we need to hook our inputs to ",(0,o.yg)("inlineCode",{parentName:"p"},"_onChange()")," handler which will set the contents of\nthose input to the state of our ",(0,o.yg)("inlineCode",{parentName:"p"},"PostingForm")," component."),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},'<input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n value={this.state.author}\n onChange={e => this._onChange(e)}\n placeholder="Your name"\n/>\n...\n<textarea\n id="postForm-content"\n className="form-control"\n name="content"\n value={this.state.content}\n onChange={e => this._onChange(e)}\n placeholder="What would you like to tell us?"\n/>\n'))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"<input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n value={post.author}\n onChange={e => handleChange(e)}\n placeholder='Your name'\n/>\n...\n<textarea\n id='postForm-content'\n className='form-control'\n name='content'\n value={post.content}\n onChange={e => handleChange(e)}\n placeholder='What would you like to tell us?'\n/>\n")))),(0,o.yg)("p",null,"We can't forget to define the default state for these two keys:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"#containerRef;\nconstructor(props, context) {\n super(props, context);\n this.#containerRef = createRef();\n this.state = {\n author: '',\n content: ''\n };\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"type Post = {\n author: string;\n content: string;\n};\n\nexport function PostingForm() {\n const containerRef: RefObject<HTMLDivElement> = createRef();\n const [post, setPost] = useState<Post>({\n author: '',\n content: '',\n });\n\n ...\n}\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript:")," Again, instead of the constructor, we used ",(0,o.yg)("inlineCode",{parentName:"p"},"useState")," hook from React and defined ",(0,o.yg)("inlineCode",{parentName:"p"},"Post")," type\nfor the newly defined state.")))),(0,o.yg)("p",null,"Import the ",(0,o.yg)("inlineCode",{parentName:"p"},"createRef")," from React to the\nbeginning of the file:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import { createRef } from 'react';\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import { RefObject, createRef } from 'react';\n")))),(0,o.yg)("p",null,"...and add ",(0,o.yg)("inlineCode",{parentName:"p"},"ref={this.#containerRef}")," to the first ",(0,o.yg)("inlineCode",{parentName:"p"},"div")," in the the component:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"...\nrender() {\n return (\n <div className='posting-form card' ref={this.#containerRef}>\n <form action='' method='post' onSubmit={e => this._onSubmit(e)}>\n ...\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"...\nreturn (\n <div className='posting-form card' ref={containerRef}>\n <form action='' method='post' onSubmit={e => handleSubmit(e)}>\n ...\n")))),(0,o.yg)("p",null,"This adds some internal state to our form component, which we'll maintain\nseparately from the main page state maintained by the home page controller."),(0,o.yg)("p",null,"Now we need to define the ",(0,o.yg)("inlineCode",{parentName:"p"},"_onChange()")," handler. We're going to use the\n",(0,o.yg)("inlineCode",{parentName:"p"},"name")," attribute of input and textarea fields so both can be handled by defining only one method.\nBut feel free to define ",(0,o.yg)("inlineCode",{parentName:"p"},"onChange")," handlers for each input separately, if that suits you better.\nOur ",(0,o.yg)("inlineCode",{parentName:"p"},"_onChange()")," handler will look like this:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"_onChange(event) {\n this.setState({\n [event.target.name]: event.target.value\n });\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"const handleChange = (event: any): void => {\n setPost({ ...post, [event.target.name]: event.target.value });\n};\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript: ")," In our functional component we replaced the ",(0,o.yg)("inlineCode",{parentName:"p"},"_onChange()")," method with ",(0,o.yg)("inlineCode",{parentName:"p"},"handleChange()")," arrow function.")))),(0,o.yg)("p",null,"The only thing that remains is to define the ",(0,o.yg)("inlineCode",{parentName:"p"},"_onSubmit()")," in our component:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"_onSubmit(event) {\n event.preventDefault();\n\n this.fire(this.#containerRef.current, 'postSubmitted', {\n author: this.state.author,\n content: this.state.content\n });\n\n // Reset the state after submitting\n this.setState({\n author: '',\n content: ''\n });\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"const { fire } = useComponent();\n\nconst handleSubmit = (event: any): void => {\n event.preventDefault();\n\n fire(containerRef.current as EventTarget, 'postSubmitted', post);\n\n setPost({ author: '', content: '' });\n};\n")))),(0,o.yg)("h3",{id:"firing-eventbus-events"},"Firing EventBus events"),(0,o.yg)("p",null,"We can ",(0,o.yg)("strong",{parentName:"p"},"fire EventBus events")," through ",(0,o.yg)("inlineCode",{parentName:"p"},"this.fire()")," method that is available\nto us by extending the ",(0,o.yg)("inlineCode",{parentName:"p"},"AbstractComponent"),". So in this example\nwe fire the ",(0,o.yg)("inlineCode",{parentName:"p"},"postSubmitted")," event through EventBus with the form data as\nthe event data, clear the form, and finally we prevent the browser from\nsubmitting the form to the server."),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"Typescript: ")," In functional components, the ",(0,o.yg)("inlineCode",{parentName:"p"},"fire")," method is provided\nto us by the ",(0,o.yg)("inlineCode",{parentName:"p"},"useComponent")," hook, which gives us access to the utility methods.")),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"this.fire()")," method is a ",(0,o.yg)("strong",{parentName:"p"},"short-hand")," for ",(0,o.yg)("inlineCode",{parentName:"p"},"this.utils.$EventBus.fire(this, ...)"),"\ncall, which fires the custom DOM event using the EventBus. The ",(0,o.yg)("inlineCode",{parentName:"p"},"this.utils"),"\nproperty is set to the view utils - various objects, data and services that\nare useful for rendering the UI - and is obtained from the React context.\nThe value returned by ",(0,o.yg)("inlineCode",{parentName:"p"},"this.utils")," is configurable in the\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/config/bind.js")," configuration file and is represented by the constant\n",(0,o.yg)("inlineCode",{parentName:"p"},"$Utils"),"."),(0,o.yg)("h3",{id:"capturing-eventbus-events"},"Capturing EventBus events"),(0,o.yg)("p",null,"Now we need a way to capture the event in our home page controller, so open up\nthe home controller (the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js")," file) and add the\nfollowing method:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"onPostSubmitted(eventData) {\n // TODO\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"onPostSubmitted(eventData: PostData) {\n // TODO\n}\n")))),(0,o.yg)("p",null,"The IMA.js will automatically invoke this method when the ",(0,o.yg)("inlineCode",{parentName:"p"},"postSubmitted")," event\nbus event occurs. For details on how this mechanism works, please refer to the\n",(0,o.yg)("a",{parentName:"p",href:"./adding-some-state.md#emitting-events-using-the-eventbus"},"Emitting events using the EventBus"),"\nsection of the third chapter of this tutorial."),(0,o.yg)("p",null,"Notice that our ",(0,o.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()")," event listener is a public method. This is\nbecause it represents the (event) interface for the view components."),(0,o.yg)("h4",{id:"updating-our-post-service-classes"},"Updating our post service classes"),(0,o.yg)("p",null,"Before we fill our ",(0,o.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()")," event listener with content however,\nwe need to update our post model classes first. Open the post factory class (",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostFactory.js"),")\nand add the following method for creating a single post:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"createEntity(entityData) {\n return new PostEntity(entityData);\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"createEntity(entityData: PostData): PostEntity {\n return new PostEntity(entityData);\n}\n")))),(0,o.yg)("p",null,"Since we don't like to repeat ourselves, update the ",(0,o.yg)("inlineCode",{parentName:"p"},"return")," statement in the\n",(0,o.yg)("inlineCode",{parentName:"p"},"createList()")," method as well:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"return entities.map(entityData => this.createEntity(entityData));\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"return entities.map((entityData: PostData) => this.createEntity(entityData));\n")))),(0,o.yg)("p",null,"Now add the following method for creating new posts to the post resource\n(",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostResource.js"),"):"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"createPost(postData) {\n return this._http\n .post('http://localhost:3001/static/static/public/posts.json', postData)\n .then(response => this._factory.createEntity(response.body));\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"type PostApiCreateResponse = {\n body: PostData;\n};\n\nexport class PostResource {\n ...\n\n createPost(postData: PostData): Promise<PostEntity> {\n return this._http\n .post('http://localhost:3001/static/static/public/posts.json', postData)\n .then((response: PostApiCreateResponse) =>\n this._factory.createEntity(response.body)\n );\n }\n}\n")))),(0,o.yg)("p",null,"This method accepts a plain object containing the new post data and submits\nthem to the server using an HTTP POST request. The ",(0,o.yg)("inlineCode",{parentName:"p"},"_http.post()")," method sends\nthe HTTP POST request and returns a promise that resolves to the server's\nresponse with the response body parsed as JSON. We then use the server's\nresponse to create a post entity representing the saved post."),(0,o.yg)("p",null,"Next we need to create a method for creating posts in our post service\n(",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostService.js"),"):"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"createPost(postData) {\n postData.id = null;\n return this._resource.createPost(postData);\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"createPost(postData: PostData): Promise<PostEntity> {\n postData.id = null;\n return this._resource.createPost(postData);\n}\n")))),(0,o.yg)("p",null,"This method sets the ",(0,o.yg)("inlineCode",{parentName:"p"},"id")," field to ",(0,o.yg)("inlineCode",{parentName:"p"},"null")," as it is expected for posts that were\nnot created yet (the post IDs should be generated by our backend) and uses the\npost resource to create the post. The method returns a promise that resolves to\nthe post entity representing the created post."),(0,o.yg)("h4",{id:"defining-the-onpostsubmitted-method"},"Defining the ",(0,o.yg)("inlineCode",{parentName:"h4"},"onPostSubmitted")," method"),(0,o.yg)("p",null,"With that in place, we can now fill in the contents of the ",(0,o.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()"),"\nevent listener in the home page controller (",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),"):"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then(posts => this.setState({ posts }));\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then((posts: PostData[]) => this.setState({ posts }));\n")))),(0,o.yg)("p",null,"This snippet calls the ",(0,o.yg)("inlineCode",{parentName:"p"},"createPost()")," method with our event data, waits for the\npost to be created, then requests the current list of posts from the post\nservice and updates the ",(0,o.yg)("inlineCode",{parentName:"p"},"posts")," field in the view's state using the\n",(0,o.yg)("inlineCode",{parentName:"p"},"setState()")," method. The ",(0,o.yg)("inlineCode",{parentName:"p"},"setState()")," method updated only the fields of the\nstate that are present in the provided state object without modifying the rest,\nand notifies the view about the new state so that the view is re-rendered."),(0,o.yg)("h3",{id:"updating-the-api"},"Updating the API"),(0,o.yg)("p",null,"Now that everything is wired up, we can start submitting new posts, right?\nWell, not so fast. Remember, we do not have an actual REST API backend, so the\nHTTP POST request will fail and no new post will be created."),(0,o.yg)("p",null,"Since we don't want to implement an actual backend, we will work around this\nissue by implementing a ",(0,o.yg)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/Mock_object"},"mock")," ",(0,o.yg)("strong",{parentName:"p"},"HTTP agent")," that fetches the posts from the server and then acts as if sending\nsubsequent requests to the server while managing our state (the created posts)\nlocally and creating responses on spot without any actual communication with\nthe server. This approach is useful for both tests and our simple tutorial."),(0,o.yg)("p",null,"To create our HTTP mock create the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/mock")," directory and the\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/mock/MockHttpAgent.js")," file with the following content:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import { HttpAgentImpl } from '@ima/core';\n\nconst GET_DELAY = 70; // milliseconds\nconst POST_DELAY = 90; // milliseconds\n\nexport default class MockHttpAgent extends HttpAgentImpl {\n static get $dependencies() {\n return ['$HttpAgentProxy', '$Cache', '$CookieStorage', '$Settings.$Http'];\n }\n\n constructor(proxy, cache, cookie, config) {\n super(proxy, cache, cookie, config);\n\n this._posts = null;\n }\n\n get(url, data, options = {}) {\n if (!this._posts) {\n return super.get(url, data, options).then(response => {\n this._posts = response.body;\n\n return {\n body: this._posts.map(post => Object.assign({}, post))\n };\n });\n }\n\n return new Promise(resolve => {\n setTimeout(() => {\n resolve({\n body: this._posts.map(post => Object.assign({}, post))\n });\n }, GET_DELAY);\n });\n }\n\n post(url, data, options = {}) {\n if (!this._posts) {\n return this.get(url, {}).then(() => this.post(url, data));\n }\n\n return new Promise(resolve => {\n setTimeout(() => {\n let clone = Object.assign({}, data);\n\n clone.id = this._posts[0].id + 1;\n this._posts.unshift(clone);\n\n resolve({\n body: Object.assign({}, clone)\n });\n }, POST_DELAY);\n });\n }\n}\n")),(0,o.yg)("p",null,"Let's take this class apart and take a look at what it does. We extend the\n",(0,o.yg)("inlineCode",{parentName:"p"},"ima/http/HttpAgent")," class which is the HTTP agent provided by IMA.js, so\nwe need to obtain its dependencies in our constructor\n(",(0,o.yg)("inlineCode",{parentName:"p"},"proxy, cache, cookie, config"),") and pass them to the super-constructor."),(0,o.yg)("p",null,"Next we set up the ",(0,o.yg)("inlineCode",{parentName:"p"},"_posts")," field that we'll use to keep track of all posts and few REST API methods:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("p",{parentName:"li"},(0,o.yg)("strong",{parentName:"p"},"The ",(0,o.yg)("inlineCode",{parentName:"strong"},"get()")," method")," checks whether we already have the posts fetched from the\nserver, and, if we don't, it uses the super-implementation to fetch them and\nstore them in the ",(0,o.yg)("inlineCode",{parentName:"p"},"_posts")," field. If the posts have already been fetched, the\nmethod returns a promise that resolves to a clone of the posts after the\nconfigured delay.")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("p",{parentName:"li"},(0,o.yg)("strong",{parentName:"p"},"The ",(0,o.yg)("inlineCode",{parentName:"strong"},"post()")," method")," checks whether we already have the posts fetched from the\nserver, and, if we don't, it fetches them using the ",(0,o.yg)("inlineCode",{parentName:"p"},"get()")," method and then\ncalls itself again. If we already have the posts fetched, the method clones the\ndata passed to it in parameters, generates an ID, stores the new record as the\nfirst element of the ",(0,o.yg)("inlineCode",{parentName:"p"},"_posts")," array while shifting the rest of the posts and\nresolves the returned promise after the configured delay to the stored post."))),(0,o.yg)("p",null,"We included the delays in our ",(0,o.yg)("inlineCode",{parentName:"p"},"get()")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"post()")," methods to simulate the\nlatency imposed by a real networking. Also notice how we always clone the data\nwe receive before storing them internally and return only clones of our\ninternal posts storage. This is to emulate the server behavior reliably, so\nthat new posts won't modify previously returned post arrays and later\nmodifications of data passed to or received from our mock server won't modify\nthe internal state or data returned by other calls to our methods."),(0,o.yg)("p",null,"To wire up our HTTP mock into our application, we need to update the dependencies of the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostResource.js"),":"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostFactory from './PostFactory';\nimport MockHttpAgent from 'app/mock/MockHttpAgent';\n\nexport default class PostResource {\n static get $dependencies() {\n return [MockHttpAgent, PostFactory];\n }\n\n ...\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import MockHttpAgent from 'app/mock/MockHttpAgent';\n\nexport class PostResource {\n static $dependencies: Dependencies = [MockHttpAgent, PostFactory];\n\n declare _http: MockHttpAgent;\n\n ...\n}\n")))),(0,o.yg)("p",null,"Go ahead and check the result in the browser, you will now be able to write new\nposts to our guestbook (which will disappear once you reload the page, since we\nkeep the posts only in our HTTP mock)."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/517b2119.eaae44bd.js b/assets/js/517b2119.eaae44bd.js new file mode 100644 index 000000000..b31d0a66f --- /dev/null +++ b/assets/js/517b2119.eaae44bd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8863],{2865:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>i,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"api/@ima/core/interfaces/PageRendererSettings","title":"Interface: PageRendererSettings","description":"Defined in123","source":"@site/../docs/api/@ima/core/interfaces/PageRendererSettings.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/PageRendererSettings","permalink":"/api/@ima/core/interfaces/PageRendererSettings","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/PageRendererSettings.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: PageAction","permalink":"/api/@ima/core/interfaces/PageAction"},"next":{"title":"Interface: Resources","permalink":"/api/@ima/core/interfaces/Resources"}}');var r=s(2540),t=s(3023);const a={},o="Interface: PageRendererSettings",i={},d=[{value:"Properties",id:"properties",level:2},{value:"batchResolve?",id:"batchresolve",level:3},{value:"batchResolveNoTransaction?",id:"batchresolvenotransaction",level:3},{value:"documentView",id:"documentview",level:3},{value:"managedRootView?",id:"managedrootview",level:3},{value:"masterElementId",id:"masterelementid",level:3},{value:"viewAdapter?",id:"viewadapter",level:3}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"interface-pagerenderersettings",children:"Interface: PageRendererSettings"})}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L123",children:"packages/core/src/boot.ts:123"})]}),"\n",(0,r.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(n.h3,{id:"batchresolve",children:"batchResolve?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"batchResolve"}),": ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L124",children:"packages/core/src/boot.ts:124"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"batchresolvenotransaction",children:"batchResolveNoTransaction?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"batchResolveNoTransaction"}),": ",(0,r.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L125",children:"packages/core/src/boot.ts:125"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"documentview",children:"documentView"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"documentView"}),": ",(0,r.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L127",children:"packages/core/src/boot.ts:127"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"managedrootview",children:"managedRootView?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"managedRootView"}),": ",(0,r.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L128",children:"packages/core/src/boot.ts:128"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"masterelementid",children:"masterElementId"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"masterElementId"}),": ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L126",children:"packages/core/src/boot.ts:126"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"viewadapter",children:"viewAdapter?"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"optional"})," ",(0,r.jsx)(n.strong,{children:"viewAdapter"}),": ",(0,r.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L129",children:"packages/core/src/boot.ts:129"})]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>o});var c=s(3696);const r={},t=c.createContext(r);function a(e){const n=c.useContext(t);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),c.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51dd6e12.bc937770.js b/assets/js/51dd6e12.bc937770.js new file mode 100644 index 000000000..74be79d78 --- /dev/null +++ b/assets/js/51dd6e12.bc937770.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8487],{6136:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/DynamicRoute","title":"Class: DynamicRoute","description":"Defined in51","source":"@site/../docs/api/@ima/core/classes/DynamicRoute.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/DynamicRoute","permalink":"/api/@ima/core/classes/DynamicRoute","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/DynamicRoute.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: DispatcherImpl","permalink":"/api/@ima/core/classes/DispatcherImpl"},"next":{"title":"Class: Entry\\\\<T\\\\>","permalink":"/api/@ima/core/classes/Entry"}}');var i=s(2540),t=s(3023);const c={},a="Class: DynamicRoute",o={},l=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new DynamicRoute()",id:"new-dynamicroute",level:3},{value:"Parameters",id:"parameters",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"cached",id:"cached",level:4},{value:"controller",id:"controller-1",level:4},{value:"resolved",id:"resolved",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"_name",id:"_name",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_options",id:"_options",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_pathExpression",id:"_pathexpression",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_view",id:"_view",level:3},{value:"cached",id:"cached-1",level:4},{value:"resolved",id:"resolved-1",level:4},{value:"view",id:"view-1",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Methods",id:"methods",level:2},{value:"extractParameters()",id:"extractparameters",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"path",id:"path",level:5},{value:"baseUrl",id:"baseurl",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getController()",id:"getcontroller",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"getName()",id:"getname",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"getOptions()",id:"getoptions",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"getPathExpression()",id:"getpathexpression",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"getTrimmedPath()",id:"gettrimmedpath",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"path",id:"path-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"getView()",id:"getview",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"isAsync()",id:"isasync",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"module",id:"module",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"isControllerResolved()",id:"iscontrollerresolved",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"isViewResolved()",id:"isviewresolved",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"matches()",id:"matches",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"path",id:"path-2",level:5},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"preload()",id:"preload",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"toPath()",id:"topath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-3",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"class-dynamicroute",children:"Class: DynamicRoute"})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/DynamicRoute.ts#L51",children:"packages/core/src/router/DynamicRoute.ts:51"})]}),"\n",(0,i.jsx)(r.p,{children:"Utility for representing and manipulating a single dynamic route in the\nrouter's configuration. Dynamic route is defined by regExp used for route\nmatching and overrides for toPath and extractParameters functions to generate\nand put together valid path."}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-dynamicroute",children:"new DynamicRoute()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new DynamicRoute"}),"(",(0,i.jsx)(r.code,{children:"name"}),", ",(0,i.jsx)(r.code,{children:"pathExpression"}),", ",(0,i.jsx)(r.code,{children:"controller"}),", ",(0,i.jsx)(r.code,{children:"view"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/DynamicRoute",children:(0,i.jsx)(r.code,{children:"DynamicRoute"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/DynamicRoute.ts#L58",children:"packages/core/src/router/DynamicRoute.ts:58"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the route."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})})}),"\n",(0,i.jsx)(r.p,{children:"Path expression used in route matching,\nto generate valid path with provided params and parsing params from current path."}),"\n",(0,i.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,i.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,i.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,i.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,i.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,i.jsx)(r.code,{children:"RouteFactoryOptions"})}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/DynamicRoute",children:(0,i.jsx)(r.code,{children:"DynamicRoute"})})}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#constructors",children:(0,i.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(r.h3,{id:"_controller",children:"_controller"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_controller"}),": ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L58",children:"packages/core/src/router/AbstractRoute.ts:58"})]}),"\n",(0,i.jsx)(r.p,{children:"The full name of Object Container alias identifying the controller\nassociated with this route."}),"\n",(0,i.jsx)(r.h4,{id:"cached",children:"cached"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"cached"}),": ",(0,i.jsx)(r.code,{children:"null"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"controller-1",children:"controller"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"controller"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,i.jsx)(r.code,{children:"AsyncRouteController"})})]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"resolved",children:"resolved"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"resolved"}),": ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_controller",children:(0,i.jsx)(r.code,{children:"_controller"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_name",children:"_name"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_name"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L48",children:"packages/core/src/router/AbstractRoute.ts:48"})]}),"\n",(0,i.jsx)(r.p,{children:"The unique name of this route, identifying it among the rest of the\nroutes in the application."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_name",children:(0,i.jsx)(r.code,{children:"_name"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_options",children:"_options"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_options"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,i.jsx)(r.code,{children:"RouteFactoryOptions"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L76",children:"packages/core/src/router/AbstractRoute.ts:76"})]}),"\n",(0,i.jsx)(r.p,{children:"The route additional options."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_options",children:(0,i.jsx)(r.code,{children:"_options"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_pathexpression",children:"_pathExpression"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_pathExpression"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L53",children:"packages/core/src/router/AbstractRoute.ts:53"})]}),"\n",(0,i.jsx)(r.p,{children:"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_pathexpression",children:(0,i.jsx)(r.code,{children:"_pathExpression"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_view",children:"_view"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_view"}),": ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L67",children:"packages/core/src/router/AbstractRoute.ts:67"})]}),"\n",(0,i.jsx)(r.p,{children:"The full name or Object Container alias identifying the view class\nassociated with this route."}),"\n",(0,i.jsx)(r.h4,{id:"cached-1",children:"cached"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"cached"}),": ",(0,i.jsx)(r.code,{children:"null"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"resolved-1",children:"resolved"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"resolved"}),": ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"view-1",children:"view"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"view"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,i.jsx)(r.code,{children:"AsyncRouteView"})})]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#_view",children:(0,i.jsx)(r.code,{children:"_view"})})]}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"extractparameters",children:"extractParameters()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"extractParameters"}),"(",(0,i.jsx)(r.code,{children:"path"}),", ",(0,i.jsx)(r.code,{children:"baseUrl"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/DynamicRoute.ts#L112",children:"packages/core/src/router/DynamicRoute.ts:112"})]}),"\n",(0,i.jsx)(r.p,{children:"Extracts the parameter values from the provided path. The method\nextracts both the in-path parameters and parses the query, allowing the\nquery parameters to override the in-path parameters."}),"\n",(0,i.jsx)(r.p,{children:"The method returns an empty hash object if the path does not match this\nroute."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Currently routed path."}),"\n",(0,i.jsx)(r.h5,{id:"baseurl",children:"baseUrl"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Currently routed baseUrl."}),"\n",(0,i.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Map of parameter names to parameter\nvalues."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#extractparameters",children:(0,i.jsx)(r.code,{children:"extractParameters"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getcontroller",children:"getController()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getController"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L153",children:"packages/core/src/router/AbstractRoute.ts:153"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns Controller class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported controllers,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"The Controller class/alias/constant."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getcontroller",children:(0,i.jsx)(r.code,{children:"getController"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getname",children:"getName()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getName"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L132",children:"packages/core/src/router/AbstractRoute.ts:132"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the unique identifying name of this route."}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The name of the route, identifying it."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getname",children:(0,i.jsx)(r.code,{children:"getName"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getoptions",children:"getOptions()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getOptions"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,i.jsx)(r.code,{children:"RouteFactoryOptions"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L210",children:"packages/core/src/router/AbstractRoute.ts:210"})]}),"\n",(0,i.jsx)(r.p,{children:"Return route additional options."}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,i.jsx)(r.code,{children:"RouteFactoryOptions"})})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getoptions",children:(0,i.jsx)(r.code,{children:"getOptions"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getpathexpression",children:"getPathExpression()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getPathExpression"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L220",children:"packages/core/src/router/AbstractRoute.ts:220"})]}),"\n",(0,i.jsx)(r.p,{children:"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})})}),"\n",(0,i.jsx)(r.p,{children:"The path expression."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getpathexpression",children:(0,i.jsx)(r.code,{children:"getPathExpression"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"gettrimmedpath",children:"getTrimmedPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getTrimmedPath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L230",children:"packages/core/src/router/AbstractRoute.ts:230"})]}),"\n",(0,i.jsx)(r.p,{children:"Trims the trailing forward slash from the provided URL path."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The path to trim."}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Trimmed path."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#gettrimmedpath",children:(0,i.jsx)(r.code,{children:"getTrimmedPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getview",children:"getView()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getView"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L185",children:"packages/core/src/router/AbstractRoute.ts:185"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns View class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported views,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."}),"\n",(0,i.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})})," | ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"The View class/alias/constant."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#getview",children:(0,i.jsx)(r.code,{children:"getView"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isasync",children:"isAsync()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isAsync"}),"(",(0,i.jsx)(r.code,{children:"module"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L139",children:"packages/core/src/router/AbstractRoute.ts:139"})]}),"\n",(0,i.jsx)(r.p,{children:"Checks if given argument is an async handler."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"module",children:"module"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"unknown"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#isasync",children:(0,i.jsx)(r.code,{children:"isAsync"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"iscontrollerresolved",children:"isControllerResolved()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isControllerResolved"}),"(): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L173",children:"packages/core/src/router/AbstractRoute.ts:173"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns true for resolved controller. This is always true\nfor sync route views."}),"\n",(0,i.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#iscontrollerresolved",children:(0,i.jsx)(r.code,{children:"isControllerResolved"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isviewresolved",children:"isViewResolved()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isViewResolved"}),"(): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L203",children:"packages/core/src/router/AbstractRoute.ts:203"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns true for resolved view. This is always true\nfor sync route views."}),"\n",(0,i.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#isviewresolved",children:(0,i.jsx)(r.code,{children:"isViewResolved"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"matches",children:"matches()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"matches"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/DynamicRoute.ts#L105",children:"packages/core/src/router/DynamicRoute.ts:105"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests whether the provided URL path matches this route. The provided\npath may contain the query."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-2",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the provided path matches this route."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#matches",children:(0,i.jsx)(r.code,{children:"matches"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"preload",children:"preload()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"preload"}),"(): ",(0,i.jsx)(r.code,{children:"Promise"}),"<[",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})}),"]>"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L239",children:"packages/core/src/router/AbstractRoute.ts:239"})]}),"\n",(0,i.jsx)(r.p,{children:"Preloads dynamically imported view and controller."}),"\n",(0,i.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<[",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,i.jsx)(r.code,{children:"RouteController"})}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,i.jsx)(r.code,{children:"RouteView"})}),"]>"]}),"\n",(0,i.jsx)(r.p,{children:"Promise.All resolving to [view, controller] tuple."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#preload",children:(0,i.jsx)(r.code,{children:"preload"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"topath",children:"toPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"toPath"}),"(",(0,i.jsx)(r.code,{children:"params"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/DynamicRoute.ts#L98",children:"packages/core/src/router/DynamicRoute.ts:98"})]}),"\n",(0,i.jsx)(r.p,{children:"Creates the URL and query parts of a URL by substituting the route's\nparameter placeholders by the provided parameter value."}),"\n",(0,i.jsx)(r.p,{children:"The extraneous parameters that do not match any of the route's\nplaceholders will be appended as the query string."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,i.jsx)(r.p,{children:"The route\nparameter values."}),"\n",(0,i.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Path and, if necessary, query parts of the URL\nrepresenting this route with its parameters replaced by the\nprovided parameter values."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute#topath",children:(0,i.jsx)(r.code,{children:"toPath"})})]})]})}function h(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>c,x:()=>a});var n=s(3696);const i={},t=n.createContext(i);function c(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/525a1f42.a8ec02dc.js b/assets/js/525a1f42.a8ec02dc.js deleted file mode 100644 index 1921eca87..000000000 --- a/assets/js/525a1f42.a8ec02dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3491],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>m});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function g(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=n.createContext({}),s=function(e){var a=n.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=s(e.components);return n.createElement(p.Provider,{value:a},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},c=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=g(e,["components","mdxType","originalType","parentName"]),d=s(t),c=r,m=d["".concat(p,".").concat(c)]||d[c]||y[c]||i;return t?n.createElement(m,l(l({ref:a},o),{},{components:t})):n.createElement(m,l({ref:a},o))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=c;var g={};for(var p in a)hasOwnProperty.call(a,p)&&(g[p]=a[p]);g.originalType=e,g[d]="string"==typeof e?e:r,l[1]=g;for(var s=2;s<i;s++)l[s]=t[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}c.displayName="MDXCreateElement"},2326:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>s});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.PageStateManager",title:"Class: PageStateManager<S>",sidebar_label:"@ima/core.PageStateManager",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.PageStateManager",id:"api/classes/ima_core.PageStateManager",title:"Class: PageStateManager<S>",description:"@ima/core.PageStateManager",source:"@site/../docs/api/classes/ima_core.PageStateManager.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageStateManager",permalink:"/api/classes/ima_core.PageStateManager",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageStateManager",title:"Class: PageStateManager<S>",sidebar_label:"@ima/core.PageStateManager",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageRenderer",permalink:"/api/classes/ima_core.PageRenderer"},next:{title:"@ima/core.PageStateManagerDecorator",permalink:"/api/classes/ima_core.PageStateManagerDecorator"}},p={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Properties",id:"properties",level:2},{value:"onChange",id:"onchange",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in",level:4},{value:"Methods",id:"methods",level:2},{value:"beginTransaction",id:"begintransaction",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"cancelTransaction",id:"canceltransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"commitTransaction",id:"committransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getAllStates",id:"getallstates",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getTransactionStatePatches",id:"gettransactionstatepatches",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4}],o={toc:s},d="wrapper";function y(e){let{components:a,...t}=e;return(0,r.yg)(d,(0,n.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageStateManager"),(0,r.yg)("p",null,"Manager of the current page state and state history."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"PageStateManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManagerDecorator"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManagerImpl"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManagerDecorator"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManagerImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new PageStateManager"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","()"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")))),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"onchange"},"onChange"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"onChange"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"newState"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"newState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h5",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"newState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L7"},"packages/core/src/page/state/PageStateManager.ts:7")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"begintransaction"},"beginTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"beginTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Starts queueing state patches off the main state. While the transaction\nis active every ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,r.yg)("p",null,"Note that call to ",(0,r.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L64"},"packages/core/src/page/state/PageStateManager.ts:64")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"canceltransaction"},"cancelTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cancelTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Cancels ongoing transaction. Uncommitted state changes are lost."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L79"},"packages/core/src/page/state/PageStateManager.ts:79")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Clears the state history."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L12"},"packages/core/src/page/state/PageStateManager.ts:12")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"committransaction"},"commitTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"commitTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Applies queued state patches to the main state. All patches are squashed\nand applied with one ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L72"},"packages/core/src/page/state/PageStateManager.ts:72")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getallstates"},"getAllStates"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getAllStates"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,r.yg)("p",null,"Returns the recorded history of page states. The states will be\nchronologically sorted from the oldest to the newest."),(0,r.yg)("p",null,"Note that the implementation may limit the size of the recorded history,\ntherefore the complete history may not be available."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,r.yg)("p",null,"The recorded history of page states."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L44"},"packages/core/src/page/state/PageStateManager.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getstate"},"getState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"S")),(0,r.yg)("p",null,"Returns the current page state."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S")),(0,r.yg)("p",null,"The current page state."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L31"},"packages/core/src/page/state/PageStateManager.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gettransactionstatepatches"},"getTransactionStatePatches"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getTransactionStatePatches"),"(): (",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",")[]"),(0,r.yg)("p",null,"Returns queueing state patches off the main state from the begin of transaction."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,"(",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",")[]"),(0,r.yg)("p",null,"State patches from the begin of transaction."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L53"},"packages/core/src/page/state/PageStateManager.ts:53")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"patchState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets a new page state by applying the provided patch to the current\nstate."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"patchState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L22"},"packages/core/src/page/state/PageStateManager.ts:22")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/530991c8.b3c297c5.js b/assets/js/530991c8.b3c297c5.js new file mode 100644 index 000000000..3492881d5 --- /dev/null +++ b/assets/js/530991c8.b3c297c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6757],{4008:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/core/interfaces/PageAction","title":"Interface: PageAction","description":"Defined in39","source":"@site/../docs/api/@ima/core/interfaces/PageAction.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/PageAction","permalink":"/api/@ima/core/interfaces/PageAction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/PageAction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: OCAliasMap","permalink":"/api/@ima/core/interfaces/OCAliasMap"},"next":{"title":"Interface: PageRendererSettings","permalink":"/api/@ima/core/interfaces/PageRendererSettings"}}');var i=r(2540),s=r(3023);const t={},o="Interface: PageAction",a={},l=[{value:"Extends",id:"extends",level:2},{value:"Properties",id:"properties",level:2},{value:"event?",id:"event",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"state?",id:"state",level:5},{value:"state.scroll?",id:"statescroll",level:6},{value:"state.scroll.x",id:"statescrollx",level:6},{value:"state.scroll.y",id:"statescrolly",level:6},{value:"Overrides",id:"overrides",level:4},{value:"type?",id:"type",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"url?",id:"url",level:3},{value:"Inherited from",id:"inherited-from-1",level:4}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"interface-pageaction",children:"Interface: PageAction"})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageTypes.ts#L39",children:"packages/core/src/page/PageTypes.ts:39"})]}),"\n",(0,i.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(n.code,{children:"RouteAction"})})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"event",children:"event?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"event"}),": ",(0,i.jsx)(n.code,{children:"Event"})," & ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageTypes.ts#L40",children:"packages/core/src/page/PageTypes.ts:40"})]}),"\n",(0,i.jsx)(n.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(n.h5,{id:"state",children:"state?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"state"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsx)(n.h6,{id:"statescroll",children:"state.scroll?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"state.scroll"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsx)(n.h6,{id:"statescrollx",children:"state.scroll.x"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"state.scroll.x"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(n.h6,{id:"statescrolly",children:"state.scroll.y"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"state.scroll.y"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(n.code,{children:"RouteAction"})}),".",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction#event",children:(0,i.jsx)(n.code,{children:"event"})})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"type",children:"type?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"type"}),": ",(0,i.jsx)(n.a,{href:"/api/@ima/core/enumerations/ActionTypes",children:(0,i.jsx)(n.code,{children:"ActionTypes"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L18",children:"packages/core/src/router/Router.ts:18"})]}),"\n",(0,i.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(n.code,{children:"RouteAction"})}),".",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction#type",children:(0,i.jsx)(n.code,{children:"type"})})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"url",children:"url?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"url"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L20",children:"packages/core/src/router/Router.ts:20"})]}),"\n",(0,i.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(n.code,{children:"RouteAction"})}),".",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction#url",children:(0,i.jsx)(n.code,{children:"url"})})]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>o});var c=r(3696);const i={},s=c.createContext(i);function t(e){const n=c.useContext(s);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),c.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/53160cfc.4a400beb.js b/assets/js/53160cfc.4a400beb.js new file mode 100644 index 000000000..7cd3b508b --- /dev/null +++ b/assets/js/53160cfc.4a400beb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1200],{5387:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/core/type-aliases/LocalizationFunction","title":"Type Alias: LocalizationFunction()","description":"LocalizationFunction: (parameters) => string","source":"@site/../docs/api/@ima/core/type-aliases/LocalizationFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/LocalizationFunction","permalink":"/api/@ima/core/type-aliases/LocalizationFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/LocalizationFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: LoadedResources\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/LoadedResources"},"next":{"title":"Type Alias: ManageArgs","permalink":"/api/@ima/core/type-aliases/ManageArgs"}}');var n=t(2540),s=t(3023);const r={},o="Type Alias: LocalizationFunction()",c={},l=[{value:"Parameters",id:"parameters",level:2},{value:"parameters",id:"parameters-1",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"type-alias-localizationfunction",children:"Type Alias: LocalizationFunction()"})}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"LocalizationFunction"}),": (",(0,n.jsx)(a.code,{children:"parameters"}),") => ",(0,n.jsx)(a.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L12",children:"packages/core/src/dictionary/Dictionary.ts:12"})]}),"\n",(0,n.jsx)(a.h2,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(a.h3,{id:"parameters-1",children:"parameters"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ObjectParameters",children:(0,n.jsx)(a.code,{children:"ObjectParameters"})})}),"\n",(0,n.jsx)(a.h2,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"string"})})]})}function p(e={}){const{wrapper:a}={...(0,s.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>r,x:()=>o});var i=t(3696);const n={},s=i.createContext(n);function r(e){const a=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5342d644.4189ced3.js b/assets/js/5342d644.4189ced3.js new file mode 100644 index 000000000..815735b2d --- /dev/null +++ b/assets/js/5342d644.4189ced3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6511],{7655:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/plugin-cli/variables/clientServerConfig","title":"Variable: clientServerConfig","description":"const clientServerConfig: ImaPluginConfig","source":"@site/../docs/api/@ima/plugin-cli/variables/clientServerConfig.md","sourceDirName":"api/@ima/plugin-cli/variables","slug":"/api/@ima/plugin-cli/variables/clientServerConfig","permalink":"/api/@ima/plugin-cli/variables/clientServerConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/variables/clientServerConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: TransformerOptions","permalink":"/api/@ima/plugin-cli/type-aliases/TransformerOptions"},"next":{"title":"Variable: defaultConfig","permalink":"/api/@ima/plugin-cli/variables/defaultConfig"}}');var t=n(2540),a=n(3023);const s={},c="Variable: clientServerConfig",l={},o=[];function p(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"variable-clientserverconfig",children:"Variable: clientServerConfig"})}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"const"})," ",(0,t.jsx)(i.strong,{children:"clientServerConfig"}),": ",(0,t.jsx)(i.a,{href:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",children:(0,t.jsx)(i.code,{children:"ImaPluginConfig"})})]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Defined in: ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/utils/configurations.ts#L42",children:"utils/configurations.ts:42"})]})]})}function u(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>s,x:()=>c});var r=n(3696);const t={},a=r.createContext(t);function s(e){const i=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/53ddc8eb.df2d259f.js b/assets/js/53ddc8eb.df2d259f.js deleted file mode 100644 index d65abe79b..000000000 --- a/assets/js/53ddc8eb.df2d259f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6191],{5680:(e,n,t)=>{t.d(n,{xA:()=>y,yg:()=>m});var r=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var o=r.createContext({}),s=function(e){var n=r.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},y=function(e){var n=s(e.components);return r.createElement(o.Provider,{value:n},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},c=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,y=p(e,["components","mdxType","originalType","parentName"]),d=s(t),c=a,m=d["".concat(o,".").concat(c)]||d[c]||g[c]||i;return t?r.createElement(m,l(l({ref:n},y),{},{components:t})):r.createElement(m,l({ref:n},y))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=c;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[d]="string"==typeof e?e:a,l[1]=p;for(var s=2;s<i;s++)l[s]=t[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}c.displayName="MDXCreateElement"},5721:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>g,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var r=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.Entry",title:"Class: Entry<T>",sidebar_label:"@ima/core.Entry",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.Entry",id:"api/classes/ima_core.Entry",title:"Class: Entry<T>",description:"@ima/core.Entry",source:"@site/../docs/api/classes/ima_core.Entry.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Entry",permalink:"/api/classes/ima_core.Entry",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Entry",title:"Class: Entry<T>",sidebar_label:"@ima/core.Entry",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.DynamicRoute",permalink:"/api/classes/ima_core.DynamicRoute"},next:{title:"@ima/core.Error",permalink:"/api/classes/ima_core.Error"}},o={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"#dependencies",id:"dependencies",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"#options",id:"options",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"#overrideCounter",id:"overridecounter",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"#referrer",id:"referrer",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"classConstructor",id:"classconstructor",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"sharedInstance",id:"sharedinstance",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"Accessors",id:"accessors",level:2},{value:"dependencies",id:"dependencies-1",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"options",id:"options-1",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"referrer",id:"referrer-1",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"writeable",id:"writeable",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"Methods",id:"methods",level:2},{value:"from",id:"from",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-12",level:4}],y={toc:s},d="wrapper";function g(e){let{components:n,...t}=e;return(0,a.yg)(d,(0,r.A)({},y,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Entry"),(0,a.yg)("p",null,"Object container entry, representing either a class, interface, constant or\nan alias."),(0,a.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"T")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h2",{id:"constructors"},"Constructors"),(0,a.yg)("h3",{id:"constructor"},"constructor"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"new Entry"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,a.yg)("inlineCode",{parentName:"p"},"classConstructor"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"dependencies?"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"referrer?"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"options?"),")"),(0,a.yg)("p",null,"Initializes the entry."),(0,a.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"T")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"))))),(0,a.yg)("h4",{id:"parameters"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"classConstructor")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"EntryConstructor"),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,a.yg)("td",{parentName:"tr",align:"left"},"The class constructor or constant value getter.")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"dependencies?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"),"[]"),(0,a.yg)("td",{parentName:"tr",align:"left"},"The dependencies to pass into the constructor function.")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"referrer?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string")),(0,a.yg)("td",{parentName:"tr",align:"left"},"Reference to part of application that created this entry.")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"options?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("a",{parentName:"td",href:"/api/modules/ima_core#entryoptions"},(0,a.yg)("inlineCode",{parentName:"a"},"EntryOptions"))),(0,a.yg)("td",{parentName:"tr",align:"left"},"The Entry options.")))),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L60"},"packages/core/src/oc/Entry.ts:60")),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"dependencies"},"#dependencies"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,a.yg)("strong",{parentName:"p"},"#dependencies"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),"[]"),(0,a.yg)("p",null,"Dependencies of the class constructor of the class represented by\nthis entry."),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L31"},"packages/core/src/oc/Entry.ts:31")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"options"},"#options"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,a.yg)("strong",{parentName:"p"},"#options"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#entryoptions"},(0,a.yg)("inlineCode",{parentName:"a"},"EntryOptions"))),(0,a.yg)("p",null,"The Entry options."),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L36"},"packages/core/src/oc/Entry.ts:36")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"overridecounter"},"#overrideCounter"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,a.yg)("strong",{parentName:"p"},"#overrideCounter"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"0")),(0,a.yg)("p",null,"The override counter"),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L41"},"packages/core/src/oc/Entry.ts:41")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"referrer"},"#referrer"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"#referrer"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("p",null,"Reference to part of application that created\nthis entry."),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L47"},"packages/core/src/oc/Entry.ts:47")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"classconstructor"},"classConstructor"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"classConstructor"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"EntryConstructor"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,a.yg)("p",null,"The constructor of the class represented by this entry, or the\ngetter of the value of the constant represented by this entry."),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L20"},"packages/core/src/oc/Entry.ts:20")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"sharedinstance"},"sharedInstance"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"sharedInstance"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"EntrySharedInstance"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"T"),">"," = ",(0,a.yg)("inlineCode",{parentName:"p"},"null")),(0,a.yg)("p",null,"The shared instance of the class represented by this entry."),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L25"},"packages/core/src/oc/Entry.ts:25")),(0,a.yg)("h2",{id:"accessors"},"Accessors"),(0,a.yg)("h3",{id:"dependencies-1"},"dependencies"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"get")," ",(0,a.yg)("strong",{parentName:"p"},"dependencies"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),"[]"),(0,a.yg)("h4",{id:"returns"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"any"),"[]"),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L95"},"packages/core/src/oc/Entry.ts:95")),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"set")," ",(0,a.yg)("strong",{parentName:"p"},"dependencies"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"dependencies"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"parameters-1"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"dependencies")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"any"),"[]")))),(0,a.yg)("h4",{id:"returns-1"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L74"},"packages/core/src/oc/Entry.ts:74")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"options-1"},"options"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"get")," ",(0,a.yg)("strong",{parentName:"p"},"options"),"(): ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#entryoptions"},(0,a.yg)("inlineCode",{parentName:"a"},"EntryOptions"))),(0,a.yg)("h4",{id:"returns-2"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#entryoptions"},(0,a.yg)("inlineCode",{parentName:"a"},"EntryOptions"))),(0,a.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L107"},"packages/core/src/oc/Entry.ts:107")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"referrer-1"},"referrer"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"get")," ",(0,a.yg)("strong",{parentName:"p"},"referrer"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"returns-3"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L99"},"packages/core/src/oc/Entry.ts:99")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"writeable"},"writeable"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"get")," ",(0,a.yg)("strong",{parentName:"p"},"writeable"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("h4",{id:"returns-4"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L103"},"packages/core/src/oc/Entry.ts:103")),(0,a.yg)("h2",{id:"methods"},"Methods"),(0,a.yg)("h3",{id:"from"},"from"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("strong",{parentName:"p"},"from"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"TInfer"),">","(",(0,a.yg)("inlineCode",{parentName:"p"},"entry"),"): ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,a.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"TInfer"),">"),(0,a.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"TInfer"))))),(0,a.yg)("h4",{id:"parameters-2"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"entry")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Entry"},(0,a.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,a.yg)("inlineCode",{parentName:"td"},"TInfer"),">")))),(0,a.yg)("h4",{id:"returns-5"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Entry"},(0,a.yg)("inlineCode",{parentName:"a"},"Entry")),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"TInfer"),">"),(0,a.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/Entry.ts#L111"},"packages/core/src/oc/Entry.ts:111")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5401ed5c.315b38f0.js b/assets/js/5401ed5c.315b38f0.js deleted file mode 100644 index ff1fb72ba..000000000 --- a/assets/js/5401ed5c.315b38f0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[338],{5680:(e,t,r)=>{r.d(t,{xA:()=>o,yg:()=>u});var a=r(6540);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function g(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=a.createContext({}),d=function(e){var t=a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},o=function(e){var t=d(e.components);return a.createElement(p.Provider,{value:t},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,o=g(e,["components","mdxType","originalType","parentName"]),m=d(r),s=n,u=m["".concat(p,".").concat(s)]||m[s]||y[s]||i;return r?a.createElement(u,l(l({ref:t},o),{},{components:r})):a.createElement(u,l({ref:t},o))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=s;var g={};for(var p in t)hasOwnProperty.call(t,p)&&(g[p]=t[p]);g.originalType=e,g[m]="string"==typeof e?e:n,l[1]=g;for(var d=2;d<i;d++)l[d]=r[d];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}s.displayName="MDXCreateElement"},2478:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>d});var a=r(8102),n=(r(6540),r(5680));const i={id:"ima_dev_utils",title:"Module: @ima/dev-utils",sidebar_label:"@ima/dev-utils",sidebar_position:0,custom_edit_url:null},l=void 0,g={unversionedId:"api/modules/ima_dev_utils",id:"api/modules/ima_dev_utils",title:"Module: @ima/dev-utils",description:"Classes",source:"@site/../docs/api/modules/ima_dev_utils.md",sourceDirName:"api/modules",slug:"/api/modules/ima_dev_utils",permalink:"/api/modules/ima_dev_utils",draft:!1,editUrl:null,tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"ima_dev_utils",title:"Module: @ima/dev-utils",sidebar_label:"@ima/dev-utils",sidebar_position:0,custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core",permalink:"/api/modules/ima_core"},next:{title:"@ima/plugin-cli",permalink:"/api/modules/ima_plugin_cli"}},p={},d=[{value:"Classes",id:"classes",level:2},{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"ParsedErrorData",id:"parsederrordata",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Variables",id:"variables",level:2},{value:"COMPILE_ERROR_NEEDLES_RE",id:"compile_error_needles_re",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"RE_SOURCE_MAPPING_URL",id:"re_source_mapping_url",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"RE_VALID_FRAME_CHROME",id:"re_valid_frame_chrome",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"RE_VALID_FRAME_FIREFOX",id:"re_valid_frame_firefox",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"logger",id:"logger",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"Functions",id:"functions",level:2},{value:"createLogger",id:"createlogger",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"createSourceFragment",id:"createsourcefragment",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"extractSourceMappingUrl",id:"extractsourcemappingurl",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"formatError",id:"formaterror",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getSource",id:"getsource",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"parseCompileError",id:"parsecompileerror",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"parseError",id:"parseerror",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"printTime",id:"printtime",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"resolveErrorType",id:"resolveerrortype",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"time",id:"time",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Returns",id:"returns-10",level:5},{value:"Defined in",id:"defined-in-15",level:4}],o={toc:d},m="wrapper";function y(e){let{components:t,...r}=e;return(0,n.yg)(m,(0,a.A)({},o,r,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("h2",{id:"classes"},"Classes"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/api/classes/ima_dev_utils.Logger"},"Logger"))),(0,n.yg)("h2",{id:"interfaces"},"Interfaces"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/api/interfaces/ima_dev_utils.CompileError"},"CompileError")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/api/interfaces/ima_dev_utils.FragmentLine"},"FragmentLine")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/api/interfaces/ima_dev_utils.LoggerOptions"},"LoggerOptions"))),(0,n.yg)("h2",{id:"type-aliases"},"Type Aliases"),(0,n.yg)("h3",{id:"parsederrordata"},"ParsedErrorData"),(0,n.yg)("p",null,"\u01ac ",(0,n.yg)("strong",{parentName:"p"},"ParsedErrorData"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"column?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"fileUri?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"functionName?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"line?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"message?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"stack?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/cliUtils.ts#L13"},"cliUtils.ts:13")),(0,n.yg)("h2",{id:"variables"},"Variables"),(0,n.yg)("h3",{id:"compile_error_needles_re"},"COMPILE","_","ERROR","_","NEEDLES","_","RE"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,n.yg)("strong",{parentName:"p"},"COMPILE","_","ERROR","_","NEEDLES","_","RE"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"RegExp"),"[]"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/compileErrorParser.ts#L11"},"compileErrorParser.ts:11")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"re_source_mapping_url"},"RE","_","SOURCE","_","MAPPING","_","URL"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,n.yg)("strong",{parentName:"p"},"RE","_","SOURCE","_","MAPPING","_","URL"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"RegExp")),(0,n.yg)("p",null,"Used to extract source mapping url injected at the end\nof a file with generated source maps (in separate file)."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/helpers.ts#L10"},"helpers.ts:10")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"re_valid_frame_chrome"},"RE","_","VALID","_","FRAME","_","CHROME"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,n.yg)("strong",{parentName:"p"},"RE","_","VALID","_","FRAME","_","CHROME"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"RegExp")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/helpers.ts#L2"},"helpers.ts:2")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"re_valid_frame_firefox"},"RE","_","VALID","_","FRAME","_","FIREFOX"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,n.yg)("strong",{parentName:"p"},"RE","_","VALID","_","FRAME","_","FIREFOX"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"RegExp")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/helpers.ts#L3"},"helpers.ts:3")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"logger"},"logger"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,n.yg)("strong",{parentName:"p"},"logger"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_dev_utils.Logger"},(0,n.yg)("inlineCode",{parentName:"a"},"Logger"))),(0,n.yg)("p",null,"Create global logger instance"),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L171"},"logger.ts:171")),(0,n.yg)("h2",{id:"functions"},"Functions"),(0,n.yg)("h3",{id:"createlogger"},"createLogger"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"createLogger"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_dev_utils.Logger"},(0,n.yg)("inlineCode",{parentName:"a"},"Logger"))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_dev_utils.Logger"},(0,n.yg)("inlineCode",{parentName:"a"},"Logger"))),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L174"},"logger.ts:174")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"createsourcefragment"},"createSourceFragment"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"createSourceFragment"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"line"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"source"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"contextLines?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_dev_utils.FragmentLine"},(0,n.yg)("inlineCode",{parentName:"a"},"FragmentLine")),"[]"),(0,n.yg)("p",null,"Create fragment of code lines around input line (above and below), created\ncreated from provided source code."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"line")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Source code line number, around which you want to created source fragment.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"source")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Source file's source code.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"contextLines?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"4")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Number of lines to generate, below and after watched line.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_dev_utils.FragmentLine"},(0,n.yg)("inlineCode",{parentName:"a"},"FragmentLine")),"[]"),(0,n.yg)("p",null,"Array of source code lines."),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/sourceFragment.ts#L18"},"sourceFragment.ts:18")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"extractsourcemappingurl"},"extractSourceMappingUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"extractSourceMappingUrl"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"fileUri"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"fileContents"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"null")),(0,n.yg)("p",null,"Extracts sourceMappingURL from the provided file contents.\nBased on ",(0,n.yg)("a",{parentName:"p",href:"https://github.com/facebook/create-react-app/blob/main/packages/react-error-overlay/src/utils/getSourceMap.js#L79"},"https://github.com/facebook/create-react-app/blob/main/packages/react-error-overlay/src/utils/getSourceMap.js#L79"),"."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"fileUri")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The uri of the source file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"fileContents")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Source file file contents.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"null")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/sourceMapUtils.ts#L11"},"sourceMapUtils.ts:11")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"formaterror"},"formatError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"formatError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"parsedErrorData"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"rootDir?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"uniqueTracker?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Formats provided error object into readable format including\nthe errored source code fragment with line highlight. Works\nwith runtime and compile errors while trying to show all\nrelevant information that can be extracted from provided object."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"parsedErrorData")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_dev_utils#parsederrordata"},(0,n.yg)("inlineCode",{parentName:"a"},"ParsedErrorData"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parsed error data object obtained from parseError function (or provided directly).")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"rootDir?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Optional root directory used to print absolute URLs as relative to the current rootDir.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"uniqueTracker?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Array of error identifiers to track uniques, if the error matches identifier already included in this array, this function returns empty string.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Formatted error output."),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/cliUtils.ts#L178"},"cliUtils.ts:178")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getsource"},"getSource"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getSource"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"fileUri?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"line?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"column?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[] ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined"),">"),(0,n.yg)("p",null,"Get source fragment from provided source metadata.\nOptionally it tries to parse original content if\nsource maps are available."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"fileUri?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")),(0,n.yg)("td",{parentName:"tr",align:"left"},"source file uri.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"line?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")),(0,n.yg)("td",{parentName:"tr",align:"left"},"errored line number.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"column")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"0")),(0,n.yg)("td",{parentName:"tr",align:"left"},"errored column number.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[] ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined"),">"),(0,n.yg)("p",null,"Formatted error lines."),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/cliUtils.ts#L33"},"cliUtils.ts:33")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"parsecompileerror"},"parseCompileError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"parseCompileError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"error"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_dev_utils.CompileError"},(0,n.yg)("inlineCode",{parentName:"a"},"CompileError"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"null")),(0,n.yg)("p",null,"Tries to parse error location from an error. Which can be\neither webpack stats error or simple Error object."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"error")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"StatsError")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Error")),(0,n.yg)("td",{parentName:"tr",align:"left"},"webpack stats object or error instance.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_dev_utils.CompileError"},(0,n.yg)("inlineCode",{parentName:"a"},"CompileError"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"null")),(0,n.yg)("p",null,"Parsed compile error."),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/compileErrorParser.ts#L37"},"compileErrorParser.ts:37")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"parseerror"},"parseError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"parseError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"error"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"type?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_dev_utils#parsederrordata"},(0,n.yg)("inlineCode",{parentName:"a"},"ParsedErrorData")),">"),(0,n.yg)("p",null,"Formats provided error object into readable format including\nthe errored source code fragment with line highlight. Works\nwith runtime and compile errors while trying to show all\nrelevant information that can be extracted from provided object."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"error")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"StatsError")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Error")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"type?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},'"compile"')," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},'"runtime"')),(0,n.yg)("td",{parentName:"tr",align:"left"},"Error type (affects error parsing).")))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_dev_utils#parsederrordata"},(0,n.yg)("inlineCode",{parentName:"a"},"ParsedErrorData")),">"),(0,n.yg)("p",null,"Formatted error output."),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/cliUtils.ts#L124"},"cliUtils.ts:124")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"printtime"},"printTime"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"printTime"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Prints current time in HH:MM:SS format."),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L26"},"logger.ts:26")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"resolveerrortype"},"resolveErrorType"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"resolveErrorType"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"error"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},'"compile"')," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},'"runtime"')),(0,n.yg)("h4",{id:"parameters-7"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"error")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"StatsError")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Error"))))),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},'"compile"')," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},'"runtime"')),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/compileErrorParser.ts#L16"},"compileErrorParser.ts:16")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"time"},"time"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"time"),"(): () => ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns time utility function, which when called returns\nformatted elapsed time from it's creation."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"fn")),(0,n.yg)("p",null,"Callback to return formatted elapsed time."),(0,n.yg)("p",null,"\u25b8 (): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h5",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L16"},"logger.ts:16")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54d95e21.af4b87d0.js b/assets/js/54d95e21.af4b87d0.js deleted file mode 100644 index f024b4f61..000000000 --- a/assets/js/54d95e21.af4b87d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[308],{6514:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/static-view-null-12294c9d858733d2999a6cc712166ca3.png"},5251:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/static-view-styling-our-form-0b8cf4b31368ef0ad49b2c44f2be15f0.png"},5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>h});var a=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(n),m=o,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||r;return n?a.createElement(h,i(i({ref:t},p),{},{components:n})):a.createElement(h,i({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var c=2;c<r;c++)i[c]=n[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6185:(e,t,n)=>{n.d(t,{A:()=>i});var a=n(6540),o=n(8017);const r={tabItem:"tabItem_Ymn6"};function i(e){let{children:t,hidden:n,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,o.A)(r.tabItem,i),hidden:n},t)}},1253:(e,t,n)=>{n.d(t,{A:()=>N});var a=n(8102),o=n(6540),r=n(8017),i=n(3104),s=n(9519),l=n(7485),c=n(1682),p=n(9466);function d(e){return function(e){return o.Children.map(e,(e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:o}}=e;return{value:t,label:n,attributes:a,default:o}}))}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??d(n);return function(e){const t=(0,c.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.W6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l.aZ)(r),(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(a.location.search);t.set(r,e),a.replace({...a.location,search:t.toString()})}),[r,a])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,r=u(e),[i,s]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[l,c]=h({queryString:n,groupId:a}),[d,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,r]=(0,p.Dv)(n);return[a,(0,o.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:a}),y=(()=>{const e=l??d;return m({value:e,tabValues:r})?e:null})();(0,o.useLayoutEffect)((()=>{y&&s(y)}),[y]);return{selectedValue:i,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);s(e),c(e),g(e)}),[c,g,r]),tabValues:r}}var y=n(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:t,block:n,selectedValue:s,selectValue:l,tabValues:c}=e;const p=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.a_)(),u=e=>{const t=e.currentTarget,n=p.indexOf(t),a=c[n].value;a!==s&&(d(t),l(a))},m=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const n=p.indexOf(e.currentTarget)+1;t=p[n]??p[0];break}case"ArrowLeft":{const n=p.indexOf(e.currentTarget)-1;t=p[n]??p[p.length-1];break}}t?.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t)},c.map((e=>{let{value:t,label:n,attributes:i}=e;return o.createElement("li",(0,a.A)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:e=>p.push(e),onKeyDown:m,onClick:u},i,{className:(0,r.A)("tabs__item",f.tabItem,i?.className,{"tabs__item--active":s===t})}),n??t)})))}function v(e){let{lazy:t,children:n,selectedValue:a}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===a));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},r.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function w(e){const t=g(e);return o.createElement("div",{className:(0,r.A)("tabs-container",f.tabList)},o.createElement(b,(0,a.A)({},e,t)),o.createElement(v,(0,a.A)({},e,t)))}function N(e){const t=(0,y.A)();return o.createElement(w,(0,a.A)({key:String(t)},e))}},593:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var a=n(8102),o=(n(6540),n(5680)),r=n(1253),i=n(6185);const s={title:"Static View",description:"Tutorial > Static View"},l=void 0,c={unversionedId:"tutorial/static-view",id:"tutorial/static-view",title:"Static View",description:"Tutorial > Static View",source:"@site/../docs/tutorial/static-view.mdx",sourceDirName:"tutorial",slug:"/tutorial/static-view",permalink:"/tutorial/static-view",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/static-view.mdx",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Static View",description:"Tutorial > Static View"},sidebar:"tutorial",previous:{title:"Introduction",permalink:"/tutorial/introduction"},next:{title:"Adding Some State",permalink:"/tutorial/adding-some-state"}},p={},d=[{value:"View Component",id:"view-component",level:2},{value:"Guestbook form & SMACSS",id:"guestbook-form--smacss",level:3},{value:"Styling our form",id:"styling-our-form",level:3},{value:"Defining custom styles",id:"defining-custom-styles",level:4},{value:"Rendering the whole document",id:"rendering-the-whole-document",level:3},{value:"Notes on ES2015 modules and IMA.js namespaces",id:"notes-on-es2015-modules-and-imajs-namespaces",level:3}],u={toc:d},m="wrapper";function h(e){let{components:t,...s}=e;return(0,o.yg)(m,(0,a.A)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,"In the ",(0,o.yg)("a",{parentName:"p",href:"./introduction"},"first part")," we went through introduction to IMA.js and initialized our first\napplication using ",(0,o.yg)("inlineCode",{parentName:"p"},"create-ima-app")," command. In the second part of the tutorial\nwe'll actually do some coding and prepare basic Views for our guest book application."),(0,o.yg)("h2",{id:"view-component"},"View Component"),(0,o.yg)("p",null,"Open up the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.jsx")," file in your code editor. You will see a\nsingle ES2015 class named ",(0,o.yg)("inlineCode",{parentName:"p"},"HomeView"),", extending the ",(0,o.yg)("inlineCode",{parentName:"p"},"AbstractComponent")," class\n(which in turn extends the\n",(0,o.yg)("a",{parentName:"p",href:"https://facebook.github.io/react/docs/component-api.html"},(0,o.yg)("inlineCode",{parentName:"a"},"React.Component")),"\nclass). You can read more about components and views in the ",(0,o.yg)("a",{parentName:"p",href:"/basic-features/views-and-components"},"documentation"),"."),(0,o.yg)("p",null,"Now let's replace the contents of the file with a blank view:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},"import { PageContext, AbstractComponent } from '@ima/react-page-renderer';\nimport React from 'react';\nimport './homeView.less';\n\nexport class HomeView extends AbstractComponent {\n static get contextType() {\n return PageContext;\n }\n\n render() {\n return null;\n }\n}\n"))),(0,o.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"import { usePageContext } from '@ima/react-page-renderer';\nimport './homeView.less';\n\nexport function HomeView() {\n const _pageContext = usePageContext();\n\n return null;\n}\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript: ")," With functional components we have to use ",(0,o.yg)("inlineCode",{parentName:"p"},"usePageContext()")," hook,\nthat provides us direct access to the IMA Page context. You can find more about the hooks provided by IMA at\n",(0,o.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/@ima/react-hooks"},"@ima/react-hooks"),".")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},"There is also no need for any constructor or render method, so we do not have to worry about implementing the\n",(0,o.yg)("inlineCode",{parentName:"p"},"AbstractComponent")," class to our functional component, and we can directly output the content with ",(0,o.yg)("inlineCode",{parentName:"p"},"return"),".")))),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"HomeView")," class defines the ",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method. Notice that our current\n",(0,o.yg)("inlineCode",{parentName:"p"},"HomeView")," class does not have the ",(0,o.yg)("inlineCode",{parentName:"p"},"constructor()")," method, as the default\none provided by the ",(0,o.yg)("inlineCode",{parentName:"p"},"AbstractComponent")," class will do in this case."),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"constructor()")," is the class constructor (an object initializer, if you\nwill) that sets the component's initial properties (",(0,o.yg)("inlineCode",{parentName:"p"},"props"),") and context. The\n",(0,o.yg)("inlineCode",{parentName:"p"},"props")," object represents the properties set on our view component by the\ncode using it (",(0,o.yg)("em",{parentName:"p"},"the properties are set using the element attributes in JSX,\nyou can find our more about this\n",(0,o.yg)("a",{parentName:"em",href:"http://facebook.github.io/react/docs/getting-started.html"},"here")),'). The\ncontext is an object representing the "globals" for the React components in\nthe application. IMA.js uses the context to pass view utils to components,\nyou can find out more about it\n',(0,o.yg)("a",{parentName:"p",href:"https://facebook.github.io/react/docs/context.html"},"here"),"."),(0,o.yg)("p",null,"There's also static getter ",(0,o.yg)("inlineCode",{parentName:"p"},"contextType()")," which returns ",(0,o.yg)("inlineCode",{parentName:"p"},"PageContext"),", that\nby default provides the component access to global ",(0,o.yg)("inlineCode",{parentName:"p"},"$Utils")," object in the component context.\nThis object is very useful as we can bind custom helper methods to it in the\n",(0,o.yg)("inlineCode",{parentName:"p"},"bind.js"),"file with the help of Object Container. But we'll talk about this a bit more\n",(0,o.yg)("a",{parentName:"p",href:"./fetching-data.md#dependency-injection"},"later in this tutorial")),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method creates and returns a React element that represents the\nview in the UI. Our ",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method returns ",(0,o.yg)("inlineCode",{parentName:"p"},"null")," because our component does\nnot have a UI yet."),(0,o.yg)("p",null,"Now that we know our way around our component, let's replace the contents of\nthe ",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method with the following code:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},"return <div className=\"l-home container\">Hello {'World'}!</div>;\n"))),(0,o.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"return <div className=\"l-home container\">Hello {'World'}!</div>;\n")))),(0,o.yg)("p",null,"The \"HTML\" code you see is actually an XML markup with JavaScript expressions\nembedded within curly braces. This markup is processed automatically by Babel's\nJSX transformer into ordinary JavaScript expressions creating React elements\n(React's virtual DOM allowing rendering at both the client and the server side).\nThis combination of JavaScript and XML is commonly referred to as JSX and you\ncan find out more about it\n",(0,o.yg)("a",{parentName:"p",href:"http://facebook.github.io/react/docs/jsx-in-depth.html"},"here"),"."),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method must always return a React element (or a similar plain\nobject, or ",(0,o.yg)("inlineCode",{parentName:"p"},"null"),"), so it can be properly rendered at both the client and\nserver. Never attempt to create an actual DOM element in your view - your\napplication will most likely break! This is because your code is run at the\nserver first, where no DOM is available, and polyfilling it, while possible,\nwould introduce a large overhead. Additionally, since the UI is rendered using\nReact which modifies the DOM at the client side, any changes to the DOM you would\nmanage to make would likely be lost with the next update of the page's UI."),(0,o.yg)("p",null,"If everything went well you should see the following page when you refresh your browser:"),(0,o.yg)("p",null,(0,o.yg)("img",{src:n(6514).A,width:"2400",height:"913"})),(0,o.yg)("h3",{id:"guestbook-form--smacss"},"Guestbook form & SMACSS"),(0,o.yg)("p",null,"Let's modify the return value of the ",(0,o.yg)("inlineCode",{parentName:"p"},"render")," method to look like this:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},'return (\n <div className="l-home container">\n <h1>Guestbook</h1>\n\n <div className="posting-form card">\n <form action="" method="post">\n <h5 className="card-header">Add a post</h5>\n <div className="card-body">\n <div className="form-group">\n <label htmlFor="postForm-name">Name:</label>\n <input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n placeholder="Your name"\n />\n </div>\n <div className="form-group">\n <label htmlFor="postForm-content">Post:</label>\n <textarea\n id="postForm-content"\n className="form-control"\n name="content"\n placeholder="What would you like to tell us?"\n />\n </div>\n </div>\n <div className="card-footer">\n <button type="submit" className="btn btn btn-outline-primary">\n Submit\n <div className="ripple-wrapper" />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className="posts">\n <h2>Posts</h2>\n <div className="post card card-default">\n <div className="card-body">Never mistake motion for action.</div>\n <div className="post-author card-footer">Ernest Hemingway</div>\n </div>\n <div className="post card card-default">\n <div className="card-body">\n Quality means doing it right when no one is looking.\n </div>\n <div className="post-author card-footer">Henry Ford</div>\n </div>\n <div className="post card card-default">\n <div className="card-body">\n We are what we repeatedly do. Excellence, then, is not an act, but\n a habit.\n </div>\n <div className="post-author card-footer">Aristotle</div>\n </div>\n <div className="post card card-default">\n <div className="card-body">\n Reality is merely an illusion, albeit a very persistent one.\n </div>\n <div className="post-author card-footer">Albert Einstein</div>\n </div>\n </div>\n </div>\n );\n'))),(0,o.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"import { usePageContext } from '@ima/react-page-renderer';\nimport './homeView.less';\n\nexport function HomeView() {\n const _pageContext = usePageContext();\n\n return (\n <div className='l-home container'>\n <h1>Guestbook</h1>\n\n <div className='posting-form card'>\n <form action='' method='post'>\n <h5 className='card-header'>Add a post</h5>\n <div className='card-body'>\n <div className='form-group'>\n <label htmlFor='postForm-name'>Name:</label>\n <input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n placeholder='Your name'\n />\n </div>\n <div className='form-group'>\n <label htmlFor='postForm-content'>Post:</label>\n <textarea\n id='postForm-content'\n className='form-control'\n name='content'\n placeholder='What would you like to tell us?'\n />\n </div>\n </div>\n <div className='card-footer'>\n <button type='submit' className='btn btn btn-outline-primary'>\n Submit\n <div className='ripple-wrapper' />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className='posts'>\n <h2>Posts</h2>\n <div className='post card card-default'>\n <div className='card-body'>Never mistake motion for action.</div>\n <div className='post-author card-footer'>Ernest Hemingway</div>\n </div>\n <div className='post card card-default'>\n <div className='card-body'>\n Quality means doing it right when no one is looking.\n </div>\n <div className='post-author card-footer'>Henry Ford</div>\n </div>\n <div className='post card card-default'>\n <div className='card-body'>\n We are what we repeatedly do. Excellence, then, is not an act, but a\n habit.\n </div>\n <div className='post-author card-footer'>Aristotle</div>\n </div>\n <div className='post card card-default'>\n <div className='card-body'>\n Reality is merely an illusion, albeit a very persistent one.\n </div>\n <div className='post-author card-footer'>Albert Einstein</div>\n </div>\n </div>\n </div>\n );\n}\n")))),(0,o.yg)("p",null,"Whoa, that's a lot of code! But don't worry, it's just a form we'll use to\nwrite new posts and some example posts. Notice the CSS class we put on the root\nelement though, ",(0,o.yg)("inlineCode",{parentName:"p"},"l-home"),". It is considered a good practice to add such a CSS\nclass on the root element of every React component and/or controller view. The\nCSS class name should be the slugified version of the React component's /\ncontroller's name, for example ",(0,o.yg)("inlineCode",{parentName:"p"},"MyAwesomeComponent")," would become\n",(0,o.yg)("inlineCode",{parentName:"p"},"my-awesome-component"),". Additionally, it is recommended to prefix the\ncontroller's name with ",(0,o.yg)("inlineCode",{parentName:"p"},"l-"),' (think "layout"), leading to ',(0,o.yg)("inlineCode",{parentName:"p"},"l-home")," for our\n",(0,o.yg)("inlineCode",{parentName:"p"},"Home")," controller's view."),(0,o.yg)("p",null,"The main point of this practice is that it enables easy scoping of CSS rules\nthat should affect only the contents of the component and not the rest of the\npage, thus reducing the amount of possible conflicts in CSS declarations."),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"l-")," prefix used in the case of controller views is added to prevent\npossible collisions with components that might share the same name, and to\nallow easy inclusion of single page-specific overrides for the UI of your\ncomponents that will not affect the rest of the pages in your application."),(0,o.yg)("p",null,"In general, it is recommended to organize your CSS code according to the\n",(0,o.yg)("a",{parentName:"p",href:"http://smacss.com/"},"SMACSS")," recommendation (Scalable and Modular Architecture\nfor CSS). Feel free to read through the page if you are not familiar with\nSMACSS yet, it won't take you long."),(0,o.yg)("h3",{id:"styling-our-form"},"Styling our form"),(0,o.yg)("p",null,"So let's make our guestbook look a little better. To achieve this, we'll\nuse the Bootstrap library. To make things simple,\nwe will just use the CDN-hosted CSS file, since we don't need any of Bootstrap's JS components in our example anyway."),(0,o.yg)("p",null,"In a real application, we strongly recommend you manage these dependencies yourself (for example through npm packages),\nand consider using a custom build that includes only the necessary CSS/JS."),(0,o.yg)("p",null,"First we need to include a few files to our page. Open the document component\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/document/DocumentView.jsx")," (this is the UI component that renders the basic structure of the HTML document. You'll find more details about it in the ",(0,o.yg)("a",{parentName:"p",href:"#rendering-the-whole-document"},"Rendering the whole document")," section of this chapter).\nInsert the following code before the ",(0,o.yg)("inlineCode",{parentName:"p"},'<link rel="stylesheet" ...')," line to include\nthe Bootstrap CSS library:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-xml"},'<link\n rel="stylesheet"\n href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"\n integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"\n crossOrigin="anonymous"\n/>\n')),(0,o.yg)("p",null,"This will save us a lot of effort with styling our UI."),(0,o.yg)("h4",{id:"defining-custom-styles"},"Defining custom styles"),(0,o.yg)("p",null,"Let's write some CSS to make our guestbook look even better. Open the\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/less/globals.less")," file and add the following code to set up our\nlayout configuration:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-scss"},"@post-author-alignment: right;\n")),(0,o.yg)("p",null,"Next open the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/less/app.less")," file and add the following code below the existing one:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-scss"},"form {\n margin-bottom: 0;\n}\n")),(0,o.yg)("p",null,"Now let's open the the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/homeView.less")," file and replace the\ncontents with the following code:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-scss"},".l-home {\n margin-top: 2rem;\n\n .post-author {\n text-align: @post-author-alignment;\n font-style: italic;\n font-size: 85%;\n }\n\n .card {\n margin-bottom: 2rem;\n }\n}\n")),(0,o.yg)("p",null,"Go ahead and check the results in the browser. It sure does look a little\nbetter (you may have to reload the page, or event restart the dev server\nby hitting ",(0,o.yg)("inlineCode",{parentName:"p"},"Ctrl+C")," and then re-running the ",(0,o.yg)("inlineCode",{parentName:"p"},"npm run dev")," command if your\nbrowser cannot access the newly installed resources). In the end of this section\nyou should see something like this when you refresh your page."),(0,o.yg)("p",null,(0,o.yg)("img",{src:n(5251).A,width:"2400",height:"2400"})),(0,o.yg)("h3",{id:"rendering-the-whole-document"},"Rendering the whole document"),(0,o.yg)("p",null,"As you may have noticed, we didn't specify any ",(0,o.yg)("inlineCode",{parentName:"p"},"<html>")," or ",(0,o.yg)("inlineCode",{parentName:"p"},"<body>")," element in\nour controller view, and yet the page rendered in the browser has them. So how\ndid this little piece of magic happen?"),(0,o.yg)("p",null,"As you may recall from the beginning of this tutorial, the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component"),"\ndirectory contains components that are used in the application UI. There is one\nspecial component - the document component\n(",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/document/DocumentView.jsx"),"). The document component handles\nrendering the basic structure of the HTML document like the ",(0,o.yg)("inlineCode",{parentName:"p"},"<html>")," and\n",(0,o.yg)("inlineCode",{parentName:"p"},"<body>")," elements."),(0,o.yg)("p",null,"Finally, the document component must render three elements, ",(0,o.yg)("inlineCode",{parentName:"p"},'<div id="page">'),",\n",(0,o.yg)("inlineCode",{parentName:"p"},'<script id="revivalSettings">')," and ",(0,o.yg)("inlineCode",{parentName:"p"},'<script id="scripts">'),"."),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("inlineCode",{parentName:"li"},"#page")," - is a place where current view is rendered."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("inlineCode",{parentName:"li"},"#revivalSettings")," - contains JavaScript code used to initialize the environment for your application at the client side."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("inlineCode",{parentName:"li"},"#scripts")," - contains the JavaScript logic of your application.")),(0,o.yg)("p",null,"The order is important as this will allow your users\nto see the whole of the page content before the application is fully loaded in\nthe browser (remember, the content is first rendered at the server side)."),(0,o.yg)("p",null,"The one thing the document component does not render and is handled by IMA.js\nitself is the ",(0,o.yg)("inlineCode",{parentName:"p"},"<!doctype html>")," doctype at the beginning of the rendered page -\nthis is due to the limitations of the React library, but you don't need to\nconcern yourself with this very much."),(0,o.yg)("p",null,"Note that the document component is only used at the server-side, as the\napplication only updates the contents of the ",(0,o.yg)("inlineCode",{parentName:"p"},"#page")," element at the\nclient-side (and the page title and meta tags through the meta-manager, which\nwill not be covered by this tutorial, but you can learn more about its interface\nin the API ",(0,o.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"/api/meta/meta-meta-manager"),")."),(0,o.yg)("p",null,"For more information about ",(0,o.yg)("inlineCode",{parentName:"p"},"DocumentView")," and whole rendering process of IMA.js\napplication, ",(0,o.yg)("a",{parentName:"p",href:"/basic-features/rendering-process"},"take a look at the documentation"),"."),(0,o.yg)("h3",{id:"notes-on-es2015-modules-and-imajs-namespaces"},"Notes on ES2015 modules and IMA.js namespaces"),(0,o.yg)("p",null,"Starting with version 15 of IMA.js namespaces were deprecated in favor of ES2015\nmodules. Mainly because ES modules are now more widespread and have better support\nin many IDEs thus don't pose such a problem when it comes to refactoring."),(0,o.yg)("p",null,"Previously almost all of the JavaScript files in your IMA.js application included\na snippet of code like this one near the beginning:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import ns from 'ima/namespace';\n\nns.namespace('app.foo.bar');\n")),(0,o.yg)("p",null,"and ended with a line of code like this one:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"ns.app.foo.bar.Baz = Baz;\n")),(0,o.yg)("p",null,"The first snippet imports the object that represents the root namespace for the\nclasses, constants and values in the application, and then ensures that the\nnamespace to which the class / constant / value will be bound exists by calling\n",(0,o.yg)("inlineCode",{parentName:"p"},"ns.namespace('namespace name goes here')"),". The second snippet binds the class,\nconstant or value created in the file to the namespace."),(0,o.yg)("p",null,(0,o.yg)("strong",{parentName:"p"},"If you're using version 15 and above")," you can safely remove deprecated namespaces\nand replace them with ES2015 ",(0,o.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import"},(0,o.yg)("inlineCode",{parentName:"a"},"import")),"\nand ",(0,o.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export"},(0,o.yg)("inlineCode",{parentName:"a"},"export")),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54d95e21.d3ba20a6.js b/assets/js/54d95e21.d3ba20a6.js new file mode 100644 index 000000000..21869dd03 --- /dev/null +++ b/assets/js/54d95e21.d3ba20a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[308],{2660:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>c,metadata:()=>o,toc:()=>h});const o=JSON.parse('{"id":"tutorial/static-view","title":"Static View","description":"Tutorial > Static View","source":"@site/../docs/tutorial/static-view.mdx","sourceDirName":"tutorial","slug":"/tutorial/static-view","permalink":"/tutorial/static-view","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/static-view.mdx","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Static View","description":"Tutorial > Static View"},"sidebar":"tutorial","previous":{"title":"Introduction","permalink":"/tutorial/introduction"},"next":{"title":"Adding Some State","permalink":"/tutorial/adding-some-state"}}');var s=t(2540),a=t(3023),r=t(3776),i=t(6052);const c={title:"Static View",description:"Tutorial > Static View"},l=void 0,d={},h=[{value:"View Component",id:"view-component",level:2},{value:"Guestbook form & SMACSS",id:"guestbook-form--smacss",level:3},{value:"Styling our form",id:"styling-our-form",level:3},{value:"Defining custom styles",id:"defining-custom-styles",level:4},{value:"Rendering the whole document",id:"rendering-the-whole-document",level:3},{value:"Notes on ES2015 modules and IMA.js namespaces",id:"notes-on-es2015-modules-and-imajs-namespaces",level:3}];function u(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.a,{href:"./introduction",children:"first part"})," we went through introduction to IMA.js and initialized our first\napplication using ",(0,s.jsx)(n.code,{children:"create-ima-app"})," command. In the second part of the tutorial\nwe'll actually do some coding and prepare basic Views for our guest book application."]}),"\n",(0,s.jsx)(n.h2,{id:"view-component",children:"View Component"}),"\n",(0,s.jsxs)(n.p,{children:["Open up the ",(0,s.jsx)(n.code,{children:"app/page/home/HomeView.jsx"})," file in your code editor. You will see a\nsingle ES2015 class named ",(0,s.jsx)(n.code,{children:"HomeView"}),", extending the ",(0,s.jsx)(n.code,{children:"AbstractComponent"})," class\n(which in turn extends the\n",(0,s.jsx)(n.a,{href:"https://facebook.github.io/react/docs/component-api.html",children:(0,s.jsx)(n.code,{children:"React.Component"})}),"\nclass). You can read more about components and views in the ",(0,s.jsx)(n.a,{href:"/basic-features/views-and-components",children:"documentation"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Now let's replace the contents of the file with a blank view:"}),"\n",(0,s.jsxs)(r.A,{children:[(0,s.jsx)(i.A,{value:"JavaScript",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import { PageContext, AbstractComponent } from '@ima/react-page-renderer';\nimport React from 'react';\nimport './homeView.less';\n\nexport class HomeView extends AbstractComponent {\n static get contextType() {\n return PageContext;\n }\n\n render() {\n return null;\n }\n}\n"})})}),(0,s.jsxs)(i.A,{value:"TypeScript",children:[(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-tsx",children:"import { usePageContext } from '@ima/react-page-renderer';\nimport './homeView.less';\n\nexport function HomeView() {\n const _pageContext = usePageContext();\n\n return null;\n}\n"})}),(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:["**TypeScript: ** With functional components we have to use ",(0,s.jsx)(n.code,{children:"usePageContext()"})," hook,\nthat provides us direct access to the IMA Page context. You can find more about the hooks provided by IMA at\n",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/@ima/react-hooks",children:"@ima/react-hooks"}),"."]}),"\n"]}),(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:["There is also no need for any constructor or render method, so we do not have to worry about implementing the\n",(0,s.jsx)(n.code,{children:"AbstractComponent"})," class to our functional component, and we can directly output the content with ",(0,s.jsx)(n.code,{children:"return"}),"."]}),"\n"]})]})]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"HomeView"})," class defines the ",(0,s.jsx)(n.code,{children:"render()"})," method. Notice that our current\n",(0,s.jsx)(n.code,{children:"HomeView"})," class does not have the ",(0,s.jsx)(n.code,{children:"constructor()"})," method, as the default\none provided by the ",(0,s.jsx)(n.code,{children:"AbstractComponent"})," class will do in this case."]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"constructor()"})," is the class constructor (an object initializer, if you\nwill) that sets the component's initial properties (",(0,s.jsx)(n.code,{children:"props"}),") and context. The\n",(0,s.jsx)(n.code,{children:"props"})," object represents the properties set on our view component by the\ncode using it (",(0,s.jsxs)(n.em,{children:["the properties are set using the element attributes in JSX,\nyou can find our more about this\n",(0,s.jsx)(n.a,{href:"http://facebook.github.io/react/docs/getting-started.html",children:"here"})]}),'). The\ncontext is an object representing the "globals" for the React components in\nthe application. IMA.js uses the context to pass view utils to components,\nyou can find out more about it\n',(0,s.jsx)(n.a,{href:"https://facebook.github.io/react/docs/context.html",children:"here"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["There's also static getter ",(0,s.jsx)(n.code,{children:"contextType()"})," which returns ",(0,s.jsx)(n.code,{children:"PageContext"}),", that\nby default provides the component access to global ",(0,s.jsx)(n.code,{children:"$Utils"})," object in the component context.\nThis object is very useful as we can bind custom helper methods to it in the\n",(0,s.jsx)(n.code,{children:"bind.js"}),"file with the help of Object Container. But we'll talk about this a bit more\n",(0,s.jsx)(n.a,{href:"./fetching-data.md#dependency-injection",children:"later in this tutorial"})]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"render()"})," method creates and returns a React element that represents the\nview in the UI. Our ",(0,s.jsx)(n.code,{children:"render()"})," method returns ",(0,s.jsx)(n.code,{children:"null"})," because our component does\nnot have a UI yet."]}),"\n",(0,s.jsxs)(n.p,{children:["Now that we know our way around our component, let's replace the contents of\nthe ",(0,s.jsx)(n.code,{children:"render()"})," method with the following code:"]}),"\n",(0,s.jsxs)(r.A,{children:[(0,s.jsx)(i.A,{value:"JavaScript",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"return <div className=\"l-home container\">Hello {'World'}!</div>;\n"})})}),(0,s.jsx)(i.A,{value:"TypeScript",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-tsx",children:"return <div className=\"l-home container\">Hello {'World'}!</div>;\n"})})})]}),"\n",(0,s.jsxs)(n.p,{children:["The \"HTML\" code you see is actually an XML markup with JavaScript expressions\nembedded within curly braces. This markup is processed automatically by Babel's\nJSX transformer into ordinary JavaScript expressions creating React elements\n(React's virtual DOM allowing rendering at both the client and the server side).\nThis combination of JavaScript and XML is commonly referred to as JSX and you\ncan find out more about it\n",(0,s.jsx)(n.a,{href:"http://facebook.github.io/react/docs/jsx-in-depth.html",children:"here"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"render()"})," method must always return a React element (or a similar plain\nobject, or ",(0,s.jsx)(n.code,{children:"null"}),"), so it can be properly rendered at both the client and\nserver. Never attempt to create an actual DOM element in your view - your\napplication will most likely break! This is because your code is run at the\nserver first, where no DOM is available, and polyfilling it, while possible,\nwould introduce a large overhead. Additionally, since the UI is rendered using\nReact which modifies the DOM at the client side, any changes to the DOM you would\nmanage to make would likely be lost with the next update of the page's UI."]}),"\n",(0,s.jsx)(n.p,{children:"If everything went well you should see the following page when you refresh your browser:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:t(6514).A+"",width:"2400",height:"913"})}),"\n",(0,s.jsx)(n.h3,{id:"guestbook-form--smacss",children:"Guestbook form & SMACSS"}),"\n",(0,s.jsxs)(n.p,{children:["Let's modify the return value of the ",(0,s.jsx)(n.code,{children:"render"})," method to look like this:"]}),"\n",(0,s.jsxs)(r.A,{children:[(0,s.jsx)(i.A,{value:"JavaScript",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:'return (\n <div className="l-home container">\n <h1>Guestbook</h1>\n\n <div className="posting-form card">\n <form action="" method="post">\n <h5 className="card-header">Add a post</h5>\n <div className="card-body">\n <div className="form-group">\n <label htmlFor="postForm-name">Name:</label>\n <input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n placeholder="Your name"\n />\n </div>\n <div className="form-group">\n <label htmlFor="postForm-content">Post:</label>\n <textarea\n id="postForm-content"\n className="form-control"\n name="content"\n placeholder="What would you like to tell us?"\n />\n </div>\n </div>\n <div className="card-footer">\n <button type="submit" className="btn btn btn-outline-primary">\n Submit\n <div className="ripple-wrapper" />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className="posts">\n <h2>Posts</h2>\n <div className="post card card-default">\n <div className="card-body">Never mistake motion for action.</div>\n <div className="post-author card-footer">Ernest Hemingway</div>\n </div>\n <div className="post card card-default">\n <div className="card-body">\n Quality means doing it right when no one is looking.\n </div>\n <div className="post-author card-footer">Henry Ford</div>\n </div>\n <div className="post card card-default">\n <div className="card-body">\n We are what we repeatedly do. Excellence, then, is not an act, but\n a habit.\n </div>\n <div className="post-author card-footer">Aristotle</div>\n </div>\n <div className="post card card-default">\n <div className="card-body">\n Reality is merely an illusion, albeit a very persistent one.\n </div>\n <div className="post-author card-footer">Albert Einstein</div>\n </div>\n </div>\n </div>\n );\n'})})}),(0,s.jsx)(i.A,{value:"TypeScript",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-tsx",children:"import { usePageContext } from '@ima/react-page-renderer';\nimport './homeView.less';\n\nexport function HomeView() {\n const _pageContext = usePageContext();\n\n return (\n <div className='l-home container'>\n <h1>Guestbook</h1>\n\n <div className='posting-form card'>\n <form action='' method='post'>\n <h5 className='card-header'>Add a post</h5>\n <div className='card-body'>\n <div className='form-group'>\n <label htmlFor='postForm-name'>Name:</label>\n <input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n placeholder='Your name'\n />\n </div>\n <div className='form-group'>\n <label htmlFor='postForm-content'>Post:</label>\n <textarea\n id='postForm-content'\n className='form-control'\n name='content'\n placeholder='What would you like to tell us?'\n />\n </div>\n </div>\n <div className='card-footer'>\n <button type='submit' className='btn btn btn-outline-primary'>\n Submit\n <div className='ripple-wrapper' />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className='posts'>\n <h2>Posts</h2>\n <div className='post card card-default'>\n <div className='card-body'>Never mistake motion for action.</div>\n <div className='post-author card-footer'>Ernest Hemingway</div>\n </div>\n <div className='post card card-default'>\n <div className='card-body'>\n Quality means doing it right when no one is looking.\n </div>\n <div className='post-author card-footer'>Henry Ford</div>\n </div>\n <div className='post card card-default'>\n <div className='card-body'>\n We are what we repeatedly do. Excellence, then, is not an act, but a\n habit.\n </div>\n <div className='post-author card-footer'>Aristotle</div>\n </div>\n <div className='post card card-default'>\n <div className='card-body'>\n Reality is merely an illusion, albeit a very persistent one.\n </div>\n <div className='post-author card-footer'>Albert Einstein</div>\n </div>\n </div>\n </div>\n );\n}\n"})})})]}),"\n",(0,s.jsxs)(n.p,{children:["Whoa, that's a lot of code! But don't worry, it's just a form we'll use to\nwrite new posts and some example posts. Notice the CSS class we put on the root\nelement though, ",(0,s.jsx)(n.code,{children:"l-home"}),". It is considered a good practice to add such a CSS\nclass on the root element of every React component and/or controller view. The\nCSS class name should be the slugified version of the React component's /\ncontroller's name, for example ",(0,s.jsx)(n.code,{children:"MyAwesomeComponent"})," would become\n",(0,s.jsx)(n.code,{children:"my-awesome-component"}),". Additionally, it is recommended to prefix the\ncontroller's name with ",(0,s.jsx)(n.code,{children:"l-"}),' (think "layout"), leading to ',(0,s.jsx)(n.code,{children:"l-home"})," for our\n",(0,s.jsx)(n.code,{children:"Home"})," controller's view."]}),"\n",(0,s.jsx)(n.p,{children:"The main point of this practice is that it enables easy scoping of CSS rules\nthat should affect only the contents of the component and not the rest of the\npage, thus reducing the amount of possible conflicts in CSS declarations."}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"l-"})," prefix used in the case of controller views is added to prevent\npossible collisions with components that might share the same name, and to\nallow easy inclusion of single page-specific overrides for the UI of your\ncomponents that will not affect the rest of the pages in your application."]}),"\n",(0,s.jsxs)(n.p,{children:["In general, it is recommended to organize your CSS code according to the\n",(0,s.jsx)(n.a,{href:"http://smacss.com/",children:"SMACSS"})," recommendation (Scalable and Modular Architecture\nfor CSS). Feel free to read through the page if you are not familiar with\nSMACSS yet, it won't take you long."]}),"\n",(0,s.jsx)(n.h3,{id:"styling-our-form",children:"Styling our form"}),"\n",(0,s.jsx)(n.p,{children:"So let's make our guestbook look a little better. To achieve this, we'll\nuse the Bootstrap library. To make things simple,\nwe will just use the CDN-hosted CSS file, since we don't need any of Bootstrap's JS components in our example anyway."}),"\n",(0,s.jsx)(n.p,{children:"In a real application, we strongly recommend you manage these dependencies yourself (for example through npm packages),\nand consider using a custom build that includes only the necessary CSS/JS."}),"\n",(0,s.jsxs)(n.p,{children:["First we need to include a few files to our page. Open the document component\n",(0,s.jsx)(n.code,{children:"app/component/document/DocumentView.jsx"})," (this is the UI component that renders the basic structure of the HTML document. You'll find more details about it in the ",(0,s.jsx)(n.a,{href:"#rendering-the-whole-document",children:"Rendering the whole document"})," section of this chapter).\nInsert the following code before the ",(0,s.jsx)(n.code,{children:'<link rel="stylesheet" ...'})," line to include\nthe Bootstrap CSS library:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-xml",children:'<link\n rel="stylesheet"\n href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"\n integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"\n crossOrigin="anonymous"\n/>\n'})}),"\n",(0,s.jsx)(n.p,{children:"This will save us a lot of effort with styling our UI."}),"\n",(0,s.jsx)(n.h4,{id:"defining-custom-styles",children:"Defining custom styles"}),"\n",(0,s.jsxs)(n.p,{children:["Let's write some CSS to make our guestbook look even better. Open the\n",(0,s.jsx)(n.code,{children:"app/less/globals.less"})," file and add the following code to set up our\nlayout configuration:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"@post-author-alignment: right;\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Next open the ",(0,s.jsx)(n.code,{children:"app/less/app.less"})," file and add the following code below the existing one:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:"form {\n margin-bottom: 0;\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Now let's open the the ",(0,s.jsx)(n.code,{children:"app/page/home/homeView.less"})," file and replace the\ncontents with the following code:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-scss",children:".l-home {\n margin-top: 2rem;\n\n .post-author {\n text-align: @post-author-alignment;\n font-style: italic;\n font-size: 85%;\n }\n\n .card {\n margin-bottom: 2rem;\n }\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Go ahead and check the results in the browser. It sure does look a little\nbetter (you may have to reload the page, or event restart the dev server\nby hitting ",(0,s.jsx)(n.code,{children:"Ctrl+C"})," and then re-running the ",(0,s.jsx)(n.code,{children:"npm run dev"})," command if your\nbrowser cannot access the newly installed resources). In the end of this section\nyou should see something like this when you refresh your page."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:t(5251).A+"",width:"2400",height:"2400"})}),"\n",(0,s.jsx)(n.h3,{id:"rendering-the-whole-document",children:"Rendering the whole document"}),"\n",(0,s.jsxs)(n.p,{children:["As you may have noticed, we didn't specify any ",(0,s.jsx)(n.code,{children:"<html>"})," or ",(0,s.jsx)(n.code,{children:"<body>"})," element in\nour controller view, and yet the page rendered in the browser has them. So how\ndid this little piece of magic happen?"]}),"\n",(0,s.jsxs)(n.p,{children:["As you may recall from the beginning of this tutorial, the ",(0,s.jsx)(n.code,{children:"app/component"}),"\ndirectory contains components that are used in the application UI. There is one\nspecial component - the document component\n(",(0,s.jsx)(n.code,{children:"app/component/document/DocumentView.jsx"}),"). The document component handles\nrendering the basic structure of the HTML document like the ",(0,s.jsx)(n.code,{children:"<html>"})," and\n",(0,s.jsx)(n.code,{children:"<body>"})," elements."]}),"\n",(0,s.jsxs)(n.p,{children:["Finally, the document component must render three elements, ",(0,s.jsx)(n.code,{children:'<div id="page">'}),",\n",(0,s.jsx)(n.code,{children:'<script id="revivalSettings">'})," and ",(0,s.jsx)(n.code,{children:'<script id="scripts">'}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"#page"})," - is a place where current view is rendered."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"#revivalSettings"})," - contains JavaScript code used to initialize the environment for your application at the client side."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"#scripts"})," - contains the JavaScript logic of your application."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The order is important as this will allow your users\nto see the whole of the page content before the application is fully loaded in\nthe browser (remember, the content is first rendered at the server side)."}),"\n",(0,s.jsxs)(n.p,{children:["The one thing the document component does not render and is handled by IMA.js\nitself is the ",(0,s.jsx)(n.code,{children:"<!doctype html>"})," doctype at the beginning of the rendered page -\nthis is due to the limitations of the React library, but you don't need to\nconcern yourself with this very much."]}),"\n",(0,s.jsxs)(n.p,{children:["Note that the document component is only used at the server-side, as the\napplication only updates the contents of the ",(0,s.jsx)(n.code,{children:"#page"})," element at the\nclient-side (and the page title and meta tags through the meta-manager, which\nwill not be covered by this tutorial, but you can learn more about its interface\nin the API ",(0,s.jsx)(n.a,{href:"../api/classes/ima_core.MetaManager.md",children:"/api/meta/meta-meta-manager"}),")."]}),"\n",(0,s.jsxs)(n.p,{children:["For more information about ",(0,s.jsx)(n.code,{children:"DocumentView"})," and whole rendering process of IMA.js\napplication, ",(0,s.jsx)(n.a,{href:"/basic-features/rendering-process",children:"take a look at the documentation"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"notes-on-es2015-modules-and-imajs-namespaces",children:"Notes on ES2015 modules and IMA.js namespaces"}),"\n",(0,s.jsx)(n.p,{children:"Starting with version 15 of IMA.js namespaces were deprecated in favor of ES2015\nmodules. Mainly because ES modules are now more widespread and have better support\nin many IDEs thus don't pose such a problem when it comes to refactoring."}),"\n",(0,s.jsx)(n.p,{children:"Previously almost all of the JavaScript files in your IMA.js application included\na snippet of code like this one near the beginning:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"import ns from 'ima/namespace';\n\nns.namespace('app.foo.bar');\n"})}),"\n",(0,s.jsx)(n.p,{children:"and ended with a line of code like this one:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:"ns.app.foo.bar.Baz = Baz;\n"})}),"\n",(0,s.jsxs)(n.p,{children:["The first snippet imports the object that represents the root namespace for the\nclasses, constants and values in the application, and then ensures that the\nnamespace to which the class / constant / value will be bound exists by calling\n",(0,s.jsx)(n.code,{children:"ns.namespace('namespace name goes here')"}),". The second snippet binds the class,\nconstant or value created in the file to the namespace."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"If you're using version 15 and above"})," you can safely remove deprecated namespaces\nand replace them with ES2015 ",(0,s.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import",children:(0,s.jsx)(n.code,{children:"import"})}),"\nand ",(0,s.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export",children:(0,s.jsx)(n.code,{children:"export"})}),"."]})]})}function m(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},6052:(e,n,t)=>{t.d(n,{A:()=>r});t(3696);var o=t(2689);const s={tabItem:"tabItem_wHwb"};var a=t(2540);function r(e){let{children:n,hidden:t,className:r}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,o.A)(s.tabItem,r),hidden:t,children:n})}},3776:(e,n,t)=>{t.d(n,{A:()=>y});var o=t(3696),s=t(2689),a=t(3707),r=t(9519),i=t(3604),c=t(5196),l=t(6229),d=t(8030);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:t}=e;return(0,o.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:t,attributes:o,default:s}}=e;return{value:n,label:t,attributes:o,default:s}}))}(t);return function(e){const n=(0,l.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function p(e){let{queryString:n=!1,groupId:t}=e;const s=(0,r.W6)(),a=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c.aZ)(a),(0,o.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(s.location.search);n.set(a,e),s.replace({...s.location,search:n.toString()})}),[a,s])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:s}=e,a=u(e),[r,c]=(0,o.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const o=t.find((e=>e.default))??t[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:n,tabValues:a}))),[l,h]=p({queryString:t,groupId:s}),[f,x]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,a]=(0,d.Dv)(t);return[s,(0,o.useCallback)((e=>{t&&a.set(e)}),[t,a])]}({groupId:s}),v=(()=>{const e=l??f;return m({value:e,tabValues:a})?e:null})();(0,i.A)((()=>{v&&c(v)}),[v]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),x(e)}),[h,x,a]),tabValues:a}}var x=t(5200);const v={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var g=t(2540);function b(e){let{className:n,block:t,selectedValue:o,selectValue:r,tabValues:i}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,a.a_)(),d=e=>{const n=e.currentTarget,t=c.indexOf(n),s=i[t].value;s!==o&&(l(n),r(s))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{const t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1];break}}n?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:a}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:o===n?0:-1,"aria-selected":o===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...a,className:(0,s.A)("tabs__item",v.tabItem,a?.className,{"tabs__item--active":o===n}),children:t??n},n)}))})}function j(e){let{lazy:n,children:t,selectedValue:a}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===a));return e?(0,o.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==a})))})}function w(e){const n=f(e);return(0,g.jsxs)("div",{className:(0,s.A)("tabs-container",v.tabList),children:[(0,g.jsx)(b,{...n,...e}),(0,g.jsx)(j,{...n,...e})]})}function y(e){const n=(0,x.A)();return(0,g.jsx)(w,{...e,children:h(e.children)},String(n))}},6514:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/static-view-null-12294c9d858733d2999a6cc712166ca3.png"},5251:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/static-view-styling-our-form-0b8cf4b31368ef0ad49b2c44f2be15f0.png"},3023:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>i});var o=t(3696);const s={},a=o.createContext(s);function r(e){const n=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/54f60d95.56e34430.js b/assets/js/54f60d95.56e34430.js deleted file mode 100644 index 457b15f2a..000000000 --- a/assets/js/54f60d95.56e34430.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6114],{2746:(e,n,t)=>{t.d(n,{A:()=>a});const a=t.p+"assets/images/diagram-view-56a22b0e13633a1269dc52d3e1132aa6.png"},5680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>u});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(t),g=r,u=d["".concat(l,".").concat(g)]||d[g]||m[g]||i;return t?a.createElement(u,o(o({ref:n},c),{},{components:t})):a.createElement(u,o({ref:n},c))}));function u(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=g;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[d]="string"==typeof e?e:r,o[1]=s;for(var p=2;p<i;p++)o[p]=t[p];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},6062:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var a=t(8102),r=(t(6540),t(5680));const i={title:"Views & Components",description:"Basic features > Views & Components"},o=void 0,s={unversionedId:"basic-features/views-and-components",id:"basic-features/views-and-components",title:"Views & Components",description:"Basic features > Views & Components",source:"@site/../docs/basic-features/views-and-components.md",sourceDirName:"basic-features",slug:"/basic-features/views-and-components",permalink:"/basic-features/views-and-components",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/views-and-components.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Views & Components",description:"Basic features > Views & Components"},sidebar:"docs",previous:{title:"Controller lifecycle",permalink:"/basic-features/controller-lifecycle"},next:{title:"Data fetching",permalink:"/basic-features/data-fetching"}},l={},p=[{value:"Organizing Views and Components",id:"organizing-views-and-components",level:2},{value:"Rendering Views",id:"rendering-views",level:2},{value:"Route parameters in View",id:"route-parameters-in-view",level:3},{value:"Communication between Views and Controllers",id:"communication-between-views-and-controllers",level:2},{value:"Utilities shared across Views and Components",id:"utilities-shared-across-views-and-components",level:2}],c={toc:p},d="wrapper";function m(e){let{components:n,...i}=e;return(0,r.yg)(d,(0,a.A)({},c,i,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"As you may have noticed when a ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction"},"route is registered"),",\na constructor of ",(0,r.yg)("strong",{parentName:"p"},"Controller")," and ",(0,r.yg)("strong",{parentName:"p"},"View")," is given as a 3rd and 4th argument.\nController takes care of loading and managing the data while View is a\npresentation for the data loaded by the Controller."),(0,r.yg)("p",null,(0,r.yg)("img",{src:t(2746).A,width:"881",height:"421"})),(0,r.yg)("h2",{id:"organizing-views-and-components"},"Organizing Views and Components"),(0,r.yg)("p",null,"A good spot to place a view file is next to a controller file - that is:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"app/page/<name-of-the-page>/\n \u251c\u2500 SomeController.js\n \u251c\u2500 SomeView.jsx\n \u2514\u2500 someView.less\n")),(0,r.yg)("p",null,"To structure your views easily you can split your views into a smaller components\nthat can also be reused in other views. Those smaller component are then included\nand used as any other react component. Components should be\nplaced into a ",(0,r.yg)("inlineCode",{parentName:"p"},"app/component/")," directory."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"app/page/component/\n \u251c\u2500 document/\n | \u2514\u2500 DocumentView.jsx\n \u251c\u2500 header/\n | \u251c\u2500 Header.jsx\n | \u2514\u2500 header.less\n \u2514\u2500 searchBar/\n \u251c\u2500 SearchBar.jsx\n \u2514\u2500 searchBar.less\n")),(0,r.yg)("h2",{id:"rendering-views"},"Rendering Views"),(0,r.yg)("p",null,"Views are just a React components that receive page state as props, that means you\ncan freely use internal component state and any React lifecycle methods as you\nwish."),(0,r.yg)("p",null,"An element that is returned from the ",(0,r.yg)("inlineCode",{parentName:"p"},"render")," method is appended to the\n",(0,r.yg)("inlineCode",{parentName:"p"},"ManagedRootView"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"ViewAdapter")," and then ",(0,r.yg)("inlineCode",{parentName:"p"},"DocumentView")," on the ",(0,r.yg)("strong",{parentName:"p"},"server side"),"\nand send as a plain HTML markup to the client where it's hydrated with it's\nformer state."),(0,r.yg)("p",null,"When a route change occurs on a ",(0,r.yg)("strong",{parentName:"p"},"client side")," and..."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"...only route parameters has changed, route was registered with the ",(0,r.yg)("inlineCode",{parentName:"li"},"onlyUpdate"),"\nflag set to ",(0,r.yg)("inlineCode",{parentName:"li"},"true")," and Controller has ",(0,r.yg)("inlineCode",{parentName:"li"},"update")," method defined. In this case the\nView receives new props (page state) and should react to them accordingly."),(0,r.yg)("li",{parentName:"ul"},"...the current view is different from the new one then the rendered view is\nreplaced with a newly rendered view.")),(0,r.yg)("h3",{id:"route-parameters-in-view"},"Route parameters in View"),(0,r.yg)("p",null,"In ideal case Views should only display data loaded in Controller and not even\ncare about route parameters. But as nothing is ever ideal we've added ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#route-params-substitutions"},(0,r.yg)("inlineCode",{parentName:"a"},"params")," object")," to the View props for you."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"// app/config/routes.js\nrouter.add('user-detail', '/user/:userId', UserController, UserView);\nrouter.add('user-edit', '/user/:userId/edit', UserEditController, UserEditView);\n\n// app/page/user-detail/UserView.jsx\nconst { userId } = this.props.params;\n\nconst userLink = this.link('user-edit', { userId });\n<a href = { userLink }>\n")),(0,r.yg)("p",null,"This example ensures that the link to ",(0,r.yg)("inlineCode",{parentName:"p"},"user-edit")," page is functional\nimmediately when a user navigates to ",(0,r.yg)("inlineCode",{parentName:"p"},"user-detail")," page. Otherwise the link would\nbe functional only after the user-loading promise has been resolved."),(0,r.yg)("h2",{id:"communication-between-views-and-controllers"},"Communication between Views and Controllers"),(0,r.yg)("p",null,"It's clear that data obtained in a Controller are passed down to a View and thus\naffecting how the rendered View looks and what it displays. A problem arises when\na View wants to tell Controller to load or change something. The solution to this\nare event handling utils ",(0,r.yg)("a",{parentName:"p",href:"./events#eventbus"},(0,r.yg)("strong",{parentName:"a"},"EventBus"))," and\n",(0,r.yg)("a",{parentName:"p",href:"./events#dispatcher"},(0,r.yg)("strong",{parentName:"a"},"Dispatcher")),"."),(0,r.yg)("h2",{id:"utilities-shared-across-views-and-components"},"Utilities shared across Views and Components"),(0,r.yg)("p",null,"At some point you'll come to a situation when it'd be nice to have a function or set of functions shared between multiple components. Great example would be custom link generation, page elements manipulation (modal, lightbox) or adverts and analytics."),(0,r.yg)("p",null,"These cases are covered by ",(0,r.yg)("strong",{parentName:"p"},"ComponentUtils")," that allow you to register classes (utilities) that are then shared across every View and Component. Utilities are instantiated through ",(0,r.yg)("a",{parentName:"p",href:"./object-container"},"OC")," therefore you can get access to other utilities or IMA.js components."),(0,r.yg)("p",null,"Example Utility class would look like this. Simple class with ",(0,r.yg)("a",{parentName:"p",href:"./object-container#1-dependency-injection"},"dependency injection"),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/helper/LightboxHelper.js\nimport { Router } from '@ima/core';\n\nexport default class LightboxHelper {\n static get $dependencies() {\n return [Router];\n }\n\n showLightbox(content) {\n ...\n }\n}\n")),(0,r.yg)("p",null,"Then to register the utility class:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/bind.js\nimport { ComponentUtils } from '@ima/core';\nimport LightboxHelper from 'app/helper/LightboxHelper';\nimport AnalyticsUtils from 'app/helper/AnalyticsUtils';\n\nexport default (ns, oc, config) => {\n const ComponentUtils = oc.get(ComponentUtils); // or oc.get('$ComponentUtils');\n\n ComponentUtils.register('Lightbox', LightboxHelper);\n // OR to register multiple utilities at once\n ComponentUtils.register({\n Lightbox: LightboxHelper,\n AnalyticsUtils\n });\n};\n")),(0,r.yg)("p",null,"Finally, what'd be the point to register these classes if we were not to use them... All of the utilities are present in ",(0,r.yg)("inlineCode",{parentName:"p"},"utils")," property on ",(0,r.yg)("strong",{parentName:"p"},"AbstractComponent"),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/gallery/Gallery.jsx\nimport { AbstractComponent } from '@ima/react-page-renderer';\n\nexport default class Gallery extends AbstractComponent {\n\n onPhotoClick(photoId) {\n const { Lightbox } = this.utils;\n\n Lightbox.showLightbox(...);\n }\n}\n")),(0,r.yg)("p",null,"For some heavy-used utilities we've created a shortcut methods in ",(0,r.yg)("strong",{parentName:"p"},"AbstractComponent"),"."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"link")),(0,r.yg)("inlineCode",{parentName:"li"},"(name, params)")," = ",(0,r.yg)("a",{parentName:"li",href:"./routing/introduction#linking-between-routes"},(0,r.yg)("strong",{parentName:"a"},"Router.link()"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"localize")),(0,r.yg)("inlineCode",{parentName:"li"},"(key, params")," = ",(0,r.yg)("a",{parentName:"li",href:"./dictionary"},(0,r.yg)("strong",{parentName:"a"},"Dictionary.get()"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"fire")),(0,r.yg)("inlineCode",{parentName:"li"},"(eventName, data)")," = ",(0,r.yg)("a",{parentName:"li",href:"./events#eventbus"},(0,r.yg)("strong",{parentName:"a"},"EventBus.fire()"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"listen")),(0,r.yg)("inlineCode",{parentName:"li"},"(eventTarget, eventName, listener)")," = ",(0,r.yg)("a",{parentName:"li",href:"./events#eventbus"},(0,r.yg)("strong",{parentName:"a"},"EventBus.listen()"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"unlisten")),(0,r.yg)("inlineCode",{parentName:"li"},"(eventTarget, eventName, listener)")," = ",(0,r.yg)("a",{parentName:"li",href:"./events#eventbus"},(0,r.yg)("strong",{parentName:"a"},"EventBus.unlisten()")))),(0,r.yg)("p",null,"One special case would be ",(0,r.yg)("inlineCode",{parentName:"p"},"cssClasses")," shortcut which is by default alias for ",(0,r.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/classnames"},(0,r.yg)("strong",{parentName:"a"},"classnames"))," package. You can overwrite this behavior by registering you own helper in ComponentUtils under ",(0,r.yg)("inlineCode",{parentName:"p"},"$CssClasses")," alias."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"strong"},"cssClasses")),(0,r.yg)("inlineCode",{parentName:"li"},"(classRules, includeComponentClassName")," = ",(0,r.yg)("inlineCode",{parentName:"li"},"this.utils.$CssClasses()"))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54f60d95.9cdd58da.js b/assets/js/54f60d95.9cdd58da.js new file mode 100644 index 000000000..0ec11b122 --- /dev/null +++ b/assets/js/54f60d95.9cdd58da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6114],{773:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"basic-features/views-and-components","title":"Views & Components","description":"Basic features > Views & Components","source":"@site/../docs/basic-features/views-and-components.md","sourceDirName":"basic-features","slug":"/basic-features/views-and-components","permalink":"/basic-features/views-and-components","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/views-and-components.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Views & Components","description":"Basic features > Views & Components"},"sidebar":"docs","previous":{"title":"Controller lifecycle","permalink":"/basic-features/controller-lifecycle"},"next":{"title":"Data fetching","permalink":"/basic-features/data-fetching"}}');var i=s(2540),r=s(3023);const o={title:"Views & Components",description:"Basic features > Views & Components"},a=void 0,l={},c=[{value:"Organizing Views and Components",id:"organizing-views-and-components",level:2},{value:"Rendering Views",id:"rendering-views",level:2},{value:"Route parameters in View",id:"route-parameters-in-view",level:3},{value:"Communication between Views and Controllers",id:"communication-between-views-and-controllers",level:2},{value:"Utilities shared across Views and Components",id:"utilities-shared-across-views-and-components",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["As you may have noticed when a ",(0,i.jsx)(n.a,{href:"/basic-features/routing/introduction",children:"route is registered"}),",\na constructor of ",(0,i.jsx)(n.strong,{children:"Controller"})," and ",(0,i.jsx)(n.strong,{children:"View"})," is given as a 3rd and 4th argument.\nController takes care of loading and managing the data while View is a\npresentation for the data loaded by the Controller."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:s(2746).A+"",width:"881",height:"421"})}),"\n",(0,i.jsx)(n.h2,{id:"organizing-views-and-components",children:"Organizing Views and Components"}),"\n",(0,i.jsx)(n.p,{children:"A good spot to place a view file is next to a controller file - that is:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"app/page/<name-of-the-page>/\n \u251c\u2500 SomeController.js\n \u251c\u2500 SomeView.jsx\n \u2514\u2500 someView.less\n"})}),"\n",(0,i.jsxs)(n.p,{children:["To structure your views easily you can split your views into a smaller components\nthat can also be reused in other views. Those smaller component are then included\nand used as any other react component. Components should be\nplaced into a ",(0,i.jsx)(n.code,{children:"app/component/"})," directory."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"app/page/component/\n \u251c\u2500 document/\n | \u2514\u2500 DocumentView.jsx\n \u251c\u2500 header/\n | \u251c\u2500 Header.jsx\n | \u2514\u2500 header.less\n \u2514\u2500 searchBar/\n \u251c\u2500 SearchBar.jsx\n \u2514\u2500 searchBar.less\n"})}),"\n",(0,i.jsx)(n.h2,{id:"rendering-views",children:"Rendering Views"}),"\n",(0,i.jsx)(n.p,{children:"Views are just a React components that receive page state as props, that means you\ncan freely use internal component state and any React lifecycle methods as you\nwish."}),"\n",(0,i.jsxs)(n.p,{children:["An element that is returned from the ",(0,i.jsx)(n.code,{children:"render"})," method is appended to the\n",(0,i.jsx)(n.code,{children:"ManagedRootView"}),", ",(0,i.jsx)(n.code,{children:"ViewAdapter"})," and then ",(0,i.jsx)(n.code,{children:"DocumentView"})," on the ",(0,i.jsx)(n.strong,{children:"server side"}),"\nand send as a plain HTML markup to the client where it's hydrated with it's\nformer state."]}),"\n",(0,i.jsxs)(n.p,{children:["When a route change occurs on a ",(0,i.jsx)(n.strong,{children:"client side"})," and..."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["...only route parameters has changed, route was registered with the ",(0,i.jsx)(n.code,{children:"onlyUpdate"}),"\nflag set to ",(0,i.jsx)(n.code,{children:"true"})," and Controller has ",(0,i.jsx)(n.code,{children:"update"})," method defined. In this case the\nView receives new props (page state) and should react to them accordingly."]}),"\n",(0,i.jsx)(n.li,{children:"...the current view is different from the new one then the rendered view is\nreplaced with a newly rendered view."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"route-parameters-in-view",children:"Route parameters in View"}),"\n",(0,i.jsxs)(n.p,{children:["In ideal case Views should only display data loaded in Controller and not even\ncare about route parameters. But as nothing is ever ideal we've added ",(0,i.jsxs)(n.a,{href:"/basic-features/routing/introduction#route-params-substitutions",children:[(0,i.jsx)(n.code,{children:"params"})," object"]})," to the View props for you."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"// app/config/routes.js\nrouter.add('user-detail', '/user/:userId', UserController, UserView);\nrouter.add('user-edit', '/user/:userId/edit', UserEditController, UserEditView);\n\n// app/page/user-detail/UserView.jsx\nconst { userId } = this.props.params;\n\nconst userLink = this.link('user-edit', { userId });\n<a href = { userLink }>\n"})}),"\n",(0,i.jsxs)(n.p,{children:["This example ensures that the link to ",(0,i.jsx)(n.code,{children:"user-edit"})," page is functional\nimmediately when a user navigates to ",(0,i.jsx)(n.code,{children:"user-detail"})," page. Otherwise the link would\nbe functional only after the user-loading promise has been resolved."]}),"\n",(0,i.jsx)(n.h2,{id:"communication-between-views-and-controllers",children:"Communication between Views and Controllers"}),"\n",(0,i.jsxs)(n.p,{children:["It's clear that data obtained in a Controller are passed down to a View and thus\naffecting how the rendered View looks and what it displays. A problem arises when\na View wants to tell Controller to load or change something. The solution to this\nare event handling utils ",(0,i.jsx)(n.a,{href:"./events#eventbus",children:(0,i.jsx)(n.strong,{children:"EventBus"})})," and\n",(0,i.jsx)(n.a,{href:"./events#dispatcher",children:(0,i.jsx)(n.strong,{children:"Dispatcher"})}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"utilities-shared-across-views-and-components",children:"Utilities shared across Views and Components"}),"\n",(0,i.jsx)(n.p,{children:"At some point you'll come to a situation when it'd be nice to have a function or set of functions shared between multiple components. Great example would be custom link generation, page elements manipulation (modal, lightbox) or adverts and analytics."}),"\n",(0,i.jsxs)(n.p,{children:["These cases are covered by ",(0,i.jsx)(n.strong,{children:"ComponentUtils"})," that allow you to register classes (utilities) that are then shared across every View and Component. Utilities are instantiated through ",(0,i.jsx)(n.a,{href:"./object-container",children:"OC"})," therefore you can get access to other utilities or IMA.js components."]}),"\n",(0,i.jsxs)(n.p,{children:["Example Utility class would look like this. Simple class with ",(0,i.jsx)(n.a,{href:"./object-container#1-dependency-injection",children:"dependency injection"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/helper/LightboxHelper.js\nimport { Router } from '@ima/core';\n\nexport default class LightboxHelper {\n static get $dependencies() {\n return [Router];\n }\n\n showLightbox(content) {\n ...\n }\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Then to register the utility class:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/config/bind.js\nimport { ComponentUtils } from '@ima/core';\nimport LightboxHelper from 'app/helper/LightboxHelper';\nimport AnalyticsUtils from 'app/helper/AnalyticsUtils';\n\nexport default (ns, oc, config) => {\n const ComponentUtils = oc.get(ComponentUtils); // or oc.get('$ComponentUtils');\n\n ComponentUtils.register('Lightbox', LightboxHelper);\n // OR to register multiple utilities at once\n ComponentUtils.register({\n Lightbox: LightboxHelper,\n AnalyticsUtils\n });\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Finally, what'd be the point to register these classes if we were not to use them... All of the utilities are present in ",(0,i.jsx)(n.code,{children:"utils"})," property on ",(0,i.jsx)(n.strong,{children:"AbstractComponent"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/component/gallery/Gallery.jsx\nimport { AbstractComponent } from '@ima/react-page-renderer';\n\nexport default class Gallery extends AbstractComponent {\n\n onPhotoClick(photoId) {\n const { Lightbox } = this.utils;\n\n Lightbox.showLightbox(...);\n }\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["For some heavy-used utilities we've created a shortcut methods in ",(0,i.jsx)(n.strong,{children:"AbstractComponent"}),"."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"link"})}),(0,i.jsx)(n.code,{children:"(name, params)"})," = ",(0,i.jsx)(n.a,{href:"./routing/introduction#linking-between-routes",children:(0,i.jsx)(n.strong,{children:"Router.link()"})})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"localize"})}),(0,i.jsx)(n.code,{children:"(key, params"})," = ",(0,i.jsx)(n.a,{href:"./dictionary",children:(0,i.jsx)(n.strong,{children:"Dictionary.get()"})})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"fire"})}),(0,i.jsx)(n.code,{children:"(eventName, data)"})," = ",(0,i.jsx)(n.a,{href:"./events#eventbus",children:(0,i.jsx)(n.strong,{children:"EventBus.fire()"})})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"listen"})}),(0,i.jsx)(n.code,{children:"(eventTarget, eventName, listener)"})," = ",(0,i.jsx)(n.a,{href:"./events#eventbus",children:(0,i.jsx)(n.strong,{children:"EventBus.listen()"})})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"unlisten"})}),(0,i.jsx)(n.code,{children:"(eventTarget, eventName, listener)"})," = ",(0,i.jsx)(n.a,{href:"./events#eventbus",children:(0,i.jsx)(n.strong,{children:"EventBus.unlisten()"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["One special case would be ",(0,i.jsx)(n.code,{children:"cssClasses"})," shortcut which is by default alias for ",(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/classnames",children:(0,i.jsx)(n.strong,{children:"classnames"})})," package. You can overwrite this behavior by registering you own helper in ComponentUtils under ",(0,i.jsx)(n.code,{children:"$CssClasses"})," alias."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"cssClasses"})}),(0,i.jsx)(n.code,{children:"(classRules, includeComponentClassName"})," = ",(0,i.jsx)(n.code,{children:"this.utils.$CssClasses()"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},2746:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/diagram-view-56a22b0e13633a1269dc52d3e1132aa6.png"},3023:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var t=s(3696);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56922005.fe04f931.js b/assets/js/56922005.fe04f931.js deleted file mode 100644 index 6cd0045e2..000000000 --- a/assets/js/56922005.fe04f931.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8780],{5680:(e,n,i)=>{i.d(n,{xA:()=>g,yg:()=>m});var t=i(6540);function a(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function l(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,t)}return i}function r(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?l(Object(i),!0).forEach((function(n){a(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):l(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function p(e,n){if(null==e)return{};var i,t,a=function(e,n){if(null==e)return{};var i,t,a={},l=Object.keys(e);for(t=0;t<l.length;t++)i=l[t],n.indexOf(i)>=0||(a[i]=e[i]);return a}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)i=l[t],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var o=t.createContext({}),c=function(e){var n=t.useContext(o),i=n;return e&&(i="function"==typeof e?e(n):r(r({},n),e)),i},g=function(e){var n=c(e.components);return t.createElement(o.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},s=t.forwardRef((function(e,n){var i=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),u=c(i),s=a,m=u["".concat(o,".").concat(s)]||u[s]||d[s]||l;return i?t.createElement(m,r(r({ref:n},g),{},{components:i})):t.createElement(m,r({ref:n},g))}));function m(e,n){var i=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var l=i.length,r=new Array(l);r[0]=s;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[u]="string"==typeof e?e:a,r[1]=p;for(var c=2;c<l;c++)r[c]=i[c];return t.createElement.apply(null,r)}return t.createElement.apply(null,i)}s.displayName="MDXCreateElement"},1775:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>p,toc:()=>c});var t=i(8102),a=(i(6540),i(5680));const l={id:"ima_plugin_cli.PipeContext",title:"Interface: PipeContext",sidebar_label:"@ima/plugin-cli.PipeContext",custom_edit_url:null},r=void 0,p={unversionedId:"api/interfaces/ima_plugin_cli.PipeContext",id:"api/interfaces/ima_plugin_cli.PipeContext",title:"Interface: PipeContext",description:"@ima/plugin-cli.PipeContext",source:"@site/../docs/api/interfaces/ima_plugin_cli.PipeContext.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_plugin_cli.PipeContext",permalink:"/api/interfaces/ima_plugin_cli.PipeContext",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_plugin_cli.PipeContext",title:"Interface: PipeContext",sidebar_label:"@ima/plugin-cli.PipeContext",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/plugin-cli.ImaPluginConfig",permalink:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},next:{title:"@ima/plugin-cli.Source",permalink:"/api/interfaces/ima_plugin_cli.Source"}},o={},c=[{value:"Properties",id:"properties",level:2},{value:"command",id:"command",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"config",id:"config",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"contextDir",id:"contextdir",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"cwd",id:"cwd",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"fileName",id:"filename",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"filePath",id:"filepath",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"inputDir",id:"inputdir",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"outputDir",id:"outputdir",level:3},{value:"Defined in",id:"defined-in-7",level:4}],g={toc:c},u="wrapper";function d(e){let{components:n,...i}=e;return(0,a.yg)(u,(0,t.A)({},g,i,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli"},"@ima/plugin-cli"),".PipeContext"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"command"},"command"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"command"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#command"},(0,a.yg)("inlineCode",{parentName:"a"},"Command"))),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L79"},"types.ts:79")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"config"},"config"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"config"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_plugin_cli.ImaPluginConfig"},(0,a.yg)("inlineCode",{parentName:"a"},"ImaPluginConfig"))),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L84"},"types.ts:84")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"contextdir"},"contextDir"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"contextDir"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L83"},"types.ts:83")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"cwd"},"cwd"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"cwd"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L80"},"types.ts:80")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"filename"},"fileName"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"fileName"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L81"},"types.ts:81")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"filepath"},"filePath"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"filePath"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L82"},"types.ts:82")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"inputdir"},"inputDir"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"inputDir"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L85"},"types.ts:85")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"outputdir"},"outputDir"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"outputDir"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L86"},"types.ts:86")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5731cc15.6cbff9d3.js b/assets/js/5731cc15.6cbff9d3.js new file mode 100644 index 000000000..89ac309f1 --- /dev/null +++ b/assets/js/5731cc15.6cbff9d3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8591],{6251:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>t,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/cli/functions/runImaPluginsHook","title":"Function: runImaPluginsHook()","description":"runImaPluginsHook(args, imaConfig, hook): Promise\\\\","source":"@site/../docs/api/@ima/cli/functions/runImaPluginsHook.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/runImaPluginsHook","permalink":"/api/@ima/cli/functions/runImaPluginsHook","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/runImaPluginsHook.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: resolveImaConfig()","permalink":"/api/@ima/cli/functions/resolveImaConfig"},"next":{"title":"@ima/cli","permalink":"/api/@ima/cli/globals"}}');var o=i(2540),r=i(3023);const a={},c="Function: runImaPluginsHook()",t={},l=[{value:"Parameters",id:"parameters",level:2},{value:"args",id:"args",level:3},{value:"imaConfig",id:"imaconfig",level:3},{value:"hook",id:"hook",level:3},{value:"Returns",id:"returns",level:2}];function d(n){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"function-runimapluginshook",children:"Function: runImaPluginsHook()"})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.strong,{children:"runImaPluginsHook"}),"(",(0,o.jsx)(e.code,{children:"args"}),", ",(0,o.jsx)(e.code,{children:"imaConfig"}),", ",(0,o.jsx)(e.code,{children:"hook"}),"): ",(0,o.jsx)(e.code,{children:"Promise"}),"<",(0,o.jsx)(e.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["Defined in: ",(0,o.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L331",children:"webpack/utils.ts:331"})]}),"\n",(0,o.jsx)(e.p,{children:"Runs one of optional ima plugin hooks defined on existing plugins."}),"\n",(0,o.jsx)(e.h2,{id:"parameters",children:"Parameters"}),"\n",(0,o.jsx)(e.h3,{id:"args",children:"args"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,o.jsx)(e.code,{children:"ImaCliArgs"})})}),"\n",(0,o.jsx)(e.p,{children:"Parsed CLI and build arguments."}),"\n",(0,o.jsx)(e.h3,{id:"imaconfig",children:"imaConfig"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,o.jsx)(e.code,{children:"ImaConfig"})})}),"\n",(0,o.jsx)(e.p,{children:"Loaded ima config."}),"\n",(0,o.jsx)(e.h3,{id:"hook",children:"hook"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:'"preProcess"'})," | ",(0,o.jsx)(e.code,{children:'"postProcess"'})]}),"\n",(0,o.jsx)(e.h2,{id:"returns",children:"Returns"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Promise"}),"<",(0,o.jsx)(e.code,{children:"void"}),">"]})]})}function u(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(d,{...n})}):d(n)}},3023:(n,e,i)=>{i.d(e,{R:()=>a,x:()=>c});var s=i(3696);const o={},r=s.createContext(o);function a(n){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:a(n.components),s.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/57a07ec0.20a46fd7.js b/assets/js/57a07ec0.20a46fd7.js deleted file mode 100644 index 2447bd8c2..000000000 --- a/assets/js/57a07ec0.20a46fd7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6589],{5680:(e,t,n)=>{n.d(t,{xA:()=>c,yg:()=>d});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),l=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=l(e.components);return r.createElement(p.Provider,{value:t},e.children)},f="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),f=l(n),u=a,d=f["".concat(p,".").concat(u)]||f[u]||m[u]||i;return n?r.createElement(d,o(o({ref:t},c),{},{components:n})):r.createElement(d,o({ref:t},c))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=u;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[f]="string"==typeof e?e:a,o[1]=s;for(var l=2;l<i;l++)o[l]=n[l];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},184:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var r=n(8102),a=(n(6540),n(5680));const i={id:"ima_core.Manifest",title:"Interface: Manifest",sidebar_label:"@ima/core.Manifest",custom_edit_url:null},o=void 0,s={unversionedId:"api/interfaces/ima_core.Manifest",id:"api/interfaces/ima_core.Manifest",title:"Interface: Manifest",description:"@ima/core.Manifest",source:"@site/../docs/api/interfaces/ima_core.Manifest.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.Manifest",permalink:"/api/interfaces/ima_core.Manifest",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Manifest",title:"Interface: Manifest",sidebar_label:"@ima/core.Manifest",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.InitPluginConfig",permalink:"/api/interfaces/ima_core.InitPluginConfig"},next:{title:"@ima/core.ManifestAsset",permalink:"/api/interfaces/ima_core.ManifestAsset"}},p={},l=[{value:"Properties",id:"properties",level:2},{value:"assets",id:"assets",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"assetsByCompiler",id:"assetsbycompiler",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"publicPath",id:"publicpath",level:3},{value:"Defined in",id:"defined-in-2",level:4}],c={toc:l},f="wrapper";function m(e){let{components:t,...n}=e;return(0,a.yg)(f,(0,r.A)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Manifest"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"assets"},"assets"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"assets"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.ManifestAsset"},(0,a.yg)("inlineCode",{parentName:"a"},"ManifestAsset")),">"),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L29"},"packages/core/src/boot.ts:29")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"assetsbycompiler"},"assetsByCompiler"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"assetsByCompiler"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},'"server"')," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},'"client"')," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},'"client.es"'),", ",(0,a.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.ManifestAsset"},(0,a.yg)("inlineCode",{parentName:"a"},"ManifestAsset")),">",">"),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L30"},"packages/core/src/boot.ts:30")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"publicpath"},"publicPath"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"publicPath"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L34"},"packages/core/src/boot.ts:34")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/585f1245.38bfbbc2.js b/assets/js/585f1245.38bfbbc2.js new file mode 100644 index 000000000..90067f197 --- /dev/null +++ b/assets/js/585f1245.38bfbbc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2901],{2014:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"devtools/devtools-introduction","title":"Introduction","description":"Devtools > Introduction to the use of IMA.js developer tools","source":"@site/../docs/devtools/devtools-introduction.md","sourceDirName":"devtools","slug":"/devtools/devtools-introduction","permalink":"/devtools/devtools-introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/devtools/devtools-introduction.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Introduction","description":"Devtools > Introduction to the use of IMA.js developer tools"},"sidebar":"docs","previous":{"title":"Existing plugins","permalink":"/plugins/available-plugins"},"next":{"title":"UI & Controls","permalink":"/devtools/devtools-ui"}}');var n=o(2540),i=o(3023);const r={title:"Introduction",description:"Devtools > Introduction to the use of IMA.js developer tools"},d=void 0,c={},l=[{value:"How it works?",id:"how-it-works",level:2},{value:"Devtools script",id:"devtools-script",level:3}];function a(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["With the introduction of IMA.js v17 we've implemented custom devtools that are available as a\n",(0,n.jsx)(t.strong,{children:"Chrome extension"}),". Main purpose of these devtools is to provide developers with easy access\nto debug and monitor IMA.js applications."]}),"\n",(0,n.jsxs)(t.p,{children:["The devtools works similarly to ",(0,n.jsx)(t.a,{href:"https://github.com/krasimir/kuker",children:"kuker extension"}),".\nThis means that they display messages about method and event calls which are wrapped in a proxy like\nobject using custom script that gets injected to a page. You can then filter and look through received images\nwhich can help you debug how each component behaves in your application."]}),"\n",(0,n.jsxs)(t.p,{children:["The extension ",(0,n.jsx)(t.strong,{children:"requires no additional installation or dependencies"})," in your IMA.js application. It will\nwork with any IMA.js application from v17 and above."]}),"\n",(0,n.jsxs)(t.p,{children:["As of now it's only available to ",(0,n.jsx)(t.a,{href:"https://chrome.google.com/webstore/detail/imajs-developer-tools/jckgkffefmgcnbaimdmeoelgpjefpljh",children:(0,n.jsx)(t.strong,{children:"download"})})," for ",(0,n.jsx)(t.strong,{children:"Chrome"})," in the ",(0,n.jsx)(t.a,{href:"https://chrome.google.com/webstore/detail/imajs-developer-tools/jckgkffefmgcnbaimdmeoelgpjefpljh",children:(0,n.jsx)(t.strong,{children:"Chrome web store"})}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"how-it-works",children:"How it works?"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:o(6591).A+"",width:"642",height:"317"})}),"\n",(0,n.jsxs)(t.p,{children:["After you download and enable an IMA.js devtools extension, on ",(0,n.jsx)(t.strong,{children:"every page load"})," the extension starts injecting\nvery small script (that won't affect any functionality of other pages), which checks for the presence of IMA.js application.\nThe result of detection is then sent to the extension's ",(0,n.jsx)(t.strong,{children:"background"})," script."]}),"\n",(0,n.jsxs)(t.p,{children:["In case an IMA.js application is ",(0,n.jsx)(t.strong,{children:"not detected"}),", the extension doesn't really do anything else."]}),"\n",(0,n.jsxs)(t.p,{children:["In case ",(0,n.jsx)(t.strong,{children:"it is detected"}),", additionally to sending the result of detection to extension's ",(0,n.jsx)(t.strong,{children:"background"})," script,\nthe detection script does three more things:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["It creates a special ",(0,n.jsx)(t.code,{children:"$IMA.devtool.postMessage"})," function on ",(0,n.jsx)(t.code,{children:"window"}),", which the devtool script uses to communicate\nwith chrome IMA.js devtool panel through ",(0,n.jsx)(t.code,{children:"window.postMessage"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Additionally, it modifies ",(0,n.jsx)(t.code,{children:"$IMA.Runner"}),", which let's us register new ",(0,n.jsx)(t.code,{children:"preRun"})," commands that are executed before\nthe original runners. This is used for the actual ",(0,n.jsx)(t.a,{href:"./devtools-introduction#devtools-script",children:"devtools script"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["The background script, upon receiving the ",(0,n.jsx)(t.code,{children:"ALIVE"})," messages, creates initializes bi-directional communication bridge\nbetween ",(0,n.jsx)(t.strong,{children:"content script"})," (where we listen on messages sent through ",(0,n.jsx)(t.code,{children:"$IMA.devtool.postMessage"})," function) and IMA.js\ndevtool panel."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"devtools-script",children:"Devtools script"}),"\n",(0,n.jsxs)(t.p,{children:["The devtools script is an essential part of this browser extension. As we've already mentioned, it is registered\nas a ",(0,n.jsx)(t.code,{children:"preRun"})," command for the IMA.js application and it's executed before an actual runner scripts."]}),"\n",(0,n.jsxs)(t.p,{children:["The devtools script uses ",(0,n.jsx)(t.a,{href:"https://www.npmjs.com/package/to-aop",children:"to-aop"})," npm package (which uses ES6 Proxies) to\nwrap IMA.js app method calls in Proxy-like objects, which then before execution, send an information about it's\ncall, arguments and payload to the devtools panel. The panel then batch-processes these messages and displays them."]}),"\n",(0,n.jsxs)(t.p,{children:["It can be customized through extension's ",(0,n.jsx)(t.a,{href:"./devtools-options",children:"options"}),", where you can define what exactly\nshould be wrapped using proxies and how it should be pre-processed before sending it to the user. In the\n",(0,n.jsx)(t.a,{href:"./devtools-ui",children:"next section"})," we're going to talk about the devtools UI and it's components."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},6591:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/devtools-diagram-1a34adcfd0be597002625faa3335f582.png"},3023:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>d});var s=o(3696);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/585f1245.8fb5543b.js b/assets/js/585f1245.8fb5543b.js deleted file mode 100644 index 6947e5709..000000000 --- a/assets/js/585f1245.8fb5543b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2901],{6591:(e,t,o)=>{o.d(t,{A:()=>n});const n=o.p+"assets/images/devtools-diagram-1a34adcfd0be597002625faa3335f582.png"},5680:(e,t,o)=>{o.d(t,{xA:()=>c,yg:()=>m});var n=o(6540);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function s(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var l=n.createContext({}),p=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(o),g=r,m=d["".concat(l,".").concat(g)]||d[g]||u[g]||a;return o?n.createElement(m,i(i({ref:t},c),{},{components:o})):n.createElement(m,i({ref:t},c))}));function m(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var p=2;p<a;p++)i[p]=o[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,o)}g.displayName="MDXCreateElement"},5158:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var n=o(8102),r=(o(6540),o(5680));const a={title:"Introduction",description:"Devtools > Introduction to the use of IMA.js developer tools"},i=void 0,s={unversionedId:"devtools/devtools-introduction",id:"devtools/devtools-introduction",title:"Introduction",description:"Devtools > Introduction to the use of IMA.js developer tools",source:"@site/../docs/devtools/devtools-introduction.md",sourceDirName:"devtools",slug:"/devtools/devtools-introduction",permalink:"/devtools/devtools-introduction",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/devtools/devtools-introduction.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Introduction",description:"Devtools > Introduction to the use of IMA.js developer tools"},sidebar:"docs",previous:{title:"Existing plugins",permalink:"/plugins/available-plugins"},next:{title:"UI & Controls",permalink:"/devtools/devtools-ui"}},l={},p=[{value:"How it works?",id:"how-it-works",level:2},{value:"Devtools script",id:"devtools-script",level:3}],c={toc:p},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.yg)(d,(0,n.A)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"With the introduction of IMA.js v17 we've implemented custom devtools that are available as a\n",(0,r.yg)("strong",{parentName:"p"},"Chrome extension"),". Main purpose of these devtools is to provide developers with easy access\nto debug and monitor IMA.js applications."),(0,r.yg)("p",null,"The devtools works similarly to ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/krasimir/kuker"},"kuker extension"),".\nThis means that they display messages about method and event calls which are wrapped in a proxy like\nobject using custom script that gets injected to a page. You can then filter and look through received images\nwhich can help you debug how each component behaves in your application."),(0,r.yg)("p",null,"The extension ",(0,r.yg)("strong",{parentName:"p"},"requires no additional installation or dependencies")," in your IMA.js application. It will\nwork with any IMA.js application from v17 and above."),(0,r.yg)("p",null,"As of now it's only available to ",(0,r.yg)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/imajs-developer-tools/jckgkffefmgcnbaimdmeoelgpjefpljh"},(0,r.yg)("strong",{parentName:"a"},"download"))," for ",(0,r.yg)("strong",{parentName:"p"},"Chrome")," in the ",(0,r.yg)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/imajs-developer-tools/jckgkffefmgcnbaimdmeoelgpjefpljh"},(0,r.yg)("strong",{parentName:"a"},"Chrome web store")),"."),(0,r.yg)("h2",{id:"how-it-works"},"How it works?"),(0,r.yg)("p",null,(0,r.yg)("img",{src:o(6591).A,width:"642",height:"317"})),(0,r.yg)("p",null,"After you download and enable an IMA.js devtools extension, on ",(0,r.yg)("strong",{parentName:"p"},"every page load")," the extension starts injecting\nvery small script (that won't affect any functionality of other pages), which checks for the presence of IMA.js application.\nThe result of detection is then sent to the extension's ",(0,r.yg)("strong",{parentName:"p"},"background")," script."),(0,r.yg)("p",null,"In case an IMA.js application is ",(0,r.yg)("strong",{parentName:"p"},"not detected"),", the extension doesn't really do anything else."),(0,r.yg)("p",null,"In case ",(0,r.yg)("strong",{parentName:"p"},"it is detected"),", additionally to sending the result of detection to extension's ",(0,r.yg)("strong",{parentName:"p"},"background")," script,\nthe detection script does three more things:"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"It creates a special ",(0,r.yg)("inlineCode",{parentName:"li"},"$IMA.devtool.postMessage")," function on ",(0,r.yg)("inlineCode",{parentName:"li"},"window"),", which the devtool script uses to communicate\nwith chrome IMA.js devtool panel through ",(0,r.yg)("inlineCode",{parentName:"li"},"window.postMessage"),"."),(0,r.yg)("li",{parentName:"ol"},"Additionally, it modifies ",(0,r.yg)("inlineCode",{parentName:"li"},"$IMA.Runner"),", which let's us register new ",(0,r.yg)("inlineCode",{parentName:"li"},"preRun")," commands that are executed before\nthe original runners. This is used for the actual ",(0,r.yg)("a",{parentName:"li",href:"./devtools-introduction#devtools-script"},"devtools script"),"."),(0,r.yg)("li",{parentName:"ol"},"The background script, upon receiving the ",(0,r.yg)("inlineCode",{parentName:"li"},"ALIVE")," messages, creates initializes bi-directional communication bridge\nbetween ",(0,r.yg)("strong",{parentName:"li"},"content script")," (where we listen on messages sent through ",(0,r.yg)("inlineCode",{parentName:"li"},"$IMA.devtool.postMessage")," function) and IMA.js\ndevtool panel.")),(0,r.yg)("h3",{id:"devtools-script"},"Devtools script"),(0,r.yg)("p",null,"The devtools script is an essential part of this browser extension. As we've already mentioned, it is registered\nas a ",(0,r.yg)("inlineCode",{parentName:"p"},"preRun")," command for the IMA.js application and it's executed before an actual runner scripts."),(0,r.yg)("p",null,"The devtools script uses ",(0,r.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/to-aop"},"to-aop")," npm package (which uses ES6 Proxies) to\nwrap IMA.js app method calls in Proxy-like objects, which then before execution, send an information about it's\ncall, arguments and payload to the devtools panel. The panel then batch-processes these messages and displays them."),(0,r.yg)("p",null,"It can be customized through extension's ",(0,r.yg)("a",{parentName:"p",href:"./devtools-options"},"options"),", where you can define what exactly\nshould be wrapped using proxies and how it should be pre-processed before sending it to the user. In the\n",(0,r.yg)("a",{parentName:"p",href:"./devtools-ui"},"next section")," we're going to talk about the devtools UI and it's components."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/58dd8a24.1514e657.js b/assets/js/58dd8a24.1514e657.js new file mode 100644 index 000000000..27396d42e --- /dev/null +++ b/assets/js/58dd8a24.1514e657.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8391],{3609:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useComponentUtils","title":"Function: useComponentUtils()","description":"useComponentUtils(): Utils","source":"@site/../docs/api/@ima/react-page-renderer/functions/useComponentUtils.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useComponentUtils","permalink":"/api/@ima/react-page-renderer/functions/useComponentUtils","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useComponentUtils.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useComponent()","permalink":"/api/@ima/react-page-renderer/functions/useComponent"},"next":{"title":"Function: useCssClasses()","permalink":"/api/@ima/react-page-renderer/functions/useCssClasses"}}');var r=t(2540),i=t(3023);const o={},c="Function: useComponentUtils()",a={},l=[{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function p(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"function-usecomponentutils",children:"Function: useComponentUtils()"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"useComponentUtils"}),"(): ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,r.jsx)(n.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/componentUtils.ts#L13",children:"packages/react-page-renderer/src/hooks/componentUtils.ts:13"})]}),"\n",(0,r.jsx)(n.p,{children:"Provides direct access to ComponentUtils."}),"\n",(0,r.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,r.jsx)(n.code,{children:"Utils"})})}),"\n",(0,r.jsx)(n.p,{children:"Component utils."}),"\n",(0,r.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"const utils = useComponentUtils();\n"})})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var s=t(3696);const r={},i=s.createContext(r);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/58ed6817.06f88557.js b/assets/js/58ed6817.06f88557.js new file mode 100644 index 000000000..e75475c5e --- /dev/null +++ b/assets/js/58ed6817.06f88557.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7413],{4133:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/AbstractPureComponent","title":"Class: abstract AbstractPureComponent\\\\<P, S, SS\\\\>","description":"Defined in10","source":"@site/../docs/api/@ima/react-page-renderer/classes/AbstractPureComponent.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/AbstractPureComponent","permalink":"/api/@ima/react-page-renderer/classes/AbstractPureComponent","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/AbstractPureComponent.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractComponent\\\\<P, S, SS\\\\>","permalink":"/api/@ima/react-page-renderer/classes/AbstractComponent"},"next":{"title":"Class: BlankManagedRootView\\\\<P, S, SS\\\\>","permalink":"/api/@ima/react-page-renderer/classes/BlankManagedRootView"}}');var t=r(2540),d=r(3023);const i={},l="Class: abstract AbstractPureComponent<P, S, SS>",c={},o=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractPureComponent()",id:"new-abstractpurecomponent",level:3},{value:"Parameters",id:"parameters",level:4},{value:"props",id:"props",level:5},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"new AbstractPureComponent()",id:"new-abstractpurecomponent-1",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"props",id:"props-1",level:5},{value:"context",id:"context",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Deprecated",id:"deprecated",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context-1",level:3},{value:"Example",id:"example",level:4},{value:"See",id:"see-1",level:4},{value:"Overrides",id:"overrides",level:4},{value:"props",id:"props-2",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"<del>refs</del>",id:"refs",level:3},{value:"Index Signature",id:"index-signature",level:4},{value:"Deprecated",id:"deprecated-1",level:4},{value:"See",id:"see-2",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Example",id:"example-1",level:4},{value:"See",id:"see-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Accessors",id:"accessors",level:2},{value:"utils",id:"utils",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-2",level:5},{value:"Methods",id:"methods",level:2},{value:"componentDidCatch()?",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"error",id:"error",level:5},{value:"errorInfo",id:"errorinfo",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"componentDidMount()?",id:"componentdidmount",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"componentDidUpdate()?",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"prevProps",id:"prevprops",level:5},{value:"prevState",id:"prevstate",level:5},{value:"snapshot?",id:"snapshot",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"<del>componentWillMount()?</del>",id:"componentwillmount",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Deprecated",id:"deprecated-2",level:4},{value:"See",id:"see-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"<del>componentWillReceiveProps()?</del>",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"nextProps",id:"nextprops",level:5},{value:"nextContext",id:"nextcontext",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Deprecated",id:"deprecated-3",level:4},{value:"See",id:"see-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"componentWillUnmount()?",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"<del>componentWillUpdate()?</del>",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"nextProps",id:"nextprops-1",level:5},{value:"nextState",id:"nextstate",level:5},{value:"nextContext",id:"nextcontext-1",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Deprecated",id:"deprecated-4",level:4},{value:"See",id:"see-6",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"cssClasses()",id:"cssclasses",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"classRules",id:"classrules",level:5},{value:"includeComponentClassName",id:"includecomponentclassname",level:5},{value:"Returns",id:"returns-10",level:4},{value:"Examples",id:"examples",level:4},{value:"fire()",id:"fire",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"eventName",id:"eventname",level:5},{value:"data?",id:"data",level:5},{value:"Returns",id:"returns-11",level:4},{value:"forceUpdate()",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"callback?",id:"callback",level:5},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"getSnapshotBeforeUpdate()?",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"prevProps",id:"prevprops-1",level:5},{value:"prevState",id:"prevstate-1",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"name",id:"name",level:5},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-14",level:4},{value:"listen()",id:"listen",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"eventTarget",id:"eventtarget-1",level:5},{value:"eventName",id:"eventname-1",level:5},{value:"listener",id:"listener",level:5},{value:"Returns",id:"returns-15",level:4},{value:"localize()",id:"localize",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"key",id:"key",level:5},{value:"params",id:"params-1",level:5},{value:"Returns",id:"returns-16",level:4},{value:"render()",id:"render",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"state",id:"state-1",level:5},{value:"callback?",id:"callback-1",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"shouldComponentUpdate()?",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"nextProps",id:"nextprops-2",level:5},{value:"nextState",id:"nextstate-1",level:5},{value:"nextContext",id:"nextcontext-2",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"eventTarget",id:"eventtarget-2",level:5},{value:"eventName",id:"eventname-2",level:5},{value:"listener",id:"listener-1",level:5},{value:"Returns",id:"returns-20",level:4},{value:"<del>UNSAFE_componentWillMount()?</del>",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Deprecated",id:"deprecated-5",level:4},{value:"See",id:"see-7",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"<del>UNSAFE_componentWillReceiveProps()?</del>",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"nextProps",id:"nextprops-3",level:5},{value:"nextContext",id:"nextcontext-3",level:5},{value:"Returns",id:"returns-22",level:4},{value:"Deprecated",id:"deprecated-6",level:4},{value:"See",id:"see-8",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"<del>UNSAFE_componentWillUpdate()?</del>",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"nextProps",id:"nextprops-4",level:5},{value:"nextState",id:"nextstate-2",level:5},{value:"nextContext",id:"nextcontext-4",level:5},{value:"Returns",id:"returns-23",level:4},{value:"Deprecated",id:"deprecated-7",level:4},{value:"See",id:"see-9",level:4},{value:"Inherited from",id:"inherited-from-19",level:4}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsxs)(n.h1,{id:"class-abstract-abstractpurecomponentp-s-ss",children:["Class: ",(0,t.jsx)(n.code,{children:"abstract"})," AbstractPureComponent<P, S, SS>"]})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L10",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:10"})]}),"\n",(0,t.jsx)(n.p,{children:"The base class for all view components."}),"\n",(0,t.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"PureComponent"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"P"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"S"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"SS"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(n.h3,{id:"new-abstractpurecomponent",children:"new AbstractPureComponent()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new AbstractPureComponent"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">(",(0,t.jsx)(n.code,{children:"props"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,t.jsx)(n.code,{children:"AbstractPureComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1015"}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"P"})}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,t.jsx)(n.code,{children:"AbstractPureComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent<P, S, SS>.constructor"})}),"\n",(0,t.jsx)(n.h3,{id:"new-abstractpurecomponent-1",children:"new AbstractPureComponent()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new AbstractPureComponent"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">(",(0,t.jsx)(n.code,{children:"props"}),", ",(0,t.jsx)(n.code,{children:"context"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,t.jsx)(n.code,{children:"AbstractPureComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1020"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props-1",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"P"})}),"\n",(0,t.jsx)(n.h5,{id:"context",children:"context"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,t.jsx)(n.code,{children:"AbstractPureComponent"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/legacy-context.html",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent<P, S, SS>.constructor"})}),"\n",(0,t.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"context-1",children:"context"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"context"}),": ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,t.jsx)(n.code,{children:"PageContextType"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L16",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:16"})]}),"\n",(0,t.jsxs)(n.p,{children:["If using the new style context, re-declare this in your class to be the\n",(0,t.jsx)(n.code,{children:"React.ContextType"})," of your ",(0,t.jsx)(n.code,{children:"static contextType"}),".\nShould be used with type annotation or static contextType."]}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-1",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#context",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.context"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"props-2",children:"props"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"readonly"})," ",(0,t.jsx)(n.strong,{children:"props"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1033"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.props"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"refs",children:(0,t.jsx)(n.del,{children:"refs"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"refs"}),": ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1040"}),"\n",(0,t.jsx)(n.h4,{id:"index-signature",children:"Index Signature"}),"\n",(0,t.jsxs)(n.p,{children:["[",(0,t.jsx)(n.code,{children:"key"}),": ",(0,t.jsx)(n.code,{children:"string"}),"]: ",(0,t.jsx)(n.code,{children:"ReactInstance"})]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see-2",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs",children:"Legacy React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.refs"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"state",children:"state"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"state"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1034"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.state"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"contexttype",children:"contextType"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.strong,{children:"contextType"}),": ",(0,t.jsx)(n.code,{children:"Context"}),"<",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,t.jsx)(n.code,{children:"PageContextType"})}),"> = ",(0,t.jsx)(n.code,{children:"PageContext"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L15",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:15"})]}),"\n",(0,t.jsxs)(n.p,{children:["If set, ",(0,t.jsx)(n.code,{children:"this.context"})," will be set at runtime to the current value of the given Context."]}),"\n",(0,t.jsx)(n.h4,{id:"example-1",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-3",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#static-contexttype",children:"https://react.dev/reference/react/Component#static-contexttype"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.contextType"})}),"\n",(0,t.jsx)(n.h2,{id:"accessors",children:"Accessors"}),"\n",(0,t.jsx)(n.h3,{id:"utils",children:"utils"}),"\n",(0,t.jsx)(n.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"get"})," ",(0,t.jsx)(n.strong,{children:"utils"}),"(): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(n.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L26",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:26"})]}),"\n",(0,t.jsxs)(n.p,{children:["Returns the utilities for the view components. The returned value is the\nvalue bound to the ",(0,t.jsx)(n.code,{children:"$Utils"})," object container constant."]}),"\n",(0,t.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(n.code,{children:"Utils"})})}),"\n",(0,t.jsx)(n.p,{children:"The utilities for the view components."}),"\n",(0,t.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(n.h3,{id:"componentdidcatch",children:"componentDidCatch()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidCatch"}),"(",(0,t.jsx)(n.code,{children:"error"}),", ",(0,t.jsx)(n.code,{children:"errorInfo"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1397"}),"\n",(0,t.jsx)(n.p,{children:"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"error",children:"error"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Error"})}),"\n",(0,t.jsx)(n.h5,{id:"errorinfo",children:"errorInfo"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"ErrorInfo"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentDidCatch"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidmount",children:"componentDidMount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1376"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after a component is mounted. Setting state here will trigger re-rendering."}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentDidMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidupdate",children:"componentDidUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"snapshot"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1439"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after updating occurs. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["The snapshot is only present if ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"})," is present and returns non-null."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"snapshot",children:"snapshot?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"SS"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentDidUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillmount",children:(0,t.jsx)(n.del,{children:"componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1455"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead; will stop working in React 17"]}),"\n",(0,t.jsx)(n.h4,{id:"see-4",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1486"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-3",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-5",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillunmount",children:"componentWillUnmount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUnmount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1392"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,t.jsx)(n.code,{children:"componentDidMount"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillUnmount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillupdate",children:(0,t.jsx)(n.del,{children:"componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1518"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-1",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-1",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-4",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-6",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"cssclasses",children:"cssClasses()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"cssClasses"}),"(",(0,t.jsx)(n.code,{children:"classRules"}),", ",(0,t.jsx)(n.code,{children:"includeComponentClassName"}),"): ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L86",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:86"})]}),"\n",(0,t.jsx)(n.p,{children:"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to true."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"classrules",children:"classRules"}),"\n",(0,t.jsxs)(n.p,{children:["CSS classes in a\nstring separated by whitespace, or a map of CSS class names to\nboolean values. The CSS class name will be included in the result\nonly if the value is ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"string"})," | {}"]}),"\n",(0,t.jsx)(n.h5,{id:"includecomponentclassname",children:"includeComponentClassName"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"boolean"})," = ",(0,t.jsx)(n.code,{children:"false"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsxs)(n.p,{children:["String of CSS classes that had their property resolved\nto ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"examples",children:"Examples"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"this.cssClasses('my-class my-class-modifier', true);\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"this.cssClasses({\n 'my-class': true,\n 'my-class-modifier': this.props.modifier\n }, true);\n"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"fire"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"data"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L100",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:100"})]}),"\n",(0,t.jsx)(n.p,{children:"Creates and sends a new IMA.js DOM custom event from this component."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"EventTarget compatible node."}),"\n",(0,t.jsx)(n.h5,{id:"eventname",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event."}),"\n",(0,t.jsx)(n.h5,{id:"data",children:"data?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.p,{children:"Data to send within the event."}),"\n",(0,t.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"forceupdate",children:"forceUpdate()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"forceUpdate"}),"(",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1030"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"callback",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.forceUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"getSnapshotBeforeUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),"): ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"SS"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1433"}),"\n",(0,t.jsxs)(n.p,{children:["Runs before React applies the result of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," to the document, and\nreturns an object to be given to ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent#componentdidupdate",children:"componentDidUpdate"}),". Useful for saving\nthings such as scroll position before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," causes changes to it."]}),"\n",(0,t.jsx)(n.p,{children:"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops-1",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate-1",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"SS"})]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.getSnapshotBeforeUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"link",children:"link()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"link"}),"(",(0,t.jsx)(n.code,{children:"name"}),", ",(0,t.jsx)(n.code,{children:"params"}),"): ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L62",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:62"})]}),"\n",(0,t.jsxs)(n.p,{children:["Generates an absolute URL using the provided route name (see the\n",(0,t.jsx)("code",{children:"app/config/routes.js"})," file). The provided parameters will\nreplace the placeholders in the route pattern, while the extraneous\nparameters will be appended to the generated URL's query string."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The route name."}),"\n",(0,t.jsx)(n.h5,{id:"params",children:"params"}),"\n",(0,t.jsx)(n.p,{children:"Router parameters and\nextraneous parameters to add to the URL as a query string."}),"\n",(0,t.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The generated URL."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"listen",children:"listen()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"listen"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L114",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:114"})]}),"\n",(0,t.jsx)(n.p,{children:"Registers the provided event listener for execution whenever an IMA.js\nDOM custom event of the specified name occurs at the specified event\ntarget."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The react component or\nevent target at which the listener should listen for the event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-1",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event for which to listen."}),"\n",(0,t.jsx)(n.h5,{id:"listener",children:"listener"}),"\n",(0,t.jsxs)(n.p,{children:["(",(0,t.jsx)(n.code,{children:"event"}),") => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.p,{children:"The listener for event to register."}),"\n",(0,t.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"localize",children:"localize()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"localize"}),"(",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"params"}),"): ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L44",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:44"})]}),"\n",(0,t.jsx)(n.p,{children:"Returns the localized phrase identified by the specified key. The\nplaceholders in the localization phrase will be replaced by the provided\nvalues."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"key",children:"key"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"never"})}),"\n",(0,t.jsx)(n.p,{children:"Localization key."}),"\n",(0,t.jsx)(n.h5,{id:"params-1",children:"params"}),"\n",(0,t.jsx)(n.p,{children:"Values for replacing\nthe placeholders in the localization phrase."}),"\n",(0,t.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"Localized phrase."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"render",children:"render()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"render"}),"(): ",(0,t.jsx)(n.code,{children:"ReactNode"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1031"}),"\n",(0,t.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"ReactNode"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.render"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"setState"}),"<",(0,t.jsx)(n.code,{children:"K"}),">(",(0,t.jsx)(n.code,{children:"state"}),", ",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1025"}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"K"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.code,{children:"string"})," | ",(0,t.jsx)(n.code,{children:"number"})," | ",(0,t.jsx)(n.code,{children:"symbol"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"state-1",children:"state"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"S"})," | (",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"props"}),") => ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"S"})," | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"K"}),"> | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"callback-1",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.setState"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"shouldcomponentupdate",children:"shouldComponentUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"shouldComponentUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1387"}),"\n",(0,t.jsx)(n.p,{children:"Called to determine whether the change in props and state should trigger a re-render."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Component"})," always returns true.\n",(0,t.jsx)(n.code,{children:"PureComponent"})," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."]}),"\n",(0,t.jsxs)(n.p,{children:["If false is returned, ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),", ",(0,t.jsx)(n.code,{children:"componentWillUpdate"}),"\nand ",(0,t.jsx)(n.code,{children:"componentDidUpdate"})," will not be called."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-2",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-1",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-2",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.shouldComponentUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"unlisten"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/AbstractPureComponent.ts#L131",children:"packages/react-page-renderer/src/component/AbstractPureComponent.ts:131"})]}),"\n",(0,t.jsx)(n.p,{children:"Deregisters the provided event listener for an IMA.js DOM custom event\nof the specified name at the specified event target."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-2",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The react component or\nevent target at which the listener should listen for the event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-2",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event for which to listen."}),"\n",(0,t.jsx)(n.h5,{id:"listener-1",children:"listener"}),"\n",(0,t.jsxs)(n.p,{children:["(",(0,t.jsx)(n.code,{children:"event"}),") => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.p,{children:"The listener for event to register."}),"\n",(0,t.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillmount",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1470"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-21",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-5",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead"]}),"\n",(0,t.jsx)(n.h4,{id:"see-7",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.UNSAFE_componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1504"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-3",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-3",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-22",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-6",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-8",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.UNSAFE_componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillupdate",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1534"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-4",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-2",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-4",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-23",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-7",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-9",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.UNSAFE_componentWillUpdate"})})]})}function h(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>l});var s=r(3696);const t={},d=s.createContext(t);function i(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5920c8e7.049ddf40.js b/assets/js/5920c8e7.049ddf40.js new file mode 100644 index 000000000..e8fc7835c --- /dev/null +++ b/assets/js/5920c8e7.049ddf40.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3802],{9381:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/plugin-cli/interfaces/PipeContext","title":"Interface: PipeContext","description":"Defined in78","source":"@site/../docs/api/@ima/plugin-cli/interfaces/PipeContext.md","sourceDirName":"api/@ima/plugin-cli/interfaces","slug":"/api/@ima/plugin-cli/interfaces/PipeContext","permalink":"/api/@ima/plugin-cli/interfaces/PipeContext","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/interfaces/PipeContext.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ImaPluginConfig","permalink":"/api/@ima/plugin-cli/interfaces/ImaPluginConfig"},"next":{"title":"Interface: Source","permalink":"/api/@ima/plugin-cli/interfaces/Source"}}');var c=i(2540),t=i(3023);const r={},l="Interface: PipeContext",a={},d=[{value:"Properties",id:"properties",level:2},{value:"command",id:"command",level:3},{value:"config",id:"config",level:3},{value:"contextDir",id:"contextdir",level:3},{value:"cwd",id:"cwd",level:3},{value:"fileName",id:"filename",level:3},{value:"filePath",id:"filepath",level:3},{value:"inputDir",id:"inputdir",level:3},{value:"outputDir",id:"outputdir",level:3}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"interface-pipecontext",children:"Interface: PipeContext"})}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L78",children:"types.ts:78"})]}),"\n",(0,c.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(n.h3,{id:"command",children:"command"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"command"}),": ",(0,c.jsx)(n.a,{href:"/api/@ima/plugin-cli/type-aliases/Command",children:(0,c.jsx)(n.code,{children:"Command"})})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L79",children:"types.ts:79"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"config"}),": ",(0,c.jsx)(n.a,{href:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",children:(0,c.jsx)(n.code,{children:"ImaPluginConfig"})})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L84",children:"types.ts:84"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"contextdir",children:"contextDir"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"contextDir"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L83",children:"types.ts:83"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"cwd",children:"cwd"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"cwd"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L80",children:"types.ts:80"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"filename",children:"fileName"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"fileName"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L81",children:"types.ts:81"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"filepath",children:"filePath"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"filePath"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L82",children:"types.ts:82"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"inputdir",children:"inputDir"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"inputDir"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L85",children:"types.ts:85"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"outputdir",children:"outputDir"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"outputDir"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L86",children:"types.ts:86"})]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>l});var s=i(3696);const c={},t=s.createContext(c);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/59e9decf.b82cbb84.js b/assets/js/59e9decf.b82cbb84.js deleted file mode 100644 index 5e3833967..000000000 --- a/assets/js/59e9decf.b82cbb84.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1121],{5680:(e,n,t)=>{t.d(n,{xA:()=>s,yg:()=>u});var r=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},s=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},m=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(t),m=a,u=d["".concat(c,".").concat(m)]||d[m]||g[m]||i;return t?r.createElement(u,o(o({ref:n},s),{},{components:t})):r.createElement(u,o({ref:n},s))}));function u(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=m;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l[d]="string"==typeof e?e:a,o[1]=l;for(var p=2;p<i;p++)o[p]=t[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},7588:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var r=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.PageRendererSettings",title:"Interface: PageRendererSettings",sidebar_label:"@ima/core.PageRendererSettings",custom_edit_url:null},o=void 0,l={unversionedId:"api/interfaces/ima_core.PageRendererSettings",id:"api/interfaces/ima_core.PageRendererSettings",title:"Interface: PageRendererSettings",description:"@ima/core.PageRendererSettings",source:"@site/../docs/api/interfaces/ima_core.PageRendererSettings.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.PageRendererSettings",permalink:"/api/interfaces/ima_core.PageRendererSettings",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageRendererSettings",title:"Interface: PageRendererSettings",sidebar_label:"@ima/core.PageRendererSettings",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageAction",permalink:"/api/interfaces/ima_core.PageAction"},next:{title:"@ima/core.Resources",permalink:"/api/interfaces/ima_core.Resources"}},c={},p=[{value:"Properties",id:"properties",level:2},{value:"batchResolve",id:"batchresolve",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"batchResolveNoTransaction",id:"batchresolvenotransaction",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"documentView",id:"documentview",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"managedRootView",id:"managedrootview",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"masterElementId",id:"masterelementid",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"viewAdapter",id:"viewadapter",level:3},{value:"Defined in",id:"defined-in-5",level:4}],s={toc:p},d="wrapper";function g(e){let{components:n,...t}=e;return(0,a.yg)(d,(0,r.A)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageRendererSettings"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"batchresolve"},"batchResolve"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"batchResolve"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L124"},"packages/core/src/boot.ts:124")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"batchresolvenotransaction"},"batchResolveNoTransaction"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"batchResolveNoTransaction"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L125"},"packages/core/src/boot.ts:125")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"documentview"},"documentView"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"documentView"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"unknown")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L127"},"packages/core/src/boot.ts:127")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"managedrootview"},"managedRootView"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"managedRootView"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"unknown")),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L128"},"packages/core/src/boot.ts:128")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"masterelementid"},"masterElementId"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"masterElementId"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L126"},"packages/core/src/boot.ts:126")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"viewadapter"},"viewAdapter"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"viewAdapter"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"unknown")),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L129"},"packages/core/src/boot.ts:129")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5a8313eb.3381d1fe.js b/assets/js/5a8313eb.3381d1fe.js new file mode 100644 index 000000000..e2700944e --- /dev/null +++ b/assets/js/5a8313eb.3381d1fe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7919],{5436:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>t,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/cssClasses","title":"Function: cssClasses()","description":"cssClasses(component, classRules, includeComponentClassName): string","source":"@site/../docs/api/@ima/react-page-renderer/functions/cssClasses.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/cssClasses","permalink":"/api/@ima/react-page-renderer/functions/cssClasses","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/cssClasses.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ViewAdapter","permalink":"/api/@ima/react-page-renderer/classes/ViewAdapter"},"next":{"title":"Function: defaultCssClasses()","permalink":"/api/@ima/react-page-renderer/functions/defaultCssClasses"}}');var a=n(2540),c=n(3023);const t={},i="Function: cssClasses()",l={},o=[{value:"Parameters",id:"parameters",level:2},{value:"component",id:"component",level:3},{value:"classRules",id:"classrules",level:3},{value:"includeComponentClassName",id:"includecomponentclassname",level:3},{value:"Returns",id:"returns",level:2},{value:"Examples",id:"examples",level:2}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,c.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"function-cssclasses",children:"Function: cssClasses()"})}),"\n",(0,a.jsxs)(s.blockquote,{children:["\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.strong,{children:"cssClasses"}),"(",(0,a.jsx)(s.code,{children:"component"}),", ",(0,a.jsx)(s.code,{children:"classRules"}),", ",(0,a.jsx)(s.code,{children:"includeComponentClassName"}),"): ",(0,a.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Defined in: ",(0,a.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L97",children:"packages/react-page-renderer/src/componentHelpers.ts:97"})]}),"\n",(0,a.jsxs)(s.p,{children:["Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to ",(0,a.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,a.jsx)(s.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(s.h3,{id:"component",children:"component"}),"\n",(0,a.jsx)(s.p,{children:"The component\nrequiring the composition of the CSS class names."}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,a.jsx)(s.code,{children:"AbstractComponent"})})," | ",(0,a.jsx)(s.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,a.jsx)(s.code,{children:"AbstractPureComponent"})})]}),"\n",(0,a.jsx)(s.h3,{id:"classrules",children:"classRules"}),"\n",(0,a.jsxs)(s.p,{children:["CSS classes in a\nstring separated by whitespace, or a map of CSS class names to\nboolean values. The CSS class name will be included in the result\nonly if the value is ",(0,a.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.code,{children:"string"})," | ",(0,a.jsx)(s.code,{children:"string"}),"[] | {}"]}),"\n",(0,a.jsx)(s.h3,{id:"includecomponentclassname",children:"includeComponentClassName"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"boolean"})}),"\n",(0,a.jsx)(s.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.code,{children:"string"})}),"\n",(0,a.jsxs)(s.p,{children:["String of CSS classes that had their property resolved\nto ",(0,a.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,a.jsx)(s.h2,{id:"examples",children:"Examples"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ts",children:"this.cssClasses('my-class my-class-modifier', true);\n"})}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ts",children:"this.cssClasses({\n 'my-class': true,\n 'my-class-modifier': this.props.modifier\n }, true);\n"})})]})}function p(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>i});var r=n(3696);const a={},c=r.createContext(a);function t(e){const s=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),r.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5a8bc785.1382923c.js b/assets/js/5a8bc785.1382923c.js new file mode 100644 index 000000000..583f51809 --- /dev/null +++ b/assets/js/5a8bc785.1382923c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3084],{8716:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/functions/onLoad","title":"Function: onLoad()","description":"onLoad(): Promise\\\\","source":"@site/../docs/api/@ima/core/functions/onLoad.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/onLoad","permalink":"/api/@ima/core/functions/onLoad","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/onLoad.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getNamespace()","permalink":"/api/@ima/core/functions/getNamespace"},"next":{"title":"Function: reviveClientApp()","permalink":"/api/@ima/core/functions/reviveClientApp"}}');var c=o(2540),s=o(3023);const i={},r="Function: onLoad()",a={},d=[{value:"Returns",id:"returns",level:2}];function u(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"function-onload",children:"Function: onLoad()"})}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"onLoad"}),"(): ",(0,c.jsx)(n.code,{children:"Promise"}),"<",(0,c.jsx)(n.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L310",children:"packages/core/src/boot.ts:310"})]}),"\n",(0,c.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"Promise"}),"<",(0,c.jsx)(n.code,{children:"unknown"}),">"]})]})}function l(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(u,{...e})}):u(e)}},3023:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>r});var t=o(3696);const c={},s=t.createContext(c);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5adb7293.27b7f431.js b/assets/js/5adb7293.27b7f431.js new file mode 100644 index 000000000..6c3845ea0 --- /dev/null +++ b/assets/js/5adb7293.27b7f431.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[604],{90:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/functions/getInitialPluginConfig","title":"Function: getInitialPluginConfig()","description":"getInitialPluginConfig(): object","source":"@site/../docs/api/@ima/core/functions/getInitialPluginConfig.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/getInitialPluginConfig","permalink":"/api/@ima/core/functions/getInitialPluginConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/getInitialPluginConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getInitialImaConfigFunctions()","permalink":"/api/@ima/core/functions/getInitialImaConfigFunctions"},"next":{"title":"Function: getNamespace()","permalink":"/api/@ima/core/functions/getNamespace"}}');var o=i(2540),c=i(3023);const s={},r="Function: getInitialPluginConfig()",a={},l=[{value:"Returns",id:"returns",level:2},{value:"plugins",id:"plugins",level:3}];function u(n){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"function-getinitialpluginconfig",children:"Function: getInitialPluginConfig()"})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.strong,{children:"getInitialPluginConfig"}),"(): ",(0,o.jsx)(e.code,{children:"object"})]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["Defined in: ",(0,o.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L170",children:"packages/core/src/boot.ts:170"})]}),"\n",(0,o.jsx)(e.h2,{id:"returns",children:"Returns"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.code,{children:"object"})}),"\n",(0,o.jsx)(e.h3,{id:"plugins",children:"plugins"}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.strong,{children:"plugins"}),": ",(0,o.jsx)(e.code,{children:"object"}),"[]"]}),"\n"]})]})}function g(n={}){const{wrapper:e}={...(0,c.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(u,{...n})}):u(n)}},3023:(n,e,i)=>{i.d(e,{R:()=>s,x:()=>r});var t=i(3696);const o={},c=t.createContext(o);function s(n){const e=t.useContext(c);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:s(n.components),t.createElement(c.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b490090.6b2230c3.js b/assets/js/5b490090.6b2230c3.js new file mode 100644 index 000000000..19719016d --- /dev/null +++ b/assets/js/5b490090.6b2230c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[532],{1708:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/dev-utils/functions/createLogger","title":"Function: createLogger()","description":"createLogger(name): Logger","source":"@site/../docs/api/@ima/dev-utils/functions/createLogger.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/createLogger","permalink":"/api/@ima/dev-utils/functions/createLogger","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/createLogger.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: Logger","permalink":"/api/@ima/dev-utils/classes/Logger"},"next":{"title":"Function: createSourceFragment()","permalink":"/api/@ima/dev-utils/functions/createSourceFragment"}}');var s=t(2540),i=t(3023);const a={},c="Function: createLogger()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"name",id:"name",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-createlogger",children:"Function: createLogger()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"createLogger"}),"(",(0,s.jsx)(n.code,{children:"name"}),"): ",(0,s.jsx)(n.a,{href:"/api/@ima/dev-utils/classes/Logger",children:(0,s.jsx)(n.code,{children:"Logger"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L174",children:"logger.ts:174"})]}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/dev-utils/classes/Logger",children:(0,s.jsx)(n.code,{children:"Logger"})})})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var r=t(3696);const s={},i=r.createContext(s);function a(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b5d1bef.ebfc7d99.js b/assets/js/5b5d1bef.ebfc7d99.js new file mode 100644 index 000000000..8dfaaaa7f --- /dev/null +++ b/assets/js/5b5d1bef.ebfc7d99.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1697],{5872:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>l,metadata:()=>i,toc:()=>h});const i=JSON.parse('{"id":"api/@ima/core/interfaces/ManifestAsset","title":"Interface: ManifestAsset","description":"Defined in24","source":"@site/../docs/api/@ima/core/interfaces/ManifestAsset.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/ManifestAsset","permalink":"/api/@ima/core/interfaces/ManifestAsset","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/ManifestAsset.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Manifest","permalink":"/api/@ima/core/interfaces/Manifest"},"next":{"title":"Interface: OCAliasMap","permalink":"/api/@ima/core/interfaces/OCAliasMap"}}');var d=s(2540),r=s(3023);const l={},t="Interface: ManifestAsset",o={},h=[{value:"Extends",id:"extends",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Properties",id:"properties",level:2},{value:"chunkhash?",id:"chunkhash",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"contenthash?",id:"contenthash",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"development?",id:"development",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"fullhash?",id:"fullhash",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"hotModuleReplacement?",id:"hotmodulereplacement",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"immutable?",id:"immutable",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"javascriptModule?",id:"javascriptmodule",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"minimized?",id:"minimized",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"modulehash?",id:"modulehash",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"name",id:"name",level:3},{value:"related?",id:"related",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"size?",id:"size",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"sourceFilename?",id:"sourcefilename",level:3},{value:"Inherited from",id:"inherited-from-11",level:4}];function c(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"interface-manifestasset",children:"Interface: ManifestAsset"})}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L24",children:"packages/core/src/boot.ts:24"})]}),"\n",(0,d.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.code,{children:"AssetInfo"})}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"indexable",children:"Indexable"}),"\n",(0,d.jsxs)(n.p,{children:["[",(0,d.jsx)(n.code,{children:"key"}),": ",(0,d.jsx)(n.code,{children:"string"}),"]: ",(0,d.jsx)(n.code,{children:"any"})]}),"\n",(0,d.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"chunkhash",children:"chunkhash?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"chunkhash"}),": ",(0,d.jsx)(n.code,{children:"string"})," | ",(0,d.jsx)(n.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7439"}),"\n",(0,d.jsx)(n.p,{children:"the value(s) of the chunk hash used for this asset"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.chunkhash"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"contenthash",children:"contenthash?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"contenthash"}),": ",(0,d.jsx)(n.code,{children:"string"})," | ",(0,d.jsx)(n.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7449"}),"\n",(0,d.jsx)(n.p,{children:"the value(s) of the content hash used for this asset"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.contenthash"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"development",children:"development?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"development"}),": ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7464"}),"\n",(0,d.jsx)(n.p,{children:"true, when asset is only used for development and doesn't count towards user-facing assets"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.development"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"fullhash",children:"fullhash?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"fullhash"}),": ",(0,d.jsx)(n.code,{children:"string"})," | ",(0,d.jsx)(n.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7434"}),"\n",(0,d.jsx)(n.p,{children:"the value(s) of the full hash used for this asset"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.fullhash"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"hotmodulereplacement",children:"hotModuleReplacement?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"hotModuleReplacement"}),": ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7469"}),"\n",(0,d.jsx)(n.p,{children:"true, when asset ships data for updating an existing application (HMR)"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.hotModuleReplacement"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"immutable",children:"immutable?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"immutable"}),": ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7424"}),"\n",(0,d.jsx)(n.p,{children:"true, if the asset can be long term cached forever (contains a hash)"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.immutable"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"javascriptmodule",children:"javascriptModule?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"javascriptModule"}),": ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7474"}),"\n",(0,d.jsx)(n.p,{children:"true, when asset is javascript and an ESM"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.javascriptModule"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"minimized",children:"minimized?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"minimized"}),": ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7429"}),"\n",(0,d.jsx)(n.p,{children:"whether the asset is minimized"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.minimized"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"modulehash",children:"modulehash?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"modulehash"}),": ",(0,d.jsx)(n.code,{children:"string"})," | ",(0,d.jsx)(n.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7444"}),"\n",(0,d.jsx)(n.p,{children:"the value(s) of the module hash used for this asset"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.modulehash"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"name"}),": ",(0,d.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L25",children:"packages/core/src/boot.ts:25"})]}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"related",children:"related?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"related"}),": ",(0,d.jsx)(n.code,{children:"Record"}),"<",(0,d.jsx)(n.code,{children:"string"}),", ",(0,d.jsx)(n.code,{children:"string"})," | ",(0,d.jsx)(n.code,{children:"string"}),"[]>"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7479"}),"\n",(0,d.jsx)(n.p,{children:"object of pointers to other assets, keyed by type of relation (only points from parent to child)"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.related"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"size",children:"size?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"size"}),": ",(0,d.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7459"}),"\n",(0,d.jsx)(n.p,{children:"size in bytes, only set after asset has been emitted"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.size"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"sourcefilename",children:"sourceFilename?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"sourceFilename"}),": ",(0,d.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/webpack/types.d.ts:7454"}),"\n",(0,d.jsx)(n.p,{children:"when asset was created from a source file (potentially transformed), the original filename relative to compilation context"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"AssetInfo.sourceFilename"})})]})}function a(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(c,{...e})}):c(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>t});var i=s(3696);const d={},r=i.createContext(d);function l(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5bc0cc75.5e32f948.js b/assets/js/5bc0cc75.5e32f948.js new file mode 100644 index 000000000..64be5deee --- /dev/null +++ b/assets/js/5bc0cc75.5e32f948.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6441],{3279:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>o,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>p});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/usePageContext","title":"Function: usePageContext()","description":"usePageContext(): PageContextType","source":"@site/../docs/api/@ima/react-page-renderer/functions/usePageContext.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/usePageContext","permalink":"/api/@ima/react-page-renderer/functions/usePageContext","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/usePageContext.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useOnce()","permalink":"/api/@ima/react-page-renderer/functions/useOnce"},"next":{"title":"Function: useSettings()","permalink":"/api/@ima/react-page-renderer/functions/useSettings"}}');var a=t(2540),s=t(3023);const c={},o="Function: usePageContext()",i={},p=[{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"function-usepagecontext",children:"Function: usePageContext()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"usePageContext"}),"(): ",(0,a.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,a.jsx)(n.code,{children:"PageContextType"})})]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/pageContext.ts#L14",children:"packages/react-page-renderer/src/hooks/pageContext.ts:14"})]}),"\n",(0,a.jsx)(n.p,{children:"Provides direct access to IMA Page context."}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,a.jsx)(n.code,{children:"PageContextType"})})}),"\n",(0,a.jsx)(n.p,{children:"App page context."}),"\n",(0,a.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"const pageContext = usePageContext();\n"})})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>o});var r=t(3696);const a={},s=r.createContext(a);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5c52d73f.ea5623e7.js b/assets/js/5c52d73f.ea5623e7.js new file mode 100644 index 000000000..8ded71558 --- /dev/null +++ b/assets/js/5c52d73f.ea5623e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2898],{6188:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>d,metadata:()=>r,toc:()=>t});const r=JSON.parse('{"id":"api/@ima/core/classes/PageNavigationHandler","title":"Class: PageNavigationHandler","description":"Defined in7","source":"@site/../docs/api/@ima/core/classes/PageNavigationHandler.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageNavigationHandler","permalink":"/api/@ima/core/classes/PageNavigationHandler","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageNavigationHandler.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageMetaHandler","permalink":"/api/@ima/core/classes/PageMetaHandler"},"next":{"title":"Class: abstract PageRenderer","permalink":"/api/@ima/core/classes/PageRenderer"}}');var s=n(2540),i=n(3023);const d={},l="Class: PageNavigationHandler",c={},t=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageNavigationHandler()",id:"new-pagenavigationhandler",level:3},{value:"Parameters",id:"parameters",level:4},{value:"window",id:"window",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_window",id:"_window",level:3},{value:"$dependencies",id:"dependencies",level:3},{value:"Methods",id:"methods",level:2},{value:"_saveScrollHistory()",id:"_savescrollhistory",level:3},{value:"Returns",id:"returns-1",level:4},{value:"_scrollTo()",id:"_scrollto",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"__namedParameters",id:"__namedparameters",level:5},{value:"x",id:"x",level:6},{value:"y",id:"y",level:6},{value:"Returns",id:"returns-2",level:4},{value:"_setAddressBar()",id:"_setaddressbar",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"url",id:"url",level:5},{value:"isRedirection",id:"isredirection",level:5},{value:"Returns",id:"returns-3",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"handlePostManagedState()",id:"handlepostmanagedstate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"managedPage",id:"managedpage",level:5},{value:"previousManagedPage",id:"previousmanagedpage",level:5},{value:"action",id:"action",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"handlePreManagedState()",id:"handlepremanagedstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"managedPage",id:"managedpage-1",level:5},{value:"nextManagedPage",id:"nextmanagedpage",level:5},{value:"action",id:"action-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-3",level:4}];function h(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"class-pagenavigationhandler",children:"Class: PageNavigationHandler"})}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L7",children:"packages/core/src/page/handler/PageNavigationHandler.ts:7"})]}),"\n",(0,s.jsx)(a.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})})}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(a.h3,{id:"new-pagenavigationhandler",children:"new PageNavigationHandler()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"new PageNavigationHandler"}),"(",(0,s.jsx)(a.code,{children:"window"}),"): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageNavigationHandler",children:(0,s.jsx)(a.code,{children:"PageNavigationHandler"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L18",children:"packages/core/src/page/handler/PageNavigationHandler.ts:18"})]}),"\n",(0,s.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"window",children:"window"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Window",children:(0,s.jsx)(a.code,{children:"Window"})})}),"\n",(0,s.jsx)(a.p,{children:"The utility for manipulating the global context\nand global client-side-specific APIs."}),"\n",(0,s.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageNavigationHandler",children:(0,s.jsx)(a.code,{children:"PageNavigationHandler"})})}),"\n",(0,s.jsx)(a.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#constructors",children:(0,s.jsx)(a.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(a.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(a.h3,{id:"_window",children:"_window"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_window"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Window",children:(0,s.jsx)(a.code,{children:"Window"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L8",children:"packages/core/src/page/handler/PageNavigationHandler.ts:8"})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"static"})," ",(0,s.jsx)(a.strong,{children:"$dependencies"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,s.jsx)(a.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L12",children:"packages/core/src/page/handler/PageNavigationHandler.ts:12"})]}),"\n",(0,s.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(a.h3,{id:"_savescrollhistory",children:"_saveScrollHistory()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"_saveScrollHistory"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L104",children:"packages/core/src/page/handler/PageNavigationHandler.ts:104"})]}),"\n",(0,s.jsx)(a.p,{children:"Save user's scroll state to history."}),"\n",(0,s.jsx)(a.p,{children:"Replace scroll values in current state for actual scroll values in\ndocument."}),"\n",(0,s.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_scrollto",children:"_scrollTo()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"_scrollTo"}),"(",(0,s.jsx)(a.code,{children:"__namedParameters"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L121",children:"packages/core/src/page/handler/PageNavigationHandler.ts:121"})]}),"\n",(0,s.jsx)(a.p,{children:"Scrolls to give coordinates on a page."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"__namedparameters",children:"__namedParameters"}),"\n",(0,s.jsx)(a.h6,{id:"x",children:"x"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"number"})," = ",(0,s.jsx)(a.code,{children:"0"})]}),"\n",(0,s.jsx)(a.h6,{id:"y",children:"y"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"number"})," = ",(0,s.jsx)(a.code,{children:"0"})]}),"\n",(0,s.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_setaddressbar",children:"_setAddressBar()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"_setAddressBar"}),"(",(0,s.jsx)(a.code,{children:"url"}),", ",(0,s.jsx)(a.code,{children:"isRedirection"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L138",children:"packages/core/src/page/handler/PageNavigationHandler.ts:138"})]}),"\n",(0,s.jsx)(a.p,{children:"Sets the provided URL to the browser's address bar by pushing or replacing a new\nstate to the history."}),"\n",(0,s.jsxs)(a.p,{children:["The state object pushed to or replaced in the history will be an object with the\nfollowing structure: ",(0,s.jsx)(a.code,{children:"{url: string}"}),". The ",(0,s.jsx)(a.code,{children:"url"})," field will\nbe set to the provided URL."]}),"\n",(0,s.jsx)(a.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"url",children:"url"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"string"})}),"\n",(0,s.jsx)(a.p,{children:"The URL."}),"\n",(0,s.jsx)(a.h5,{id:"isredirection",children:"isRedirection"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"boolean"})}),"\n",(0,s.jsx)(a.p,{children:"If replaceState should be used instead of pushState."}),"\n",(0,s.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"destroy"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L50",children:"packages/core/src/page/handler/PageHandler.ts:50"})]}),"\n",(0,s.jsx)(a.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#destroy",children:(0,s.jsx)(a.code,{children:"destroy"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepostmanagedstate",children:"handlePostManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePostManagedState"}),"(",(0,s.jsx)(a.code,{children:"managedPage"}),", ",(0,s.jsx)(a.code,{children:"previousManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L84",children:"packages/core/src/page/handler/PageNavigationHandler.ts:84"})]}),"\n",(0,s.jsx)(a.p,{children:"Called after a PageManager finishes transition from previous page to\na new one."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"managedpage",children:"managedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The currently managed page."}),"\n",(0,s.jsx)(a.h5,{id:"previousmanagedpage",children:"previousManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The data of the page that was\npreviously managed."}),"\n",(0,s.jsx)(a.h5,{id:"action",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.p,{children:"An action object describing what triggered the routing."}),"\n",(0,s.jsx)(a.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#handlepostmanagedstate",children:(0,s.jsx)(a.code,{children:"handlePostManagedState"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepremanagedstate",children:"handlePreManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePreManagedState"}),"(",(0,s.jsx)(a.code,{children:"managedPage"}),", ",(0,s.jsx)(a.code,{children:"nextManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L43",children:"packages/core/src/page/handler/PageNavigationHandler.ts:43"})]}),"\n",(0,s.jsx)(a.p,{children:"Called before a PageManager starts to transition from previous page to\na new one."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"managedpage-1",children:"managedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The currently managed page - soon-to-be\npreviously managed page."}),"\n",(0,s.jsx)(a.h5,{id:"nextmanagedpage",children:"nextManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The data of the page that's about to\nbe managed."}),"\n",(0,s.jsx)(a.h5,{id:"action-1",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.p,{children:"An action object describing what triggered the routing."}),"\n",(0,s.jsx)(a.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#handlepremanagedstate",children:(0,s.jsx)(a.code,{children:"handlePreManagedState"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"init"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageNavigationHandler.ts#L31",children:"packages/core/src/page/handler/PageNavigationHandler.ts:31"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes the page handler."}),"\n",(0,s.jsx)(a.h4,{id:"returns-7",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#init",children:(0,s.jsx)(a.code,{children:"init"})})]})]})}function o(e={}){const{wrapper:a}={...(0,i.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,a,n)=>{n.d(a,{R:()=>d,x:()=>l});var r=n(3696);const s={},i=r.createContext(s);function d(e){const a=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5ce95ba0.9f8bac4f.js b/assets/js/5ce95ba0.9f8bac4f.js new file mode 100644 index 000000000..dc5b10238 --- /dev/null +++ b/assets/js/5ce95ba0.9f8bac4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3439],{8177:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>i,metadata:()=>r,toc:()=>t});const r=JSON.parse('{"id":"api/@ima/core/classes/PageMetaHandler","title":"Class: PageMetaHandler","description":"Defined in12","source":"@site/../docs/api/@ima/core/classes/PageMetaHandler.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageMetaHandler","permalink":"/api/@ima/core/classes/PageMetaHandler","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageMetaHandler.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract PageManager","permalink":"/api/@ima/core/classes/PageManager"},"next":{"title":"Class: PageNavigationHandler","permalink":"/api/@ima/core/classes/PageNavigationHandler"}}');var s=n(2540),d=n(3023);const i={},l="Class: PageMetaHandler",c={},t=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageMetaHandler()",id:"new-pagemetahandler",level:3},{value:"Parameters",id:"parameters",level:4},{value:"window",id:"window",level:5},{value:"metaManager",id:"metamanager",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"handlePostManagedState()",id:"handlepostmanagedstate",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"handlePreManagedState()",id:"handlepremanagedstate",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-1",level:4}];function h(e){const a={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"class-pagemetahandler",children:"Class: PageMetaHandler"})}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageMetaHandler.ts#L12",children:"packages/core/src/page/handler/PageMetaHandler.ts:12"})]}),"\n",(0,s.jsx)(a.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})})}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(a.h3,{id:"new-pagemetahandler",children:"new PageMetaHandler()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"new PageMetaHandler"}),"(",(0,s.jsx)(a.code,{children:"window"}),", ",(0,s.jsx)(a.code,{children:"metaManager"}),"): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageMetaHandler",children:(0,s.jsx)(a.code,{children:"PageMetaHandler"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageMetaHandler.ts#L21",children:"packages/core/src/page/handler/PageMetaHandler.ts:21"})]}),"\n",(0,s.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"window",children:"window"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Window",children:(0,s.jsx)(a.code,{children:"Window"})})}),"\n",(0,s.jsx)(a.h5,{id:"metamanager",children:"metaManager"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(a.code,{children:"MetaManager"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageMetaHandler",children:(0,s.jsx)(a.code,{children:"PageMetaHandler"})})}),"\n",(0,s.jsx)(a.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#constructors",children:(0,s.jsx)(a.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(a.h2,{id:"accessors",children:"Accessors"}),"\n",(0,s.jsx)(a.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,s.jsx)(a.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"get"})," ",(0,s.jsx)(a.code,{children:"static"})," ",(0,s.jsx)(a.strong,{children:"$dependencies"}),"(): (",(0,s.jsx)(a.em,{children:"typeof"})," ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Window",children:(0,s.jsx)(a.code,{children:"Window"})})," | ",(0,s.jsx)(a.em,{children:"typeof"})," ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(a.code,{children:"MetaManager"})}),")[]"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageMetaHandler.ts#L17",children:"packages/core/src/page/handler/PageMetaHandler.ts:17"})]}),"\n",(0,s.jsx)(a.h5,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:["(",(0,s.jsx)(a.em,{children:"typeof"})," ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Window",children:(0,s.jsx)(a.code,{children:"Window"})})," | ",(0,s.jsx)(a.em,{children:"typeof"})," ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,s.jsx)(a.code,{children:"MetaManager"})}),")[]"]}),"\n",(0,s.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(a.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"destroy"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L50",children:"packages/core/src/page/handler/PageHandler.ts:50"})]}),"\n",(0,s.jsx)(a.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#destroy",children:(0,s.jsx)(a.code,{children:"destroy"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepostmanagedstate",children:"handlePostManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePostManagedState"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageMetaHandler.ts#L38",children:"packages/core/src/page/handler/PageMetaHandler.ts:38"})]}),"\n",(0,s.jsx)(a.p,{children:"Called after a PageManager finishes transition from previous page to\na new one."}),"\n",(0,s.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#handlepostmanagedstate",children:(0,s.jsx)(a.code,{children:"handlePostManagedState"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepremanagedstate",children:"handlePreManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePreManagedState"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageMetaHandler.ts#L31",children:"packages/core/src/page/handler/PageMetaHandler.ts:31"})]}),"\n",(0,s.jsx)(a.p,{children:"Called before a PageManager starts to transition from previous page to\na new one."}),"\n",(0,s.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#handlepremanagedstate",children:(0,s.jsx)(a.code,{children:"handlePreManagedState"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"init"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L7",children:"packages/core/src/page/handler/PageHandler.ts:7"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes the page handler."}),"\n",(0,s.jsx)(a.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler#init",children:(0,s.jsx)(a.code,{children:"init"})})]})]})}function o(e={}){const{wrapper:a}={...(0,d.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,a,n)=>{n.d(a,{R:()=>i,x:()=>l});var r=n(3696);const s={},d=r.createContext(s);function i(e){const a=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(d.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5dc5c8af.13c4cb7e.js b/assets/js/5dc5c8af.13c4cb7e.js deleted file mode 100644 index 583bc5731..000000000 --- a/assets/js/5dc5c8af.13c4cb7e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7704],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>u});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),s=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=s(e.components);return r.createElement(p.Provider,{value:t},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),d=s(a),m=n,u=d["".concat(p,".").concat(m)]||d[m]||y[m]||i;return a?r.createElement(u,l(l({ref:t},g),{},{components:a})):r.createElement(u,l({ref:t},g))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[d]="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},570:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.AbstractRoute",title:"Class: AbstractRoute<T>",sidebar_label:"@ima/core.AbstractRoute",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.AbstractRoute",id:"api/classes/ima_core.AbstractRoute",title:"Class: AbstractRoute<T>",description:"@ima/core.AbstractRoute",source:"@site/../docs/api/classes/ima_core.AbstractRoute.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.AbstractRoute",permalink:"/api/classes/ima_core.AbstractRoute",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AbstractRoute",title:"Class: AbstractRoute<T>",sidebar_label:"@ima/core.AbstractRoute",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AbstractPageManager",permalink:"/api/classes/ima_core.AbstractPageManager"},next:{title:"@ima/core.AbstractRouter",permalink:"/api/classes/ima_core.AbstractRouter"}},p={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_name",id:"_name",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_options",id:"_options",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_pathExpression",id:"_pathexpression",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_view",id:"_view",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods",level:2},{value:"extractParameters",id:"extractparameters",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getController",id:"getcontroller",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getName",id:"getname",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getOptions",id:"getoptions",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getPathExpression",id:"getpathexpression",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getTrimmedPath",id:"gettrimmedpath",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getView",id:"getview",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"isAsync",id:"isasync",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"isControllerResolved",id:"iscontrollerresolved",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"isViewResolved",id:"isviewresolved",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"matches",id:"matches",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"preload",id:"preload",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"toPath",id:"topath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-18",level:4}],g={toc:s},d="wrapper";function y(e){let{components:t,...a}=e;return(0,n.yg)(d,(0,r.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AbstractRoute"),(0,n.yg)("p",null,"Utility for representing and manipulating a single route in the router's\nconfiguration."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"T")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"AbstractRoute"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DynamicRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"DynamicRoute"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"StaticRoute"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DynamicRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"DynamicRoute"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"StaticRoute"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new AbstractRoute"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),")"),(0,n.yg)("p",null,"Initializes the route."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"T")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of this route, identifying it among the rest of the routes in the application.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"T")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Path expression used in route matching, to generate valid path with provided params and parsing params from current path.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name of Object Container alias identifying the controller associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name or Object Container alias identifying the view class associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route additional options.")))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L91"},"packages/core/src/router/AbstractRoute.ts:91")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_controller"},"_","controller"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","controller"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The full name of Object Container alias identifying the controller\nassociated with this route."),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"cached")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resolved")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L58"},"packages/core/src/router/AbstractRoute.ts:58")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_name"},"_","name"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","name"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The unique name of this route, identifying it among the rest of the\nroutes in the application."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L48"},"packages/core/src/router/AbstractRoute.ts:48")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_options"},"_","options"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","options"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("p",null,"The route additional options."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L76"},"packages/core/src/router/AbstractRoute.ts:76")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pathexpression"},"_","pathExpression"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","pathExpression"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"T")),(0,n.yg)("p",null,"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L53"},"packages/core/src/router/AbstractRoute.ts:53")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_view"},"_","view"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","view"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The full name or Object Container alias identifying the view class\nassociated with this route."),(0,n.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"cached")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resolved")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView")))))),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L67"},"packages/core/src/router/AbstractRoute.ts:67")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"extractparameters"},"extractParameters"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"extractParameters"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"baseUrl"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),"\\<{}",">"),(0,n.yg)("p",null,"Extracts the parameter values from the provided path. The method\nextracts both the in-path parameters and parses the query, allowing the\nquery parameters to override the in-path parameters."),(0,n.yg)("p",null,"The method returns an empty hash object if the path does not match this\nroute."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Currently routed path.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"baseUrl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Currently routed baseUrl.")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),"\\<{}",">"),(0,n.yg)("p",null,"Map of parameter names to parameter\nvalues."),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L292"},"packages/core/src/router/AbstractRoute.ts:292")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getcontroller"},"getController"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getController"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,n.yg)("p",null,"Returns Controller class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported controllers,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,n.yg)("p",null,"The Controller class/alias/constant."),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L153"},"packages/core/src/router/AbstractRoute.ts:153")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getname"},"getName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getName"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the unique identifying name of this route."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The name of the route, identifying it."),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L132"},"packages/core/src/router/AbstractRoute.ts:132")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getoptions"},"getOptions"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getOptions"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("p",null,"Return route additional options."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L210"},"packages/core/src/router/AbstractRoute.ts:210")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getpathexpression"},"getPathExpression"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getPathExpression"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"T")),(0,n.yg)("p",null,"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"T")),(0,n.yg)("p",null,"The path expression."),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L220"},"packages/core/src/router/AbstractRoute.ts:220")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gettrimmedpath"},"getTrimmedPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getTrimmedPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Trims the trailing forward slash from the provided URL path."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The path to trim.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Trimmed path."),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L230"},"packages/core/src/router/AbstractRoute.ts:230")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getview"},"getView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getView"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,n.yg)("p",null,"Returns View class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported views,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,n.yg)("p",null,"The View class/alias/constant."),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L185"},"packages/core/src/router/AbstractRoute.ts:185")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isasync"},"isAsync"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isAsync"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"module"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Checks if given argument is an async handler."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"module")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L139"},"packages/core/src/router/AbstractRoute.ts:139")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"iscontrollerresolved"},"isControllerResolved"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isControllerResolved"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true for resolved controller. This is always true\nfor sync route views."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L173"},"packages/core/src/router/AbstractRoute.ts:173")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isviewresolved"},"isViewResolved"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isViewResolved"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true for resolved view. This is always true\nfor sync route views."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L203"},"packages/core/src/router/AbstractRoute.ts:203")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"matches"},"matches"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"matches"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests whether the provided URL path matches this route. The provided\npath may contain the query."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")))),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the provided path matches this route."),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L271"},"packages/core/src/router/AbstractRoute.ts:271")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"preload"},"preload"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"preload"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<[",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),"]",">"),(0,n.yg)("p",null,"Preloads dynamically imported view and controller."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<[",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),"]",">"),(0,n.yg)("p",null,"Promise.All resolving to ","[view, controller]"," tuple."),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L239"},"packages/core/src/router/AbstractRoute.ts:239")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"topath"},"toPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"toPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Creates the URL and query parts of a URL by substituting the route's\nparameter placeholders by the provided parameter value."),(0,n.yg)("p",null,"The extraneous parameters that do not match any of the route's\nplaceholders will be appended as the query string."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),"\\<{}",">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route parameter values.")))),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Path and, if necessary, query parts of the URL\nrepresenting this route with its parameters replaced by the\nprovided parameter values."),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L256"},"packages/core/src/router/AbstractRoute.ts:256")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5e6674c6.9a4d3169.js b/assets/js/5e6674c6.9a4d3169.js new file mode 100644 index 000000000..dcfe1ea26 --- /dev/null +++ b/assets/js/5e6674c6.9a4d3169.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2563],{6877:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>i});const c=JSON.parse('{"id":"api/@ima/core/classes/PageFactory","title":"Class: PageFactory","description":"Defined in15","source":"@site/../docs/api/@ima/core/classes/PageFactory.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageFactory","permalink":"/api/@ima/core/classes/PageFactory","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageFactory.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ObservableImpl","permalink":"/api/@ima/core/classes/ObservableImpl"},"next":{"title":"Class: abstract PageHandler","permalink":"/api/@ima/core/classes/PageHandler"}}');var s=a(2540),n=a(3023);const t={},o="Class: PageFactory",l={},i=[{value:"Constructors",id:"constructors",level:2},{value:"new PageFactory()",id:"new-pagefactory",level:3},{value:"Parameters",id:"parameters",level:4},{value:"oc",id:"oc",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_oc",id:"_oc",level:3},{value:"Methods",id:"methods",level:2},{value:"createController()",id:"createcontroller",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"controller",id:"controller",level:5},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-1",level:4},{value:"createView()",id:"createview",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"view",id:"view",level:5},{value:"Returns",id:"returns-2",level:4},{value:"decorateController()",id:"decoratecontroller",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"controller",id:"controller-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"decoratePageStateManager()",id:"decoratepagestatemanager",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"pageStateManager",id:"pagestatemanager",level:5},{value:"allowedStateKeys",id:"allowedstatekeys",level:5},{value:"Returns",id:"returns-4",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"class-pagefactory",children:"Class: PageFactory"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L15",children:"packages/core/src/page/PageFactory.ts:15"})]}),"\n",(0,s.jsx)(r.p,{children:"Factory for page."}),"\n",(0,s.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(r.h3,{id:"new-pagefactory",children:"new PageFactory()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"new PageFactory"}),"(",(0,s.jsx)(r.code,{children:"oc"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(r.code,{children:"PageFactory"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L24",children:"packages/core/src/page/PageFactory.ts:24"})]}),"\n",(0,s.jsx)(r.p,{children:"Factory used by page management classes."}),"\n",(0,s.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"oc",children:"oc"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,s.jsx)(r.code,{children:"ObjectContainer"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(r.code,{children:"PageFactory"})})}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"_oc",children:"_oc"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_oc"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,s.jsx)(r.code,{children:"ObjectContainer"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L19",children:"packages/core/src/page/PageFactory.ts:19"})]}),"\n",(0,s.jsx)(r.p,{children:"The current application object container."}),"\n",(0,s.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(r.h3,{id:"createcontroller",children:"createController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"createController"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"options"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(r.code,{children:"Controller"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L31",children:"packages/core/src/page/PageFactory.ts:31"})]}),"\n",(0,s.jsxs)(r.p,{children:["Create new instance of ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:"Controller"}),"."]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(r.h5,{id:"options",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(r.code,{children:"Controller"})})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"createview",children:"createView()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"createView"}),"<",(0,s.jsx)(r.code,{children:"V"}),">(",(0,s.jsx)(r.code,{children:"view"}),"): ",(0,s.jsx)(r.code,{children:"Constructor"}),"<keyof OCAliasMap | ",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.code,{children:"any"}),">> | ",(0,s.jsx)(r.code,{children:"V"})," & ",(0,s.jsx)(r.code,{children:"Function"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L84",children:"packages/core/src/page/PageFactory.ts:84"})]}),"\n",(0,s.jsx)(r.p,{children:"Retrieves the specified react component class."}),"\n",(0,s.jsx)(r.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,s.jsxs)(r.p,{children:["\u2022 ",(0,s.jsx)(r.strong,{children:"V"})," ",(0,s.jsx)(r.em,{children:"extends"})," keyof OCAliasMap | ",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.code,{children:"any"}),"> | (...",(0,s.jsx)(r.code,{children:"args"}),") => ",(0,s.jsx)(r.code,{children:"any"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"V"})}),"\n",(0,s.jsx)(r.p,{children:"The namespace\nreferring to a react component class, or a react component class\nconstructor."}),"\n",(0,s.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Constructor"}),"<keyof OCAliasMap | ",(0,s.jsx)(r.code,{children:"Constructor"}),"<",(0,s.jsx)(r.code,{children:"any"}),">> | ",(0,s.jsx)(r.code,{children:"V"})," & ",(0,s.jsx)(r.code,{children:"Function"})]}),"\n",(0,s.jsx)(r.p,{children:"The react component class\nconstructor."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"decoratecontroller",children:"decorateController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"decorateController"}),"(",(0,s.jsx)(r.code,{children:"controller"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,s.jsx)(r.code,{children:"ControllerDecorator"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L105",children:"packages/core/src/page/PageFactory.ts:105"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns decorated controller for ease setting seo params in controller."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller-1",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(r.code,{children:"Controller"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,s.jsx)(r.code,{children:"ControllerDecorator"})})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"decoratepagestatemanager",children:"decoratePageStateManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"decoratePageStateManager"}),"(",(0,s.jsx)(r.code,{children:"pageStateManager"}),", ",(0,s.jsx)(r.code,{children:"allowedStateKeys"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:(0,s.jsx)(r.code,{children:"PageStateManagerDecorator"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageFactory.ts#L124",children:"packages/core/src/page/PageFactory.ts:124"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns decorated page state manager for extension."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"pagestatemanager",children:"pageStateManager"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(r.code,{children:"PageStateManager"})})}),"\n",(0,s.jsx)(r.h5,{id:"allowedstatekeys",children:"allowedStateKeys"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,s.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:(0,s.jsx)(r.code,{children:"PageStateManagerDecorator"})})})]})}function h(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,r,a)=>{a.d(r,{R:()=>t,x:()=>o});var c=a(3696);const s={},n=c.createContext(s);function t(e){const r=c.useContext(n);return c.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),c.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e7d82a6.d268c965.js b/assets/js/5e7d82a6.d268c965.js deleted file mode 100644 index 595130a20..000000000 --- a/assets/js/5e7d82a6.d268c965.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5223],{5680:(e,n,r)=>{r.d(n,{xA:()=>s,yg:()=>g});var t=r(6540);function a(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function i(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function o(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?i(Object(r),!0).forEach((function(n){a(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function d(e,n){if(null==e)return{};var r,t,a=function(e,n){if(null==e)return{};var r,t,a={},i=Object.keys(e);for(t=0;t<i.length;t++)r=i[t],n.indexOf(r)>=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=t.createContext({}),l=function(e){var n=t.useContext(p),r=n;return e&&(r="function"==typeof e?e(n):o(o({},n),e)),r},s=function(e){var n=l(e.components);return t.createElement(p.Provider,{value:n},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},m=t.forwardRef((function(e,n){var r=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),u=l(r),m=a,g=u["".concat(p,".").concat(m)]||u[m]||c[m]||i;return r?t.createElement(g,o(o({ref:n},s),{},{components:r})):t.createElement(g,o({ref:n},s))}));function g(e,n){var r=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var d={};for(var p in n)hasOwnProperty.call(n,p)&&(d[p]=n[p]);d.originalType=e,d[u]="string"==typeof e?e:a,o[1]=d;for(var l=2;l<i;l++)o[l]=r[l];return t.createElement.apply(null,o)}return t.createElement.apply(null,r)}m.displayName="MDXCreateElement"},5713:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>d,toc:()=>l});var t=r(8102),a=(r(6540),r(5680));const i={id:"ima_core.RendererEvents",title:"Enumeration: RendererEvents",sidebar_label:"@ima/core.RendererEvents",custom_edit_url:null},o=void 0,d={unversionedId:"api/enums/ima_core.RendererEvents",id:"api/enums/ima_core.RendererEvents",title:"Enumeration: RendererEvents",description:"@ima/core.RendererEvents",source:"@site/../docs/api/enums/ima_core.RendererEvents.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.RendererEvents",permalink:"/api/enums/ima_core.RendererEvents",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RendererEvents",title:"Enumeration: RendererEvents",sidebar_label:"@ima/core.RendererEvents",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.HttpStatusCode",permalink:"/api/enums/ima_core.HttpStatusCode"},next:{title:"@ima/core.RendererTypes",permalink:"/api/enums/ima_core.RendererTypes"}},p={},l=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"ERROR",id:"error",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"HYDRATE_ERROR",id:"hydrate_error",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"MOUNTED",id:"mounted",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"UNMOUNTED",id:"unmounted",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"UPDATED",id:"updated",level:3},{value:"Defined in",id:"defined-in-4",level:4}],s={toc:l},u="wrapper";function c(e){let{components:n,...r}=e;return(0,a.yg)(u,(0,t.A)({},s,r,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RendererEvents"),(0,a.yg)("p",null,"Events constants, which is firing to app."),(0,a.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,a.yg)("h3",{id:"error"},"ERROR"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"ERROR")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.error"')),(0,a.yg)("p",null,"PageRenderer fires event ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.$PageRenderer.error")," when there is\nno _viewContainer in _renderToDOM method. Event's data contain\n",(0,a.yg)("inlineCode",{parentName:"p"},"{message: string}"),"."),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererEvents.ts#L31"},"packages/core/src/page/renderer/RendererEvents.ts:31")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"hydrate_error"},"HYDRATE","_","ERROR"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"HYDRATE","_","ERROR")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.hydrateError"')),(0,a.yg)("p",null,"Fired when problem occurs during hydratation."),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererEvents.ts#L36"},"packages/core/src/page/renderer/RendererEvents.ts:36")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"mounted"},"MOUNTED"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"MOUNTED")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.mounted"')),(0,a.yg)("p",null,"PageRenderer fires event ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.$PageRenderer.mounted")," after\ncurrent page view is mounted to the DOM. Event's data contain\n",(0,a.yg)("inlineCode",{parentName:"p"},"{type: string}"),"."),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererEvents.ts#L10"},"packages/core/src/page/renderer/RendererEvents.ts:10")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"unmounted"},"UNMOUNTED"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"UNMOUNTED")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.unmounted"')),(0,a.yg)("p",null,"PageRenderer fires event ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.$PageRenderer.unmounted")," after current view is\nunmounted from the DOM. Event's data contain\n",(0,a.yg)("inlineCode",{parentName:"p"},"{type: string}"),"."),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererEvents.ts#L24"},"packages/core/src/page/renderer/RendererEvents.ts:24")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"updated"},"UPDATED"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"UPDATED")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.updated"')),(0,a.yg)("p",null,"PageRenderer fires event ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.$PageRenderer.updated")," after\ncurrent state is updated in the DOM. Event's data contain\n",(0,a.yg)("inlineCode",{parentName:"p"},"{state: Object<string, *>}"),"."),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererEvents.ts#L17"},"packages/core/src/page/renderer/RendererEvents.ts:17")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.3da8e872.js b/assets/js/5e95c892.3da8e872.js new file mode 100644 index 000000000..fb9d1b967 --- /dev/null +++ b/assets/js/5e95c892.3da8e872.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9647],{7274:(e,s,r)=>{r.r(s),r.d(s,{default:()=>i});r(3696);var a=r(2689),c=r(2952),u=r(7404),d=r(3971),n=r(8730),t=r(2540);function i(e){return(0,t.jsx)(c.e3,{className:(0,a.A)(u.G.wrapper.docsPages),children:(0,t.jsx)(n.A,{children:(0,d.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5ec8820d.86ea8fd3.js b/assets/js/5ec8820d.86ea8fd3.js new file mode 100644 index 000000000..6365369d1 --- /dev/null +++ b/assets/js/5ec8820d.86ea8fd3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9474],{7851:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/RouteParams","title":"Type Alias: RouteParams\\\\<T\\\\>","description":"RouteParams\\\\: Partial\\\\ & object","source":"@site/../docs/api/@ima/core/type-aliases/RouteParams.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/RouteParams","permalink":"/api/@ima/core/type-aliases/RouteParams","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/RouteParams.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: RouteController","permalink":"/api/@ima/core/type-aliases/RouteController"},"next":{"title":"Type Alias: RoutePathExpression","permalink":"/api/@ima/core/type-aliases/RoutePathExpression"}}');var r=a(2540),o=a(3023);const n={},i="Type Alias: RouteParams<T>",c={},l=[{value:"Type Parameters",id:"type-parameters",level:2}];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"type-alias-routeparamst",children:"Type Alias: RouteParams<T>"})}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"RouteParams"}),"<",(0,r.jsx)(t.code,{children:"T"}),">: ",(0,r.jsx)(t.code,{children:"Partial"}),"<",(0,r.jsx)(t.code,{children:"{ [K in keyof T]: T[K] }"}),"> & ",(0,r.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L9",children:"packages/core/src/router/AbstractRoute.ts:9"})]}),"\n",(0,r.jsx)(t.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"T"})," = {}"]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>n,x:()=>i});var s=a(3696);const r={},o=s.createContext(r);function n(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5ef21807.6b0b3aee.js b/assets/js/5ef21807.6b0b3aee.js new file mode 100644 index 000000000..41cb9ce2a --- /dev/null +++ b/assets/js/5ef21807.6b0b3aee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8201],{2465:(n,i,t)=>{t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>s,default:()=>f,frontMatter:()=>a,metadata:()=>e,toc:()=>u});const e=JSON.parse('{"id":"api/@ima/core/functions/getInitialImaConfigFunctions","title":"Function: getInitialImaConfigFunctions()","description":"getInitialImaConfigFunctions(): InitImaConfig","source":"@site/../docs/api/@ima/core/functions/getInitialImaConfigFunctions.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/getInitialImaConfigFunctions","permalink":"/api/@ima/core/functions/getInitialImaConfigFunctions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/getInitialImaConfigFunctions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getClientBootConfig()","permalink":"/api/@ima/core/functions/getClientBootConfig"},"next":{"title":"Function: getInitialPluginConfig()","permalink":"/api/@ima/core/functions/getInitialPluginConfig"}}');var o=t(2540),c=t(3023);const a={},s="Function: getInitialImaConfigFunctions()",r={},u=[{value:"Returns",id:"returns",level:2}];function l(n){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,c.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.header,{children:(0,o.jsx)(i.h1,{id:"function-getinitialimaconfigfunctions",children:"Function: getInitialImaConfigFunctions()"})}),"\n",(0,o.jsxs)(i.blockquote,{children:["\n",(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.strong,{children:"getInitialImaConfigFunctions"}),"(): ",(0,o.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig",children:(0,o.jsx)(i.code,{children:"InitImaConfig"})})]}),"\n"]}),"\n",(0,o.jsxs)(i.p,{children:["Defined in: ",(0,o.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L166",children:"packages/core/src/boot.ts:166"})]}),"\n",(0,o.jsx)(i.h2,{id:"returns",children:"Returns"}),"\n",(0,o.jsx)(i.p,{children:(0,o.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig",children:(0,o.jsx)(i.code,{children:"InitImaConfig"})})})]})}function f(n={}){const{wrapper:i}={...(0,c.R)(),...n.components};return i?(0,o.jsx)(i,{...n,children:(0,o.jsx)(l,{...n})}):l(n)}},3023:(n,i,t)=>{t.d(i,{R:()=>a,x:()=>s});var e=t(3696);const o={},c=e.createContext(o);function a(n){const i=e.useContext(c);return e.useMemo((function(){return"function"==typeof n?n(i):{...i,...n}}),[i,n])}function s(n){let i;return i=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:a(n.components),e.createElement(c.Provider,{value:i},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/6073fa13.f885ce28.js b/assets/js/6073fa13.f885ce28.js new file mode 100644 index 000000000..5001a5276 --- /dev/null +++ b/assets/js/6073fa13.f885ce28.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[904],{5732:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/plugin-cli/type-aliases/Plugin","title":"Type Alias: Plugin()","description":"Plugin: (context) => void \\\\| Promise\\\\","source":"@site/../docs/api/@ima/plugin-cli/type-aliases/Plugin.md","sourceDirName":"api/@ima/plugin-cli/type-aliases","slug":"/api/@ima/plugin-cli/type-aliases/Plugin","permalink":"/api/@ima/plugin-cli/type-aliases/Plugin","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/type-aliases/Plugin.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Command","permalink":"/api/@ima/plugin-cli/type-aliases/Command"},"next":{"title":"Type Alias: Transformer()","permalink":"/api/@ima/plugin-cli/type-aliases/Transformer"}}');var t=n(2540),a=n(3023);const l={},r="Type Alias: Plugin()",c={},o=[{value:"Parameters",id:"parameters",level:2},{value:"context",id:"context",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"type-alias-plugin",children:"Type Alias: Plugin()"})}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"Plugin"}),": (",(0,t.jsx)(i.code,{children:"context"}),") => ",(0,t.jsx)(i.code,{children:"void"})," | ",(0,t.jsx)(i.code,{children:"Promise"}),"<",(0,t.jsx)(i.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Defined in: ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L69",children:"types.ts:69"})]}),"\n",(0,t.jsx)(i.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(i.h3,{id:"context",children:"context"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"/api/@ima/plugin-cli/interfaces/Context",children:(0,t.jsx)(i.code,{children:"Context"})})}),"\n",(0,t.jsx)(i.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"void"})," | ",(0,t.jsx)(i.code,{children:"Promise"}),"<",(0,t.jsx)(i.code,{children:"void"}),">"]})]})}function p(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>l,x:()=>r});var s=n(3696);const t={},a=s.createContext(t);function l(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6089708e.8aab24ad.js b/assets/js/6089708e.8aab24ad.js deleted file mode 100644 index ea2702f80..000000000 --- a/assets/js/6089708e.8aab24ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[48],{5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>u});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),g=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=g(e.components);return a.createElement(p.Provider,{value:t},e.children)},o="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),o=g(n),y=r,u=o["".concat(p,".").concat(y)]||o[y]||m[y]||i;return n?a.createElement(u,l(l({ref:t},d),{},{components:n})):a.createElement(u,l({ref:t},d))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=y;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[o]="string"==typeof e?e:r,l[1]=s;for(var g=2;g<i;g++)l[g]=n[g];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}y.displayName="MDXCreateElement"},5529:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>g});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.EventBusImpl",title:"Class: EventBusImpl",sidebar_label:"@ima/core.EventBusImpl",custom_edit_url:null},l=void 0,s={unversionedId:"api/classes/ima_core.EventBusImpl",id:"api/classes/ima_core.EventBusImpl",title:"Class: EventBusImpl",description:"@ima/core.EventBusImpl",source:"@site/../docs/api/classes/ima_core.EventBusImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.EventBusImpl",permalink:"/api/classes/ima_core.EventBusImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.EventBusImpl",title:"Class: EventBusImpl",sidebar_label:"@ima/core.EventBusImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.EventBus",permalink:"/api/classes/ima_core.EventBus"},next:{title:"@ima/core.Execution",permalink:"/api/classes/ima_core.Execution"}},p={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_allListenersTargets",id:"_alllistenerstargets",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_listeners",id:"_listeners",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_window",id:"_window",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"fire",id:"fire",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"listen",id:"listen",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"listenAll",id:"listenall",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"unlistenAll",id:"unlistenall",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-9",level:4}],d={toc:g},o="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(o,(0,a.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".EventBusImpl"),(0,r.yg)("p",null,"Helper for custom events."),(0,r.yg)("p",null,"It offers public methods for firing custom events and two methods for\ncatching events (e.g. inside view components)."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"EventBusImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new EventBusImpl"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"window"),")"),(0,r.yg)("p",null,"Initializes the custom event helper."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"window")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The IMA window helper.")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},"EventBus"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L54"},"packages/core/src/event/EventBusImpl.ts:54")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_alllistenerstargets"},"_","allListenersTargets"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","allListenersTargets"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"WeakMap"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"EventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"AllListenersWeakMap"),">"),(0,r.yg)("p",null,"Map of event targets to listeners executed on all IMA.js event bus\nevents."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L42"},"packages/core/src/event/EventBusImpl.ts:42")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_listeners"},"_","listeners"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","listeners"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"WeakMap"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"ListenersWeakMap"),">"),(0,r.yg)("p",null,"Map of listeners provided to the public API of this event bus to a\nmap of event targets to a map of event names to actual listeners\nbound to the native API."),(0,r.yg)("p",null,'The "listen all" event listeners are not registered in this map.'),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L36"},"packages/core/src/event/EventBusImpl.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_window"},"_","window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L28"},"packages/core/src/event/EventBusImpl.ts:28")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window")),"[]"),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,"typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window")),"[]"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L45"},"packages/core/src/event/EventBusImpl.ts:45")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"Fires a new custom event of the specified name, carrying the provided\ndata."),(0,r.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,r.yg)("p",null,"Note that the default options are\n",(0,r.yg)("inlineCode",{parentName:"p"},"{ bubbles: true, cancelable: true }"),", which is different from the\ndefault values used in the native custom events\n(",(0,r.yg)("inlineCode",{parentName:"p"},"{ bubbles: false, cancelable: false }"),")."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the event will be dispatched (e.g. element/document/window).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbusoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are ",(0,r.yg)("inlineCode",{parentName:"td"},"{ bubbles: true, cancelable: true }"),".")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"This custom event bus."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Thrown if the provided event target cannot be used to\nfire the event."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"},"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},"EventBus"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus#fire"},"fire")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L66"},"packages/core/src/event/EventBusImpl.ts:66")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specific\ncustom event is fired by the same implementation of the event bus and\npasses through the specified event target."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener should listen for the specified event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to listen for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},"EventBus"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus#listen"},"listen")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L127"},"packages/core/src/event/EventBusImpl.ts:127")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listenall"},"listenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when any custom\nevent is fired using the same implementation of the event bus and passes\nthrough the specified event target."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener should listen for all event bus events.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},"EventBus"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus#listenall"},"listenAll")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L99"},"packages/core/src/event/EventBusImpl.ts:99")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"Removes the provided event listener from the set of event listeners\nexecuted when the specified custom event fired by the same\nimplementation passes through the specified event target."),(0,r.yg)("p",null,"The method has no effect if the listener is not registered for the\nspecified event at the specified event target."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener is listening for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event listened for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},"EventBus"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus#unlisten"},"unlisten")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L222"},"packages/core/src/event/EventBusImpl.ts:222")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlistenall"},"unlistenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlistenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"Removes the provided event listener from the set of event listeners\nexecuted when the any custom event fired by the same implementation\npasses through the specified event target."),(0,r.yg)("p",null,"The method has no effect if the listener is not registered at the\nspecified event target."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the event listener listens for events.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},"EventBus"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus#unlistenall"},"unlistenAll")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBusImpl.ts#L181"},"packages/core/src/event/EventBusImpl.ts:181")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/60d7bbfa.38fb8857.js b/assets/js/60d7bbfa.38fb8857.js new file mode 100644 index 000000000..bd43f1fd9 --- /dev/null +++ b/assets/js/60d7bbfa.38fb8857.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1765],{8382:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>t,contentTitle:()=>c,default:()=>o,frontMatter:()=>d,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/WeakMapStorage","title":"Class: WeakMapStorage\\\\<V\\\\>","description":"Defined in8","source":"@site/../docs/api/@ima/core/classes/WeakMapStorage.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/WeakMapStorage","permalink":"/api/@ima/core/classes/WeakMapStorage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/WeakMapStorage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: UrlTransformer","permalink":"/api/@ima/core/classes/UrlTransformer"},"next":{"title":"Class: abstract Window","permalink":"/api/@ima/core/classes/Window"}}');var i=s(2540),a=s(3023);const d={},c="Class: WeakMapStorage<V>",t={},l=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new WeakMapStorage()",id:"new-weakmapstorage",level:3},{value:"Parameters",id:"parameters",level:4},{value:"config",id:"config",level:5},{value:"entryTtl",id:"entryttl",level:6},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Methods",id:"methods",level:2},{value:"_discardExpiredEntries()",id:"_discardexpiredentries",level:3},{value:"Returns",id:"returns-1",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"keys()",id:"keys",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"size()",id:"size",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-7",level:4}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"class-weakmapstoragev",children:"Class: WeakMapStorage<V>"})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L8",children:"packages/core/src/storage/WeakMapStorage.ts:8"})]}),"\n",(0,i.jsxs)(r.p,{children:["A specialization of the ",(0,i.jsx)(r.code,{children:"link MapStorage"})," storage mimicking the native\n",(0,i.jsx)(r.code,{children:"WeakMap"})," using its internal garbage collector used once the size of\nthe storage reaches the configured threshold."]}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),"<",(0,i.jsx)(r.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(r.p,{children:["\u2022 ",(0,i.jsx)(r.strong,{children:"V"})," = ",(0,i.jsx)(r.code,{children:"object"})]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-weakmapstorage",children:"new WeakMapStorage()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new WeakMapStorage"}),"<",(0,i.jsx)(r.code,{children:"V"}),">(",(0,i.jsx)(r.code,{children:"config"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/WeakMapStorage",children:(0,i.jsx)(r.code,{children:"WeakMapStorage"})}),"<",(0,i.jsx)(r.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L26",children:"packages/core/src/storage/WeakMapStorage.ts:26"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the storage."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"config",children:"config"}),"\n",(0,i.jsx)(r.p,{children:"Weak map storage configuration. The\nfields have the following meaning:"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:"entryTtl The time-to-live of a storage entry in milliseconds."}),"\n"]}),"\n",(0,i.jsx)(r.h6,{id:"entryttl",children:"entryTtl"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"number"})}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/WeakMapStorage",children:(0,i.jsx)(r.code,{children:"WeakMapStorage"})}),"<",(0,i.jsx)(r.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#constructors",children:(0,i.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"_discardexpiredentries",children:"_discardExpiredEntries()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_discardExpiredEntries"}),"(): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L101",children:"packages/core/src/storage/WeakMapStorage.ts:101"})]}),"\n",(0,i.jsx)(r.p,{children:"Deletes all expired entries from this storage."}),"\n",(0,i.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"clear"}),"(): ",(0,i.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L74",children:"packages/core/src/storage/WeakMapStorage.ts:74"})]}),"\n",(0,i.jsx)(r.p,{children:"Clears the storage of all entries."}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"this"})}),"\n",(0,i.jsx)(r.p,{children:"This storage."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#clear",children:(0,i.jsx)(r.code,{children:"clear"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"delete",children:"delete()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"delete"}),"(",(0,i.jsx)(r.code,{children:"key"}),"): ",(0,i.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L67",children:"packages/core/src/storage/WeakMapStorage.ts:67"})]}),"\n",(0,i.jsx)(r.p,{children:"Deletes the entry identified by the specified key from this storage."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"key",children:"key"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"this"})}),"\n",(0,i.jsx)(r.p,{children:"This storage."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#delete",children:(0,i.jsx)(r.code,{children:"delete"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"get",children:"get()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"get"}),"(",(0,i.jsx)(r.code,{children:"key"}),"): ",(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.code,{children:"V"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L44",children:"packages/core/src/storage/WeakMapStorage.ts:44"})]}),"\n",(0,i.jsxs)(r.p,{children:["Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,i.jsx)(r.code,{children:"undefined"})," if the entry does not exists."]}),"\n",(0,i.jsxs)(r.p,{children:["Entries set to the ",(0,i.jsx)(r.code,{children:"undefined"})," value can be tested for existence\nusing the ",(0,i.jsx)(r.code,{children:"link has"})," method."]}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"key-1",children:"key"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.code,{children:"V"})]}),"\n",(0,i.jsx)(r.p,{children:"The value of the storage entry."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#get",children:(0,i.jsx)(r.code,{children:"get"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"has",children:"has()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"has"}),"(",(0,i.jsx)(r.code,{children:"key"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L35",children:"packages/core/src/storage/WeakMapStorage.ts:35"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns ",(0,i.jsx)(r.code,{children:"true"})," if the entry identified by the specified key exists\nin this storage."]}),"\n",(0,i.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"key-2",children:"key"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the storage entry exists."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#has",children:(0,i.jsx)(r.code,{children:"has"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"init"}),"(): ",(0,i.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/Storage.ts#L17",children:"packages/core/src/storage/Storage.ts:17"})]}),"\n",(0,i.jsx)(r.p,{children:"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."}),"\n",(0,i.jsx)(r.p,{children:"This method must be invoked only once and it must be the first method\ninvoked on this instance."}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"this"})}),"\n",(0,i.jsx)(r.p,{children:"This storage."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#init",children:(0,i.jsx)(r.code,{children:"init"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"keys",children:"keys()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"keys"}),"(): ",(0,i.jsx)(r.code,{children:"Iterable"}),"<",(0,i.jsx)(r.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L83",children:"packages/core/src/storage/WeakMapStorage.ts:83"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."}),"\n",(0,i.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Iterable"}),"<",(0,i.jsx)(r.code,{children:"string"}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,i.jsx)(r.code,{children:"for..of"})," loop."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#keys",children:(0,i.jsx)(r.code,{children:"keys"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"set",children:"set()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"set"}),"(",(0,i.jsx)(r.code,{children:"key"}),", ",(0,i.jsx)(r.code,{children:"value"}),"): ",(0,i.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L57",children:"packages/core/src/storage/WeakMapStorage.ts:57"})]}),"\n",(0,i.jsx)(r.p,{children:"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"key-3",children:"key"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(r.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"V"})}),"\n",(0,i.jsx)(r.p,{children:"The storage entry value."}),"\n",(0,i.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"this"})}),"\n",(0,i.jsx)(r.p,{children:"This storage."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#set",children:(0,i.jsx)(r.code,{children:"set"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"size",children:"size()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"size"}),"(): ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/WeakMapStorage.ts#L92",children:"packages/core/src/storage/WeakMapStorage.ts:92"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the number of entries in this storage."}),"\n",(0,i.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"number"})}),"\n",(0,i.jsx)(r.p,{children:"The number of entries in this storage."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(r.code,{children:"Storage"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Storage#size",children:(0,i.jsx)(r.code,{children:"size"})})]})]})}function o(e={}){const{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>c});var n=s(3696);const i={},a=n.createContext(i);function d(e){const r=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),n.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/611fb728.1dd4d546.js b/assets/js/611fb728.1dd4d546.js new file mode 100644 index 000000000..5e37e02fb --- /dev/null +++ b/assets/js/611fb728.1dd4d546.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1526],{9119:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useCssClasses","title":"Function: useCssClasses()","description":"useCssClasses(): typeof defaultCssClasses","source":"@site/../docs/api/@ima/react-page-renderer/functions/useCssClasses.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useCssClasses","permalink":"/api/@ima/react-page-renderer/functions/useCssClasses","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useCssClasses.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useComponentUtils()","permalink":"/api/@ima/react-page-renderer/functions/useComponentUtils"},"next":{"title":"Function: useDispatcher()","permalink":"/api/@ima/react-page-renderer/functions/useDispatcher"}}');var a=n(2540),t=n(3023);const c={},i="Function: useCssClasses()",o={},l=[{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"function-usecssclasses",children:"Function: useCssClasses()"})}),"\n",(0,a.jsxs)(s.blockquote,{children:["\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.strong,{children:"useCssClasses"}),"(): ",(0,a.jsx)(s.em,{children:"typeof"})," ",(0,a.jsx)(s.a,{href:"/api/@ima/react-page-renderer/functions/defaultCssClasses",children:(0,a.jsx)(s.code,{children:"defaultCssClasses"})})]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Defined in: ",(0,a.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/cssClasses.ts#L14",children:"packages/react-page-renderer/src/hooks/cssClasses.ts:14"})]}),"\n",(0,a.jsx)(s.p,{children:"Provides direct access to CssClasses."}),"\n",(0,a.jsx)(s.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.em,{children:"typeof"})," ",(0,a.jsx)(s.a,{href:"/api/@ima/react-page-renderer/functions/defaultCssClasses",children:(0,a.jsx)(s.code,{children:"defaultCssClasses"})})]}),"\n",(0,a.jsx)(s.p,{children:"CssClasses function."}),"\n",(0,a.jsx)(s.h2,{id:"example",children:"Example"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ts",children:"const cssClasses = useCssClasses();\n"})})]})}function u(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>i});var r=n(3696);const a={},t=r.createContext(a);function c(e){const s=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),r.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/61e14e81.394dcd67.js b/assets/js/61e14e81.394dcd67.js deleted file mode 100644 index 1b417df69..000000000 --- a/assets/js/61e14e81.394dcd67.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3478],{5680:(e,r,t)=>{t.d(r,{xA:()=>m,yg:()=>u});var a=t(6540);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function s(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=a.createContext({}),p=function(e){var r=a.useContext(o),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},m=function(e){var r=p(e.components);return a.createElement(o.Provider,{value:r},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},g=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=p(t),g=n,u=d["".concat(o,".").concat(g)]||d[g]||c[g]||l;return t?a.createElement(u,i(i({ref:r},m),{},{components:t})):a.createElement(u,i({ref:r},m))}));function u(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var l=t.length,i=new Array(l);i[0]=g;var s={};for(var o in r)hasOwnProperty.call(r,o)&&(s[o]=r[o]);s.originalType=e,s[d]="string"==typeof e?e:n,i[1]=s;for(var p=2;p<l;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},3777:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>p});var a=t(8102),n=(t(6540),t(5680));const l={id:"ima_core.UrlTransformer",title:"Class: UrlTransformer",sidebar_label:"@ima/core.UrlTransformer",custom_edit_url:null},i=void 0,s={unversionedId:"api/classes/ima_core.UrlTransformer",id:"api/classes/ima_core.UrlTransformer",title:"Class: UrlTransformer",description:"@ima/core.UrlTransformer",source:"@site/../docs/api/classes/ima_core.UrlTransformer.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.UrlTransformer",permalink:"/api/classes/ima_core.UrlTransformer",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.UrlTransformer",title:"Class: UrlTransformer",sidebar_label:"@ima/core.UrlTransformer",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Storage",permalink:"/api/classes/ima_core.Storage"},next:{title:"@ima/core.WeakMapStorage",permalink:"/api/classes/ima_core.WeakMapStorage"}},o={},p=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_rules",id:"_rules",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods",level:2},{value:"addRule",id:"addrule",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"transform",id:"transform",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4}],m={toc:p},d="wrapper";function c(e){let{components:r,...t}=e;return(0,n.yg)(d,(0,a.A)({},m,t,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".UrlTransformer"),(0,n.yg)("p",null,"Utility for transforming URLs according to the configured replacement rules."),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new UrlTransformer"),"()"),(0,n.yg)("p",null,"Initializes the URL transformer."),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/UrlTransformer.ts#L16"},"packages/core/src/http/UrlTransformer.ts:16")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_rules"},"_","rules"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","rules"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/UrlTransformer.ts#L7"},"packages/core/src/http/UrlTransformer.ts:7")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/UrlTransformer.ts#L9"},"packages/core/src/http/UrlTransformer.ts:9")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"addrule"},"addRule"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"addRule"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pattern"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"replacement"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.UrlTransformer"},(0,n.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,n.yg)("p",null,"Adds the provided replacement rule to the rules used by this URL\ntransformer."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pattern")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Regexp patter to look for (must be escaped as if for use in the Regexp constructor).")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"replacement")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The replacement of the matched patter in any matched URL.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.UrlTransformer"},(0,n.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,n.yg)("p",null,"This transformer."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/UrlTransformer.ts#L30"},"packages/core/src/http/UrlTransformer.ts:30")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.UrlTransformer"},(0,n.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,n.yg)("p",null,"Clears all rules."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.UrlTransformer"},(0,n.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/UrlTransformer.ts#L39"},"packages/core/src/http/UrlTransformer.ts:39")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"transform"},"transform"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"transform"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"url"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Applies all rules registered with this URL transformer to the provided\nURL and returns the result. The rules will be applied in the order they\nwere registered."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"url")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL for transformation.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Transformed URL."),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/UrlTransformer.ts#L53"},"packages/core/src/http/UrlTransformer.ts:53")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6302158a.ead19384.js b/assets/js/6302158a.ead19384.js new file mode 100644 index 000000000..f6bfc4e9a --- /dev/null +++ b/assets/js/6302158a.ead19384.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4591],{3902:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"api/@ima/core/enumerations/StateEvents","title":"Enumeration: StateEvents","description":"Defined in4","source":"@site/../docs/api/@ima/core/enumerations/StateEvents.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/StateEvents","permalink":"/api/@ima/core/enumerations/StateEvents","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/StateEvents.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: RouterEvents","permalink":"/api/@ima/core/enumerations/RouterEvents"},"next":{"title":"Function: bootClientApp()","permalink":"/api/@ima/core/functions/bootClientApp"}}');var s=n(2540),r=n(3023);const i={},c="Enumeration: StateEvents",o={},d=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"AFTER_CHANGE_STATE",id:"after_change_state",level:3},{value:"BEFORE_CHANGE_STATE",id:"before_change_state",level:3}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"enumeration-stateevents",children:"Enumeration: StateEvents"})}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/StateEvents.ts#L4",children:"packages/core/src/page/state/StateEvents.ts:4"})]}),"\n",(0,s.jsx)(t.p,{children:"Events constants, which is firing to app."}),"\n",(0,s.jsx)(t.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,s.jsx)(t.h3,{id:"after_change_state",children:"AFTER_CHANGE_STATE"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"AFTER_CHANGE_STATE"}),": ",(0,s.jsx)(t.code,{children:'"$IMA.$PageStateManager.afterChangeState"'})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/StateEvents.ts#L17",children:"packages/core/src/page/state/StateEvents.ts:17"})]}),"\n",(0,s.jsxs)(t.p,{children:["PateStateManager fire event ",(0,s.jsx)(t.code,{children:"$IMA.$PageStateManager.afterChangeState"})," after state\nis patched. Event's data contain ",(0,s.jsx)(t.code,{children:"{newState: Object<string, *>}"}),"."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"before_change_state",children:"BEFORE_CHANGE_STATE"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"BEFORE_CHANGE_STATE"}),": ",(0,s.jsx)(t.code,{children:'"$IMA.$PageStateManager.beforeChangeState"'})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/StateEvents.ts#L11",children:"packages/core/src/page/state/StateEvents.ts:11"})]}),"\n",(0,s.jsxs)(t.p,{children:["PateStateManager fire event ",(0,s.jsx)(t.code,{children:"$IMA.$PageStateManager.beforeChangeState"})," before\nstate is patched. Event's data contain\n",(0,s.jsx)(t.code,{children:"{ oldState: Object<string, *>, newState: Object<string, *>, pathState: Object<string, *> }"}),"."]})]})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>c});var a=n(3696);const s={},r=a.createContext(s);function i(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/636475bd.8e67856b.js b/assets/js/636475bd.8e67856b.js new file mode 100644 index 000000000..d9e8f621f --- /dev/null +++ b/assets/js/636475bd.8e67856b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8262],{7936:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/classes/PageStateManagerDecorator","title":"Class: PageStateManagerDecorator","description":"Defined in9","source":"@site/../docs/api/@ima/core/classes/PageStateManagerDecorator.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageStateManagerDecorator","permalink":"/api/@ima/core/classes/PageStateManagerDecorator","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageStateManagerDecorator.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract PageStateManager\\\\<S\\\\>","permalink":"/api/@ima/core/classes/PageStateManager"},"next":{"title":"Class: PageStateManagerImpl\\\\<S\\\\>","permalink":"/api/@ima/core/classes/PageStateManagerImpl"}}');var t=r(2540),n=r(3023);const c={},i="Class: PageStateManagerDecorator",l={},d=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageStateManagerDecorator()",id:"new-pagestatemanagerdecorator",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageStateManager",id:"pagestatemanager",level:5},{value:"allowedStateKeys",id:"allowedstatekeys",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"onChange()?",id:"onchange",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"newState",id:"newstate",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Methods",id:"methods",level:2},{value:"beginTransaction()",id:"begintransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"cancelTransaction()",id:"canceltransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"commitTransaction()",id:"committransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"getAllStates()",id:"getallstates",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"getTransactionStatePatches()",id:"gettransactionstatepatches",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"setState()",id:"setstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"statePatch",id:"statepatch",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-8",level:4}];function o(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.header,{children:(0,t.jsx)(a.h1,{id:"class-pagestatemanagerdecorator",children:"Class: PageStateManagerDecorator"})}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L9",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:9"})]}),"\n",(0,t.jsx)(a.p,{children:"Decorator for page state manager, which add logic for limiting Extension\ncompetence."}),"\n",(0,t.jsx)(a.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(a.ul,{children:["\n",(0,t.jsx)(a.li,{children:(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})})}),"\n"]}),"\n",(0,t.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(a.h3,{id:"new-pagestatemanagerdecorator",children:"new PageStateManagerDecorator()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"new PageStateManagerDecorator"}),"(",(0,t.jsx)(a.code,{children:"pageStateManager"}),", ",(0,t.jsx)(a.code,{children:"allowedStateKeys"}),"): ",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:(0,t.jsx)(a.code,{children:"PageStateManagerDecorator"})})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L25",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:25"})]}),"\n",(0,t.jsx)(a.p,{children:"Initializes the page state manager decorator."}),"\n",(0,t.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(a.h5,{id:"pagestatemanager",children:"pageStateManager"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})})}),"\n",(0,t.jsx)(a.h5,{id:"allowedstatekeys",children:"allowedStateKeys"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:(0,t.jsx)(a.code,{children:"PageStateManagerDecorator"})})}),"\n",(0,t.jsx)(a.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#constructors",children:(0,t.jsx)(a.code,{children:"constructor"})})]}),"\n",(0,t.jsx)(a.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(a.h3,{id:"onchange",children:"onChange()?"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.code,{children:"optional"})," ",(0,t.jsx)(a.strong,{children:"onChange"}),": (",(0,t.jsx)(a.code,{children:"newState"}),") => ",(0,t.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L7",children:"packages/core/src/page/state/PageStateManager.ts:7"})]}),"\n",(0,t.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(a.h5,{id:"newstate",children:"newState"}),"\n",(0,t.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"void"})}),"\n",(0,t.jsx)(a.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#onchange",children:(0,t.jsx)(a.code,{children:"onChange"})})]}),"\n",(0,t.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(a.h3,{id:"begintransaction",children:"beginTransaction()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"beginTransaction"}),"(): ",(0,t.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L89",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:89"})]}),"\n",(0,t.jsxs)(a.p,{children:["Starts queueing state patches off the main state. While the transaction\nis active every ",(0,t.jsx)(a.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,t.jsxs)(a.p,{children:["Note that call to ",(0,t.jsx)(a.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,t.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"void"})}),"\n",(0,t.jsx)(a.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#begintransaction",children:(0,t.jsx)(a.code,{children:"beginTransaction"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"canceltransaction",children:"cancelTransaction()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"cancelTransaction"}),"(): ",(0,t.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L103",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:103"})]}),"\n",(0,t.jsx)(a.p,{children:"Cancels ongoing transaction. Uncommitted state changes are lost."}),"\n",(0,t.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"void"})}),"\n",(0,t.jsx)(a.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#canceltransaction",children:(0,t.jsx)(a.code,{children:"cancelTransaction"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"clear",children:"clear()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"clear"}),"(): ",(0,t.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L39",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:39"})]}),"\n",(0,t.jsx)(a.p,{children:"Clears the state history."}),"\n",(0,t.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"void"})}),"\n",(0,t.jsx)(a.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#clear",children:(0,t.jsx)(a.code,{children:"clear"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"committransaction",children:"commitTransaction()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"commitTransaction"}),"(): ",(0,t.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L96",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:96"})]}),"\n",(0,t.jsxs)(a.p,{children:["Applies queued state patches to the main state. All patches are squashed\nand applied with one ",(0,t.jsx)(a.code,{children:"setState"})," call."]}),"\n",(0,t.jsx)(a.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"void"})}),"\n",(0,t.jsx)(a.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#committransaction",children:(0,t.jsx)(a.code,{children:"commitTransaction"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"getallstates",children:"getAllStates()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"getAllStates"}),"(): ",(0,t.jsx)(a.code,{children:"object"}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L75",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:75"})]}),"\n",(0,t.jsx)(a.p,{children:"Returns the recorded history of page states. The states will be\nchronologically sorted from the oldest to the newest."}),"\n",(0,t.jsx)(a.p,{children:"Note that the implementation may limit the size of the recorded history,\ntherefore the complete history may not be available."}),"\n",(0,t.jsx)(a.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.code,{children:"object"}),"[]"]}),"\n",(0,t.jsx)(a.p,{children:"The recorded history of page states."}),"\n",(0,t.jsx)(a.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#getallstates",children:(0,t.jsx)(a.code,{children:"getAllStates"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"getstate",children:"getState()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"getState"}),"(): ",(0,t.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L68",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:68"})]}),"\n",(0,t.jsx)(a.p,{children:"Returns the current page state."}),"\n",(0,t.jsx)(a.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"object"})}),"\n",(0,t.jsx)(a.p,{children:"The current page state."}),"\n",(0,t.jsx)(a.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#getstate",children:(0,t.jsx)(a.code,{children:"getState"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"gettransactionstatepatches",children:"getTransactionStatePatches()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"getTransactionStatePatches"}),"(): (",(0,t.jsx)(a.code,{children:"null"})," | {} | ",(0,t.jsx)(a.code,{children:"Pick"}),"<{}, ",(0,t.jsx)(a.code,{children:"any"}),">)[]"]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L82",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:82"})]}),"\n",(0,t.jsx)(a.p,{children:"Returns queueing state patches off the main state from the begin of transaction."}),"\n",(0,t.jsx)(a.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(a.p,{children:["(",(0,t.jsx)(a.code,{children:"null"})," | {} | ",(0,t.jsx)(a.code,{children:"Pick"}),"<{}, ",(0,t.jsx)(a.code,{children:"any"}),">)[]"]}),"\n",(0,t.jsx)(a.p,{children:"State patches from the begin of transaction."}),"\n",(0,t.jsx)(a.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#gettransactionstatepatches",children:(0,t.jsx)(a.code,{children:"getTransactionStatePatches"})})]}),"\n",(0,t.jsx)(a.hr,{}),"\n",(0,t.jsx)(a.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"setState"}),"(",(0,t.jsx)(a.code,{children:"statePatch"}),"): ",(0,t.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerDecorator.ts#L46",children:"packages/core/src/page/state/PageStateManagerDecorator.ts:46"})]}),"\n",(0,t.jsx)(a.p,{children:"Sets a new page state by applying the provided patch to the current\nstate."}),"\n",(0,t.jsx)(a.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(a.h5,{id:"statepatch",children:"statePatch"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(a.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(a.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(a.p,{children:(0,t.jsx)(a.code,{children:"void"})}),"\n",(0,t.jsx)(a.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(a.code,{children:"PageStateManager"})}),".",(0,t.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#setstate",children:(0,t.jsx)(a.code,{children:"setState"})})]})]})}function h(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},3023:(e,a,r)=>{r.d(a,{R:()=>c,x:()=>i});var s=r(3696);const t={},n=s.createContext(t);function c(e){const a=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/63ced45c.e2f027e1.js b/assets/js/63ced45c.e2f027e1.js deleted file mode 100644 index c9434bbe2..000000000 --- a/assets/js/63ced45c.e2f027e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4554],{5680:(e,t,a)=>{a.d(t,{xA:()=>d,yg:()=>u});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),g=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=g(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),s=g(a),y=r,u=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return a?n.createElement(u,l(l({ref:t},d),{},{components:a})):n.createElement(u,l({ref:t},d))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=y;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:r,l[1]=o;for(var g=2;g<i;g++)l[g]=a[g];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},4428:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>g});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.Router",title:"Class: Router",sidebar_label:"@ima/core.Router",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.Router",id:"api/classes/ima_core.Router",title:"Class: Router",description:"@ima/core.Router",source:"@site/../docs/api/classes/ima_core.Router.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Router",permalink:"/api/classes/ima_core.Router",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Router",title:"Class: Router",sidebar_label:"@ima/core.Router",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouteFactory",permalink:"/api/classes/ima_core.RouteFactory"},next:{title:"@ima/core.SerialBatch",permalink:"/api/classes/ima_core.SerialBatch"}},p={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"add",id:"add",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"getBaseUrl",id:"getbaseurl",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"getCurrentRouteInfo",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getProtocol",id:"getprotocol",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getRouteHandler",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"handleError",id:"handleerror",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"handleNotFound",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"listen",id:"listen",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"remove",id:"remove",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"route",id:"route",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"use",id:"use",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-20",level:4}],d={toc:g},s="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(s,(0,n.A)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Router"),(0,r.yg)("p",null,"The router manages the application's routing configuration and dispatches\ncontrollers and views according to the current URL and the route it matches."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Router"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Router"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"add"},"add"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"add"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"Adds a new route to router."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The unique name of this route, identifying it among the rest of the routes in the application.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as ",(0,r.yg)("inlineCode",{parentName:"td"},":parameterName"),". The name of the parameter is terminated by a forward slash (",(0,r.yg)("inlineCode",{parentName:"td"},"/"),") or the end of the path expression string. The path expression may also contain optional parameters, which are specified as ",(0,r.yg)("inlineCode",{parentName:"td"},":?parameterName"),". It is recommended to specify the optional parameters at the end of the path expression.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The full name of Object Container alias identifying the controller associated with this route.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,r.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The full name or Object Container alias identifying the view class associated with this route.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Additional route options, specified how the navigation to the route will be handled. The ",(0,r.yg)("inlineCode",{parentName:"td"},"onlyUpdate")," can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," representing the value of the flag. This flag is disabled by default. The ",(0,r.yg)("inlineCode",{parentName:"td"},"autoScroll")," flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"This router."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Thrown if a route with the same name already exists."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L128"},"packages/core/src/router/Router.ts:128")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getbaseurl"},"getBaseUrl"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getBaseUrl"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the application's absolute base URL, pointing to the public root\nof the application."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The application's base URL."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L199"},"packages/core/src/router/Router.ts:199")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getcurrentrouteinfo"},"getCurrentRouteInfo"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getCurrentRouteInfo"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Returns the information about the currently active route."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Thrown if a route is not define for current path."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L237"},"packages/core/src/router/Router.ts:237")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getdomain"},"getDomain"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the application's domain in the following form\n",(0,r.yg)("inlineCode",{parentName:"p"},"${protocol}//${host}"),"."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current application's domain."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L209"},"packages/core/src/router/Router.ts:209")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethost"},"getHost"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns application's host (domain and, if necessary, the port number)."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current application's host."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L218"},"packages/core/src/router/Router.ts:218")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getpath"},"getPath"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the current path part of the current URL, including the query\nstring (if any)."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The path and query parts of the current URL."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L180"},"packages/core/src/router/Router.ts:180")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getprotocol"},"getProtocol"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getProtocol"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,r.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current application protocol used to access the\napplication."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L229"},"packages/core/src/router/Router.ts:229")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getroutehandler"},"getRouteHandler"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getRouteHandler"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,r.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,r.yg)("p",null,"Returns specified handler from registered route handlers."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The route's unique name.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,r.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,r.yg)("p",null,"Route with given name or undefined."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L168"},"packages/core/src/router/Router.ts:168")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"geturl"},"getUrl"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the current absolute URL (including protocol, host, query, etc)."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current absolute URL."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L189"},"packages/core/src/router/Router.ts:189")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handleerror"},"handleError"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handleError"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,r.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"locals?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L374"},"packages/core/src/router/Router.ts:374")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"handlenotfound"},"handleNotFound"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"handleNotFound"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,r.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"locals?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L396"},"packages/core/src/router/Router.ts:396")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the router with the provided configuration."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Router configuration. The ",(0,r.yg)("inlineCode",{parentName:"td"},"$Protocol")," field must be the current protocol used to access the application, terminated by a colon (for example ",(0,r.yg)("inlineCode",{parentName:"td"},"https:"),"). The ",(0,r.yg)("inlineCode",{parentName:"td"},"$Root")," field must specify the URL path pointing to the application's root. The ",(0,r.yg)("inlineCode",{parentName:"td"},"$LanguagePartPath")," field must be the URL path fragment used as a suffix to the ",(0,r.yg)("inlineCode",{parentName:"td"},"$Root")," field that specifies the current language. The ",(0,r.yg)("inlineCode",{parentName:"td"},"$Host")," field must be the application's domain (and the port number if other than the default is used) in the following form: ",(0,r.yg)("inlineCode",{parentName:"td"},"${protocol}//${host}"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config.$Host")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config.$LanguagePartPath")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config.$Protocol")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config.$Root")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L84"},"packages/core/src/router/Router.ts:84")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"isclienterror"},"isClientError"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isClientError"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"reason")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,r.yg)("inlineCode",{parentName:"a"},"Error"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L413"},"packages/core/src/router/Router.ts:413")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"isredirection"},"isRedirection"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isRedirection"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Tests, if possible, whether the specified error lead to redirection."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"reason")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,r.yg)("inlineCode",{parentName:"a"},"Error"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nredirection."),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L424"},"packages/core/src/router/Router.ts:424")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"link"},"link"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"link"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"routeName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"routeName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The unique name of the route, identifying the route to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Parameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"An absolute URL for the specified route and parameters."),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L332"},"packages/core/src/router/Router.ts:332")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,r.yg)("p",null,"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,r.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,r.yg)("p",null,"The effects of this method can be reverted with ",(0,r.yg)("inlineCode",{parentName:"p"},"unlisten"),". This\nmethod has no effect at the server side."),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"This router."),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L264"},"packages/core/src/router/Router.ts:264")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"redirect"},"redirect"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"redirect"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Redirects the client to the specified location."),(0,r.yg)("p",null,"At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,r.yg)("inlineCode",{parentName:"p"},"Location")," header."),(0,r.yg)("p",null,"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."),(0,r.yg)("p",null,"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the client should be redirected.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,r.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"locals?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L311"},"packages/core/src/router/Router.ts:311")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"remove"},"remove"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"remove"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"Removes the specified route from the router's known routes."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The route's unique name, identifying the route to remove.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"This router."),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L158"},"packages/core/src/router/Router.ts:158")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"route"},"route"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"route"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL path part received from the client, with optional query.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,r.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"locals?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L351"},"packages/core/src/router/Router.ts:351")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,r.yg)("p",null,"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,r.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,r.yg)("p",null,"The effects of this method can be reverted with ",(0,r.yg)("inlineCode",{parentName:"p"},"unlisten"),". This method has no effect\nat the server side."),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"This router."),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L285"},"packages/core/src/router/Router.ts:285")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"use"},"use"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"use"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"middleware"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"Adds a new middleware to router."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"middleware")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,r.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Middleware function accepting routeParams as a first argument, which can be mutated and ",(0,r.yg)("inlineCode",{parentName:"td"},"locals")," object as second argument. This can be used to pass data between middlewares.")))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("p",null,"This router."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Thrown if a middleware with the same name already exists."),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L148"},"packages/core/src/router/Router.ts:148")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6520cedf.297098ca.js b/assets/js/6520cedf.297098ca.js deleted file mode 100644 index e4e2bdd3c..000000000 --- a/assets/js/6520cedf.297098ca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2456],{5680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>c});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},g=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),d=p(t),m=r,c=d["".concat(s,".").concat(m)]||d[m]||y[m]||i;return t?a.createElement(c,o(o({ref:n},g),{},{components:t})):a.createElement(c,o({ref:n},g))}));function c(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[d]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<i;p++)o[p]=t[p];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},6578:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var a=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.Response",title:"Class: Response",sidebar_label:"@ima/core.Response",custom_edit_url:null},o=void 0,l={unversionedId:"api/classes/ima_core.Response",id:"api/classes/ima_core.Response",title:"Class: Response",description:"@ima/core.Response",source:"@site/../docs/api/classes/ima_core.Response.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Response",permalink:"/api/classes/ima_core.Response",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Response",title:"Class: Response",sidebar_label:"@ima/core.Response",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Request",permalink:"/api/classes/ima_core.Request"},next:{title:"@ima/core.RouteFactory",permalink:"/api/classes/ima_core.RouteFactory"}},s={},p=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Properties",id:"properties",level:2},{value:"_cookieTransformFunction",id:"_cookietransformfunction",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"_internalCookieStorage",id:"_internalcookiestorage",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_internalHeadersStorage",id:"_internalheadersstorage",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_response",id:"_response",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"getResponseParams",id:"getresponseparams",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"setCookie",id:"setcookie",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"setHeader",id:"setheader",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-9",level:4}],g={toc:p},d="wrapper";function y(e){let{components:n,...t}=e;return(0,r.yg)(d,(0,a.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Response"),(0,r.yg)("p",null,"Wrapper for the ExpressJS response, exposing only the necessary minimum."),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Response"),"()"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_cookietransformfunction"},"_","cookieTransformFunction"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","cookieTransformFunction"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#cookietransformfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieTransformFunction"))),(0,r.yg)("p",null,"Transform function for cookie value."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L35"},"packages/core/src/router/Response.ts:35")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_internalcookiestorage"},"_","internalCookieStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","internalCookieStorage"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"CookieOptions")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," }",">"),(0,r.yg)("p",null,"Internal cookie storage for Set-Cookie header."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L27"},"packages/core/src/router/Response.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_internalheadersstorage"},"_","internalHeadersStorage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","internalHeadersStorage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," = ",(0,r.yg)("inlineCode",{parentName:"p"},"{}")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L31"},"packages/core/src/router/Response.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_response"},"_","response"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","response"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Response"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,r.yg)("p",null,"The ExpressJS response object, or ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if running at the\nclient side."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L23"},"packages/core/src/router/Response.ts:23")),(0,r.yg)("h2",{id:"accessors"},"Accessors"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"get")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L40"},"packages/core/src/router/Response.ts:40")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"getresponseparams"},"getResponseParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getResponseParams"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Return object which contains response headers and cookie."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cookie")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"options"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"CookieOptions")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"value"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," }",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"headers")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L172"},"packages/core/src/router/Response.ts:172")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"response"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"cookieTransformFunction?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"Initializes this response wrapper with the provided ExpressJS response\nobject."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"response")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Response"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The ExpressJS response, or ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," if the code is running at the client side.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cookieTransformFunction")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"This response."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L53"},"packages/core/src/router/Response.ts:53")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"redirect"},"redirect"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"redirect"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Redirects the client to the specified location, with the specified\nredirect HTTP response code."),(0,r.yg)("p",null,"For full list of HTTP response status codes see\n",(0,r.yg)("a",{parentName:"p",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html")),(0,r.yg)("p",null,"Use this method only at the server side."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the client should be redirected. @param","[status=302]"," The HTTP status code to send to the client.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"This response."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L80"},"packages/core/src/router/Response.ts:80")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setcookie"},"setCookie"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setCookie"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"Sets a cookie, which will be sent to the client with the response."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie value, will be converted to string.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CookieOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cookie attributes. Only the attributes listed in the type annotation of this field are supported. For documentation and full list of cookie attributes see ",(0,r.yg)("a",{parentName:"td",href:"http://tools.ietf.org/html/rfc2965#page-5"},"http://tools.ietf.org/html/rfc2965#page-5"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"This response."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L117"},"packages/core/src/router/Response.ts:117")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setheader"},"setHeader"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setHeader"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"Sets a header, which will be sent to the client with the response."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The header name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The header value, will be")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,r.yg)("inlineCode",{parentName:"a"},"Response"))),(0,r.yg)("p",null,"This response."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Response.ts#L153"},"packages/core/src/router/Response.ts:153")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6527a706.16a35576.js b/assets/js/6527a706.16a35576.js deleted file mode 100644 index 4ae9f39e2..000000000 --- a/assets/js/6527a706.16a35576.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2667],{5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>g});var r=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=c(n),f=o,g=u["".concat(l,".").concat(f)]||u[f]||d[f]||a;return n?r.createElement(g,i(i({ref:t},p),{},{components:n})):r.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:o,i[1]=s;for(var c=2;c<a;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},2220:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=n(8102),o=(n(6540),n(5680));const a={title:"Data fetching",description:"Basic features > Data fetching with HttpAgent"},i=void 0,s={unversionedId:"basic-features/data-fetching",id:"basic-features/data-fetching",title:"Data fetching",description:"Basic features > Data fetching with HttpAgent",source:"@site/../docs/basic-features/data-fetching.md",sourceDirName:"basic-features",slug:"/basic-features/data-fetching",permalink:"/basic-features/data-fetching",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/data-fetching.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Data fetching",description:"Basic features > Data fetching with HttpAgent"},sidebar:"docs",previous:{title:"Views & Components",permalink:"/basic-features/views-and-components"},next:{title:"Introduction",permalink:"/basic-features/routing/introduction"}},l={},c=[{value:"Cancellable requests",id:"cancellable-requests",level:2},{value:"options.abortController",id:"optionsabortcontroller",level:3},{value:"options.fetchOptions.signal",id:"optionsfetchoptionssignal",level:3}],p={toc:c},u="wrapper";function d(e){let{components:t,...n}=e;return(0,o.yg)(u,(0,r.A)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,(0,o.yg)("inlineCode",{parentName:"p"},"HttpAgent")," allows you to isomorphically fetch data in IMA.js applications. It is a simple wrapper around native ",(0,o.yg)("inlineCode",{parentName:"p"},"fetch")," with additional features like caching, proxy support and others."),(0,o.yg)("h2",{id:"cancellable-requests"},"Cancellable requests"),(0,o.yg)("p",null,"The HttpAgent has support for ",(0,o.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/AbortController"},"AbortController")," to cancel requests in native way. There are ",(0,o.yg)("strong",{parentName:"p"},"two ways")," you can provide custom instance of AbortController to the HttpAgent, where each has it's own benefits."),(0,o.yg)("h3",{id:"optionsabortcontroller"},"options.abortController"),(0,o.yg)("p",null,"Using this approach has the added benefit of ",(0,o.yg)("inlineCode",{parentName:"p"},"HttpAgent")," being able to additionally ",(0,o.yg)("strong",{parentName:"p"},"reuse")," this controller ",(0,o.yg)("strong",{parentName:"p"},"for cancelation of timeout requests"),"."),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"const controller = new AbortController();\n\nhttpAgent.get('<uri>', '<data>', {\n abortController: controller,\n});\n\n// Cancel the request\ncontroller.abort();\n")),(0,o.yg)("admonition",{type:"info"},(0,o.yg)("p",{parentName:"admonition"},"If you don't provide custom instance of ",(0,o.yg)("inlineCode",{parentName:"p"},"AbortController")," the agent uses it's own instance internally to cancel running timeout requests.")),(0,o.yg)("h3",{id:"optionsfetchoptionssignal"},"options.fetchOptions.signal"),(0,o.yg)("p",null,"This approach is more similar to native fetch definition. However since currently you can only provide one ",(0,o.yg)("inlineCode",{parentName:"p"},"signal")," to fetch request and we don't have access to the ",(0,o.yg)("inlineCode",{parentName:"p"},"controller")," instance (from within the HttpAgent), we are unable to abort time out requests in this case."),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"const controller = new AbortController();\n\nhttpAgent.get('<uri>', '<data>', {\n fetchOptions: {\n signal: controller.signal,\n }\n});\n\n// Cancel the request\ncontroller.abort();\n")),(0,o.yg)("admonition",{type:"note"},(0,o.yg)("p",{parentName:"admonition"},"The time out requests still throw the same timeout error, however they are not canceled (aborted). This is the only difference between the two forementioned methods.")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6527a706.dd770e74.js b/assets/js/6527a706.dd770e74.js new file mode 100644 index 000000000..af59dfc2c --- /dev/null +++ b/assets/js/6527a706.dd770e74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2667],{3622:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"basic-features/data-fetching","title":"Data fetching","description":"Basic features > Data fetching with HttpAgent","source":"@site/../docs/basic-features/data-fetching.md","sourceDirName":"basic-features","slug":"/basic-features/data-fetching","permalink":"/basic-features/data-fetching","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/data-fetching.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Data fetching","description":"Basic features > Data fetching with HttpAgent"},"sidebar":"docs","previous":{"title":"Views & Components","permalink":"/basic-features/views-and-components"},"next":{"title":"Introduction","permalink":"/basic-features/routing/introduction"}}');var s=n(2540),r=n(3023);const i={title:"Data fetching",description:"Basic features > Data fetching with HttpAgent"},a=void 0,c={},l=[{value:"Cancellable requests",id:"cancellable-requests",level:2},{value:"options.abortController",id:"optionsabortcontroller",level:3},{value:"options.fetchOptions.signal",id:"optionsfetchoptionssignal",level:3}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"HttpAgent"})," allows you to isomorphically fetch data in IMA.js applications. It is a simple wrapper around native ",(0,s.jsx)(t.code,{children:"fetch"})," with additional features like caching, proxy support and others."]}),"\n",(0,s.jsx)(t.h2,{id:"cancellable-requests",children:"Cancellable requests"}),"\n",(0,s.jsxs)(t.p,{children:["The HttpAgent has support for ",(0,s.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/AbortController",children:"AbortController"})," to cancel requests in native way. There are ",(0,s.jsx)(t.strong,{children:"two ways"})," you can provide custom instance of AbortController to the HttpAgent, where each has it's own benefits."]}),"\n",(0,s.jsx)(t.h3,{id:"optionsabortcontroller",children:"options.abortController"}),"\n",(0,s.jsxs)(t.p,{children:["Using this approach has the added benefit of ",(0,s.jsx)(t.code,{children:"HttpAgent"})," being able to additionally ",(0,s.jsx)(t.strong,{children:"reuse"})," this controller ",(0,s.jsx)(t.strong,{children:"for cancelation of timeout requests"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-javascript",children:"const controller = new AbortController();\n\nhttpAgent.get('<uri>', '<data>', {\n abortController: controller,\n});\n\n// Cancel the request\ncontroller.abort();\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsxs)(t.p,{children:["If you don't provide custom instance of ",(0,s.jsx)(t.code,{children:"AbortController"})," the agent uses it's own instance internally to cancel running timeout requests."]})}),"\n",(0,s.jsx)(t.h3,{id:"optionsfetchoptionssignal",children:"options.fetchOptions.signal"}),"\n",(0,s.jsxs)(t.p,{children:["This approach is more similar to native fetch definition. However since currently you can only provide one ",(0,s.jsx)(t.code,{children:"signal"})," to fetch request and we don't have access to the ",(0,s.jsx)(t.code,{children:"controller"})," instance (from within the HttpAgent), we are unable to abort time out requests in this case."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-javascript",children:"const controller = new AbortController();\n\nhttpAgent.get('<uri>', '<data>', {\n fetchOptions: {\n signal: controller.signal,\n }\n});\n\n// Cancel the request\ncontroller.abort();\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"The time out requests still throw the same timeout error, however they are not canceled (aborted). This is the only difference between the two forementioned methods."})})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var o=n(3696);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/658a263b.5e9ca6ef.js b/assets/js/658a263b.5e9ca6ef.js deleted file mode 100644 index 68fdc01e4..000000000 --- a/assets/js/658a263b.5e9ca6ef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1778],{5680:(e,t,a)=>{a.d(t,{xA:()=>c,yg:()=>g});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),u=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=u(e.components);return r.createElement(p.Provider,{value:t},e.children)},m="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),m=u(a),y=n,g=m["".concat(p,".").concat(y)]||m[y]||l[y]||o;return a?r.createElement(g,i(i({ref:t},c),{},{components:a})):r.createElement(g,i({ref:t},c))}));function g(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=y;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[m]="string"==typeof e?e:n,i[1]=s;for(var u=2;u<o;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}y.displayName="MDXCreateElement"},1730:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var r=a(8102),n=(a(6540),a(5680));const o={title:"Dynamic Routes",description:"Basic features > Routing > Dynamic Routes"},i=void 0,s={unversionedId:"basic-features/routing/dynamic-routes",id:"basic-features/routing/dynamic-routes",title:"Dynamic Routes",description:"Basic features > Routing > Dynamic Routes",source:"@site/../docs/basic-features/routing/dynamic-routes.md",sourceDirName:"basic-features/routing",slug:"/basic-features/routing/dynamic-routes",permalink:"/basic-features/routing/dynamic-routes",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/dynamic-routes.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Dynamic Routes",description:"Basic features > Routing > Dynamic Routes"},sidebar:"docs",previous:{title:"Introduction",permalink:"/basic-features/routing/introduction"},next:{title:"Middlewares",permalink:"/basic-features/routing/middlewares"}},p={},u=[{value:"Creating Dynamic Routes",id:"creating-dynamic-routes",level:2},{value:"matcher",id:"matcher",level:3},{value:"extractParameters",id:"extractparameters",level:3},{value:"toPath",id:"topath",level:3}],c={toc:u},m="wrapper";function l(e){let{components:t,...a}=e;return(0,n.yg)(m,(0,r.A)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,"Dynamic routes allows you to take control of ",(0,n.yg)("strong",{parentName:"p"},"route matching"),", ",(0,n.yg)("strong",{parentName:"p"},"route parameters parsing")," and ",(0,n.yg)("strong",{parentName:"p"},"generation of router links"),"."),(0,n.yg)("p",null,"They are really powerful and can help you cover those edge cases that cannot be done using ",(0,n.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#setting-up-router"},"basic string route expressions"),"."),(0,n.yg)("p",null,"This can be achieved by defining ",(0,n.yg)("strong",{parentName:"p"},"custom route matcher")," in form of a ",(0,n.yg)("strong",{parentName:"p"},"regular expression")," and custom functions to parse router params from path and, the other way, from route params to path."),(0,n.yg)("admonition",{type:"note"},(0,n.yg)("p",{parentName:"admonition"},"The power of dynamic routes comes at a cost. You have to be really sure to define your matchers and function overrides correctly, so you don't end up with false positive route matches. We advise to cover these matchers heavily with tests in order to prevent potential failures.")),(0,n.yg)("h2",{id:"creating-dynamic-routes"},"Creating Dynamic Routes"),(0,n.yg)("p",null,"Dynamic routes can be created just like the regular (static routes). The only thing that's different is the ",(0,n.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#pathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"pathExpression"))," positional argument, which is now object with three properties: ",(0,n.yg)("inlineCode",{parentName:"p"},"matcher"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"toPath")," and ",(0,n.yg)("inlineCode",{parentName:"p"},"extractParameters"),"."),(0,n.yg)("p",null,"The following example parses ",(0,n.yg)("inlineCode",{parentName:"p"},"/category/subcategory/post/124")," url formats with optional categories, and extract them along with the post ",(0,n.yg)("inlineCode",{parentName:"p"},"itemId"),":"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"import { AbstractRoute } from '@ima/core';\n\nimport PostController from 'app/page/post/PostController';\nimport PostView from 'app/page/post/PostView';\n\nconst POST_MATCHER = /([\\w-]+)?\\/?([\\w-]+)?\\/post\\/(\\d+)/i;\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router.add(\n 'post',\n {\n matcher: POST_MATCHER,\n extractParameters: (trimmedPath, ({ query, path })) => {\n const [match, category, subcategory, itemId] =\n POST_MATCHER.exec((trimmedPath)));\n\n return {\n category,\n subcategory,\n itemId,\n };\n },\n toPath: params => {\n const { category, subcategory, itemId, ...restParams } = params;\n const query = new URLSearchParams(restParams).toString();\n\n return [category, subcategory, itemId].filter(i => !!i).join('/') +\n (query ? `?${query}` : '');\n }\n },\n PostController,\n PostView\n );\n}\n")),(0,n.yg)("admonition",{type:"info"},(0,n.yg)("p",{parentName:"admonition"},"Notice that in the ",(0,n.yg)("inlineCode",{parentName:"p"},"toPath")," function, we're appending other unused params to the final path as query params. This is to mimic the same functionality as the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"StaticRoutes"))," provide by default."),(0,n.yg)("p",{parentName:"admonition"},"To make this process easier you can use the ",(0,n.yg)("inlineCode",{parentName:"p"},"AbstractRoute.paramsToQuery()")," helper method, which filters and transforms object key-value pairs to query params string.")),(0,n.yg)("h3",{id:"matcher"},"matcher"),(0,n.yg)("blockquote",null,(0,n.yg)("p",{parentName:"blockquote"},(0,n.yg)("inlineCode",{parentName:"p"},"RegExp"))),(0,n.yg)("p",null,"Regular expression used in route matching. The router tries to match ",(0,n.yg)("strong",{parentName:"p"},"path"),", ",(0,n.yg)("strong",{parentName:"p"},"stripped from trailing slashes"),", against this regular expression."),(0,n.yg)("h3",{id:"extractparameters"},"extractParameters"),(0,n.yg)("blockquote",null,(0,n.yg)("p",{parentName:"blockquote"},(0,n.yg)("inlineCode",{parentName:"p"},"(trimmedPath: string, { query: RouteParams; path: string }) => RouteParams"))),(0,n.yg)("p",null,"Function used to extract route params from given path. It receives path trimmed from trailing slashes and query params as first argument."),(0,n.yg)("p",null,"For more control, you can use additional data in form of ",(0,n.yg)("inlineCode",{parentName:"p"},"query")," and ",(0,n.yg)("inlineCode",{parentName:"p"},"path")," which contain query params extracted from trimmed path and full path without any modifications."),(0,n.yg)("admonition",{type:"note"},(0,n.yg)("p",{parentName:"admonition"},"When using ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.StaticRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"StaticRoutes")),", query parameters are automatically merged with extracted route params. If you want to mimic this behavior, don't forget to merge ",(0,n.yg)("inlineCode",{parentName:"p"},"query")," params into your final route params object.")),(0,n.yg)("h3",{id:"topath"},"toPath"),(0,n.yg)("blockquote",null,(0,n.yg)("p",{parentName:"blockquote"},(0,n.yg)("inlineCode",{parentName:"p"},"(params: RouteParams) => string"))),(0,n.yg)("p",null,"Function used to create path from given params (including query params). It is used mainly in the ",(0,n.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#linking-between-routes"},"router link creation"),"."),(0,n.yg)("admonition",{type:"note"},(0,n.yg)("p",{parentName:"admonition"},"It is a good practice to ",(0,n.yg)("strong",{parentName:"p"},"append any unused params as query params")," to the path (you can use the static ",(0,n.yg)("inlineCode",{parentName:"p"},"AbstractRoute.paramsToQuery()")," static helper to do that).")))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/658a263b.cc9eb84f.js b/assets/js/658a263b.cc9eb84f.js new file mode 100644 index 000000000..df86fd10b --- /dev/null +++ b/assets/js/658a263b.cc9eb84f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1778],{2734:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"basic-features/routing/dynamic-routes","title":"Dynamic Routes","description":"Basic features > Routing > Dynamic Routes","source":"@site/../docs/basic-features/routing/dynamic-routes.md","sourceDirName":"basic-features/routing","slug":"/basic-features/routing/dynamic-routes","permalink":"/basic-features/routing/dynamic-routes","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/dynamic-routes.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Dynamic Routes","description":"Basic features > Routing > Dynamic Routes"},"sidebar":"docs","previous":{"title":"Introduction","permalink":"/basic-features/routing/introduction"},"next":{"title":"Middlewares","permalink":"/basic-features/routing/middlewares"}}');var s=r(2540),a=r(3023);const o={title:"Dynamic Routes",description:"Basic features > Routing > Dynamic Routes"},i=void 0,c={},d=[{value:"Creating Dynamic Routes",id:"creating-dynamic-routes",level:2},{value:"matcher",id:"matcher",level:3},{value:"extractParameters",id:"extractparameters",level:3},{value:"toPath",id:"topath",level:3}];function u(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["Dynamic routes allows you to take control of ",(0,s.jsx)(t.strong,{children:"route matching"}),", ",(0,s.jsx)(t.strong,{children:"route parameters parsing"})," and ",(0,s.jsx)(t.strong,{children:"generation of router links"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["They are really powerful and can help you cover those edge cases that cannot be done using ",(0,s.jsx)(t.a,{href:"/basic-features/routing/introduction#setting-up-router",children:"basic string route expressions"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["This can be achieved by defining ",(0,s.jsx)(t.strong,{children:"custom route matcher"})," in form of a ",(0,s.jsx)(t.strong,{children:"regular expression"})," and custom functions to parse router params from path and, the other way, from route params to path."]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"The power of dynamic routes comes at a cost. You have to be really sure to define your matchers and function overrides correctly, so you don't end up with false positive route matches. We advise to cover these matchers heavily with tests in order to prevent potential failures."})}),"\n",(0,s.jsx)(t.h2,{id:"creating-dynamic-routes",children:"Creating Dynamic Routes"}),"\n",(0,s.jsxs)(t.p,{children:["Dynamic routes can be created just like the regular (static routes). The only thing that's different is the ",(0,s.jsx)(t.a,{href:"/basic-features/routing/introduction#pathexpression",children:(0,s.jsx)(t.code,{children:"pathExpression"})})," positional argument, which is now object with three properties: ",(0,s.jsx)(t.code,{children:"matcher"}),", ",(0,s.jsx)(t.code,{children:"toPath"})," and ",(0,s.jsx)(t.code,{children:"extractParameters"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["The following example parses ",(0,s.jsx)(t.code,{children:"/category/subcategory/post/124"})," url formats with optional categories, and extract them along with the post ",(0,s.jsx)(t.code,{children:"itemId"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",metastring:"title=./app/config/routes.js",children:"import { AbstractRoute } from '@ima/core';\n\nimport PostController from 'app/page/post/PostController';\nimport PostView from 'app/page/post/PostView';\n\nconst POST_MATCHER = /([\\w-]+)?\\/?([\\w-]+)?\\/post\\/(\\d+)/i;\n\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router.add(\n 'post',\n {\n matcher: POST_MATCHER,\n extractParameters: (trimmedPath, ({ query, path })) => {\n const [match, category, subcategory, itemId] =\n POST_MATCHER.exec((trimmedPath)));\n\n return {\n category,\n subcategory,\n itemId,\n };\n },\n toPath: params => {\n const { category, subcategory, itemId, ...restParams } = params;\n const query = new URLSearchParams(restParams).toString();\n\n return [category, subcategory, itemId].filter(i => !!i).join('/') +\n (query ? `?${query}` : '');\n }\n },\n PostController,\n PostView\n );\n}\n"})}),"\n",(0,s.jsxs)(t.admonition,{type:"info",children:[(0,s.jsxs)(t.p,{children:["Notice that in the ",(0,s.jsx)(t.code,{children:"toPath"})," function, we're appending other unused params to the final path as query params. This is to mimic the same functionality as the ",(0,s.jsx)(t.a,{href:"../../api/classes/ima_core.StaticRoute.md",children:(0,s.jsx)(t.code,{children:"StaticRoutes"})})," provide by default."]}),(0,s.jsxs)(t.p,{children:["To make this process easier you can use the ",(0,s.jsx)(t.code,{children:"AbstractRoute.paramsToQuery()"})," helper method, which filters and transforms object key-value pairs to query params string."]})]}),"\n",(0,s.jsx)(t.h3,{id:"matcher",children:"matcher"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"RegExp"})}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Regular expression used in route matching. The router tries to match ",(0,s.jsx)(t.strong,{children:"path"}),", ",(0,s.jsx)(t.strong,{children:"stripped from trailing slashes"}),", against this regular expression."]}),"\n",(0,s.jsx)(t.h3,{id:"extractparameters",children:"extractParameters"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"(trimmedPath: string, { query: RouteParams; path: string }) => RouteParams"})}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Function used to extract route params from given path. It receives path trimmed from trailing slashes and query params as first argument."}),"\n",(0,s.jsxs)(t.p,{children:["For more control, you can use additional data in form of ",(0,s.jsx)(t.code,{children:"query"})," and ",(0,s.jsx)(t.code,{children:"path"})," which contain query params extracted from trimmed path and full path without any modifications."]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsxs)(t.p,{children:["When using ",(0,s.jsx)(t.a,{href:"../../api/classes/ima_core.StaticRoute.md",children:(0,s.jsx)(t.code,{children:"StaticRoutes"})}),", query parameters are automatically merged with extracted route params. If you want to mimic this behavior, don't forget to merge ",(0,s.jsx)(t.code,{children:"query"})," params into your final route params object."]})}),"\n",(0,s.jsx)(t.h3,{id:"topath",children:"toPath"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"(params: RouteParams) => string"})}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Function used to create path from given params (including query params). It is used mainly in the ",(0,s.jsx)(t.a,{href:"/basic-features/routing/introduction#linking-between-routes",children:"router link creation"}),"."]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsxs)(t.p,{children:["It is a good practice to ",(0,s.jsx)(t.strong,{children:"append any unused params as query params"})," to the path (you can use the static ",(0,s.jsx)(t.code,{children:"AbstractRoute.paramsToQuery()"})," static helper to do that)."]})})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},3023:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>i});var n=r(3696);const s={},a=n.createContext(s);function o(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/66307371.0f4f6a64.js b/assets/js/66307371.0f4f6a64.js new file mode 100644 index 000000000..e20c7748c --- /dev/null +++ b/assets/js/66307371.0f4f6a64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2172],{981:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"api/@ima/plugin-cli/variables/nodeConfig","title":"Variable: nodeConfig","description":"const nodeConfig: ImaPluginConfig","source":"@site/../docs/api/@ima/plugin-cli/variables/nodeConfig.md","sourceDirName":"api/@ima/plugin-cli/variables","slug":"/api/@ima/plugin-cli/variables/nodeConfig","permalink":"/api/@ima/plugin-cli/variables/nodeConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/variables/nodeConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: defaultConfig","permalink":"/api/@ima/plugin-cli/variables/defaultConfig"},"next":{"title":"@ima/react-page-renderer","permalink":"/api/@ima/react-page-renderer/"}}');var o=i(2540),t=i(3023);const r={},s="Variable: nodeConfig",c={},l=[];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"variable-nodeconfig",children:"Variable: nodeConfig"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"const"})," ",(0,o.jsx)(n.strong,{children:"nodeConfig"}),": ",(0,o.jsx)(n.a,{href:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",children:(0,o.jsx)(n.code,{children:"ImaPluginConfig"})})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Defined in: ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/utils/configurations.ts#L70",children:"utils/configurations.ts:70"})]})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>s});var a=i(3696);const o={},t=a.createContext(o);function r(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),a.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6669b354.6077bf98.js b/assets/js/6669b354.6077bf98.js deleted file mode 100644 index 063963cfe..000000000 --- a/assets/js/6669b354.6077bf98.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8882],{5680:(e,n,t)=>{t.d(n,{xA:()=>d,yg:()=>m});var i=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)t=a[i],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)t=a[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=i.createContext({}),c=function(e){var n=i.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},d=function(e){var n=c(e.components);return i.createElement(l.Provider,{value:n},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},g=i.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(t),g=r,m=p["".concat(l,".").concat(g)]||p[g]||u[g]||a;return t?i.createElement(m,o(o({ref:n},d),{},{components:t})):i.createElement(m,o({ref:n},d))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,o=new Array(a);o[0]=g;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[p]="string"==typeof e?e:r,o[1]=s;for(var c=2;c<a;c++)o[c]=t[c];return i.createElement.apply(null,o)}return i.createElement.apply(null,t)}g.displayName="MDXCreateElement"},9065:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var i=t(8102),r=(t(6540),t(5680));const a={id:"ima_core.BindingState",title:"Enumeration: BindingState",sidebar_label:"@ima/core.BindingState",custom_edit_url:null},o=void 0,s={unversionedId:"api/enums/ima_core.BindingState",id:"api/enums/ima_core.BindingState",title:"Enumeration: BindingState",description:"@ima/core.BindingState",source:"@site/../docs/api/enums/ima_core.BindingState.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.BindingState",permalink:"/api/enums/ima_core.BindingState",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.BindingState",title:"Enumeration: BindingState",sidebar_label:"@ima/core.BindingState",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ActionTypes",permalink:"/api/enums/ima_core.ActionTypes"},next:{title:"@ima/core.HttpStatusCode",permalink:"/api/enums/ima_core.HttpStatusCode"}},l={},c=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"App",id:"app",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"IMA",id:"ima",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Plugin",id:"plugin",level:3},{value:"Defined in",id:"defined-in-2",level:4}],d={toc:c},p="wrapper";function u(e){let{components:n,...t}=e;return(0,r.yg)(p,(0,i.A)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".BindingState"),(0,r.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,r.yg)("h3",{id:"app"},"App"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"App")," = ",(0,r.yg)("inlineCode",{parentName:"p"},'"app"')),(0,r.yg)("p",null,"Constant for app binding state."),(0,r.yg)("p",null,"When the object container is in app binding state, it is possible\nto register new aliases using the bind() method and register\nnew constant using the constant() method, or override the\ndefault class dependencies of any already-configured class using the\ninject() method (classes that were not configured yet may be\nconfigured using the inject() method or provide()\nmethod)."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/BindingState.ts#L49"},"packages/core/src/oc/BindingState.ts:49")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"ima"},"IMA"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"IMA")," = ",(0,r.yg)("inlineCode",{parentName:"p"},'"ima.core"')),(0,r.yg)("p",null,"Constant for IMA binding state."),(0,r.yg)("p",null,"When the object container is in ima binding state, it is possible\nto register new aliases using the bind() method and register\nnew constant using the constant() method, or override the\ndefault class dependencies of any already-configured class using the\ninject() method (classes that were not configured yet may be\nconfigured using the inject() method or provide()\nmethod)."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/BindingState.ts#L36"},"packages/core/src/oc/BindingState.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"plugin"},"Plugin"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"Plugin")," = ",(0,r.yg)("inlineCode",{parentName:"p"},'"plugin"')),(0,r.yg)("p",null,"Constant for plugin binding state."),(0,r.yg)("p",null,"When the object container is in plugin binding state, it is impossible\nto register new aliases using the bind() method and register\nnew constant using the constant() method, or override the\ndefault class dependencies of any already-configured class using the\ninject() method (classes that were not configured yet may be\nconfigured using the inject() method or provide()\nmethod)."),(0,r.yg)("p",null,"This prevents the unprivileged code (e.g. 3rd party plugins) from\noverriding the default dependency configuration provided by ima, or\noverriding the configuration of a 3rd party plugin by another 3rd party\nplugin."),(0,r.yg)("p",null,"The application itself has always access to the unlocked object\ncontainer."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/oc/BindingState.ts#L21"},"packages/core/src/oc/BindingState.ts:21")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/67160f26.18fd89e1.js b/assets/js/67160f26.18fd89e1.js new file mode 100644 index 000000000..051dd1231 --- /dev/null +++ b/assets/js/67160f26.18fd89e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2789],{2736:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>t});const n=JSON.parse('{"id":"api/@ima/core/classes/CancelError","title":"Class: CancelError","description":"Defined in7","source":"@site/../docs/api/@ima/core/classes/CancelError.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/CancelError","permalink":"/api/@ima/core/classes/CancelError","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/CancelError.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: CacheImpl\\\\<V\\\\>","permalink":"/api/@ima/core/classes/CacheImpl"},"next":{"title":"Class: ClientPageManager","permalink":"/api/@ima/core/classes/ClientPageManager"}}');var c=s(2540),i=s(3023);const d={},a="Class: CancelError",l={},t=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new CancelError()",id:"new-cancelerror",level:3},{value:"Parameters",id:"parameters",level:4},{value:"message",id:"message",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_params",id:"_params",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"status",id:"status",level:5},{value:"Inherited from",id:"inherited-from",level:4},{value:"cause?",id:"cause",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"message",id:"message-1",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"stack?",id:"stack",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"prepareStackTrace()?",id:"preparestacktrace",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"err",id:"err",level:5},{value:"stackTraces",id:"stacktraces",level:5},{value:"Returns",id:"returns-1",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"stackTraceLimit",id:"stacktracelimit",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Methods",id:"methods",level:2},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-2",level:4},{value:"See",id:"see-1",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"getParams()",id:"getparams",level:3},{value:"Returns",id:"returns-3",level:4},{value:"See",id:"see-2",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"captureStackTrace()",id:"capturestacktrace",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"targetObject",id:"targetobject",level:5},{value:"constructorOpt?",id:"constructoropt",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-11",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(r.header,{children:(0,c.jsx)(r.h1,{id:"class-cancelerror",children:"Class: CancelError"})}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/CancelError.ts#L7",children:"packages/core/src/error/CancelError.ts:7"})]}),"\n",(0,c.jsx)(r.p,{children:"Extension of GenericError which is used in route handling ot cancel\ncurrently managed route before proceeding with execution with new one."}),"\n",(0,c.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,c.jsxs)(r.ul,{children:["\n",(0,c.jsxs)(r.li,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),"<{ ",(0,c.jsx)(r.code,{children:"status"}),": ",(0,c.jsx)(r.code,{children:"409"}),"; }>"]}),"\n"]}),"\n",(0,c.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,c.jsx)(r.h3,{id:"new-cancelerror",children:"new CancelError()"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"new CancelError"}),"(",(0,c.jsx)(r.code,{children:"message"}),"): ",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/CancelError",children:(0,c.jsx)(r.code,{children:"CancelError"})})]}),"\n"]}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/CancelError.ts#L8",children:"packages/core/src/error/CancelError.ts:8"})]}),"\n",(0,c.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(r.h5,{id:"message",children:"message"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"string"})," = ",(0,c.jsx)(r.code,{children:"'Canceled'"})]}),"\n",(0,c.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/CancelError",children:(0,c.jsx)(r.code,{children:"CancelError"})})}),"\n",(0,c.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#constructors",children:(0,c.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,c.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(r.h3,{id:"_params",children:"_params"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"protected"})," ",(0,c.jsx)(r.strong,{children:"_params"}),": ",(0,c.jsx)(r.code,{children:"object"})," & ",(0,c.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,c.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n"]}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L16",children:"packages/core/src/error/GenericError.ts:16"})]}),"\n",(0,c.jsx)(r.h4,{id:"type-declaration",children:"Type declaration"}),"\n",(0,c.jsx)(r.h5,{id:"status",children:"status"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"status"}),": ",(0,c.jsx)(r.code,{children:"409"})]}),"\n"]}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#_params",children:(0,c.jsx)(r.code,{children:"_params"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"cause",children:"cause?"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"optional"})," ",(0,c.jsx)(r.strong,{children:"cause"}),": ",(0,c.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26"}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#cause",children:(0,c.jsx)(r.code,{children:"cause"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"message-1",children:"message"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"message"}),": ",(0,c.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077"}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#message-1",children:(0,c.jsx)(r.code,{children:"message"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"name",children:"name"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"name"}),": ",(0,c.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076"}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#name",children:(0,c.jsx)(r.code,{children:"name"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"stack",children:"stack?"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"optional"})," ",(0,c.jsx)(r.strong,{children:"stack"}),": ",(0,c.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078"}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#stack",children:(0,c.jsx)(r.code,{children:"stack"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"preparestacktrace",children:"prepareStackTrace()?"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"static"})," ",(0,c.jsx)(r.code,{children:"optional"})," ",(0,c.jsx)(r.strong,{children:"prepareStackTrace"}),": (",(0,c.jsx)(r.code,{children:"err"}),", ",(0,c.jsx)(r.code,{children:"stackTraces"}),") => ",(0,c.jsx)(r.code,{children:"any"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:98"}),"\n",(0,c.jsx)(r.p,{children:"Optional override for formatting stack traces"}),"\n",(0,c.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,c.jsx)(r.h5,{id:"err",children:"err"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"Error"})}),"\n",(0,c.jsx)(r.h5,{id:"stacktraces",children:"stackTraces"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"CallSite"}),"[]"]}),"\n",(0,c.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"any"})}),"\n",(0,c.jsx)(r.h4,{id:"see",children:"See"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.a,{href:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces",children:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces"})}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#preparestacktrace",children:(0,c.jsx)(r.code,{children:"prepareStackTrace"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"stacktracelimit",children:"stackTraceLimit"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"static"})," ",(0,c.jsx)(r.strong,{children:"stackTraceLimit"}),": ",(0,c.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:100"}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#stacktracelimit",children:(0,c.jsx)(r.code,{children:"stackTraceLimit"})})]}),"\n",(0,c.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,c.jsx)(r.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"getHttpStatus"}),"(): ",(0,c.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L39",children:"packages/core/src/error/GenericError.ts:39"})]}),"\n",(0,c.jsx)(r.p,{children:"Returns the HTTP status to send to the client."}),"\n",(0,c.jsx)(r.p,{children:"If the error has occurred at the client-side, the status code is used to\ndetermine the error page to show to the user."}),"\n",(0,c.jsxs)(r.p,{children:["This method is a shorthand for the following code snippet:\n",(0,c.jsx)(r.code,{children:"this.getParams().status || 500"}),"."]}),"\n",(0,c.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"number"})}),"\n",(0,c.jsx)(r.p,{children:"The HTTP status to send to the client."}),"\n",(0,c.jsx)(r.h4,{id:"see-1",children:"See"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"})}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#gethttpstatus",children:(0,c.jsx)(r.code,{children:"getHttpStatus"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"getparams",children:"getParams()"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"getParams"}),"(): ",(0,c.jsx)(r.code,{children:"object"})," & ",(0,c.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,c.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n"]}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L46",children:"packages/core/src/error/GenericError.ts:46"})]}),"\n",(0,c.jsxs)(r.p,{children:["Returns the error parameters providing additional details about the\nerror. The structure of the returned object is always\nsituation-dependent, but the returned object usually contains the\n",(0,c.jsx)(r.code,{children:"status: number"})," field which represents the HTTP status to send to\nthe client."]}),"\n",(0,c.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"object"})," & ",(0,c.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,c.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n",(0,c.jsx)(r.p,{children:"The route parameters of the route at which\nthe error has occurred."}),"\n",(0,c.jsx)(r.h4,{id:"see-2",children:"See"}),"\n",(0,c.jsx)(r.p,{children:"Error#getHttpStatus"}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#getparams",children:(0,c.jsx)(r.code,{children:"getParams"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"isClientError"}),"(): ",(0,c.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L53",children:"packages/core/src/error/GenericError.ts:53"})]}),"\n",(0,c.jsx)(r.p,{children:"Tests, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding)."}),"\n",(0,c.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"boolean"})}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#isclienterror",children:(0,c.jsx)(r.code,{children:"isClientError"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.strong,{children:"isRedirection"}),"(): ",(0,c.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(r.p,{children:["Defined in: ",(0,c.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L60",children:"packages/core/src/error/GenericError.ts:60"})]}),"\n",(0,c.jsx)(r.p,{children:"Tests, whether the specified error should lead to a redirect."}),"\n",(0,c.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"boolean"})}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"true"})," if the error should cause a redirect."]}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#isredirection",children:(0,c.jsx)(r.code,{children:"isRedirection"})})]}),"\n",(0,c.jsx)(r.hr,{}),"\n",(0,c.jsx)(r.h3,{id:"capturestacktrace",children:"captureStackTrace()"}),"\n",(0,c.jsxs)(r.blockquote,{children:["\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.code,{children:"static"})," ",(0,c.jsx)(r.strong,{children:"captureStackTrace"}),"(",(0,c.jsx)(r.code,{children:"targetObject"}),", ",(0,c.jsx)(r.code,{children:"constructorOpt"}),"?): ",(0,c.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:91"}),"\n",(0,c.jsx)(r.p,{children:"Create .stack property on a target object"}),"\n",(0,c.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,c.jsx)(r.h5,{id:"targetobject",children:"targetObject"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"object"})}),"\n",(0,c.jsx)(r.h5,{id:"constructoropt",children:"constructorOpt?"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"Function"})}),"\n",(0,c.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,c.jsx)(r.p,{children:(0,c.jsx)(r.code,{children:"void"})}),"\n",(0,c.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,c.jsxs)(r.p,{children:[(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,c.jsx)(r.code,{children:"GenericError"})}),".",(0,c.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError#capturestacktrace",children:(0,c.jsx)(r.code,{children:"captureStackTrace"})})]})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,c.jsx)(r,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>a});var n=s(3696);const c={},i=n.createContext(c);function d(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:d(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/67be0ef1.5810ea6b.js b/assets/js/67be0ef1.5810ea6b.js deleted file mode 100644 index dca0920d1..000000000 --- a/assets/js/67be0ef1.5810ea6b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8427],{5680:(e,r,a)=>{a.d(r,{xA:()=>d,yg:()=>y});var t=a(6540);function n(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function i(e,r){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),a.push.apply(a,t)}return a}function l(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{};r%2?i(Object(a),!0).forEach((function(r){n(e,r,a[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))}))}return e}function p(e,r){if(null==e)return{};var a,t,n=function(e,r){if(null==e)return{};var a,t,n={},i=Object.keys(e);for(t=0;t<i.length;t++)a=i[t],r.indexOf(a)>=0||(n[a]=e[a]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)a=i[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=t.createContext({}),s=function(e){var r=t.useContext(o),a=r;return e&&(a="function"==typeof e?e(r):l(l({},r),e)),a},d=function(e){var r=s(e.components);return t.createElement(o.Provider,{value:r},e.children)},g="mdxType",c={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},m=t.forwardRef((function(e,r){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),g=s(a),m=n,y=g["".concat(o,".").concat(m)]||g[m]||c[m]||i;return a?t.createElement(y,l(l({ref:r},d),{},{components:a})):t.createElement(y,l({ref:r},d))}));function y(e,r){var a=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=m;var p={};for(var o in r)hasOwnProperty.call(r,o)&&(p[o]=r[o]);p.originalType=e,p[g]="string"==typeof e?e:n,l[1]=p;for(var s=2;s<i;s++)l[s]=a[s];return t.createElement.apply(null,l)}return t.createElement.apply(null,a)}m.displayName="MDXCreateElement"},8032:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var t=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.GenericError",title:"Class: GenericError<T>",sidebar_label:"@ima/core.GenericError",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.GenericError",id:"api/classes/ima_core.GenericError",title:"Class: GenericError<T>",description:"@ima/core.GenericError",source:"@site/../docs/api/classes/ima_core.GenericError.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.GenericError",permalink:"/api/classes/ima_core.GenericError",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.GenericError",title:"Class: GenericError<T>",sidebar_label:"@ima/core.GenericError",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Extension",permalink:"/api/classes/ima_core.Extension"},next:{title:"@ima/core.HttpAgent",permalink:"/api/classes/ima_core.HttpAgent"}},o={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_params",id:"_params",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"cause",id:"cause",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"message",id:"message",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"stack",id:"stack",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"prepareStackTrace",id:"preparestacktrace",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"stackTraceLimit",id:"stacktracelimit",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getParams",id:"getparams",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"captureStackTrace",id:"capturestacktrace",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-12",level:4}],d={toc:s},g="wrapper";function c(e){let{components:r,...a}=e;return(0,n.yg)(g,(0,t.A)({},d,a,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".GenericError"),(0,n.yg)("p",null,"Implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error")," interface, providing more advanced\nerror API."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"T")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"GenericError"))),(0,n.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CancelError"},(0,n.yg)("inlineCode",{parentName:"a"},"CancelError"))),(0,n.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CancelError"},(0,n.yg)("inlineCode",{parentName:"a"},"CancelError"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new GenericError"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params?"),")"),(0,n.yg)("p",null,"Initializes the generic IMA error."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"T")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"message")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The message describing the cause of the error.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"T")," & ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#genericerrorparams"},(0,n.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"A data map providing additional details related to the error. It is recommended to set the ",(0,n.yg)("inlineCode",{parentName:"td"},"status")," field to the HTTP response code that should be sent to the client.")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L27"},"packages/core/src/error/GenericError.ts:27")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_params"},"_","params"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","params"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"T")," & ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#genericerrorparams"},(0,n.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L16"},"packages/core/src/error/GenericError.ts:16")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"cause"},"cause"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"cause"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"unknown")),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#cause"},"cause")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,"website/node_modules/typescript/lib/lib.es2022.error.d.ts:24"),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"message"},"message"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"message"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#message"},"message")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1068"),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"name"},"name"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"name"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#name"},"name")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1067"),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"stack"},"stack"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"stack"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#stack"},"stack")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1069"),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"preparestacktrace"},"prepareStackTrace"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"prepareStackTrace"),": (",(0,n.yg)("inlineCode",{parentName:"p"},"err"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Error"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"stackTraces"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"CallSite"),"[]) => ",(0,n.yg)("inlineCode",{parentName:"p"},"any")),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("p",null,"\u25b8 (",(0,n.yg)("inlineCode",{parentName:"p"},"err"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"stackTraces"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"any")),(0,n.yg)("p",null,"Optional override for formatting stack traces"),(0,n.yg)("h5",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"err")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"stackTraces")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"CallSite"),"[]")))),(0,n.yg)("h5",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"any")),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"See"))),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces"},"https://v8.dev/docs/stack-trace-api#customizing-stack-traces")),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#preparestacktrace"},"prepareStackTrace")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,"node_modules/@types/node/globals.d.ts:98"),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"stacktracelimit"},"stackTraceLimit"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("strong",{parentName:"p"},"stackTraceLimit"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#stacktracelimit"},"stackTraceLimit")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,"node_modules/@types/node/globals.d.ts:100"),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the HTTP status to send to the client."),(0,n.yg)("p",null,"If the error has occurred at the client-side, the status code is used to\ndetermine the error page to show to the user."),(0,n.yg)("p",null,"This method is a shorthand for the following code snippet:\n",(0,n.yg)("inlineCode",{parentName:"p"},"this.getParams().status || 500"),"."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The HTTP status to send to the client."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"See"))),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html")),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#gethttpstatus"},"getHttpStatus")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L39"},"packages/core/src/error/GenericError.ts:39")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getparams"},"getParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getParams"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"T")," & ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#genericerrorparams"},(0,n.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,n.yg)("p",null,"Returns the error parameters providing additional details about the\nerror. The structure of the returned object is always\nsituation-dependent, but the returned object usually contains the\n",(0,n.yg)("inlineCode",{parentName:"p"},"status: number")," field which represents the HTTP status to send to\nthe client."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"T")," & ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#genericerrorparams"},(0,n.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,n.yg)("p",null,"The route parameters of the route at which\nthe error has occurred."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"See"))),(0,n.yg)("p",null,"Error#getHttpStatus"),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#getparams"},"getParams")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L46"},"packages/core/src/error/GenericError.ts:46")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isclienterror"},"isClientError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isClientError"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding)."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#isclienterror"},"isClientError")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L53"},"packages/core/src/error/GenericError.ts:53")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isredirection"},"isRedirection"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isRedirection"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, whether the specified error should lead to a redirect."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error should cause a redirect."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#isredirection"},"isRedirection")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L60"},"packages/core/src/error/GenericError.ts:60")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"capturestacktrace"},"captureStackTrace"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("strong",{parentName:"p"},"captureStackTrace"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"targetObject"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"constructorOpt?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Create .stack property on a target object"),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"targetObject")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"object"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"constructorOpt?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Function"))))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error"},"Error"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Error#capturestacktrace"},"captureStackTrace")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,"node_modules/@types/node/globals.d.ts:91"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/67f04688.c821d63f.js b/assets/js/67f04688.c821d63f.js deleted file mode 100644 index 7ed2aff33..000000000 --- a/assets/js/67f04688.c821d63f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6206],{5680:(e,t,n)=>{n.d(t,{xA:()=>u,yg:()=>g});var r=n(6540);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),c=p(n),d=i,g=c["".concat(s,".").concat(d)]||c[d]||m[d]||a;return n?r.createElement(g,l(l({ref:t},u),{},{components:n})):r.createElement(g,l({ref:t},u))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,l=new Array(a);l[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:i,l[1]=o;for(var p=2;p<a;p++)l[p]=n[p];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},9691:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var r=n(8102),i=(n(6540),n(5680));const a={id:"ima_dev_utils.FragmentLine",title:"Interface: FragmentLine",sidebar_label:"@ima/dev-utils.FragmentLine",custom_edit_url:null},l=void 0,o={unversionedId:"api/interfaces/ima_dev_utils.FragmentLine",id:"api/interfaces/ima_dev_utils.FragmentLine",title:"Interface: FragmentLine",description:"@ima/dev-utils.FragmentLine",source:"@site/../docs/api/interfaces/ima_dev_utils.FragmentLine.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_dev_utils.FragmentLine",permalink:"/api/interfaces/ima_dev_utils.FragmentLine",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_dev_utils.FragmentLine",title:"Interface: FragmentLine",sidebar_label:"@ima/dev-utils.FragmentLine",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/dev-utils.CompileError",permalink:"/api/interfaces/ima_dev_utils.CompileError"},next:{title:"@ima/dev-utils.LoggerOptions",permalink:"/api/interfaces/ima_dev_utils.LoggerOptions"}},s={},p=[{value:"Properties",id:"properties",level:2},{value:"highlight",id:"highlight",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"line",id:"line",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"source",id:"source",level:3},{value:"Defined in",id:"defined-in-2",level:4}],u={toc:p},c="wrapper";function m(e){let{components:t,...n}=e;return(0,i.yg)(c,(0,r.A)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_dev_utils"},"@ima/dev-utils"),".FragmentLine"),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"highlight"},"highlight"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"highlight"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"boolean")),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/sourceFragment.ts#L4"},"sourceFragment.ts:4")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"line"},"line"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"line"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/sourceFragment.ts#L2"},"sourceFragment.ts:2")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"source"},"source"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"source"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/sourceFragment.ts#L3"},"sourceFragment.ts:3")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6857e688.bf8f3a33.js b/assets/js/6857e688.bf8f3a33.js new file mode 100644 index 000000000..8c83f0c40 --- /dev/null +++ b/assets/js/6857e688.bf8f3a33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7048],{6703:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>c,contentTitle:()=>t,default:()=>p,frontMatter:()=>s,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/variables/pluginLoader","title":"Variable: pluginLoader","description":"const pluginLoader: PluginLoader","source":"@site/../docs/api/@ima/core/variables/pluginLoader.md","sourceDirName":"api/@ima/core/variables","slug":"/api/@ima/core/variables/pluginLoader","permalink":"/api/@ima/core/variables/pluginLoader","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/variables/pluginLoader.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: ns","permalink":"/api/@ima/core/variables/ns"},"next":{"title":"index","permalink":"/api/@ima/dev-utils/"}}');var i=r(2540),o=r(3023);const s={},t="Variable: pluginLoader",c={},l=[];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.header,{children:(0,i.jsx)(a.h1,{id:"variable-pluginloader",children:"Variable: pluginLoader"})}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.code,{children:"const"})," ",(0,i.jsx)(a.strong,{children:"pluginLoader"}),": ",(0,i.jsx)(a.a,{href:"/api/@ima/core/classes/PluginLoader",children:(0,i.jsx)(a.code,{children:"PluginLoader"})})]}),"\n"]}),"\n",(0,i.jsxs)(a.p,{children:["Defined in: ",(0,i.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/pluginLoader.ts#L93",children:"packages/core/src/pluginLoader.ts:93"})]})]})}function p(e={}){const{wrapper:a}={...(0,o.R)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,a,r)=>{r.d(a,{R:()=>s,x:()=>t});var n=r(3696);const i={},o=n.createContext(i);function s(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function t(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/68d1a169.be73caf9.js b/assets/js/68d1a169.be73caf9.js deleted file mode 100644 index 58ae87f5c..000000000 --- a/assets/js/68d1a169.be73caf9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7757],{5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>m});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),u=s(n),g=a,m=u["".concat(l,".").concat(g)]||u[g]||c[g]||i;return n?r.createElement(m,o(o({ref:t},d),{},{components:n})):r.createElement(m,o({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=g;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p[u]="string"==typeof e?e:a,o[1]=p;for(var s=2;s<i;s++)o[s]=n[s];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}g.displayName="MDXCreateElement"},5316:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var r=n(8102),a=(n(6540),n(5680));const i={id:"ima_core.HttpStatusCode",title:"Enumeration: HttpStatusCode",sidebar_label:"@ima/core.HttpStatusCode",custom_edit_url:null},o=void 0,p={unversionedId:"api/enums/ima_core.HttpStatusCode",id:"api/enums/ima_core.HttpStatusCode",title:"Enumeration: HttpStatusCode",description:"@ima/core.HttpStatusCode",source:"@site/../docs/api/enums/ima_core.HttpStatusCode.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.HttpStatusCode",permalink:"/api/enums/ima_core.HttpStatusCode",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.HttpStatusCode",title:"Enumeration: HttpStatusCode",sidebar_label:"@ima/core.HttpStatusCode",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.BindingState",permalink:"/api/enums/ima_core.BindingState"},next:{title:"@ima/core.RendererEvents",permalink:"/api/enums/ima_core.RendererEvents"}},l={},s=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"BAD_REQUEST",id:"bad_request",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"FORBIDDEN",id:"forbidden",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"NOT_FOUND",id:"not_found",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"NO_CONTENT",id:"no_content",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"OK",id:"ok",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"SERVER_ERROR",id:"server_error",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"TIMEOUT",id:"timeout",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"UNAUTHORIZED",id:"unauthorized",level:3},{value:"Defined in",id:"defined-in-7",level:4}],d={toc:s},u="wrapper";function c(e){let{components:t,...n}=e;return(0,a.yg)(u,(0,r.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".HttpStatusCode"),(0,a.yg)("p",null,"HTTP status code constants, representing the HTTP status codes recognized\nand processed by this proxy."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Const"))),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html")),(0,a.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,a.yg)("h3",{id:"bad_request"},"BAD","_","REQUEST"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"BAD","_","REQUEST")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"400")),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L12"},"packages/core/src/http/HttpStatusCode.ts:12")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"forbidden"},"FORBIDDEN"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"FORBIDDEN")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"403")),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L14"},"packages/core/src/http/HttpStatusCode.ts:14")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"not_found"},"NOT","_","FOUND"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"NOT","_","FOUND")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"404")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L15"},"packages/core/src/http/HttpStatusCode.ts:15")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"no_content"},"NO","_","CONTENT"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"NO","_","CONTENT")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"204")),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L11"},"packages/core/src/http/HttpStatusCode.ts:11")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"ok"},"OK"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"OK")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"200")),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L10"},"packages/core/src/http/HttpStatusCode.ts:10")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"server_error"},"SERVER","_","ERROR"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"SERVER","_","ERROR")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"500")),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L17"},"packages/core/src/http/HttpStatusCode.ts:17")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"timeout"},"TIMEOUT"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"TIMEOUT")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"408")),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L16"},"packages/core/src/http/HttpStatusCode.ts:16")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"unauthorized"},"UNAUTHORIZED"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"UNAUTHORIZED")," = ",(0,a.yg)("inlineCode",{parentName:"p"},"401")),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpStatusCode.ts#L13"},"packages/core/src/http/HttpStatusCode.ts:13")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/69014fe5.0caa01e0.js b/assets/js/69014fe5.0caa01e0.js new file mode 100644 index 000000000..5a722ab53 --- /dev/null +++ b/assets/js/69014fe5.0caa01e0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5353],{5965:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>s,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"api/@ima/core/type-aliases/DictionaryConfig","title":"Type Alias: DictionaryConfig","description":"DictionaryConfig: object","source":"@site/../docs/api/@ima/core/type-aliases/DictionaryConfig.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/DictionaryConfig","permalink":"/api/@ima/core/type-aliases/DictionaryConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/DictionaryConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Dependency\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/Dependency"},"next":{"title":"Type Alias: DictionaryData","permalink":"/api/@ima/core/type-aliases/DictionaryData"}}');var t=n(2540),c=n(3023);const o={},r="Type Alias: DictionaryConfig",s={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"$Language",id:"language",level:3},{value:"dictionary",id:"dictionary",level:3}];function d(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"type-alias-dictionaryconfig",children:"Type Alias: DictionaryConfig"})}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"DictionaryConfig"}),": ",(0,t.jsx)(i.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Defined in: ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L3",children:"packages/core/src/dictionary/Dictionary.ts:3"})]}),"\n",(0,t.jsx)(i.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,t.jsx)(i.h3,{id:"language",children:"$Language"}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"$Language"}),": ",(0,t.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"dictionary",children:"dictionary"}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.strong,{children:"dictionary"}),": ",(0,t.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DictionaryData",children:(0,t.jsx)(i.code,{children:"DictionaryData"})})]}),"\n"]})]})}function p(e={}){const{wrapper:i}={...(0,c.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>o,x:()=>r});var a=n(3696);const t={},c=a.createContext(t);function o(e){const i=a.useContext(c);return a.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),a.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6986213d.81f18c29.js b/assets/js/6986213d.81f18c29.js new file mode 100644 index 000000000..786d7da40 --- /dev/null +++ b/assets/js/6986213d.81f18c29.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9708],{590:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useDispatcher","title":"Function: useDispatcher()","description":"Call Signature","source":"@site/../docs/api/@ima/react-page-renderer/functions/useDispatcher.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useDispatcher","permalink":"/api/@ima/react-page-renderer/functions/useDispatcher","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useDispatcher.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useCssClasses()","permalink":"/api/@ima/react-page-renderer/functions/useCssClasses"},"next":{"title":"Function: useEventBus()","permalink":"/api/@ima/react-page-renderer/functions/useEventBus"}}');var t=s(2540),i=s(3023);const a={},c="Function: useDispatcher()",d={},l=[{value:"Call Signature",id:"call-signature",level:2},{value:"Type Parameters",id:"type-parameters",level:3},{value:"Parameters",id:"parameters",level:3},{value:"event?",id:"event",level:4},{value:"listener?",id:"listener",level:4},{value:"Returns",id:"returns",level:3},{value:"Example",id:"example",level:3},{value:"Call Signature",id:"call-signature-1",level:2},{value:"Parameters",id:"parameters-1",level:3},{value:"event?",id:"event-1",level:4},{value:"listener?",id:"listener-1",level:4},{value:"Returns",id:"returns-1",level:3},{value:"Example",id:"example-1",level:3}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"function-usedispatcher",children:"Function: useDispatcher()"})}),"\n",(0,t.jsx)(r.h2,{id:"call-signature",children:"Call Signature"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"useDispatcher"}),"<",(0,t.jsx)(r.code,{children:"E"}),">(",(0,t.jsx)(r.code,{children:"event"}),"?, ",(0,t.jsx)(r.code,{children:"listener"}),"?): ",(0,t.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useDispatcherType",children:(0,t.jsx)(r.code,{children:"useDispatcherType"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/dispatcher.ts#L38",children:"packages/react-page-renderer/src/hooks/dispatcher.ts:38"})]}),"\n",(0,t.jsx)(r.p,{children:"Hook to register listeners for dispatcher events. Returns\ndecorated dispatcher fire function. Omitting hook params\ndoesn't register any events to the dispatcher but provides\naccess to the dispatcher's fire method."}),"\n",(0,t.jsx)(r.h3,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"E"})," ",(0,t.jsx)(r.em,{children:"extends"})," keyof ",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,t.jsx)(r.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,t.jsx)(r.h3,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h4,{id:"event",children:"event?"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"E"})}),"\n",(0,t.jsx)(r.p,{children:"Event name."}),"\n",(0,t.jsx)(r.h4,{id:"listener",children:"listener?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,t.jsx)(r.code,{children:"DispatcherListener"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,t.jsx)(r.code,{children:"DispatcherEventsMap"})}),"[",(0,t.jsx)(r.code,{children:"E"}),"]>"]}),"\n",(0,t.jsx)(r.p,{children:"Callback to register to dispatcher."}),"\n",(0,t.jsx)(r.h3,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useDispatcherType",children:(0,t.jsx)(r.code,{children:"useDispatcherType"})})}),"\n",(0,t.jsxs)(r.p,{children:["Dispatcher ",(0,t.jsx)(r.code,{children:"fire"})," method."]}),"\n",(0,t.jsx)(r.h3,{id:"example",children:"Example"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ts",children:"const { fire } = useDispatcher(\n\t'dispatcher-event',\n\t() => {}\n);\n\n// Access $Dispatcher's.fire method without registering listener\nconst { fire } = useDispatcher();\n\n// Firing custom event\nuseEffect(() => {\n\tfire('another-event', { data: {} })\n});\n"})}),"\n",(0,t.jsx)(r.h2,{id:"call-signature-1",children:"Call Signature"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"useDispatcher"}),"(",(0,t.jsx)(r.code,{children:"event"}),"?, ",(0,t.jsx)(r.code,{children:"listener"}),"?): ",(0,t.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useDispatcherType",children:(0,t.jsx)(r.code,{children:"useDispatcherType"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/dispatcher.ts#L42",children:"packages/react-page-renderer/src/hooks/dispatcher.ts:42"})]}),"\n",(0,t.jsx)(r.p,{children:"Hook to register listeners for dispatcher events. Returns\ndecorated dispatcher fire function. Omitting hook params\ndoesn't register any events to the dispatcher but provides\naccess to the dispatcher's fire method."}),"\n",(0,t.jsx)(r.h3,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h4,{id:"event-1",children:"event?"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"Event name."}),"\n",(0,t.jsx)(r.h4,{id:"listener-1",children:"listener?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,t.jsx)(r.code,{children:"DispatcherListener"})}),"<",(0,t.jsx)(r.code,{children:"any"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"Callback to register to dispatcher."}),"\n",(0,t.jsx)(r.h3,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useDispatcherType",children:(0,t.jsx)(r.code,{children:"useDispatcherType"})})}),"\n",(0,t.jsxs)(r.p,{children:["Dispatcher ",(0,t.jsx)(r.code,{children:"fire"})," method."]}),"\n",(0,t.jsx)(r.h3,{id:"example-1",children:"Example"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ts",children:"const { fire } = useDispatcher(\n\t'dispatcher-event',\n\t() => {}\n);\n\n// Access $Dispatcher's.fire method without registering listener\nconst { fire } = useDispatcher();\n\n// Firing custom event\nuseEffect(() => {\n\tfire('another-event', { data: {} })\n});\n"})})]})}function p(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>a,x:()=>c});var n=s(3696);const t={},i=n.createContext(t);function a(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6a7c6930.38f90e40.js b/assets/js/6a7c6930.38f90e40.js new file mode 100644 index 000000000..7327b6da8 --- /dev/null +++ b/assets/js/6a7c6930.38f90e40.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[140],{9598:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"contributing/how-to-contribute","title":"How to Contribute","description":"Contributing > How to Contribute","source":"@site/../docs/contributing/how-to-contribute.md","sourceDirName":"contributing","slug":"/contributing/how-to-contribute","permalink":"/contributing/how-to-contribute","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/contributing/how-to-contribute.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"How to Contribute","description":"Contributing > How to Contribute"},"sidebar":"docs","previous":{"title":"Migration 19.0.0","permalink":"/migration/migration-19.0.0"}}');var i=t(2540),r=t(3023);const o={title:"How to Contribute",description:"Contributing > How to Contribute"},c=void 0,a={},l=[{value:"Changesets",id:"changesets",level:2},{value:"Semantic Versioning",id:"semantic-versioning",level:2},{value:"Open Development",id:"open-development",level:2},{value:"Branch Organization",id:"branch-organization",level:2},{value:"Development Workflow",id:"development-workflow",level:2},{value:"License",id:"license",level:2}];function h(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Contribute to this project via ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/pulls",children:"Pull Requests"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"changesets",children:"Changesets"}),"\n",(0,i.jsxs)(n.p,{children:["We are using ",(0,i.jsx)(n.a,{href:"https://github.com/changesets/changesets",children:"changesets"})," for the release management. Adding a changeset file to a Pull Request is required in most cases as it triggers the release of the affected packages. If your changes don't affect any package (documentation/tests update, or change in the repository workflow), then you can skip adding a changeset file."]}),"\n",(0,i.jsxs)(n.p,{children:["Read on how to add a changeset in the ",(0,i.jsx)(n.a,{href:"https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md",children:"official changesets documentation"}),". In our repositories, you can use ",(0,i.jsx)(n.code,{children:"npm run changeset"})," alias to open the changeset prompt."]}),"\n",(0,i.jsx)(n.h2,{id:"semantic-versioning",children:"Semantic Versioning"}),"\n",(0,i.jsxs)(n.p,{children:["IMA.js follows ",(0,i.jsx)(n.a,{href:"https://semver.org",children:"semantic versioning"}),". We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes."]}),"\n",(0,i.jsx)(n.p,{children:"Every significant change is documented in the changelog file of the related package."}),"\n",(0,i.jsx)(n.h2,{id:"open-development",children:"Open Development"}),"\n",(0,i.jsxs)(n.p,{children:["All work on IMA.js happens directly on ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima",children:"GitHub"}),". Both core team members and external contributors send pull requests which go through the same review process."]}),"\n",(0,i.jsx)(n.h2,{id:"branch-organization",children:"Branch Organization"}),"\n",(0,i.jsxs)(n.p,{children:["There are 2 main branches, ",(0,i.jsx)(n.code,{children:"master"})," and ",(0,i.jsx)(n.code,{children:"next"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Branch ",(0,i.jsx)(n.code,{children:"master"})," contains the current stable version. You should target your Pull Request here, if your changes are adding a new feature, fixing a bug, or any other change that does not require a major bump. New version from this branch will be published to the official npm registry under the ",(0,i.jsx)(n.code,{children:"latest"})," tag."]}),"\n",(0,i.jsxs)(n.p,{children:["Branch ",(0,i.jsx)(n.code,{children:"next"})," contains the next major release candidate version. You should target your Pull Request here, if you are introducing a breaking change, or extending a functionality existing only in this branch. New version from this branch will be published to the official npm registry under the ",(0,i.jsx)(n.code,{children:"rc"})," tag."]}),"\n",(0,i.jsx)(n.h2,{id:"development-workflow",children:"Development Workflow"}),"\n",(0,i.jsxs)(n.p,{children:["After cloning ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima",children:"IMA.js repository"}),", run ",(0,i.jsx)(n.code,{children:"npm ci"})," (check ",(0,i.jsx)(n.code,{children:".nvmrc"})," file for supported Node.js version) to fetch its dependencies. Then, you can run several commands:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run lint"})," checks the code style."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run lint -- --fix"})," fixes the code style issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run stylelint"})," checks the css/less code style."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run stylelint -- --fix"})," fixes the css/less code style issues."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run test"})," runs only tests affected by your changes."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run test -- --watch"})," runs an interactive test watcher."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run test <pattern>"})," runs tests with matching filenames."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run test:all"})," runs the complete test suite."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run test:size"})," runs size check to avoid introduction of large bundles."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run build"})," creates a build folder within all the packages."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"npm run changeset"})," opens the changesets prompt."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["We recommend running ",(0,i.jsx)(n.code,{children:"npm run test"})," (or its variations above) to make sure you don\u2019t introduce any regressions as you work on your change."]}),"\n",(0,i.jsx)(n.h2,{id:"license",children:"License"}),"\n",(0,i.jsx)(n.p,{children:"By contributing to IMA.js, you agree that your contributions will be licensed under its MIT license."})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var s=t(3696);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6a7c6930.7f60a719.js b/assets/js/6a7c6930.7f60a719.js deleted file mode 100644 index 7ec234353..000000000 --- a/assets/js/6a7c6930.7f60a719.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[140],{5680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>d});var r=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=r.createContext({}),c=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=c(e.components);return r.createElement(l.Provider,{value:n},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},m=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(t),m=i,d=p["".concat(l,".").concat(m)]||p[m]||g[m]||a;return t?r.createElement(d,o(o({ref:n},u),{},{components:t})):r.createElement(d,o({ref:n},u))}));function d(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[p]="string"==typeof e?e:i,o[1]=s;for(var c=2;c<a;c++)o[c]=t[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},4537:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=t(8102),i=(t(6540),t(5680));const a={title:"How to Contribute",description:"Contributing > How to Contribute"},o=void 0,s={unversionedId:"contributing/how-to-contribute",id:"contributing/how-to-contribute",title:"How to Contribute",description:"Contributing > How to Contribute",source:"@site/../docs/contributing/how-to-contribute.md",sourceDirName:"contributing",slug:"/contributing/how-to-contribute",permalink:"/contributing/how-to-contribute",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/contributing/how-to-contribute.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"How to Contribute",description:"Contributing > How to Contribute"},sidebar:"docs",previous:{title:"Migration 19.0.0",permalink:"/migration/migration-19.0.0"}},l={},c=[{value:"Changesets",id:"changesets",level:2},{value:"Semantic Versioning",id:"semantic-versioning",level:2},{value:"Open Development",id:"open-development",level:2},{value:"Branch Organization",id:"branch-organization",level:2},{value:"Development Workflow",id:"development-workflow",level:2},{value:"License",id:"license",level:2}],u={toc:c},p="wrapper";function g(e){let{components:n,...t}=e;return(0,i.yg)(p,(0,r.A)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"Contribute to this project via ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/pulls"},"Pull Requests"),"."),(0,i.yg)("h2",{id:"changesets"},"Changesets"),(0,i.yg)("p",null,"We are using ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/changesets/changesets"},"changesets")," for the release management. Adding a changeset file to a Pull Request is required in most cases as it triggers the release of the affected packages. If your changes don't affect any package (documentation/tests update, or change in the repository workflow), then you can skip adding a changeset file."),(0,i.yg)("p",null,"Read on how to add a changeset in the ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md"},"official changesets documentation"),". In our repositories, you can use ",(0,i.yg)("inlineCode",{parentName:"p"},"npm run changeset")," alias to open the changeset prompt."),(0,i.yg)("h2",{id:"semantic-versioning"},"Semantic Versioning"),(0,i.yg)("p",null,"IMA.js follows ",(0,i.yg)("a",{parentName:"p",href:"https://semver.org"},"semantic versioning"),". We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes."),(0,i.yg)("p",null,"Every significant change is documented in the changelog file of the related package."),(0,i.yg)("h2",{id:"open-development"},"Open Development"),(0,i.yg)("p",null,"All work on IMA.js happens directly on ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima"},"GitHub"),". Both core team members and external contributors send pull requests which go through the same review process."),(0,i.yg)("h2",{id:"branch-organization"},"Branch Organization"),(0,i.yg)("p",null,"There are 2 main branches, ",(0,i.yg)("inlineCode",{parentName:"p"},"master")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"next"),"."),(0,i.yg)("p",null,"Branch ",(0,i.yg)("inlineCode",{parentName:"p"},"master")," contains the current stable version. You should target your Pull Request here, if your changes are adding a new feature, fixing a bug, or any other change that does not require a major bump. New version from this branch will be published to the official npm registry under the ",(0,i.yg)("inlineCode",{parentName:"p"},"latest")," tag."),(0,i.yg)("p",null,"Branch ",(0,i.yg)("inlineCode",{parentName:"p"},"next")," contains the next major release candidate version. You should target your Pull Request here, if you are introducing a breaking change, or extending a functionality existing only in this branch. New version from this branch will be published to the official npm registry under the ",(0,i.yg)("inlineCode",{parentName:"p"},"rc")," tag."),(0,i.yg)("h2",{id:"development-workflow"},"Development Workflow"),(0,i.yg)("p",null,"After cloning ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima"},"IMA.js repository"),", run ",(0,i.yg)("inlineCode",{parentName:"p"},"npm ci")," (check ",(0,i.yg)("inlineCode",{parentName:"p"},".nvmrc")," file for supported Node.js version) to fetch its dependencies. Then, you can run several commands:"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run lint")," checks the code style."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run lint -- --fix")," fixes the code style issues."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run stylelint")," checks the css/less code style."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run stylelint -- --fix")," fixes the css/less code style issues."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run test")," runs only tests affected by your changes."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run test -- --watch")," runs an interactive test watcher."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run test <pattern>")," runs tests with matching filenames."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run test:all")," runs the complete test suite."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run test:size")," runs size check to avoid introduction of large bundles."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run build")," creates a build folder within all the packages."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"npm run changeset")," opens the changesets prompt.")),(0,i.yg)("p",null,"We recommend running ",(0,i.yg)("inlineCode",{parentName:"p"},"npm run test")," (or its variations above) to make sure you don\u2019t introduce any regressions as you work on your change."),(0,i.yg)("h2",{id:"license"},"License"),(0,i.yg)("p",null,"By contributing to IMA.js, you agree that your contributions will be licensed under its MIT license."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6ae61f9d.81d2fd53.js b/assets/js/6ae61f9d.81d2fd53.js deleted file mode 100644 index 4ce5c65dc..000000000 --- a/assets/js/6ae61f9d.81d2fd53.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[103],{5680:(e,t,n)=>{n.d(t,{xA:()=>c,yg:()=>d});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),l=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=l(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=l(n),m=r,d=u["".concat(s,".").concat(m)]||u[m]||g[m]||i;return n?a.createElement(d,o(o({ref:t},c),{},{components:n})):a.createElement(d,o({ref:t},c))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[u]="string"==typeof e?e:r,o[1]=p;for(var l=2;l<i;l++)o[l]=n[l];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},5831:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var a=n(8102),r=(n(6540),n(5680));const i={title:"Testing",description:"Basic features > Testing"},o=void 0,p={unversionedId:"basic-features/testing",id:"basic-features/testing",title:"Testing",description:"Basic features > Testing",source:"@site/../docs/basic-features/testing.md",sourceDirName:"basic-features",slug:"/basic-features/testing",permalink:"/basic-features/testing",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/testing.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Testing",description:"Basic features > Testing"},sidebar:"docs",previous:{title:"TypeScript",permalink:"/basic-features/typescript"},next:{title:"Dynamic imports",permalink:"/advanced-features/dynamic-imports"}},s={},l=[{value:"API",id:"api",level:2},{value:"renderWithContext",id:"renderwithcontext",level:3},{value:"getContextValue",id:"getcontextvalue",level:3},{value:"initImaApp",id:"initimaapp",level:3},{value:"renderHookWithContext",id:"renderhookwithcontext",level:3},{value:"Extending IMA boot config methods",id:"extending-ima-boot-config-methods",level:2}],c={toc:l},u="wrapper";function g(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,a.A)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/testing-library")," contains utilities for testing IMA.js applications. It provides integration with ",(0,r.yg)("a",{parentName:"p",href:"https://jestjs.io"},"Jest"),", ",(0,r.yg)("a",{parentName:"p",href:"https://testing-library.com/docs/react-testing-library/intro"},"React Testing Library")," and ",(0,r.yg)("a",{parentName:"p",href:"https://testing-library.com/docs/ecosystem-jest-dom"},"Testing Library Jest DOM"),". If you initialized your project via ",(0,r.yg)("inlineCode",{parentName:"p"},"create-ima-app"),", the testing setup is already included in your project. If not, check ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/testing-library")," README for more information about how to setup testing in your project."),(0,r.yg)("h2",{id:"api"},"API"),(0,r.yg)("p",null,"IMA Testing Library is re-exporting everything from ",(0,r.yg)("inlineCode",{parentName:"p"},"@testing-library/react"),". You should always import React Testing Library functions from ",(0,r.yg)("inlineCode",{parentName:"p"},"@ima/testing-library")," as we might add some additional functionality / wrappers in the future. As such, it provides the same API as ",(0,r.yg)("inlineCode",{parentName:"p"},"@testing-library/react")," with some additional features."),(0,r.yg)("h3",{id:"renderwithcontext"},"renderWithContext"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async function renderWithContext(\n ui: ReactElement,\n options?: RenderOptions & { contextValue?: ContextValue; app?: ImaApp }\n): Promise<ReturnType<typeof render> & { app: ImaApp | null; contextValue: ContextValue; }>\n")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"renderWithContext")," is a wrapper around ",(0,r.yg)("a",{parentName:"p",href:"https://testing-library.com/docs/react-testing-library/api#render"},(0,r.yg)("inlineCode",{parentName:"a"},"render")," from ",(0,r.yg)("inlineCode",{parentName:"a"},"@testing-library/react")),". It sets ",(0,r.yg)("inlineCode",{parentName:"p"},"wrapper")," option in ",(0,r.yg)("inlineCode",{parentName:"p"},"render")," method to a real IMA.js context wrapper. It can take additional optional IMA specific options:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"contextValue")," - the result of ",(0,r.yg)("inlineCode",{parentName:"li"},"getContextValue")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"app")," - the result of ",(0,r.yg)("inlineCode",{parentName:"li"},"initImaApp")," (if you provide ",(0,r.yg)("inlineCode",{parentName:"li"},"contextValue"),", it does not make any sense to provide ",(0,r.yg)("inlineCode",{parentName:"li"},"app")," as the ",(0,r.yg)("inlineCode",{parentName:"li"},"app")," is only used to generate the ",(0,r.yg)("inlineCode",{parentName:"li"},"contextValue"),")")),(0,r.yg)("p",null,"If any of the options is not provided, it will be generated automatically."),(0,r.yg)("p",null,"Example usage:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import { useLocalize } from '@ima/react-page-renderer';\nimport { renderWithContext } from '@ima/testing-library';\n\nfunction Component({ children }) {\n const localize = useLocalize(); // Get localize function from IMA.js context\n\n return <div>{localize('my.translation.key')} {children}</div>;\n}\n\ntest('renders component with localized string', async () => {\n const { getByText } = await renderWithContext(<Component>My Text</Component>);\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n")),(0,r.yg)("p",null,"If you had used ",(0,r.yg)("inlineCode",{parentName:"p"},"render")," from ",(0,r.yg)("inlineCode",{parentName:"p"},"@testing-library/react")," directly, the test would have failed because the ",(0,r.yg)("inlineCode",{parentName:"p"},"useLocalize")," hook would be missing the context. The ",(0,r.yg)("inlineCode",{parentName:"p"},"renderWithContext")," function provides the necessary context and making it easier to test components that depend on the IMA.js context."),(0,r.yg)("h3",{id:"getcontextvalue"},"getContextValue"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async function getContextValue(app?: ImaApp): Promise<ContextValue>\n")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"getContextValue")," is a helper function that returns the context value from the IMA.js app. It can take an optional ",(0,r.yg)("inlineCode",{parentName:"p"},"app")," parameter, which is the result of ",(0,r.yg)("inlineCode",{parentName:"p"},"initImaApp"),"."),(0,r.yg)("p",null,"Example usage:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"test('renders component with custom context value', async () => {\n const contextValue = await getContextValue(); // Generate default context value\n\n contextValue.$Utils.$Foo = jest.fn(() => 'bar'); // Mock some part of the context\n\n const { getByText } = await renderWithContext(<Component>My Text</Component>, {\n contextValue, // Provide the custom context value\n });\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n")),(0,r.yg)("h3",{id:"initimaapp"},"initImaApp"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async function initImaApp(): Promise<ImaApp>\n")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"initImaApp")," is a helper function that initializes the IMA.js app."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"test('renders component with custom app configuration', async () => {\n const app = await initImaApp(); // Initialize the app\n\n app.oc.get('$Utils').$Foo = jest.fn(() => 'bar'); // Mock some part of the app\n\n const { getByText } = await renderWithContext(<Component>My Text</Component>, {\n app, // Provide the custom app\n });\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n")),(0,r.yg)("h3",{id:"renderhookwithcontext"},"renderHookWithContext"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async function renderHookWithContext<TResult, TProps>(\n hook: (props: TProps) => TResult,\n options?: { contextValue?: ContextValue; app?: ImaApp }\n): Promise<ReturnType<typeof renderHook<TResult, TProps>> & { app: ImaApp | null; contextValue: ContextValue; }>\n")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"renderHookWithContext")," is a wrapper around ",(0,r.yg)("a",{parentName:"p",href:"https://testing-library.com/docs/react-testing-library/api#renderhook"},(0,r.yg)("inlineCode",{parentName:"a"},"renderHook")," from ",(0,r.yg)("inlineCode",{parentName:"a"},"@testing-library/react")),". It uses the same logic as ",(0,r.yg)("inlineCode",{parentName:"p"},"renderWithContext")," to provide the IMA.js context. See ",(0,r.yg)("a",{parentName:"p",href:"#renderwithcontext"},"the ",(0,r.yg)("inlineCode",{parentName:"a"},"renderWithContext")," section")," for more information."),(0,r.yg)("h2",{id:"extending-ima-boot-config-methods"},"Extending IMA boot config methods"),(0,r.yg)("p",null,"You can extend IMA boot config by using ",(0,r.yg)("a",{parentName:"p",href:"https://imajs.io/api/classes/ima_core.PluginLoader/#register"},"IMA ",(0,r.yg)("inlineCode",{parentName:"a"},"pluginLoader.register"))," method. Use the same approach as in IMA plugins."),(0,r.yg)("p",null,"You can either register a plugin loader for all tests by setting it up in a setup file."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// jestSetup.js\nimport { pluginLoader } from '@ima/core';\n\n// If you don't care, if this plugin loader is registered first, or last\npluginLoader.register('jestSetup.js', () => {\n return {\n initSettings: () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n }\n };\n});\n\n// If you need to register the plugin loader after all other plugin loaders\nbeforeAll(() => {\n pluginLoader.register('jestSetup.js', () => {\n return {\n initSettings: () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n }\n };\n });\n});\n\n// jest.config.js\nmodule.exports = {\n // Add this line to your jest config\n setupFilesAfterEnv: ['./jestSetup.js']\n};\n")),(0,r.yg)("p",null,"Or you can register a plugin loader for a specific test file."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// mySpec.js\nimport { pluginLoader } from '@ima/core';\n\nbeforeAll(() => {\n pluginLoader.register('mySpec', () => {\n return {\n initSettings: () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n }\n };\n });\n});\n\ntest('renders component with custom app configuration', async () => {\n const { getByText } = await renderWithContext(<Component>My Text</Component>);\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n")),(0,r.yg)("p",null,"Or you can register a plugin loader for a test file, but make the boot config methods dynamic so you can change them for each test."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// mySpec.js\nimport { pluginLoader } from '@ima/core';\n\n// We create a placeholder for the plugin loader, so we can change it later\nlet initSettings = () => {};\n\nbeforeAll(() => {\n pluginLoader.register('mySpec', (...args) => {\n return {\n initSettings: (...args) => {\n return initSettings(...args); // Here we call our overridable function\n }\n };\n });\n});\n\nafterEach(() => {\n initSettings = () => {}; // Reset the plugin loader so it is not called for other tests\n});\n\ntest('renders component with custom app configuration', async () => {\n initSettings = () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n };\n\n const { getByText } = await renderWithContext(<Component>My Text</Component>);\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n")),(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Note, that the plugin loader register method evaluates the second argument right away, but the specific boot config methods are evaluated during ",(0,r.yg)("inlineCode",{parentName:"em"},"renderWithContext")," (or ",(0,r.yg)("inlineCode",{parentName:"em"},"initImaApp")," if you are using it directly).")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6ae61f9d.934b9c36.js b/assets/js/6ae61f9d.934b9c36.js new file mode 100644 index 000000000..bce793fd4 --- /dev/null +++ b/assets/js/6ae61f9d.934b9c36.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[103],{6536:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"basic-features/testing","title":"Testing","description":"Basic features > Testing","source":"@site/../docs/basic-features/testing.md","sourceDirName":"basic-features","slug":"/basic-features/testing","permalink":"/basic-features/testing","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/testing.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Testing","description":"Basic features > Testing"},"sidebar":"docs","previous":{"title":"TypeScript","permalink":"/basic-features/typescript"},"next":{"title":"Dynamic imports","permalink":"/advanced-features/dynamic-imports"}}');var r=n(2540),o=n(3023);const s={title:"Testing",description:"Basic features > Testing"},a=void 0,c={},l=[{value:"API",id:"api",level:2},{value:"renderWithContext",id:"renderwithcontext",level:3},{value:"getContextValue",id:"getcontextvalue",level:3},{value:"initImaApp",id:"initimaapp",level:3},{value:"renderHookWithContext",id:"renderhookwithcontext",level:3},{value:"Extending IMA boot config methods",id:"extending-ima-boot-config-methods",level:2}];function d(e){const t={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"@ima/testing-library"})," contains utilities for testing IMA.js applications. It provides integration with ",(0,r.jsx)(t.a,{href:"https://jestjs.io",children:"Jest"}),", ",(0,r.jsx)(t.a,{href:"https://testing-library.com/docs/react-testing-library/intro",children:"React Testing Library"})," and ",(0,r.jsx)(t.a,{href:"https://testing-library.com/docs/ecosystem-jest-dom",children:"Testing Library Jest DOM"}),". If you initialized your project via ",(0,r.jsx)(t.code,{children:"create-ima-app"}),", the testing setup is already included in your project. If not, check ",(0,r.jsx)(t.code,{children:"@ima/testing-library"})," README for more information about how to setup testing in your project."]}),"\n",(0,r.jsx)(t.h2,{id:"api",children:"API"}),"\n",(0,r.jsxs)(t.p,{children:["IMA Testing Library is re-exporting everything from ",(0,r.jsx)(t.code,{children:"@testing-library/react"}),". You should always import React Testing Library functions from ",(0,r.jsx)(t.code,{children:"@ima/testing-library"})," as we might add some additional functionality / wrappers in the future. As such, it provides the same API as ",(0,r.jsx)(t.code,{children:"@testing-library/react"})," with some additional features."]}),"\n",(0,r.jsx)(t.h3,{id:"renderwithcontext",children:"renderWithContext"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"async function renderWithContext(\n ui: ReactElement,\n options?: RenderOptions & { contextValue?: ContextValue; app?: ImaApp }\n): Promise<ReturnType<typeof render> & { app: ImaApp | null; contextValue: ContextValue; }>\n"})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"renderWithContext"})," is a wrapper around ",(0,r.jsxs)(t.a,{href:"https://testing-library.com/docs/react-testing-library/api#render",children:[(0,r.jsx)(t.code,{children:"render"})," from ",(0,r.jsx)(t.code,{children:"@testing-library/react"})]}),". It sets ",(0,r.jsx)(t.code,{children:"wrapper"})," option in ",(0,r.jsx)(t.code,{children:"render"})," method to a real IMA.js context wrapper. It can take additional optional IMA specific options:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"contextValue"})," - the result of ",(0,r.jsx)(t.code,{children:"getContextValue"})]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"app"})," - the result of ",(0,r.jsx)(t.code,{children:"initImaApp"})," (if you provide ",(0,r.jsx)(t.code,{children:"contextValue"}),", it does not make any sense to provide ",(0,r.jsx)(t.code,{children:"app"})," as the ",(0,r.jsx)(t.code,{children:"app"})," is only used to generate the ",(0,r.jsx)(t.code,{children:"contextValue"}),")"]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"If any of the options is not provided, it will be generated automatically."}),"\n",(0,r.jsx)(t.p,{children:"Example usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"import { useLocalize } from '@ima/react-page-renderer';\nimport { renderWithContext } from '@ima/testing-library';\n\nfunction Component({ children }) {\n const localize = useLocalize(); // Get localize function from IMA.js context\n\n return <div>{localize('my.translation.key')} {children}</div>;\n}\n\ntest('renders component with localized string', async () => {\n const { getByText } = await renderWithContext(<Component>My Text</Component>);\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n"})}),"\n",(0,r.jsxs)(t.p,{children:["If you had used ",(0,r.jsx)(t.code,{children:"render"})," from ",(0,r.jsx)(t.code,{children:"@testing-library/react"})," directly, the test would have failed because the ",(0,r.jsx)(t.code,{children:"useLocalize"})," hook would be missing the context. The ",(0,r.jsx)(t.code,{children:"renderWithContext"})," function provides the necessary context and making it easier to test components that depend on the IMA.js context."]}),"\n",(0,r.jsx)(t.h3,{id:"getcontextvalue",children:"getContextValue"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"async function getContextValue(app?: ImaApp): Promise<ContextValue>\n"})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"getContextValue"})," is a helper function that returns the context value from the IMA.js app. It can take an optional ",(0,r.jsx)(t.code,{children:"app"})," parameter, which is the result of ",(0,r.jsx)(t.code,{children:"initImaApp"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"Example usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"test('renders component with custom context value', async () => {\n const contextValue = await getContextValue(); // Generate default context value\n\n contextValue.$Utils.$Foo = jest.fn(() => 'bar'); // Mock some part of the context\n\n const { getByText } = await renderWithContext(<Component>My Text</Component>, {\n contextValue, // Provide the custom context value\n });\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n"})}),"\n",(0,r.jsx)(t.h3,{id:"initimaapp",children:"initImaApp"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"async function initImaApp(): Promise<ImaApp>\n"})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"initImaApp"})," is a helper function that initializes the IMA.js app."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"test('renders component with custom app configuration', async () => {\n const app = await initImaApp(); // Initialize the app\n\n app.oc.get('$Utils').$Foo = jest.fn(() => 'bar'); // Mock some part of the app\n\n const { getByText } = await renderWithContext(<Component>My Text</Component>, {\n app, // Provide the custom app\n });\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n"})}),"\n",(0,r.jsx)(t.h3,{id:"renderhookwithcontext",children:"renderHookWithContext"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"async function renderHookWithContext<TResult, TProps>(\n hook: (props: TProps) => TResult,\n options?: { contextValue?: ContextValue; app?: ImaApp }\n): Promise<ReturnType<typeof renderHook<TResult, TProps>> & { app: ImaApp | null; contextValue: ContextValue; }>\n"})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"renderHookWithContext"})," is a wrapper around ",(0,r.jsxs)(t.a,{href:"https://testing-library.com/docs/react-testing-library/api#renderhook",children:[(0,r.jsx)(t.code,{children:"renderHook"})," from ",(0,r.jsx)(t.code,{children:"@testing-library/react"})]}),". It uses the same logic as ",(0,r.jsx)(t.code,{children:"renderWithContext"})," to provide the IMA.js context. See ",(0,r.jsxs)(t.a,{href:"#renderwithcontext",children:["the ",(0,r.jsx)(t.code,{children:"renderWithContext"})," section"]})," for more information."]}),"\n",(0,r.jsx)(t.h2,{id:"extending-ima-boot-config-methods",children:"Extending IMA boot config methods"}),"\n",(0,r.jsxs)(t.p,{children:["You can extend IMA boot config by using ",(0,r.jsxs)(t.a,{href:"https://imajs.io/api/classes/ima_core.PluginLoader/#register",children:["IMA ",(0,r.jsx)(t.code,{children:"pluginLoader.register"})]})," method. Use the same approach as in IMA plugins."]}),"\n",(0,r.jsx)(t.p,{children:"You can either register a plugin loader for all tests by setting it up in a setup file."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"// jestSetup.js\nimport { pluginLoader } from '@ima/core';\n\n// If you don't care, if this plugin loader is registered first, or last\npluginLoader.register('jestSetup.js', () => {\n return {\n initSettings: () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n }\n };\n});\n\n// If you need to register the plugin loader after all other plugin loaders\nbeforeAll(() => {\n pluginLoader.register('jestSetup.js', () => {\n return {\n initSettings: () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n }\n };\n });\n});\n\n// jest.config.js\nmodule.exports = {\n // Add this line to your jest config\n setupFilesAfterEnv: ['./jestSetup.js']\n};\n"})}),"\n",(0,r.jsx)(t.p,{children:"Or you can register a plugin loader for a specific test file."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"// mySpec.js\nimport { pluginLoader } from '@ima/core';\n\nbeforeAll(() => {\n pluginLoader.register('mySpec', () => {\n return {\n initSettings: () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n }\n };\n });\n});\n\ntest('renders component with custom app configuration', async () => {\n const { getByText } = await renderWithContext(<Component>My Text</Component>);\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n"})}),"\n",(0,r.jsx)(t.p,{children:"Or you can register a plugin loader for a test file, but make the boot config methods dynamic so you can change them for each test."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"// mySpec.js\nimport { pluginLoader } from '@ima/core';\n\n// We create a placeholder for the plugin loader, so we can change it later\nlet initSettings = () => {};\n\nbeforeAll(() => {\n pluginLoader.register('mySpec', (...args) => {\n return {\n initSettings: (...args) => {\n return initSettings(...args); // Here we call our overridable function\n }\n };\n });\n});\n\nafterEach(() => {\n initSettings = () => {}; // Reset the plugin loader so it is not called for other tests\n});\n\ntest('renders component with custom app configuration', async () => {\n initSettings = () => {\n return {\n prod: {\n customSetting: 'customValue'\n }\n }\n };\n\n const { getByText } = await renderWithContext(<Component>My Text</Component>);\n const textElement = getByText(/My Text/i);\n\n expect(textElement).toBeInTheDocument();\n});\n"})}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsxs)(t.em,{children:["Note, that the plugin loader register method evaluates the second argument right away, but the specific boot config methods are evaluated during ",(0,r.jsx)(t.code,{children:"renderWithContext"})," (or ",(0,r.jsx)(t.code,{children:"initImaApp"})," if you are using it directly)."]})})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var i=n(3696);const r={},o=i.createContext(r);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6af56cb1.b10acb85.js b/assets/js/6af56cb1.b10acb85.js deleted file mode 100644 index 5547c2019..000000000 --- a/assets/js/6af56cb1.b10acb85.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4485],{5680:(e,t,a)=>{a.d(t,{xA:()=>d,yg:()=>c});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),p=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),g=p(a),y=r,c=g["".concat(s,".").concat(y)]||g[y]||m[y]||l;return a?n.createElement(c,i(i({ref:t},d),{},{components:a})):n.createElement(c,i({ref:t},d))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=y;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[g]="string"==typeof e?e:r,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},5741:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(8102),r=(a(6540),a(5680));const l={id:"ima_core.Controller",title:"Class: Controller<S, R, SS>",sidebar_label:"@ima/core.Controller",custom_edit_url:null},i=void 0,o={unversionedId:"api/classes/ima_core.Controller",id:"api/classes/ima_core.Controller",title:"Class: Controller<S, R, SS>",description:"@ima/core.Controller",source:"@site/../docs/api/classes/ima_core.Controller.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Controller",permalink:"/api/classes/ima_core.Controller",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Controller",title:"Class: Controller<S, R, SS>",sidebar_label:"@ima/core.Controller",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ComponentUtils",permalink:"/api/classes/ima_core.ComponentUtils"},next:{title:"@ima/core.ControllerDecorator",permalink:"/api/classes/ima_core.ControllerDecorator"}},s={},p=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Properties",id:"properties",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"$extensions",id:"extensions",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"$name",id:"name",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods",level:2},{value:"activate",id:"activate",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"addExtension",id:"addextension",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"beginStateTransaction",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"cancelStateTransaction",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"commitStateTransaction",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"deactivate",id:"deactivate",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getExtension",id:"getextension",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getExtensions",id:"getextensions",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"getRouteParams",id:"getrouteparams",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"load",id:"load",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"setMetaParams",id:"setmetaparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"setPageStateManager",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"setRouteParams",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-21",level:4}],d={toc:p},g="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(g,(0,n.A)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Controller"),(0,r.yg)("p",null,"Interface defining the common API of page controllers. A page controller is\nused to manage the overall state and view of a single application page, and\nupdates the page state according to the events submitted to it by components\non the page (or other input)."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Controller"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractController"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"ControllerDecorator"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractController"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"ControllerDecorator"))))),(0,r.yg)("h2",{id:"indexable"},"Indexable"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"PropertyKey"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"any")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbuseventhandler"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusEventHandler"))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Controller"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"SS"),">","()"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"SS")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState"))," = ",(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L44"},"packages/core/src/controller/Controller.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"extensions"},"$extensions"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$extensions"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies")),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">",">"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L45"},"packages/core/src/controller/Controller.ts:45")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"name"},"$name"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$name"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L43"},"packages/core/src/controller/Controller.ts:43")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"activate"},"activate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"activate"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Callback for activating the controller in the UI. This is the last\nmethod invoked during controller initialization, called after all the\npromises returned from the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load")," method have been\nresolved and the controller has configured the meta manager."),(0,r.yg)("p",null,"The controller may register any React and DOM event listeners in this\nmethod. The controller may start receiving event bus event after this\nmethod completes."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L84"},"packages/core/src/controller/Controller.ts:84")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"addextension"},"addExtension"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"addExtension"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"extensionInstance?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Adds the provided extension to this controller. All extensions should be\nadded to the controller before the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init")," method is\ninvoked."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extension")),(0,r.yg)("td",{parentName:"tr",align:"left"},"keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,r.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"AbstractConstructor"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extensionInstance?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),">")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L232"},"packages/core/src/controller/Controller.ts:232")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"beginstatetransaction"},"beginStateTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"beginStateTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,r.yg)("p",null,"Note that call to ",(0,r.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L208"},"packages/core/src/controller/Controller.ts:208")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cancelstatetransaction"},"cancelStateTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cancelStateTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Cancels ongoing state transaction. Uncommitted state changes are lost."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L223"},"packages/core/src/controller/Controller.ts:223")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"commitstatetransaction"},"commitStateTransaction"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"commitStateTransaction"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,r.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L216"},"packages/core/src/controller/Controller.ts:216")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"deactivate"},"deactivate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"deactivate"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Callback for deactivating the controller in the UI. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."),(0,r.yg)("p",null,"This method is the lifecycle counterpart of the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#activate"},"activate")," method."),(0,r.yg)("p",null,"The controller should deregister listeners registered and release all\nresources obtained in the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#activate"},"activate")," method."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L99"},"packages/core/src/controller/Controller.ts:99")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."),(0,r.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init"),"\nmethod."),(0,r.yg)("p",null,"The controller should release all resources obtained in the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init")," method. The controller must release any resources\nthat might not be released automatically when the controller's instance\nis destroyed by the garbage collector."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L70"},"packages/core/src/controller/Controller.ts:70")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getextension"},"getExtension"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getExtension"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"extension"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),">"),(0,r.yg)("p",null,"Returns extension instance defined by it's class constructor\nfrom controller's extension intance map."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extension")),(0,r.yg)("td",{parentName:"tr",align:"left"},"typeof ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")))))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),">"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L247"},"packages/core/src/controller/Controller.ts:247")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getextensions"},"getExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getExtensions"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">","[]"),(0,r.yg)("p",null,"Returns the controller's extensions."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">","[]"),(0,r.yg)("p",null,"The extensions added to this controller."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L261"},"packages/core/src/controller/Controller.ts:261")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"Returns the HTTP status code to send to the client, should the\ncontroller be used at the server-side."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"The HTTP status code to send to the client."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L329"},"packages/core/src/controller/Controller.ts:329")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getrouteparams"},"getRouteParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getRouteParams"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"R")),(0,r.yg)("p",null,"Returns the current route parameters."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"R")),(0,r.yg)("p",null,"The current route parameters."),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L305"},"packages/core/src/controller/Controller.ts:305")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getstate"},"getState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"Returns the controller's current state."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"SS")),(0,r.yg)("p",null,"The current state of this controller."),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L197"},"packages/core/src/controller/Controller.ts:197")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Callback for initializing the controller after the route parameters have\nbeen set on this controller."),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L53"},"packages/core/src/controller/Controller.ts:53")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"load"},"load"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"load"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"Callback the controller uses to request the resources it needs to render\nits view. This method is invoked after the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init"),"\nmethod."),(0,r.yg)("p",null,"The controller should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."),(0,r.yg)("p",null,"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."),(0,r.yg)("p",null,"The IMA will use the object to set the state of the controller."),(0,r.yg)("p",null,"If at the server side, the IMA will wait for all the promises to\nresolve, replaces the promises with the resolved values and sets the\nresulting object as the controller's state."),(0,r.yg)("p",null,"If at the client side, the IMA will first set the controller's state to\nan object containing only the fields of the returned object that were\nnot promises. IMA will then update the controller's state every time a\npromise of the returned object resolves. IMA will update the state by\nadding the resolved resource to the controller's state."),(0,r.yg)("p",null,"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L138"},"packages/core/src/controller/Controller.ts:138")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setmetaparams"},"setMetaParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setMetaParams"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"loadedResources"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManager"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"router"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dictionary"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"settings"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources and the view has been rendered."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"loadedResources")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Intersection"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Matching"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">",">",">",", ",(0,r.yg)("inlineCode",{parentName:"td"},"Required"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"NonMatching"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">",">",">",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"A plain object representing a map of resource names to resources loaded by the ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller#load"},"load")," method. This is the same object as the one passed to the ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller#setstate"},"setState")," method.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"metaManager")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Meta attributes manager to configure.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"router")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current application router.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dictionary")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current localization dictionary.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"settings")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,r.yg)("inlineCode",{parentName:"a"},"Settings"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The application settings for the current application environment.")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L280"},"packages/core/src/controller/Controller.ts:280")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setpagestatemanager"},"setPageStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setPageStateManager"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"pageStateManager?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the page state manager. The page state manager manages the\ncontroller's state. The state manager can be set to ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if this\ncontroller loses the right to modify the state of the current page (e.g.\nthe user has navigated to a different route using a different\ncontroller)."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageStateManager?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"SS"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current state manager to use.")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L319"},"packages/core/src/controller/Controller.ts:319")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setrouteparams"},"setRouteParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setRouteParams"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the current route parameters. This method is invoked before the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init")," method."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current route parameters.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L296"},"packages/core/src/controller/Controller.ts:296")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"statePatch"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Patches the state of this controller using the provided object by\ncopying the provided patch object fields to the controller's state\nobject."),(0,r.yg)("p",null,"You can use this method to modify the state partially or add new fields\nto the state object."),(0,r.yg)("p",null,"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."),(0,r.yg)("p",null,"Once the promises returned by the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load")," method are\nresolved, this method is called with the an object containing the\nresolved values. The field names of the passed object will match the\nfield names in the object returned from the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load"),"\nmethod."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"statePatch")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L188"},"packages/core/src/controller/Controller.ts:188")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"update"},"update"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"update"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevParams?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"Callback for updating the controller after a route update. This method\nis invoked if the current route has the ",(0,r.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," flag set to ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,r.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option of the current route is a callback and\nreturned ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("p",null,"The method must return an object with the same semantics as the result\nof the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load")," method. The controller's state will only\nbe patched by the returned object instead of replacing it completely."),(0,r.yg)("p",null,"The other controller lifecycle callbacks (",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init"),",\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#activate"},"activate"),",\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#deactivate"},"deactivate"),", Controller#deinit) are not call\nin case this method is used."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevParams")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"R")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Previous route parameters.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,r.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L164"},"packages/core/src/controller/Controller.ts:164")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6b2b427d.d51786b5.js b/assets/js/6b2b427d.d51786b5.js deleted file mode 100644 index fe1fd202f..000000000 --- a/assets/js/6b2b427d.d51786b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8868],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>c});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),d=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=d(e.components);return n.createElement(s.Provider,{value:t},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},o=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),m=d(a),o=r,c=m["".concat(s,".").concat(o)]||m[o]||y[o]||i;return a?n.createElement(c,l(l({ref:t},g),{},{components:a})):n.createElement(c,l({ref:t},g))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=o;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[m]="string"==typeof e?e:r,l[1]=p;for(var d=2;d<i;d++)l[d]=a[d];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}o.displayName="MDXCreateElement"},8642:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>p,toc:()=>d});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.DispatcherImpl",title:"Class: DispatcherImpl",sidebar_label:"@ima/core.DispatcherImpl",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.DispatcherImpl",id:"api/classes/ima_core.DispatcherImpl",title:"Class: DispatcherImpl",description:"@ima/core.DispatcherImpl",source:"@site/../docs/api/classes/ima_core.DispatcherImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.DispatcherImpl",permalink:"/api/classes/ima_core.DispatcherImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.DispatcherImpl",title:"Class: DispatcherImpl",sidebar_label:"@ima/core.DispatcherImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Dispatcher",permalink:"/api/classes/ima_core.Dispatcher"},next:{title:"@ima/core.DynamicRoute",permalink:"/api/classes/ima_core.DynamicRoute"}},s={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_eventListeners",id:"_eventlisteners",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_eventListenersAll",id:"_eventlistenersall",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"$dependencies",id:"dependencies",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"_createNewEvent",id:"_createnewevent",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_createNewListener",id:"_createnewlistener",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_getListenersOf",id:"_getlistenersof",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_getScopesOf",id:"_getscopesof",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"fire",id:"fire",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"listen",id:"listen",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"listenAll",id:"listenall",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"unlistenAll",id:"unlistenall",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-13",level:4}],g={toc:d},m="wrapper";function y(e){let{components:t,...a}=e;return(0,r.yg)(m,(0,n.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".DispatcherImpl"),(0,r.yg)("p",null,"Default implementation of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher")," interface."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"DispatcherImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new DispatcherImpl"),"()"),(0,r.yg)("p",null,"Initializes the dispatcher."),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L39"},"packages/core/src/event/DispatcherImpl.ts:39")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_eventlisteners"},"_","eventListeners"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","eventListeners"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",", ",(0,r.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">",">"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L27"},"packages/core/src/event/DispatcherImpl.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_eventlistenersall"},"_","eventListenersAll"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","eventListenersAll"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"DispatcherListenerAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",", ",(0,r.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L32"},"packages/core/src/event/DispatcherImpl.ts:32")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"dependencies"},"$dependencies"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,r.yg)("inlineCode",{parentName:"a"},"Dependencies"))," = ",(0,r.yg)("inlineCode",{parentName:"p"},"[]")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L34"},"packages/core/src/event/DispatcherImpl.ts:34")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_createnewevent"},"_","createNewEvent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_createNewEvent"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Create new Map storage of listeners for the specified event."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L210"},"packages/core/src/event/DispatcherImpl.ts:210")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_createnewlistener"},"_","createNewListener"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_createNewListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"L"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Create new Set storage of scopes for the specified event and listener."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"L")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"L")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L221"},"packages/core/src/event/DispatcherImpl.ts:221")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getlistenersof"},"_","getListenersOf"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getListenersOf"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",", ",(0,r.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">",">"),(0,r.yg)("p",null,"Retrieves the map of event listeners to scopes they are bound to."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">",", ",(0,r.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">",">"),(0,r.yg)("p",null,"A map of event listeners to the\nscopes in which they should be executed. The returned map is an\nunmodifiable empty map if no listeners are registered for the\nevent."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L266"},"packages/core/src/event/DispatcherImpl.ts:266")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getscopesof"},"_","getScopesOf"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getScopesOf"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"L"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">"),(0,r.yg)("p",null,"Retrieves the scopes in which the specified event listener should be\nexecuted for the specified event."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"L")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"L")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">"),(0,r.yg)("p",null,"The scopes in which the specified listeners\nshould be executed in case of the specified event. The returned\nset is an unmodifiable empty set if no listeners are registered\nfor the event."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L244"},"packages/core/src/event/DispatcherImpl.ts:244")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"Deregisters all event listeners currently registered with this\ndispatcher."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#clear"},"clear")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L54"},"packages/core/src/event/DispatcherImpl.ts:54")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"Fires a new event of the specified name, carrying the provided data."),(0,r.yg)("p",null,"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."),(0,r.yg)("p",null,"It will also execute all event listeners registered to listen to all events."),(0,r.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#fire"},"fire")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L184"},"packages/core/src/event/DispatcherImpl.ts:184")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specified\nevent is fired on this dispatcher."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the data passed with the event as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener for the\nsame event and with the same scope multiple times has no effect."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to listen for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword will be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#listen"},"listen")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L63"},"packages/core/src/event/DispatcherImpl.ts:63")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listenall"},"listenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when any event is fired\non this dispatcher."),(0,r.yg)("p",null,"When any event is fired, the event listener will be executed with the data\npassed with the event as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener with the same\nscope multiple times has no effect."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"DispatcherListenerAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword will be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#listenall"},"listenAll")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L94"},"packages/core/src/event/DispatcherImpl.ts:94")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"Deregisters the provided event listener, so it will no longer be\nexecuted with the specified scope when the specified event is fired."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which the listener should be deregistered.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword would be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"This dispatcher."),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#unlisten"},"unlisten")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L117"},"packages/core/src/event/DispatcherImpl.ts:117")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlistenall"},"unlistenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlistenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"Deregisters the provided event listener, so it will no longer be\nexecuted when any event is fired."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"DispatcherListenerAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener function to deregister for all events.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional. The object to which the ",(0,r.yg)("inlineCode",{parentName:"td"},"this")," keyword would be bound in the event listener.")))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.DispatcherImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherImpl"))),(0,r.yg)("p",null,"This dispatcher instance."),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},"Dispatcher"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher#unlistenall"},"unlistenAll")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/DispatcherImpl.ts#L154"},"packages/core/src/event/DispatcherImpl.ts:154")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6bff6b59.c49e907a.js b/assets/js/6bff6b59.c49e907a.js deleted file mode 100644 index f0a513ad9..000000000 --- a/assets/js/6bff6b59.c49e907a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4633],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>u});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function g(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=n.createContext({}),m=function(e){var a=n.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=m(e.components);return n.createElement(p.Provider,{value:a},e.children)},d="mdxType",s={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},y=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=g(e,["components","mdxType","originalType","parentName"]),d=m(t),y=r,u=d["".concat(p,".").concat(y)]||d[y]||s[y]||i;return t?n.createElement(u,l(l({ref:a},o),{},{components:t})):n.createElement(u,l({ref:a},o))}));function u(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=y;var g={};for(var p in a)hasOwnProperty.call(a,p)&&(g[p]=a[p]);g.originalType=e,g[d]="string"==typeof e?e:r,l[1]=g;for(var m=2;m<i;m++)l[m]=t[m];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}y.displayName="MDXCreateElement"},6721:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>g,toc:()=>m});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.MetaManager",title:"Class: MetaManager",sidebar_label:"@ima/core.MetaManager",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.MetaManager",id:"api/classes/ima_core.MetaManager",title:"Class: MetaManager",description:"@ima/core.MetaManager",source:"@site/../docs/api/classes/ima_core.MetaManager.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.MetaManager",permalink:"/api/classes/ima_core.MetaManager",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.MetaManager",title:"Class: MetaManager",sidebar_label:"@ima/core.MetaManager",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.MessageFormatDictionary",permalink:"/api/classes/ima_core.MessageFormatDictionary"},next:{title:"@ima/core.MetaManagerImpl",permalink:"/api/classes/ima_core.MetaManagerImpl"}},p={},m=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"clearMetaAttributes",id:"clearmetaattributes",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"getLink",id:"getlink",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"getLinks",id:"getlinks",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getLinksIterator",id:"getlinksiterator",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getMetaName",id:"getmetaname",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getMetaNames",id:"getmetanames",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getMetaNamesIterator",id:"getmetanamesiterator",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getMetaProperties",id:"getmetaproperties",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getMetaPropertiesIterator",id:"getmetapropertiesiterator",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getMetaProperty",id:"getmetaproperty",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getTitle",id:"gettitle",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"setLink",id:"setlink",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"setMetaName",id:"setmetaname",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"setMetaProperty",id:"setmetaproperty",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"setTitle",id:"settitle",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-14",level:4}],o={toc:m},d="wrapper";function s(e){let{components:a,...t}=e;return(0,r.yg)(d,(0,n.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".MetaManager"),(0,r.yg)("p",null,"The Meta manager is a utility for managing various page attributes related\nto the SEO (search engine optimization) and social network integration."),(0,r.yg)("p",null,"The Meta manager is used to manage the following:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"page title, set using the contents of the ",(0,r.yg)("inlineCode",{parentName:"li"},"<title>")," element"),(0,r.yg)("li",{parentName:"ul"},"page links, linking related documents and meta-information, added to the\nusing ",(0,r.yg)("inlineCode",{parentName:"li"},"<link>")," elements"),(0,r.yg)("li",{parentName:"ul"},"page meta information:",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"the generic named meta information added to the page via\n",(0,r.yg)("inlineCode",{parentName:"li"},"<meta>} elements with the "),"name",(0,r.yg)("inlineCode",{parentName:"li"},"attribute, for\nexample the"),"keywords`."),(0,r.yg)("li",{parentName:"ul"},"specialized meta information added to the page via ",(0,r.yg)("inlineCode",{parentName:"li"},"<meta>"),"\nelements with the ",(0,r.yg)("inlineCode",{parentName:"li"},"property")," attribute, for example the OG meta\ntags (",(0,r.yg)("inlineCode",{parentName:"li"},"og:type"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"og:image"),", etc.).")))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"MetaManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new MetaManager"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"clearmetaattributes"},"clearMetaAttributes"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clearMetaAttributes"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Resets the stored meta names, properties and links."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L195"},"packages/core/src/meta/MetaManager.ts:195")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getlink"},"getLink"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getLink"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"relation"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"href"'),">"),(0,r.yg)("p",null,"Return the reference to the specified related linked document. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"relation")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The relation of the link target to the current page.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"href"'),">"),(0,r.yg)("p",null,"The reference to the location of the related document,\ne.g. a URL."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L169"},"packages/core/src/meta/MetaManager.ts:169")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getlinks"},"getLinks"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getLinks"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("p",null,"Returns the relations of the currently set related documents linked to\nthe current page."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L177"},"packages/core/src/meta/MetaManager.ts:177")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getlinksiterator"},"getLinksIterator"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getLinksIterator"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"href"'),">","]",">"),(0,r.yg)("p",null,"Return ","[key, value]"," pairs of currently set links."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"href"'),">","]",">"),(0,r.yg)("p",null,"[key, value]"," pairs of currently set links."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L186"},"packages/core/src/meta/MetaManager.ts:186")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getmetaname"},"getMetaName"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getMetaName"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,r.yg)("p",null,"Returns the value of the specified named meta information property. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the named meta information property.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,r.yg)("p",null,"The value of the generic meta information, or an empty string."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L69"},"packages/core/src/meta/MetaManager.ts:69")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getmetanames"},"getMetaNames"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getMetaNames"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("p",null,"Returns the names of the currently specified named meta information\nproperties."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("p",null,"The names of the currently specified named meta\ninformation properties."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L80"},"packages/core/src/meta/MetaManager.ts:80")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getmetanamesiterator"},"getMetaNamesIterator"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getMetaNamesIterator"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,r.yg)("p",null,"Return ","[key, value]"," pairs of named meta information."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,r.yg)("p",null,"[key, value]"," pairs of named meta information."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L89"},"packages/core/src/meta/MetaManager.ts:89")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getmetaproperties"},"getMetaProperties"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getMetaProperties"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("p",null,"Returns the names of the currently specified specialized meta\ninformation properties."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("p",null,"The names of the currently specified specialized meta\ninformation properties."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L131"},"packages/core/src/meta/MetaManager.ts:131")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getmetapropertiesiterator"},"getMetaPropertiesIterator"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getMetaPropertiesIterator"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,r.yg)("p",null,"Return ","[key, value]"," pairs of meta information properties."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"never"),"[] ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,r.yg)("p",null,"[key, value]"," pairs of meta information properties."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L140"},"packages/core/src/meta/MetaManager.ts:140")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getmetaproperty"},"getMetaProperty"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getMetaProperty"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"property"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,r.yg)("p",null,"Returns the value of the specified specialized meta information\nproperty. The method returns an empty string for missing meta\ninformation (to make the returned value React-friendly)."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"property")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,r.yg)("p",null,"The value of the specified meta information, or an\nempty string."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L120"},"packages/core/src/meta/MetaManager.ts:120")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gettitle"},"getTitle"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getTitle"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the page title. The method returns an empty string if no page\ntitle has been set yet."),(0,r.yg)("p",null,"Note that the page title is cached internally by the meta manager and\nmay therefore differ from the current document title if it has been\nmodified by a 3rd party code."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current page title."),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L45"},"packages/core/src/meta/MetaManager.ts:45")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setlink"},"setLink"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setLink"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"relation"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"href"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"attr?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,"Sets the specified specialized link information."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"relation")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The relation of the link target to the current page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"href")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaValue"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The reference to the location of the related document, e.g. a URL.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"attr?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metaattributes"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Parram"))),(0,r.yg)("p",null,"attr Additional optional link attributes."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L155"},"packages/core/src/meta/MetaManager.ts:155")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setmetaname"},"setMetaName"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setMetaName"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"content"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"attr?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,"Set the specified named meta information property."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Meta information property name, for example ",(0,r.yg)("inlineCode",{parentName:"td"},"keywords"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"content")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaValue"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The meta information content.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"attr?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metaattributes"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Parram"))),(0,r.yg)("p",null,"attr Additional optional meta attributes."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L57"},"packages/core/src/meta/MetaManager.ts:57")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setmetaproperty"},"setMetaProperty"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setMetaProperty"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"property"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"content"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"attr?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,"Sets the specified specialized meta information property."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"property")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value of the meta information property.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"content")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaValue"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"attr?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metaattributes"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Parram"))),(0,r.yg)("p",null,"attr Additional optional meta attributes."),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L102"},"packages/core/src/meta/MetaManager.ts:102")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"settitle"},"setTitle"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setTitle"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"title"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("p",null,"Sets the page title."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new page title.")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,r.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManager.ts#L31"},"packages/core/src/meta/MetaManager.ts:31")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6c6626f0.c5767579.js b/assets/js/6c6626f0.c5767579.js new file mode 100644 index 000000000..fa21bdae5 --- /dev/null +++ b/assets/js/6c6626f0.c5767579.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1220],{9803:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/PluginInitSettingsFunction","title":"Type Alias: PluginInitSettingsFunction()","description":"PluginInitSettingsFunction: (ns, oc, config, isDynamicallyLoaded) => PartialDeep\\\\","source":"@site/../docs/api/@ima/core/type-aliases/PluginInitSettingsFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/PluginInitSettingsFunction","permalink":"/api/@ima/core/type-aliases/PluginInitSettingsFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/PluginInitSettingsFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: PluginInitServicesFunction()","permalink":"/api/@ima/core/type-aliases/PluginInitServicesFunction"},"next":{"title":"Type Alias: Resource","permalink":"/api/@ima/core/type-aliases/Resource"}}');var t=i(2540),c=i(3023);const a={},r="Type Alias: PluginInitSettingsFunction()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"config",id:"config",level:3},{value:"isDynamicallyLoaded",id:"isdynamicallyloaded",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"type-alias-plugininitsettingsfunction",children:"Type Alias: PluginInitSettingsFunction()"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"PluginInitSettingsFunction"}),": (",(0,t.jsx)(n.code,{children:"ns"}),", ",(0,t.jsx)(n.code,{children:"oc"}),", ",(0,t.jsx)(n.code,{children:"config"}),", ",(0,t.jsx)(n.code,{children:"isDynamicallyLoaded"}),") => ",(0,t.jsx)(n.code,{children:"PartialDeep"}),"<",(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/AppSettings",children:(0,t.jsx)(n.code,{children:"AppSettings"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L57",children:"packages/core/src/Bootstrap.ts:57"})]}),"\n",(0,t.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h3,{id:"ns",children:"ns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,t.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,t.jsx)(n.h3,{id:"oc",children:"oc"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,t.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,t.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,t.jsx)(n.code,{children:"BootConfig"})}),"[",(0,t.jsx)(n.code,{children:'"settings"'}),"]"]}),"\n",(0,t.jsx)(n.h3,{id:"isdynamicallyloaded",children:"isDynamicallyLoaded"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"PartialDeep"}),"<",(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/AppSettings",children:(0,t.jsx)(n.code,{children:"AppSettings"})}),">"]})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>r});var s=i(3696);const t={},c=s.createContext(t);function a(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6d5b6e0a.8c4be1ab.js b/assets/js/6d5b6e0a.8c4be1ab.js new file mode 100644 index 000000000..3d26f3e1c --- /dev/null +++ b/assets/js/6d5b6e0a.8c4be1ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1794],{7541:(r,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/dev-utils/functions/formatError","title":"Function: formatError()","description":"formatError(parsedErrorData, rootDir?, uniqueTracker?): Promise\\\\","source":"@site/../docs/api/@ima/dev-utils/functions/formatError.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/formatError","permalink":"/api/@ima/dev-utils/functions/formatError","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/formatError.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: extractSourceMappingUrl()","permalink":"/api/@ima/dev-utils/functions/extractSourceMappingUrl"},"next":{"title":"Function: getSource()","permalink":"/api/@ima/dev-utils/functions/getSource"}}');var i=t(2540),o=t(3023);const s={},a="Function: formatError()",c={},d=[{value:"Parameters",id:"parameters",level:2},{value:"parsedErrorData",id:"parsederrordata",level:3},{value:"rootDir?",id:"rootdir",level:3},{value:"uniqueTracker?",id:"uniquetracker",level:3},{value:"Returns",id:"returns",level:2}];function l(r){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,o.R)(),...r.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.header,{children:(0,i.jsx)(e.h1,{id:"function-formaterror",children:"Function: formatError()"})}),"\n",(0,i.jsxs)(e.blockquote,{children:["\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:"formatError"}),"(",(0,i.jsx)(e.code,{children:"parsedErrorData"}),", ",(0,i.jsx)(e.code,{children:"rootDir"}),"?, ",(0,i.jsx)(e.code,{children:"uniqueTracker"}),"?): ",(0,i.jsx)(e.code,{children:"Promise"}),"<",(0,i.jsx)(e.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["Defined in: ",(0,i.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/cliUtils.ts#L178",children:"cliUtils.ts:178"})]}),"\n",(0,i.jsx)(e.p,{children:"Formats provided error object into readable format including\nthe errored source code fragment with line highlight. Works\nwith runtime and compile errors while trying to show all\nrelevant information that can be extracted from provided object."}),"\n",(0,i.jsx)(e.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(e.h3,{id:"parsederrordata",children:"parsedErrorData"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.a,{href:"/api/@ima/dev-utils/type-aliases/ParsedErrorData",children:(0,i.jsx)(e.code,{children:"ParsedErrorData"})})}),"\n",(0,i.jsx)(e.p,{children:"Parsed error data object\nobtained from parseError function (or provided directly)."}),"\n",(0,i.jsx)(e.h3,{id:"rootdir",children:"rootDir?"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.code,{children:"string"})}),"\n",(0,i.jsx)(e.p,{children:"Optional root directory used to print\nabsolute URLs as relative to the current rootDir."}),"\n",(0,i.jsx)(e.h3,{id:"uniquetracker",children:"uniqueTracker?"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:"string"}),"[]"]}),"\n",(0,i.jsx)(e.p,{children:"Array of error identifiers to\ntrack uniques, if the error matches identifier already included\nin this array, this function returns empty string."}),"\n",(0,i.jsx)(e.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:"Promise"}),"<",(0,i.jsx)(e.code,{children:"string"}),">"]}),"\n",(0,i.jsx)(e.p,{children:"Formatted error output."})]})}function u(r={}){const{wrapper:e}={...(0,o.R)(),...r.components};return e?(0,i.jsx)(e,{...r,children:(0,i.jsx)(l,{...r})}):l(r)}},3023:(r,e,t)=>{t.d(e,{R:()=>s,x:()=>a});var n=t(3696);const i={},o=n.createContext(i);function s(r){const e=n.useContext(o);return n.useMemo((function(){return"function"==typeof r?r(e):{...e,...r}}),[e,r])}function a(r){let e;return e=r.disableParentContext?"function"==typeof r.components?r.components(i):r.components||i:s(r.components),n.createElement(o.Provider,{value:e},r.children)}}}]); \ No newline at end of file diff --git a/assets/js/6dfadff3.42a29629.js b/assets/js/6dfadff3.42a29629.js deleted file mode 100644 index 79ba7f240..000000000 --- a/assets/js/6dfadff3.42a29629.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5257],{5680:(e,r,a)=>{a.d(r,{xA:()=>d,yg:()=>y});var n=a(6540);function t(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function i(e,r){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{};r%2?i(Object(a),!0).forEach((function(r){t(e,r,a[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))}))}return e}function o(e,r){if(null==e)return{};var a,n,t=function(e,r){if(null==e)return{};var a,n,t={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],r.indexOf(a)>=0||(t[a]=e[a]);return t}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(t[a]=e[a])}return t}var p=n.createContext({}),s=function(e){var r=n.useContext(p),a=r;return e&&(a="function"==typeof e?e(r):l(l({},r),e)),a},d=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},c="mdxType",g={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var a=e.components,t=e.mdxType,i=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=s(a),m=t,y=c["".concat(p,".").concat(m)]||c[m]||g[m]||i;return a?n.createElement(y,l(l({ref:r},d),{},{components:a})):n.createElement(y,l({ref:r},d))}));function y(e,r){var a=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var i=a.length,l=new Array(i);l[0]=m;var o={};for(var p in r)hasOwnProperty.call(r,p)&&(o[p]=r[p]);o.originalType=e,o[c]="string"==typeof e?e:t,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}m.displayName="MDXCreateElement"},6081:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>p,contentTitle:()=>l,default:()=>g,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=a(8102),t=(a(6540),a(5680));const i={id:"ima_core.CancelError",title:"Class: CancelError",sidebar_label:"@ima/core.CancelError",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.CancelError",id:"api/classes/ima_core.CancelError",title:"Class: CancelError",description:"@ima/core.CancelError",source:"@site/../docs/api/classes/ima_core.CancelError.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.CancelError",permalink:"/api/classes/ima_core.CancelError",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.CancelError",title:"Class: CancelError",sidebar_label:"@ima/core.CancelError",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.CacheImpl",permalink:"/api/classes/ima_core.CacheImpl"},next:{title:"@ima/core.ClientPageManager",permalink:"/api/classes/ima_core.ClientPageManager"}},p={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_params",id:"_params",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"cause",id:"cause",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"message",id:"message",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"stack",id:"stack",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"prepareStackTrace",id:"preparestacktrace",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"stackTraceLimit",id:"stacktracelimit",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getParams",id:"getparams",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"captureStackTrace",id:"capturestacktrace",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-12",level:4}],d={toc:s},c="wrapper";function g(e){let{components:r,...a}=e;return(0,t.yg)(c,(0,n.A)({},d,a,{components:r,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".CancelError"),(0,t.yg)("p",null,"Extension of GenericError which is used in route handling ot cancel\ncurrently managed route before proceeding with execution with new one."),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,t.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<","{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"status"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"409")," }",">"),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"CancelError"))))),(0,t.yg)("h2",{id:"constructors"},"Constructors"),(0,t.yg)("h3",{id:"constructor"},"constructor"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"new CancelError"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"message?"),")"),(0,t.yg)("h4",{id:"parameters"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Default value"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"message")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"string")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"'Canceled'"))))),(0,t.yg)("h4",{id:"overrides"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#constructor"},"constructor")),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/CancelError.ts#L8"},"packages/core/src/error/CancelError.ts:8")),(0,t.yg)("h2",{id:"properties"},"Properties"),(0,t.yg)("h3",{id:"_params"},"_","params"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","params"),": ","{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"status"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"409")," } & ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#genericerrorparams"},(0,t.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,t.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#_params"},"_params")),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L16"},"packages/core/src/error/GenericError.ts:16")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"cause"},"cause"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"cause"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"unknown")),(0,t.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#cause"},"cause")),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.es2022.error.d.ts:24"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"message"},"message"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"message"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#message"},"message")),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1068"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"name"},"name"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"name"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#name"},"name")),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1067"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"stack"},"stack"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"stack"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#stack"},"stack")),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1069"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"preparestacktrace"},"prepareStackTrace"),(0,t.yg)("p",null,"\u25aa ",(0,t.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"prepareStackTrace"),": (",(0,t.yg)("inlineCode",{parentName:"p"},"err"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"Error"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"stackTraces"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"CallSite"),"[]) => ",(0,t.yg)("inlineCode",{parentName:"p"},"any")),(0,t.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,t.yg)("p",null,"\u25b8 (",(0,t.yg)("inlineCode",{parentName:"p"},"err"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"stackTraces"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"any")),(0,t.yg)("p",null,"Optional override for formatting stack traces"),(0,t.yg)("h5",{id:"parameters-1"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"err")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"Error"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"stackTraces")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"CallSite"),"[]")))),(0,t.yg)("h5",{id:"returns"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"any")),(0,t.yg)("p",null,(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"See"))),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces"},"https://v8.dev/docs/stack-trace-api#customizing-stack-traces")),(0,t.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#preparestacktrace"},"prepareStackTrace")),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,"node_modules/@types/node/globals.d.ts:98"),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"stacktracelimit"},"stackTraceLimit"),(0,t.yg)("p",null,"\u25aa ",(0,t.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,t.yg)("strong",{parentName:"p"},"stackTraceLimit"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"number")),(0,t.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#stacktracelimit"},"stackTraceLimit")),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,"node_modules/@types/node/globals.d.ts:100"),(0,t.yg)("h2",{id:"methods"},"Methods"),(0,t.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"number")),(0,t.yg)("p",null,"Returns the HTTP status to send to the client."),(0,t.yg)("p",null,"If the error has occurred at the client-side, the status code is used to\ndetermine the error page to show to the user."),(0,t.yg)("p",null,"This method is a shorthand for the following code snippet:\n",(0,t.yg)("inlineCode",{parentName:"p"},"this.getParams().status || 500"),"."),(0,t.yg)("h4",{id:"returns-1"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"number")),(0,t.yg)("p",null,"The HTTP status to send to the client."),(0,t.yg)("p",null,(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"See"))),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html")),(0,t.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#gethttpstatus"},"getHttpStatus")),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L39"},"packages/core/src/error/GenericError.ts:39")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"getparams"},"getParams"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"getParams"),"(): ","{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"status"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"409")," } & ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#genericerrorparams"},(0,t.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,t.yg)("p",null,"Returns the error parameters providing additional details about the\nerror. The structure of the returned object is always\nsituation-dependent, but the returned object usually contains the\n",(0,t.yg)("inlineCode",{parentName:"p"},"status: number")," field which represents the HTTP status to send to\nthe client."),(0,t.yg)("h4",{id:"returns-2"},"Returns"),(0,t.yg)("p",null,"{"," ",(0,t.yg)("inlineCode",{parentName:"p"},"status"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"409")," } & ",(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core#genericerrorparams"},(0,t.yg)("inlineCode",{parentName:"a"},"GenericErrorParams"))),(0,t.yg)("p",null,"The route parameters of the route at which\nthe error has occurred."),(0,t.yg)("p",null,(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"See"))),(0,t.yg)("p",null,"Error#getHttpStatus"),(0,t.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#getparams"},"getParams")),(0,t.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L46"},"packages/core/src/error/GenericError.ts:46")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isclienterror"},"isClientError"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"isClientError"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("p",null,"Tests, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding)."),(0,t.yg)("h4",{id:"returns-3"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,t.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#isclienterror"},"isClientError")),(0,t.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L53"},"packages/core/src/error/GenericError.ts:53")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"isredirection"},"isRedirection"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"isRedirection"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("p",null,"Tests, whether the specified error should lead to a redirect."),(0,t.yg)("h4",{id:"returns-4"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"boolean")),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"true")," if the error should cause a redirect."),(0,t.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#isredirection"},"isRedirection")),(0,t.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/GenericError.ts#L60"},"packages/core/src/error/GenericError.ts:60")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"capturestacktrace"},"captureStackTrace"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,t.yg)("strong",{parentName:"p"},"captureStackTrace"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"targetObject"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"constructorOpt?"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Create .stack property on a target object"),(0,t.yg)("h4",{id:"parameters-2"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"targetObject")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"object"))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"constructorOpt?")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"Function"))))),(0,t.yg)("h4",{id:"returns-5"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},"GenericError"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError#capturestacktrace"},"captureStackTrace")),(0,t.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,t.yg)("p",null,"node_modules/@types/node/globals.d.ts:91"))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6f7688a7.13372e71.js b/assets/js/6f7688a7.13372e71.js deleted file mode 100644 index 78c17620c..000000000 --- a/assets/js/6f7688a7.13372e71.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8044],{5680:(e,r,a)=>{a.d(r,{xA:()=>c,yg:()=>u});var t=a(6540);function n(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function i(e,r){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),a.push.apply(a,t)}return a}function p(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{};r%2?i(Object(a),!0).forEach((function(r){n(e,r,a[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))}))}return e}function o(e,r){if(null==e)return{};var a,t,n=function(e,r){if(null==e)return{};var a,t,n={},i=Object.keys(e);for(t=0;t<i.length;t++)a=i[t],r.indexOf(a)>=0||(n[a]=e[a]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)a=i[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=t.createContext({}),d=function(e){var r=t.useContext(l),a=r;return e&&(a="function"==typeof e?e(r):p(p({},r),e)),a},c=function(e){var r=d(e.components);return t.createElement(l.Provider,{value:r},e.children)},s="mdxType",g={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},m=t.forwardRef((function(e,r){var a=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),s=d(a),m=n,u=s["".concat(l,".").concat(m)]||s[m]||g[m]||i;return a?t.createElement(u,p(p({ref:r},c),{},{components:a})):t.createElement(u,p({ref:r},c))}));function u(e,r){var a=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=a.length,p=new Array(i);p[0]=m;var o={};for(var l in r)hasOwnProperty.call(r,l)&&(o[l]=r[l]);o.originalType=e,o[s]="string"==typeof e?e:n,p[1]=o;for(var d=2;d<i;d++)p[d]=a[d];return t.createElement.apply(null,p)}return t.createElement.apply(null,a)}m.displayName="MDXCreateElement"},7361:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>l,contentTitle:()=>p,default:()=>g,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var t=a(8102),n=(a(6540),a(5680));const i={id:"ima_react_page_renderer.ViewAdapterProps",title:"Interface: ViewAdapterProps",sidebar_label:"@ima/react-page-renderer.ViewAdapterProps",custom_edit_url:null},p=void 0,o={unversionedId:"api/interfaces/ima_react_page_renderer.ViewAdapterProps",id:"api/interfaces/ima_react_page_renderer.ViewAdapterProps",title:"Interface: ViewAdapterProps",description:"@ima/react-page-renderer.ViewAdapterProps",source:"@site/../docs/api/interfaces/ima_react_page_renderer.ViewAdapterProps.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps",permalink:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.ViewAdapterProps",title:"Interface: ViewAdapterProps",sidebar_label:"@ima/react-page-renderer.ViewAdapterProps",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.PageContextType",permalink:"/api/interfaces/ima_react_page_renderer.PageContextType"},next:{title:"@ima/react-page-renderer.useComponentType",permalink:"/api/interfaces/ima_react_page_renderer.useComponentType"}},l={},d=[{value:"Properties",id:"properties",level:2},{value:"$Utils",id:"utils",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"managedRootView",id:"managedrootview",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"pageView",id:"pageview",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"refCallback",id:"refcallback",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"state",id:"state",level:3},{value:"Defined in",id:"defined-in-4",level:4}],c={toc:d},s="wrapper";function g(e){let{components:r,...a}=e;return(0,n.yg)(s,(0,t.A)({},c,a,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".ViewAdapterProps"),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"utils"},"$Utils"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$Utils"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,n.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L9"},"packages/react-page-renderer/src/component/ViewAdapter.ts:9")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"managedrootview"},"managedRootView"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"managedRootView"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L10"},"packages/react-page-renderer/src/component/ViewAdapter.ts:10")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"pageview"},"pageView"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"pageView"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L11"},"packages/react-page-renderer/src/component/ViewAdapter.ts:11")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"refcallback"},"refCallback"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"refCallback"),": () => ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("p",null,"\u25b8 (): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h5",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L12"},"packages/react-page-renderer/src/component/ViewAdapter.ts:12")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"state"},"state"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"state"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"State")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L13"},"packages/react-page-renderer/src/component/ViewAdapter.ts:13")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6ff345d3.47e48236.js b/assets/js/6ff345d3.47e48236.js new file mode 100644 index 000000000..6708d3900 --- /dev/null +++ b/assets/js/6ff345d3.47e48236.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8148],{5031:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>o,metadata:()=>i,toc:()=>u});const i=JSON.parse('{"id":"api/@ima/dev-utils/functions/printTime","title":"Function: printTime()","description":"printTime(): string","source":"@site/../docs/api/@ima/dev-utils/functions/printTime.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/printTime","permalink":"/api/@ima/dev-utils/functions/printTime","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/printTime.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: parseError()","permalink":"/api/@ima/dev-utils/functions/parseError"},"next":{"title":"Function: resolveErrorType()","permalink":"/api/@ima/dev-utils/functions/resolveErrorType"}}');var r=t(2540),s=t(3023);const o={},c="Function: printTime()",a={},u=[{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"function-printtime",children:"Function: printTime()"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"printTime"}),"(): ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L26",children:"logger.ts:26"})]}),"\n",(0,r.jsxs)(n.p,{children:["Prints current time in HH:MM",":SS"," format."]}),"\n",(0,r.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})})]})}function l(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var i=t(3696);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6ff7da37.e0716b72.js b/assets/js/6ff7da37.e0716b72.js new file mode 100644 index 000000000..cc8ffced4 --- /dev/null +++ b/assets/js/6ff7da37.e0716b72.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[545],{3027:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>i,metadata:()=>r,toc:()=>t});const r=JSON.parse('{"id":"api/@ima/core/classes/PageHandler","title":"Class: abstract PageHandler","description":"Defined in3","source":"@site/../docs/api/@ima/core/classes/PageHandler.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageHandler","permalink":"/api/@ima/core/classes/PageHandler","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageHandler.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageFactory","permalink":"/api/@ima/core/classes/PageFactory"},"next":{"title":"Class: PageHandlerRegistry","permalink":"/api/@ima/core/classes/PageHandlerRegistry"}}');var s=n(2540),d=n(3023);const i={},l="Class: abstract PageHandler",c={},t=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageHandler()",id:"new-pagehandler",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"handlePostManagedState()",id:"handlepostmanagedstate",level:3},{value:"Parameters",id:"parameters",level:4},{value:"managedPage",id:"managedpage",level:5},{value:"previousManagedPage",id:"previousmanagedpage",level:5},{value:"action",id:"action",level:5},{value:"Returns",id:"returns-2",level:4},{value:"handlePreManagedState()",id:"handlepremanagedstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"managedPage",id:"managedpage-1",level:5},{value:"nextManagedPage",id:"nextmanagedpage",level:5},{value:"action",id:"action-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-4",level:4}];function h(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsxs)(a.h1,{id:"class-abstract-pagehandler",children:["Class: ",(0,s.jsx)(a.code,{children:"abstract"})," PageHandler"]})}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L3",children:"packages/core/src/page/handler/PageHandler.ts:3"})]}),"\n",(0,s.jsx)(a.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(a.code,{children:"PageHandlerRegistry"})})}),"\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageMetaHandler",children:(0,s.jsx)(a.code,{children:"PageMetaHandler"})})}),"\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageNavigationHandler",children:(0,s.jsx)(a.code,{children:"PageNavigationHandler"})})}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(a.h3,{id:"new-pagehandler",children:"new PageHandler()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"new PageHandler"}),"(): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})})]}),"\n"]}),"\n",(0,s.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandler",children:(0,s.jsx)(a.code,{children:"PageHandler"})})}),"\n",(0,s.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(a.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"destroy"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L50",children:"packages/core/src/page/handler/PageHandler.ts:50"})]}),"\n",(0,s.jsx)(a.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepostmanagedstate",children:"handlePostManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePostManagedState"}),"(",(0,s.jsx)(a.code,{children:"managedPage"}),", ",(0,s.jsx)(a.code,{children:"previousManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L38",children:"packages/core/src/page/handler/PageHandler.ts:38"})]}),"\n",(0,s.jsx)(a.p,{children:"Called after a PageManager finishes transition from previous page to\na new one."}),"\n",(0,s.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"managedpage",children:"managedPage"}),"\n",(0,s.jsx)(a.p,{children:"The currently managed page."}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"null"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n",(0,s.jsx)(a.h5,{id:"previousmanagedpage",children:"previousManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The data of the page that was\npreviously managed."}),"\n",(0,s.jsx)(a.h5,{id:"action",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.p,{children:"An action object describing what triggered the routing."}),"\n",(0,s.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"handlepremanagedstate",children:"handlePreManagedState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"handlePreManagedState"}),"(",(0,s.jsx)(a.code,{children:"managedPage"}),", ",(0,s.jsx)(a.code,{children:"nextManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L21",children:"packages/core/src/page/handler/PageHandler.ts:21"})]}),"\n",(0,s.jsx)(a.p,{children:"Called before a PageManager starts to transition from previous page to\na new one."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"managedpage-1",children:"managedPage"}),"\n",(0,s.jsx)(a.p,{children:"The currently managed page - soon-to-be\npreviously managed page."}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"null"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n",(0,s.jsx)(a.h5,{id:"nextmanagedpage",children:"nextManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The data of the page that's about to\nbe managed."}),"\n",(0,s.jsx)(a.h5,{id:"action-1",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.p,{children:"An action object describing what triggered the routing."}),"\n",(0,s.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"init"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/handler/PageHandler.ts#L7",children:"packages/core/src/page/handler/PageHandler.ts:7"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes the page handler."}),"\n",(0,s.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})})]})}function o(e={}){const{wrapper:a}={...(0,d.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,a,n)=>{n.d(a,{R:()=>i,x:()=>l});var r=n(3696);const s={},d=r.createContext(s);function i(e){const a=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(d.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/70db71fd.2a4900f7.js b/assets/js/70db71fd.2a4900f7.js deleted file mode 100644 index 553a14f59..000000000 --- a/assets/js/70db71fd.2a4900f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6554],{5680:(e,t,n)=>{n.d(t,{xA:()=>g,yg:()=>u});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),o=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},g=function(e){var t=o(e.components);return a.createElement(d.Provider,{value:t},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),y=o(n),s=r,u=y["".concat(d,".").concat(s)]||y[s]||m[s]||i;return n?a.createElement(u,p(p({ref:t},g),{},{components:n})):a.createElement(u,p({ref:t},g))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,p=new Array(i);p[0]=s;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[y]="string"==typeof e?e:r,p[1]=l;for(var o=2;o<i;o++)p[o]=n[o];return a.createElement.apply(null,p)}return a.createElement.apply(null,n)}s.displayName="MDXCreateElement"},3851:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>p,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_react_page_renderer.ViewAdapter",title:"Class: ViewAdapter",sidebar_label:"@ima/react-page-renderer.ViewAdapter",custom_edit_url:null},p=void 0,l={unversionedId:"api/classes/ima_react_page_renderer.ViewAdapter",id:"api/classes/ima_react_page_renderer.ViewAdapter",title:"Class: ViewAdapter",description:"@ima/react-page-renderer.ViewAdapter",source:"@site/../docs/api/classes/ima_react_page_renderer.ViewAdapter.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.ViewAdapter",permalink:"/api/classes/ima_react_page_renderer.ViewAdapter",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.ViewAdapter",title:"Class: ViewAdapter",sidebar_label:"@ima/react-page-renderer.ViewAdapter",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.ServerPageRenderer",permalink:"/api/classes/ima_react_page_renderer.ServerPageRenderer"},next:{title:"@ima/cli.ImaCliArgs",permalink:"/api/interfaces/ima_cli.ImaCliArgs"}},d={},o=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_getContextValue",id:"_getcontextvalue",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-1",level:4},{value:"_managedRootView",id:"_managedrootview",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"context",id:"context",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"contextSelectors",id:"contextselectors",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"createContext",id:"createcontext",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"props",id:"props",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"refs",id:"refs",level:3},{value:"Index signature",id:"index-signature",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"contextType",id:"contexttype",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"Methods",id:"methods",level:2},{value:"UNSAFE_componentWillMount",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"UNSAFE_componentWillReceiveProps",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"UNSAFE_componentWillUpdate",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"componentDidCatch",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"componentDidMount",id:"componentdidmount",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"componentDidUpdate",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"componentWillMount",id:"componentwillmount",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"componentWillReceiveProps",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"componentWillUnmount",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"componentWillUpdate",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"forceUpdate",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"getContextValue",id:"getcontextvalue",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"getSnapshotBeforeUpdate",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"render",id:"render",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"shouldComponentUpdate",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"getDerivedStateFromProps",id:"getderivedstatefromprops",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-26",level:4}],g={toc:o},y="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(y,(0,a.A)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".ViewAdapter"),(0,r.yg)("p",null,"An adapter component providing the current page controller's state to the\npage view component through its properties."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"p"},"Component"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"State"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"ViewAdapter"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new ViewAdapter"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),")"),(0,r.yg)("p",null,"Initializes the adapter component."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Component properties, containing the actual page view and the initial page state to pass to the view.")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,"Component\\","<","ViewAdapterProps, State\\",">",".constructor"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L42"},"packages/react-page-renderer/src/component/ViewAdapter.ts:42")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_getcontextvalue"},"_","getContextValue"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","getContextValue"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"props"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"State"),") => ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h5",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"State"))))),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L26"},"packages/react-page-renderer/src/component/ViewAdapter.ts:26")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_managedrootview"},"_","managedRootView"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_","managedRootView"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L25"},"packages/react-page-renderer/src/component/ViewAdapter.ts:25")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"context"},"context"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"context"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("p",null,"If using the new style context, re-declare this in your class to be the\n",(0,r.yg)("inlineCode",{parentName:"p"},"React.ContextType")," of your ",(0,r.yg)("inlineCode",{parentName:"p"},"static contextType"),".\nShould be used with type annotation or static contextType."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://react.dev/reference/react/Component#context"},"React Docs")),(0,r.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,r.yg)("p",null,"Component.context"),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1006"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"contextselectors"},"contextSelectors"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"contextSelectors"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"props"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"State"),") => ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),"[]"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L32"},"packages/react-page-renderer/src/component/ViewAdapter.ts:32")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"createcontext"},"createContext"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"createContext"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"MemoizedFn"),"\\<(...",(0,r.yg)("inlineCode",{parentName:"p"},"args"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),"[]) => ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType")),">"),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L31"},"packages/react-page-renderer/src/component/ViewAdapter.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"props"},"props"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly")," ",(0,r.yg)("strong",{parentName:"p"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">"),(0,r.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,r.yg)("p",null,"Component.props"),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1026"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"refs"},"refs"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"refs"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs"},"Legacy React Docs")),(0,r.yg)("h4",{id:"index-signature"},"Index signature"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"ReactInstance")),(0,r.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,r.yg)("p",null,"Component.refs"),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1033"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"state"},"state"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"state"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"State"),">"),(0,r.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,r.yg)("p",null,"Component.state"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1027"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"contexttype"},"contextType"),(0,r.yg)("p",null,"\u25aa ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"contextType"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Context"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,r.yg)("p",null,"If set, ",(0,r.yg)("inlineCode",{parentName:"p"},"this.context")," will be set at runtime to the current value of the given Context."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://react.dev/reference/react/Component#static-contexttype"},"https://react.dev/reference/react/Component#static-contexttype")),(0,r.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,r.yg)("p",null,"Component.contextType"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:988"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"unsafe_componentwillmount"},"UNSAFE","_","componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#componentdidmount"},"componentDidMount")," or the constructor instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillMount"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1463"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillreceiveprops"},"UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1497"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unsafe_componentwillupdate"},"UNSAFE","_","componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"UNSAFE_componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#setstate"},"setState")," here."),(0,r.yg)("p",null,"This method will not stop working in React 17."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,r.yg)("p",null,"Component.UNSAFE","_","componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1527"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidcatch"},"componentDidCatch"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidCatch"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"error"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"errorInfo"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"error")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"errorInfo")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ErrorInfo"))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidCatch"),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1390"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidmount"},"componentDidMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after a component is mounted. Setting state here will trigger re-rendering."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidMount"),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1369"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentdidupdate"},"componentDidUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentDidUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"snapshot?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately after updating occurs. Not called for the initial render."),(0,r.yg)("p",null,"The snapshot is only present if ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate")," is present and returns non-null."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"snapshot?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,r.yg)("p",null,"Component.componentDidUpdate"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1432"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillmount"},"componentWillMount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillMount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before mounting occurs, and before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#render"},"render"),".\nAvoid introducing any side-effects or subscriptions in this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#componentdidmount"},"componentDidMount")," or the constructor instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillMount"),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1448"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillreceiveprops"},"componentWillReceiveProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillReceiveProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."),(0,r.yg)("p",null,"Calling ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#setstate"},"setState")," generally does not trigger this method."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillReceiveProps"),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1479"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillunmount"},"componentWillUnmount"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUnmount"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidMount"),"."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillUnmount"),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1385"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"componentwillupdate"},"componentWillUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"componentWillUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called immediately before rendering when new props or state is received. Not called for the initial render."),(0,r.yg)("p",null,"Note: You cannot call ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#setstate"},"setState")," here."),(0,r.yg)("p",null,"Note: the presence of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Deprecated"))),(0,r.yg)("p",null,"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"},"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"))),(0,r.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,r.yg)("p",null,"Component.componentWillUpdate"),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1511"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"forceupdate"},"forceUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"forceUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,r.yg)("p",null,"Component.forceUpdate"),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1023"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getcontextvalue"},"getContextValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getContextValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"State"))))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L89"},"packages/react-page-renderer/src/component/ViewAdapter.ts:89")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getsnapshotbeforeupdate"},"getSnapshotBeforeUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"getSnapshotBeforeUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"prevProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"prevState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("p",null,"Runs before React applies the result of ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#render"},"render")," to the document, and\nreturns an object to be given to ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#componentdidupdate"},"componentDidUpdate"),". Useful for saving\nthings such as scroll position before ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#render"},"render")," causes changes to it."),(0,r.yg)("p",null,"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"prevState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),">")))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,r.yg)("p",null,"Component.getSnapshotBeforeUpdate"),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1426"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"render"},"render"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"render"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"FunctionComponentElement"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"ProviderProps"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType")),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"CElement"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"ErrorBoundaryProps"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary"},(0,r.yg)("inlineCode",{parentName:"a"},"ErrorBoundary")),">"),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"FunctionComponentElement"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"ProviderProps"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType")),">",">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"CElement"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"ErrorBoundaryProps"),", ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ErrorBoundary"},(0,r.yg)("inlineCode",{parentName:"a"},"ErrorBoundary")),">"),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,"Component.render"),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L99"},"packages/react-page-renderer/src/component/ViewAdapter.ts:99")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setstate"},"setState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"callback?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number"))))),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"State")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"prevState"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),">",", ",(0,r.yg)("inlineCode",{parentName:"td"},"props"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"State")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">"," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"K"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,r.yg)("p",null,"Component.setState"),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1018"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"shouldcomponentupdate"},"shouldComponentUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"shouldComponentUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"nextProps"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextState"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"nextContext"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Called to determine whether the change in props and state should trigger a re-render."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Component")," always returns true.\n",(0,r.yg)("inlineCode",{parentName:"p"},"PureComponent")," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."),(0,r.yg)("p",null,"If false is returned, ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_react_page_renderer.ViewAdapter#render"},"render"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"componentWillUpdate"),"\nand ",(0,r.yg)("inlineCode",{parentName:"p"},"componentDidUpdate")," will not be called."),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextProps")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Readonly"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"State"),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"nextContext")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,r.yg)("p",null,"Component.shouldComponentUpdate"),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,"node_modules/@types/react/index.d.ts:1380"),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getderivedstatefromprops"},"getDerivedStateFromProps"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,r.yg)("strong",{parentName:"p"},"getDerivedStateFromProps"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"state"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"State")),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},(0,r.yg)("inlineCode",{parentName:"a"},"ViewAdapterProps")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"State"))))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"State")),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/component/ViewAdapter.ts#L71"},"packages/react-page-renderer/src/component/ViewAdapter.ts:71")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/70e9fb71.53704eb1.js b/assets/js/70e9fb71.53704eb1.js deleted file mode 100644 index d192a1322..000000000 --- a/assets/js/70e9fb71.53704eb1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9600],{5680:(e,r,n)=>{n.d(r,{xA:()=>c,yg:()=>y});var t=n(6540);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function o(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?i(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function p(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=t.createContext({}),l=function(e){var r=t.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):o(o({},r),e)),n},c=function(e){var r=l(e.components);return t.createElement(s.Provider,{value:r},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},m=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),d=l(n),m=a,y=d["".concat(s,".").concat(m)]||d[m]||u[m]||i;return n?t.createElement(y,o(o({ref:r},c),{},{components:n})):t.createElement(y,o({ref:r},c))}));function y(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var p={};for(var s in r)hasOwnProperty.call(r,s)&&(p[s]=r[s]);p.originalType=e,p[d]="string"==typeof e?e:a,o[1]=p;for(var l=2;l<i;l++)o[l]=n[l];return t.createElement.apply(null,o)}return t.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6891:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var t=n(8102),a=(n(6540),n(5680));const i={id:"ima_core.RendererTypes",title:"Enumeration: RendererTypes",sidebar_label:"@ima/core.RendererTypes",custom_edit_url:null},o=void 0,p={unversionedId:"api/enums/ima_core.RendererTypes",id:"api/enums/ima_core.RendererTypes",title:"Enumeration: RendererTypes",description:"@ima/core.RendererTypes",source:"@site/../docs/api/enums/ima_core.RendererTypes.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.RendererTypes",permalink:"/api/enums/ima_core.RendererTypes",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RendererTypes",title:"Enumeration: RendererTypes",sidebar_label:"@ima/core.RendererTypes",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RendererEvents",permalink:"/api/enums/ima_core.RendererEvents"},next:{title:"@ima/core.RouteNames",permalink:"/api/enums/ima_core.RouteNames"}},s={},l=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"HYDRATE",id:"hydrate",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"RENDER",id:"render",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"UNMOUNT",id:"unmount",level:3},{value:"Defined in",id:"defined-in-2",level:4}],c={toc:l},d="wrapper";function u(e){let{components:r,...n}=e;return(0,a.yg)(d,(0,t.A)({},c,n,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RendererTypes"),(0,a.yg)("p",null,"Events constants, which is firing to app."),(0,a.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,a.yg)("h3",{id:"hydrate"},"HYDRATE"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"HYDRATE")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.type.hydrate"')),(0,a.yg)("p",null,"The HYDRATE type is set if mounting use React.hydrate method."),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererTypes.ts#L12"},"packages/core/src/page/renderer/RendererTypes.ts:12")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"render"},"RENDER"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"RENDER")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.type.render"')),(0,a.yg)("p",null,"The RENDER type is set if mounting use React.render method."),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererTypes.ts#L8"},"packages/core/src/page/renderer/RendererTypes.ts:8")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"unmount"},"UNMOUNT"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"UNMOUNT")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageRenderer.type.unmount"')),(0,a.yg)("p",null,"The UNMOUNT type is set if unmounting use React.unmountComponentAtNode method."),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/RendererTypes.ts#L16"},"packages/core/src/page/renderer/RendererTypes.ts:16")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7132be39.7979ea93.js b/assets/js/7132be39.7979ea93.js deleted file mode 100644 index 342cbc0c4..000000000 --- a/assets/js/7132be39.7979ea93.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8415],{5680:(e,n,a)=>{a.d(n,{xA:()=>u,yg:()=>g});var t=a(6540);function r(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function o(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function i(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?o(Object(a),!0).forEach((function(n){r(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function l(e,n){if(null==e)return{};var a,t,r=function(e,n){if(null==e)return{};var a,t,r={},o=Object.keys(e);for(t=0;t<o.length;t++)a=o[t],n.indexOf(a)>=0||(r[a]=e[a]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)a=o[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=t.createContext({}),p=function(e){var n=t.useContext(s),a=n;return e&&(a="function"==typeof e?e(n):i(i({},n),e)),a},u=function(e){var n=p(e.components);return t.createElement(s.Provider,{value:n},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},d=t.forwardRef((function(e,n){var a=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=p(a),d=r,g=c["".concat(s,".").concat(d)]||c[d]||m[d]||o;return a?t.createElement(g,i(i({ref:n},u),{},{components:a})):t.createElement(g,i({ref:n},u))}));function g(e,n){var a=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=d;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[c]="string"==typeof e?e:r,i[1]=l;for(var p=2;p<o;p++)i[p]=a[p];return t.createElement.apply(null,i)}return t.createElement.apply(null,a)}d.displayName="MDXCreateElement"},6185:(e,n,a)=>{a.d(n,{A:()=>i});var t=a(6540),r=a(8017);const o={tabItem:"tabItem_Ymn6"};function i(e){let{children:n,hidden:a,className:i}=e;return t.createElement("div",{role:"tabpanel",className:(0,r.A)(o.tabItem,i),hidden:a},n)}},1253:(e,n,a)=>{a.d(n,{A:()=>w});var t=a(8102),r=a(6540),o=a(8017),i=a(3104),l=a(9519),s=a(7485),p=a(1682),u=a(9466);function c(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:a,attributes:t,default:r}}=e;return{value:n,label:a,attributes:t,default:r}}))}function m(e){const{values:n,children:a}=e;return(0,r.useMemo)((()=>{const e=n??c(a);return function(e){const n=(0,p.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,a])}function d(e){let{value:n,tabValues:a}=e;return a.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:a}=e;const t=(0,l.W6)(),o=function(e){let{queryString:n=!1,groupId:a}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:n,groupId:a});return[(0,s.aZ)(o),(0,r.useCallback)((e=>{if(!o)return;const n=new URLSearchParams(t.location.search);n.set(o,e),t.replace({...t.location,search:n.toString()})}),[o,t])]}function y(e){const{defaultValue:n,queryString:a=!1,groupId:t}=e,o=m(e),[i,l]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!d({value:n,tabValues:a}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=a.find((e=>e.default))??a[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:o}))),[s,p]=g({queryString:a,groupId:t}),[c,y]=function(e){let{groupId:n}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,o]=(0,u.Dv)(a);return[t,(0,r.useCallback)((e=>{a&&o.set(e)}),[a,o])]}({groupId:t}),h=(()=>{const e=s??c;return d({value:e,tabValues:o})?e:null})();(0,r.useLayoutEffect)((()=>{h&&l(h)}),[h]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!d({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),p(e),y(e)}),[p,y,o]),tabValues:o}}var h=a(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:n,block:a,selectedValue:l,selectValue:s,tabValues:p}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),m=e=>{const n=e.currentTarget,a=u.indexOf(n),t=p[a].value;t!==l&&(c(n),s(t))},d=e=>{let n=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":{const a=u.indexOf(e.currentTarget)+1;n=u[a]??u[0];break}case"ArrowLeft":{const a=u.indexOf(e.currentTarget)-1;n=u[a]??u[u.length-1];break}}n?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":a},n)},p.map((e=>{let{value:n,label:a,attributes:i}=e;return r.createElement("li",(0,t.A)({role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,key:n,ref:e=>u.push(e),onKeyDown:d,onClick:m},i,{className:(0,o.A)("tabs__item",f.tabItem,i?.className,{"tabs__item--active":l===n})}),a??n)})))}function v(e){let{lazy:n,children:a,selectedValue:t}=e;const o=(Array.isArray(a)?a:[a]).filter(Boolean);if(n){const e=o.find((e=>e.props.value===t));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},o.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==t}))))}function N(e){const n=y(e);return r.createElement("div",{className:(0,o.A)("tabs-container",f.tabList)},r.createElement(b,(0,t.A)({},e,n)),r.createElement(v,(0,t.A)({},e,n)))}function w(e){const n=(0,h.A)();return r.createElement(N,(0,t.A)({key:String(n)},e))}},4373:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>u,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>p,toc:()=>c});var t=a(8102),r=(a(6540),a(5680)),o=a(1253),i=a(6185);const l={title:"Getting Started with IMA.js",description:"Introduction > Resources to get started learning and using IMA.js"},s=void 0,p={unversionedId:"introduction/getting-started",id:"introduction/getting-started",title:"Getting Started with IMA.js",description:"Introduction > Resources to get started learning and using IMA.js",source:"@site/../docs/introduction/getting-started.md",sourceDirName:"introduction",slug:"/introduction/getting-started",permalink:"/introduction/getting-started",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/introduction/getting-started.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Getting Started with IMA.js",description:"Introduction > Resources to get started learning and using IMA.js"},sidebar:"docs",next:{title:"Configuration options",permalink:"/introduction/configuration"}},u={},c=[{value:"Installation",id:"installation",level:2},{value:"Available commands",id:"available-commands",level:3},{value:"Why should I use <code>create-ima-app</code> command?",id:"why-should-i-use-create-ima-app-command",level:3},{value:"Application structure",id:"application-structure",level:2},{value:"Production use",id:"production-use",level:2}],m={toc:c},d="wrapper";function g(e){let{components:n,...a}=e;return(0,r.yg)(d,(0,t.A)({},m,a,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"The ",(0,r.yg)("strong",{parentName:"p"},"IMA.js")," is an application development stack for developing isomorphic applications written in pure JavaScript and React.\nIt helps you develop fully isomorphic JavaScript applications that behave consistently in many different environments with ease\nusing the provided tools and several ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-plugins"},"plugins")," we already have available."),(0,r.yg)("p",null,"IMA.js development stack consists of many different components. Here's a summary of few of the main ones:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://reactjs.org/docs/getting-started.html"},"React")," for UI, which you should ",(0,r.yg)("a",{parentName:"li",href:"https://reactjs.org/tutorial/tutorial.html"},"learn before")," you dive head-first into IMA.js."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"http://expressjs.com/"},"Express.js")," as the web server, but you don't need to know express to use IMA.js."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://webpack.js.org/"},"Webpack"),", ",(0,r.yg)("a",{parentName:"li",href:"https://rollupjs.org/"},"Rollup")," and ",(0,r.yg)("a",{parentName:"li",href:"https://vitejs.dev/"},"Vite")," with various other tools which are used for building the application."),(0,r.yg)("li",{parentName:"ul"},"And various little utilities you don't need to concern yourself with :).")),(0,r.yg)("admonition",{type:"info"},(0,r.yg)("p",{parentName:"admonition"},"The IMA.js is divided into the ",(0,r.yg)("strong",{parentName:"p"},"core library"),", which you'll use to build your\napplication, and the ",(0,r.yg)("strong",{parentName:"p"},"application server")," build on top of Express.js, that brings\nyour application to life.")),(0,r.yg)("p",null,"You can find the core and server library along with many other IMA.js related packages in our monorepo at\n",(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima"},"https://github.com/seznam/ima"),"."),(0,r.yg)("h2",{id:"installation"},"Installation"),(0,r.yg)("p",null,"To install and run your new IMA.js application, you can use our ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"create-ima-app"))," npm package.\nStart by running following command:"),(0,r.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app my-app\n"))),(0,r.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app my-app\n"))),(0,r.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app my-app\n")))),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},(0,r.yg)("em",{parentName:"p"},"(",(0,r.yg)("a",{parentName:"em",href:"https://www.npmjs.com/package/npx"},"npx")," comes with npm 5.2+ and higher, ",(0,r.yg)("a",{parentName:"em",href:"https://github.com/facebook/create-react-app#creating-an-app"},"see instructions for older npm versions"),")"))),(0,r.yg)("p",null,"This will bootstrap your new application and install all dependencies. "),(0,r.yg)("p",null,"After the installation succeeds, run following commands to start your application:"),(0,r.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"cd my-app\nnpm run dev\n"))),(0,r.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"cd my-app\nyarn dev\n"))),(0,r.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"cd my-app\npnpm run dev\n")))),(0,r.yg)("p",null,"Before going ahead, now that your application is running, you can either continue reading this documentation,\nwhich describes many different parts of IMA.js in detail, take a direct look at the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Bootstrap"},"API")," or ",(0,r.yg)("a",{parentName:"p",href:"/tutorial/introduction"},(0,r.yg)("strong",{parentName:"a"},"start with our tutorial")),"."),(0,r.yg)("h3",{id:"available-commands"},"Available commands"),(0,r.yg)("p",null,"Once you've initialized your new IMA.js project, following commands become available to you through npm."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"npm run dev")," - Starts development server in ES13 mode on ",(0,r.yg)("a",{parentName:"li",href:"http://localhost:3001/"},(0,r.yg)("inlineCode",{parentName:"a"},"http://localhost:3001/")),". This will also start task in watch mode, so any changes you make to the source code are automatically re-builded."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"npm run test")," - Starts jest test runners."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"npm run lint")," - Runs eslint on your application source files. We've prepared pre-configured .eslintrc.js file which follows our IMA.js coding styles, but feel free to adjust this to your needs."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"npm run build")," - Builds your application. For more information ",(0,r.yg)("em",{parentName:"li"},"(see ",(0,r.yg)("a",{parentName:"em",href:"#production-use"},"Production use"),")"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"npm run start")," - Starts IMA.js server.")),(0,r.yg)("p",null,"The new IMA ",(0,r.yg)("a",{parentName:"p",href:"https://imajs.io/cli/"},"cli")," brings more configuration for your application."),(0,r.yg)("h3",{id:"why-should-i-use-create-ima-app-command"},"Why should I use ",(0,r.yg)("inlineCode",{parentName:"h3"},"create-ima-app")," command?"),(0,r.yg)("p",null,"Developing IMA.js application is fairly easy, but the initial setup process can be quite tiresome.\nThis tool aims to streamline this process, save your time and provide you with buildable\napplication with opinionated defaults that can be easily customized to your needs."),(0,r.yg)("h2",{id:"application-structure"},"Application structure"),(0,r.yg)("p",null,"Running ",(0,r.yg)("inlineCode",{parentName:"p"},"npx create-ima-app my-app")," command will create following directory structure:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"my-app\n\u251c\u2500\u2500 app\n\u2502 \u251c\u2500\u2500 component\n\u2502 \u2502 \u2514\u2500\u2500 card\n\u2502 \u251c\u2500\u2500 config\n\u2502 \u2502 \u251c\u2500\u2500 bind.js\n\u2502 \u2502 \u251c\u2500\u2500 routes.js\n\u2502 \u2502 \u251c\u2500\u2500 services.js\n\u2502 \u2502 \u2514\u2500\u2500 settings.js\n\u2502 \u251c\u2500\u2500 document\n\u2502 \u2502 \u2514\u2500\u2500 DocumentView.jsx\n\u2502 \u251c\u2500\u2500 less\n\u2502 \u2502 \u251c\u2500\u2500 global.less\n\u2502 \u2502 \u2514\u2500\u2500 app.less\n\u2502 \u251c\u2500\u2500 page\n\u2502 \u2502 \u251c\u2500\u2500 AbstractPageController.js\n\u2502 \u2502 \u251c\u2500\u2500 error\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2514\u2500\u2500 notFound\n\u2502 \u251c\u2500\u2500 public\n\u2502 \u2502 \u251c\u2500\u2500 cards.json\n\u2502 \u2502 \u251c\u2500\u2500 favicon.ico\n\u2502 \u2502 \u2514\u2500\u2500 ...\n\u2502 \u2514\u2500\u2500\u2500 main.js\n\u2514\u2500\u2500 server\n\u2502 \u251c\u2500\u2500 config\n\u2502 \u2502 \u2514\u2500\u2500 environment.js\n\u2502 \u251c\u2500\u2500 template\n\u2502 \u2502 \u251c\u2500\u2500 400.ejs\n\u2502 \u2502 \u251c\u2500\u2500 500.ejs\n\u2502 \u2502 \u2514\u2500\u2500 spa.ejs\n\u2502 \u2514\u2500\u2500 app.js\n\u2502 \u2514\u2500\u2500 server.js\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 ima.config.js\n\u251c\u2500\u2500 jest.config.json\n\u251c\u2500\u2500 jest.setup.js\n\u251c\u2500\u2500 jsConfig.json\n\u251c\u2500\u2500 package-lock.json\n\u2514\u2500\u2500 package.json\n")),(0,r.yg)("p",null,"So let's take a closer look at the ",(0,r.yg)("strong",{parentName:"p"},"contents of the application"),":"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"app")," - main application folder where all application source code is located.",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"component")," - our React components for use in the view. Components are\ncovered in ",(0,r.yg)("a",{parentName:"li",href:"../tutorial/adding-some-state.md"},"part 3 of our tutorial"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"config"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"environment.js")," - configuration files. For more information see\n",(0,r.yg)("a",{parentName:"li",href:"./configuration"},"Configuration")," page."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"less")," - Less CSS files defining common rules, overrides, macros, mixins\nand the basic UI layout."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"page")," - controllers, main views and page-specific Less CSS files for pages\nin our application. Usage of these is configured via routing.",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"error")," - the page shown when the application encounters an error that\nprevents it from working properly."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"home")," - the index (home) page."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"notFound")," - the page shown when the user navigates to a page that is not\ndefined in our application."))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"public")," - files that are preprocessed and copied to ",(0,r.yg)("inlineCode",{parentName:"li"},"built/static/public/")," for our build application,\nusually as static resources.")))),(0,r.yg)("h2",{id:"production-use"},"Production use"),(0,r.yg)("p",null,"If you want to deploy your IMA.js application to production, the installation is\nsimilar to the dev environment. ",(0,r.yg)("strong",{parentName:"p"},"To install the IMA.js application"),", start by cloning your application git\nrepository on your production server:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"git clone [your-application-git-repository]\n")),(0,r.yg)("p",null,"Switch to the cloned directory and run the following commands to set-up your\napplication - same as in the development mode - and build it:"),(0,r.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npm install\nnpm run build\n"))),(0,r.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"yarn install\nyarn build\n"))),(0,r.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm install\npnpm run build\n")))),(0,r.yg)("p",null,"Now after building your IMA.js application your server is ready to run it. You can start your application using the following command:"),(0,r.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,r.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"npm run start\n"))),(0,r.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"yarn run start\n"))),(0,r.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm run start\n")))),(0,r.yg)("p",null,"Your application is now running at ",(0,r.yg)("a",{parentName:"p",href:"http://localhost:3001/"},(0,r.yg)("inlineCode",{parentName:"a"},"http://localhost:3001/")),"\n(unless configured otherwise)."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7132be39.eacfae59.js b/assets/js/7132be39.eacfae59.js new file mode 100644 index 000000000..aa0a8f85b --- /dev/null +++ b/assets/js/7132be39.eacfae59.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8415],{2763:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>u});const r=JSON.parse('{"id":"introduction/getting-started","title":"Getting Started with IMA.js","description":"Introduction > Resources to get started learning and using IMA.js","source":"@site/../docs/introduction/getting-started.md","sourceDirName":"introduction","slug":"/introduction/getting-started","permalink":"/introduction/getting-started","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/introduction/getting-started.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Getting Started with IMA.js","description":"Introduction > Resources to get started learning and using IMA.js"},"sidebar":"docs","next":{"title":"Configuration options","permalink":"/introduction/configuration"}}');var s=t(2540),a=t(3023),i=t(3776),o=t(6052);const l={title:"Getting Started with IMA.js",description:"Introduction > Resources to get started learning and using IMA.js"},c=void 0,d={},u=[{value:"Installation",id:"installation",level:2},{value:"Available commands",id:"available-commands",level:3},{value:"Why should I use <code>create-ima-app</code> command?",id:"why-should-i-use-create-ima-app-command",level:3},{value:"Application structure",id:"application-structure",level:2},{value:"Production use",id:"production-use",level:2}];function p(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.strong,{children:"IMA.js"})," is an application development stack for developing isomorphic applications written in pure JavaScript and React.\nIt helps you develop fully isomorphic JavaScript applications that behave consistently in many different environments with ease\nusing the provided tools and several ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-plugins",children:"plugins"})," we already have available."]}),"\n",(0,s.jsx)(n.p,{children:"IMA.js development stack consists of many different components. Here's a summary of few of the main ones:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://reactjs.org/docs/getting-started.html",children:"React"})," for UI, which you should ",(0,s.jsx)(n.a,{href:"https://reactjs.org/tutorial/tutorial.html",children:"learn before"})," you dive head-first into IMA.js."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"http://expressjs.com/",children:"Express.js"})," as the web server, but you don't need to know express to use IMA.js."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://webpack.js.org/",children:"Webpack"}),", ",(0,s.jsx)(n.a,{href:"https://rollupjs.org/",children:"Rollup"})," and ",(0,s.jsx)(n.a,{href:"https://vitejs.dev/",children:"Vite"})," with various other tools which are used for building the application."]}),"\n",(0,s.jsx)(n.li,{children:"And various little utilities you don't need to concern yourself with :)."}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["The IMA.js is divided into the ",(0,s.jsx)(n.strong,{children:"core library"}),", which you'll use to build your\napplication, and the ",(0,s.jsx)(n.strong,{children:"application server"})," build on top of Express.js, that brings\nyour application to life."]})}),"\n",(0,s.jsxs)(n.p,{children:["You can find the core and server library along with many other IMA.js related packages in our monorepo at\n",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima",children:"https://github.com/seznam/ima"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsxs)(n.p,{children:["To install and run your new IMA.js application, you can use our ",(0,s.jsx)(n.strong,{children:(0,s.jsx)(n.code,{children:"create-ima-app"})})," npm package.\nStart by running following command:"]}),"\n",(0,s.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,s.jsx)(o.A,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npx create-ima-app my-app\n"})})}),(0,s.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn dlx create-ima-app my-app\n"})})}),(0,s.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm dlx create-ima-app my-app\n"})})})]}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsx)(n.p,{children:(0,s.jsxs)(n.em,{children:["(",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/npx",children:"npx"})," comes with npm 5.2+ and higher, ",(0,s.jsx)(n.a,{href:"https://github.com/facebook/create-react-app#creating-an-app",children:"see instructions for older npm versions"}),")"]})})}),"\n",(0,s.jsx)(n.p,{children:"This will bootstrap your new application and install all dependencies."}),"\n",(0,s.jsx)(n.p,{children:"After the installation succeeds, run following commands to start your application:"}),"\n",(0,s.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,s.jsx)(o.A,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cd my-app\nnpm run dev\n"})})}),(0,s.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cd my-app\nyarn dev\n"})})}),(0,s.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cd my-app\npnpm run dev\n"})})})]}),"\n",(0,s.jsxs)(n.p,{children:["Before going ahead, now that your application is running, you can either continue reading this documentation,\nwhich describes many different parts of IMA.js in detail, take a direct look at the\n",(0,s.jsx)(n.a,{href:"../api/classes/ima_core.Bootstrap.md",children:"API"})," or ",(0,s.jsx)(n.a,{href:"/tutorial/introduction",children:(0,s.jsx)(n.strong,{children:"start with our tutorial"})}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"available-commands",children:"Available commands"}),"\n",(0,s.jsx)(n.p,{children:"Once you've initialized your new IMA.js project, following commands become available to you through npm."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run dev"})," - Starts development server in ES13 mode on ",(0,s.jsx)(n.a,{href:"http://localhost:3001/",children:(0,s.jsx)(n.code,{children:"http://localhost:3001/"})}),". This will also start task in watch mode, so any changes you make to the source code are automatically re-builded."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run test"})," - Starts jest test runners."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run lint"})," - Runs eslint on your application source files. We've prepared pre-configured .eslintrc.js file which follows our IMA.js coding styles, but feel free to adjust this to your needs."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run build"})," - Builds your application. For more information ",(0,s.jsxs)(n.em,{children:["(see ",(0,s.jsx)(n.a,{href:"#production-use",children:"Production use"}),")"]}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm run start"})," - Starts IMA.js server."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The new IMA ",(0,s.jsx)(n.a,{href:"https://imajs.io/cli/",children:"cli"})," brings more configuration for your application."]}),"\n",(0,s.jsxs)(n.h3,{id:"why-should-i-use-create-ima-app-command",children:["Why should I use ",(0,s.jsx)(n.code,{children:"create-ima-app"})," command?"]}),"\n",(0,s.jsx)(n.p,{children:"Developing IMA.js application is fairly easy, but the initial setup process can be quite tiresome.\nThis tool aims to streamline this process, save your time and provide you with buildable\napplication with opinionated defaults that can be easily customized to your needs."}),"\n",(0,s.jsx)(n.h2,{id:"application-structure",children:"Application structure"}),"\n",(0,s.jsxs)(n.p,{children:["Running ",(0,s.jsx)(n.code,{children:"npx create-ima-app my-app"})," command will create following directory structure:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"my-app\n\u251c\u2500\u2500 app\n\u2502 \u251c\u2500\u2500 component\n\u2502 \u2502 \u2514\u2500\u2500 card\n\u2502 \u251c\u2500\u2500 config\n\u2502 \u2502 \u251c\u2500\u2500 bind.js\n\u2502 \u2502 \u251c\u2500\u2500 routes.js\n\u2502 \u2502 \u251c\u2500\u2500 services.js\n\u2502 \u2502 \u2514\u2500\u2500 settings.js\n\u2502 \u251c\u2500\u2500 document\n\u2502 \u2502 \u2514\u2500\u2500 DocumentView.jsx\n\u2502 \u251c\u2500\u2500 less\n\u2502 \u2502 \u251c\u2500\u2500 global.less\n\u2502 \u2502 \u2514\u2500\u2500 app.less\n\u2502 \u251c\u2500\u2500 page\n\u2502 \u2502 \u251c\u2500\u2500 AbstractPageController.js\n\u2502 \u2502 \u251c\u2500\u2500 error\n\u2502 \u2502 \u251c\u2500\u2500 home\n\u2502 \u2502 \u2514\u2500\u2500 notFound\n\u2502 \u251c\u2500\u2500 public\n\u2502 \u2502 \u251c\u2500\u2500 cards.json\n\u2502 \u2502 \u251c\u2500\u2500 favicon.ico\n\u2502 \u2502 \u2514\u2500\u2500 ...\n\u2502 \u2514\u2500\u2500\u2500 main.js\n\u2514\u2500\u2500 server\n\u2502 \u251c\u2500\u2500 config\n\u2502 \u2502 \u2514\u2500\u2500 environment.js\n\u2502 \u251c\u2500\u2500 template\n\u2502 \u2502 \u251c\u2500\u2500 400.ejs\n\u2502 \u2502 \u251c\u2500\u2500 500.ejs\n\u2502 \u2502 \u2514\u2500\u2500 spa.ejs\n\u2502 \u2514\u2500\u2500 app.js\n\u2502 \u2514\u2500\u2500 server.js\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 ima.config.js\n\u251c\u2500\u2500 jest.config.json\n\u251c\u2500\u2500 jest.setup.js\n\u251c\u2500\u2500 jsConfig.json\n\u251c\u2500\u2500 package-lock.json\n\u2514\u2500\u2500 package.json\n"})}),"\n",(0,s.jsxs)(n.p,{children:["So let's take a closer look at the ",(0,s.jsx)(n.strong,{children:"contents of the application"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"app"})," - main application folder where all application source code is located.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"component"})," - our React components for use in the view. Components are\ncovered in ",(0,s.jsx)(n.a,{href:"../tutorial/adding-some-state.md",children:"part 3 of our tutorial"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"config"}),", ",(0,s.jsx)(n.code,{children:"environment.js"})," - configuration files. For more information see\n",(0,s.jsx)(n.a,{href:"./configuration",children:"Configuration"})," page."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"less"})," - Less CSS files defining common rules, overrides, macros, mixins\nand the basic UI layout."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"page"})," - controllers, main views and page-specific Less CSS files for pages\nin our application. Usage of these is configured via routing.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"error"})," - the page shown when the application encounters an error that\nprevents it from working properly."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"home"})," - the index (home) page."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"notFound"})," - the page shown when the user navigates to a page that is not\ndefined in our application."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"public"})," - files that are preprocessed and copied to ",(0,s.jsx)(n.code,{children:"built/static/public/"})," for our build application,\nusually as static resources."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"production-use",children:"Production use"}),"\n",(0,s.jsxs)(n.p,{children:["If you want to deploy your IMA.js application to production, the installation is\nsimilar to the dev environment. ",(0,s.jsx)(n.strong,{children:"To install the IMA.js application"}),", start by cloning your application git\nrepository on your production server:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone [your-application-git-repository]\n"})}),"\n",(0,s.jsx)(n.p,{children:"Switch to the cloned directory and run the following commands to set-up your\napplication - same as in the development mode - and build it:"}),"\n",(0,s.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,s.jsx)(o.A,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm install\nnpm run build\n"})})}),(0,s.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn install\nyarn build\n"})})}),(0,s.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm install\npnpm run build\n"})})})]}),"\n",(0,s.jsx)(n.p,{children:"Now after building your IMA.js application your server is ready to run it. You can start your application using the following command:"}),"\n",(0,s.jsxs)(i.A,{groupId:"npm2yarn",children:[(0,s.jsx)(o.A,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run start\n"})})}),(0,s.jsx)(o.A,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn run start\n"})})}),(0,s.jsx)(o.A,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm run start\n"})})})]}),"\n",(0,s.jsxs)(n.p,{children:["Your application is now running at ",(0,s.jsx)(n.a,{href:"http://localhost:3001/",children:(0,s.jsx)(n.code,{children:"http://localhost:3001/"})}),"\n(unless configured otherwise)."]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},6052:(e,n,t)=>{t.d(n,{A:()=>i});t(3696);var r=t(2689);const s={tabItem:"tabItem_wHwb"};var a=t(2540);function i(e){let{children:n,hidden:t,className:i}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.A)(s.tabItem,i),hidden:t,children:n})}},3776:(e,n,t)=>{t.d(n,{A:()=>w});var r=t(3696),s=t(2689),a=t(3707),i=t(9519),o=t(3604),l=t(5196),c=t(6229),d=t(8030);function u(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:s}}=e;return{value:n,label:t,attributes:r,default:s}}))}(t);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function h(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const s=(0,i.W6)(),a=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,l.aZ)(a),(0,r.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(s.location.search);n.set(a,e),s.replace({...s.location,search:n.toString()})}),[a,s])]}function j(e){const{defaultValue:n,queryString:t=!1,groupId:s}=e,a=p(e),[i,l]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!h({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:a}))),[c,u]=m({queryString:t,groupId:s}),[j,x]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,a]=(0,d.Dv)(t);return[s,(0,r.useCallback)((e=>{t&&a.set(e)}),[t,a])]}({groupId:s}),g=(()=>{const e=c??j;return h({value:e,tabValues:a})?e:null})();(0,o.A)((()=>{g&&l(g)}),[g]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!h({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),x(e)}),[u,x,a]),tabValues:a}}var x=t(5200);const g={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var f=t(2540);function b(e){let{className:n,block:t,selectedValue:r,selectValue:i,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.a_)(),d=e=>{const n=e.currentTarget,t=l.indexOf(n),s=o[t].value;s!==r&&(c(n),i(s))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":t},n),children:o.map((e=>{let{value:n,label:t,attributes:a}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>{l.push(e)},onKeyDown:u,onClick:d,...a,className:(0,s.A)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":r===n}),children:t??n},n)}))})}function v(e){let{lazy:n,children:t,selectedValue:a}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:(0,s.A)("margin-top--md",e.props.className)}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==a})))})}function y(e){const n=j(e);return(0,f.jsxs)("div",{className:(0,s.A)("tabs-container",g.tabList),children:[(0,f.jsx)(b,{...n,...e}),(0,f.jsx)(v,{...n,...e})]})}function w(e){const n=(0,x.A)();return(0,f.jsx)(y,{...e,children:u(e.children)},String(n))}},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var r=t(3696);const s={},a=r.createContext(s);function i(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/715a99ae.ba2b9717.js b/assets/js/715a99ae.ba2b9717.js new file mode 100644 index 000000000..ff4ebe85d --- /dev/null +++ b/assets/js/715a99ae.ba2b9717.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4497],{574:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"api/@ima/core/type-aliases/OCInstance","title":"Type Alias: OCInstance\\\\<T\\\\>","description":"OCInstance\\\\ T extends AbstractConstructor\\\\ \\\\| Constructor\\\\ ? InstanceType\\\\ true; \\\\}\\\\] ? InstanceType\\\\ \\\\| null : T","source":"@site/../docs/api/@ima/core/type-aliases/OCInstance.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/OCInstance","permalink":"/api/@ima/core/type-aliases/OCInstance","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/OCInstance.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: OCInjectable\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/OCInjectable"},"next":{"title":"Type Alias: OCInstanceConstrain\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/OCInstanceConstrain"}}');var t=s(2540),a=s(3023);const r={},i="Type Alias: OCInstance<T>",o={},d=[{value:"Type Parameters",id:"type-parameters",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"type-alias-ocinstancet",children:"Type Alias: OCInstance<T>"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"OCInstance"}),"<",(0,t.jsx)(n.code,{children:"T"}),">: ",(0,t.jsx)(n.code,{children:"T"})," ",(0,t.jsx)(n.em,{children:"extends"})," keyof ",(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DecoratedOCAliasMap",children:(0,t.jsx)(n.code,{children:"DecoratedOCAliasMap"})})," ? ",(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DecoratedOCAliasMap",children:(0,t.jsx)(n.code,{children:"DecoratedOCAliasMap"})}),"[",(0,t.jsx)(n.code,{children:"T"}),"] : ",(0,t.jsx)(n.code,{children:"T"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.code,{children:"AbstractConstructor"}),"<",(0,t.jsx)(n.code,{children:"any"}),"> | ",(0,t.jsx)(n.code,{children:"Constructor"}),"<",(0,t.jsx)(n.code,{children:"any"}),"> ? ",(0,t.jsx)(n.code,{children:"InstanceType"}),"<",(0,t.jsx)(n.code,{children:"T"}),"> : ",(0,t.jsx)(n.code,{children:"T"})," ",(0,t.jsx)(n.em,{children:"extends"})," [",(0,t.jsx)(n.code,{children:"AbstractConstructor"}),"<",(0,t.jsx)(n.code,{children:"any"}),"> | ",(0,t.jsx)(n.code,{children:"Constructor"}),"<",(0,t.jsx)(n.code,{children:"any"}),">, { ",(0,t.jsx)(n.code,{children:"optional"}),": ",(0,t.jsx)(n.code,{children:"true"}),"; }] ? ",(0,t.jsx)(n.code,{children:"InstanceType"}),"<",(0,t.jsx)(n.code,{children:"T"}),"[",(0,t.jsx)(n.code,{children:"0"}),"]> | ",(0,t.jsx)(n.code,{children:"null"})," : ",(0,t.jsx)(n.code,{children:"T"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L41",children:"packages/core/src/oc/ObjectContainer.ts:41"})]}),"\n",(0,t.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"T"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstanceConstrain",children:(0,t.jsx)(n.code,{children:"OCInstanceConstrain"})})]})]})}function p(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>i});var c=s(3696);const t={},a=c.createContext(t);function r(e){const n=c.useContext(a);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),c.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/71f6bba6.adefb7f5.js b/assets/js/71f6bba6.adefb7f5.js new file mode 100644 index 000000000..1a0b9de5e --- /dev/null +++ b/assets/js/71f6bba6.adefb7f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8322],{6569:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"api/@ima/plugin-cli/variables/defaultConfig","title":"Variable: defaultConfig","description":"const defaultConfig: ImaPluginConfig","source":"@site/../docs/api/@ima/plugin-cli/variables/defaultConfig.md","sourceDirName":"api/@ima/plugin-cli/variables","slug":"/api/@ima/plugin-cli/variables/defaultConfig","permalink":"/api/@ima/plugin-cli/variables/defaultConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/variables/defaultConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: clientServerConfig","permalink":"/api/@ima/plugin-cli/variables/clientServerConfig"},"next":{"title":"Variable: nodeConfig","permalink":"/api/@ima/plugin-cli/variables/nodeConfig"}}');var t=n(2540),l=n(3023);const o={},r="Variable: defaultConfig",s={},c=[];function u(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"variable-defaultconfig",children:"Variable: defaultConfig"})}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"const"})," ",(0,t.jsx)(i.strong,{children:"defaultConfig"}),": ",(0,t.jsx)(i.a,{href:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",children:(0,t.jsx)(i.code,{children:"ImaPluginConfig"})})]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Defined in: ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/utils/configurations.ts#L6",children:"utils/configurations.ts:6"})]})]})}function d(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>o,x:()=>r});var a=n(3696);const t={},l=a.createContext(t);function o(e){const i=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),a.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/728bf073.02dc6685.js b/assets/js/728bf073.02dc6685.js deleted file mode 100644 index 7b9bf19ac..000000000 --- a/assets/js/728bf073.02dc6685.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4258],{5680:(e,t,r)=>{r.d(t,{xA:()=>u,yg:()=>m});var n=r(6540);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),d=o,m=s["".concat(l,".").concat(d)]||s[d]||f[d]||i;return r?n.createElement(m,a(a({ref:t},u),{},{components:r})):n.createElement(m,a({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:o,a[1]=c;for(var p=2;p<i;p++)a[p]=r[p];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},1851:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>f,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(8102),o=(r(6540),r(5680));const i={id:"index",title:"Documentation",sidebar_label:"Table of Contents",sidebar_position:.5,hide_table_of_contents:!0,custom_edit_url:null},a=void 0,c={unversionedId:"api/index",id:"api/index",title:"Documentation",description:"",source:"@site/../docs/api/index.md",sourceDirName:"api",slug:"/api/",permalink:"/api/",draft:!1,editUrl:null,tags:[],version:"current",sidebarPosition:.5,frontMatter:{id:"index",title:"Documentation",sidebar_label:"Table of Contents",sidebar_position:.5,hide_table_of_contents:!0,custom_edit_url:null},sidebar:"api",next:{title:"@ima/cli",permalink:"/api/modules/ima_cli"}},l={},p=[],u={toc:p},s="wrapper";function f(e){let{components:t,...r}=e;return(0,o.yg)(s,(0,n.A)({},u,r,{components:t,mdxType:"MDXLayout"}))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/728bf073.bed1eb1c.js b/assets/js/728bf073.bed1eb1c.js new file mode 100644 index 000000000..08fbc7d85 --- /dev/null +++ b/assets/js/728bf073.bed1eb1c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4258],{6635:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>p,frontMatter:()=>c,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"api/index","title":"Documentation","description":"Packages","source":"@site/../docs/api/index.md","sourceDirName":"api","slug":"/api/","permalink":"/api/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: PageContext","permalink":"/api/@ima/react-page-renderer/variables/PageContext"}}');var t=i(2540),r=i(3023);const c={},s="Documentation",o={},l=[{value:"Packages",id:"packages",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"documentation",children:"Documentation"})}),"\n",(0,t.jsx)(n.h2,{id:"packages",children:"Packages"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/api/@ima/cli/",children:"@ima/cli"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/",children:"@ima/core"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/api/@ima/dev-utils/",children:"@ima/dev-utils"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/api/@ima/plugin-cli/",children:"@ima/plugin-cli"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/",children:"@ima/react-page-renderer"})}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>s});var a=i(3696);const t={},r=a.createContext(t);function c(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/72a309aa.8a420e38.js b/assets/js/72a309aa.8a420e38.js deleted file mode 100644 index 2bd2e2b0d..000000000 --- a/assets/js/72a309aa.8a420e38.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2171],{5680:(e,t,a)=>{a.d(t,{xA:()=>o,yg:()=>N});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?p(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):p(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},p=Object.keys(e);for(n=0;n<p.length;n++)a=p[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(n=0;n<p.length;n++)a=p[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var g=n.createContext({}),d=function(e){var t=n.useContext(g),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},o=function(e){var t=d(e.components);return n.createElement(g.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,p=e.originalType,g=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),s=d(a),y=r,N=s["".concat(g,".").concat(y)]||s[y]||m[y]||p;return a?n.createElement(N,i(i({ref:t},o),{},{components:a})):n.createElement(N,i({ref:t},o))}));function N(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var p=a.length,i=new Array(p);i[0]=y;var l={};for(var g in t)hasOwnProperty.call(t,g)&&(l[g]=t[g]);l.originalType=e,l[s]="string"==typeof e?e:r,i[1]=l;for(var d=2;d<p;d++)i[d]=a[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},1376:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>g,contentTitle:()=>i,default:()=>m,frontMatter:()=>p,metadata:()=>l,toc:()=>d});var n=a(8102),r=(a(6540),a(5680));const p={id:"ima_core.HttpAgent",title:"Class: HttpAgent",sidebar_label:"@ima/core.HttpAgent",custom_edit_url:null},i=void 0,l={unversionedId:"api/classes/ima_core.HttpAgent",id:"api/classes/ima_core.HttpAgent",title:"Class: HttpAgent",description:"@ima/core.HttpAgent",source:"@site/../docs/api/classes/ima_core.HttpAgent.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.HttpAgent",permalink:"/api/classes/ima_core.HttpAgent",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.HttpAgent",title:"Class: HttpAgent",sidebar_label:"@ima/core.HttpAgent",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.GenericError",permalink:"/api/classes/ima_core.GenericError"},next:{title:"@ima/core.HttpAgentImpl",permalink:"/api/classes/ima_core.HttpAgentImpl"}},g={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"clearDefaultHeaders",id:"cleardefaultheaders",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"delete",id:"delete",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"get",id:"get",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getCacheKey",id:"getcachekey",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"invalidateCache",id:"invalidatecache",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"patch",id:"patch",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"post",id:"post",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"put",id:"put",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"setDefaultHeader",id:"setdefaultheader",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4}],o={toc:d},s="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(s,(0,n.A)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".HttpAgent"),(0,r.yg)("p",null,"The ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent")," defines unifying API for sending HTTP requests at\nboth client-side and server-side."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"HttpAgent"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgentImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentImpl"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgentImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new HttpAgent"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"cleardefaultheaders"},"clearDefaultHeaders"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clearDefaultHeaders"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("p",null,"Clears all configured default headers."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("p",null,"This HTTP agent."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L214"},"packages/core/src/http/HttpAgent.ts:214")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"delete"},"delete"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"delete"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP DELETE request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L164"},"packages/core/src/http/HttpAgent.ts:164")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP GET request to the specified URL, sending the provided\ndata as query parameters."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as query parameters.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L80"},"packages/core/src/http/HttpAgent.ts:80")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getcachekey"},"getCacheKey"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getCacheKey"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates a cache key to use for identifying a request to the specified\nURL using the specified HTTP method, submitting the provided data."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method used by the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request is sent.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data associated with the request. These can be either the query parameters or request body data.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The key to use for identifying such a request in the\ncache."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L184"},"packages/core/src/http/HttpAgent.ts:184")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"invalidatecache"},"invalidateCache"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"invalidateCache"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Method invalidate cache for given params"),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L191"},"packages/core/src/http/HttpAgent.ts:191")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"patch"},"patch"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"patch"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP PATCH request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L143"},"packages/core/src/http/HttpAgent.ts:143")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"post"},"post"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"post"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP POST request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L101"},"packages/core/src/http/HttpAgent.ts:101")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"put"},"put"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"put"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP PUT request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L122"},"packages/core/src/http/HttpAgent.ts:122")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setdefaultheader"},"setDefaultHeader"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setDefaultHeader"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"header"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("p",null,"Sets the specified header to be sent with every subsequent HTTP request,\nunless explicitly overridden by request options."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"header")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the header.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The header value. To provide multiple values, separate them with commas (see ",(0,r.yg)("a",{parentName:"td",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2"),").")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("p",null,"This HTTP agent."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L205"},"packages/core/src/http/HttpAgent.ts:205")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/72b2125c.057b0a95.js b/assets/js/72b2125c.057b0a95.js new file mode 100644 index 000000000..aeae7a300 --- /dev/null +++ b/assets/js/72b2125c.057b0a95.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1457],{9365:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/listen","title":"Function: listen()","description":"listen(component, eventTarget, eventName, listener): EventBus","source":"@site/../docs/api/@ima/react-page-renderer/functions/listen.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/listen","permalink":"/api/@ima/react-page-renderer/functions/listen","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/listen.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: link()","permalink":"/api/@ima/react-page-renderer/functions/link"},"next":{"title":"Function: localize()","permalink":"/api/@ima/react-page-renderer/functions/localize"}}');var s=t(2540),i=t(3023);const c={},a="Function: listen()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"component",id:"component",level:3},{value:"eventTarget",id:"eventtarget",level:3},{value:"eventName",id:"eventname",level:3},{value:"listener",id:"listener",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-listen",children:"Function: listen()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"listen"}),"(",(0,s.jsx)(n.code,{children:"component"}),", ",(0,s.jsx)(n.code,{children:"eventTarget"}),", ",(0,s.jsx)(n.code,{children:"eventName"}),", ",(0,s.jsx)(n.code,{children:"listener"}),"): ",(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L168",children:"packages/react-page-renderer/src/componentHelpers.ts:168"})]}),"\n",(0,s.jsx)(n.p,{children:"Registers the provided event listener for execution whenever an IMA.js\nDOM custom event of the specified name occurs at the specified event\ntarget."}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"component",children:"component"}),"\n",(0,s.jsx)(n.p,{children:"The component\nrequesting the registration of the event listener."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,s.jsx)(n.code,{children:"AbstractComponent"})})," | ",(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,s.jsx)(n.code,{children:"AbstractPureComponent"})})]}),"\n",(0,s.jsx)(n.h3,{id:"eventtarget",children:"eventTarget"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,s.jsx)(n.p,{children:"The react component or\nevent target at which the listener should listen for the event."}),"\n",(0,s.jsx)(n.h3,{id:"eventname",children:"eventName"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.p,{children:"The name of the event for which to listen."}),"\n",(0,s.jsx)(n.h3,{id:"listener",children:"listener"}),"\n",(0,s.jsxs)(n.p,{children:["(",(0,s.jsx)(n.code,{children:"event"}),") => ",(0,s.jsx)(n.code,{children:"void"})]}),"\n",(0,s.jsx)(n.p,{children:"The listener for event to register."}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(n.code,{children:"EventBus"})})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>a});var r=t(3696);const s={},i=r.createContext(s);function c(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7325f36b.bd98ed28.js b/assets/js/7325f36b.bd98ed28.js deleted file mode 100644 index 04b066848..000000000 --- a/assets/js/7325f36b.bd98ed28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8823],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function s(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),g=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=g(e.components);return r.createElement(p.Provider,{value:a},e.children)},y="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,o=s(e,["components","mdxType","originalType","parentName"]),y=g(t),m=n,c=y["".concat(p,".").concat(m)]||y[m]||d[m]||i;return t?r.createElement(c,l(l({ref:a},o),{},{components:t})):r.createElement(c,l({ref:a},o))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=m;var s={};for(var p in a)hasOwnProperty.call(a,p)&&(s[p]=a[p]);s.originalType=e,s[y]="string"==typeof e?e:n,l[1]=s;for(var g=2;g<i;g++)l[g]=t[g];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5488:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>g});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.Observable",title:"Class: Observable",sidebar_label:"@ima/core.Observable",custom_edit_url:null},l=void 0,s={unversionedId:"api/classes/ima_core.Observable",id:"api/classes/ima_core.Observable",title:"Class: Observable",description:"@ima/core.Observable",source:"@site/../docs/api/classes/ima_core.Observable.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Observable",permalink:"/api/classes/ima_core.Observable",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Observable",title:"Class: Observable",sidebar_label:"@ima/core.Observable",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ObjectContainer",permalink:"/api/classes/ima_core.ObjectContainer"},next:{title:"@ima/core.ObservableImpl",permalink:"/api/classes/ima_core.ObservableImpl"}},p={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"registerPersistenEvent",id:"registerpersistenevent",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"subscribe",id:"subscribe",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"unsubscribe",id:"unsubscribe",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4}],o={toc:g},y="wrapper";function d(e){let{components:a,...t}=e;return(0,n.yg)(y,(0,r.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Observable"),(0,n.yg)("p",null,"An Observable is a class that manages event listeners and allows distributing\nevents to the registered listeners. It maintains a history of events and supports\npersistent events that are not cleared during route changes."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Observable"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new Observable"),"()"),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"Clears all persistent events, observers, and activity history from the observable."),(0,n.yg)("p",null,"This method will remove all stored events, registered observers, and any recorded\nactivity history, effectively resetting the observable to its initial state."),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Observable.ts#L35"},"packages/core/src/event/Observable.ts:35")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"destroy"},"destroy"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"Destroys the observable by clearing its internal state and removing all event listeners."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Observable.ts#L23"},"packages/core/src/event/Observable.ts:23")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"Initializes the observable."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Observable.ts#L14"},"packages/core/src/event/Observable.ts:14")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"registerpersistenevent"},"registerPersistenEvent"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"registerPersistenEvent"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"Registers an event as persistent, meaning its history won't be cleared upon calling the ",(0,n.yg)("inlineCode",{parentName:"p"},"clear")," method (route change)."),(0,n.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Observable.ts#L45"},"packages/core/src/event/Observable.ts:45")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"subscribe"},"subscribe"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"subscribe"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"observer"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"Subscribes an observer to a specific event. When the event is dispatched,\nthe observer will be notified and executed within the provided scope.\nIf the event has already occurred, the observer will be immediately\ninvoked with the historical data."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The event to subscribe to.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"observer")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The observer function to be called when the event is dispatched.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"scope?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The scope in which the observer function should be executed. This is optional.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Observable.ts#L63"},"packages/core/src/event/Observable.ts:63")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unsubscribe"},"unsubscribe"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unsubscribe"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"observer"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"Unsubscribes an observer from a specific event."),(0,n.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"E")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The event name or key from the DispatcherEventsMap.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"observer")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The observer (listener) to be unsubscribed.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"scope?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Optional scope to be used for the observer.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",null,"The current instance for chaining."),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/Observable.ts#L80"},"packages/core/src/event/Observable.ts:80")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/737af32c.0d4b97cd.js b/assets/js/737af32c.0d4b97cd.js new file mode 100644 index 000000000..da2c4745a --- /dev/null +++ b/assets/js/737af32c.0d4b97cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4113],{9110:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/plugin-cli/interfaces/ImaPluginConfig","title":"Interface: ImaPluginConfig","description":"Defined in57","source":"@site/../docs/api/@ima/plugin-cli/interfaces/ImaPluginConfig.md","sourceDirName":"api/@ima/plugin-cli/interfaces","slug":"/api/@ima/plugin-cli/interfaces/ImaPluginConfig","permalink":"/api/@ima/plugin-cli/interfaces/ImaPluginConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/interfaces/ImaPluginConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Context","permalink":"/api/@ima/plugin-cli/interfaces/Context"},"next":{"title":"Interface: PipeContext","permalink":"/api/@ima/plugin-cli/interfaces/PipeContext"}}');var c=i(2540),t=i(3023);const r={},l="Interface: ImaPluginConfig",a={},d=[{value:"Properties",id:"properties",level:2},{value:"additionalWatchPaths?",id:"additionalwatchpaths",level:3},{value:"exclude?",id:"exclude",level:3},{value:"inputDir",id:"inputdir",level:3},{value:"jsxRuntime?",id:"jsxruntime",level:3},{value:"output",id:"output",level:3},{value:"plugins?",id:"plugins",level:3},{value:"sourceMaps?",id:"sourcemaps",level:3},{value:"target",id:"target",level:3},{value:"transformers?",id:"transformers",level:3}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"interface-imapluginconfig",children:"Interface: ImaPluginConfig"})}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L57",children:"types.ts:57"})]}),"\n",(0,c.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(n.h3,{id:"additionalwatchpaths",children:"additionalWatchPaths?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"additionalWatchPaths"}),": ",(0,c.jsx)(n.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L66",children:"types.ts:66"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"exclude",children:"exclude?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"exclude"}),": ",(0,c.jsx)(n.code,{children:"AnymatchMatcher"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L61",children:"types.ts:61"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"inputdir",children:"inputDir"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"inputDir"}),": ",(0,c.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L58",children:"types.ts:58"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"jsxruntime",children:"jsxRuntime?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"jsxRuntime"}),": ",(0,c.jsx)(n.code,{children:'"automatic"'})," | ",(0,c.jsx)(n.code,{children:'"classic"'})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L63",children:"types.ts:63"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"output",children:"output"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"output"}),": ",(0,c.jsx)(n.code,{children:"ImaPluginOutputConfig"}),"[]"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L59",children:"types.ts:59"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"plugins",children:"plugins?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"plugins"}),": ",(0,c.jsx)(n.a,{href:"/api/@ima/plugin-cli/type-aliases/Plugin",children:(0,c.jsx)(n.code,{children:"Plugin"})}),"[]"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L62",children:"types.ts:62"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"sourcemaps",children:"sourceMaps?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"sourceMaps"}),": ",(0,c.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L65",children:"types.ts:65"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"target",children:"target"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"target"}),": ",(0,c.jsx)(n.code,{children:"JscTarget"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L60",children:"types.ts:60"})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"transformers",children:"transformers?"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"optional"})," ",(0,c.jsx)(n.strong,{children:"transformers"}),": ",(0,c.jsx)(n.code,{children:"TransformerDefinition"}),"[] | ",(0,c.jsx)(n.code,{children:'"..."'})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L64",children:"types.ts:64"})]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>l});var s=i(3696);const c={},t=s.createContext(c);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/73933150.0a37cc16.js b/assets/js/73933150.0a37cc16.js new file mode 100644 index 000000000..eac1aa675 --- /dev/null +++ b/assets/js/73933150.0a37cc16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6690],{953:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"api/@ima/core/classes/ServerRouter","title":"Class: ServerRouter","description":"Defined in17","source":"@site/../docs/api/@ima/core/classes/ServerRouter.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ServerRouter","permalink":"/api/@ima/core/classes/ServerRouter","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ServerRouter.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ServerPageManager","permalink":"/api/@ima/core/classes/ServerPageManager"},"next":{"title":"Class: ServerWindow","permalink":"/api/@ima/core/classes/ServerWindow"}}');var i=s(2540),t=s(3023);const c={},d="Class: ServerRouter",a={},o=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ServerRouter()",id:"new-serverrouter",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageManager",id:"pagemanager",level:5},{value:"factory",id:"factory",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"request",id:"request",level:5},{value:"response",id:"response",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_currentlyRoutedPath",id:"_currentlyroutedpath",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"_currentMiddlewareId",id:"_currentmiddlewareid",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_factory",id:"_factory",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_host",id:"_host",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"_isSPARouted",id:"_issparouted",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"_languagePartPath",id:"_languagepartpath",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"_middlewareTimeout",id:"_middlewaretimeout",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"_pageManager",id:"_pagemanager",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"_protocol",id:"_protocol",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"_root",id:"_root",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"_routeHandlers",id:"_routehandlers",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"_extractRoutePath()",id:"_extractroutepath",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"path",id:"path",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"_getCurrentlyRoutedPath()",id:"_getcurrentlyroutedpath",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"_getMiddlewaresForRoute()",id:"_getmiddlewaresforroute",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"routeName",id:"routename",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"_handle()",id:"_handle",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"route",id:"route",level:5},{value:"params",id:"params",level:5},{value:"options?",id:"options",level:5},{value:"action?",id:"action",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"_runMiddlewares()",id:"_runmiddlewares",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"middlewares",id:"middlewares",level:5},{value:"params",id:"params-1",level:5},{value:"locals",id:"locals",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"add()",id:"add",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Throws",id:"throws",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"getBaseUrl()",id:"getbaseurl",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"getCurrentRouteInfo()",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-9",level:4},{value:"params",id:"params-2",level:5},{value:"path",id:"path-1",level:5},{value:"route",id:"route-1",level:5},{value:"Throws",id:"throws-1",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getProtocol()",id:"getprotocol",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"getRouteHandler()",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"name",id:"name-1",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"getRouteHandlers()",id:"getroutehandlers",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"getRouteHandlersByPath()",id:"getroutehandlersbypath",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"path",id:"path-2",level:5},{value:"Returns",id:"returns-16",level:4},{value:"middlewares",id:"middlewares-1",level:5},{value:"route?",id:"route-2",level:5},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"handleError()",id:"handleerror",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"params",id:"params-3",level:5},{value:"options?",id:"options-2",level:5},{value:"locals?",id:"locals-1",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"handleNotFound()",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"params",id:"params-4",level:5},{value:"options?",id:"options-3",level:5},{value:"locals?",id:"locals-2",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"config",id:"config",level:5},{value:"$Host",id:"host",level:6},{value:"$LanguagePartPath",id:"languagepartpath",level:6},{value:"$Protocol",id:"protocol",level:6},{value:"$Root",id:"root",level:6},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"reason",id:"reason",level:5},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"reason",id:"reason-1",level:5},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"routeName",id:"routename-1",level:5},{value:"params",id:"params-5",level:5},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-32",level:4},{value:"listen()",id:"listen",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"url",id:"url",level:5},{value:"options?",id:"options-4",level:5},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"remove()",id:"remove",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"name",id:"name-2",level:5},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-33",level:4},{value:"route()",id:"route-3",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"path",id:"path-3",level:5},{value:"options?",id:"options-5",level:5},{value:"action?",id:"action-1",level:5},{value:"locals?",id:"locals-3",level:5},{value:"Returns",id:"returns-27",level:4},{value:"Inherited from",id:"inherited-from-34",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Returns",id:"returns-28",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"use()",id:"use",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"middleware",id:"middleware",level:5},{value:"Returns",id:"returns-29",level:4},{value:"Throws",id:"throws-2",level:4},{value:"Inherited from",id:"inherited-from-35",level:4}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"class-serverrouter",children:"Class: ServerRouter"})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L17",children:"packages/core/src/router/ServerRouter.ts:17"})]}),"\n",(0,i.jsxs)(r.p,{children:["The server-side implementation of the ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:"Router"})," interface."]}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-serverrouter",children:"new ServerRouter()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new ServerRouter"}),"(",(0,i.jsx)(r.code,{children:"pageManager"}),", ",(0,i.jsx)(r.code,{children:"factory"}),", ",(0,i.jsx)(r.code,{children:"dispatcher"}),", ",(0,i.jsx)(r.code,{children:"request"}),", ",(0,i.jsx)(r.code,{children:"response"}),", ",(0,i.jsx)(r.code,{children:"settings"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L42",children:"packages/core/src/router/ServerRouter.ts:42"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"pagemanager",children:"pageManager"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/PageManager",children:(0,i.jsx)(r.code,{children:"PageManager"})})}),"\n",(0,i.jsx)(r.p,{children:"The current page manager."}),"\n",(0,i.jsx)(r.h5,{id:"factory",children:"factory"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,i.jsx)(r.code,{children:"RouteFactory"})})}),"\n",(0,i.jsx)(r.p,{children:"The router factory used to create routes."}),"\n",(0,i.jsx)(r.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(r.code,{children:"Dispatcher"})})}),"\n",(0,i.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,i.jsx)(r.h5,{id:"request",children:"request"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Request",children:(0,i.jsx)(r.code,{children:"Request"})})}),"\n",(0,i.jsx)(r.p,{children:"The current HTTP request."}),"\n",(0,i.jsx)(r.h5,{id:"response",children:"response"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(r.code,{children:"Response"})})}),"\n",(0,i.jsx)(r.p,{children:"The current HTTP response."}),"\n",(0,i.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,i.jsx)(r.p,{children:"$Router settings."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.code,{children:"number"})," | { ",(0,i.jsx)(r.code,{children:"isSPARouted"}),": (",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"action"}),"?) => ",(0,i.jsx)(r.code,{children:"boolean"}),"; ",(0,i.jsx)(r.code,{children:"middlewareTimeout"}),": ",(0,i.jsx)(r.code,{children:"number"}),"; }"]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#constructors",children:(0,i.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(r.h3,{id:"_currentlyroutedpath",children:"_currentlyRoutedPath"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_currentlyRoutedPath"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L93",children:"packages/core/src/router/AbstractRouter.ts:93"})]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_currentlyroutedpath",children:(0,i.jsx)(r.code,{children:"_currentlyRoutedPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_currentmiddlewareid",children:"_currentMiddlewareId"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_currentMiddlewareId"}),": ",(0,i.jsx)(r.code,{children:"number"})," = ",(0,i.jsx)(r.code,{children:"0"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L92",children:"packages/core/src/router/AbstractRouter.ts:92"})]}),"\n",(0,i.jsx)(r.p,{children:"Middleware ID counter which is used to auto-generate unique middleware\nnames when adding them to routeHandlers map."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_currentmiddlewareid",children:(0,i.jsx)(r.code,{children:"_currentMiddlewareId"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_dispatcher"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(r.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L62",children:"packages/core/src/router/AbstractRouter.ts:62"})]}),"\n",(0,i.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_dispatcher",children:(0,i.jsx)(r.code,{children:"_dispatcher"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_factory",children:"_factory"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_factory"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,i.jsx)(r.code,{children:"RouteFactory"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L58",children:"packages/core/src/router/AbstractRouter.ts:58"})]}),"\n",(0,i.jsx)(r.p,{children:"Factory for routes."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_factory",children:(0,i.jsx)(r.code,{children:"_factory"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_host",children:"_host"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_host"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L71",children:"packages/core/src/router/AbstractRouter.ts:71"})]}),"\n",(0,i.jsx)(r.p,{children:"The application's host."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_host",children:(0,i.jsx)(r.code,{children:"_host"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_issparouted",children:"_isSPARouted"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_isSPARouted"}),": ",(0,i.jsx)(r.code,{children:"undefined"})," | (",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"action"}),"?) => ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L95",children:"packages/core/src/router/AbstractRouter.ts:95"})]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_issparouted",children:(0,i.jsx)(r.code,{children:"_isSPARouted"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_languagepartpath",children:"_languagePartPath"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_languagePartPath"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L80",children:"packages/core/src/router/AbstractRouter.ts:80"})]}),"\n",(0,i.jsxs)(r.p,{children:["The URL path fragment used as a suffix to the ",(0,i.jsx)(r.code,{children:"_root"})," field\nthat specifies the current language."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_languagepartpath",children:(0,i.jsx)(r.code,{children:"_languagePartPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_middlewaretimeout",children:"_middlewareTimeout"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_middlewareTimeout"}),": ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L94",children:"packages/core/src/router/AbstractRouter.ts:94"})]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_middlewaretimeout",children:(0,i.jsx)(r.code,{children:"_middlewareTimeout"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_pagemanager",children:"_pageManager"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_pageManager"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/PageManager",children:(0,i.jsx)(r.code,{children:"PageManager"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L54",children:"packages/core/src/router/AbstractRouter.ts:54"})]}),"\n",(0,i.jsx)(r.p,{children:"The page manager handling UI rendering, and transitions between\npages if at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_pagemanager",children:(0,i.jsx)(r.code,{children:"_pageManager"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_protocol",children:"_protocol"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_protocol"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L67",children:"packages/core/src/router/AbstractRouter.ts:67"})]}),"\n",(0,i.jsxs)(r.p,{children:["The current protocol used to access the application, terminated by a\ncolon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_protocol",children:(0,i.jsx)(r.code,{children:"_protocol"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_root",children:"_root"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_root"}),": ",(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"''"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L75",children:"packages/core/src/router/AbstractRouter.ts:75"})]}),"\n",(0,i.jsx)(r.p,{children:"The URL path pointing to the application's root."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_root",children:(0,i.jsx)(r.code,{children:"_root"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_routehandlers",children:"_routeHandlers"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_routeHandlers"}),": ",(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L84",children:"packages/core/src/router/AbstractRouter.ts:84"})]}),"\n",(0,i.jsx)(r.p,{children:"Storage of all known routes and middlewares. The key are their names."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_routehandlers",children:(0,i.jsx)(r.code,{children:"_routeHandlers"})})]}),"\n",(0,i.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"get"})," ",(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L21",children:"packages/core/src/router/ServerRouter.ts:21"})]}),"\n",(0,i.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(r.code,{children:"Dependencies"})})}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"_extractroutepath",children:"_extractRoutePath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_extractRoutePath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L526",children:"packages/core/src/router/AbstractRouter.ts:526"})]}),"\n",(0,i.jsx)(r.p,{children:"Strips the URL path part that points to the application's root (base\nURL) from the provided path."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"Relative or absolute URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"URL path relative to the application's base URL."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_extractroutepath",children:(0,i.jsx)(r.code,{children:"_extractRoutePath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getcurrentlyroutedpath",children:"_getCurrentlyRoutedPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getCurrentlyRoutedPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L664",children:"packages/core/src/router/AbstractRouter.ts:664"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns path that is stored in private property when a ",(0,i.jsx)(r.code,{children:"route"}),"\nmethod is called."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_getcurrentlyroutedpath",children:(0,i.jsx)(r.code,{children:"_getCurrentlyRoutedPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_getmiddlewaresforroute",children:"_getMiddlewaresForRoute()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_getMiddlewaresForRoute"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L642",children:"packages/core/src/router/AbstractRouter.ts:642"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns middlewares preceding given route name."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_getmiddlewaresforroute",children:(0,i.jsx)(r.code,{children:"_getMiddlewaresForRoute"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_handle",children:"_handle()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_handle"}),"(",(0,i.jsx)(r.code,{children:"route"}),", ",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L549",children:"packages/core/src/router/AbstractRouter.ts:549"})]}),"\n",(0,i.jsx)(r.p,{children:"Handles the provided route and parameters by initializing the route's\ncontroller and rendering its state via the route's view."}),"\n",(0,i.jsx)(r.p,{children:"The result is then sent to the client if used at the server side, or\ndisplayed if used as the client side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"route",children:"route"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"The route that should have its\nassociated controller rendered via the associated view."}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in the\n",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action\nobject describing what triggered this routing."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise that resolves when the\npage is rendered and the result is sent to the client, or\ndisplayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_handle",children:(0,i.jsx)(r.code,{children:"_handle"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"_runmiddlewares",children:"_runMiddlewares()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"_runMiddlewares"}),"(",(0,i.jsx)(r.code,{children:"middlewares"}),", ",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"locals"}),"): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L677",children:"packages/core/src/router/AbstractRouter.ts:677"})]}),"\n",(0,i.jsx)(r.p,{children:"Runs provided middlewares in sequence."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middlewares",children:"middlewares"}),"\n",(0,i.jsx)(r.p,{children:"Array of middlewares."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n",(0,i.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Router params that can be\nmutated by middlewares."}),"\n",(0,i.jsx)(r.h5,{id:"locals",children:"locals"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#_runmiddlewares",children:(0,i.jsx)(r.code,{children:"_runMiddlewares"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"add",children:"add()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"add"}),"(",(0,i.jsx)(r.code,{children:"name"}),", ",(0,i.jsx)(r.code,{children:"pathExpression"}),", ",(0,i.jsx)(r.code,{children:"controller"}),", ",(0,i.jsx)(r.code,{children:"view"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L167",children:"packages/core/src/router/AbstractRouter.ts:167"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new route to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of this route, identifying it among\nthe rest of the routes in the application."}),"\n",(0,i.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsxs)(r.p,{children:["A path expression specifying the URL path\npart matching this route (must not contain a query string),\noptionally containing named parameter placeholders specified as\n",(0,i.jsx)(r.code,{children:":parameterName"}),". The name of the parameter is terminated\nby a forward slash (",(0,i.jsx)(r.code,{children:"/"}),") or the end of the path expression\nstring.\nThe path expression may also contain optional parameters, which\nare specified as ",(0,i.jsx)(r.code,{children:":?parameterName"}),". It is recommended to\nspecify the optional parameters at the end of the path\nexpression."]}),"\n",(0,i.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,i.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name of Object Container alias\nidentifying the controller associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,i.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name or Object Container alias identifying\nthe view class associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"options-1",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["Additional route options, specified how the navigation to the\nroute will be handled.\nThe ",(0,i.jsx)(r.code,{children:"onlyUpdate"})," can be either a flag signalling whether\nthe current controller and view instances should be kept if they\nmatch the ones used by the previous route; or a callback function\nthat will receive the previous controller and view identifiers\nused in the previously matching route, and returns a\n",(0,i.jsx)(r.code,{children:"boolean"})," representing the value of the flag. This flag is\ndisabled by default.\nThe ",(0,i.jsx)(r.code,{children:"autoScroll"})," flag signals whether the page should be\nscrolled to the top when the navigation takes place. This flag is\nenabled by default."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route with the same name already exists."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#add",children:(0,i.jsx)(r.code,{children:"add"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getbaseurl",children:"getBaseUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getBaseUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L243",children:"packages/core/src/router/AbstractRouter.ts:243"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the application's absolute base URL, pointing to the public root\nof the application."}),"\n",(0,i.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The application's base URL."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getbaseurl",children:(0,i.jsx)(r.code,{children:"getBaseUrl"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getcurrentrouteinfo",children:"getCurrentRouteInfo()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getCurrentRouteInfo"}),"(): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L271",children:"packages/core/src/router/AbstractRouter.ts:271"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the information about the currently active route."}),"\n",(0,i.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsx)(r.h5,{id:"params-2",children:"params"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"params"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})}),"<{}>"]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"path"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route-1",children:"route"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"throws-1",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route is not define for current path."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getcurrentrouteinfo",children:(0,i.jsx)(r.code,{children:"getCurrentRouteInfo"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getDomain"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L250",children:"packages/core/src/router/AbstractRouter.ts:250"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the application's domain in the following form\n",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's domain."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-20",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getdomain",children:(0,i.jsx)(r.code,{children:"getDomain"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"gethost",children:"getHost()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getHost"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L257",children:"packages/core/src/router/AbstractRouter.ts:257"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns application's host (domain and, if necessary, the port number)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's host."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-21",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#gethost",children:(0,i.jsx)(r.code,{children:"getHost"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getpath",children:"getPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L59",children:"packages/core/src/router/ServerRouter.ts:59"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current path part of the current URL, including the query\nstring (if any)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The path and query parts of the current URL."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getpath",children:(0,i.jsx)(r.code,{children:"getPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getprotocol",children:"getProtocol()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getProtocol"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L264",children:"packages/core/src/router/AbstractRouter.ts:264"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application protocol used to access the\napplication."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-22",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getprotocol",children:(0,i.jsx)(r.code,{children:"getProtocol"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandler",children:"getRouteHandler()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandler"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L220",children:"packages/core/src/router/AbstractRouter.ts:220"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns specified handler from registered route handlers."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name."}),"\n",(0,i.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n",(0,i.jsx)(r.p,{children:"Route with given name or undefined."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-23",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getroutehandler",children:(0,i.jsx)(r.code,{children:"getRouteHandler"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandlers",children:"getRouteHandlers()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandlers"}),"(): ",(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L297",children:"packages/core/src/router/AbstractRouter.ts:297"})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Map"}),"<",(0,i.jsx)(r.code,{children:"string"}),", ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-24",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getroutehandlers",children:(0,i.jsx)(r.code,{children:"getRouteHandlers"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandlersbypath",children:"getRouteHandlersByPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandlersByPath"}),"(",(0,i.jsx)(r.code,{children:"path"}),"): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L615",children:"packages/core/src/router/AbstractRouter.ts:615"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the route matching the provided URL path part (the path may\ncontain a query) and all middlewares preceding this route definition."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-2",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path."}),"\n",(0,i.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsxs)(r.p,{children:["The route\nmatching the path and middlewares preceding it or ",(0,i.jsx)(r.code,{children:"{}"}),"\n(empty object) if no such route exists."]}),"\n",(0,i.jsx)(r.h5,{id:"middlewares-1",children:"middlewares"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"middlewares"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})}),"[]"]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route-2",children:"route?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-25",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#getroutehandlersbypath",children:(0,i.jsx)(r.code,{children:"getRouteHandlersByPath"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L236",children:"packages/core/src/router/AbstractRouter.ts:236"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current absolute URL (including protocol, host, query, etc)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current absolute URL."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-26",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#geturl",children:(0,i.jsx)(r.code,{children:"getUrl"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handleerror",children:"handleError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleError"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L402",children:"packages/core/src/router/AbstractRouter.ts:402"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-3",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-2",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-1",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-27",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#handleerror",children:(0,i.jsx)(r.code,{children:"handleError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handlenotfound",children:"handleNotFound()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleNotFound"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L454",children:"packages/core/src/router/AbstractRouter.ts:454"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-4",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-3",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-2",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-28",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#handlenotfound",children:(0,i.jsx)(r.code,{children:"handleNotFound"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"init"}),"(",(0,i.jsx)(r.code,{children:"config"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L151",children:"packages/core/src/router/AbstractRouter.ts:151"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the router with the provided configuration."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"config",children:"config"}),"\n",(0,i.jsxs)(r.p,{children:["Router configuration.\nThe ",(0,i.jsx)(r.code,{children:"$Protocol"})," field must be the current protocol used to\naccess the application, terminated by a colon (for example\n",(0,i.jsx)(r.code,{children:"https:"}),").\nThe ",(0,i.jsx)(r.code,{children:"$Root"})," field must specify the URL path pointing to the\napplication's root.\nThe ",(0,i.jsx)(r.code,{children:"$LanguagePartPath"})," field must be the URL path fragment\nused as a suffix to the ",(0,i.jsx)(r.code,{children:"$Root"})," field that specifies the\ncurrent language.\nThe ",(0,i.jsx)(r.code,{children:"$Host"})," field must be the application's domain (and the\nport number if other than the default is used) in the following\nform: ",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h6,{id:"host",children:"$Host"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"languagepartpath",children:"$LanguagePartPath"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"protocol",children:"$Protocol"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"root",children:"$Root"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-29",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#init",children:(0,i.jsx)(r.code,{children:"init"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isClientError"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L507",children:"packages/core/src/router/AbstractRouter.ts:507"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-30",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#isclienterror",children:(0,i.jsx)(r.code,{children:"isClientError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isRedirection"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L514",children:"packages/core/src/router/AbstractRouter.ts:514"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error lead to redirection."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason-1",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nredirection."]}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-31",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#isredirection",children:(0,i.jsx)(r.code,{children:"isRedirection"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"link",children:"link()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"link"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),", ",(0,i.jsx)(r.code,{children:"params"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L338",children:"packages/core/src/router/AbstractRouter.ts:338"})]}),"\n",(0,i.jsx)(r.p,{children:"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename-1",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of the route, identifying the\nroute to use."}),"\n",(0,i.jsx)(r.h5,{id:"params-5",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameter values for the route's\nparameter placeholders. Extraneous parameters will be added as\nURL query."}),"\n",(0,i.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"An absolute URL for the specified route and parameters."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-32",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#link",children:(0,i.jsx)(r.code,{children:"link"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"listen",children:"listen()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"listen"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L66",children:"packages/core/src/router/ServerRouter.ts:66"})]}),"\n",(0,i.jsx)(r.p,{children:'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This\nmethod has no effect at the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#listen",children:(0,i.jsx)(r.code,{children:"listen"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"redirect"}),"(",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L80",children:"packages/core/src/router/ServerRouter.ts:80"})]}),"\n",(0,i.jsx)(r.p,{children:"Redirects the client to the specified location."}),"\n",(0,i.jsxs)(r.p,{children:["At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,i.jsx)(r.code,{children:"Location"})," header."]}),"\n",(0,i.jsx)(r.p,{children:"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."}),"\n",(0,i.jsx)(r.p,{children:"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"url",children:"url"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"string"})," = ",(0,i.jsx)(r.code,{children:"'/'"})]}),"\n",(0,i.jsx)(r.p,{children:"The URL to which the client should be redirected."}),"\n",(0,i.jsx)(r.h5,{id:"options-4",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#redirect",children:(0,i.jsx)(r.code,{children:"redirect"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"remove",children:"remove()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"remove"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L211",children:"packages/core/src/router/AbstractRouter.ts:211"})]}),"\n",(0,i.jsx)(r.p,{children:"Removes the specified route from the router's known routes."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-2",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name, identifying the route to remove."}),"\n",(0,i.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-33",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#remove",children:(0,i.jsx)(r.code,{children:"remove"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"route-3",children:"route()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),"(",(0,i.jsx)(r.code,{children:"path"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L363",children:"packages/core/src/router/AbstractRouter.ts:363"})]}),"\n",(0,i.jsx)(r.p,{children:"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-3",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path part received from the client, with\noptional query."}),"\n",(0,i.jsx)(r.h5,{id:"options-5",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action-1",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-3",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-34",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#route-3",children:(0,i.jsx)(r.code,{children:"route"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"unlisten"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ServerRouter.ts#L73",children:"packages/core/src/router/ServerRouter.ts:73"})]}),"\n",(0,i.jsx)(r.p,{children:'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This method has no effect\nat the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#unlisten",children:(0,i.jsx)(r.code,{children:"unlisten"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"use",children:"use()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"use"}),"(",(0,i.jsx)(r.code,{children:"middleware"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L199",children:"packages/core/src/router/AbstractRouter.ts:199"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new middleware to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middleware",children:"middleware"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})}),"\n",(0,i.jsxs)(r.p,{children:["Middleware\nfunction accepting routeParams as a first argument, which can be mutated\nand ",(0,i.jsx)(r.code,{children:"locals"})," object as second argument. This can be used to pass data\nbetween middlewares."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-29",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/ServerRouter",children:(0,i.jsx)(r.code,{children:"ServerRouter"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws-2",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a middleware with the same name already exists."}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-35",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter#use",children:(0,i.jsx)(r.code,{children:"use"})})]})]})}function h(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>c,x:()=>d});var n=s(3696);const i={},t=n.createContext(i);function c(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/73c687f7.29d11e1b.js b/assets/js/73c687f7.29d11e1b.js new file mode 100644 index 000000000..4e2926b00 --- /dev/null +++ b/assets/js/73c687f7.29d11e1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9828],{1236:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/interfaces/Settings","title":"Interface: Settings","description":"Defined in135","source":"@site/../docs/api/@ima/core/interfaces/Settings.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/Settings","permalink":"/api/@ima/core/interfaces/Settings","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/Settings.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: RouteOptions","permalink":"/api/@ima/core/interfaces/RouteOptions"},"next":{"title":"Interface: Utils","permalink":"/api/@ima/core/interfaces/Utils"}}');var i=s(2540),r=s(3023);const c={},o="Interface: Settings",l={},d=[{value:"Properties",id:"properties",level:2},{value:"$Cache?",id:"cache",level:3},{value:"enabled?",id:"enabled",level:4},{value:"ttl?",id:"ttl",level:4},{value:"$Http",id:"http",level:3},{value:"cacheOptions",id:"cacheoptions",level:4},{value:"defaultRequestOptions",id:"defaultrequestoptions",level:4},{value:"$Observable?",id:"observable",level:3},{value:"maxHistoryLength?",id:"maxhistorylength",level:4},{value:"$Page",id:"page",level:3},{value:"$Render",id:"render",level:4},{value:"$Router?",id:"router",level:3},{value:"isSPARouted()?",id:"issparouted",level:4},{value:"Parameters",id:"parameters",level:5},{value:"url",id:"url",level:6},{value:"action?",id:"action",level:6},{value:"Returns",id:"returns",level:5},{value:"middlewareTimeout?",id:"middlewaretimeout",level:4}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"interface-settings",children:"Interface: Settings"})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L135",children:"packages/core/src/boot.ts:135"})]}),"\n",(0,i.jsx)(n.p,{children:"App settings for single env key."}),"\n",(0,i.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"cache",children:"$Cache?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"$Cache"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L144",children:"packages/core/src/boot.ts:144"})]}),"\n",(0,i.jsx)(n.h4,{id:"enabled",children:"enabled?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"enabled"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"ttl",children:"ttl?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"ttl"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"http",children:"$Http"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"$Http"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L136",children:"packages/core/src/boot.ts:136"})]}),"\n",(0,i.jsx)(n.h4,{id:"cacheoptions",children:"cacheOptions"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"cacheOptions"}),": ",(0,i.jsx)(n.code,{children:"HttpAgentImplCacheOptions"})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"defaultrequestoptions",children:"defaultRequestOptions"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"defaultRequestOptions"}),": ",(0,i.jsx)(n.code,{children:"Omit"}),"<",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,i.jsx)(n.code,{children:"HttpAgentRequestOptions"})}),", ",(0,i.jsx)(n.code,{children:'"abortController"'}),">"]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"observable",children:"$Observable?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"$Observable"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L151",children:"packages/core/src/boot.ts:151"})]}),"\n",(0,i.jsx)(n.h4,{id:"maxhistorylength",children:"maxHistoryLength?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"maxHistoryLength"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"page",children:"$Page"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"$Page"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L148",children:"packages/core/src/boot.ts:148"})]}),"\n",(0,i.jsx)(n.h4,{id:"render",children:"$Render"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"$Render"}),": ",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/PageRendererSettings",children:(0,i.jsx)(n.code,{children:"PageRendererSettings"})})]}),"\n"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"router",children:"$Router?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"$Router"}),": ",(0,i.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L140",children:"packages/core/src/boot.ts:140"})]}),"\n",(0,i.jsx)(n.h4,{id:"issparouted",children:"isSPARouted()?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"isSPARouted"}),": (",(0,i.jsx)(n.code,{children:"url"}),", ",(0,i.jsx)(n.code,{children:"action"}),"?) => ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h6,{id:"url",children:"url"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h6,{id:"action",children:"action?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(n.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(n.h5,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsx)(n.h4,{id:"middlewaretimeout",children:"middlewareTimeout?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"middlewareTimeout"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>o});var t=s(3696);const i={},r=t.createContext(i);function c(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/747520ea.e212a7b3.js b/assets/js/747520ea.e212a7b3.js new file mode 100644 index 000000000..03b4d9159 --- /dev/null +++ b/assets/js/747520ea.e212a7b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8270],{2604:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>t});const n=JSON.parse('{"id":"api/@ima/core/classes/GenericError","title":"Class: GenericError\\\\<T\\\\>","description":"Defined in15","source":"@site/../docs/api/@ima/core/classes/GenericError.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/GenericError","permalink":"/api/@ima/core/classes/GenericError","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/GenericError.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Extension\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/Extension"},"next":{"title":"Class: abstract HttpAgent","permalink":"/api/@ima/core/classes/HttpAgent"}}');var i=s(2540),c=s(3023);const d={},a="Class: GenericError<T>",l={},t=[{value:"Extends",id:"extends",level:2},{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new GenericError()",id:"new-genericerror",level:3},{value:"Parameters",id:"parameters",level:4},{value:"message",id:"message",level:5},{value:"params?",id:"params",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_params",id:"_params",level:3},{value:"cause?",id:"cause",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"message",id:"message-1",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"stack?",id:"stack",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"prepareStackTrace()?",id:"preparestacktrace",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"err",id:"err",level:5},{value:"stackTraces",id:"stacktraces",level:5},{value:"Returns",id:"returns-1",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"stackTraceLimit",id:"stacktracelimit",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Methods",id:"methods",level:2},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-2",level:4},{value:"See",id:"see-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getParams()",id:"getparams",level:3},{value:"Returns",id:"returns-3",level:4},{value:"See",id:"see-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"captureStackTrace()",id:"capturestacktrace",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"targetObject",id:"targetobject",level:5},{value:"constructorOpt?",id:"constructoropt",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-6",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"class-genericerrort",children:"Class: GenericError<T>"})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L15",children:"packages/core/src/error/GenericError.ts:15"})]}),"\n",(0,i.jsxs)(r.p,{children:["Implementation of the ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:"Error"})," interface, providing more advanced\nerror API."]}),"\n",(0,i.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/CancelError",children:(0,i.jsx)(r.code,{children:"CancelError"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(r.p,{children:["\u2022 ",(0,i.jsx)(r.strong,{children:"T"})," = ",(0,i.jsx)(r.code,{children:"unknown"})]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-genericerror",children:"new GenericError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new GenericError"}),"<",(0,i.jsx)(r.code,{children:"T"}),">(",(0,i.jsx)(r.code,{children:"message"}),", ",(0,i.jsx)(r.code,{children:"params"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,i.jsx)(r.code,{children:"GenericError"})}),"<",(0,i.jsx)(r.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L27",children:"packages/core/src/error/GenericError.ts:27"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the generic IMA error."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"message",children:"message"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The message describing the cause of the error."}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"T"})," & ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,i.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n",(0,i.jsxs)(r.p,{children:["A data map providing additional\ndetails related to the error. It is recommended to set the\n",(0,i.jsx)(r.code,{children:"status"})," field to the HTTP response code that should be sent\nto the client."]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,i.jsx)(r.code,{children:"GenericError"})}),"<",(0,i.jsx)(r.code,{children:"T"}),">"]}),"\n",(0,i.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#constructors",children:(0,i.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(r.h3,{id:"_params",children:"_params"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"protected"})," ",(0,i.jsx)(r.strong,{children:"_params"}),": ",(0,i.jsx)(r.code,{children:"T"})," & ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,i.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L16",children:"packages/core/src/error/GenericError.ts:16"})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"cause",children:"cause?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"cause"}),": ",(0,i.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#cause-1",children:(0,i.jsx)(r.code,{children:"cause"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"message-1",children:"message"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"message"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#message-1",children:(0,i.jsx)(r.code,{children:"message"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"name",children:"name"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"name"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#name",children:(0,i.jsx)(r.code,{children:"name"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"stack",children:"stack?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"stack"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#stack",children:(0,i.jsx)(r.code,{children:"stack"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"preparestacktrace",children:"prepareStackTrace()?"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.code,{children:"optional"})," ",(0,i.jsx)(r.strong,{children:"prepareStackTrace"}),": (",(0,i.jsx)(r.code,{children:"err"}),", ",(0,i.jsx)(r.code,{children:"stackTraces"}),") => ",(0,i.jsx)(r.code,{children:"any"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:98"}),"\n",(0,i.jsx)(r.p,{children:"Optional override for formatting stack traces"}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"err",children:"err"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Error"})}),"\n",(0,i.jsx)(r.h5,{id:"stacktraces",children:"stackTraces"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"CallSite"}),"[]"]}),"\n",(0,i.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"any"})}),"\n",(0,i.jsx)(r.h4,{id:"see",children:"See"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces",children:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#preparestacktrace",children:(0,i.jsx)(r.code,{children:"prepareStackTrace"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"stacktracelimit",children:"stackTraceLimit"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.strong,{children:"stackTraceLimit"}),": ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:100"}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#stacktracelimit",children:(0,i.jsx)(r.code,{children:"stackTraceLimit"})})]}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getHttpStatus"}),"(): ",(0,i.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L39",children:"packages/core/src/error/GenericError.ts:39"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the HTTP status to send to the client."}),"\n",(0,i.jsx)(r.p,{children:"If the error has occurred at the client-side, the status code is used to\ndetermine the error page to show to the user."}),"\n",(0,i.jsxs)(r.p,{children:["This method is a shorthand for the following code snippet:\n",(0,i.jsx)(r.code,{children:"this.getParams().status || 500"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"number"})}),"\n",(0,i.jsx)(r.p,{children:"The HTTP status to send to the client."}),"\n",(0,i.jsx)(r.h4,{id:"see-1",children:"See"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"})}),"\n",(0,i.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#gethttpstatus",children:(0,i.jsx)(r.code,{children:"getHttpStatus"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getparams",children:"getParams()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getParams"}),"(): ",(0,i.jsx)(r.code,{children:"T"})," & ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,i.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L46",children:"packages/core/src/error/GenericError.ts:46"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the error parameters providing additional details about the\nerror. The structure of the returned object is always\nsituation-dependent, but the returned object usually contains the\n",(0,i.jsx)(r.code,{children:"status: number"})," field which represents the HTTP status to send to\nthe client."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"T"})," & ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:(0,i.jsx)(r.code,{children:"GenericErrorParams"})})]}),"\n",(0,i.jsx)(r.p,{children:"The route parameters of the route at which\nthe error has occurred."}),"\n",(0,i.jsx)(r.h4,{id:"see-2",children:"See"}),"\n",(0,i.jsx)(r.p,{children:"Error#getHttpStatus"}),"\n",(0,i.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#getparams",children:(0,i.jsx)(r.code,{children:"getParams"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isClientError"}),"(): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L53",children:"packages/core/src/error/GenericError.ts:53"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#isclienterror",children:(0,i.jsx)(r.code,{children:"isClientError"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isRedirection"}),"(): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L60",children:"packages/core/src/error/GenericError.ts:60"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, whether the specified error should lead to a redirect."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error should cause a redirect."]}),"\n",(0,i.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#isredirection",children:(0,i.jsx)(r.code,{children:"isRedirection"})})]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"capturestacktrace",children:"captureStackTrace()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"static"})," ",(0,i.jsx)(r.strong,{children:"captureStackTrace"}),"(",(0,i.jsx)(r.code,{children:"targetObject"}),", ",(0,i.jsx)(r.code,{children:"constructorOpt"}),"?): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsx)(r.p,{children:"Defined in: node_modules/@types/node/globals.d.ts:91"}),"\n",(0,i.jsx)(r.p,{children:"Create .stack property on a target object"}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"targetobject",children:"targetObject"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsx)(r.h5,{id:"constructoropt",children:"constructorOpt?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"Function"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})}),".",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error#capturestacktrace",children:(0,i.jsx)(r.code,{children:"captureStackTrace"})})]})]})}function h(e={}){const{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>a});var n=s(3696);const i={},c=n.createContext(i);function d(e){const r=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),n.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7500682d.395d2e33.js b/assets/js/7500682d.395d2e33.js deleted file mode 100644 index 985668752..000000000 --- a/assets/js/7500682d.395d2e33.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3267],{5680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>N});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function d(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),p=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):d(d({},n),e)),t},g=function(e){var n=p(e.components);return a.createElement(o.Provider,{value:n},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},s=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),y=p(t),s=r,N=y["".concat(o,".").concat(s)]||y[s]||m[s]||i;return t?a.createElement(N,d(d({ref:n},g),{},{components:t})):a.createElement(N,d({ref:n},g))}));function N(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,d=new Array(i);d[0]=s;var l={};for(var o in n)hasOwnProperty.call(n,o)&&(l[o]=n[o]);l.originalType=e,l[y]="string"==typeof e?e:r,d[1]=l;for(var p=2;p<i;p++)d[p]=t[p];return a.createElement.apply(null,d)}return a.createElement.apply(null,t)}s.displayName="MDXCreateElement"},2076:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var a=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.Environment",title:"Interface: Environment",sidebar_label:"@ima/core.Environment",custom_edit_url:null},d=void 0,l={unversionedId:"api/interfaces/ima_core.Environment",id:"api/interfaces/ima_core.Environment",title:"Interface: Environment",description:"@ima/core.Environment",source:"@site/../docs/api/interfaces/ima_core.Environment.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.Environment",permalink:"/api/interfaces/ima_core.Environment",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Environment",title:"Interface: Environment",sidebar_label:"@ima/core.Environment",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.DispatcherEventsMap",permalink:"/api/interfaces/ima_core.DispatcherEventsMap"},next:{title:"@ima/core.GlobalImaObject",permalink:"/api/interfaces/ima_core.GlobalImaObject"}},o={},p=[{value:"Indexable",id:"indexable",level:2},{value:"Properties",id:"properties",level:2},{value:"$App",id:"app",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"$Debug",id:"debug",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"$Language",id:"language",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"$Resources",id:"resources",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in-3",level:4},{value:"$Server",id:"server",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"$Version",id:"version",level:3},{value:"Defined in",id:"defined-in-5",level:4}],g={toc:p},y="wrapper";function m(e){let{components:n,...t}=e;return(0,r.yg)(y,(0,a.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Environment"),(0,r.yg)("p",null,"App environment for single env key."),(0,r.yg)("h2",{id:"indexable"},"Indexable"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"app"},"$App"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$App"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"$AppSettings")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L61"},"packages/core/src/boot.ts:61")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"debug"},"$Debug"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Debug"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L58"},"packages/core/src/boot.ts:58")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"language"},"$Language"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Language"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L59"},"packages/core/src/boot.ts:59")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"resources"},"$Resources"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"$Resources"),": (",(0,r.yg)("inlineCode",{parentName:"p"},"response"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"manifest"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Manifest"},(0,r.yg)("inlineCode",{parentName:"a"},"Manifest")),", ",(0,r.yg)("inlineCode",{parentName:"p"},"defaultResources"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Resources"},(0,r.yg)("inlineCode",{parentName:"a"},"Resources")),") => ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Resources"},(0,r.yg)("inlineCode",{parentName:"a"},"Resources"))),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (",(0,r.yg)("inlineCode",{parentName:"p"},"response"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"manifest"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"defaultResources"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Resources"},(0,r.yg)("inlineCode",{parentName:"a"},"Resources"))),(0,r.yg)("h5",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"response")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"manifest")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Manifest"},(0,r.yg)("inlineCode",{parentName:"a"},"Manifest")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"defaultResources")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Resources"},(0,r.yg)("inlineCode",{parentName:"a"},"Resources")))))),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Resources"},(0,r.yg)("inlineCode",{parentName:"a"},"Resources"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L62"},"packages/core/src/boot.ts:62")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"server"},"$Server"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Server"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"cacheKeyGenerator?"),": (",(0,r.yg)("inlineCode",{parentName:"td"},"req"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"enabled"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"req"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"entryTtl"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"maxEntries"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"unusedEntryTtl"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," }")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache.cacheKeyGenerator?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"req"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache.enabled")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"req"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache.entryTtl")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache.maxEntries")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache.unusedEntryTtl")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"clusters")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"concurrency")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"host?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"__namedParameters"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"environment"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Environment"},(0,r.yg)("inlineCode",{parentName:"a"},"Environment"))," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"host"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"req"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">"," }) => ",(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"logger")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"formatting"),": ",(0,r.yg)("inlineCode",{parentName:"td"},'"dev"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"simple"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"JSON"')," }")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"logger.formatting")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},'"dev"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"simple"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"JSON"'))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"overloadConcurrency")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"port")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"protocol?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},'"http:"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"https:"')," ","|"," (",(0,r.yg)("inlineCode",{parentName:"td"},"__namedParameters"),": ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"environment"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Environment"},(0,r.yg)("inlineCode",{parentName:"a"},"Environment"))," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"protocol"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"req"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Request"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"ParamsDictionary"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"ParsedQs"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">",">"," }) => ",(0,r.yg)("inlineCode",{parentName:"td"},'"http:"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},'"https:"'))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"serveSPA")),(0,r.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"allow"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,r.yg)("inlineCode",{parentName:"td"},"blackList?"),": (",(0,r.yg)("inlineCode",{parentName:"td"},"userAgent"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," }")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"serveSPA.allow")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"serveSPA.blackList?")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"userAgent"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"staticConcurrency")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"staticPath")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))))),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L67"},"packages/core/src/boot.ts:67")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"version"},"$Version"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"$Version"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L60"},"packages/core/src/boot.ts:60")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/755ee4a1.5a5715ad.js b/assets/js/755ee4a1.5a5715ad.js deleted file mode 100644 index 443a17868..000000000 --- a/assets/js/755ee4a1.5a5715ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5784],{5680:(e,t,n)=>{n.d(t,{xA:()=>o,yg:()=>N});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var g=a.createContext({}),p=function(e){var t=a.useContext(g),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},o=function(e){var t=p(e.components);return a.createElement(g.Provider,{value:t},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,o=d(e,["components","mdxType","originalType","parentName"]),y=p(n),s=r,N=y["".concat(g,".").concat(s)]||y[s]||m[s]||i;return n?a.createElement(N,l(l({ref:t},o),{},{components:n})):a.createElement(N,l({ref:t},o))}));function N(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=s;var d={};for(var g in t)hasOwnProperty.call(t,g)&&(d[g]=t[g]);d.originalType=e,d[y]="string"==typeof e?e:r,l[1]=d;for(var p=2;p<i;p++)l[p]=n[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}s.displayName="MDXCreateElement"},3145:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>g,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>p});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.Window",title:"Class: Window",sidebar_label:"@ima/core.Window",custom_edit_url:null},l=void 0,d={unversionedId:"api/classes/ima_core.Window",id:"api/classes/ima_core.Window",title:"Class: Window",description:"@ima/core.Window",source:"@site/../docs/api/classes/ima_core.Window.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Window",permalink:"/api/classes/ima_core.Window",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Window",title:"Class: Window",sidebar_label:"@ima/core.Window",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.WeakMapStorage",permalink:"/api/classes/ima_core.WeakMapStorage"},next:{title:"@ima/dev-utils.Logger",permalink:"/api/classes/ima_dev_utils.Logger"}},g={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"bindEventListener",id:"bindeventlistener",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"createCustomEvent",id:"createcustomevent",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getBody",id:"getbody",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getDocument",id:"getdocument",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getElementById",id:"getelementbyid",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getHistoryState",id:"gethistorystate",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getScrollX",id:"getscrollx",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getScrollY",id:"getscrolly",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"getWindow",id:"getwindow",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"hasSessionStorage",id:"hassessionstorage",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"isClient",id:"isclient",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"isCookieEnabled",id:"iscookieenabled",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"pushState",id:"pushstate",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"querySelector",id:"queryselector",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"querySelectorAll",id:"queryselectorall",level:3},{value:"Type parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"replaceState",id:"replacestate",level:3},{value:"Type parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"scrollTo",id:"scrollto",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"setTitle",id:"settitle",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"unbindEventListener",id:"unbindeventlistener",level:3},{value:"Type parameters",id:"type-parameters-7",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"Type parameters",id:"type-parameters-8",level:4},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Defined in",id:"defined-in-25",level:4}],o={toc:p},y="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(y,(0,a.A)({},o,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Window"),(0,r.yg)("p",null,"The ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},"Window")," interface defines various utility API for easier\ncross-environment usage of various low-level client-side JavaScript APIs\navailable through various global objects."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Window"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientWindow"},(0,r.yg)("inlineCode",{parentName:"a"},"ClientWindow"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerWindow"},(0,r.yg)("inlineCode",{parentName:"a"},"ServerWindow"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientWindow"},(0,r.yg)("inlineCode",{parentName:"a"},"ClientWindow"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerWindow"},(0,r.yg)("inlineCode",{parentName:"a"},"ServerWindow"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Window"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"bindeventlistener"},"bindEventListener"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"bindEventListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"K"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."),(0,r.yg)("p",null,"Registering the same event listener for the same event on the same event\ntarget with the same ",(0,r.yg)("inlineCode",{parentName:"p"},"useCapture")," flag value repeatedly has no\neffect."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargets"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargets")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargetsmap"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargetsMap")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">","[",(0,r.yg)("inlineCode",{parentName:"td"},"K"),"]",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L310"},"packages/core/src/window/Window.ts:310")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"bindEventListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Event")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"E"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L321"},"packages/core/src/window/Window.ts:321")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"createcustomevent"},"createCustomEvent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"createCustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"Create new instance of CustomEvent of the specified name and using the\nprovided options."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Custom event's name (sometimes referred to as the event's type).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"CustomEventInit"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The custom event's options.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"CustomEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("p",null,"The created custom event."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent"},"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L265"},"packages/core/src/window/Window.ts:265")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getbody"},"getBody"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getBody"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"Returns the document's body element. The method returns\n",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if invoked at the server-side."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"The document's body element, or\n",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if invoked at the server side."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L168"},"packages/core/src/window/Window.ts:168")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getdocument"},"getDocument"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getDocument"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Document")),(0,r.yg)("p",null,"Returns the native ",(0,r.yg)("inlineCode",{parentName:"p"},"document")," object representing any web page loaded\nin the browser and serves as an entry point into the web page's content\nwhich is the DOM tree at the client-side. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined"),"\nif used at the server-side."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Document")),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"document")," object at the\nclient-side, or ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," at the server-side."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L94"},"packages/core/src/window/Window.ts:94")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getdomain"},"getDomain"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the domain of the current document's URL as\n",(0,r.yg)("inlineCode",{parentName:"p"},"${protocol}://${host}"),"."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current domain."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L134"},"packages/core/src/window/Window.ts:134")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getelementbyid"},"getElementById"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getElementById"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"id"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"Returns the HTML element with the specified ",(0,r.yg)("inlineCode",{parentName:"p"},"id")," attribute value."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"id")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value of the ",(0,r.yg)("inlineCode",{parentName:"td"},"id")," attribute to look for.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"HTMLElement")),(0,r.yg)("p",null,"The element with the specified id, or\n",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if no such element exists."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L179"},"packages/core/src/window/Window.ts:179")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethistorystate"},"getHistoryState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHistoryState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("p",null,"Returns the history state."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("p",null,"The current history state"),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L188"},"packages/core/src/window/Window.ts:188")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"gethost"},"getHost"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current host."),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L141"},"packages/core/src/window/Window.ts:141")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getpath"},"getPath"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the path part of the current URL, including the query string."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The path and query string parts of the current URL."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L150"},"packages/core/src/window/Window.ts:150")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getscrollx"},"getScrollX"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getScrollX"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"Returns the number of pixels the viewport is scrolled horizontally."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"The number of pixels the viewport is scrolled\nhorizontally."),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L104"},"packages/core/src/window/Window.ts:104")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getscrolly"},"getScrollY"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getScrollY"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"Returns the number of pixels the document is scrolled vertically."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("p",null,"The number of pixels the document is scrolled\nvertically."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L114"},"packages/core/src/window/Window.ts:114")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"geturl"},"getUrl"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The current document's URL."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L157"},"packages/core/src/window/Window.ts:157")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getwindow"},"getWindow"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getWindow"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Window")),(0,r.yg)("p",null,"Returns the native ",(0,r.yg)("inlineCode",{parentName:"p"},"window")," object representing the global context\nat the client-side. The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," if used at the\nserver-side."),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Window")),(0,r.yg)("p",null,"The ",(0,r.yg)("inlineCode",{parentName:"p"},"window")," object at the\nclient-side, or ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," at the server-side."),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L81"},"packages/core/src/window/Window.ts:81")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"hassessionstorage"},"hasSessionStorage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"hasSessionStorage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the session storage is supported."),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the session storage is supported."),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L60"},"packages/core/src/window/Window.ts:60")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"isclient"},"isClient"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isClient"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if invoked at the client side."),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L40"},"packages/core/src/window/Window.ts:40")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"iscookieenabled"},"isCookieEnabled"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"isCookieEnabled"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the cookies are set and processed with every\nHTTP request and response automatically by the environment."),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if cookies are handled automatically by\nthe environment."),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L51"},"packages/core/src/window/Window.ts:51")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"pushstate"},"pushState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"pushState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"title"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Pushes a new state to the browser history. The method has no effect if\nthe current browser does not support the history API (IE9)."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A state object associated with the history item, preferably representing the page state.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The page title related to the state. Note that this parameter is ignored by some browsers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new URL at which the state is available.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L237"},"packages/core/src/window/Window.ts:237")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"queryselector"},"querySelector"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"querySelector"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"selector"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"E")),(0,r.yg)("p",null,"Returns the first element matching the specified CSS 3 selector."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Element")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Element"))))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"selector")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The CSS selector.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"E")),(0,r.yg)("p",null,"The first element matching the CSS selector or\n",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if no such element exists."),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L199"},"packages/core/src/window/Window.ts:199")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"queryselectorall"},"querySelectorAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"querySelectorAll"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"selector"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"NodeListOf"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">"),(0,r.yg)("p",null,"Returns a node list of all elements matching the specified CSS 3\nselector."),(0,r.yg)("h4",{id:"type-parameters-5"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Element")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Element"))))),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"selector")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The CSS selector.")))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"NodeListOf"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">"),(0,r.yg)("p",null,"A node list containing all elements matching the\nspecified CSS selector."),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L211"},"packages/core/src/window/Window.ts:211")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"redirect"},"redirect"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"redirect"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Performs a hard redirect (discarding the current JavaScript state) to\nthe specified URL."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the browser will be redirected.")))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L223"},"packages/core/src/window/Window.ts:223")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"replacestate"},"replaceState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"replaceState"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"state"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"title"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Replaces the current history entry. The method has no effect if the\ncurrent browser does not support the history API (IE9)."),(0,r.yg)("h4",{id:"type-parameters-6"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A state object associated with the history item, preferably representing the page state.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The page title related to the state. Note that this parameter is ignored by some browsers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new URL at which the state is available.")))),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L251"},"packages/core/src/window/Window.ts:251")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"scrollto"},"scrollTo"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"scrollTo"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"x"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"y"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Scrolls the viewport to the specified location (if possible)."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"x")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Horizontal scroll offset in pixels.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"y")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Vertical scroll offset in pixels.")))),(0,r.yg)("h4",{id:"returns-22"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L124"},"packages/core/src/window/Window.ts:124")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"settitle"},"setTitle"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setTitle"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"title"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the new page title of the document."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"title")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The new page title.")))),(0,r.yg)("h4",{id:"returns-23"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L69"},"packages/core/src/window/Window.ts:69")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unbindeventlistener"},"unbindEventListener"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unbindEventListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"K"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."),(0,r.yg)("p",null,"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."),(0,r.yg)("h4",{id:"type-parameters-7"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargets"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargets")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargetsmap"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargetsMap")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">","[",(0,r.yg)("inlineCode",{parentName:"td"},"K"),"]",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The ",(0,r.yg)("inlineCode",{parentName:"td"},"useCapture")," flag value that was used when the listener was registered, or provide capture option through object options.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-24"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L345"},"packages/core/src/window/Window.ts:345")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unbindEventListener"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"S"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"type-parameters-8"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Event")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"E"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"scope?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"S"))))),(0,r.yg)("h4",{id:"returns-25"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/window/Window.ts#L356"},"packages/core/src/window/Window.ts:356")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/757a5f49.d98545d4.js b/assets/js/757a5f49.d98545d4.js new file mode 100644 index 000000000..d0d93f840 --- /dev/null +++ b/assets/js/757a5f49.d98545d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8495],{5627:(e,a,s)=>{s.r(a),s.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>o,frontMatter:()=>c,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/core/classes/PageStateManagerImpl","title":"Class: PageStateManagerImpl\\\\<S\\\\>","description":"Defined in22","source":"@site/../docs/api/@ima/core/classes/PageStateManagerImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageStateManagerImpl","permalink":"/api/@ima/core/classes/PageStateManagerImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageStateManagerImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageStateManagerDecorator","permalink":"/api/@ima/core/classes/PageStateManagerDecorator"},"next":{"title":"Class: PluginLoader","permalink":"/api/@ima/core/classes/PluginLoader"}}');var n=s(2540),t=s(3023);const c={},i="Class: PageStateManagerImpl<S>",l={},d=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageStateManagerImpl()",id:"new-pagestatemanagerimpl",level:3},{value:"Parameters",id:"parameters",level:4},{value:"dispatcher",id:"dispatcher",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"onChange()?",id:"onchange",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"newState",id:"newstate",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-2",level:5},{value:"Methods",id:"methods",level:2},{value:"_callOnChangeCallback()",id:"_callonchangecallback",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"newState",id:"newstate-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_eraseExcessHistory()",id:"_eraseexcesshistory",level:3},{value:"Returns",id:"returns-4",level:4},{value:"_pushToHistory()",id:"_pushtohistory",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"newState",id:"newstate-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"beginTransaction()",id:"begintransaction",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"cancelTransaction()",id:"canceltransaction",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"commitTransaction()",id:"committransaction",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"getAllStates()",id:"getallstates",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"getTransactionStatePatches()",id:"gettransactionstatepatches",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"patchState",id:"patchstate",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-8",level:4}];function h(e){const a={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"class-pagestatemanagerimpls",children:"Class: PageStateManagerImpl<S>"})}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L22",children:"packages/core/src/page/state/PageStateManagerImpl.ts:22"})]}),"\n",(0,n.jsxs)(a.p,{children:["The implementation of the ",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:"PageStateManager"})," interface."]}),"\n",(0,n.jsx)(a.h2,{id:"extends",children:"Extends"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),"<",(0,n.jsx)(a.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,n.jsx)(a.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,n.jsxs)(a.p,{children:["\u2022 ",(0,n.jsx)(a.strong,{children:"S"})," ",(0,n.jsx)(a.em,{children:"extends"})," ",(0,n.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,n.jsx)(a.code,{children:"PageState"})})," = {}"]}),"\n",(0,n.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(a.h3,{id:"new-pagestatemanagerimpl",children:"new PageStateManagerImpl()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"new PageStateManagerImpl"}),"<",(0,n.jsx)(a.code,{children:"S"}),">(",(0,n.jsx)(a.code,{children:"dispatcher"}),"): ",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManagerImpl",children:(0,n.jsx)(a.code,{children:"PageStateManagerImpl"})}),"<",(0,n.jsx)(a.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L40",children:"packages/core/src/page/state/PageStateManagerImpl.ts:40"})]}),"\n",(0,n.jsx)(a.p,{children:"Initializes the page state manager."}),"\n",(0,n.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,n.jsx)(a.code,{children:"Dispatcher"})})}),"\n",(0,n.jsx)(a.p,{children:"Dispatcher fires events to app."}),"\n",(0,n.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManagerImpl",children:(0,n.jsx)(a.code,{children:"PageStateManagerImpl"})}),"<",(0,n.jsx)(a.code,{children:"S"}),">"]}),"\n",(0,n.jsx)(a.h4,{id:"overrides",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#constructors",children:(0,n.jsx)(a.code,{children:"constructor"})})]}),"\n",(0,n.jsx)(a.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(a.h3,{id:"onchange",children:"onChange()?"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"optional"})," ",(0,n.jsx)(a.strong,{children:"onChange"}),": (",(0,n.jsx)(a.code,{children:"newState"}),") => ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L7",children:"packages/core/src/page/state/PageStateManager.ts:7"})]}),"\n",(0,n.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"newstate",children:"newState"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"S"})}),"\n",(0,n.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#onchange",children:(0,n.jsx)(a.code,{children:"onChange"})})]}),"\n",(0,n.jsx)(a.h2,{id:"accessors",children:"Accessors"}),"\n",(0,n.jsx)(a.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,n.jsx)(a.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"get"})," ",(0,n.jsx)(a.code,{children:"static"})," ",(0,n.jsx)(a.strong,{children:"$dependencies"}),"(): ",(0,n.jsx)(a.em,{children:"typeof"})," ",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,n.jsx)(a.code,{children:"Dispatcher"})}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L31",children:"packages/core/src/page/state/PageStateManagerImpl.ts:31"})]}),"\n",(0,n.jsx)(a.h5,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.em,{children:"typeof"})," ",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,n.jsx)(a.code,{children:"Dispatcher"})}),"[]"]}),"\n",(0,n.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(a.h3,{id:"_callonchangecallback",children:"_callOnChangeCallback()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"_callOnChangeCallback"}),"(",(0,n.jsx)(a.code,{children:"newState"}),"): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L175",children:"packages/core/src/page/state/PageStateManagerImpl.ts:175"})]}),"\n",(0,n.jsx)(a.p,{children:"Call registered callback function on (@link onChange) with newState."}),"\n",(0,n.jsx)(a.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"newstate-1",children:"newState"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"S"})}),"\n",(0,n.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"_eraseexcesshistory",children:"_eraseExcessHistory()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"_eraseExcessHistory"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L157",children:"packages/core/src/page/state/PageStateManagerImpl.ts:157"})]}),"\n",(0,n.jsx)(a.p,{children:"Erase the oldest state from storage only if it exceed max\ndefined size of history."}),"\n",(0,n.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"_pushtohistory",children:"_pushToHistory()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"_pushToHistory"}),"(",(0,n.jsx)(a.code,{children:"newState"}),"): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L167",children:"packages/core/src/page/state/PageStateManagerImpl.ts:167"})]}),"\n",(0,n.jsx)(a.p,{children:"Push new state to history storage."}),"\n",(0,n.jsx)(a.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"newstate-2",children:"newState"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"S"})}),"\n",(0,n.jsx)(a.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"begintransaction",children:"beginTransaction()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"beginTransaction"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L106",children:"packages/core/src/page/state/PageStateManagerImpl.ts:106"})]}),"\n",(0,n.jsxs)(a.p,{children:["Starts queueing state patches off the main state. While the transaction\nis active every ",(0,n.jsx)(a.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,n.jsxs)(a.p,{children:["Note that call to ",(0,n.jsx)(a.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,n.jsx)(a.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#begintransaction",children:(0,n.jsx)(a.code,{children:"beginTransaction"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"canceltransaction",children:"cancelTransaction()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"cancelTransaction"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L148",children:"packages/core/src/page/state/PageStateManagerImpl.ts:148"})]}),"\n",(0,n.jsx)(a.p,{children:"Cancels ongoing transaction. Uncommitted state changes are lost."}),"\n",(0,n.jsx)(a.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#canceltransaction",children:(0,n.jsx)(a.code,{children:"cancelTransaction"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"clear",children:"clear()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"clear"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L49",children:"packages/core/src/page/state/PageStateManagerImpl.ts:49"})]}),"\n",(0,n.jsx)(a.p,{children:"Clears the state history."}),"\n",(0,n.jsx)(a.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#clear",children:(0,n.jsx)(a.code,{children:"clear"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"committransaction",children:"commitTransaction()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"commitTransaction"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L123",children:"packages/core/src/page/state/PageStateManagerImpl.ts:123"})]}),"\n",(0,n.jsxs)(a.p,{children:["Applies queued state patches to the main state. All patches are squashed\nand applied with one ",(0,n.jsx)(a.code,{children:"setState"})," call."]}),"\n",(0,n.jsx)(a.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#committransaction",children:(0,n.jsx)(a.code,{children:"commitTransaction"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"getallstates",children:"getAllStates()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"getAllStates"}),"(): ",(0,n.jsx)(a.code,{children:"S"}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L92",children:"packages/core/src/page/state/PageStateManagerImpl.ts:92"})]}),"\n",(0,n.jsx)(a.p,{children:"Returns the recorded history of page states. The states will be\nchronologically sorted from the oldest to the newest."}),"\n",(0,n.jsx)(a.p,{children:"Note that the implementation may limit the size of the recorded history,\ntherefore the complete history may not be available."}),"\n",(0,n.jsx)(a.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"S"}),"[]"]}),"\n",(0,n.jsx)(a.p,{children:"The recorded history of page states."}),"\n",(0,n.jsx)(a.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#getallstates",children:(0,n.jsx)(a.code,{children:"getAllStates"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"getstate",children:"getState()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"getState"}),"(): ",(0,n.jsx)(a.code,{children:"S"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L85",children:"packages/core/src/page/state/PageStateManagerImpl.ts:85"})]}),"\n",(0,n.jsx)(a.p,{children:"Returns the current page state."}),"\n",(0,n.jsx)(a.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"S"})}),"\n",(0,n.jsx)(a.p,{children:"The current page state."}),"\n",(0,n.jsx)(a.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#getstate",children:(0,n.jsx)(a.code,{children:"getState"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"gettransactionstatepatches",children:"getTransactionStatePatches()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"getTransactionStatePatches"}),"(): (",(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"S"})," | ",(0,n.jsx)(a.code,{children:"Pick"}),"<",(0,n.jsx)(a.code,{children:"S"}),", ",(0,n.jsx)(a.code,{children:"any"}),">)[]"]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L99",children:"packages/core/src/page/state/PageStateManagerImpl.ts:99"})]}),"\n",(0,n.jsx)(a.p,{children:"Returns queueing state patches off the main state from the begin of transaction."}),"\n",(0,n.jsx)(a.h4,{id:"returns-12",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:["(",(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"S"})," | ",(0,n.jsx)(a.code,{children:"Pick"}),"<",(0,n.jsx)(a.code,{children:"S"}),", ",(0,n.jsx)(a.code,{children:"any"}),">)[]"]}),"\n",(0,n.jsx)(a.p,{children:"State patches from the begin of transaction."}),"\n",(0,n.jsx)(a.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#gettransactionstatepatches",children:(0,n.jsx)(a.code,{children:"getTransactionStatePatches"})})]}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"setstate",children:"setState()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"setState"}),"<",(0,n.jsx)(a.code,{children:"K"}),">(",(0,n.jsx)(a.code,{children:"patchState"}),"): ",(0,n.jsx)(a.code,{children:"number"})," | ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L59",children:"packages/core/src/page/state/PageStateManagerImpl.ts:59"})]}),"\n",(0,n.jsx)(a.p,{children:"Sets a new page state by applying the provided patch to the current\nstate."}),"\n",(0,n.jsx)(a.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,n.jsxs)(a.p,{children:["\u2022 ",(0,n.jsx)(a.strong,{children:"K"})," ",(0,n.jsx)(a.em,{children:"extends"})," ",(0,n.jsx)(a.code,{children:"string"})," | ",(0,n.jsx)(a.code,{children:"number"})," | ",(0,n.jsx)(a.code,{children:"symbol"})]}),"\n",(0,n.jsx)(a.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"patchstate",children:"patchState"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"S"})," | ",(0,n.jsx)(a.code,{children:"Pick"}),"<",(0,n.jsx)(a.code,{children:"S"}),", ",(0,n.jsx)(a.code,{children:"K"}),">"]}),"\n",(0,n.jsx)(a.h4,{id:"returns-13",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"number"})," | ",(0,n.jsx)(a.code,{children:"void"})]}),"\n",(0,n.jsx)(a.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),".",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager#setstate",children:(0,n.jsx)(a.code,{children:"setState"})})]})]})}function o(e={}){const{wrapper:a}={...(0,t.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},3023:(e,a,s)=>{s.d(a,{R:()=>c,x:()=>i});var r=s(3696);const n={},t=r.createContext(n);function c(e){const a=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),r.createElement(t.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7581cadb.d7cf59e5.js b/assets/js/7581cadb.d7cf59e5.js new file mode 100644 index 000000000..527398989 --- /dev/null +++ b/assets/js/7581cadb.d7cf59e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7656],{2632:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/RouteFactory","title":"Class: RouteFactory","description":"Defined in9","source":"@site/../docs/api/@ima/core/classes/RouteFactory.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/RouteFactory","permalink":"/api/@ima/core/classes/RouteFactory","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/RouteFactory.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: Response","permalink":"/api/@ima/core/classes/Response"},"next":{"title":"Class: abstract Router","permalink":"/api/@ima/core/classes/Router"}}');var t=s(2540),c=s(3023);const i={},o="Class: RouteFactory",a={},l=[{value:"Constructors",id:"constructors",level:2},{value:"new RouteFactory()",id:"new-routefactory",level:3},{value:"Returns",id:"returns",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"createRoute()",id:"createroute",level:3},{value:"Parameters",id:"parameters",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-2",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"class-routefactory",children:"Class: RouteFactory"})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouteFactory.ts#L9",children:"packages/core/src/router/RouteFactory.ts:9"})]}),"\n",(0,t.jsx)(r.p,{children:"Utility factory used by router to create routes."}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-routefactory",children:"new RouteFactory()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new RouteFactory"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,t.jsx)(r.code,{children:"RouteFactory"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/RouteFactory",children:(0,t.jsx)(r.code,{children:"RouteFactory"})})}),"\n",(0,t.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,t.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,t.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"get"})," ",(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,t.jsx)(r.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouteFactory.ts#L10",children:"packages/core/src/router/RouteFactory.ts:10"})]}),"\n",(0,t.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"never"}),"[]"]}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"createroute",children:"createRoute()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"createRoute"}),"(",(0,t.jsx)(r.code,{children:"name"}),", ",(0,t.jsx)(r.code,{children:"pathExpression"}),", ",(0,t.jsx)(r.code,{children:"controller"}),", ",(0,t.jsx)(r.code,{children:"view"}),", ",(0,t.jsx)(r.code,{children:"options"}),"?): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/DynamicRoute",children:(0,t.jsx)(r.code,{children:"DynamicRoute"})})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/StaticRoute",children:(0,t.jsx)(r.code,{children:"StaticRoute"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouteFactory.ts#L32",children:"packages/core/src/router/RouteFactory.ts:32"})]}),"\n",(0,t.jsx)(r.p,{children:"Create new instance of ima.core.router.AbstractRoute."}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The unique name of this route, identifying it among\nthe rest of the routes in the application."}),"\n",(0,t.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,t.jsxs)(r.p,{children:["A path expression\nspecifying either the URL path part matching this route (must not",(0,t.jsx)(r.br,{}),"\n","contain a query string) with optionally containing named parameter\nplaceholders specified as ",(0,t.jsx)(r.code,{children:":parameterName"}),". Or object defining\nmatcher in form of regular expression and toPath and extractParameters\nfunction overrides."]}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,t.jsx)(r.code,{children:"RoutePathExpression"})})]}),"\n",(0,t.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,t.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,t.jsx)(r.p,{children:"The full name of Object Container alias\nidentifying the controller associated with this route."}),"\n",(0,t.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,t.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,t.jsx)(r.p,{children:"The full name or Object Container alias identifying\nthe view class associated with this route."}),"\n",(0,t.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Partial"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,t.jsx)(r.code,{children:"RouteFactoryOptions"})}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The route additional options."}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/DynamicRoute",children:(0,t.jsx)(r.code,{children:"DynamicRoute"})})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/StaticRoute",children:(0,t.jsx)(r.code,{children:"StaticRoute"})})]}),"\n",(0,t.jsx)(r.p,{children:"The constructed route."})]})}function h(e={}){const{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>o});var n=s(3696);const t={},c=n.createContext(t);function i(e){const r=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7651edab.5536a2c7.js b/assets/js/7651edab.5536a2c7.js deleted file mode 100644 index f1100b12d..000000000 --- a/assets/js/7651edab.5536a2c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8844],{5680:(e,t,r)=>{r.d(t,{xA:()=>l,yg:()=>d});var n=r(6540);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),p=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=p(r),f=o,d=u["".concat(s,".").concat(f)]||u[f]||m[f]||a;return r?n.createElement(d,i(i({ref:t},l),{},{components:r})):n.createElement(d,i({ref:t},l))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[u]="string"==typeof e?e:o,i[1]=c;for(var p=2;p<a;p++)i[p]=r[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},5781:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var n=r(8102),o=(r(6540),r(5680));const a={id:"ima_core.WindowCustomEventsMap",title:"Interface: WindowCustomEventsMap",sidebar_label:"@ima/core.WindowCustomEventsMap",custom_edit_url:null},i=void 0,c={unversionedId:"api/interfaces/ima_core.WindowCustomEventsMap",id:"api/interfaces/ima_core.WindowCustomEventsMap",title:"Interface: WindowCustomEventsMap",description:"@ima/core.WindowCustomEventsMap",source:"@site/../docs/api/interfaces/ima_core.WindowCustomEventsMap.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.WindowCustomEventsMap",permalink:"/api/interfaces/ima_core.WindowCustomEventsMap",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.WindowCustomEventsMap",title:"Interface: WindowCustomEventsMap",sidebar_label:"@ima/core.WindowCustomEventsMap",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Utils",permalink:"/api/interfaces/ima_core.Utils"},next:{title:"@ima/dev-utils.CompileError",permalink:"/api/interfaces/ima_dev_utils.CompileError"}},s={},p=[],l={toc:p},u="wrapper";function m(e){let{components:t,...r}=e;return(0,o.yg)(u,(0,n.A)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,(0,o.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".WindowCustomEventsMap"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/77404de2.ce26f1ee.js b/assets/js/77404de2.ce26f1ee.js new file mode 100644 index 000000000..f9efc2145 --- /dev/null +++ b/assets/js/77404de2.ce26f1ee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3004],{445:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/classes/Router","title":"Class: abstract Router","description":"Defined in67","source":"@site/../docs/api/@ima/core/classes/Router.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Router","permalink":"/api/@ima/core/classes/Router","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Router.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: RouteFactory","permalink":"/api/@ima/core/classes/RouteFactory"},"next":{"title":"Class: SerialBatch","permalink":"/api/@ima/core/classes/SerialBatch"}}');var i=n(2540),t=n(3023);const c={},o="Class: abstract Router",a={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Router()",id:"new-router",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"add()",id:"add",level:3},{value:"Parameters",id:"parameters",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Throws",id:"throws",level:4},{value:"getBaseUrl()",id:"getbaseurl",level:3},{value:"Returns",id:"returns-2",level:4},{value:"getCurrentRouteInfo()",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-3",level:4},{value:"params",id:"params",level:5},{value:"path",id:"path",level:5},{value:"route",id:"route",level:5},{value:"Throws",id:"throws-1",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-4",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-5",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-6",level:4},{value:"getProtocol()",id:"getprotocol",level:3},{value:"Returns",id:"returns-7",level:4},{value:"getRouteHandler()",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-9",level:4},{value:"handleError()",id:"handleerror",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"params",id:"params-1",level:5},{value:"options?",id:"options-1",level:5},{value:"locals?",id:"locals",level:5},{value:"Returns",id:"returns-10",level:4},{value:"handleNotFound()",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"params",id:"params-2",level:5},{value:"options?",id:"options-2",level:5},{value:"locals?",id:"locals-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"config",id:"config",level:5},{value:"$Host",id:"host",level:6},{value:"$LanguagePartPath",id:"languagepartpath",level:6},{value:"$Protocol",id:"protocol",level:6},{value:"$Root",id:"root",level:6},{value:"Returns",id:"returns-12",level:4},{value:"isClientError()",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"reason",id:"reason",level:5},{value:"Returns",id:"returns-13",level:4},{value:"isRedirection()",id:"isredirection",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"reason",id:"reason-1",level:5},{value:"Returns",id:"returns-14",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"routeName",id:"routename",level:5},{value:"params",id:"params-3",level:5},{value:"Returns",id:"returns-15",level:4},{value:"listen()",id:"listen",level:3},{value:"Returns",id:"returns-16",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"url",id:"url",level:5},{value:"options?",id:"options-3",level:5},{value:"action?",id:"action",level:5},{value:"locals?",id:"locals-2",level:5},{value:"Returns",id:"returns-17",level:4},{value:"remove()",id:"remove",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"name",id:"name-2",level:5},{value:"Returns",id:"returns-18",level:4},{value:"route()",id:"route-1",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"path",id:"path-1",level:5},{value:"options?",id:"options-4",level:5},{value:"action?",id:"action-1",level:5},{value:"locals?",id:"locals-3",level:5},{value:"Returns",id:"returns-19",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Returns",id:"returns-20",level:4},{value:"use()",id:"use",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"middleware",id:"middleware",level:5},{value:"Returns",id:"returns-21",level:4},{value:"Throws",id:"throws-2",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsxs)(r.h1,{id:"class-abstract-router",children:["Class: ",(0,i.jsx)(r.code,{children:"abstract"})," Router"]})}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L67",children:"packages/core/src/router/Router.ts:67"})]}),"\n",(0,i.jsx)(r.p,{children:"The router manages the application's routing configuration and dispatches\ncontrollers and views according to the current URL and the route it matches."}),"\n",(0,i.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRouter",children:(0,i.jsx)(r.code,{children:"AbstractRouter"})})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(r.h3,{id:"new-router",children:"new Router()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"new Router"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n",(0,i.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(r.h3,{id:"add",children:"add()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"add"}),"(",(0,i.jsx)(r.code,{children:"name"}),", ",(0,i.jsx)(r.code,{children:"pathExpression"}),", ",(0,i.jsx)(r.code,{children:"controller"}),", ",(0,i.jsx)(r.code,{children:"view"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L128",children:"packages/core/src/router/Router.ts:128"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new route to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of this route, identifying it among\nthe rest of the routes in the application."}),"\n",(0,i.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsxs)(r.p,{children:["A path expression specifying the URL path\npart matching this route (must not contain a query string),\noptionally containing named parameter placeholders specified as\n",(0,i.jsx)(r.code,{children:":parameterName"}),". The name of the parameter is terminated\nby a forward slash (",(0,i.jsx)(r.code,{children:"/"}),") or the end of the path expression\nstring.\nThe path expression may also contain optional parameters, which\nare specified as ",(0,i.jsx)(r.code,{children:":?parameterName"}),". It is recommended to\nspecify the optional parameters at the end of the path\nexpression."]}),"\n",(0,i.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,i.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name of Object Container alias\nidentifying the controller associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,i.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,i.jsx)(r.p,{children:"The full name or Object Container alias identifying\nthe view class associated with this route."}),"\n",(0,i.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["Additional route options, specified how the navigation to the\nroute will be handled.\nThe ",(0,i.jsx)(r.code,{children:"onlyUpdate"})," can be either a flag signalling whether\nthe current controller and view instances should be kept if they\nmatch the ones used by the previous route; or a callback function\nthat will receive the previous controller and view identifiers\nused in the previously matching route, and returns a\n",(0,i.jsx)(r.code,{children:"boolean"})," representing the value of the flag. This flag is\ndisabled by default.\nThe ",(0,i.jsx)(r.code,{children:"autoScroll"})," flag signals whether the page should be\nscrolled to the top when the navigation takes place. This flag is\nenabled by default."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route with the same name already exists."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getbaseurl",children:"getBaseUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getBaseUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L199",children:"packages/core/src/router/Router.ts:199"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the application's absolute base URL, pointing to the public root\nof the application."}),"\n",(0,i.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The application's base URL."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getcurrentrouteinfo",children:"getCurrentRouteInfo()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getCurrentRouteInfo"}),"(): ",(0,i.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L237",children:"packages/core/src/router/Router.ts:237"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the information about the currently active route."}),"\n",(0,i.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"object"})}),"\n",(0,i.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"params"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"path"}),": ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(r.h5,{id:"route",children:"route"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),": ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,i.jsx)(r.h4,{id:"throws-1",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a route is not define for current path."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getDomain"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L209",children:"packages/core/src/router/Router.ts:209"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the application's domain in the following form\n",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's domain."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"gethost",children:"getHost()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getHost"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L218",children:"packages/core/src/router/Router.ts:218"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns application's host (domain and, if necessary, the port number)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application's host."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getpath",children:"getPath()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getPath"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L180",children:"packages/core/src/router/Router.ts:180"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current path part of the current URL, including the query\nstring (if any)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The path and query parts of the current URL."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getprotocol",children:"getProtocol()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getProtocol"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L229",children:"packages/core/src/router/Router.ts:229"})]}),"\n",(0,i.jsxs)(r.p,{children:["Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,i.jsx)(r.code,{children:"https:"}),")."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current application protocol used to access the\napplication."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"getroutehandler",children:"getRouteHandler()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getRouteHandler"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L168",children:"packages/core/src/router/Router.ts:168"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns specified handler from registered route handlers."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name."}),"\n",(0,i.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"undefined"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,i.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,i.jsx)(r.code,{children:"string"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,i.jsx)(r.code,{children:"RoutePathExpression"})}),"> | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})]}),"\n",(0,i.jsx)(r.p,{children:"Route with given name or undefined."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"getUrl"}),"(): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L189",children:"packages/core/src/router/Router.ts:189"})]}),"\n",(0,i.jsx)(r.p,{children:"Returns the current absolute URL (including protocol, host, query, etc)."}),"\n",(0,i.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The current absolute URL."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handleerror",children:"handleError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleError"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L374",children:"packages/core/src/router/Router.ts:374"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-1",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"handlenotfound",children:"handleNotFound()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"handleNotFound"}),"(",(0,i.jsx)(r.code,{children:"params"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L396",children:"packages/core/src/router/Router.ts:396"})]}),"\n",(0,i.jsx)(r.p,{children:'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'}),"\n",(0,i.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"params-2",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameters extracted from\nthe current URL path and query."}),"\n",(0,i.jsx)(r.h5,{id:"options-2",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"locals-1",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"init"}),"(",(0,i.jsx)(r.code,{children:"config"}),"): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L84",children:"packages/core/src/router/Router.ts:84"})]}),"\n",(0,i.jsx)(r.p,{children:"Initializes the router with the provided configuration."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"config",children:"config"}),"\n",(0,i.jsxs)(r.p,{children:["Router configuration.\nThe ",(0,i.jsx)(r.code,{children:"$Protocol"})," field must be the current protocol used to\naccess the application, terminated by a colon (for example\n",(0,i.jsx)(r.code,{children:"https:"}),").\nThe ",(0,i.jsx)(r.code,{children:"$Root"})," field must specify the URL path pointing to the\napplication's root.\nThe ",(0,i.jsx)(r.code,{children:"$LanguagePartPath"})," field must be the URL path fragment\nused as a suffix to the ",(0,i.jsx)(r.code,{children:"$Root"})," field that specifies the\ncurrent language.\nThe ",(0,i.jsx)(r.code,{children:"$Host"})," field must be the application's domain (and the\nport number if other than the default is used) in the following\nform: ",(0,i.jsx)(r.code,{children:"${protocol}//${host}"}),"."]}),"\n",(0,i.jsx)(r.h6,{id:"host",children:"$Host"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"languagepartpath",children:"$LanguagePartPath"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"protocol",children:"$Protocol"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h6,{id:"root",children:"$Root"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isclienterror",children:"isClientError()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isClientError"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L413",children:"packages/core/src/router/Router.ts:413"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nclient."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"isredirection",children:"isRedirection()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"isRedirection"}),"(",(0,i.jsx)(r.code,{children:"reason"}),"): ",(0,i.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L424",children:"packages/core/src/router/Router.ts:424"})]}),"\n",(0,i.jsx)(r.p,{children:"Tests, if possible, whether the specified error lead to redirection."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"reason-1",children:"reason"}),"\n",(0,i.jsx)(r.p,{children:"The encountered error."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Error"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Error",children:(0,i.jsx)(r.code,{children:"Error"})})]}),"\n",(0,i.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"boolean"})}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"true"})," if the error was caused the action of the\nredirection."]}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"link",children:"link()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"link"}),"(",(0,i.jsx)(r.code,{children:"routeName"}),", ",(0,i.jsx)(r.code,{children:"params"}),"): ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L332",children:"packages/core/src/router/Router.ts:332"})]}),"\n",(0,i.jsx)(r.p,{children:"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"routename",children:"routeName"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The unique name of the route, identifying the\nroute to use."}),"\n",(0,i.jsx)(r.h5,{id:"params-3",children:"params"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,i.jsx)(r.p,{children:"Parameter values for the route's\nparameter placeholders. Extraneous parameters will be added as\nURL query."}),"\n",(0,i.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"An absolute URL for the specified route and parameters."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"listen",children:"listen()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"listen"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L264",children:"packages/core/src/router/Router.ts:264"})]}),"\n",(0,i.jsx)(r.p,{children:'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This\nmethod has no effect at the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"redirect"}),"(",(0,i.jsx)(r.code,{children:"url"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L311",children:"packages/core/src/router/Router.ts:311"})]}),"\n",(0,i.jsx)(r.p,{children:"Redirects the client to the specified location."}),"\n",(0,i.jsxs)(r.p,{children:["At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,i.jsx)(r.code,{children:"Location"})," header."]}),"\n",(0,i.jsx)(r.p,{children:"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."}),"\n",(0,i.jsx)(r.p,{children:"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"url",children:"url"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL to which the client should be redirected."}),"\n",(0,i.jsx)(r.h5,{id:"options-3",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-2",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"void"})}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"remove",children:"remove()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"remove"}),"(",(0,i.jsx)(r.code,{children:"name"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L158",children:"packages/core/src/router/Router.ts:158"})]}),"\n",(0,i.jsx)(r.p,{children:"Removes the specified route from the router's known routes."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"name-2",children:"name"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The route's unique name, identifying the route to remove."}),"\n",(0,i.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"route-1",children:"route()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"route"}),"(",(0,i.jsx)(r.code,{children:"path"}),", ",(0,i.jsx)(r.code,{children:"options"}),"?, ",(0,i.jsx)(r.code,{children:"action"}),"?, ",(0,i.jsx)(r.code,{children:"locals"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L351",children:"packages/core/src/router/Router.ts:351"})]}),"\n",(0,i.jsx)(r.p,{children:"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})}),"\n",(0,i.jsx)(r.p,{children:"The URL path part received from the client, with\noptional query."}),"\n",(0,i.jsx)(r.h5,{id:"options-4",children:"options?"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Partial"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(r.code,{children:"RouteOptions"})}),">"]}),"\n",(0,i.jsxs)(r.p,{children:["The options overrides route options defined in\nthe ",(0,i.jsx)(r.code,{children:"routes.js"})," configuration file."]}),"\n",(0,i.jsx)(r.h5,{id:"action-1",children:"action?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,i.jsx)(r.code,{children:"RouteAction"})})}),"\n",(0,i.jsx)(r.p,{children:"An action object describing what triggered this routing."}),"\n",(0,i.jsx)(r.h5,{id:"locals-3",children:"locals?"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:(0,i.jsx)(r.code,{children:"RouteLocals"})})}),"\n",(0,i.jsx)(r.p,{children:"The locals param is used to pass local data\nbetween middlewares."}),"\n",(0,i.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.code,{children:"void"})," | ",(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"unlisten"}),"(): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L285",children:"packages/core/src/router/Router.ts:285"})]}),"\n",(0,i.jsx)(r.p,{children:'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'}),"\n",(0,i.jsx)(r.p,{children:"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."}),"\n",(0,i.jsx)(r.p,{children:"Note that the router will not prevent forms from being submitted to the\nserver."}),"\n",(0,i.jsxs)(r.p,{children:["The effects of this method can be reverted with ",(0,i.jsx)(r.code,{children:"unlisten"}),". This method has no effect\nat the server side."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.hr,{}),"\n",(0,i.jsx)(r.h3,{id:"use",children:"use()"}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"use"}),"(",(0,i.jsx)(r.code,{children:"middleware"}),"): ",(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L148",children:"packages/core/src/router/Router.ts:148"})]}),"\n",(0,i.jsx)(r.p,{children:"Adds a new middleware to router."}),"\n",(0,i.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsx)(r.h5,{id:"middleware",children:"middleware"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:(0,i.jsx)(r.code,{children:"RouterMiddleware"})})}),"\n",(0,i.jsxs)(r.p,{children:["Middleware\nfunction accepting routeParams as a first argument, which can be mutated\nand ",(0,i.jsx)(r.code,{children:"locals"})," object as second argument. This can be used to pass data\nbetween middlewares."]}),"\n",(0,i.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(r.code,{children:"Router"})})}),"\n",(0,i.jsx)(r.p,{children:"This router."}),"\n",(0,i.jsx)(r.h4,{id:"throws-2",children:"Throws"}),"\n",(0,i.jsx)(r.p,{children:"Thrown if a middleware with the same name already exists."})]})}function h(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>c,x:()=>o});var s=n(3696);const i={},t=s.createContext(i);function c(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),s.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/77cf719a.13a1653e.js b/assets/js/77cf719a.13a1653e.js new file mode 100644 index 000000000..375ccd5ca --- /dev/null +++ b/assets/js/77cf719a.13a1653e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7976],{8846:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>o,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/interfaces/useComponentType","title":"Interface: useComponentType","description":"Defined in7","source":"@site/../docs/api/@ima/react-page-renderer/interfaces/useComponentType.md","sourceDirName":"api/@ima/react-page-renderer/interfaces","slug":"/api/@ima/react-page-renderer/interfaces/useComponentType","permalink":"/api/@ima/react-page-renderer/interfaces/useComponentType","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/interfaces/useComponentType.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ViewAdapterProps","permalink":"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps"},"next":{"title":"Interface: useDispatcherType","permalink":"/api/@ima/react-page-renderer/interfaces/useDispatcherType"}}');var t=s(2540),i=s(3023);const a={},c="Interface: useComponentType",l={},d=[{value:"Properties",id:"properties",level:2},{value:"cssClasses()",id:"cssclasses",level:3},{value:"Parameters",id:"parameters",level:4},{value:"classRules",id:"classrules",level:5},{value:"component?",id:"component",level:5},{value:"Returns",id:"returns",level:4},{value:"fire()",id:"fire",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"eventName",id:"eventname",level:5},{value:"data?",id:"data",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Throws",id:"throws",level:4},{value:"See",id:"see",level:4},{value:"link()",id:"link",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"routeName",id:"routename",level:5},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-2",level:4},{value:"listen()",id:"listen",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"eventTarget",id:"eventtarget-1",level:5},{value:"eventName",id:"eventname-1",level:5},{value:"listener",id:"listener",level:5},{value:"Returns",id:"returns-3",level:4},{value:"localize()",id:"localize",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"key",id:"key",level:5},{value:"parameters?",id:"parameters-5",level:5},{value:"Returns",id:"returns-4",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"eventTarget",id:"eventtarget-2",level:5},{value:"eventName",id:"eventname-2",level:5},{value:"listener",id:"listener-1",level:5},{value:"Returns",id:"returns-5",level:4},{value:"utils",id:"utils",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"interface-usecomponenttype",children:"Interface: useComponentType"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L7",children:"packages/react-page-renderer/src/hooks/component.ts:7"})]}),"\n",(0,t.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"cssclasses",children:"cssClasses()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"cssClasses"}),": (",(0,t.jsx)(n.code,{children:"classRules"}),", ",(0,t.jsx)(n.code,{children:"component"}),"?) => ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L9",children:"packages/react-page-renderer/src/hooks/component.ts:9"})]}),"\n",(0,t.jsxs)(n.p,{children:["Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"classrules",children:"classRules"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Argument"})}),"\n",(0,t.jsxs)(n.p,{children:["CSS classes in a\nstring separated by whitespace, or a map of CSS class names to\nboolean values. The CSS class name will be included in the result\nonly if the value is ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsx)(n.h5,{id:"component",children:"component?"}),"\n",(0,t.jsxs)(n.p,{children:["The component\nrequiring the composition of the CSS class names, if it has the\n",(0,t.jsx)(n.code,{children:"className"})," property set and requires its inclusion this time."]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"string"})," | ",(0,t.jsx)(n.code,{children:"ComponentType"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsxs)(n.p,{children:["String of CSS classes that had their property resolved\nto ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"fire"}),": (",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"data"}),"?, ",(0,t.jsx)(n.code,{children:"options"}),"?) => ",(0,t.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L12",children:"packages/react-page-renderer/src/hooks/component.ts:12"})]}),"\n",(0,t.jsx)(n.p,{children:"Fires a new custom event of the specified name, carrying the provided\ndata."}),"\n",(0,t.jsx)(n.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,t.jsxs)(n.p,{children:["Note that the default options are\n",(0,t.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),", which is different from the\ndefault values used in the native custom events\n(",(0,t.jsx)(n.code,{children:"{ bubbles: false, cancelable: false }"}),")."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the event\nwill be dispatched (e.g. element/document/window)."}),"\n",(0,t.jsx)(n.h5,{id:"eventname",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event to fire."}),"\n",(0,t.jsx)(n.h5,{id:"data",children:"data?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.p,{children:"The data to pass to the event listeners."}),"\n",(0,t.jsx)(n.h5,{id:"options",children:"options?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusOptions",children:(0,t.jsx)(n.code,{children:"EventBusOptions"})})}),"\n",(0,t.jsxs)(n.p,{children:["The\noverride of the default options passed to the constructor of the\ncustom event fired by this event bus.\nThe default options passed to the custom event constructor are\n",(0,t.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"this"})}),"\n",(0,t.jsx)(n.p,{children:"This custom event bus."}),"\n",(0,t.jsx)(n.h4,{id:"throws",children:"Throws"}),"\n",(0,t.jsx)(n.p,{children:"Thrown if the provided event target cannot be used to\nfire the event."}),"\n",(0,t.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event",children:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"link",children:"link()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"link"}),": (",(0,t.jsx)(n.code,{children:"routeName"}),", ",(0,t.jsx)(n.code,{children:"params"}),") => ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L11",children:"packages/react-page-renderer/src/hooks/component.ts:11"})]}),"\n",(0,t.jsx)(n.p,{children:"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"routename",children:"routeName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The unique name of the route, identifying the\nroute to use."}),"\n",(0,t.jsx)(n.h5,{id:"params",children:"params"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(n.code,{children:"RouteParams"})})}),"\n",(0,t.jsx)(n.p,{children:"Parameter values for the route's\nparameter placeholders. Extraneous parameters will be added as\nURL query."}),"\n",(0,t.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"An absolute URL for the specified route and parameters."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"listen",children:"listen()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"listen"}),": (",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),") => ",(0,t.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L13",children:"packages/react-page-renderer/src/hooks/component.ts:13"})]}),"\n",(0,t.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specific\ncustom event is fired by the same implementation of the event bus and\npasses through the specified event target."}),"\n",(0,t.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."}),"\n",(0,t.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the listener\nshould listen for the specified event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-1",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event to listen for."}),"\n",(0,t.jsx)(n.h5,{id:"listener",children:"listener"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,t.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,t.jsx)(n.p,{children:"The event listener to\nregister."}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"this"})}),"\n",(0,t.jsx)(n.p,{children:"This event bus."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"localize",children:"localize()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"localize"}),": (",(0,t.jsx)(n.code,{children:"key"}),", ",(0,t.jsx)(n.code,{children:"parameters"}),"?) => ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L10",children:"packages/react-page-renderer/src/hooks/component.ts:10"})]}),"\n",(0,t.jsx)(n.p,{children:"Retrieves the localization phrase identified by the specified key,\nevaluates the phrase's placeholder expressions using the provided\nparameters and returns the result."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"key",children:"key"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"never"})}),"\n",(0,t.jsx)(n.p,{children:"The key identifying the localization phrase."}),"\n",(0,t.jsx)(n.h5,{id:"parameters-5",children:"parameters?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/ObjectParameters",children:(0,t.jsx)(n.code,{children:"ObjectParameters"})})}),"\n",(0,t.jsx)(n.p,{children:"The\nmap of parameter names to the parameter values to use.\nDefaults to an empty plain object."}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The specified localization phrase with its placeholders\nevaluated using the provided parameters."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"unlisten"}),": (",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),") => ",(0,t.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L14",children:"packages/react-page-renderer/src/hooks/component.ts:14"})]}),"\n",(0,t.jsx)(n.p,{children:"Removes the provided event listener from the set of event listeners\nexecuted when the specified custom event fired by the same\nimplementation passes through the specified event target."}),"\n",(0,t.jsx)(n.p,{children:"The method has no effect if the listener is not registered for the\nspecified event at the specified event target."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-2",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the listener\nis listening for the event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-2",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event listened for."}),"\n",(0,t.jsx)(n.h5,{id:"listener-1",children:"listener"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,t.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,t.jsx)(n.p,{children:"The event listener to\nderegister."}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"this"})}),"\n",(0,t.jsx)(n.p,{children:"This event bus."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"utils",children:"utils"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"utils"}),": ",(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(n.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L8",children:"packages/react-page-renderer/src/hooks/component.ts:8"})]})]})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>c});var r=s(3696);const t={},i=r.createContext(t);function a(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/79275fc0.78aec688.js b/assets/js/79275fc0.78aec688.js new file mode 100644 index 000000000..ad7870e7a --- /dev/null +++ b/assets/js/79275fc0.78aec688.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5618],{7424:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/enumerations/RouterEvents","title":"Enumeration: RouterEvents","description":"Defined in4","source":"@site/../docs/api/@ima/core/enumerations/RouterEvents.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/RouterEvents","permalink":"/api/@ima/core/enumerations/RouterEvents","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/RouterEvents.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: RouteNames","permalink":"/api/@ima/core/enumerations/RouteNames"},"next":{"title":"Enumeration: StateEvents","permalink":"/api/@ima/core/enumerations/StateEvents"}}');var s=r(2540),o=r(3023);const a={},i="Enumeration: RouterEvents",c={},d=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"AFTER_HANDLE_ROUTE",id:"after_handle_route",level:3},{value:"AFTER_LOADING_ASYNC_ROUTE",id:"after_loading_async_route",level:3},{value:"BEFORE_HANDLE_ROUTE",id:"before_handle_route",level:3},{value:"BEFORE_LOADING_ASYNC_ROUTE",id:"before_loading_async_route",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"enumeration-routerevents",children:"Enumeration: RouterEvents"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouterEvents.ts#L4",children:"packages/core/src/router/RouterEvents.ts:4"})]}),"\n",(0,s.jsx)(n.p,{children:"Events constants, which is firing to app."}),"\n",(0,s.jsx)(n.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,s.jsx)(n.h3,{id:"after_handle_route",children:"AFTER_HANDLE_ROUTE"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"AFTER_HANDLE_ROUTE"}),": ",(0,s.jsx)(n.code,{children:'"$IMA.$Router.afterHandleRoute"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouterEvents.ts#L25",children:"packages/core/src/router/RouterEvents.ts:25"})]}),"\n",(0,s.jsxs)(n.p,{children:["Router fire event ",(0,s.jsx)(n.code,{children:"$IMA.$Router.afterHandleRoute"})," after page\nmanager handle the route. Event's data contain\n",(0,s.jsx)(n.code,{children:"{response: Object<string, any>, params: Object<string, string>"}),",\n",(0,s.jsx)(n.code,{children:"route: ima.core.router.AbstractRoute, path: string, options: Object<string, *>}"}),".\nThe ",(0,s.jsx)(n.code,{children:"response"})," is page render result. The ",(0,s.jsx)(n.code,{children:"path"})," is current\npath, the ",(0,s.jsx)(n.code,{children:"params"})," are params extracted from path, the\n",(0,s.jsx)(n.code,{children:"route"})," is handle route for path and the ",(0,s.jsx)(n.code,{children:"options"})," is route\nadditional options."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"after_loading_async_route",children:"AFTER_LOADING_ASYNC_ROUTE"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"AFTER_LOADING_ASYNC_ROUTE"}),": ",(0,s.jsx)(n.code,{children:'"$IMA.$Router.afterLoadingAsyncRoute"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouterEvents.ts#L37",children:"packages/core/src/router/RouterEvents.ts:37"})]}),"\n",(0,s.jsx)(n.p,{children:"Event fired when router finishes loading of async view\nand controller. If both are sync this is never fired."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"before_handle_route",children:"BEFORE_HANDLE_ROUTE"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"BEFORE_HANDLE_ROUTE"}),": ",(0,s.jsx)(n.code,{children:'"$IMA.$Router.beforeHandleRoute"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouterEvents.ts#L13",children:"packages/core/src/router/RouterEvents.ts:13"})]}),"\n",(0,s.jsxs)(n.p,{children:["Router fire event ",(0,s.jsx)(n.code,{children:"$IMA.$Router.beforeHandleRoute"})," before page\nmanager handle the route. Event's data contain\n",(0,s.jsx)(n.code,{children:"{ params: Object<string, string>, route: ima.core.router.AbstractRoute, path: string, options: Object<string, any>}"}),".\nThe ",(0,s.jsx)(n.code,{children:"path"})," is current path, the ",(0,s.jsx)(n.code,{children:"params"})," are params extracted from path, the\n",(0,s.jsx)(n.code,{children:"route"})," is handle route for path and the ",(0,s.jsx)(n.code,{children:"options"})," is route\nadditional options."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"before_loading_async_route",children:"BEFORE_LOADING_ASYNC_ROUTE"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"BEFORE_LOADING_ASYNC_ROUTE"}),": ",(0,s.jsx)(n.code,{children:'"$IMA.$Router.beforeLoadingAsyncRoute"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouterEvents.ts#L31",children:"packages/core/src/router/RouterEvents.ts:31"})]}),"\n",(0,s.jsx)(n.p,{children:"Fired right before loading view and controller when either\nview or controller is async (or both)."})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>i});var t=r(3696);const s={},o=t.createContext(s);function a(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/798d67f4.d79ffc99.js b/assets/js/798d67f4.d79ffc99.js deleted file mode 100644 index ccbc6f638..000000000 --- a/assets/js/798d67f4.d79ffc99.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1412],{5341:(e,n,t)=>{t.d(n,{A:()=>a});const a=t.p+"assets/images/diagram-rendering-69394d1168548bc269a32e6893cc4fd4.png"},5680:(e,n,t)=>{t.d(n,{xA:()=>l,yg:()=>u});var a=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},l=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),d=c(t),m=r,u=d["".concat(s,".").concat(m)]||d[m]||g[m]||o;return t?a.createElement(u,i(i({ref:n},l),{},{components:t})):a.createElement(u,i({ref:n},l))}));function u(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var p={};for(var s in n)hasOwnProperty.call(n,s)&&(p[s]=n[s]);p.originalType=e,p[d]="string"==typeof e?e:r,i[1]=p;for(var c=2;c<o;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},2331:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>g,frontMatter:()=>o,metadata:()=>p,toc:()=>c});var a=t(8102),r=(t(6540),t(5680));const o={title:"Rendering process",description:"Basic features > Rendering process"},i=void 0,p={unversionedId:"basic-features/rendering-process",id:"basic-features/rendering-process",title:"Rendering process",description:"Basic features > Rendering process",source:"@site/../docs/basic-features/rendering-process.md",sourceDirName:"basic-features",slug:"/basic-features/rendering-process",permalink:"/basic-features/rendering-process",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/rendering-process.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Rendering process",description:"Basic features > Rendering process"},sidebar:"docs",previous:{title:"Object Container",permalink:"/basic-features/object-container"},next:{title:"Handling scripts and styles",permalink:"/basic-features/handling-scripts-and-styles"}},s={},c=[{value:"DocumentView",id:"documentview",level:2},{value:"ViewAdapter",id:"viewadapter",level:2},{value:"React Context",id:"react-context",level:3},{value:"ManagedRootView",id:"managedrootview",level:2}],l={toc:c},d="wrapper";function g(e){let{components:n,...o}=e;return(0,r.yg)(d,(0,a.A)({},l,o,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"The rendering process goes through many points you can customize or take\nadvantage of. First thing IMA.js will want to render is a ",(0,r.yg)("strong",{parentName:"p"},"DocumentView"),"\nfollowed by ",(0,r.yg)("strong",{parentName:"p"},"ViewAdapter")," and ",(0,r.yg)("strong",{parentName:"p"},"ManagedRootView"),"."),(0,r.yg)("p",null,(0,r.yg)("img",{src:t(5341).A,width:"881",height:"421"})),(0,r.yg)("h2",{id:"documentview"},"DocumentView"),(0,r.yg)("p",null,"DocumentView is the root of your application's html markup and a mounting point\nfor all the views. It's only rendered at the server-side and then send to the\nclient with the application state inlined as a string. The application state is\nthen revived and your application re-rendered."),(0,r.yg)("p",null,"DocumentView component can be found in ",(0,r.yg)("inlineCode",{parentName:"p"},"app/component/document/DocumentView.jsx"),"\nand is registered in a file ",(0,r.yg)("inlineCode",{parentName:"p"},"app/config/settings.js")," in property\n",(0,r.yg)("inlineCode",{parentName:"p"},"$Page.$Render.documentView"),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/settings.js\n\nimport DocumentView from 'app/component/document/DocumentView';\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n // ...\n $Page: {\n $Render: {\n // ...\n documentView: DocumentView\n }\n }\n }\n };\n}\n")),(0,r.yg)("p",null,"This configuration affects all pages across the\napplication. To change DocumentView for an individual route use option\n",(0,r.yg)("inlineCode",{parentName:"p"},"documentView")," when registering the route (See ",(0,r.yg)("a",{parentName:"p",href:"./routing/introduction#documentview"},"Route options"),"\nfor more information). This feature is extremely useful when creating pages\nthat are embedded in an iframe."),(0,r.yg)("p",null,"If you take a closer look at the contents of the DocumentView you'll see it\nconsists of 3 main HTML elements (",(0,r.yg)("inlineCode",{parentName:"p"},"div#page"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"script#revivalSettings")," and\n",(0,r.yg)("inlineCode",{parentName:"p"},"script#scripts"),"). For documentation about the MetaManager and how it's used in\nthe ",(0,r.yg)("inlineCode",{parentName:"p"},"<meta/>")," tags see the ",(0,r.yg)("a",{parentName:"p",href:"./seo-and-meta-manager"},"SEO & MetaManager")," page."),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"div#page")," - This is the actual point where your application ",(0,r.yg)("strong",{parentName:"p"},"will mount")," with the help of\n",(0,r.yg)("strong",{parentName:"p"},"ViewAdapter"),". The whole component tree (starting with the ViewAdapter) is\ncontained in the ",(0,r.yg)("inlineCode",{parentName:"p"},"page")," property and is embedded into the ",(0,r.yg)("inlineCode",{parentName:"p"},"div#page")," via\na React workaround ",(0,r.yg)("inlineCode",{parentName:"p"},"dangerouslySetInnerHTML={{ __html: this.props.page }}"),".\nYou're completely free to change the ",(0,r.yg)("inlineCode",{parentName:"p"},"#page")," ID of the div but IMA.js needs to know where\nthe mounting point is. Therefore there is a ",(0,r.yg)("inlineCode",{parentName:"p"},"static get masterElementId()"),"\nmethod that should return the ID as a ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),".")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"script#revivalSettings")," - Inside this ",(0,r.yg)("inlineCode",{parentName:"p"},"<script/>")," tag will be inlined the application state from the\nserver. The state is embedded into the script tag via the same workaround as\nthe component tree.")),(0,r.yg)("li",{parentName:"ol"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},"script#scripts")," - This ",(0,r.yg)("inlineCode",{parentName:"p"},"<script/>")," tags takes care of loading all the bundles you've defined in\n",(0,r.yg)("a",{parentName:"p",href:"/introduction/configuration#build-and-environment-configuration"},(0,r.yg)("inlineCode",{parentName:"a"},"app/build.js")),". It also\ntests if a client browser is capable of running ES6 version of the bundle. For\nmore details check the ",(0,r.yg)("inlineCode",{parentName:"p"},"this.getAsyncScripts()")," method."))),(0,r.yg)("h2",{id:"viewadapter"},"ViewAdapter"),(0,r.yg)("p",null,"This component does exactly what it's named after. It serves as an adapter\nfor the current controller's ",(0,r.yg)("strong",{parentName:"p"},"View"),". The ViewAdapter receives 2 props:\n",(0,r.yg)("inlineCode",{parentName:"p"},"state")," object which holds the current page state and ",(0,r.yg)("inlineCode",{parentName:"p"},"view")," component that\nshould be rendered with the ",(0,r.yg)("inlineCode",{parentName:"p"},"state")," as input props."),(0,r.yg)("p",null,"This component is also a great place for creating the React context by utilizing a\n",(0,r.yg)("inlineCode",{parentName:"p"},"Provider")," from ",(0,r.yg)("inlineCode",{parentName:"p"},"React.createContext()"),"."),(0,r.yg)("p",null,"If you want to customize the ViewAdapter you should extend the base\nViewAdapter from ",(0,r.yg)("inlineCode",{parentName:"p"},"ima/page/renderer/ViewAdapter")," and call superior\n",(0,r.yg)("inlineCode",{parentName:"p"},"constructor")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"render")," method."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"Custom ViewAdapter")," can be applied the same way as DocumentView:"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"In ",(0,r.yg)("inlineCode",{parentName:"li"},"app/config/setting.js")),(0,r.yg)("li",{parentName:"ol"},"On a specific route by specifying it in the ",(0,r.yg)("a",{parentName:"li",href:"./routing/introduction#options"},"route options"),".")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/settings.js\n\nimport DocumentView from 'app/component/document/DocumentView';\nimport CustomViewAdapter from 'app/page/CustomViewAdapter';\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n // ...\n $Page: {\n $Render: {\n // ...\n documentView: DocumentView,\n viewAdapter: CustomViewAdapter\n }\n }\n }\n };\n}\n")),(0,r.yg)("h3",{id:"react-context"},"React Context"),(0,r.yg)("p",null,"As we have mentioned above, ",(0,r.yg)("strong",{parentName:"p"},"ViewAdapter")," is the place to define React Context. Since ",(0,r.yg)("strong",{parentName:"p"},"v17")," IMA.js uses new React Context API. The context value contains property ",(0,r.yg)("inlineCode",{parentName:"p"},"$Utils")," with all registered utils from ",(0,r.yg)("strong",{parentName:"p"},"ComponentUtils"),"."),(0,r.yg)("p",null,"Context is defined in separate file and its ",(0,r.yg)("strong",{parentName:"p"},"Provider")," is rendered in ",(0,r.yg)("strong",{parentName:"p"},"ViewAdapter"),". Then the Context is used in ",(0,r.yg)("strong",{parentName:"p"},"AbstractComponent"),"\xa0in ",(0,r.yg)("a",{parentName:"p",href:"https://reactjs.org/docs/context.html#classcontexttype"},(0,r.yg)("inlineCode",{parentName:"a"},"static get contextType()")),"."),(0,r.yg)("h2",{id:"managedrootview"},"ManagedRootView"),(0,r.yg)("p",null,"The ",(0,r.yg)("strong",{parentName:"p"},"ManagedRootView")," is just another wrapper before rendering the actual\ncontroller view. Remember when we told you that the ",(0,r.yg)("strong",{parentName:"p"},"ViewAdapter")," is\nrendering the actual View? We lied ",(0,r.yg)("inlineCode",{parentName:"p"},"\xaf\\_(\u30c4)_/\xaf"),"."),(0,r.yg)("p",null,"If you're wondering what is the ManagedRootView good for, it's for creating\ncomponents that persist through the life of SPA and are not unmounted when the\nController or View changes. Good example of this is a page that displays a map\non one side and page content on the other (",(0,r.yg)("a",{parentName:"p",href:"https://en.mapy.cz/"},"https://en.mapy.cz/"),",\n",(0,r.yg)("a",{parentName:"p",href:"https://www.kiwi.com/en/search/"},"https://www.kiwi.com/en/search/"),", ",(0,r.yg)("a",{parentName:"p",href:"https://airbnb.com/"},"https://airbnb.com/"),")."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-jsx"},"// app/page/MapManagedRootView.js\n\nimport { BlankManagedRootView } from '@ima/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Map from 'app/component/map/Map';\nimport MapResult from 'app/component/map/MapResult';\n\nexport default class MapManagedRootView extends BlankManagedRootView {\n\n // ...\n\n render() {\n // Obtain search results and map settings from page state.\n const {\xa0searchResults, mapType } = this.props;\n\n return (\n <React.Fragment>\n {super.render()}\n <Map\n type = { mapType }\n centerOnResults = { true }>\n { searchResults.map(result => (\n <MapResult place = { result }/>\n ))}\n </Map>\n </React.Fragment>\n );\n }\n}\n")),(0,r.yg)("p",null,"Then the ",(0,r.yg)("inlineCode",{parentName:"p"},"MapManagedRootView")," can be used in ",(0,r.yg)("inlineCode",{parentName:"p"},"app/config/setting.js"),"\n(property ",(0,r.yg)("inlineCode",{parentName:"p"},"managedRootView"),") or in ",(0,r.yg)("a",{parentName:"p",href:"./routing/introduction#managedrootview"},"route options")," the same\nway as ",(0,r.yg)("strong",{parentName:"p"},"DocumentView")," or ",(0,r.yg)("strong",{parentName:"p"},"ViewAdapter"),"."),(0,r.yg)("p",null,"As you may have notices ",(0,r.yg)("inlineCode",{parentName:"p"},"MapManagedRootView")," extends ",(0,r.yg)("inlineCode",{parentName:"p"},"BlankManagedRootView")," which is also the default ",(0,r.yg)("strong",{parentName:"p"},"ManagedRootView")," when you don't specify your own. ",(0,r.yg)("inlineCode",{parentName:"p"},"render()")," method of ",(0,r.yg)("strong",{parentName:"p"},"BlankManagedRootView")," simply renders View for current route with props containing current page state."),(0,r.yg)("p",null,"Now when you know how a big part of the rendering process goes it's time to\nhave a look subsequent ",(0,r.yg)("a",{parentName:"p",href:"./views-and-components"},"View and Component")," rendering."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/798d67f4.ffc383cb.js b/assets/js/798d67f4.ffc383cb.js new file mode 100644 index 000000000..c6f315e75 --- /dev/null +++ b/assets/js/798d67f4.ffc383cb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1412],{9069:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"basic-features/rendering-process","title":"Rendering process","description":"Basic features > Rendering process","source":"@site/../docs/basic-features/rendering-process.md","sourceDirName":"basic-features","slug":"/basic-features/rendering-process","permalink":"/basic-features/rendering-process","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/rendering-process.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Rendering process","description":"Basic features > Rendering process"},"sidebar":"docs","previous":{"title":"Object Container","permalink":"/basic-features/object-container"},"next":{"title":"Handling scripts and styles","permalink":"/basic-features/handling-scripts-and-styles"}}');var r=t(2540),i=t(3023);const o={title:"Rendering process",description:"Basic features > Rendering process"},a=void 0,c={},d=[{value:"DocumentView",id:"documentview",level:2},{value:"ViewAdapter",id:"viewadapter",level:2},{value:"React Context",id:"react-context",level:3},{value:"ManagedRootView",id:"managedrootview",level:2}];function h(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["The rendering process goes through many points you can customize or take\nadvantage of. First thing IMA.js will want to render is a ",(0,r.jsx)(n.strong,{children:"DocumentView"}),"\nfollowed by ",(0,r.jsx)(n.strong,{children:"ViewAdapter"})," and ",(0,r.jsx)(n.strong,{children:"ManagedRootView"}),"."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{src:t(5341).A+"",width:"881",height:"421"})}),"\n",(0,r.jsx)(n.h2,{id:"documentview",children:"DocumentView"}),"\n",(0,r.jsx)(n.p,{children:"DocumentView is the root of your application's html markup and a mounting point\nfor all the views. It's only rendered at the server-side and then send to the\nclient with the application state inlined as a string. The application state is\nthen revived and your application re-rendered."}),"\n",(0,r.jsxs)(n.p,{children:["DocumentView component can be found in ",(0,r.jsx)(n.code,{children:"app/component/document/DocumentView.jsx"}),"\nand is registered in a file ",(0,r.jsx)(n.code,{children:"app/config/settings.js"})," in property\n",(0,r.jsx)(n.code,{children:"$Page.$Render.documentView"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/settings.js\n\nimport DocumentView from 'app/component/document/DocumentView';\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n // ...\n $Page: {\n $Render: {\n // ...\n documentView: DocumentView\n }\n }\n }\n };\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This configuration affects all pages across the\napplication. To change DocumentView for an individual route use option\n",(0,r.jsx)(n.code,{children:"documentView"})," when registering the route (See ",(0,r.jsx)(n.a,{href:"./routing/introduction#documentview",children:"Route options"}),"\nfor more information). This feature is extremely useful when creating pages\nthat are embedded in an iframe."]}),"\n",(0,r.jsxs)(n.p,{children:["If you take a closer look at the contents of the DocumentView you'll see it\nconsists of 3 main HTML elements (",(0,r.jsx)(n.code,{children:"div#page"}),", ",(0,r.jsx)(n.code,{children:"script#revivalSettings"})," and\n",(0,r.jsx)(n.code,{children:"script#scripts"}),"). For documentation about the MetaManager and how it's used in\nthe ",(0,r.jsx)(n.code,{children:"<meta/>"})," tags see the ",(0,r.jsx)(n.a,{href:"./seo-and-meta-manager",children:"SEO & MetaManager"})," page."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"div#page"})," - This is the actual point where your application ",(0,r.jsx)(n.strong,{children:"will mount"})," with the help of\n",(0,r.jsx)(n.strong,{children:"ViewAdapter"}),". The whole component tree (starting with the ViewAdapter) is\ncontained in the ",(0,r.jsx)(n.code,{children:"page"})," property and is embedded into the ",(0,r.jsx)(n.code,{children:"div#page"})," via\na React workaround ",(0,r.jsx)(n.code,{children:"dangerouslySetInnerHTML={{ __html: this.props.page }}"}),".\nYou're completely free to change the ",(0,r.jsx)(n.code,{children:"#page"})," ID of the div but IMA.js needs to know where\nthe mounting point is. Therefore there is a ",(0,r.jsx)(n.code,{children:"static get masterElementId()"}),"\nmethod that should return the ID as a ",(0,r.jsx)(n.code,{children:"string"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"script#revivalSettings"})," - Inside this ",(0,r.jsx)(n.code,{children:"<script/>"})," tag will be inlined the application state from the\nserver. The state is embedded into the script tag via the same workaround as\nthe component tree."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"script#scripts"})," - This ",(0,r.jsx)(n.code,{children:"<script/>"})," tags takes care of loading all the bundles you've defined in\n",(0,r.jsx)(n.a,{href:"/introduction/configuration#build-and-environment-configuration",children:(0,r.jsx)(n.code,{children:"app/build.js"})}),". It also\ntests if a client browser is capable of running ES6 version of the bundle. For\nmore details check the ",(0,r.jsx)(n.code,{children:"this.getAsyncScripts()"})," method."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"viewadapter",children:"ViewAdapter"}),"\n",(0,r.jsxs)(n.p,{children:["This component does exactly what it's named after. It serves as an adapter\nfor the current controller's ",(0,r.jsx)(n.strong,{children:"View"}),". The ViewAdapter receives 2 props:\n",(0,r.jsx)(n.code,{children:"state"})," object which holds the current page state and ",(0,r.jsx)(n.code,{children:"view"})," component that\nshould be rendered with the ",(0,r.jsx)(n.code,{children:"state"})," as input props."]}),"\n",(0,r.jsxs)(n.p,{children:["This component is also a great place for creating the React context by utilizing a\n",(0,r.jsx)(n.code,{children:"Provider"})," from ",(0,r.jsx)(n.code,{children:"React.createContext()"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["If you want to customize the ViewAdapter you should extend the base\nViewAdapter from ",(0,r.jsx)(n.code,{children:"ima/page/renderer/ViewAdapter"})," and call superior\n",(0,r.jsx)(n.code,{children:"constructor"})," and ",(0,r.jsx)(n.code,{children:"render"})," method."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Custom ViewAdapter"})," can be applied the same way as DocumentView:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["In ",(0,r.jsx)(n.code,{children:"app/config/setting.js"})]}),"\n",(0,r.jsxs)(n.li,{children:["On a specific route by specifying it in the ",(0,r.jsx)(n.a,{href:"./routing/introduction#options",children:"route options"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"// app/config/settings.js\n\nimport DocumentView from 'app/component/document/DocumentView';\nimport CustomViewAdapter from 'app/page/CustomViewAdapter';\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n // ...\n $Page: {\n $Render: {\n // ...\n documentView: DocumentView,\n viewAdapter: CustomViewAdapter\n }\n }\n }\n };\n}\n"})}),"\n",(0,r.jsx)(n.h3,{id:"react-context",children:"React Context"}),"\n",(0,r.jsxs)(n.p,{children:["As we have mentioned above, ",(0,r.jsx)(n.strong,{children:"ViewAdapter"})," is the place to define React Context. Since ",(0,r.jsx)(n.strong,{children:"v17"})," IMA.js uses new React Context API. The context value contains property ",(0,r.jsx)(n.code,{children:"$Utils"})," with all registered utils from ",(0,r.jsx)(n.strong,{children:"ComponentUtils"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Context is defined in separate file and its ",(0,r.jsx)(n.strong,{children:"Provider"})," is rendered in ",(0,r.jsx)(n.strong,{children:"ViewAdapter"}),". Then the Context is used in ",(0,r.jsx)(n.strong,{children:"AbstractComponent"}),"\xa0in ",(0,r.jsx)(n.a,{href:"https://reactjs.org/docs/context.html#classcontexttype",children:(0,r.jsx)(n.code,{children:"static get contextType()"})}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"managedrootview",children:"ManagedRootView"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"ManagedRootView"})," is just another wrapper before rendering the actual\ncontroller view. Remember when we told you that the ",(0,r.jsx)(n.strong,{children:"ViewAdapter"})," is\nrendering the actual View? We lied ",(0,r.jsx)(n.code,{children:"\xaf\\_(\u30c4)_/\xaf"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["If you're wondering what is the ManagedRootView good for, it's for creating\ncomponents that persist through the life of SPA and are not unmounted when the\nController or View changes. Good example of this is a page that displays a map\non one side and page content on the other (",(0,r.jsx)(n.a,{href:"https://en.mapy.cz/",children:"https://en.mapy.cz/"}),",\n",(0,r.jsx)(n.a,{href:"https://www.kiwi.com/en/search/",children:"https://www.kiwi.com/en/search/"}),", ",(0,r.jsx)(n.a,{href:"https://airbnb.com/",children:"https://airbnb.com/"}),")."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"// app/page/MapManagedRootView.js\n\nimport { BlankManagedRootView } from '@ima/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Map from 'app/component/map/Map';\nimport MapResult from 'app/component/map/MapResult';\n\nexport default class MapManagedRootView extends BlankManagedRootView {\n\n // ...\n\n render() {\n // Obtain search results and map settings from page state.\n const {\xa0searchResults, mapType } = this.props;\n\n return (\n <React.Fragment>\n {super.render()}\n <Map\n type = { mapType }\n centerOnResults = { true }>\n { searchResults.map(result => (\n <MapResult place = { result }/>\n ))}\n </Map>\n </React.Fragment>\n );\n }\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Then the ",(0,r.jsx)(n.code,{children:"MapManagedRootView"})," can be used in ",(0,r.jsx)(n.code,{children:"app/config/setting.js"}),"\n(property ",(0,r.jsx)(n.code,{children:"managedRootView"}),") or in ",(0,r.jsx)(n.a,{href:"./routing/introduction#managedrootview",children:"route options"})," the same\nway as ",(0,r.jsx)(n.strong,{children:"DocumentView"})," or ",(0,r.jsx)(n.strong,{children:"ViewAdapter"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["As you may have notices ",(0,r.jsx)(n.code,{children:"MapManagedRootView"})," extends ",(0,r.jsx)(n.code,{children:"BlankManagedRootView"})," which is also the default ",(0,r.jsx)(n.strong,{children:"ManagedRootView"})," when you don't specify your own. ",(0,r.jsx)(n.code,{children:"render()"})," method of ",(0,r.jsx)(n.strong,{children:"BlankManagedRootView"})," simply renders View for current route with props containing current page state."]}),"\n",(0,r.jsxs)(n.p,{children:["Now when you know how a big part of the rendering process goes it's time to\nhave a look subsequent ",(0,r.jsx)(n.a,{href:"./views-and-components",children:"View and Component"})," rendering."]})]})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},5341:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/diagram-rendering-69394d1168548bc269a32e6893cc4fd4.png"},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var s=t(3696);const r={},i=s.createContext(r);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/79a22100.c6908fc7.js b/assets/js/79a22100.c6908fc7.js new file mode 100644 index 000000000..a618f4d95 --- /dev/null +++ b/assets/js/79a22100.c6908fc7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8897],{8042:(n,e,r)=>{r.r(e),r.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/plugin-cli/functions/swcTransformer","title":"Function: swcTransformer()","description":"swcTransformer(options): Transformer","source":"@site/../docs/api/@ima/plugin-cli/functions/swcTransformer.md","sourceDirName":"api/@ima/plugin-cli/functions","slug":"/api/@ima/plugin-cli/functions/swcTransformer","permalink":"/api/@ima/plugin-cli/functions/swcTransformer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/functions/swcTransformer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: preprocessTransformer()","permalink":"/api/@ima/plugin-cli/functions/preprocessTransformer"},"next":{"title":"Function: typescriptDeclarationsPlugin()","permalink":"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin"}}');var i=r(2540),t=r(3023);const o={},c="Function: swcTransformer()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"options",id:"options",level:3},{value:"Returns",id:"returns",level:2}];function p(n){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,t.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.header,{children:(0,i.jsx)(e.h1,{id:"function-swctransformer",children:"Function: swcTransformer()"})}),"\n",(0,i.jsxs)(e.blockquote,{children:["\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:"swcTransformer"}),"(",(0,i.jsx)(e.code,{children:"options"}),"): ",(0,i.jsx)(e.a,{href:"/api/@ima/plugin-cli/type-aliases/Transformer",children:(0,i.jsx)(e.code,{children:"Transformer"})})]}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["Defined in: ",(0,i.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/transformers/swcTransformer.ts#L59",children:"transformers/swcTransformer.ts:59"})]}),"\n",(0,i.jsx)(e.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(e.h3,{id:"options",children:"options"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.code,{children:"Options"})}),"\n",(0,i.jsx)(e.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.a,{href:"/api/@ima/plugin-cli/type-aliases/Transformer",children:(0,i.jsx)(e.code,{children:"Transformer"})})})]})}function u(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(p,{...n})}):p(n)}},3023:(n,e,r)=>{r.d(e,{R:()=>o,x:()=>c});var s=r(3696);const i={},t=s.createContext(i);function o(n){const e=s.useContext(t);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:o(n.components),s.createElement(t.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/7a547ad0.42c7607e.js b/assets/js/7a547ad0.42c7607e.js new file mode 100644 index 000000000..48ac24e22 --- /dev/null +++ b/assets/js/7a547ad0.42c7607e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6732],{9368:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>t,default:()=>o,frontMatter:()=>l,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"api/@ima/core/classes/DispatcherImpl","title":"Class: DispatcherImpl","description":"Defined in26","source":"@site/../docs/api/@ima/core/classes/DispatcherImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/DispatcherImpl","permalink":"/api/@ima/core/classes/DispatcherImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/DispatcherImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Dispatcher","permalink":"/api/@ima/core/classes/Dispatcher"},"next":{"title":"Class: DynamicRoute","permalink":"/api/@ima/core/classes/DynamicRoute"}}');var i=n(2540),c=n(3023);const l={},t="Class: DispatcherImpl",d={},h=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new DispatcherImpl()",id:"new-dispatcherimpl",level:3},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_eventListeners",id:"_eventlisteners",level:3},{value:"_eventListenersAll",id:"_eventlistenersall",level:3},{value:"$dependencies",id:"dependencies",level:3},{value:"Methods",id:"methods",level:2},{value:"_createNewEvent()",id:"_createnewevent",level:3},{value:"Parameters",id:"parameters",level:4},{value:"event",id:"event",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_createNewListener()",id:"_createnewlistener",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"event",id:"event-1",level:5},{value:"listener",id:"listener",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_getListenersOf()",id:"_getlistenersof",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"event",id:"event-2",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_getScopesOf()",id:"_getscopesof",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"event",id:"event-3",level:5},{value:"listener",id:"listener-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"fire()",id:"fire",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"event",id:"event-4",level:5},{value:"data",id:"data",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"listen()",id:"listen",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"event",id:"event-5",level:5},{value:"listener",id:"listener-2",level:5},{value:"scope?",id:"scope",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"listenAll()",id:"listenall",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"listener",id:"listener-3",level:5},{value:"scope?",id:"scope-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"event",id:"event-6",level:5},{value:"listener",id:"listener-4",level:5},{value:"scope?",id:"scope-2",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"unlistenAll()",id:"unlistenall",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"listener",id:"listener-5",level:5},{value:"scope?",id:"scope-3",level:5},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-6",level:4}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-dispatcherimpl",children:"Class: DispatcherImpl"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L26",children:"packages/core/src/event/DispatcherImpl.ts:26"})]}),"\n",(0,i.jsxs)(s.p,{children:["Default implementation of the ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:"Dispatcher"})," interface."]}),"\n",(0,i.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-dispatcherimpl",children:"new DispatcherImpl()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new DispatcherImpl"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,i.jsx)(s.code,{children:"DispatcherImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L39",children:"packages/core/src/event/DispatcherImpl.ts:39"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes the dispatcher."}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,i.jsx)(s.code,{children:"DispatcherImpl"})})}),"\n",(0,i.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#constructors",children:(0,i.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"_eventlisteners",children:"_eventListeners"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_eventListeners"}),": ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.code,{children:"string"}),", ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">, ",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L27",children:"packages/core/src/event/DispatcherImpl.ts:27"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_eventlistenersall",children:"_eventListenersAll"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_eventListenersAll"}),": ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.code,{children:"DispatcherListenerAll"}),"<",(0,i.jsx)(s.code,{children:"any"}),">, ",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L32",children:"packages/core/src/event/DispatcherImpl.ts:32"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})," = ",(0,i.jsx)(s.code,{children:"[]"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L34",children:"packages/core/src/event/DispatcherImpl.ts:34"})]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"_createnewevent",children:"_createNewEvent()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_createNewEvent"}),"(",(0,i.jsx)(s.code,{children:"event"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L210",children:"packages/core/src/event/DispatcherImpl.ts:210"})]}),"\n",(0,i.jsx)(s.p,{children:"Create new Map storage of listeners for the specified event."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event."}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_createnewlistener",children:"_createNewListener()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_createNewListener"}),"<",(0,i.jsx)(s.code,{children:"L"}),">(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"listener"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L221",children:"packages/core/src/event/DispatcherImpl.ts:221"})]}),"\n",(0,i.jsx)(s.p,{children:"Create new Set storage of scopes for the specified event and listener."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"L"})," ",(0,i.jsx)(s.em,{children:"extends"})," ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-1",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event."}),"\n",(0,i.jsx)(s.h5,{id:"listener",children:"listener"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"L"})}),"\n",(0,i.jsx)(s.p,{children:"The event listener."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_getlistenersof",children:"_getListenersOf()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_getListenersOf"}),"(",(0,i.jsx)(s.code,{children:"event"}),"): ",(0,i.jsx)(s.code,{children:"Readonly"}),"<",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">, ",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L266",children:"packages/core/src/event/DispatcherImpl.ts:266"})]}),"\n",(0,i.jsx)(s.p,{children:"Retrieves the map of event listeners to scopes they are bound to."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-2",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Readonly"}),"<",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">, ",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>>"]}),"\n",(0,i.jsx)(s.p,{children:"A map of event listeners to the\nscopes in which they should be executed. The returned map is an\nunmodifiable empty map if no listeners are registered for the\nevent."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_getscopesof",children:"_getScopesOf()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_getScopesOf"}),"<",(0,i.jsx)(s.code,{children:"L"}),">(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"listener"}),"): ",(0,i.jsx)(s.code,{children:"Readonly"}),"<",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L244",children:"packages/core/src/event/DispatcherImpl.ts:244"})]}),"\n",(0,i.jsx)(s.p,{children:"Retrieves the scopes in which the specified event listener should be\nexecuted for the specified event."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"L"})," ",(0,i.jsx)(s.em,{children:"extends"})," ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-3",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event."}),"\n",(0,i.jsx)(s.h5,{id:"listener-1",children:"listener"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"L"})}),"\n",(0,i.jsx)(s.p,{children:"The event listener."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Readonly"}),"<",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>"]}),"\n",(0,i.jsx)(s.p,{children:"The scopes in which the specified listeners\nshould be executed in case of the specified event. The returned\nset is an unmodifiable empty set if no listeners are registered\nfor the event."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L54",children:"packages/core/src/event/DispatcherImpl.ts:54"})]}),"\n",(0,i.jsx)(s.p,{children:"Deregisters all event listeners currently registered with this\ndispatcher."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#clear",children:(0,i.jsx)(s.code,{children:"clear"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"fire",children:"fire()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"fire"}),"<",(0,i.jsx)(s.code,{children:"E"}),">(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"data"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L184",children:"packages/core/src/event/DispatcherImpl.ts:184"})]}),"\n",(0,i.jsx)(s.p,{children:"Fires a new event of the specified name, carrying the provided data."}),"\n",(0,i.jsx)(s.p,{children:"The method will synchronously execute all event listeners registered for\nthe specified event, passing the provided data to them as the first\nargument."}),"\n",(0,i.jsx)(s.p,{children:"It will also execute all event listeners registered to listen to all events."}),"\n",(0,i.jsx)(s.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"E"})," ",(0,i.jsx)(s.em,{children:"extends"})," ",(0,i.jsx)(s.code,{children:"string"})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-4",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"E"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event to fire."}),"\n",(0,i.jsx)(s.h5,{id:"data",children:"data"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"any"})}),"\n",(0,i.jsx)(s.p,{children:"The data to pass to the event listeners."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This dispatcher."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#fire",children:(0,i.jsx)(s.code,{children:"fire"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"listen",children:"listen()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"listen"}),"(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"listener"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L63",children:"packages/core/src/event/DispatcherImpl.ts:63"})]}),"\n",(0,i.jsx)(s.p,{children:"Registers the provided event listener to be executed when the specified\nevent is fired on this dispatcher."}),"\n",(0,i.jsx)(s.p,{children:"When the specified event is fired, the event listener will be executed\nwith the data passed with the event as the first argument."}),"\n",(0,i.jsx)(s.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener for the\nsame event and with the same scope multiple times has no effect."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-5",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event to listen for."}),"\n",(0,i.jsx)(s.h5,{id:"listener-2",children:"listener"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The event listener to register."}),"\n",(0,i.jsx)(s.h5,{id:"scope",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsxs)(s.p,{children:["The object to which the ",(0,i.jsx)(s.code,{children:"this"})," keyword\nwill be bound in the event listener."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This dispatcher."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#listen",children:(0,i.jsx)(s.code,{children:"listen"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"listenall",children:"listenAll()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"listenAll"}),"(",(0,i.jsx)(s.code,{children:"listener"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,i.jsx)(s.code,{children:"DispatcherImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L94",children:"packages/core/src/event/DispatcherImpl.ts:94"})]}),"\n",(0,i.jsx)(s.p,{children:"Registers the provided event listener to be executed when any event is fired\non this dispatcher."}),"\n",(0,i.jsx)(s.p,{children:"When any event is fired, the event listener will be executed with the data\npassed with the event as the first argument."}),"\n",(0,i.jsx)(s.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon. Registering the same listener with the same\nscope multiple times has no effect."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"listener-3",children:"listener"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"DispatcherListenerAll"}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The event listener to register."}),"\n",(0,i.jsx)(s.h5,{id:"scope-1",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsxs)(s.p,{children:["The object to which the ",(0,i.jsx)(s.code,{children:"this"})," keyword\nwill be bound in the event listener."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,i.jsx)(s.code,{children:"DispatcherImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"This dispatcher."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#listenall",children:(0,i.jsx)(s.code,{children:"listenAll"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"unlisten"}),"(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"listener"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L117",children:"packages/core/src/event/DispatcherImpl.ts:117"})]}),"\n",(0,i.jsx)(s.p,{children:"Deregisters the provided event listener, so it will no longer be\nexecuted with the specified scope when the specified event is fired."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-6",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event for which the listener\nshould be deregistered."}),"\n",(0,i.jsx)(s.h5,{id:"listener-4",children:"listener"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The event listener to deregister."}),"\n",(0,i.jsx)(s.h5,{id:"scope-2",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsxs)(s.p,{children:["The object to which the ",(0,i.jsx)(s.code,{children:"this"})," keyword\nwould be bound in the event listener."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This dispatcher."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#unlisten",children:(0,i.jsx)(s.code,{children:"unlisten"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"unlistenall",children:"unlistenAll()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"unlistenAll"}),"(",(0,i.jsx)(s.code,{children:"listener"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,i.jsx)(s.code,{children:"DispatcherImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/DispatcherImpl.ts#L154",children:"packages/core/src/event/DispatcherImpl.ts:154"})]}),"\n",(0,i.jsx)(s.p,{children:"Deregisters the provided event listener, so it will no longer be\nexecuted when any event is fired."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"listener-5",children:"listener"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"DispatcherListenerAll"}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The event listener function to deregister for all events."}),"\n",(0,i.jsx)(s.h5,{id:"scope-3",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsxs)(s.p,{children:["Optional. The object to which the ",(0,i.jsx)(s.code,{children:"this"})," keyword would be bound in the event listener."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:(0,i.jsx)(s.code,{children:"DispatcherImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"This dispatcher instance."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher#unlistenall",children:(0,i.jsx)(s.code,{children:"unlistenAll"})})]})]})}function o(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>l,x:()=>t});var r=n(3696);const i={},c=r.createContext(i);function l(e){const s=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7af7958b.00de80b3.js b/assets/js/7af7958b.00de80b3.js deleted file mode 100644 index 74af6a2a5..000000000 --- a/assets/js/7af7958b.00de80b3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7750],{5680:(e,n,i)=>{i.d(n,{xA:()=>s,yg:()=>m});var t=i(6540);function r(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function a(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,t)}return i}function o(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?a(Object(i),!0).forEach((function(n){r(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function p(e,n){if(null==e)return{};var i,t,r=function(e,n){if(null==e)return{};var i,t,r={},a=Object.keys(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||(r[i]=e[i]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=t.createContext({}),l=function(e){var n=t.useContext(c),i=n;return e&&(i="function"==typeof e?e(n):o(o({},n),e)),i},s=function(e){var n=l(e.components);return t.createElement(c.Provider,{value:n},e.children)},g="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},u=t.forwardRef((function(e,n){var i=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),g=l(i),u=r,m=g["".concat(c,".").concat(u)]||g[u]||f[u]||a;return i?t.createElement(m,o(o({ref:n},s),{},{components:i})):t.createElement(m,o({ref:n},s))}));function m(e,n){var i=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=i.length,o=new Array(a);o[0]=u;var p={};for(var c in n)hasOwnProperty.call(n,c)&&(p[c]=n[c]);p.originalType=e,p[g]="string"==typeof e?e:r,o[1]=p;for(var l=2;l<a;l++)o[l]=i[l];return t.createElement.apply(null,o)}return t.createElement.apply(null,i)}u.displayName="MDXCreateElement"},4786:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>f,frontMatter:()=>a,metadata:()=>p,toc:()=>l});var t=i(8102),r=(i(6540),i(5680));const a={id:"ima_core.InitAppConfig",title:"Interface: InitAppConfig",sidebar_label:"@ima/core.InitAppConfig",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.InitAppConfig",id:"api/interfaces/ima_core.InitAppConfig",title:"Interface: InitAppConfig",description:"@ima/core.InitAppConfig",source:"@site/../docs/api/interfaces/ima_core.InitAppConfig.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.InitAppConfig",permalink:"/api/interfaces/ima_core.InitAppConfig",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.InitAppConfig",title:"Interface: InitAppConfig",sidebar_label:"@ima/core.InitAppConfig",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ImaRequestInit",permalink:"/api/interfaces/ima_core.ImaRequestInit"},next:{title:"@ima/core.InitImaConfig",permalink:"/api/interfaces/ima_core.InitImaConfig"}},c={},l=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"initBindApp",id:"initbindapp",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"initRoutes",id:"initroutes",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"initServicesApp",id:"initservicesapp",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"initSettings",id:"initsettings",level:3},{value:"Defined in",id:"defined-in-3",level:4}],s={toc:l},g="wrapper";function f(e){let{components:n,...i}=e;return(0,r.yg)(g,(0,t.A)({},s,i,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".InitAppConfig"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"InitAppConfig"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))))),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"initbindapp"},"initBindApp"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"initBindApp"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initbindfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"InitBindFunction"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L71"},"packages/core/src/Bootstrap.ts:71")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initroutes"},"initRoutes"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"initRoutes"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initroutesfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"InitRoutesFunction"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L72"},"packages/core/src/Bootstrap.ts:72")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initservicesapp"},"initServicesApp"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"initServicesApp"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initservicesfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"InitServicesFunction"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L73"},"packages/core/src/Bootstrap.ts:73")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initsettings"},"initSettings"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"initSettings"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initsettingsfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"InitSettingsFunction"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L74"},"packages/core/src/Bootstrap.ts:74")))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7b5f680e.18f29871.js b/assets/js/7b5f680e.18f29871.js new file mode 100644 index 000000000..317dba158 --- /dev/null +++ b/assets/js/7b5f680e.18f29871.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8150],{6714:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/type-aliases/Resource","title":"Type Alias: Resource","description":"Resource string] boolean; \\\\}\\\\]","source":"@site/../docs/api/@ima/core/type-aliases/Resource.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/Resource","permalink":"/api/@ima/core/type-aliases/Resource","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/Resource.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: PluginInitSettingsFunction()","permalink":"/api/@ima/core/type-aliases/PluginInitSettingsFunction"},"next":{"title":"Type Alias: RouteController","permalink":"/api/@ima/core/type-aliases/RouteController"}}');var o=t(2540),r=t(3023);const i={},c="Type Alias: Resource",a={},l=[];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"type-alias-resource",children:"Type Alias: Resource"})}),"\n",(0,o.jsxs)(s.blockquote,{children:["\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:"Resource"}),": ",(0,o.jsx)(s.code,{children:"string"})," | [",(0,o.jsx)(s.code,{children:"string"}),", { ",(0,o.jsx)(s.code,{children:"[attribute: string]"}),": ",(0,o.jsx)(s.code,{children:"unknown"}),"; ",(0,o.jsx)(s.code,{children:"fallback"}),": ",(0,o.jsx)(s.code,{children:"boolean"}),"; }]"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Defined in: ",(0,o.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L37",children:"packages/core/src/boot.ts:37"})]})]})}function p(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},3023:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>c});var n=t(3696);const o={},r=n.createContext(o);function i(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b9bed65.8911723b.js b/assets/js/7b9bed65.8911723b.js new file mode 100644 index 000000000..b3e5a6714 --- /dev/null +++ b/assets/js/7b9bed65.8911723b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[781],{4126:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/PluginInitServicesFunction","title":"Type Alias: PluginInitServicesFunction()","description":"PluginInitServicesFunction: (ns, oc, config, isDynamicallyLoaded) => void","source":"@site/../docs/api/@ima/core/type-aliases/PluginInitServicesFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/PluginInitServicesFunction","permalink":"/api/@ima/core/type-aliases/PluginInitServicesFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/PluginInitServicesFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: PluginInitBindFunction()","permalink":"/api/@ima/core/type-aliases/PluginInitBindFunction"},"next":{"title":"Type Alias: PluginInitSettingsFunction()","permalink":"/api/@ima/core/type-aliases/PluginInitSettingsFunction"}}');var c=n(2540),t=n(3023);const a={},o="Type Alias: PluginInitServicesFunction()",r={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"config",id:"config",level:3},{value:"isDynamicallyLoaded",id:"isdynamicallyloaded",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.header,{children:(0,c.jsx)(i.h1,{id:"type-alias-plugininitservicesfunction",children:"Type Alias: PluginInitServicesFunction()"})}),"\n",(0,c.jsxs)(i.blockquote,{children:["\n",(0,c.jsxs)(i.p,{children:[(0,c.jsx)(i.strong,{children:"PluginInitServicesFunction"}),": (",(0,c.jsx)(i.code,{children:"ns"}),", ",(0,c.jsx)(i.code,{children:"oc"}),", ",(0,c.jsx)(i.code,{children:"config"}),", ",(0,c.jsx)(i.code,{children:"isDynamicallyLoaded"}),") => ",(0,c.jsx)(i.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsxs)(i.p,{children:["Defined in: ",(0,c.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L50",children:"packages/core/src/Bootstrap.ts:50"})]}),"\n",(0,c.jsx)(i.h2,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(i.h3,{id:"ns",children:"ns"}),"\n",(0,c.jsx)(i.p,{children:(0,c.jsx)(i.a,{href:"/api/@ima/core/classes/Namespace",children:(0,c.jsx)(i.code,{children:"Namespace"})})}),"\n",(0,c.jsx)(i.h3,{id:"oc",children:"oc"}),"\n",(0,c.jsx)(i.p,{children:(0,c.jsx)(i.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,c.jsx)(i.code,{children:"ObjectContainer"})})}),"\n",(0,c.jsx)(i.h3,{id:"config",children:"config"}),"\n",(0,c.jsxs)(i.p,{children:[(0,c.jsx)(i.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,c.jsx)(i.code,{children:"BootConfig"})}),"[",(0,c.jsx)(i.code,{children:'"services"'}),"]"]}),"\n",(0,c.jsx)(i.h3,{id:"isdynamicallyloaded",children:"isDynamicallyLoaded"}),"\n",(0,c.jsx)(i.p,{children:(0,c.jsx)(i.code,{children:"boolean"})}),"\n",(0,c.jsx)(i.h2,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(i.p,{children:(0,c.jsx)(i.code,{children:"void"})})]})}function u(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,c.jsx)(i,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>a,x:()=>o});var s=n(3696);const c={},t=s.createContext(c);function a(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:a(e.components),s.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c05b1bc.a5cd4cbf.js b/assets/js/7c05b1bc.a5cd4cbf.js new file mode 100644 index 000000000..a03d457cd --- /dev/null +++ b/assets/js/7c05b1bc.a5cd4cbf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[750],{5180:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/cli/functions/resolveEnvironment","title":"Function: resolveEnvironment()","description":"resolveEnvironment(rootDir): Environment","source":"@site/../docs/api/@ima/cli/functions/resolveEnvironment.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/resolveEnvironment","permalink":"/api/@ima/cli/functions/resolveEnvironment","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/resolveEnvironment.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getLanguageEntryPoints()","permalink":"/api/@ima/cli/functions/getLanguageEntryPoints"},"next":{"title":"Function: resolveImaConfig()","permalink":"/api/@ima/cli/functions/resolveImaConfig"}}');var t=i(2540),o=i(3023);const s={},c="Function: resolveEnvironment()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"rootDir",id:"rootdir",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"function-resolveenvironment",children:"Function: resolveEnvironment()"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"resolveEnvironment"}),"(",(0,t.jsx)(n.code,{children:"rootDir"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,t.jsx)(n.code,{children:"Environment"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L90",children:"webpack/utils.ts:90"})]}),"\n",(0,t.jsx)(n.p,{children:"Loads application IMA.js environment from server/config/environment.js"}),"\n",(0,t.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h3,{id:"rootdir",children:"rootDir"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"string"})," = ",(0,t.jsx)(n.code,{children:"..."})]}),"\n",(0,t.jsx)(n.p,{children:"Application root directory"}),"\n",(0,t.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,t.jsx)(n.code,{children:"Environment"})})}),"\n",(0,t.jsx)(n.p,{children:"Loaded environment"})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>c});var r=i(3696);const t={},o=r.createContext(t);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c2eb169.afdca311.js b/assets/js/7c2eb169.afdca311.js new file mode 100644 index 000000000..cd29ab990 --- /dev/null +++ b/assets/js/7c2eb169.afdca311.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7194],{3286:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/cli/functions/createDevServerConfig","title":"Function: createDevServerConfig()","description":"createDevServerConfig(namedParameters): object","source":"@site/../docs/api/@ima/cli/functions/createDevServerConfig.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/createDevServerConfig","permalink":"/api/@ima/cli/functions/createDevServerConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/createDevServerConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: createCacheKey()","permalink":"/api/@ima/cli/functions/createCacheKey"},"next":{"title":"Function: createWebpackConfig()","permalink":"/api/@ima/cli/functions/createWebpackConfig"}}');var t=r(2540),c=r(3023);const a={},s="Function: createDevServerConfig()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"__namedParameters",id:"__namedparameters",level:3},{value:"args",id:"args",level:4},{value:"ctx",id:"ctx",level:4},{value:"imaConfig",id:"imaconfig",level:4},{value:"Returns",id:"returns",level:2},{value:"hostname",id:"hostname",level:3},{value:"port",id:"port",level:3},{value:"publicUrl",id:"publicurl",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"function-createdevserverconfig",children:"Function: createDevServerConfig()"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"createDevServerConfig"}),"(",(0,t.jsx)(n.code,{children:"__namedParameters"}),"): ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L122",children:"webpack/utils.ts:122"})]}),"\n",(0,t.jsx)(n.p,{children:"Creates hmr dev server configuration from provided contexts\nand arguments with this priority args -> ctx -> imaConfig -> [defaults]."}),"\n",(0,t.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h3,{id:"__namedparameters",children:"__namedParameters"}),"\n",(0,t.jsx)(n.h4,{id:"args",children:"args"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,t.jsx)(n.code,{children:"ImaCliArgs"})})}),"\n",(0,t.jsx)(n.h4,{id:"ctx",children:"ctx"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,t.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n",(0,t.jsx)(n.h4,{id:"imaconfig",children:"imaConfig"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,t.jsx)(n.code,{children:"ImaConfig"})})}),"\n",(0,t.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"object"})}),"\n",(0,t.jsx)(n.h3,{id:"hostname",children:"hostname"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"hostname"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"port",children:"port"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"port"}),": ",(0,t.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"publicurl",children:"publicUrl"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"publicUrl"}),": ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>s});var i=r(3696);const t={},c=i.createContext(t);function a(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c2f5bb0.48862df0.js b/assets/js/7c2f5bb0.48862df0.js deleted file mode 100644 index 771bd66b4..000000000 --- a/assets/js/7c2f5bb0.48862df0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1558],{5680:(e,t,a)=>{a.d(t,{xA:()=>s,yg:()=>m});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),c=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},s=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=c(a),g=r,m=d["".concat(p,".").concat(g)]||d[g]||u[g]||i;return a?n.createElement(m,o(o({ref:t},s),{},{components:a})):n.createElement(m,o({ref:t},s))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=g;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[d]="string"==typeof e?e:r,o[1]=l;for(var c=2;c<i;c++)o[c]=a[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}g.displayName="MDXCreateElement"},9753:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.AbstractExecution",title:"Class: AbstractExecution",sidebar_label:"@ima/core.AbstractExecution",custom_edit_url:null},o=void 0,l={unversionedId:"api/classes/ima_core.AbstractExecution",id:"api/classes/ima_core.AbstractExecution",title:"Class: AbstractExecution",description:"@ima/core.AbstractExecution",source:"@site/../docs/api/classes/ima_core.AbstractExecution.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.AbstractExecution",permalink:"/api/classes/ima_core.AbstractExecution",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AbstractExecution",title:"Class: AbstractExecution",sidebar_label:"@ima/core.AbstractExecution",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AbstractController",permalink:"/api/classes/ima_core.AbstractController"},next:{title:"@ima/core.AbstractExtension",permalink:"/api/classes/ima_core.AbstractExtension"}},p={},c=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_jobs",id:"_jobs",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"_validateJob",id:"_validatejob",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"append",id:"append",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"execute",id:"execute",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-4",level:4}],s={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.yg)(d,(0,n.A)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AbstractExecution"),(0,r.yg)("p",null,"Basic implementation of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},"Execution")," interface. Provides the basic\nfunctionality for appending and validating jobs."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},(0,r.yg)("inlineCode",{parentName:"a"},"Execution"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"AbstractExecution"))),(0,r.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SerialBatch"},(0,r.yg)("inlineCode",{parentName:"a"},"SerialBatch"))),(0,r.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SerialBatch"},(0,r.yg)("inlineCode",{parentName:"a"},"SerialBatch"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractExecution"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"jobs?"),")"),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"jobs")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,r.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"[]"))))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},"Execution"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L13"},"packages/core/src/execution/AbstractExecution.ts:13")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_jobs"},"_","jobs"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","jobs"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#executionjob"},(0,r.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L11"},"packages/core/src/execution/AbstractExecution.ts:11")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_validatejob"},"_","validateJob"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_validateJob"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"job"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Return ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the given job can be executed"),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"job")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,r.yg)("inlineCode",{parentName:"a"},"ExecutionJob")))))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L44"},"packages/core/src/execution/AbstractExecution.ts:44")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"append"},"append"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"append"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"jobs"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Adds a new job to be executed. The job is appended at the end of the\nlist of current jobs therefore is executed last."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"jobs")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,r.yg)("inlineCode",{parentName:"a"},"ExecutionJob"))," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,r.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The jobs to be executed.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},"Execution"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution#append"},"append")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L22"},"packages/core/src/execution/AbstractExecution.ts:22")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"execute"},"execute"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"execute"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"...args"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("p",null,"Start executing collected jobs. In the end a ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise")," is returned\nwith a resulting value. On the returned ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise")," a ",(0,r.yg)("inlineCode",{parentName:"p"},"catch"),"\nmethod can be called to prevent any unwanted interruption."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"...args")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),"[]"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Arguments to be passed when executing jobs")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},"Execution"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution#execute"},"execute")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L33"},"packages/core/src/execution/AbstractExecution.ts:33")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7ccec149.9db991bc.js b/assets/js/7ccec149.9db991bc.js new file mode 100644 index 000000000..ce51746ef --- /dev/null +++ b/assets/js/7ccec149.9db991bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9420],{7049:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"api/@ima/core/classes/AbstractRoute","title":"Class: abstract AbstractRoute\\\\<T\\\\>","description":"Defined in43","source":"@site/../docs/api/@ima/core/classes/AbstractRoute.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/AbstractRoute","permalink":"/api/@ima/core/classes/AbstractRoute","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/AbstractRoute.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractPageManager","permalink":"/api/@ima/core/classes/AbstractPageManager"},"next":{"title":"Class: abstract AbstractRouter","permalink":"/api/@ima/core/classes/AbstractRouter"}}');var t=s(2540),i=s(3023);const c={},a="Class: abstract AbstractRoute<T>",l={},o=[{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractRoute()",id:"new-abstractroute",level:3},{value:"Parameters",id:"parameters",level:4},{value:"name",id:"name",level:5},{value:"pathExpression",id:"pathexpression",level:5},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"cached",id:"cached",level:4},{value:"controller",id:"controller-1",level:4},{value:"resolved",id:"resolved",level:4},{value:"_name",id:"_name",level:3},{value:"_options",id:"_options",level:3},{value:"_pathExpression",id:"_pathexpression",level:3},{value:"_view",id:"_view",level:3},{value:"cached",id:"cached-1",level:4},{value:"resolved",id:"resolved-1",level:4},{value:"view",id:"view-1",level:4},{value:"Methods",id:"methods",level:2},{value:"extractParameters()",id:"extractparameters",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"path",id:"path",level:5},{value:"baseUrl",id:"baseurl",level:5},{value:"Returns",id:"returns-1",level:4},{value:"getController()",id:"getcontroller",level:3},{value:"Returns",id:"returns-2",level:4},{value:"getName()",id:"getname",level:3},{value:"Returns",id:"returns-3",level:4},{value:"getOptions()",id:"getoptions",level:3},{value:"Returns",id:"returns-4",level:4},{value:"getPathExpression()",id:"getpathexpression",level:3},{value:"Returns",id:"returns-5",level:4},{value:"getTrimmedPath()",id:"gettrimmedpath",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"path",id:"path-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"getView()",id:"getview",level:3},{value:"Returns",id:"returns-7",level:4},{value:"isAsync()",id:"isasync",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"module",id:"module",level:5},{value:"Returns",id:"returns-8",level:4},{value:"isControllerResolved()",id:"iscontrollerresolved",level:3},{value:"Returns",id:"returns-9",level:4},{value:"isViewResolved()",id:"isviewresolved",level:3},{value:"Returns",id:"returns-10",level:4},{value:"matches()",id:"matches",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"path",id:"path-2",level:5},{value:"Returns",id:"returns-11",level:4},{value:"preload()",id:"preload",level:3},{value:"Returns",id:"returns-12",level:4},{value:"toPath()",id:"topath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-13",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsxs)(r.h1,{id:"class-abstract-abstractroutet",children:["Class: ",(0,t.jsx)(r.code,{children:"abstract"})," AbstractRoute<T>"]})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L43",children:"packages/core/src/router/AbstractRoute.ts:43"})]}),"\n",(0,t.jsx)(r.p,{children:"Utility for representing and manipulating a single route in the router's\nconfiguration."}),"\n",(0,t.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/DynamicRoute",children:(0,t.jsx)(r.code,{children:"DynamicRoute"})})}),"\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/StaticRoute",children:(0,t.jsx)(r.code,{children:"StaticRoute"})})}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"T"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,t.jsx)(r.code,{children:"RoutePathExpression"})})]}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-abstractroute",children:"new AbstractRoute()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new AbstractRoute"}),"<",(0,t.jsx)(r.code,{children:"T"}),">(",(0,t.jsx)(r.code,{children:"name"}),", ",(0,t.jsx)(r.code,{children:"pathExpression"}),", ",(0,t.jsx)(r.code,{children:"controller"}),", ",(0,t.jsx)(r.code,{children:"view"}),", ",(0,t.jsx)(r.code,{children:"options"}),"?): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,t.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,t.jsx)(r.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L91",children:"packages/core/src/router/AbstractRoute.ts:91"})]}),"\n",(0,t.jsx)(r.p,{children:"Initializes the route."}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The unique name of this route, identifying it among\nthe rest of the routes in the application."}),"\n",(0,t.jsx)(r.h5,{id:"pathexpression",children:"pathExpression"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"T"})}),"\n",(0,t.jsx)(r.p,{children:"Path expression used in route matching, to generate\nvalid path with provided params and parsing params from current path."}),"\n",(0,t.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,t.jsx)(r.code,{children:"AsyncRouteController"})})}),"\n",(0,t.jsx)(r.p,{children:"The full name of Object Container alias\nidentifying the controller associated with this route."}),"\n",(0,t.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,t.jsx)(r.code,{children:"AsyncRouteView"})})}),"\n",(0,t.jsx)(r.p,{children:"The full name or Object Container alias identifying\nthe view class associated with this route."}),"\n",(0,t.jsx)(r.h5,{id:"options",children:"options?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Partial"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,t.jsx)(r.code,{children:"RouteFactoryOptions"})}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The route additional options."}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,t.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,t.jsx)(r.code,{children:"T"}),">"]}),"\n",(0,t.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(r.h3,{id:"_controller",children:"_controller"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_controller"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L58",children:"packages/core/src/router/AbstractRoute.ts:58"})]}),"\n",(0,t.jsx)(r.p,{children:"The full name of Object Container alias identifying the controller\nassociated with this route."}),"\n",(0,t.jsx)(r.h4,{id:"cached",children:"cached"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"cached"}),": ",(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"controller-1",children:"controller"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"controller"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:(0,t.jsx)(r.code,{children:"AsyncRouteController"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"resolved",children:"resolved"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"resolved"}),": ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_name",children:"_name"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_name"}),": ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L48",children:"packages/core/src/router/AbstractRoute.ts:48"})]}),"\n",(0,t.jsx)(r.p,{children:"The unique name of this route, identifying it among the rest of the\nroutes in the application."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_options",children:"_options"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_options"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,t.jsx)(r.code,{children:"RouteFactoryOptions"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L76",children:"packages/core/src/router/AbstractRoute.ts:76"})]}),"\n",(0,t.jsx)(r.p,{children:"The route additional options."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_pathexpression",children:"_pathExpression"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_pathExpression"}),": ",(0,t.jsx)(r.code,{children:"T"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L53",children:"packages/core/src/router/AbstractRoute.ts:53"})]}),"\n",(0,t.jsx)(r.p,{children:"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_view",children:"_view"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_view"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L67",children:"packages/core/src/router/AbstractRoute.ts:67"})]}),"\n",(0,t.jsx)(r.p,{children:"The full name or Object Container alias identifying the view class\nassociated with this route."}),"\n",(0,t.jsx)(r.h4,{id:"cached-1",children:"cached"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"cached"}),": ",(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"resolved-1",children:"resolved"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"resolved"}),": ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"view-1",children:"view"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"view"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:(0,t.jsx)(r.code,{children:"AsyncRouteView"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"extractparameters",children:"extractParameters()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"extractParameters"}),"(",(0,t.jsx)(r.code,{children:"path"}),", ",(0,t.jsx)(r.code,{children:"baseUrl"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),"<{}>"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L292",children:"packages/core/src/router/AbstractRoute.ts:292"})]}),"\n",(0,t.jsx)(r.p,{children:"Extracts the parameter values from the provided path. The method\nextracts both the in-path parameters and parses the query, allowing the\nquery parameters to override the in-path parameters."}),"\n",(0,t.jsx)(r.p,{children:"The method returns an empty hash object if the path does not match this\nroute."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"path",children:"path"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"Currently routed path."}),"\n",(0,t.jsx)(r.h5,{id:"baseurl",children:"baseUrl"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"Currently routed baseUrl."}),"\n",(0,t.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),"<{}>"]}),"\n",(0,t.jsx)(r.p,{children:"Map of parameter names to parameter\nvalues."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getcontroller",children:"getController()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getController"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L153",children:"packages/core/src/router/AbstractRoute.ts:153"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns Controller class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported controllers,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The Controller class/alias/constant."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getname",children:"getName()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getName"}),"(): ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L132",children:"packages/core/src/router/AbstractRoute.ts:132"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the unique identifying name of this route."}),"\n",(0,t.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The name of the route, identifying it."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getoptions",children:"getOptions()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getOptions"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,t.jsx)(r.code,{children:"RouteFactoryOptions"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L210",children:"packages/core/src/router/AbstractRoute.ts:210"})]}),"\n",(0,t.jsx)(r.p,{children:"Return route additional options."}),"\n",(0,t.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:(0,t.jsx)(r.code,{children:"RouteFactoryOptions"})})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getpathexpression",children:"getPathExpression()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getPathExpression"}),"(): ",(0,t.jsx)(r.code,{children:"T"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L220",children:"packages/core/src/router/AbstractRoute.ts:220"})]}),"\n",(0,t.jsx)(r.p,{children:"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."}),"\n",(0,t.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"T"})}),"\n",(0,t.jsx)(r.p,{children:"The path expression."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"gettrimmedpath",children:"getTrimmedPath()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getTrimmedPath"}),"(",(0,t.jsx)(r.code,{children:"path"}),"): ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L230",children:"packages/core/src/router/AbstractRoute.ts:230"})]}),"\n",(0,t.jsx)(r.p,{children:"Trims the trailing forward slash from the provided URL path."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"path-1",children:"path"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The path to trim."}),"\n",(0,t.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"Trimmed path."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getview",children:"getView()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getView"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L185",children:"packages/core/src/router/AbstractRoute.ts:185"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns View class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported views,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."}),"\n",(0,t.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The View class/alias/constant."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"isasync",children:"isAsync()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"isAsync"}),"(",(0,t.jsx)(r.code,{children:"module"}),"): ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L139",children:"packages/core/src/router/AbstractRoute.ts:139"})]}),"\n",(0,t.jsx)(r.p,{children:"Checks if given argument is an async handler."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"module",children:"module"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"unknown"})}),"\n",(0,t.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"boolean"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"iscontrollerresolved",children:"isControllerResolved()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"isControllerResolved"}),"(): ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L173",children:"packages/core/src/router/AbstractRoute.ts:173"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns true for resolved controller. This is always true\nfor sync route views."}),"\n",(0,t.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"boolean"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"isviewresolved",children:"isViewResolved()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"isViewResolved"}),"(): ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L203",children:"packages/core/src/router/AbstractRoute.ts:203"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns true for resolved view. This is always true\nfor sync route views."}),"\n",(0,t.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"boolean"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"matches",children:"matches()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"matches"}),"(",(0,t.jsx)(r.code,{children:"path"}),"): ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L271",children:"packages/core/src/router/AbstractRoute.ts:271"})]}),"\n",(0,t.jsx)(r.p,{children:"Tests whether the provided URL path matches this route. The provided\npath may contain the query."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"path-2",children:"path"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The URL path."}),"\n",(0,t.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"boolean"})}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"true"})," if the provided path matches this route."]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"preload",children:"preload()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"preload"}),"(): ",(0,t.jsx)(r.code,{children:"Promise"}),"<[",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})}),"]>"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L239",children:"packages/core/src/router/AbstractRoute.ts:239"})]}),"\n",(0,t.jsx)(r.p,{children:"Preloads dynamically imported view and controller."}),"\n",(0,t.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Promise"}),"<[",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,t.jsx)(r.code,{children:"RouteController"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,t.jsx)(r.code,{children:"RouteView"})}),"]>"]}),"\n",(0,t.jsx)(r.p,{children:"Promise.All resolving to [view, controller] tuple."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"topath",children:"toPath()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"toPath"}),"(",(0,t.jsx)(r.code,{children:"params"}),"): ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L256",children:"packages/core/src/router/AbstractRoute.ts:256"})]}),"\n",(0,t.jsx)(r.p,{children:"Creates the URL and query parts of a URL by substituting the route's\nparameter placeholders by the provided parameter value."}),"\n",(0,t.jsx)(r.p,{children:"The extraneous parameters that do not match any of the route's\nplaceholders will be appended as the query string."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),"<{}>"]}),"\n",(0,t.jsx)(r.p,{children:"The route\nparameter values."}),"\n",(0,t.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"Path and, if necessary, query parts of the URL\nrepresenting this route with its parameters replaced by the\nprovided parameter values."})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>c,x:()=>a});var n=s(3696);const t={},i=n.createContext(t);function c(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ce2633c.47be12ca.js b/assets/js/7ce2633c.47be12ca.js new file mode 100644 index 000000000..d0f616619 --- /dev/null +++ b/assets/js/7ce2633c.47be12ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9487],{2150:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>t,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"api/@ima/core/type-aliases/LoadedResources","title":"Type Alias: LoadedResources\\\\<T\\\\>","description":"LoadedResources\\\\: Intersection\\\\\\\\>\\\\>\\\\>, Required\\\\\\\\>\\\\>\\\\>\\\\>","source":"@site/../docs/api/@ima/core/type-aliases/LoadedResources.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/LoadedResources","permalink":"/api/@ima/core/type-aliases/LoadedResources","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/LoadedResources.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: InitSettingsFunction()","permalink":"/api/@ima/core/type-aliases/InitSettingsFunction"},"next":{"title":"Type Alias: LocalizationFunction()","permalink":"/api/@ima/core/type-aliases/LocalizationFunction"}}');var n=o(2540),r=o(3023);const t={},i="Type Alias: LoadedResources<T>",a={},d=[{value:"Type Parameters",id:"type-parameters",level:2}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"type-alias-loadedresourcest",children:"Type Alias: LoadedResources<T>"})}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"LoadedResources"}),"<",(0,n.jsx)(s.code,{children:"T"}),">: ",(0,n.jsx)(s.code,{children:"Intersection"}),"<",(0,n.jsx)(s.code,{children:"Partial"}),"<",(0,n.jsx)(s.code,{children:"Pick"}),"<",(0,n.jsx)(s.code,{children:"T"}),", ",(0,n.jsx)(s.code,{children:"Matching"}),"<",(0,n.jsx)(s.code,{children:"T"}),", ",(0,n.jsx)(s.code,{children:"Promise"}),"<",(0,n.jsx)(s.code,{children:"any"}),">>>>, ",(0,n.jsx)(s.code,{children:"Required"}),"<",(0,n.jsx)(s.code,{children:"Pick"}),"<",(0,n.jsx)(s.code,{children:"T"}),", ",(0,n.jsx)(s.code,{children:"NonMatching"}),"<",(0,n.jsx)(s.code,{children:"T"}),", ",(0,n.jsx)(s.code,{children:"Promise"}),"<",(0,n.jsx)(s.code,{children:"any"}),">>>>>"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L27",children:"packages/core/src/controller/Controller.ts:27"})]}),"\n",(0,n.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,n.jsxs)(s.p,{children:["\u2022 ",(0,n.jsx)(s.strong,{children:"T"})]})]})}function p(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},3023:(e,s,o)=>{o.d(s,{R:()=>t,x:()=>i});var c=o(3696);const n={},r=c.createContext(n);function t(e){const s=c.useContext(r);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:t(e.components),c.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7cf52bfa.a0ea031d.js b/assets/js/7cf52bfa.a0ea031d.js new file mode 100644 index 000000000..26d83825e --- /dev/null +++ b/assets/js/7cf52bfa.a0ea031d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4849],{567:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>i,toc:()=>m});const i=JSON.parse('{"id":"api/@ima/core/index","title":"@ima/core","description":"Build Status dependencies Status","source":"@site/../docs/api/@ima/core/index.md","sourceDirName":"api/@ima/core","slug":"/api/@ima/core/","permalink":"/api/@ima/core/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: IMA\\\\_CONF\\\\_FILENAME","permalink":"/api/@ima/cli/variables/IMA_CONF_FILENAME"},"next":{"title":"Class: AbstractController\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/AbstractController"}}');var a=s(2540),r=s(3023);const n={},o="@ima/core",c={},m=[];function l(e){const t={a:"a",h1:"h1",header:"header",img:"img",p:"p",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"imacore",children:"@ima/core"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.a,{href:"https://travis-ci.org/seznam/ima",children:(0,a.jsx)(t.img,{src:"https://travis-ci.org/seznam/ima.svg?branch=master",alt:"Build Status"})})," ",(0,a.jsx)(t.a,{href:"https://david-dm.org/seznam/ima",children:(0,a.jsx)(t.img,{src:"https://david-dm.org/seznam/ima/status.svg",alt:"dependencies Status"})}),"\n",(0,a.jsx)(t.a,{href:"https://snyk.io/test/npm/ima",children:(0,a.jsx)(t.img,{src:"https://snyk.io/test/npm/ima/badge.svg",alt:"Known Vulnerabilities"})}),"\n",(0,a.jsx)(t.a,{href:"https://github.com/prettier/prettier",children:(0,a.jsx)(t.img,{src:"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square",alt:"code style: prettier"})})]}),"\n",(0,a.jsxs)(t.p,{children:["This is the ima library of the IMA.js application stack, see ",(0,a.jsx)(t.a,{href:"https://imajs.io/",children:"imajs.io"})," for more info about the whole project."]})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>n,x:()=>o});var i=s(3696);const a={},r=i.createContext(a);function n(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:n(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7dab2b4a.76a95d96.js b/assets/js/7dab2b4a.76a95d96.js new file mode 100644 index 000000000..d9f6d258a --- /dev/null +++ b/assets/js/7dab2b4a.76a95d96.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3426],{7846:(A,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>g});const s=JSON.parse('{"id":"devtools/devtools-ui","title":"UI & Controls","description":"Devtools > Description of UI elements","source":"@site/../docs/devtools/devtools-ui.md","sourceDirName":"devtools","slug":"/devtools/devtools-ui","permalink":"/devtools/devtools-ui","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/devtools/devtools-ui.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"UI & Controls","description":"Devtools > Description of UI elements"},"sidebar":"docs","previous":{"title":"Introduction","permalink":"/devtools/devtools-introduction"},"next":{"title":"Options","permalink":"/devtools/devtools-options"}}');var n=o(2540),t=o(3023);const i={title:"UI & Controls",description:"Devtools > Description of UI elements"},a=void 0,l={},g=[{value:"Panel",id:"panel",level:2},{value:"Search bar",id:"search-bar",level:3},{value:"Search action buttons",id:"search-action-buttons",level:4},{value:"Messages view",id:"messages-view",level:3},{value:"Data view",id:"data-view",level:3},{value:"Popup",id:"popup",level:2},{value:"Options",id:"options",level:2}];function h(A){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...A.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:["The IMA.js devtools consist of 3 main windows - ",(0,n.jsx)(e.a,{href:"./devtools-ui#panel",children:"Panel"}),", ",(0,n.jsx)(e.a,{href:"./devtools-ui#popup",children:"Popup"}),"\nand ",(0,n.jsx)(e.a,{href:"./devtools-options",children:"Options"}),". Each has some specific usage and\nwe're going to take a look at the first two in following sections."]}),"\n",(0,n.jsx)(e.h2,{id:"panel",children:"Panel"}),"\n",(0,n.jsxs)(e.p,{children:["Main component of our IMA.js devtools is the panel window, that you get after opening Chrome devtools\n(use the keyboard shortcut ",(0,n.jsx)(e.code,{children:"Cmd + Shift + J"})," on Windows or ",(0,n.jsx)(e.code,{children:"Cmd + Option + J"})," on Mac)\nand clicking on ",(0,n.jsx)(e.strong,{children:"IMA.js tab"})," on any IMA.js application website."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(1260).A+"",width:"1167",height:"649"})}),"\n",(0,n.jsxs)(e.p,{children:["This tab shows you all ",(0,n.jsx)(e.strong,{children:"events"})," (that you defined in the ",(0,n.jsx)(e.a,{href:"./devtools-options",children:"options"}),", which we'll talk about later)\nand ",(0,n.jsx)(e.strong,{children:"method calls"})," in your application since it's initialization. But there are few other components in this window,\nthat offers some additional functionality, so let's take a closer look at each of those."]}),"\n",(0,n.jsx)(e.h3,{id:"search-bar",children:"Search bar"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(2823).A+"",width:"674",height:"52"})}),"\n",(0,n.jsxs)(e.p,{children:["The search bar allows you to ",(0,n.jsx)(e.strong,{children:"filter all messages"})," using simple ",(0,n.jsx)(e.strong,{children:"fuzzy search"}),". The keywords are currently\nmatched with ",(0,n.jsx)(e.code,{children:"payload.label"}),", so searching for values in payloads or any other text, that is not\npart of the ",(0,n.jsx)(e.code,{children:"payload.label"})," will result in invalid search results (this may change in the future versions)."]}),"\n",(0,n.jsxs)(e.p,{children:["You can also use ",(0,n.jsx)(e.strong,{children:"JS regular expressions"})," for more advance filtering. To use these expressions, simply wrap\nthe searched string between ",(0,n.jsx)(e.code,{children:"/(init)/i"})," backslashes. There's built in validation, where if the RegExp is not correct,\nthe input text will be red and no search is performed."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(4911).A+"",width:"674",height:"52"})}),"\n",(0,n.jsx)(e.h4,{id:"search-action-buttons",children:"Search action buttons"}),"\n",(0,n.jsxs)(e.p,{children:["In the search bar, we can also find a group of four buttons. ",(0,n.jsx)(e.strong,{children:"First two buttons"})," are related to the currently selected\nitem and allows you to select one directly above or below it. These two buttons also have a key shortcuts\ndefined to ",(0,n.jsx)(e.strong,{children:"arrow up"})," and ",(0,n.jsx)(e.strong,{children:"arrow down"}),", so you can use these too."]}),"\n",(0,n.jsxs)(e.p,{children:["The third one ",(0,n.jsx)(e.strong,{children:"clears the currently searched text"})," and\nlast one opens a menu, where additional two buttons let's you either ",(0,n.jsx)(e.strong,{children:"clear whole state"})," (e.g. all messages are deleted)\nor access additional ",(0,n.jsx)(e.a,{href:"./devtools-options",children:"options"}),"."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(4).A+"",width:"674",height:"52"})}),"\n",(0,n.jsx)(e.h3,{id:"messages-view",children:"Messages view"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(7574).A+"",width:"840",height:"37"})}),"\n",(0,n.jsxs)(e.p,{children:["This is probably the main part of whole devtools. Here you can see all events and methods\n(that have registered hooks in the ",(0,n.jsx)(e.a,{href:"./devtools-options",children:"options"}),") and time they were called\nrelative to the first event received."]}),"\n",(0,n.jsxs)(e.p,{children:["The first label in each row corresponds to the ",(0,n.jsx)(e.code,{children:"class"})," that was an origin of ",(0,n.jsx)(e.code,{children:"method call"}),", that is displayed\nright next to the class name on light background. Optionally on some events you can see ",(0,n.jsx)(e.code,{children:"pending/resolved xms"})," tag.\nThis tag marks that some of the arguments of the method call are promises. The ",(0,n.jsx)(e.code,{children:"pending/resolved"})," status\nthan corresponds to whenever all ",(0,n.jsx)(e.strong,{children:"promises"})," in the method call are resolved or not. The time in ",(0,n.jsx)(e.code,{children:"ms"})," than displays\n",(0,n.jsx)(e.strong,{children:"time diff between first call the method and last resolved promise"}),"."]}),"\n",(0,n.jsx)(e.h3,{id:"data-view",children:"Data view"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(9856).A+"",width:"846",height:"461"})}),"\n",(0,n.jsxs)(e.p,{children:["This view has 3 tabs - ",(0,n.jsx)(e.strong,{children:"Args"}),", ",(0,n.jsx)(e.strong,{children:"Payload"})," and ",(0,n.jsx)(e.strong,{children:"Events"}),". Args and Payload are basically shortcut to the last event's ",(0,n.jsx)(e.code,{children:"payload.state"})," in the Events tab.\nEach method call can have one or multiple events, this depends whenever any of the arguments is a promise or not. In case it is, the events is an array\nwhere each new input corresponds to a resolved promise."]}),"\n",(0,n.jsxs)(e.p,{children:["Each event has multiple arguments, where most of those are an internal arguments used in the devtools panel or to process the message. Most of the time\nyou're only interested in ",(0,n.jsx)(e.code,{children:"args"})," and ",(0,n.jsx)(e.code,{children:"payload"})," arguments in the ",(0,n.jsx)(e.code,{children:"payload.state"}),". That's also why we have those two other tabs that are basically shortcuts\nto these objects."]}),"\n",(0,n.jsx)(e.h2,{id:"popup",children:"Popup"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:o(6197).A+"",width:"348",height:"160"})}),"\n",(0,n.jsxs)(e.p,{children:["The popup is a simple window that you can see after clicking on the IMA.js extension icon\nin the chrome toolbar. The main purpose of this window is to give you quick toggle to ",(0,n.jsx)(e.strong,{children:"enable"}),"\nor ",(0,n.jsx)(e.strong,{children:"disable"})," the extension functionality = ",(0,n.jsx)(e.strong,{children:"injecting the scripts and creating devtools panel"}),"."]}),"\n",(0,n.jsxs)(e.blockquote,{children:["\n",(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:"Note:"})," due to limitations of chrome extension API, when you disable IMA.js extension through this\npopup, the detection and reload scripts are still getting injected to the page. Only thing\nthat doesn't get injected is the devtool code itself, which wraps each class in a proxy like object\nthat sends messages to our devtools panel."]}),"\n",(0,n.jsx)(e.p,{children:"So in case you have any issues with your application and you think it's caused by the devtools, you\nshould completely disable the extension in order to prevent any possible side effects."}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["This popup can have ",(0,n.jsx)(e.strong,{children:"3 states"}),":"]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Detecting"})," - you can get a glimpse of this state when you reload the page while the popup is opened\nand the devtools are still detecting whenever the current page is using IMA.js or not."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Reload"})," - you can see this state after enabling extension while the page is already loaded.\nAs the name suggest, in order to use the devtools you need to reload the page so the\ndevtools code can be injected to page."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Dead"})," - this state simply means that the devtools are enabled but you're actually on a pge\nthat doesn't use IMA.js."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:"Detected"})," - you can see results of this state in the image above. This means that the page\nyou're currently visiting is using IMA.js and devtools are initialized. As a bonus you can also\nsee the application ",(0,n.jsx)(e.code,{children:"environment"}),", ",(0,n.jsx)(e.code,{children:"language"})," and ",(0,n.jsx)(e.code,{children:"version"}),"."]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"options",children:"Options"}),"\n",(0,n.jsxs)(e.p,{children:["This is a separate page, where you can configure the script that is injected into the page\nand customize it to your needs. As this is rather more complicated we're going to take\na deeper look into it in the ",(0,n.jsx)(e.a,{href:"./devtools-options",children:"next section"}),"."]})]})}function c(A={}){const{wrapper:e}={...(0,t.R)(),...A.components};return e?(0,n.jsx)(e,{...A,children:(0,n.jsx)(h,{...A})}):h(A)}},9856:(A,e,o)=>{o.d(e,{A:()=>s});const s=o.p+"assets/images/devtools-ui-dataview-ec8bbc9fcb0e46f3af2ce0b69ba8eeef.png"},7574:(A,e,o)=>{o.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0gAAAAlCAYAAAB4ZcnCAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAABiZVhJZk1NACoAAAAIAAIBEgADAAAAAQABAACHaQAEAAAAAQAAACYAAAAAAAOShgAHAAAAEgAAAFCgAgAEAAAAAQAAA0igAwAEAAAAAQAAACUAAAAAQVNDSUkAAABTY3JlZW5zaG903MVXhQAAAjxpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjg0MDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zNzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo0OiJjAAAg/0lEQVR4Ae1dCXhV1bVeQuZ5nucQQggkhlkQqCAgg4CIIDgrVmtrfbb1+eyrrbW2+l5fa22LUy1VlKIyKCCziMg8hxBCCCEkhBAyTzdzgLf+fTk3Nzc3yb0hYBLW+r7cc+/Z++yz939u7tn//tdah0hMEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEDBG4BZ8uMJmvFPeCwKCgCAgCAgCgoAgIAgIAoKAIHAzItDnZhy0jFkQEAQEAUFAEBAEBAFBQBAQBAQBcwgIQTKHiuwTBAQBQUAQEAQEAUFAEBAEBIGbEgEhSDflZZdBCwKCgCAgCAgCgoAgIAgIAoKAOQRszO2UfYKAICAICAKCgCAgCAgCgoAg0LMQqK9vJF1NLTU0NvWsjl+n3trZ2pCLkyPZ29tadQZJ0mAVXFJZEBAEBAFBQBAQBAQBQUAQ6H4IgByVVlR1v451gx55ubtaRZJEQeoGF623d6G8nii/mqi6kTMm9rLBYoXBmRclAp2JPOytG1xZhY4uFBSTrrqm1+FiHRK9sza+Gy7OThTk70Oe7i69c5AyKkFAEBAEBIFugwCUIzHzCAAba1QkIUjmcZS9XYQAyNHp8i5qrBs2A8KnY+KHMcZ4WE6SQI7O5ORRVFggT57D6ZZblJjbDUcoXeosAnh6Qhmv5OE6R4cHC0nqLJBynCAgCAgCgoBFCIhbXdswWYuNEKS2sZSSLkAAytHNYhirpSoSlCOQIy8Pt5sFnptunCC92vXF9RYV6ab7CsiABQFBQBAQBHooApLFrodeuJ7SbbjV3SxmzVjhVufJ/rBivR8BXGdcbzFBQBAQBAQBQUAQ6BkIXDcFqbbxMtXxn6eTDTU0XaGD2dU0MsqZbPqIK1HP+Gp0TS97W8xRe6hYM1bUFbe69tDsPWW4ztZ8N3rPyGUkgoAgIAgIAj0JgVMZmXQq8ww1NjRSdFQEJQ6ObzFX6ajceKxNTU2UfPwEZZ3NIWfOIhcXG0NRkRHGVSj/YoGqkzhoIAUFBrQow4fa2jrad/AQXSwoIlvORhcRHkbDkhIN9S5dukQHDydTbl4eXb58mcLDQmnE0CTq0+fa9Z9OE6R9WdW0I6OK9mfpKMjDjkZGOtOCkV4GAvTnLQW0eHshnXl9MC3fX0q/+jKP3n0wnGbeyoEa18H2n62mr441B7v04UnJwCAHGtfflQLdrUvtdy3de31DPtU0XKYX7gogN4e+rZrKKqqnf+0upjBvO3pyrG+rctkhCAgCgoAgIAgIAoKAICAI3EgEsrJzaPf+AzR65HBOZmBP+w4cJhCQoVcJSUfl1ewpcenyJXJz1XvH7D0AYlNII4cPIZ2umr7ZsYscHR0pMMCfEKN78EgypZ44SU18jujI8FZDBeFZtWYdhYYE08QfjKWamhrasXsvgXiNGj5U1d+wZRvV1dXRyGFDFJE7cPgobS4rp6mTJ7Zqz9odnSJIH+0poZdWnyfbvrfQsAhnOnKuhlYfKaONqRX03kPh5GpCDCbHu9H5sgYa3a9rMjlV11+mhFdO0DN3+NLPJ+sZZ9qFWvrnrmIKYDLkYHMLldVcoopavlDcl5U/iqZBwY7WYtOp+p/sK1HnjvK1p8fG+LRq44OdxfThnmIazrgJQWoFj+z4HhHIyDxL2edyVQ/iB/Sn4KDWqzld0b2y8go6dfoM/8ANsaq5urp66tO3D9nZNi941Nc3UH09ZwIxMhdXF8ICiWaN/GNaXFJKPt5eZGvT8ievsbGRCoqKydHBgby8PKn5KO1o2QoCgoAgIAgIAr0HgVImEK4uzqzINN9LMbodO/fwfXkYDegfowaL++KXX22kOJ4PODGx6ah8246drPjU0vx7ZxPOkZqWTvfPvYc8PdxVe7hX79i1l/fNprT0U5SXd4HmzZlFa9ZvVOWmL7hvOzs70/jbRxuKqphopZ5MVwQJc4nc83n02EML1D0clfz8fGnJ0n9TQWER+fP7a7GWswULWoJy9Os1eTQ03JmWPRlpUEkw8cf+v39TSC9NC2zRUoinHf367qAW+67lA9xV4MIH1z1T++CRCBoS5kRNl6/Qdxk6evzDs/Ts8nO0/RexplWv6+eP95a0IkhQllYxkRQTBLojAm5MLAL8/fgHbB95M1m4XgSptKyC9hw4YjFBOnf+Aq8a7acMJlW33zaCpkwcZ4Bv78Ej9O3OvWRnZ2fY98yih8jDXZ/8IjMrhz5dtZa8PD3UD/a8e2ZQ/36Rqm5RcQktWbaCCZcN1bCMH8SrWg/Mm92CgBkalTeCgCAgCAgCgkAvQGDz19/QuDG38T2+ea5ezepMDZMbuNVphvkAlKTS0jK64nml3XInFiFuHzVCqUE4vrikRN13NXKEfVGsEu07yKoUK0NhoSE0cEBsC/c91DE2P18fuufuaca7qLyigjzc9Pf30rIyRdxA5DSz57kA5jJ5F/JvPEH6iNUPhBG9+1CYgRyhY4vG+tCuzCoCgTK1b09VKRe7xQvDKDHUSRGbNzbmE/YX61gq49ikX0wJoP7++kHe/34WxfL7/gH29P53xVz/Ms0d6snn8KXj52tVWzjHvw+U0ta0Svrz/FDTUypXvwkDXGnyQDf6KqWCSqubyMvZhpawyrTpRAUdy62lEE9benCUt4HIMKeiP225SBuOV1AJ92t6gjtNGOBGv113gT58LJL6+dl32Hd0BOpR+sU6FXcFpUizL46WUS2TpDCv5skcyr5Jr6JPD5TQnjPVjGkfuoPP+RsmlHashGF8OP9b94fRX7cV0CGO5RoR6cJ99lbugzj+dEGdwgn4g4Tdyhi/cW+IwbUQY//dV/nKJdKe2/zhOF+qZHVt04lK2vicfqUgt7SB/rj5Iu3O1JG9bR8aG+NCL88IIhf7PoY+oM2/bStkxbBaEU4Q387YxfIGOpBZoeIy8krrae5IP1p7uIhCvBxoUoIX9eUvmK7uEn13sowyL9ZS46UrFOHrQNOSfMjRTu9XWsYZEdYfKaapvG9zcgnp6i/R1Fu9KdS7+R8l7Xy1Ok9hZSN58rUf0c+dEsNbqpi70svpUFYl+brZ0e0DPGjf6Qqaf5u/YViXWQbemlJKJ/Oq+dx9aUK8J8UEOhnKe9ObAH9fJki+dDg5pVsNazkTnFHDklhWN5/xY9DAWJo7q+WPKAYACX/1uo00fcoESkqIp71MyvD5P597WvknH04+Tv34B3vOzKnUxErSu0uW0RHeZ62y1a3Aks4IAoKAICAICAJWIlDOaoydnS2BYBgblKbyikpFZNorDwkOUl4Y2rE4xtWl5XwLn3FfrqysZFXJ8nAbLGaeZfe/EiZq8AiBux3Mz8eHQOxA4OABAqvgtisqq6hKp1Ofr+XFagUphQlKbIADBXPckamBRJgzHbvEIfamjhUfxkav6KRXKlLk42JD7+0oogVMijbwZN3fzZbO8WT9FBOMmHx7enS0N+06rWPiUkDO9n1p2mB3WsixTq+svUCDmbHCfQ8xRkfNnZj3wdUG3jY4L4gPYqGeucOPFo7w5s/l9N9f5Klzot3/YdL2N1bAZjAxenS0jyIUcCW8UN5I9UzSLOk7ujE62oVARJayimRMkJaya+Jdg9wUKbx0Wd/hPCYLT32czYTElV6bHUxp+bVKhUOf8bmKiQKwe+7TczSb47dAMOHG99THOkp5JV6R1R//+xwz8iv0H3f6Uzm7FiL268EPsmjbz2OVkrboo2w6nFNDj9/uo67bp0wsS5g06er0nSiraaKF/8hSxOTFqQGKZP1x00XKKWmgZYsiDX14ls8znmO6npvo38qNUj8ay14LKuppyfYLNHeUP6VfqKbnl2bQzGG+tOpAIdmw2+adg70UITl4ppIJjavq156McvrmRBm99Uh/Vaec+79iXyGl5lbTgGBnquAxPLvkFP3rmYFMhvSy8cp9BRTq40BJEa6UU1xLb6zJpicnBNGEQV6qo9+kltLfN59X5yuuaqRXV2ZRCW81ggR98tVVZwkkbhL3CcTuV5+fod/Pj6Z+AdeXJH22eh0NioulY+yfm3X2nJKon3r8AR57X8rIzKIt23dSGSsx/n4+NHv6ZMJKC6y+oYE2bNlOZzgoEu5n4WHB9OC8e1QZXkAKoMbU8APTwkODaRYfi9WWjmz1uk3KRzhxUJyh6j8//owm3TGWwkKC1Lk2bN2uXOeQlGBYUgJNGD/G4LK2nVWefYeOkgOvRmFc1tjPfrxIucad5xUh/F+YM1wr0yIoT1CGBscPUMGbR46lUh1jkn3uPEVFhFHaqUyaMmGcOg6uBrEx0WofCBL6m3+xkLJzz9NgJmDFJWUKs7mzp5H/Vay/ZaXtOLsQVFRUqZWyhffNMihX5voo+wQBQUAQEAQEge8DAZAMKC4wzA1y+f6oq65Wi4Ux0VEqrsemb2tKYMNu6XBFR9xPe+WmY2pq5Po2LePwkTgB84NGLrPGQKoQp4T5DeKNMBZn9hRz5bnL4PiBtGbDJr0axY2ezjqrlLEbnqQBsT/ZJbziz2pOZ+0Uqx3rOJnCX+4PpXnD9BPVMRyblPRqGq3l/VpcDib8nyyKUioKYnmGvZZG61PK6enxvkyQvA0ECUTGnCGDHpQZxEXFBzmSNxMxEKqdLw6gaFZ4YCBXW9JSFQGbwu/hJggC8P7DEar84du8CWoWCBLM0r6j7iPcL7gcvjorSGXyS86toeN5tfSbmUH0f6zUaObIas3an8RQjL+9Ur1mJ3lw4otq1SetDraPMFHUsAliQvizz3OV2gP1DepSsIctuTnqv4zlrA699XWBUsFwvaDq/dfUQPrpRD/VJK7f2P9NNzT/5dFyOsMkbP8v4yj0qrrl4WhDzyzLUUqYVhHXQWtD29fZrRtnN3xwbAC5cIwYlCKQEh33+1xxnWpyeLQb4U+zsazuPPZOGp1gVchYBYLiNPEq4UlnlQeECXVhv54bpR2utlAItx4vNRCkXacqlHq18HZ9rM1iJktbU0oMx+zl8uPndPT+D+P4+6MnXe7c7y2sKF1vglTKqzkgQSOGJtKMKRNVBhd0DJlclq9cqxST6KhwOsDZW9Zs2EpPPrJA9ftIcqpKKf3sU48qMpWVrY8pQmFe/kVat2kb3TvzLiY1wfQVvwfxeXThXHVsey/BnF3myLHjpBEkkBXE7mhueGgHwZlPPfaA+vFd8eV6iuBsMtGRYarPcIWbf8/d5OTkQJ9/sb69U7UqM40bMq1wIv00paT+iVx4pWvU8CQaN3qkqoJVJJA/kMrv9hygyIhQ9SOPlS0YyozTb+NmUVmlX3XCe6yWLXpoPv31vQ8Zo/sIAaogmNMm3aHGtJ+xf+bxB9V5L+QXtIpvUieRF0FAEBAEBAFB4HtGAKQik8kDrIGJBrK+FRYXKxIDguTObulwsUNShr58z9RMx0oMyjoqR30QGfyBnKB+fkGB1ozaQu1BOcqsMSwAa4vAiF/etv07FXeE84wbM0rNQ+BSBzI3465JtGffQV6s1Mc9WXMe07qt6aJpDaPPcG/ChB4qRWftGBMFGNQcKEOawZ0Mbm+axQU6KnKkfUZc0V4z7ntaubZdyISG47ipml3NEKMEN7D3rxIeTP6RLAJudhlM1JDEga+Vcs/KLKxXcU3jY5ufTYPVarjp7TxdpZq3tO+ofO8QT/r9+nz67GCZInVQk+BCCHXJ2OD2h9TnII1QedAnKGgYg7HBbU6zJMYCBvLzA+4vXP/2nNHRTo65gjIEIgaDcgfFD4Z6mnk49VVxWiBiMJA3KF5wsdMM/YDhmjjY6tfmR0c3uwtq9Tq71VzlsHViZRAG177yGj0Z5ctCIDwpOTo6ySpTI19LYFJV23LlISGsGc9IP0c6U1BrIEhQlY5mV9ExbqOwooHglqepDHDbS83V0YwhzQQ7NsipBUFKy9Pxd7APvbXhnOofXuCaWMBt/WhSSJtqhqHyNb5BTMyYkcNUK5rKc/DoMc4A40d9eWUmO+c8+Xp7K0WopLSc44Y81A8cVnuQotPexY5ioiMMvThx8jQFB/qzIjJA7Rszahh9sPRTRWjs7VsrwoYD+Q1UlI2sECETDYhISmq62teXf6Dwo3ciPYOJ3AQOjCxWh4WGBNLRlFRFkE5nZVM0KzYgSzC0lXw8Tb2/1pcB/aMpgRUiuAVAEfpq09dK1odLHdKDIqEDYp6OppygHz3xIOXk5rGKVK9OO5BTjoLwBAf5s+SvYwLESizfHDSDuyF+lLHiFRTopyT7TB4LDDcSZNip4dUsrGJpRFEVyosgIAgIAoKAINCNEBjIiRbwB1u+YrXKVGccg4TMcyAchbzwiSxzMNznkBQBZKOjctTftPUbquV74pyZ05U3RVlZuVKftGQQaBvxQqZufDjWnCEFOOYcMf2iDMXhYSH09fZ6QoIGzIvQZiSn/o6OjFB1oHSBLCVw2vBrNasIEs/jlRpzMl+/ym96chCn6oZLZt3vtLpIrgAL97LnmKBmlvo8u4ch9bVmJsocXzhtaqvVML+9f4SXUkG0voJYgHzB3v+uiF7jWBwoVgkhjhTubU+bOQ4HhrgXGGJOjA2qg2aW9h31nTl2B0oNkjUs4D6tYZXmVzMCtaYM26OcAXD24kzltoh+gUQhI59GULSKWv/w2fg9+jT69XRFHibGuan4Jkzi0YZxXdNxGQ+zrvGKykioKWvqQH4BKYWyhfgkmKXXQFXu4EXLMoat4X0f4K8/8Et2t1u5v5DmjPCje/kPROWVFVnKZdC4aVdWujQDLlAeYdUck/T8RxkUHeDIhMmT/N3taNepchWThPJa/p42MHauV1U37IOaZWxQTMPZRW/hGL3CZFxmYFotdnbtB3NpL8vKK3kSf5nOcPIBzYYkDOKx6K8RYnXwg/bnxR+Qu5srjR09goYkDlJV4ZOLSb9mgRyACavk/b72ejVXKzPdOvEzDNCf1JOnOJ1mEh3n7YJ7Z6pq5dwnWBG7oYGowWxtbA0+xpDyQeo0U304rn26tm2AUZaa4UMS6PSZs3SSiRIIkqOjgyJD6zZtVaoPyFIDuxZoAZ1DkwZzn0tY0fpKuciNHjmUVbJUQ4f69tF/H0ACsaKGP/g/wyLDQ1Vc1Iec5AH/W8NuTaA7xo5SK1iGBuSNICAICAKCgCDQAxAAObp1cDzt2X+Q43bvVPcyKDFIsY0kR7COygfwoiMWaGF4ppEnH4ekDEgbDre+/exJkpQ4WJW39QKlKyPzjDoGi5Pbd+5Wi5BIGAH16Sh7sjg7Oak+4fPW7Tt4ITiKvUc47TfX37lnn8pkZ0z+2jpXR/ubZ5cd1bxaPoKfd4QYl+Ucx4KJv2ZQaya/mUGIKUIsUVuWGKJXP4aGO7V4JlIBB9I7sIJgiWlUqYFVAFPDc5YwsTc1zJvf+bZIxTC9y6nIYSAhf+DnFsGQWAGk5mtOivD0eD8V24PJ9hZO6KCZtX2HWxyeefRTzqLH3z2zromIv4KKhGQJGvGBmmSpfc4KFbDb8UIskxl9ggLEZ2kGIgjbwkRQU6EKq5pUAgmtTiLXwTkXsOuin6v+KwGFBYkq3Flt0giSVv9GbHdnVKikC/dyAgfY2cJajo1qXt3vqA/pF2o4dqqJnp8eRk6cXAG2mkmXZm5MrKA4neJ6MVfjiTIv1mjFahvE6mNWQY2KcWpRcIM+mFN1EDAJQ+IBc+bs7KRiku6+ayLHx5yi1Ws3qkQEbkyWkKazoKjIcFhxaal678z7jc2GyU1TU2usEwcP5B+7I0pVgdtaKMcewbQ+DWFSYk5JASFCyk/NNBKlfe7KrYODPSta+sUBL04tCne6CF5xgpIGH+ZydrvTsupgFWvWtMmG02/bsVspcoYd7bzBD/cdY29Tf1ClEDPm5+ttcEFs51ApEgQEAUFAEBAEvjcEYmP6sSdIs/eN1pER/Cyhzdu209LlK5TnBIjR1EnNc42OyqHkaIZ7JJIpbNm2g/718XK1kIjY31t5Qbc9K+Q5SnrGaRo+JEll1R3DmfHWbtisXN4b2DMGqtGsGVNV/3COqZMmqj6f4HhgECTECE+aML69U1hcZjVB+vlkf9rL7ly/5OQFZ9gtbXysC2eIu8Tko5CQcADZ19ozPI8ILmIvc3yOLSs7cIFbk1xObzPpWvJoBCcx6NhvEEQGhGYTxxchBue2qNYX2rQPEIgc2VXsUE41p/+uUmTsLc4KpxnKn5/krxQmJCyAK9wudq27yORDM2v7DjUIqhAy0SGeyfT5UGgXYynixAArD5fxg20daRVvkaDC9ypR0c7d1hZZ5mDL+GG89w3zVG56SMKgWQIT0kmcyQ8Z8DAWJNcAGUK8UsVVV8lpCR6K9D75UTbHKgUopWgxJ6vYxRnt9r6kd8fS2rtRW5CWs4V1yk0SbnWfc8IFjRhb0ocoPwdWk9gNkduI4yQO+zlrXnJOFXlwDJFmSZGutIkz4EUxUYIKgJgkY5sQ70UrORHECj735ARvJos2KlFDdlEtjYrp+Htq3FZXvUeCg+Wr1hBiXoLYXQ52NidXkQD8WOTzQ9ngFga1o19UBNmx6xxWhmBQgA4dTVGxQz6c8eVoSppSlKAOGRtc4aDEDL11UAtFJI7d2das30I79x5QREC7HiBfSNRwKDlFPWsIxA7ubYgBAjlCP6DSgKyAlKTzk7qtMbiy4Q+rRdhCQu/D44PyiLEj2cQtPMZzTFTg6nfn+NtV88HBgYoMYeUJlszjhaqE+jAkqrDhFN9QloDn/kPJtGCuXhVTFdp5AcnDk8FByDB2uB3iKd9igoAgIAgIAoJAd0ZgCHs8mDPMG6ZNvlMlQ7jE91knVmqMraNy47p4D9e8eXNmKjc5zAs0VzvTeg/Mn2vYFR83oEX673ie88A1sILnD5jPYKHX2PCso4cXzGM3+Sqy5/uxpe57xm209d7qOzpUno8ej6QXV52nT/aX0NtMjGCI7/nkiShOUd0c62LupHi47MdPRHJWtlz6ybJzKu4HCsof5gRbRI60Nn/BD4iFkvX4h9m08ulobXe72zc5mcGPl+WoxAsgFkiYADKi2TM/8CNnVhsQH4WEEXdzNjsfJiovrDivqnSm70ipDdfDRznBgTl7gdObn2aiiaQLmHA+wGnH705kWTJLZ656q31QzEBkoFTBhXAkK3zPcjIGxD/BQPzefiCcs/MVqOdCgdQiU91GHiNUJVgEuzYu5Wv3Mmf4m/delnJTgxr1CWewQ1bB78Omc2wQYn8eXpyq3O7gZneaM/xZashkN3eUH722+iwWFRS5mcWZ8nak6bO4oB2oU7kldfQyZ6ZDmu8pid708Xd63FDu7WpLv7wnkjPd5dLy3fosikg5P4eP+74IEpSQiZwd7h8cOwTlBsGWLvwgNTz7BwTp4JEUlVkNzwlArM04drHD5B2G5/8MYdKz+B9L+UfGQZGfhXNnqTLjl4T4OEUY3njzHUVwFj18vyrGj1tcbD8VPzSVExUY29xZ02nlmvX0xptvK1KC5Ad4XhEIUggTlVD++8s7S9QqUAwTJrgBWmprN36tiJ1Wf9e+QyreCdnmNvHqVAEnrsBzkJDdZtiQRH5qd5Kqiv+n+2ZPp2Wff6mUrwaW/h+4b7bCCRXy+bhPPv+Cf1DZ9Y7LpvCqE1znLLFcfsAdklzgeUvAOYSfJxHXv58lh0odQUAQEAQEAUGg2yKgSAbfU9uyjspNj9PmIKb72/qMuYyx4bMHe4S0Z1io7WpTveCV2da+ahacCS5oIBh+PImGa521BjcukAdL1RJz7aMNEBdrDM8FgoKC5AjGhrEgUQAIg2ZIA45nPx3/bbzKRqft74q+a21hW8npvDEOJMHojMHFEfFI7kYxNWgH+zNZRfHlyb4xzhP/dEqdBqnAjQ1pxfFlcDOJxzGuY837g80inTWHGeqW6BpZeeNV/qtxZIYCC9808fcDyRpAdtoyqEdQI748WEQbk4vpvSfjWlUt5X7UM74gUkhF3pYN14s6bRUb9u87mkajkgYaPlv7Bn1G7I+DQ+sVFfj6ws3M09PdrOoGMgD1BJlk2h6JtT3S10eAZm1tPbeN9Owtv8vVTJpAspAdrisNQZx1TBQRc2Uu4x2+z1h9QrnpD68BKw/GwuRHuaM+wmUPq1ZoFytr7dm1Xu/22pYyQUAQEAQEAUEACJSUVfKCX8tkVoKMHgE8FN7b081iOKxnNUZNI2YGbmGdNRAC40l7Z9qxlhzhHFCszNnfWZFay+5+L00L5GQUDnTgbA1noStVD2T1NHLNwrFd0XfjPlwrIQGBsDPNbMEnQOa3x1hlA5l98a5AlRhjU2olIdHGL3mcpmbODdC0jjWfMQHvFPu+ehItvbY15zSuCzLTFjnK4rimAnYLhQveWXab28bPRdJShBu3gfdeV9N8m+43/tzVZMO4bdP3IHReTIDMGaRsc/FLWl24lNlxqvjrYUiAoCVBMG0f8VHXw7A65UJtZ1jEdYHSY846wsrcMdo+xGFpwavaPtkKAoKAICAICALfFwIu7Ppdys/mE2uNALCxxswzBWta6EV1X58TopSTf/LzkBCvE8Zug/OHe9HLZrLP9ZRhg8R+9lQ0/YZjvn677oJ66Ctio37HD6F9gh8ce70Nz2xl8aVbGkgjHk4LkoQMdrf1d6f5o81krLOw91efT2tRbUUcWQWyVrWwqHGp1K0QgEB/I8lztxq8dEYQEAQEAUHghiFgb29LXuzBoWMvEVGS9LBDOQI5AjbWmLpvd9bFzpoT9bS6PHdW8Ts9rd8d9fdGj6u8np9s3JzArKPu9ejyGM6E6WFv2RBOZGRToJ8XebFrl1jvRqCUXSHzC0spvn9E7x6ojE4QEAQEAUFAEOglCLQMEuglg+qKYZiEJ3VFk92ijRs9LhAGEAd4qPXGVXSMCWOzhhzhixDk70NZ5/IJk+dOhgB2i++TdKJtBHBdcX1xnXG9xQQBQUAQEAQEAUGgZyAgClLPuE7Sy16IQFmFji4UFBMyvl1LnFYvhKZXDEmRZ467AjnydO/4UQS9YtAyCEFAEBAEBAFBoBcgIASpF1xEGYIgIAgIAoKAICAICAKCgCAgCHQNAuJi1zU4SiuCgCAgCAgCgoAgIAgIAoKAINALEBCC1AsuogxBEBAEBAFBQBAQBAQBQUAQEAS6BgEhSF2Do7QiCAgCgoAgIAgIAoKAICAICAK9AAEhSL3gIsoQBAFBQBAQBAQBQUAQEAQEAUGgaxAQgtQ1OEorgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCPQeBP4fJi15btHOY+wAAAAASUVORK5CYII="},6197:(A,e,o)=>{o.d(e,{A:()=>s});const s=o.p+"assets/images/devtools-ui-popup-b2497d8dd7165e0eac00044115787f0d.png"},4:(A,e,o)=>{o.d(e,{A:()=>s});const s=o.p+"assets/images/devtools-ui-search-action-btns-40f4e3c4b13584852ec41a7bc93a25df.png"},4911:(A,e,o)=>{o.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqIAAAA0CAYAAABRoVqEAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAqKgAwAEAAAAAQAAADQAAAAAQVNDSUkAAABTY3JlZW5zaG90QiKfFgAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+Njc0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cix76eIAAB8tSURBVHgB7V0HeFRV2v5m0ntCAiQQICEECF0RLKAIqFjAXWMDlfIodlfdXX/X1X1W99m+NnQti1hWsaAiHaWogBSpAlIlhBJ6BNL7JPm/9yRncmeYmcyEmWHIfp/PcO/ce+4557433nnv+5VrqmcjMUFAEBAEBAFBQBAIaASO5Z+mlHZtAnqOMjnvI9Dar7vZ+5BJj4KAICAICAKCgCAgCAgCgkDzCAgRbR4jaSEICAKCgCAgCAgCgoAg4GUE4JQXIuplUKU7QUAQEAQEAUFAEBAEBAH3EBAi6h5O0koQEAQEAUFAEBAEBAFBwIsImEwmUUS9iKd0JQgIAoKAICAICAKCgCDgJgLimncTKGkmCAgCgoAgIAgIAoKAIOBdBEQR9S6e0psgIAgIAoKAICAICAKCgAcISIyoB2BJU0FAEBAEBAFBQBAQBAQB7yBQV1cnMaLegVJ6EQQEAUFAEBAEBAFBQBDwBAFxzXuClrQVBAQBQUAQEAQEAUFAEPAaAkJEvQaldCQICAKCgCAgCAgCgoAg4CkCEiPqKWLSXhAQBAQBQUAQEAQEAUHAKwgIEfUKjNKJICAICAKCgCAgCAgCgoCnCAgR9RQxaS8ICAKCgCAgCAgCgoAg4BUE/EpELZZaquGPmCAgCAgCgoAgIAgIAoLA/zYCKN8U7GsIikvKKP90IRUWlxKIKMxsNlNcTBS1bRNHbeJjfT0F6V8QEAQEAUFAEBAEBAFBIMAQAB/0KRHdl3eM8k8VWE87PCyUkKpfVVVNBUUl6pMQF0PpnVIoNMSnU7HOgerriSfR9L25NU/bN9ff/+J+wfB/8arLOQsCgoAgIAicZwgsW7GS/jv9EzXrSePH0fBhl/v0DHxa0H53bp4ioaGhIYpoDu7fkwb06kb9szJo8IAsykxLpajIcEVGd+09SNXVNWd9sjXLl1PJfffZ9FP58cdU9uyzalv53/9ORdnZVF9ZadPG6ReLhYrHjaOyZ55x2kTvKB47liw//KC/+mVp2bqVqmbMoPIXX6SqWbOodv9+v4zr7iAlDz5I1UuWuI2hu/1KO0FAEBAEBAFBQBDwPgIvvvIG5R06rD5Y94f5JEZ0/6FjyhUP93u/nl2pfVKCcscbTygxIZb69ujK7vl4qqisoty8o8bdLVqvXrGCgjp3th5bl59PlW+9RWG33dawLSSETKGh7iuiUE7RHp9GA7Gt+uwz/dW6rDt2zH2Caz2q+RVH49VXVSlyDdJd8fbbigBXvPIKFd9xB1VOn27Tafk//kE1a9fabHPni6Nx3TlOt6k7ckTNK7hPnzMw1G1kKQi0NgTWbdxMRcUlfjmtH7Zup8NHjvl8rJKSUjpdUHhW4/y0dx/9fPLUWfWhD65jD0s+91VaVq43OVwWFBbRqrUbCO3FBIGWIPCPF6YQPs2Zu+2a6+dc7y8rKyN8tNl/19u9uYSX3Ov+8JLScjpxsoDCmLx1T+9EQUGuuW5Glw5UXVNDRYglPVVI7RLjW3aOfLOp+f57inzySevxIKHmjh0puHdvtS3yiSes+9xaCQqi2A8+sGlas3KlIrNWcmuz1/tfHI1X9eGHVL14MUX+4Q8UNmZMw6CMYfmUKVTx2msUlJlJIZdcorZXzZ5N5pQU63d3Z+hoXHePRTtci6CuXcncocMZGHrSj7QVBM4nBBYs/pYS27ShuNgYn0978bffUc/MDErtmOKTsUDk3v/kCzp56rTqPzYmmiaOu4Xat0tS30GEZ81fdMbYl186mEaNvMJm+9wvl9LEsTerbTm5B+jzOQspKTGB7pt0h7XdC/9+iwqLiq3f9cqzTz1OIcENP1WbtmyjBYu+IUttLUdZ1VNy+7Y04fZsinWA9569+2nR1yuob6+e6nrk5O5Xy3ZtG+av+5elIOAKgcVLv1W7n3ricYfNQELRZtTVIxzuP582RkVF0U033kCz5y1U08Y6tvnavE5EQSZhqSlJzZJQfXKpKe2YiO7np9yCFhPR2t27qb64mEIGD27olm9U1cuXU/hdd+lhqO74cdUmqHt3Zko1ZNmzh4K6dCFTZCTV/vQT1Z04QdgH8qStNjeXTOHhZOIfl9p9+6geTwvV1WTZsYNMfIGC0tJ00zOXPAaOr/v5ZwoeMIBMMQ5+nDhjzLJzJxGHCwT169eg2HJP9RUVTserWb2agrOymkgoRma1N/Lxx9UxOJegbt3U+WAXlGHM19y2LZnbtcMmZbV5eVTH7nxFGFNTlVLsalx9HNogLMCckKBIL8vdepd1WbNmDYVcdlnDOI0Y4qHAao3nXV9YSMF9+5IpLo5qc3LU0jhHa3tZEQQEARsEHrpnPEVGhNts89YXaIj//XgmtUmIo0l33KJI3xfzvuJtn9OTjz2gYv1L+V7YiUkwiKfREplgGi3/55PqeBDYjZt/pHlMSiOjIo1N1HppaRldf81wio+1TWANYkEAdvTYCZqzYDGNvHIoXXbxQEL7T76YRzNmzbchtKox/zN4YH/q1rWL9aHgmxVrKKtHNxIiqhFyvSyraAhhi/LR35iz0Y+fyFe7kts3/VY5autuO0fHurtNk09nZNRIQnVbd/sO1HaPPnw/XTvqKjW97t0yfD5NnyiiSEIK5hsHXO7uWkxUBEVHRlBpeQVVcaxoGMeVemogPsEgctHR6tCaTZuovoTn0r+/tSu4rWu++47i5s+nutOnqeTuuynqueeo4p13CK5kYnIEUhXx0EMUPn68Oq6MVcegHj0o7KabbOJPcSzGi5k2zdq/cQVksPR3v1NkEIQVBDbkooso+qWXFGlE2+qvvlLxnfWlpYoEmvipP/zeeyl8wgSqZZJsjHc1jmdKTCTL5s2KrJoiIpqGZTIa8+ab6nvlu+9SxdSpar1q5kzCJ3zSJIpA3OaiRVTB7UDM+WmBiEl7MOb2r39R7d69TsdFZ+UvvEBVc+YwU+afKo6hNfGPRjTH3uJ4bfUg6ox/+J13qk0aQ2ANq1m/XsXd4sEBeJvCwiiS43ArXn+dQq+5RuGvGso/goAg4BQBX6quII+nThfQ5AljKSa6QREZfe1Ieu2t9+lE/kmlRJYwEYQi2atnptM5YkfOvgOU2TWN9vISJPQ6JptF/DuRd5jvuY1WyeFZUDmhXurx9D69zD2QRwkJ8XTl0AZvTxtev2b4FTR9xhf8u1GtvHC6LZb4gUtsY0uKjftl3TkCIKG7cg6qBlmZXcifZBTkLnfffnr5X3+lbhldHU5yb+4++vWTz1BG13Sa8vzfHLbx1kZNMO3JaGskoRqztM6d9Kpfll5VREEicTNBbKinFs1kFEQUN6SWEtGQK5rcQVBIkR0f1LOny6nAnQ0lMWT4cKVeVvz734qkhY4Yodz6+mCQzgQmuyUPP6xUy+iXX1b96/32y7I//5nM7dtTLJNfKKG1u3ZRySOPUOUnnyiiCaJW9pe/UDjHr4IgEpPQqk8/pYo33lCKbOjIkU7HC73+ekWoi1ntDb/1VgodNYpMrE4aDX2GT5xIBaxKgnwqYs141J08SWV/+hOFDhtGEUzAMTcLn1fp739Ple+/r9o6O8/K994juPqjmJyH8Pzqi4qo/PnnqfSppyiW95k7NfzxqqQtJpjGhwA9t7rDh6ns6adVLG8kE3UzK8poX/7Xv6r+dDtZCgKBisDW7bto1fcbCK7rzp06KuUNLnJtNZYa5Xreu/8gtWc38MUXDaDePdkL02jrN22lrdt30gkmex1TktXx2L9j9x76fv0Pivzptv959yPqnZVpVR0PcUzobHaHP3zvBPp09gLqlp6mjp/+6Wzq3yeL9h88RLv27OWyeHF0Yf8+dNEF/XRXtGMX97/hBzp2PJ86dkgmEMuPPptNd9zyS6u7XTeGCjnm2qtsSGECey1gmoCWchgW3OvNGVziAwf05WdOM01kdTUjvYtymRuPK+EHdY7I5wRWw4O1sQGvI8wLIV9GQzIs+jWpo417iA7kHaa5C5fQA/fcRa9P+4CKOXb3VEEBwb0/NnsMdUhpT/uY3K5eu5FJ8VFWShMVXhf0awjlWr5qLf8eVVIMhyTgutTyb9uIK4ZQ927pNPfLJar/NvHxdO1VVyrlFaMD2y+XLlPLtklt+Np1p6GXDLKdWIB/0yS0nhpia0FI/UlGH3lgMj3+f08roumIjGoSitAMtPWH2ZNRjKnd8XqfP+bhjzFmfD6Lpr79XzXU/ZMn0dhbs306LK7jmT7VsxiytpYVRTYoop6aPsYCVdJDAyGCeztkyBDrkfWseEIdtVEMrXubVkD4Qq+7TrnfEUsazlnyUAgtILJGYxKn1EMs9TrfAB0aHw/CFdyrl9UdH8Su9DhWEsN+8Qt1SCVnuwez0hrx2GPKHQ3VNBwq6wUXUPXcuU1jOBgv9MorKeLRR5XKWs6EuJDnX8wqaiXHs0IFVoa56etgmK+Zb5zxrMRGMfEzJyUpNRIkPPjCC8myZYvzcfmPpfKjjyicE6IUXvyDAFd/FBNuhCpUf/21FQqlTiNEojGuy7qDV6qXLqX68nKK+uc/ldIMNTTk0ksJ8btQUsUEgUBGAIQFRHD4FZfSI/dNVDGaiHcs5oQebYu/+U6RLcQugoh+OmsBlXM4C2z9pi301dfLCWTn7jtvU+0+m72Q9nAyD0gpyJPuC0T1yLHjtG3nT7prymVyG8MP+iCKaFfRWAGkiL0LSzhmFArg+NtvYmKURnOYhKEPGAgqiGuXTql09/jbaEDfXjRj5jxWPQtZPLBY+9crSdwPCLTRdv6UQ2Fcgi+1Y7LaDNc85jF/0deK6IEMg+warYa9JgcPHVXn2TWts1oa9+t1uNkj2LsD0vreR5+r/hZyvG05ixPa+mT1UOe7YvVaFUsKV/0ixnLQhf05nzREN7Muazg06jQ/LISyp2jcLTcqbPr36aXWk5gkHj1+gon4HPUwMXniWEXcodjiPGFlfJ/CQ0dhYTGNu/lGxqw3zftqKU3/dBb1652l4mXj42I5PGCuCj2w8Lm+PX0GpXfppP42Rg4bQt+tWU+79+Ra5xToK0YS2iszjfABIQUZ1a56X58DVFConCAoUD1BPLUZSSjaOFNMdXtvLkE4EQcKAtpaSWg1/wZrEgrssI5tvjavKqI6McnSSEg9mTyUVFiQM3LnojNkhZvZXY24SG1wvSPusDkDQTSaVvEQu9hi45tz6NVXE8gm3N9QD0MGDrRRLaGQIqkI7nmjIR4V8ZwujYkl3N7hXDIKIQiWDRsa3O3s2oaqGs1Lp7GrTA5NTEYRhoA4T5Xtz6EBisA2XgNHYyN0Qbc5Y84IFeBQBG0gosbYXL0dS7RDXC5IrNGCQVxBmMUEgQBGAJnf4Rwz1z0jnZ+zgpUaCde00YsDJRIfGFS3rTt2MUHLYcLUj6CyXTP8cqtSif3F/PC4khXWe8bfTm2TEhVphLoJUgZFc9uO3ZzJyg9vHFcJQpnJYzuytM6prL41hMiA1G5nUghiCDK8dsNmFR959fCh6lDsh+sacZ/uGM574RJOyBjBnhS+R8GgjEIZHnrpII7bHEIHDh5m0j2fsm+8ThFdtDnA88X4kcYQIuywM/QFUr163SaFKcr5reF1EPN7J45TRBPJUtljrmVX/CxaumyV6iEjvTONGHaZXW+2X3GeKRxvGILQJQ4zwDoM/UOxHDbkYvUd80R1AGDVq0dDuAEU2BtGjVD7ca02b9vBKnQX6/mF8nlDbUUYg9kcpGpk41gQVHx+89BkReRUBwH+jz0J1e54kNGdOQcUGfWXMqrJqFEZBXwgpiCo/iahAX7pzuvpeT1GFDdjEMnyxiBnT9DRT1sR/MTtqSFDWyfGWI/lmw5iGJszVc7J2AjHecEi2V0NlRFktJpd2VAHw9ilHj55MkGVhIscZLCSE6TsDUolYkqhkro0JrxIzsIn4v77VewmXOUIL4jm2qIOrTG7vvqbb4hYpTEn8w8Su+frT51qIKgOD2KRGDG0bCiRZbIrBwXVGX9MMCjBdYcOnXk91F4OLcUDAoiwnak+WB0VEwQCGQG40L9bs46Q4d2nVw8mpF0pk121xkeoFI6b1Ib/Lzokt1dEBaofVEwQRqOlczzW5q071A9sZkaaDRGFWxckNGffAerbu6dyISOhx5G1b9c0LvZ3ZOKkyy5B/Rty8UCbwzJYoXTHMGdkz0PFRQKQNpDkVHbx6/NBeAJIAkomQXGF5eRyfCifU3OWyDkFVzNBH8JEWosRPTK70vOvTFUqMJKM4FKHSnrDqJHKFQ6VeeWaDYoIPsju9yhOOvXEjhw9TtFMTOdzFr42EEpgpS0psY1eVfe4KL7XxRmSqXRiFZTflPYNrvip732kSD9UaVwznfFv7SgAV5yRUEwVhDQQyCjmci5JqDEmFHOxjxnFtvPdQvnBC+54rYpiHdt8bV5VRDHZ+LhojsMpVh/UCnXHQFxR9gkZoHD9eGRM5qCIRnG8odHMnOUOl/05M6ii7DLHB0k5cEkj/hPuZyTtIIMcyUuRHJvpiamsds5CD+J4TBvFF0T3lluoat48l4XtK7kGKhKXVOknji3lvzI1fBkTZ2TROzNk1sNAeJFQ5MxU2aaMDJvsfGNbpQKDBNuZUlwb3Yx2u+SrIBAwCISHh9FjD95Du3bnEGpjzpz7pSIzk1nNjGyMbzSZzDbz1Q9pVq+PXUk7uLdr+T6GH1korShPhJJ2R9j1DDdvUXGpUkeRnBPB90god47MbDbSYTgYTKpPtEUcZV2dbT1NjNmcgezBVQ6yef01I2yaa/XVuDE9rROtWb9JxVPivKDq3sQqZnMGhRYfo4FYIsMd4QkgolCTL79sMKvEfVUzKI63ZY+mf055k7Zs28lEuylh0tiPs3Vcj2hWmY1xrlgHAW5p7VG48BG+sZ3DKVasXkcI00BYgCbrzuZyrrcfPMwVZfg/EE6thBrnZCSjaIt2/jCjMorxzpUSaiShxpjQ1khGEROa/YvR6vL6g4RiINs7phr67P7R2fJHTvzsdkd5RxvKNbSkhqiFXdwqO55VQaPBVQ/SVs/B6d40Eyumdc30iTHxRiGlevLgyCwPu/lmCuEEIcvGjWo6KL8EAo14SaMho7x62TLrJkfjlXLSUzkXsD/D+Km8npVWxKZajedrDDOoY7IJ93/Ytfzj0EhCQY5rEB9qMPtxVeknJvfV335raMWr/GOGmqaWH39U241lm2wbNnxDqSbgozLvDQ1QmF9MEAh0BEDlQPDg0oWb+IlH76NKfsEEYgmbMxAnkKvDrMQZ7fDRY6ymcWk1JosgLEWsQP7I/XVO5RrI/IDZgxVXJD4hsQbZ5y0xqLJQVY2GuFRXBvc4lNBkLrsEd7uR5uK1fO9++Jmak7GPgoIiSuBEKZBQ1ARFEpI7dU43/7iDPuMYVqMB6wIWE7QqCXJuL1RgTogBdffNfJi3NmASxl6YSwddaP1cfNEFNIiVXnOjh0e3dXeJOXdO7aDKUD3+0D3qeq5e13DPd7ePc9Euo0tHfvlMhkMSqucDMoo2aOtP02Q00EioMWYURLU12YG8QxwWc8gvp4QHcK8T0fjYaEpqE8fu+Sras7/5E9m2e596C1NERBglt21yg7iLgIXd8qpsk50bG25xGIiqNw2xjKh3iVhMlDpyaOy+KedSSGVcXB8EDXGiUERROipk6FB1SDi/FQlEufQ3v6GaVavIsm0bVUybRqWchATXtjb78eDCDh09mqoXLlRvVwJxrT14kFCAvoTVyjqObUVWvbaQQYMIbniMj3kAF7ziFK8FRSwqjitFJQD+wTOa/bjYF8EJRXiNKl6VivjSmnXrqOyPf1Qf/hUlvPEJ1QDOCJMwdIwMfySIoQwUsu0r+KUDKFOlXPZ8bmKCQCAjsHzl9/Ty69OsLu9Tp/ihs6qa4uPd8/4gTnTRNyvY3ZynKoQghnPV2o0q4QbnDeKZ3iWVvl6xWhFQbEPWdiwnXq7ltzZBMW2JXcFKIuItUYB+d06uUus2cE1PZwa18EPOqK+11KqM/fz8k3ScxQV8EGIA0oy4zy+XLFNhByBgeMsTVMu+HLIAQ7mmjDSOB3eD1IEUIikL2ekYu4oxXbi4wXOCmExYb47FBVYg7jC4w5fx9UD1gqzu3dQ2V/8kt09SCi0IMhRPZPJvYQIMNRWJTYiDncpVClB8vyUGfJ/720t83gfV4QipwFi62kBL+vTXMQirM8Y5OxvX3XbOjm/pdpBRfPxtzpRQPY/WSEZffX0q3f/wr9UH6742PNjbsg8vjZjeKYVVgmrOWCyhH5lodkxOokS7GzXepHT0BJcSaownram2cJZipXr/vCfTUAocZ33bmypMz28UggLpihjZH9fcdxCp2u3bFYEKYhd0DBMpe4PiGMMJQ2VM2EAOoRoiDjP0hhsoktVMGF5FGs1kDPU8UToJmecowYQs+vDbb7d26Wi8yN/+ViX7oNwSaoJqM3NR+hh+s5Im4diOsk1QG1GyCQlOEQ88oFz3eEc9SjGB2IaDwHJsJ2qTanM0LggkYlfxitMqZPazIfEomtVZvMoT1wKxsHgwcGr8RxfJ5DWYj4cirB4kLrlElbQqYoItJggEMgIopI64y1f/855SRkEc4S7u6QYRwnmhGDvKAM2cu1Al+6BgPJKXdHIT2iAZCW8F6t6t6YcX6ys5NhWlj1piKcntaMLYbFVQfgm7i6FSjmU38pQ33nHYHdRSKLCwN96ZbtNm2JBLOJ5zKLvcR9HMOV/SlDffVZVSQEYHDuhDV/H5wBriQ90jzih2f+etv1REGUS9nu+Z8aysorIA4jhhN3BoAPNHevv9GRQUHMTk0aISuCbwG5tQz7Q5G3RBf1rA5PbF16apElkow3Tj9VcTHi6+4BALqLiI+8U4LTGo2VcxLjO4yD6uMQzKObLnxc5fBJApb3TH25+Jq332bQP9O17pqd+qhLli/Z5JHH9tJ/R5+zxMLIvi/uF1w1PtvrxjTEaLVd/BfOOIYDcIHo4rq2pUDBR2oJh9BMdd4Y1MKMGRldFZfXd3QgVc+ieWX3kJUmhvlUzAQJjiQJr4Cd6rBhcPbjaNyU2F7HaPYuJpT3qhEiJG1D5L3DgXtOE6JTZZ9cb9at1uPLWNLx1iK+s40QgxnCC7To2JLkiiFQfuD29cQmKU2u7sQEfjclsVf8vnjrdSaYPKirdIRfP77T21uqNHqYjDF1DTNcxAxD3tR9oLAv5AAIoaSgshxrClVsEP4Yj59Ich1hPl9YzF4qHgvf3BDPodvykJqmtLDcXkQc7bccY/yBwMLvC/vfQ6/eq+SdY3G7nTP36MkDAUyvcqR6/tRB+IbYV6CUUWmfSeGn6bdLlAfSyuJaohuKPe6mNcLUtZDUXMsLf602Mdyz9NKe089xzq42V5fiLgz+s+Onuc9X3zIKALZn3ic9C8zM6a5ov/0bunp1Imf+L4ZmFhF08J/89ZzElJiPVBAXsop727p1PXzh2UWx5xPj/tO6TektHUk+s1EDxHJBRHhd11lyJexphL1715sBfEtpGEujoKdTJdkVAcizb2BenP6NPReMzqoYKi5JRLEorOEA9qJOO8jox5lyQUxzkalzcjUcpIQtG0ufhQtEG9VxTZV299anwGAqlFWAKU42BWR8UEgUBHAATjbEgozs9fJBRjIRTghVenEmIx4cpG0Xu8hx3xjGdDQtE3ShyhJJImodiGwvsxHE7g6dufWKfg0K4EpyQUfSOrPpkrBLSEhOJ4exKKbd4mjfjb8DYJxTzFBAFfI/Dbxx7i2rqp6oN1f5jPFFH7yUNBqGIllLU0FVyua44a20FBzeeYq0iOF83q1sWtshdVs2ZRWHa2sRubdcQxIp4xguMQfWmImwzjtyQ5I8W+HDsQ+obLvpxfX4q3OCmV1cWkKl59lSo//li9cABkuJarAPCvGOFNS2Fjxrg4UnYJAoJASxCA0rh+4xaukfmDUi9BPpGRP3rUyDMSgFrSv/0xui4oVFIx7yHgT2XMe7OWns4WgdZ+3f1GRN29EHsPHqGTp4uof1aGRy56d/uXdoGBAMgnkqXq2ZWP13zirVZKoQ2M6cksBIFWiwBIKZRHsfMPgdZOSM6/K+KfGbfm647o0IAjoriseGe9Oxl8/vkTkFEEAUFAEBAEBIFzj0BrJiTnHt3AnUFrvu4+Kd/kjUspJNQbKEofgoAgIAgIAoKAICAIBC4CKN/ks2SlwD1tmZkgIAgIAoKAICAICAKCwLlGIGAV0XMNjIwvCAgCgoAgIAgIAoKAIOBbBEQR9S2+0rsgIAgIAoKAICAICAKCgAsExDXvAhzZJQgIAoKAICAICAKCgCDgGwTw8gshor7BVnoVBAQBQUAQEAQEAUFAEHCBgLjmXYAjuwQBQUAQEAQEAUFAEBAEfIeAEFHfYSs9CwKCgCAgCAgCgoAgIAg0g4C45psBSHYLAoKAICAICAKCgCAgCPgGASGivsFVehUEBAFBQBAQBAQBQUAQaAYBIaLNACS7BQFBQBAQBAQBQUAQEAR8g4AQUd/gKr0KAoKAICAICAKCgCAgCLhAQMo3uQBHdgkCgoAgIAgIAoKAICAI+A4Bs9ksdUR9B6/0LAgIAoKAICAICAKCgCDgDAFRRJ0hI9sFAUFAEBAEBAFBQBAQBHyOgMSI+hxiGUAQEAQEAUFAEBAEBAFBwB4BFLT/fxKrQKf/YPdmAAAAAElFTkSuQmCC"},2823:(A,e,o)=>{o.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqIAAAA0CAYAAABRoVqEAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAqKgAwAEAAAAAQAAADQAAAAAQVNDSUkAAABTY3JlZW5zaG90QiKfFgAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+Njc0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cix76eIAACFhSURBVHgB7Z13lFRVtsY3QWKTm4YmdtPkIIIgIkmCggqMAiqYYMQcRp+OYXTW0j/mzfI9E4bRQXmKIoqoJAFRcABBooKSUxOa0NDkKFHf+Z3mFLcv1V1V3dVt0e69VlXduvek+51bt77z7X3OLfKbMVFTBBQBRUARUAQUgZhGID1jnyQmVI7pNmrjoo9AYe/3otGHTEtUBBQBRUARUAQUAUVAEVAEQiOgRDQ0RppCEVAEFAFFQBFQBBQBRSDKCOCUVyIaZVC1OEVAEVAEFAFFQBFQBBSB8BBQIhoeTppKEVAEFAFFQBFQBBQBRSCKCBQpUkQV0SjiqUUpAoqAIqAIKAKKgCKgCISJgLrmwwRKkykCioAioAgoAoqAIqAIRBcBVUSji6eWpggoAoqAIqAIKAKKgCIQAQIaIxoBWJpUEVAEFAFFQBFQBBQBRSA6CPz6668aIxodKLUURUARUAQUAUVAEVAEFIFIEFDXfCRoaVpFQBFQBBQBRUARUAQUgaghoEQ0alBqQYqAIqAIKAKKgCKgCCgCkSKgMaKRIqbpFQFFQBFQBBQBRUARUASigoAS0ajAqIUoAoqAIqAIKAKKgCKgCESKgBLRSBHT9IqAIqAIKAKKgCKgCCgCUUGgQIno6dNn5JR5qSkCioAioAgoAoqAIqAI/LERYPmm4vkNwaHDRyVj3wE5cOiIQESxokWLSoVyZaVq5QpSuWL5/G6Clq8IKAKKgCKgCCgCioAiEGMIwAfzlYhuTEuXjL37A6ddqmQJYar+iRMnZf/Bw/ZVqUI5Sa6dKCUuytemBNqgG4qAIqAIKAKKgCKgCCgC5yMwc/YcGTnqE3tgyO2DpGuXTucniuIeFNEi5oHzv0WxzEBRa1LTrApaosRFUrNavFU/Yb7O9u4/JDsy9sjRY8eldKmS0iSljpA2t3b48GFZt26dbNu2TYoVKyZ16tSRxo0bmzJL5LbIqOebMWOGLFq0SJ555plclb1x40b59NNP5bHHHpOSJUvmqowLIdOwYcOkc+fO0rp16wuhuYE2/vzzz0IfN2vWTPbt2ye33HJL4JhuKAKKgCKQVwTSM/ZJYkLlvBaj+S8wBAqy33v3GyRHjx61CJUtW1Ymj8skpfkFWb49WWnT1nRLQnG/X9y4nlSLr2Td8d4TqVKpvLRoVM8Q1Iryy/ETkpq2w3s4om0I6D/+8Q8ZOXKkQAYWLlwow4cPl5deekn27NkTUVn5mZjOhaDkxhgvjB07Vtq0aRMgoStWrLD7clNeqDyffPKJrF69OlSyqB+nv9avXy/JyclRLzu/C+Taq1atmnTq1El+/PFHex75XaeWX/AIrF67QbZuTy+QijenbZNlK9cUSF25reTYL7/Irt175IxRNrKztRs2yu49e7M7HNH+X829MMOUdeTosRzz7T9wUOYuWCykV1MEcoNA6pYdwiuUhZsuVDm/93E4iiOhtMX/PT/ah5c86v7ww0eOya49+6WkUSIbJtc26uQ5FTTYSaTUrSEnT52Sg8SS7j0gCVUqBkuW7b5TJu/bb78tNWvWlLvvvlsqVKhg027ZssWSUcjpX//612zzXygHFi9eLNu3b5eHHnoo0GTO8fvvv5ebbropsC9aG3PnzpUqVapIkyZNolVkWOWsXLlSEhMTpVKlSmGlj5VEDBRWrVolN998szCKvOSSS2TcuHHy1FNPxUoTtR1RQmD+4iVSu2YN80qMUonZF7Ng8VLZsXOXXNyscfaJ8nhkzvxFMn3mXOnUvq1c1TXTDbfk5xUy7stp55Xcqf1l0rN7Z7sfAvrRp+MlbdsOG3JVzHi8enTtKB0vb3tevolTp8vggf3t/vWpm+WzCVMkvkoluWfIOa/BS2+8IwcOHjov73NPPyoXFc/8q/rxp+Uyedq3cvrMGeE3V71aVbnj5n5Svny58/Kt27BJps2YLS2aNpYK5vj61E32M6Fq/HlpdYcikB0Cu80cFwyuEswgoaRBVLvQjf+uG/peJ+MnTbGnwjb78tuiTkQhk1itxPiQJNSdXK3EBENEN5lR7v6IiShq6MmTJ+Waa64JkFDKrVu3rvTt21fmzJkjR44ckbi4OFed4MbftGmTJa+QrWDm0kCIIEbFz94IT58+bd3/KF8XXXSRLYcbYsOGDW0xbG/dulUOHTpk21Cu3Pk3SBKeOHEikBf1r1SpUsGaEdiHwkYd7jwgoQcOZGK9efNmm45zZnSBgUlqaqpNX6tWrcD+Xbt2yRlzE69RI+uPau/evbZNXHT792fG9VI+ZVesWNG+bMFB3sAXPOPj4y1W3iSUS1vAEDWY8ho1apTtxQ2Zw7WNQbzLlClj696xY4fs3LlTLr300kDxnMvu3buteprdjyUjI0PICwa0z9ueQEFmI1hZv5g/WtrM4MbhTh4GP5Tr3U+fM3okHAQjrGDBggVWkadeNUUgNwjc0KennDQx9flhuMQgiD+vWH1eWNQRcy1DtCGeXqtiyKMziOrRY8fkL/cOMQPHirLkpxWGJM6Q6glVpX69JJdMMoxayn2xWkK8/LB0mUwydZYpWyZw3G0cOXJUrr26q1Qsn3UCK6FW2I70XTJh8tfS/cqOckW7S819/ah88sUkGTPuyyyE1pV32aUtTTvqWvLJvm9nz5MmjeqLElGHUM6fR385bhOULZ3zf1POpUR+dOeuDJuperWEHDOHmy7HQkIcdOQzOzLqJaEubYgiY/7wXx68V3r17GHb2bB+Sr63N18UUSYhFTc3jkhGB+XKlpa4MqXlyLFf5MTJU0ZNDT9W1CmgEAFHYBxyl19+ufBydvz4cfn3v/8tGzZssKECEDII0sMPPxwgsZCfUaNGWbIJQNysIaMPPvigTQtBffHFF2XQoEEyZcoUSzipF5KIaon7/Ji5OZOXmy/1k9YRWdqCy5t2UD9pOIf77rvPxrW6tno/Ia1r166Vq6++OrCbsAPahtEe7PXXX7fxsbQBpZSyqQOSNnToUEsAIe5jxoyRe++9Vy6++GKbD7JFaAMuZYjfl19+affPnj1bePXs2dOServT8+bFk93UB/FGmU5JybyAv/rqK0lPT7d1f/311zb3E088EZSIQvBoX/fu3W26d955R1q0aGH7Anc9xB8iCrFEBafd/EmBQ8uWLe05ujjkgwcPymuvvWYJpiPn3bp1s2QR0ulU8lBl0QbwI70re/z48TbW9+9//7ttJ2+ESdSrV09Kly5t97FNvbjr3fkEEuuGIhAmAniWeOWHfTv7e1m1Zr0MuWWAfDV9VpYqDhuSh9rYtHGDLPvdF9zdm7ZslT69egSIXbs2l8hPy1dK6qa0LER0/cbN0qBekmwwn5DQawzZPGj+J9K2bXfFyXETnoXKiXpZLi64ApO6Oc0S3is7Zt7TKxvye3XXzjJqzBfmf+PkeTjx+6tS+RxxDlSmGyERgISuXr/FpmvSoK4UJBl94aVhkrpxk7z6v/8t9VPqBW3rhtSN8l9PPisp9ZJl2Iv/DJomWjsdwfST0cJIQh1mSXVqu80C+YyqIgqJ5GZCbGikFmfIKESUG1IkRBSlC3Vv6tSplvBApiABjjS4dkBWRowYYRW0xx9/3KqVEKR3333XkhqIBmTx/ffft+Tt2WeftfF+KI/vvfeejB49OkBeKBO3a+/eva0LFjUTAvXRRx9Jq1at7H4IydKlSy3pg8j069fPNgVSCYF98sknJSEhQZYvXy4ff/yxnYQEQQtmtBOShuLpDJLFOU+fPl1effVVu5tznjZtmuBWv+2222xbUOkgppwndYLPsmXLbH2QZ9oOMUUZRkGG2EF4Ied8v+qqqwJqqqubT/CkTCaH3X///ZaIo05+/vnnlmSDJ6oxRhoM3Dnn7NRfN0BwJJY8KNpt27a14QfljVKC0vzWW29J1apV5ZFHHrGDBNz59NFnn31mXeOo1hB9lFpCGerXr2+vDSZ6QUKrV69O0WGVNXjwYIvvrFmzBCKL8vvdd9/JHXfckUUlRsl1xJ6y6X/ayABJ7cJDIH1nhkydPlP4rBpfWZo1aXiey3nmnPmydNkKM/AuLq0vaSHt27ayvx/OdqMhTd8v/NGSrcrGo4ASB4E6dOiwjBj1qdx1+80Bd/Lkr/8jh8wA95YBf7JAMXh8850PpP+frjFkb5tVFPv3vUZmzV1g7o/HpaIZuC74YakZ+P0ql7RoJu0vay2lSpa0eVeuXieEDtDumjWqS+9e3WX02PGm7OutImkTnX2rVLGC3D/0dqlcKTOcyXvsiAmxwnWekxUrWszEq2clyUwO9Ydj4RK/1ODD/WmwIb0pyXWty9xb9mFzn8KXU9YIEtkZ5fpJORNcKbeIzZ01J/G1E6d8I/cNvU3+9e6HFvu9xtuDe39gvz5SI7FaZj8t+MGGFyRUrSJtWl0srS7O9Mg4vMuVi5P5i5bY/4VunTtIw/rJRkn+Riifvu3V40qrvFJ7ONdN1lbG3jdHQn+TzNhaCGlBktGH7rtLHn3iGUs0g5FRR0IRPkhbEOYno9Tp3PHuWEG0oyDqGPPZOBk+YqSt6t67hsjAGzO5S37VTT/mHMAZYc1nzmQqdCiikZrLc/qsyhdJfhS4Bg0a2AkikDII1wcffGDJoSsH5Qsl8tZbb7WuXG5exJXyHbKQlpZmkz766KN2VjtKKWlwm7dv314gpJBBZyidEJPKlStbFXHmzJl2GwKIKxby2bFjR0ugKMcZBI7Z1NSNwocLt3nz5rZ+CFQwg3xhuMid2ZuvGfFjbPOiQ5m1jQJ32WWX2fLJ8+c//9ms4XpalixZYtPTRs5l0qRJFrM1a9YIhAsijorg2uu2+fQbyjH5iIlEEeZcGBCgvHKOuKWd8ccKWWWAgIvbqw67NHxCKHHbO1cc+yCutJeyyUuIAqr0PffcY3EmLQQQ8jx//nxbN33Ja+DAgTbGlbaxigJ5vH0YTlm0GTKOSow7nkED8Z/g6wyyT8iBX5FH6XZ959LqZ+wjwG9lxKgxkly3tjx0z2Dp3qWDfDdvkaxZlxpo/FKj/HFd32wITVvjAkZdXGcIF7Z9x04bO5kQX0WGDBpg3cgQmekz51jyye90kyExGNvLzWSktes32kE4+7aZ/AcNYcU1SXgI6iSGG/xnkzbduC4HGJKK25wY0p+WrbLHUSg/HT9Z6tauJXfefpMhqU1lzOeTZK+JXzt95vx7C6QrGAmlMFzz/La+NK52SNwoEwsKyXVW1NwTIMAzZs21JI72LjAEmAlJLU29zk4ZLLds3WHJZ72kOvbTHfN+4mZn8AZpfX/0Z7bOKYagHzPihLPmTRqZia3HZfb3C2wsKa76aTNmSdvWLc8LLSAPv/V9ZsJSCfP7HzSgr1VHWzZvarfjzeCC2NvRYydIndo15a7BA6V1y+ZWsV21dr2t0uJtwhYOHDgkg/r3taR/0lfTDRbjTMxuExls+rZihfImPGCi7cdwrht3LrH66SWhTRskCS8IKWTUuerzu+2ooKic/DZQPSGezrwklDTZKaYufTQ/IZx4eiGghZWEEkbnSCjYsc2+/Lbi0azAjYRPnyWkkZSNkooR8B6pQVZQ8IhthMzgJsVNzlJJXbt2lQEDBgSIJmnY78wRE4iLI0ocQ4WEvPJHwCfkytshSUlJrgj7CVHFjewnWSxD5DVIESTXayh2tJe6gsWUQrwwyG1OxoxzyuAP0nuO5EFNdOocBAmShopIumuvvVZq145MinfEHVXVa7QRlRo8nKG2emMs3X7/J33Xo0ePLLu9KjAHKJf2oyR7DaWIviSONLu2kc8bGxtOWaQHH9pGCAT9y2DFa6ihlM3gwmtggQKrdmEhwEM4WOu4aaMGlmhANh574C77h+zOpJqZ8NLDxCpiNROrWzc1hLJJw/oyb9GPxmVYNzCpB2WyePFiMnb8FOnW+QppkJJs0qdJy+ZNLBmKiytj1LkE49LeYpVXCCUk2A3OXZ18cn+8vndPq//VqpFoSOluWblmnVxu1FhIKcrrVWbCEEa7GER+Mekr+z2SN8jv3PmLpaOZwNT9yg6y2Sizn5pYzH5GmYXgYh3atZGdGbvlnZEf2+8MYAf27yNVq1S233nbbM4FrMqcDVkJHPBtUB8kExWZ2M6Txrs2z2yjOt49eJAlmuWNMtmvTy/jih9nJ1dRREpyHenW5QpfaVm/gkGiIfXce3H7s41RPkp3lw7t7HfauW//AYsjfY+hwF7Xs5vdRkFlAFLfKLoOgxIGG4j63n37zQC+WMjrxhYUo29+Eurc8ZDRVes3WzJaUMqoI6NeZRTYIKYQ1IImoTHaZYWiWfw+o0pEcalzozx2Nsg5EpTcaKu0z9UTSRnEcqJC8sJNjJsdpRL1CpLGCeNi9Rtkw5FMjuN6Rf1C2SRmEpLjN8pyxkgY5QsyEsqc6uhN5yev3mNsO4UQgpmTuaWqiEv0L73EuqPeNhNCgJoLMe/QoUNOxQY9xqQf/ngguH5DhUUhdOYUVvc92CdtB3O/qujPSzoUSEIS/EY/Qtp5kY++8xtEnxheLJyySEf/MKAhdrhLly7nDQggok2bnlOByIMxeAnVt5kp9T2WEEAlhKAMf3+0JXZMvGlhZq27mdu0NdHET3oN0ke8JbbdKHWXGZXOa8km5orfL8StoSGiXxklD1ufaibv1a9nBqBxVlGl3s1pW6Vxg/r2uP+NiTbn7jyQzWqyet0GmwyFr0O7c5P52JliVMjcGGppLUOgk+rUstkbN0ixBIDlkCBhxGQOf2+08dKUl/vuvNUQvDhLGsebyUR7zENMOl+R6THg/BqkJIVsQhWjNDFjv8PlbQJiRKMG9eTF14Zbgg7BxqWOSnpdz+7WFc6s/TnzFlsieL9xv5cN8nvPqWKU6zhDTL80s/CdQSjB0Vm8h1Rz/yxrCHUFzz3PTaxC+U2slhnCkdN148qNtc/sSCjthJDGAhmlLb8nCfXGhNIWf8wo+y50I7QGd7xTRdkuiLXYo0pE6YSKFeKExep5sVZoOAZxZdmnMuaC98cchcqPAsYN3q9GEZ/Xq1cvu4QTaVAhuYiJGcyOMKKkEWcIkSWe0SmQTNghzjI7g2ygyuaX+uXIHgQsu1n+tM0prX369LHrjWbXXvZDuCFkkHfODZd6JEZdEC0IqX9WOITSqzyGUy6KI3m84QfB8lEvOBDDm51xnLbRHw4Tl5aQAs4ZC6cs0jEQIa4XpZf42yuuuMJuc4xrCiLKhDS/EaMaTOH2p9PvsYcArliWJVqxaq1xBS+Ur7/9zrp0HTErUiSr58Y7yON+5LxD7syKmvhGjMcc46JmmSJUQFzREDCI3ByjQLIWZ5pxZffpdZXLmuUTl7jXvPUy+Pr116xrZua0tqe3HP92R0MI/ZacVNuqvZwfpHu/OYcH7ro9MNhC4UVJ/uY/30knQ0RpKed3g1ExQxlEnpfXIJYQ7+3pO+2AgJhNym3TqoVNhlJ9U7/e8j/D3jaTpFZZhdabP9Q2Xrg4M3vfGwvLNgQ4t2uPhrpuQrXp9zq+ZdtOq/hDOJ0S6m2Ll4ySlnQFYV5llPp+LyXUS0K9MaGFkYwSE9rvT71t9xYECaWirHdTW3Xe3txs+e3GZRSupe3IsEkjXUOUTMT5vfDCC0EXrnfLEOHeJUYQYwKR1yAtxBY6RY5j7dq1C5BQvvvVRfb5jTqImWS2ttcgebjA82KOOEP6vAYB5k8BdzwGiYP4+M8RsoTrnyczYRC0iRMnyvXXX2/jVYkdBUevUTZEKjtzLnN/PhfS4I5nl9+/HyLqV0P9afhOP0J0IZReI3yCfsQ9n5SUZBVRN0vfpZs3b15gySv2hVMW6Ric8CfP4ISYYeKPUcEx3Pvg75ZtsjvPvnFNub7z7tft2EcAOlenlgnLMDO8H31gqFUGv1/4Q1gNh1AR5+k11DdIZI3qCdbNXNfEJa42sYi79+yz9aAIljC/uaVm/U5UOr5HajWqV5P1GzdnybZuQ+ZvPsvOEF8YxL330Vg7kcebdP/+g8IEJzw0/M4INyjqmw/A5CHuSbws2Tb311pmGahQtnTZShO6MDlLMvpgv7mfOlWS9ab9QgVklxhQXPnhGOfmDLzwFLVv2zrwatemlbQ1arCf8Ls8oT7zct2EKjs/j6fUrWkePpMSlIS6eiGjpCFtQZojo7FGQr0xoxDVwmR4ZXgVhMFPok5EK5aPk/jKFYx7/oSs2xT6RJav2WifwlS6dEmpXvVcbFG4AEAauZm8/PLLdskiZmjjFmb2ODPbiftk9jYv3KrsY0IP6ieE7Y033pAJEybYGEZma6MwMIkHUsmSQcyEdzGHObWJGfSQFZYVgvSx3BKztFFTIyVl/npQ7lBnOS+vQX7oRNpPW9lmcXtc80yqYR1RSDQhCiNHjrTnxo0YIkVMKC55yiB0gbZ6STSThhxBZZkkv6EA466ePHmyVQuZ8Q7RY7Y6arQ/Ntaf3/udPzVWHQiHiNLfEE1mzhPfStwr9fJYUNpLHBghB8QF0w+vvPKKbSPLMEFMvX0RTlmsMMDEK2JqGR2ifEKEWbEAQw3lGvOvBMAgiHAN4n/VLiwEiEt8/p+vmOWGttiGHzVP8IFUVQoj9IYMzBBfZia5LF6yzAxSjtunMLFeJ5N4uD4x3NX/MbPuURm5b2ANjYt+hpn0RAxpbgx3OG1nfc8161OtkrvYrNsZqdEeYjqnfjPTxj5CrraZJ0mhSLZo2sgW18i46iF/00yIAQQR25WxR2aZc+I8iG9luaaUpLphkTpI4XKjPjOpC6USZXXK15kuc2IysWZmKam5Zob7th3p9jvucFYu4AlKxOaGsurV4q1CS1+ieNJPPxkCjJrKPYiJVoQb0Fe5sbxeN7mpM1p5CKsLZ7WacNNFq12uHMgor4K27JRQ147CSEZf/9dwuffB/7IvtvPb4FzF86OS5NqJctzcSPYdOCzLDNGsWT1eqphYIq/xJKUdu0y839l40lMnT9vnzpctE9niubiFeXoNRIvHUkLGMG74LPvDrG5nN954ox3NQw5ZC5IbLrPt77zzTkskIBPMwKccCCoAQVZuuOEGW74rJ9gnLvMHHnjAkkKWeuLGhkIJIYKw5cVoJxOhIGteg1RB+JichcuYdUSZhY8rGdc7BA2DNBKSgJrHup6Q9b/97W+BmNH+/fvbyTiQV2a3Y8wUh2x9+OGHdhY+Szn5jXwopxBC0jLrFTwhw8HiM/353XfOC5UFQhfKIIOsucqSU6jNqJHso6/dElmUwaADdRgiycQmiDfLPaFuuslfocpCEQYTynZPmGLpJ7CB1DJbHyWXWfR+45xcv/mP6ffYRgD3O08IGmMWS0fZw4jdZPZ8OAbJxB2NS59lfiB1xDj2vfaqQHbIJu5+4kOdQeCY6NTQ5M+NJRq19Y6B/eyi8d+YslEiB5oQg2Fv/V/ExbGQ/ucTpsqwt9+zpJK76qWXNDe4dLJl8aSioWYJqs8nTrHkEaXylCGm4MRkKiwzPjQ8Us1i97feeL0l0dO+nS2/mQFzRaO+3nnrTVYhprzrru5m7u8iIz4YI8WMGnvq1GkzQC9jzrm/XfOUNDlZ21YtZbIhty+/+a7cdcdAuwwTfQJ5/mLiVHsPam6INvXkxvJ63eSmTs2T/wjg5fW64/015nTMnzbWv+Mhdk9Voq1sDx1i4q9DTJTO63kVMcQtk7nltSRffka1G9PSDRnNXHoIN07pkkyYMTF3J04FRtEsZl+6VEn7eE/cOk1S6tjvvuLC+soanbhoIUSQL4hAdob6B7gQqWDGccqBrERquG0hSNGMD0TxRPV77rnn7Ln528RkK39buaggeF61zv2xuglQrhyUUl5+PDgX0npj0Vwe7yfkDjxzwtyb3rsNOeQpTgwCIjEuXfoJ93eo9lEu6Z9//nkbT8xSTl4LVhb7wMt//m4/MbbPPPOMffljYt98803bH/56vHXqduwjwPPMy5i1LXPrqmUmOL8/c9vLd2PyDkvoeReER6Ub8eEYeeqR+8z96NzT5cJtDJOSmEnOUlT+e4YrA4wOm0FbVZPGzfTnXvLPV/4lD98zJPBkI5c+p0/+jJgwRJhCsMd2kpe4V9RLCD4z6SM1/ptcO11elokqZVzPue1nV477zOt148rxf6Zn7JPEhMg9h/5y9PuFhUBB9nvvfoPsPAwQ4j998rhP8h2s7JlaHqvmh94wuZY0MK8K5mZBkP5hc8M6ZCYl4cphAXuU02YNk6VenRrWLY+rZ+3GrXZGZm6qx0WP6odqFYoQQV78pMtbJ8f9xM57PKdtyo0mCaUulEZmurMKQDAL1lYuIi8JJR9/JsH+UMArGB7sC4fkcb6hMA/WbvaFGx/qz0+7UJ397UONfvrpp61C7GI52YcSTtxmsBnuwcpiX7Dzd/sJv6B+PwllMERYhFeh9bddv18YCDCZJS/kpHQBkVDQ5IlGL70+3Cyyv9K6q5lNz7PWiXXNDQmlTJYvYrmjYPcMjmNgRBovudtqXPlMwEI5jcQg7PHmaUjZkVDKYmUWHiOaGxJKfm87+Y7lZbCRWULW97xeN1lL02+KQMEh8PgjD5i1dWvZF9sFYfmmiPobT0zOCaOEGl3KBpf7Z5WSHgU1wyz9UcbEizapXzfLcin+8v6I34nVxLWOux/SXRiMMAIUUVz/0ZzYwyQq3OoQUQYmxHWiGvNkKUIHckuavZgvXLgwUKZ3vwuJYHa9miJQUAigJi764Se7sDwqJuST9Uh7m+WO/JN88rtNbl1QlFS16CFQkMpY9FqtJeUVgcLe7wVGRMPtiA1btsuefQelZZOUXLvow61L0xVuBHDbE9LAmrIol8yS9y/zVbgR0LP7oyIAKS2IcIA/Kr6/13kXdkLye+Ea6/UW5n4n1C3miCgXBM+sD2cGX6xfPNo+RUARUAQUAUUgWggUZkISLYwKYzmFud8hovkWI5qXi0FJaF7Q07yKgCKgCCgCioAioAjEPgLMuYhJIhr70GkLFQFFQBFQBBQBRUARUATygkDMKqJ5OSnNqwgoAoqAIqAIKAKKgCIQ+wioIhr7faQtVAQUAUVAEVAEFAFFoNAioK75Qtu1emKKgCKgCCgCioAioAjELgI8/EKJaOz2j7ZMEVAEFAFFQBFQBBSBQouAuuYLbdfqiSkCioAioAgoAoqAIhDbCCgRje3+0dYpAoqAIqAIKAKKgCJQqBFQ13yh7l49OUVAEVAEFAFFQBFQBGIXASWisds32jJFQBFQBBQBRUARUAQKNQJKRAt19+rJKQKKgCKgCCgCioAiELsIKBGN3b7RlikCioAioAgoAoqAIlBoEdDlmwpt1+qJKQKKgCKgCCgCioAiENsIFC1aVNcRje0u0tYpAoqAIqAIKAKKgCJQOBFQRbRw9quelSKgCCgCioAioAgoAhcEAhojekF0kzZSEVAEFAFFQBFQBBSBwoUAC9r/Py0qvWg5xZHKAAAAAElFTkSuQmCC"},1260:(A,e,o)=>{o.d(e,{A:()=>s});const s=o.p+"assets/images/devtools-ui-e0498353bf25a9c5cb7c30c19ae4b249.png"},3023:(A,e,o)=>{o.d(e,{R:()=>i,x:()=>a});var s=o(3696);const n={},t=s.createContext(n);function i(A){const e=s.useContext(t);return s.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function a(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(n):A.components||n:i(A.components),s.createElement(t.Provider,{value:e},A.children)}}}]); \ No newline at end of file diff --git a/assets/js/7dab2b4a.e48cd809.js b/assets/js/7dab2b4a.e48cd809.js deleted file mode 100644 index 81aef0103..000000000 --- a/assets/js/7dab2b4a.e48cd809.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3426],{9856:(e,A,t)=>{t.d(A,{A:()=>o});const o=t.p+"assets/images/devtools-ui-dataview-ec8bbc9fcb0e46f3af2ce0b69ba8eeef.png"},7574:(e,A,t)=>{t.d(A,{A:()=>o});const o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0gAAAAlCAYAAAB4ZcnCAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAABiZVhJZk1NACoAAAAIAAIBEgADAAAAAQABAACHaQAEAAAAAQAAACYAAAAAAAOShgAHAAAAEgAAAFCgAgAEAAAAAQAAA0igAwAEAAAAAQAAACUAAAAAQVNDSUkAAABTY3JlZW5zaG903MVXhQAAAjxpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjg0MDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zNzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo0OiJjAAAg/0lEQVR4Ae1dCXhV1bVeQuZ5nucQQggkhlkQqCAgg4CIIDgrVmtrfbb1+eyrrbW2+l5fa22LUy1VlKIyKCCziMg8hxBCCCEkhBAyTzdzgLf+fTk3Nzc3yb0hYBLW+r7cc+/Z++yz939u7tn//tdah0hMEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEDBG4BZ8uMJmvFPeCwKCgCAgCAgCgoAgIAgIAoKAIHAzItDnZhy0jFkQEAQEAUFAEBAEBAFBQBAQBAQBcwgIQTKHiuwTBAQBQUAQEAQEAUFAEBAEBIGbEgEhSDflZZdBCwKCgCAgCAgCgoAgIAgIAoKAOQRszO2UfYKAICAICAKCgCAgCAgCgoAg0LMQqK9vJF1NLTU0NvWsjl+n3trZ2pCLkyPZ29tadQZJ0mAVXFJZEBAEBAFBQBAQBAQBQUAQ6H4IgByVVlR1v451gx55ubtaRZJEQeoGF623d6G8nii/mqi6kTMm9rLBYoXBmRclAp2JPOytG1xZhY4uFBSTrrqm1+FiHRK9sza+Gy7OThTk70Oe7i69c5AyKkFAEBAEBIFugwCUIzHzCAAba1QkIUjmcZS9XYQAyNHp8i5qrBs2A8KnY+KHMcZ4WE6SQI7O5ORRVFggT57D6ZZblJjbDUcoXeosAnh6Qhmv5OE6R4cHC0nqLJBynCAgCAgCgoBFCIhbXdswWYuNEKS2sZSSLkAAytHNYhirpSoSlCOQIy8Pt5sFnptunCC92vXF9RYV6ab7CsiABQFBQBAQBHooApLFrodeuJ7SbbjV3SxmzVjhVufJ/rBivR8BXGdcbzFBQBAQBAQBQUAQ6BkIXDcFqbbxMtXxn6eTDTU0XaGD2dU0MsqZbPqIK1HP+Gp0TS97W8xRe6hYM1bUFbe69tDsPWW4ztZ8N3rPyGUkgoAgIAgIAj0JgVMZmXQq8ww1NjRSdFQEJQ6ObzFX6ajceKxNTU2UfPwEZZ3NIWfOIhcXG0NRkRHGVSj/YoGqkzhoIAUFBrQow4fa2jrad/AQXSwoIlvORhcRHkbDkhIN9S5dukQHDydTbl4eXb58mcLDQmnE0CTq0+fa9Z9OE6R9WdW0I6OK9mfpKMjDjkZGOtOCkV4GAvTnLQW0eHshnXl9MC3fX0q/+jKP3n0wnGbeyoEa18H2n62mr441B7v04UnJwCAHGtfflQLdrUvtdy3de31DPtU0XKYX7gogN4e+rZrKKqqnf+0upjBvO3pyrG+rctkhCAgCgoAgIAgIAoKAICAI3EgEsrJzaPf+AzR65HBOZmBP+w4cJhCQoVcJSUfl1ewpcenyJXJz1XvH7D0AYlNII4cPIZ2umr7ZsYscHR0pMMCfEKN78EgypZ44SU18jujI8FZDBeFZtWYdhYYE08QfjKWamhrasXsvgXiNGj5U1d+wZRvV1dXRyGFDFJE7cPgobS4rp6mTJ7Zqz9odnSJIH+0poZdWnyfbvrfQsAhnOnKuhlYfKaONqRX03kPh5GpCDCbHu9H5sgYa3a9rMjlV11+mhFdO0DN3+NLPJ+sZZ9qFWvrnrmIKYDLkYHMLldVcoopavlDcl5U/iqZBwY7WYtOp+p/sK1HnjvK1p8fG+LRq44OdxfThnmIazrgJQWoFj+z4HhHIyDxL2edyVQ/iB/Sn4KDWqzld0b2y8go6dfoM/8ANsaq5urp66tO3D9nZNi941Nc3UH09ZwIxMhdXF8ICiWaN/GNaXFJKPt5eZGvT8ievsbGRCoqKydHBgby8PKn5KO1o2QoCgoAgIAgIAr0HgVImEK4uzqzINN9LMbodO/fwfXkYDegfowaL++KXX22kOJ4PODGx6ah8246drPjU0vx7ZxPOkZqWTvfPvYc8PdxVe7hX79i1l/fNprT0U5SXd4HmzZlFa9ZvVOWmL7hvOzs70/jbRxuKqphopZ5MVwQJc4nc83n02EML1D0clfz8fGnJ0n9TQWER+fP7a7GWswULWoJy9Os1eTQ03JmWPRlpUEkw8cf+v39TSC9NC2zRUoinHf367qAW+67lA9xV4MIH1z1T++CRCBoS5kRNl6/Qdxk6evzDs/Ts8nO0/RexplWv6+eP95a0IkhQllYxkRQTBLojAm5MLAL8/fgHbB95M1m4XgSptKyC9hw4YjFBOnf+Aq8a7acMJlW33zaCpkwcZ4Bv78Ej9O3OvWRnZ2fY98yih8jDXZ/8IjMrhz5dtZa8PD3UD/a8e2ZQ/36Rqm5RcQktWbaCCZcN1bCMH8SrWg/Mm92CgBkalTeCgCAgCAgCgkAvQGDz19/QuDG38T2+ea5ezepMDZMbuNVphvkAlKTS0jK64nml3XInFiFuHzVCqUE4vrikRN13NXKEfVGsEu07yKoUK0NhoSE0cEBsC/c91DE2P18fuufuaca7qLyigjzc9Pf30rIyRdxA5DSz57kA5jJ5F/JvPEH6iNUPhBG9+1CYgRyhY4vG+tCuzCoCgTK1b09VKRe7xQvDKDHUSRGbNzbmE/YX61gq49ikX0wJoP7++kHe/34WxfL7/gH29P53xVz/Ms0d6snn8KXj52tVWzjHvw+U0ta0Svrz/FDTUypXvwkDXGnyQDf6KqWCSqubyMvZhpawyrTpRAUdy62lEE9benCUt4HIMKeiP225SBuOV1AJ92t6gjtNGOBGv113gT58LJL6+dl32Hd0BOpR+sU6FXcFpUizL46WUS2TpDCv5skcyr5Jr6JPD5TQnjPVjGkfuoPP+RsmlHashGF8OP9b94fRX7cV0CGO5RoR6cJ99lbugzj+dEGdwgn4g4Tdyhi/cW+IwbUQY//dV/nKJdKe2/zhOF+qZHVt04lK2vicfqUgt7SB/rj5Iu3O1JG9bR8aG+NCL88IIhf7PoY+oM2/bStkxbBaEU4Q387YxfIGOpBZoeIy8krrae5IP1p7uIhCvBxoUoIX9eUvmK7uEn13sowyL9ZS46UrFOHrQNOSfMjRTu9XWsYZEdYfKaapvG9zcgnp6i/R1Fu9KdS7+R8l7Xy1Ok9hZSN58rUf0c+dEsNbqpi70svpUFYl+brZ0e0DPGjf6Qqaf5u/YViXWQbemlJKJ/Oq+dx9aUK8J8UEOhnKe9ObAH9fJki+dDg5pVsNazkTnFHDklhWN5/xY9DAWJo7q+WPKAYACX/1uo00fcoESkqIp71MyvD5P597WvknH04+Tv34B3vOzKnUxErSu0uW0RHeZ62y1a3Aks4IAoKAICAICAJWIlDOaoydnS2BYBgblKbyikpFZNorDwkOUl4Y2rE4xtWl5XwLn3FfrqysZFXJ8nAbLGaeZfe/EiZq8AiBux3Mz8eHQOxA4OABAqvgtisqq6hKp1Ofr+XFagUphQlKbIADBXPckamBRJgzHbvEIfamjhUfxkav6KRXKlLk42JD7+0oogVMijbwZN3fzZbO8WT9FBOMmHx7enS0N+06rWPiUkDO9n1p2mB3WsixTq+svUCDmbHCfQ8xRkfNnZj3wdUG3jY4L4gPYqGeucOPFo7w5s/l9N9f5Klzot3/YdL2N1bAZjAxenS0jyIUcCW8UN5I9UzSLOk7ujE62oVARJayimRMkJaya+Jdg9wUKbx0Wd/hPCYLT32czYTElV6bHUxp+bVKhUOf8bmKiQKwe+7TczSb47dAMOHG99THOkp5JV6R1R//+xwz8iv0H3f6Uzm7FiL268EPsmjbz2OVkrboo2w6nFNDj9/uo67bp0wsS5g06er0nSiraaKF/8hSxOTFqQGKZP1x00XKKWmgZYsiDX14ls8znmO6npvo38qNUj8ay14LKuppyfYLNHeUP6VfqKbnl2bQzGG+tOpAIdmw2+adg70UITl4ppIJjavq156McvrmRBm99Uh/Vaec+79iXyGl5lbTgGBnquAxPLvkFP3rmYFMhvSy8cp9BRTq40BJEa6UU1xLb6zJpicnBNGEQV6qo9+kltLfN59X5yuuaqRXV2ZRCW81ggR98tVVZwkkbhL3CcTuV5+fod/Pj6Z+AdeXJH22eh0NioulY+yfm3X2nJKon3r8AR57X8rIzKIt23dSGSsx/n4+NHv6ZMJKC6y+oYE2bNlOZzgoEu5n4WHB9OC8e1QZXkAKoMbU8APTwkODaRYfi9WWjmz1uk3KRzhxUJyh6j8//owm3TGWwkKC1Lk2bN2uXOeQlGBYUgJNGD/G4LK2nVWefYeOkgOvRmFc1tjPfrxIucad5xUh/F+YM1wr0yIoT1CGBscPUMGbR46lUh1jkn3uPEVFhFHaqUyaMmGcOg6uBrEx0WofCBL6m3+xkLJzz9NgJmDFJWUKs7mzp5H/Vay/ZaXtOLsQVFRUqZWyhffNMihX5voo+wQBQUAQEAQEge8DAZAMKC4wzA1y+f6oq65Wi4Ux0VEqrsemb2tKYMNu6XBFR9xPe+WmY2pq5Po2LePwkTgB84NGLrPGQKoQp4T5DeKNMBZn9hRz5bnL4PiBtGbDJr0axY2ezjqrlLEbnqQBsT/ZJbziz2pOZ+0Uqx3rOJnCX+4PpXnD9BPVMRyblPRqGq3l/VpcDib8nyyKUioKYnmGvZZG61PK6enxvkyQvA0ECUTGnCGDHpQZxEXFBzmSNxMxEKqdLw6gaFZ4YCBXW9JSFQGbwu/hJggC8P7DEar84du8CWoWCBLM0r6j7iPcL7gcvjorSGXyS86toeN5tfSbmUH0f6zUaObIas3an8RQjL+9Ur1mJ3lw4otq1SetDraPMFHUsAliQvizz3OV2gP1DepSsIctuTnqv4zlrA699XWBUsFwvaDq/dfUQPrpRD/VJK7f2P9NNzT/5dFyOsMkbP8v4yj0qrrl4WhDzyzLUUqYVhHXQWtD29fZrRtnN3xwbAC5cIwYlCKQEh33+1xxnWpyeLQb4U+zsazuPPZOGp1gVchYBYLiNPEq4UlnlQeECXVhv54bpR2utlAItx4vNRCkXacqlHq18HZ9rM1iJktbU0oMx+zl8uPndPT+D+P4+6MnXe7c7y2sKF1vglTKqzkgQSOGJtKMKRNVBhd0DJlclq9cqxST6KhwOsDZW9Zs2EpPPrJA9ftIcqpKKf3sU48qMpWVrY8pQmFe/kVat2kb3TvzLiY1wfQVvwfxeXThXHVsey/BnF3myLHjpBEkkBXE7mhueGgHwZlPPfaA+vFd8eV6iuBsMtGRYarPcIWbf8/d5OTkQJ9/sb69U7UqM40bMq1wIv00paT+iVx4pWvU8CQaN3qkqoJVJJA/kMrv9hygyIhQ9SOPlS0YyozTb+NmUVmlX3XCe6yWLXpoPv31vQ8Zo/sIAaogmNMm3aHGtJ+xf+bxB9V5L+QXtIpvUieRF0FAEBAEBAFB4HtGAKQik8kDrIGJBrK+FRYXKxIDguTObulwsUNShr58z9RMx0oMyjoqR30QGfyBnKB+fkGB1ozaQu1BOcqsMSwAa4vAiF/etv07FXeE84wbM0rNQ+BSBzI3465JtGffQV6s1Mc9WXMe07qt6aJpDaPPcG/ChB4qRWftGBMFGNQcKEOawZ0Mbm+axQU6KnKkfUZc0V4z7ntaubZdyISG47ipml3NEKMEN7D3rxIeTP6RLAJudhlM1JDEga+Vcs/KLKxXcU3jY5ufTYPVarjp7TxdpZq3tO+ofO8QT/r9+nz67GCZInVQk+BCCHXJ2OD2h9TnII1QedAnKGgYg7HBbU6zJMYCBvLzA+4vXP/2nNHRTo65gjIEIgaDcgfFD4Z6mnk49VVxWiBiMJA3KF5wsdMM/YDhmjjY6tfmR0c3uwtq9Tq71VzlsHViZRAG177yGj0Z5ctCIDwpOTo6ySpTI19LYFJV23LlISGsGc9IP0c6U1BrIEhQlY5mV9ExbqOwooHglqepDHDbS83V0YwhzQQ7NsipBUFKy9Pxd7APvbXhnOofXuCaWMBt/WhSSJtqhqHyNb5BTMyYkcNUK5rKc/DoMc4A40d9eWUmO+c8+Xp7K0WopLSc44Y81A8cVnuQotPexY5ioiMMvThx8jQFB/qzIjJA7Rszahh9sPRTRWjs7VsrwoYD+Q1UlI2sECETDYhISmq62teXf6Dwo3ciPYOJ3AQOjCxWh4WGBNLRlFRFkE5nZVM0KzYgSzC0lXw8Tb2/1pcB/aMpgRUiuAVAEfpq09dK1odLHdKDIqEDYp6OppygHz3xIOXk5rGKVK9OO5BTjoLwBAf5s+SvYwLESizfHDSDuyF+lLHiFRTopyT7TB4LDDcSZNip4dUsrGJpRFEVyosgIAgIAoKAINCNEBjIiRbwB1u+YrXKVGccg4TMcyAchbzwiSxzMNznkBQBZKOjctTftPUbquV74pyZ05U3RVlZuVKftGQQaBvxQqZufDjWnCEFOOYcMf2iDMXhYSH09fZ6QoIGzIvQZiSn/o6OjFB1oHSBLCVw2vBrNasIEs/jlRpzMl+/ym96chCn6oZLZt3vtLpIrgAL97LnmKBmlvo8u4ch9bVmJsocXzhtaqvVML+9f4SXUkG0voJYgHzB3v+uiF7jWBwoVgkhjhTubU+bOQ4HhrgXGGJOjA2qg2aW9h31nTl2B0oNkjUs4D6tYZXmVzMCtaYM26OcAXD24kzltoh+gUQhI59GULSKWv/w2fg9+jT69XRFHibGuan4Jkzi0YZxXdNxGQ+zrvGKykioKWvqQH4BKYWyhfgkmKXXQFXu4EXLMoat4X0f4K8/8Et2t1u5v5DmjPCje/kPROWVFVnKZdC4aVdWujQDLlAeYdUck/T8RxkUHeDIhMmT/N3taNepchWThPJa/p42MHauV1U37IOaZWxQTMPZRW/hGL3CZFxmYFotdnbtB3NpL8vKK3kSf5nOcPIBzYYkDOKx6K8RYnXwg/bnxR+Qu5srjR09goYkDlJV4ZOLSb9mgRyACavk/b72ejVXKzPdOvEzDNCf1JOnOJ1mEh3n7YJ7Z6pq5dwnWBG7oYGowWxtbA0+xpDyQeo0U304rn26tm2AUZaa4UMS6PSZs3SSiRIIkqOjgyJD6zZtVaoPyFIDuxZoAZ1DkwZzn0tY0fpKuciNHjmUVbJUQ4f69tF/H0ACsaKGP/g/wyLDQ1Vc1Iec5AH/W8NuTaA7xo5SK1iGBuSNICAICAKCgCDQAxAAObp1cDzt2X+Q43bvVPcyKDFIsY0kR7COygfwoiMWaGF4ppEnH4ekDEgbDre+/exJkpQ4WJW39QKlKyPzjDoGi5Pbd+5Wi5BIGAH16Sh7sjg7Oak+4fPW7Tt4ITiKvUc47TfX37lnn8pkZ0z+2jpXR/ubZ5cd1bxaPoKfd4QYl+Ucx4KJv2ZQaya/mUGIKUIsUVuWGKJXP4aGO7V4JlIBB9I7sIJgiWlUqYFVAFPDc5YwsTc1zJvf+bZIxTC9y6nIYSAhf+DnFsGQWAGk5mtOivD0eD8V24PJ9hZO6KCZtX2HWxyeefRTzqLH3z2zromIv4KKhGQJGvGBmmSpfc4KFbDb8UIskxl9ggLEZ2kGIgjbwkRQU6EKq5pUAgmtTiLXwTkXsOuin6v+KwGFBYkq3Flt0giSVv9GbHdnVKikC/dyAgfY2cJajo1qXt3vqA/pF2o4dqqJnp8eRk6cXAG2mkmXZm5MrKA4neJ6MVfjiTIv1mjFahvE6mNWQY2KcWpRcIM+mFN1EDAJQ+IBc+bs7KRiku6+ayLHx5yi1Ws3qkQEbkyWkKazoKjIcFhxaal678z7jc2GyU1TU2usEwcP5B+7I0pVgdtaKMcewbQ+DWFSYk5JASFCyk/NNBKlfe7KrYODPSta+sUBL04tCne6CF5xgpIGH+ZydrvTsupgFWvWtMmG02/bsVspcoYd7bzBD/cdY29Tf1ClEDPm5+ttcEFs51ApEgQEAUFAEBAEvjcEYmP6sSdIs/eN1pER/Cyhzdu209LlK5TnBIjR1EnNc42OyqHkaIZ7JJIpbNm2g/718XK1kIjY31t5Qbc9K+Q5SnrGaRo+JEll1R3DmfHWbtisXN4b2DMGqtGsGVNV/3COqZMmqj6f4HhgECTECE+aML69U1hcZjVB+vlkf9rL7ly/5OQFZ9gtbXysC2eIu8Tko5CQcADZ19ozPI8ILmIvc3yOLSs7cIFbk1xObzPpWvJoBCcx6NhvEEQGhGYTxxchBue2qNYX2rQPEIgc2VXsUE41p/+uUmTsLc4KpxnKn5/krxQmJCyAK9wudq27yORDM2v7DjUIqhAy0SGeyfT5UGgXYynixAArD5fxg20daRVvkaDC9ypR0c7d1hZZ5mDL+GG89w3zVG56SMKgWQIT0kmcyQ8Z8DAWJNcAGUK8UsVVV8lpCR6K9D75UTbHKgUopWgxJ6vYxRnt9r6kd8fS2rtRW5CWs4V1yk0SbnWfc8IFjRhb0ocoPwdWk9gNkduI4yQO+zlrXnJOFXlwDJFmSZGutIkz4EUxUYIKgJgkY5sQ70UrORHECj735ARvJos2KlFDdlEtjYrp+Htq3FZXvUeCg+Wr1hBiXoLYXQ52NidXkQD8WOTzQ9ngFga1o19UBNmx6xxWhmBQgA4dTVGxQz6c8eVoSppSlKAOGRtc4aDEDL11UAtFJI7d2das30I79x5QREC7HiBfSNRwKDlFPWsIxA7ubYgBAjlCP6DSgKyAlKTzk7qtMbiy4Q+rRdhCQu/D44PyiLEj2cQtPMZzTFTg6nfn+NtV88HBgYoMYeUJlszjhaqE+jAkqrDhFN9QloDn/kPJtGCuXhVTFdp5AcnDk8FByDB2uB3iKd9igoAgIAgIAoJAd0ZgCHs8mDPMG6ZNvlMlQ7jE91knVmqMraNy47p4D9e8eXNmKjc5zAs0VzvTeg/Mn2vYFR83oEX673ie88A1sILnD5jPYKHX2PCso4cXzGM3+Sqy5/uxpe57xm209d7qOzpUno8ej6QXV52nT/aX0NtMjGCI7/nkiShOUd0c62LupHi47MdPRHJWtlz6ybJzKu4HCsof5gRbRI60Nn/BD4iFkvX4h9m08ulobXe72zc5mcGPl+WoxAsgFkiYADKi2TM/8CNnVhsQH4WEEXdzNjsfJiovrDivqnSm70ipDdfDRznBgTl7gdObn2aiiaQLmHA+wGnH705kWTJLZ656q31QzEBkoFTBhXAkK3zPcjIGxD/BQPzefiCcs/MVqOdCgdQiU91GHiNUJVgEuzYu5Wv3Mmf4m/delnJTgxr1CWewQ1bB78Omc2wQYn8eXpyq3O7gZneaM/xZashkN3eUH722+iwWFRS5mcWZ8nak6bO4oB2oU7kldfQyZ6ZDmu8pid708Xd63FDu7WpLv7wnkjPd5dLy3fosikg5P4eP+74IEpSQiZwd7h8cOwTlBsGWLvwgNTz7BwTp4JEUlVkNzwlArM04drHD5B2G5/8MYdKz+B9L+UfGQZGfhXNnqTLjl4T4OEUY3njzHUVwFj18vyrGj1tcbD8VPzSVExUY29xZ02nlmvX0xptvK1KC5Ad4XhEIUggTlVD++8s7S9QqUAwTJrgBWmprN36tiJ1Wf9e+QyreCdnmNvHqVAEnrsBzkJDdZtiQRH5qd5Kqiv+n+2ZPp2Wff6mUrwaW/h+4b7bCCRXy+bhPPv+Cf1DZ9Y7LpvCqE1znLLFcfsAdklzgeUvAOYSfJxHXv58lh0odQUAQEAQEAUGg2yKgSAbfU9uyjspNj9PmIKb72/qMuYyx4bMHe4S0Z1io7WpTveCV2da+ahacCS5oIBh+PImGa521BjcukAdL1RJz7aMNEBdrDM8FgoKC5AjGhrEgUQAIg2ZIA45nPx3/bbzKRqft74q+a21hW8npvDEOJMHojMHFEfFI7kYxNWgH+zNZRfHlyb4xzhP/dEqdBqnAjQ1pxfFlcDOJxzGuY837g80inTWHGeqW6BpZeeNV/qtxZIYCC9808fcDyRpAdtoyqEdQI748WEQbk4vpvSfjWlUt5X7UM74gUkhF3pYN14s6bRUb9u87mkajkgYaPlv7Bn1G7I+DQ+sVFfj6ws3M09PdrOoGMgD1BJlk2h6JtT3S10eAZm1tPbeN9Owtv8vVTJpAspAdrisNQZx1TBQRc2Uu4x2+z1h9QrnpD68BKw/GwuRHuaM+wmUPq1ZoFytr7dm1Xu/22pYyQUAQEAQEAUEACJSUVfKCX8tkVoKMHgE8FN7b081iOKxnNUZNI2YGbmGdNRAC40l7Z9qxlhzhHFCszNnfWZFay+5+L00L5GQUDnTgbA1noStVD2T1NHLNwrFd0XfjPlwrIQGBsDPNbMEnQOa3x1hlA5l98a5AlRhjU2olIdHGL3mcpmbODdC0jjWfMQHvFPu+ehItvbY15zSuCzLTFjnK4rimAnYLhQveWXab28bPRdJShBu3gfdeV9N8m+43/tzVZMO4bdP3IHReTIDMGaRsc/FLWl24lNlxqvjrYUiAoCVBMG0f8VHXw7A65UJtZ1jEdYHSY846wsrcMdo+xGFpwavaPtkKAoKAICAICALfFwIu7Ppdys/mE2uNALCxxswzBWta6EV1X58TopSTf/LzkBCvE8Zug/OHe9HLZrLP9ZRhg8R+9lQ0/YZjvn677oJ66Ctio37HD6F9gh8ce70Nz2xl8aVbGkgjHk4LkoQMdrf1d6f5o81krLOw91efT2tRbUUcWQWyVrWwqHGp1K0QgEB/I8lztxq8dEYQEAQEAUHghiFgb29LXuzBoWMvEVGS9LBDOQI5AjbWmLpvd9bFzpoT9bS6PHdW8Ts9rd8d9fdGj6u8np9s3JzArKPu9ejyGM6E6WFv2RBOZGRToJ8XebFrl1jvRqCUXSHzC0spvn9E7x6ojE4QEAQEAUFAEOglCLQMEuglg+qKYZiEJ3VFk92ijRs9LhAGEAd4qPXGVXSMCWOzhhzhixDk70NZ5/IJk+dOhgB2i++TdKJtBHBdcX1xnXG9xQQBQUAQEAQEAUGgZyAgClLPuE7Sy16IQFmFji4UFBMyvl1LnFYvhKZXDEmRZ467AjnydO/4UQS9YtAyCEFAEBAEBAFBoBcgIASpF1xEGYIgIAgIAoKAICAICAKCgCAgCHQNAuJi1zU4SiuCgCAgCAgCgoAgIAgIAoKAINALEBCC1AsuogxBEBAEBAFBQBAQBAQBQUAQEAS6BgEhSF2Do7QiCAgCgoAgIAgIAoKAICAICAK9AAEhSL3gIsoQBAFBQBAQBAQBQUAQEAQEAUGgaxAQgtQ1OEorgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCPQeBP4fJi15btHOY+wAAAAASUVORK5CYII="},6197:(e,A,t)=>{t.d(A,{A:()=>o});const o=t.p+"assets/images/devtools-ui-popup-b2497d8dd7165e0eac00044115787f0d.png"},4:(e,A,t)=>{t.d(A,{A:()=>o});const o=t.p+"assets/images/devtools-ui-search-action-btns-40f4e3c4b13584852ec41a7bc93a25df.png"},4911:(e,A,t)=>{t.d(A,{A:()=>o});const o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqIAAAA0CAYAAABRoVqEAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAqKgAwAEAAAAAQAAADQAAAAAQVNDSUkAAABTY3JlZW5zaG90QiKfFgAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+Njc0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cix76eIAAB8tSURBVHgB7V0HeFRV2v5m0ntCAiQQICEECF0RLKAIqFjAXWMDlfIodlfdXX/X1X1W99m+NnQti1hWsaAiHaWogBSpAlIlhBJ6BNL7JPm/9yRncmeYmcyEmWHIfp/PcO/ce+4557433nnv+5VrqmcjMUFAEBAEBAFBQBAIaASO5Z+mlHZtAnqOMjnvI9Dar7vZ+5BJj4KAICAICAKCgCAgCAgCgkDzCAgRbR4jaSEICAKCgCAgCAgCgoAg4GUE4JQXIuplUKU7QUAQEAQEAUFAEBAEBAH3EBAi6h5O0koQEAQEAUFAEBAEBAFBwIsImEwmUUS9iKd0JQgIAoKAICAICAKCgCDgJgLimncTKGkmCAgCgoAgIAgIAoKAIOBdBEQR9S6e0psgIAgIAoKAICAICAKCgAcISIyoB2BJU0FAEBAEBAFBQBAQBAQB7yBQV1cnMaLegVJ6EQQEAUFAEBAEBAFBQBDwBAFxzXuClrQVBAQBQUAQEAQEAUFAEPAaAkJEvQaldCQICAKCgCAgCAgCgoAg4CkCEiPqKWLSXhAQBAQBQUAQEAQEAUHAKwgIEfUKjNKJICAICAKCgCAgCAgCgoCnCAgR9RQxaS8ICAKCgCAgCAgCgoAg4BUE/EpELZZaquGPmCAgCAgCgoAgIAgIAoLA/zYCKN8U7GsIikvKKP90IRUWlxKIKMxsNlNcTBS1bRNHbeJjfT0F6V8QEAQEAUFAEBAEBAFBIMAQAB/0KRHdl3eM8k8VWE87PCyUkKpfVVVNBUUl6pMQF0PpnVIoNMSnU7HOgerriSfR9L25NU/bN9ff/+J+wfB/8arLOQsCgoAgIAicZwgsW7GS/jv9EzXrSePH0fBhl/v0DHxa0H53bp4ioaGhIYpoDu7fkwb06kb9szJo8IAsykxLpajIcEVGd+09SNXVNWd9sjXLl1PJfffZ9FP58cdU9uyzalv53/9ORdnZVF9ZadPG6ReLhYrHjaOyZ55x2kTvKB47liw//KC/+mVp2bqVqmbMoPIXX6SqWbOodv9+v4zr7iAlDz5I1UuWuI2hu/1KO0FAEBAEBAFBQBDwPgIvvvIG5R06rD5Y94f5JEZ0/6FjyhUP93u/nl2pfVKCcscbTygxIZb69ujK7vl4qqisoty8o8bdLVqvXrGCgjp3th5bl59PlW+9RWG33dawLSSETKGh7iuiUE7RHp9GA7Gt+uwz/dW6rDt2zH2Caz2q+RVH49VXVSlyDdJd8fbbigBXvPIKFd9xB1VOn27Tafk//kE1a9fabHPni6Nx3TlOt6k7ckTNK7hPnzMw1G1kKQi0NgTWbdxMRcUlfjmtH7Zup8NHjvl8rJKSUjpdUHhW4/y0dx/9fPLUWfWhD65jD0s+91VaVq43OVwWFBbRqrUbCO3FBIGWIPCPF6YQPs2Zu+2a6+dc7y8rKyN8tNl/19u9uYSX3Ov+8JLScjpxsoDCmLx1T+9EQUGuuW5Glw5UXVNDRYglPVVI7RLjW3aOfLOp+f57inzySevxIKHmjh0puHdvtS3yiSes+9xaCQqi2A8+sGlas3KlIrNWcmuz1/tfHI1X9eGHVL14MUX+4Q8UNmZMw6CMYfmUKVTx2msUlJlJIZdcorZXzZ5N5pQU63d3Z+hoXHePRTtci6CuXcncocMZGHrSj7QVBM4nBBYs/pYS27ShuNgYn0978bffUc/MDErtmOKTsUDk3v/kCzp56rTqPzYmmiaOu4Xat0tS30GEZ81fdMbYl186mEaNvMJm+9wvl9LEsTerbTm5B+jzOQspKTGB7pt0h7XdC/9+iwqLiq3f9cqzTz1OIcENP1WbtmyjBYu+IUttLUdZ1VNy+7Y04fZsinWA9569+2nR1yuob6+e6nrk5O5Xy3ZtG+av+5elIOAKgcVLv1W7n3ricYfNQELRZtTVIxzuP582RkVF0U033kCz5y1U08Y6tvnavE5EQSZhqSlJzZJQfXKpKe2YiO7np9yCFhPR2t27qb64mEIGD27olm9U1cuXU/hdd+lhqO74cdUmqHt3Zko1ZNmzh4K6dCFTZCTV/vQT1Z04QdgH8qStNjeXTOHhZOIfl9p9+6geTwvV1WTZsYNMfIGC0tJ00zOXPAaOr/v5ZwoeMIBMMQ5+nDhjzLJzJxGHCwT169eg2HJP9RUVTserWb2agrOymkgoRma1N/Lxx9UxOJegbt3U+WAXlGHM19y2LZnbtcMmZbV5eVTH7nxFGFNTlVLsalx9HNogLMCckKBIL8vdepd1WbNmDYVcdlnDOI0Y4qHAao3nXV9YSMF9+5IpLo5qc3LU0jhHa3tZEQQEARsEHrpnPEVGhNts89YXaIj//XgmtUmIo0l33KJI3xfzvuJtn9OTjz2gYv1L+V7YiUkwiKfREplgGi3/55PqeBDYjZt/pHlMSiOjIo1N1HppaRldf81wio+1TWANYkEAdvTYCZqzYDGNvHIoXXbxQEL7T76YRzNmzbchtKox/zN4YH/q1rWL9aHgmxVrKKtHNxIiqhFyvSyraAhhi/LR35iz0Y+fyFe7kts3/VY5autuO0fHurtNk09nZNRIQnVbd/sO1HaPPnw/XTvqKjW97t0yfD5NnyiiSEIK5hsHXO7uWkxUBEVHRlBpeQVVcaxoGMeVemogPsEgctHR6tCaTZuovoTn0r+/tSu4rWu++47i5s+nutOnqeTuuynqueeo4p13CK5kYnIEUhXx0EMUPn68Oq6MVcegHj0o7KabbOJPcSzGi5k2zdq/cQVksPR3v1NkEIQVBDbkooso+qWXFGlE2+qvvlLxnfWlpYoEmvipP/zeeyl8wgSqZZJsjHc1jmdKTCTL5s2KrJoiIpqGZTIa8+ab6nvlu+9SxdSpar1q5kzCJ3zSJIpA3OaiRVTB7UDM+WmBiEl7MOb2r39R7d69TsdFZ+UvvEBVc+YwU+afKo6hNfGPRjTH3uJ4bfUg6ox/+J13qk0aQ2ANq1m/XsXd4sEBeJvCwiiS43ArXn+dQq+5RuGvGso/goAg4BQBX6quII+nThfQ5AljKSa6QREZfe1Ieu2t9+lE/kmlRJYwEYQi2atnptM5YkfOvgOU2TWN9vISJPQ6JptF/DuRd5jvuY1WyeFZUDmhXurx9D69zD2QRwkJ8XTl0AZvTxtev2b4FTR9xhf8u1GtvHC6LZb4gUtsY0uKjftl3TkCIKG7cg6qBlmZXcifZBTkLnfffnr5X3+lbhldHU5yb+4++vWTz1BG13Sa8vzfHLbx1kZNMO3JaGskoRqztM6d9Kpfll5VREEicTNBbKinFs1kFEQUN6SWEtGQK5rcQVBIkR0f1LOny6nAnQ0lMWT4cKVeVvz734qkhY4Yodz6+mCQzgQmuyUPP6xUy+iXX1b96/32y7I//5nM7dtTLJNfKKG1u3ZRySOPUOUnnyiiCaJW9pe/UDjHr4IgEpPQqk8/pYo33lCKbOjIkU7HC73+ekWoi1ntDb/1VgodNYpMrE4aDX2GT5xIBaxKgnwqYs141J08SWV/+hOFDhtGEUzAMTcLn1fp739Ple+/r9o6O8/K994juPqjmJyH8Pzqi4qo/PnnqfSppyiW95k7NfzxqqQtJpjGhwA9t7rDh6ns6adVLG8kE3UzK8poX/7Xv6r+dDtZCgKBisDW7bto1fcbCK7rzp06KuUNLnJtNZYa5Xreu/8gtWc38MUXDaDePdkL02jrN22lrdt30gkmex1TktXx2L9j9x76fv0Pivzptv959yPqnZVpVR0PcUzobHaHP3zvBPp09gLqlp6mjp/+6Wzq3yeL9h88RLv27OWyeHF0Yf8+dNEF/XRXtGMX97/hBzp2PJ86dkgmEMuPPptNd9zyS6u7XTeGCjnm2qtsSGECey1gmoCWchgW3OvNGVziAwf05WdOM01kdTUjvYtymRuPK+EHdY7I5wRWw4O1sQGvI8wLIV9GQzIs+jWpo417iA7kHaa5C5fQA/fcRa9P+4CKOXb3VEEBwb0/NnsMdUhpT/uY3K5eu5FJ8VFWShMVXhf0awjlWr5qLf8eVVIMhyTgutTyb9uIK4ZQ927pNPfLJar/NvHxdO1VVyrlFaMD2y+XLlPLtklt+Np1p6GXDLKdWIB/0yS0nhpia0FI/UlGH3lgMj3+f08roumIjGoSitAMtPWH2ZNRjKnd8XqfP+bhjzFmfD6Lpr79XzXU/ZMn0dhbs306LK7jmT7VsxiytpYVRTYoop6aPsYCVdJDAyGCeztkyBDrkfWseEIdtVEMrXubVkD4Qq+7TrnfEUsazlnyUAgtILJGYxKn1EMs9TrfAB0aHw/CFdyrl9UdH8Su9DhWEsN+8Qt1SCVnuwez0hrx2GPKHQ3VNBwq6wUXUPXcuU1jOBgv9MorKeLRR5XKWs6EuJDnX8wqaiXHs0IFVoa56etgmK+Zb5zxrMRGMfEzJyUpNRIkPPjCC8myZYvzcfmPpfKjjyicE6IUXvyDAFd/FBNuhCpUf/21FQqlTiNEojGuy7qDV6qXLqX68nKK+uc/ldIMNTTk0ksJ8btQUsUEgUBGAIQFRHD4FZfSI/dNVDGaiHcs5oQebYu/+U6RLcQugoh+OmsBlXM4C2z9pi301dfLCWTn7jtvU+0+m72Q9nAyD0gpyJPuC0T1yLHjtG3nT7prymVyG8MP+iCKaFfRWAGkiL0LSzhmFArg+NtvYmKURnOYhKEPGAgqiGuXTql09/jbaEDfXjRj5jxWPQtZPLBY+9crSdwPCLTRdv6UQ2Fcgi+1Y7LaDNc85jF/0deK6IEMg+warYa9JgcPHVXn2TWts1oa9+t1uNkj2LsD0vreR5+r/hZyvG05ixPa+mT1UOe7YvVaFUsKV/0ixnLQhf05nzREN7Muazg06jQ/LISyp2jcLTcqbPr36aXWk5gkHj1+gon4HPUwMXniWEXcodjiPGFlfJ/CQ0dhYTGNu/lGxqw3zftqKU3/dBb1652l4mXj42I5PGCuCj2w8Lm+PX0GpXfppP42Rg4bQt+tWU+79+Ra5xToK0YS2iszjfABIQUZ1a56X58DVFConCAoUD1BPLUZSSjaOFNMdXtvLkE4EQcKAtpaSWg1/wZrEgrssI5tvjavKqI6McnSSEg9mTyUVFiQM3LnojNkhZvZXY24SG1wvSPusDkDQTSaVvEQu9hi45tz6NVXE8gm3N9QD0MGDrRRLaGQIqkI7nmjIR4V8ZwujYkl3N7hXDIKIQiWDRsa3O3s2oaqGs1Lp7GrTA5NTEYRhoA4T5Xtz6EBisA2XgNHYyN0Qbc5Y84IFeBQBG0gosbYXL0dS7RDXC5IrNGCQVxBmMUEgQBGAJnf4Rwz1z0jnZ+zgpUaCde00YsDJRIfGFS3rTt2MUHLYcLUj6CyXTP8cqtSif3F/PC4khXWe8bfTm2TEhVphLoJUgZFc9uO3ZzJyg9vHFcJQpnJYzuytM6prL41hMiA1G5nUghiCDK8dsNmFR959fCh6lDsh+sacZ/uGM574RJOyBjBnhS+R8GgjEIZHnrpII7bHEIHDh5m0j2fsm+8ThFdtDnA88X4kcYQIuywM/QFUr163SaFKcr5reF1EPN7J45TRBPJUtljrmVX/CxaumyV6iEjvTONGHaZXW+2X3GeKRxvGILQJQ4zwDoM/UOxHDbkYvUd80R1AGDVq0dDuAEU2BtGjVD7ca02b9vBKnQX6/mF8nlDbUUYg9kcpGpk41gQVHx+89BkReRUBwH+jz0J1e54kNGdOQcUGfWXMqrJqFEZBXwgpiCo/iahAX7pzuvpeT1GFDdjEMnyxiBnT9DRT1sR/MTtqSFDWyfGWI/lmw5iGJszVc7J2AjHecEi2V0NlRFktJpd2VAHw9ilHj55MkGVhIscZLCSE6TsDUolYkqhkro0JrxIzsIn4v77VewmXOUIL4jm2qIOrTG7vvqbb4hYpTEn8w8Su+frT51qIKgOD2KRGDG0bCiRZbIrBwXVGX9MMCjBdYcOnXk91F4OLcUDAoiwnak+WB0VEwQCGQG40L9bs46Q4d2nVw8mpF0pk121xkeoFI6b1Ib/Lzokt1dEBaofVEwQRqOlczzW5q071A9sZkaaDRGFWxckNGffAerbu6dyISOhx5G1b9c0LvZ3ZOKkyy5B/Rty8UCbwzJYoXTHMGdkz0PFRQKQNpDkVHbx6/NBeAJIAkomQXGF5eRyfCifU3OWyDkFVzNBH8JEWosRPTK70vOvTFUqMJKM4FKHSnrDqJHKFQ6VeeWaDYoIPsju9yhOOvXEjhw9TtFMTOdzFr42EEpgpS0psY1eVfe4KL7XxRmSqXRiFZTflPYNrvip732kSD9UaVwznfFv7SgAV5yRUEwVhDQQyCjmci5JqDEmFHOxjxnFtvPdQvnBC+54rYpiHdt8bV5VRDHZ+LhojsMpVh/UCnXHQFxR9gkZoHD9eGRM5qCIRnG8odHMnOUOl/05M6ii7DLHB0k5cEkj/hPuZyTtIIMcyUuRHJvpiamsds5CD+J4TBvFF0T3lluoat48l4XtK7kGKhKXVOknji3lvzI1fBkTZ2TROzNk1sNAeJFQ5MxU2aaMDJvsfGNbpQKDBNuZUlwb3Yx2u+SrIBAwCISHh9FjD95Du3bnEGpjzpz7pSIzk1nNjGyMbzSZzDbz1Q9pVq+PXUk7uLdr+T6GH1korShPhJJ2R9j1DDdvUXGpUkeRnBPB90god47MbDbSYTgYTKpPtEUcZV2dbT1NjNmcgezBVQ6yef01I2yaa/XVuDE9rROtWb9JxVPivKDq3sQqZnMGhRYfo4FYIsMd4QkgolCTL79sMKvEfVUzKI63ZY+mf055k7Zs28lEuylh0tiPs3Vcj2hWmY1xrlgHAW5p7VG48BG+sZ3DKVasXkcI00BYgCbrzuZyrrcfPMwVZfg/EE6thBrnZCSjaIt2/jCjMorxzpUSaiShxpjQ1khGEROa/YvR6vL6g4RiINs7phr67P7R2fJHTvzsdkd5RxvKNbSkhqiFXdwqO55VQaPBVQ/SVs/B6d40Eyumdc30iTHxRiGlevLgyCwPu/lmCuEEIcvGjWo6KL8EAo14SaMho7x62TLrJkfjlXLSUzkXsD/D+Km8npVWxKZajedrDDOoY7IJ93/Ytfzj0EhCQY5rEB9qMPtxVeknJvfV335raMWr/GOGmqaWH39U241lm2wbNnxDqSbgozLvDQ1QmF9MEAh0BEDlQPDg0oWb+IlH76NKfsEEYgmbMxAnkKvDrMQZ7fDRY6ymcWk1JosgLEWsQP7I/XVO5RrI/IDZgxVXJD4hsQbZ5y0xqLJQVY2GuFRXBvc4lNBkLrsEd7uR5uK1fO9++Jmak7GPgoIiSuBEKZBQ1ARFEpI7dU43/7iDPuMYVqMB6wIWE7QqCXJuL1RgTogBdffNfJi3NmASxl6YSwddaP1cfNEFNIiVXnOjh0e3dXeJOXdO7aDKUD3+0D3qeq5e13DPd7ePc9Euo0tHfvlMhkMSqucDMoo2aOtP02Q00EioMWYURLU12YG8QxwWc8gvp4QHcK8T0fjYaEpqE8fu+Sras7/5E9m2e596C1NERBglt21yg7iLgIXd8qpsk50bG25xGIiqNw2xjKh3iVhMlDpyaOy+KedSSGVcXB8EDXGiUERROipk6FB1SDi/FQlEufQ3v6GaVavIsm0bVUybRqWchATXtjb78eDCDh09mqoXLlRvVwJxrT14kFCAvoTVyjqObUVWvbaQQYMIbniMj3kAF7ziFK8FRSwqjitFJQD+wTOa/bjYF8EJRXiNKl6VivjSmnXrqOyPf1Qf/hUlvPEJ1QDOCJMwdIwMfySIoQwUsu0r+KUDKFOlXPZ8bmKCQCAjsHzl9/Ty69OsLu9Tp/ihs6qa4uPd8/4gTnTRNyvY3ZynKoQghnPV2o0q4QbnDeKZ3iWVvl6xWhFQbEPWdiwnXq7ltzZBMW2JXcFKIuItUYB+d06uUus2cE1PZwa18EPOqK+11KqM/fz8k3ScxQV8EGIA0oy4zy+XLFNhByBgeMsTVMu+HLIAQ7mmjDSOB3eD1IEUIikL2ekYu4oxXbi4wXOCmExYb47FBVYg7jC4w5fx9UD1gqzu3dQ2V/8kt09SCi0IMhRPZPJvYQIMNRWJTYiDncpVClB8vyUGfJ/720t83gfV4QipwFi62kBL+vTXMQirM8Y5OxvX3XbOjm/pdpBRfPxtzpRQPY/WSEZffX0q3f/wr9UH6742PNjbsg8vjZjeKYVVgmrOWCyhH5lodkxOokS7GzXepHT0BJcSaownram2cJZipXr/vCfTUAocZ33bmypMz28UggLpihjZH9fcdxCp2u3bFYEKYhd0DBMpe4PiGMMJQ2VM2EAOoRoiDjP0hhsoktVMGF5FGs1kDPU8UToJmecowYQs+vDbb7d26Wi8yN/+ViX7oNwSaoJqM3NR+hh+s5Im4diOsk1QG1GyCQlOEQ88oFz3eEc9SjGB2IaDwHJsJ2qTanM0LggkYlfxitMqZPazIfEomtVZvMoT1wKxsHgwcGr8RxfJ5DWYj4cirB4kLrlElbQqYoItJggEMgIopI64y1f/855SRkEc4S7u6QYRwnmhGDvKAM2cu1Al+6BgPJKXdHIT2iAZCW8F6t6t6YcX6ys5NhWlj1piKcntaMLYbFVQfgm7i6FSjmU38pQ33nHYHdRSKLCwN96ZbtNm2JBLOJ5zKLvcR9HMOV/SlDffVZVSQEYHDuhDV/H5wBriQ90jzih2f+etv1REGUS9nu+Z8aysorIA4jhhN3BoAPNHevv9GRQUHMTk0aISuCbwG5tQz7Q5G3RBf1rA5PbF16apElkow3Tj9VcTHi6+4BALqLiI+8U4LTGo2VcxLjO4yD6uMQzKObLnxc5fBJApb3TH25+Jq332bQP9O17pqd+qhLli/Z5JHH9tJ/R5+zxMLIvi/uF1w1PtvrxjTEaLVd/BfOOIYDcIHo4rq2pUDBR2oJh9BMdd4Y1MKMGRldFZfXd3QgVc+ieWX3kJUmhvlUzAQJjiQJr4Cd6rBhcPbjaNyU2F7HaPYuJpT3qhEiJG1D5L3DgXtOE6JTZZ9cb9at1uPLWNLx1iK+s40QgxnCC7To2JLkiiFQfuD29cQmKU2u7sQEfjclsVf8vnjrdSaYPKirdIRfP77T21uqNHqYjDF1DTNcxAxD3tR9oLAv5AAIoaSgshxrClVsEP4Yj59Ich1hPl9YzF4qHgvf3BDPodvykJqmtLDcXkQc7bccY/yBwMLvC/vfQ6/eq+SdY3G7nTP36MkDAUyvcqR6/tRB+IbYV6CUUWmfSeGn6bdLlAfSyuJaohuKPe6mNcLUtZDUXMsLf602Mdyz9NKe089xzq42V5fiLgz+s+Onuc9X3zIKALZn3ic9C8zM6a5ov/0bunp1Imf+L4ZmFhF08J/89ZzElJiPVBAXsop727p1PXzh2UWx5xPj/tO6TektHUk+s1EDxHJBRHhd11lyJexphL1715sBfEtpGEujoKdTJdkVAcizb2BenP6NPReMzqoYKi5JRLEorOEA9qJOO8jox5lyQUxzkalzcjUcpIQtG0ufhQtEG9VxTZV299anwGAqlFWAKU42BWR8UEgUBHAATjbEgozs9fJBRjIRTghVenEmIx4cpG0Xu8hx3xjGdDQtE3ShyhJJImodiGwvsxHE7g6dufWKfg0K4EpyQUfSOrPpkrBLSEhOJ4exKKbd4mjfjb8DYJxTzFBAFfI/Dbxx7i2rqp6oN1f5jPFFH7yUNBqGIllLU0FVyua44a20FBzeeYq0iOF83q1sWtshdVs2ZRWHa2sRubdcQxIp4xguMQfWmImwzjtyQ5I8W+HDsQ+obLvpxfX4q3OCmV1cWkKl59lSo//li9cABkuJarAPCvGOFNS2Fjxrg4UnYJAoJASxCA0rh+4xaukfmDUi9BPpGRP3rUyDMSgFrSv/0xui4oVFIx7yHgT2XMe7OWns4WgdZ+3f1GRN29EHsPHqGTp4uof1aGRy56d/uXdoGBAMgnkqXq2ZWP13zirVZKoQ2M6cksBIFWiwBIKZRHsfMPgdZOSM6/K+KfGbfm647o0IAjoriseGe9Oxl8/vkTkFEEAUFAEBAEBIFzj0BrJiTnHt3AnUFrvu4+Kd/kjUspJNQbKEofgoAgIAgIAoKAICAIBC4CKN/ks2SlwD1tmZkgIAgIAoKAICAICAKCwLlGIGAV0XMNjIwvCAgCgoAgIAgIAoKAIOBbBEQR9S2+0rsgIAgIAoKAICAICAKCgAsExDXvAhzZJQgIAoKAICAICAKCgCDgGwTw8gshor7BVnoVBAQBQUAQEAQEAUFAEHCBgLjmXYAjuwQBQUAQEAQEAUFAEBAEfIeAEFHfYSs9CwKCgCAgCAgCgoAgIAg0g4C45psBSHYLAoKAICAICAKCgCAgCPgGASGivsFVehUEBAFBQBAQBAQBQUAQaAYBIaLNACS7BQFBQBAQBAQBQUAQEAR8g4AQUd/gKr0KAoKAICAICAKCgCAgCLhAQMo3uQBHdgkCgoAgIAgIAoKAICAI+A4Bs9ksdUR9B6/0LAgIAoKAICAICAKCgCDgDAFRRJ0hI9sFAUFAEBAEBAFBQBAQBHyOgMSI+hxiGUAQEAQEAUFAEBAEBAFBwB4BFLT/fxKrQKf/YPdmAAAAAElFTkSuQmCC"},2823:(e,A,t)=>{t.d(A,{A:()=>o});const o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqIAAAA0CAYAAABRoVqEAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAqKgAwAEAAAAAQAAADQAAAAAQVNDSUkAAABTY3JlZW5zaG90QiKfFgAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+Njc0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cix76eIAACFhSURBVHgB7Z13lFRVtsY3QWKTm4YmdtPkIIIgIkmCggqMAiqYYMQcRp+OYXTW0j/mzfI9E4bRQXmKIoqoJAFRcABBooKSUxOa0NDkKFHf+Z3mFLcv1V1V3dVt0e69VlXduvek+51bt77z7X3OLfKbMVFTBBQBRUARUAQUgZhGID1jnyQmVI7pNmrjoo9AYe/3otGHTEtUBBQBRUARUAQUAUVAEVAEQiOgRDQ0RppCEVAEFAFFQBFQBBQBRSDKCOCUVyIaZVC1OEVAEVAEFAFFQBFQBBSB8BBQIhoeTppKEVAEFAFFQBFQBBQBRSCKCBQpUkQV0SjiqUUpAoqAIqAIKAKKgCKgCISJgLrmwwRKkykCioAioAgoAoqAIqAIRBcBVUSji6eWpggoAoqAIqAIKAKKgCIQAQIaIxoBWJpUEVAEFAFFQBFQBBQBRSA6CPz6668aIxodKLUURUARUAQUAUVAEVAEFIFIEFDXfCRoaVpFQBFQBBQBRUARUAQUgaghoEQ0alBqQYqAIqAIKAKKgCKgCCgCkSKgMaKRIqbpFQFFQBFQBBQBRUARUASigoAS0ajAqIUoAoqAIqAIKAKKgCKgCESKgBLRSBHT9IqAIqAIKAKKgCKgCCgCUUGgQIno6dNn5JR5qSkCioAioAgoAoqAIqAI/LERYPmm4vkNwaHDRyVj3wE5cOiIQESxokWLSoVyZaVq5QpSuWL5/G6Clq8IKAKKgCKgCCgCioAiEGMIwAfzlYhuTEuXjL37A6ddqmQJYar+iRMnZf/Bw/ZVqUI5Sa6dKCUuytemBNqgG4qAIqAIKAKKgCKgCCgC5yMwc/YcGTnqE3tgyO2DpGuXTucniuIeFNEi5oHzv0WxzEBRa1LTrApaosRFUrNavFU/Yb7O9u4/JDsy9sjRY8eldKmS0iSljpA2t3b48GFZt26dbNu2TYoVKyZ16tSRxo0bmzJL5LbIqOebMWOGLFq0SJ555plclb1x40b59NNP5bHHHpOSJUvmqowLIdOwYcOkc+fO0rp16wuhuYE2/vzzz0IfN2vWTPbt2ye33HJL4JhuKAKKgCKQVwTSM/ZJYkLlvBaj+S8wBAqy33v3GyRHjx61CJUtW1Ymj8skpfkFWb49WWnT1nRLQnG/X9y4nlSLr2Td8d4TqVKpvLRoVM8Q1Iryy/ETkpq2w3s4om0I6D/+8Q8ZOXKkQAYWLlwow4cPl5deekn27NkTUVn5mZjOhaDkxhgvjB07Vtq0aRMgoStWrLD7clNeqDyffPKJrF69OlSyqB+nv9avXy/JyclRLzu/C+Taq1atmnTq1El+/PFHex75XaeWX/AIrF67QbZuTy+QijenbZNlK9cUSF25reTYL7/Irt175IxRNrKztRs2yu49e7M7HNH+X829MMOUdeTosRzz7T9wUOYuWCykV1MEcoNA6pYdwiuUhZsuVDm/93E4iiOhtMX/PT/ah5c86v7ww0eOya49+6WkUSIbJtc26uQ5FTTYSaTUrSEnT52Sg8SS7j0gCVUqBkuW7b5TJu/bb78tNWvWlLvvvlsqVKhg027ZssWSUcjpX//612zzXygHFi9eLNu3b5eHHnoo0GTO8fvvv5ebbropsC9aG3PnzpUqVapIkyZNolVkWOWsXLlSEhMTpVKlSmGlj5VEDBRWrVolN998szCKvOSSS2TcuHHy1FNPxUoTtR1RQmD+4iVSu2YN80qMUonZF7Ng8VLZsXOXXNyscfaJ8nhkzvxFMn3mXOnUvq1c1TXTDbfk5xUy7stp55Xcqf1l0rN7Z7sfAvrRp+MlbdsOG3JVzHi8enTtKB0vb3tevolTp8vggf3t/vWpm+WzCVMkvkoluWfIOa/BS2+8IwcOHjov73NPPyoXFc/8q/rxp+Uyedq3cvrMGeE3V71aVbnj5n5Svny58/Kt27BJps2YLS2aNpYK5vj61E32M6Fq/HlpdYcikB0Cu80cFwyuEswgoaRBVLvQjf+uG/peJ+MnTbGnwjb78tuiTkQhk1itxPiQJNSdXK3EBENEN5lR7v6IiShq6MmTJ+Waa64JkFDKrVu3rvTt21fmzJkjR44ckbi4OFed4MbftGmTJa+QrWDm0kCIIEbFz94IT58+bd3/KF8XXXSRLYcbYsOGDW0xbG/dulUOHTpk21Cu3Pk3SBKeOHEikBf1r1SpUsGaEdiHwkYd7jwgoQcOZGK9efNmm45zZnSBgUlqaqpNX6tWrcD+Xbt2yRlzE69RI+uPau/evbZNXHT792fG9VI+ZVesWNG+bMFB3sAXPOPj4y1W3iSUS1vAEDWY8ho1apTtxQ2Zw7WNQbzLlClj696xY4fs3LlTLr300kDxnMvu3buteprdjyUjI0PICwa0z9ueQEFmI1hZv5g/WtrM4MbhTh4GP5Tr3U+fM3okHAQjrGDBggVWkadeNUUgNwjc0KennDQx9flhuMQgiD+vWH1eWNQRcy1DtCGeXqtiyKMziOrRY8fkL/cOMQPHirLkpxWGJM6Q6glVpX69JJdMMoxayn2xWkK8/LB0mUwydZYpWyZw3G0cOXJUrr26q1Qsn3UCK6FW2I70XTJh8tfS/cqOckW7S819/ah88sUkGTPuyyyE1pV32aUtTTvqWvLJvm9nz5MmjeqLElGHUM6fR385bhOULZ3zf1POpUR+dOeuDJuperWEHDOHmy7HQkIcdOQzOzLqJaEubYgiY/7wXx68V3r17GHb2bB+Sr63N18UUSYhFTc3jkhGB+XKlpa4MqXlyLFf5MTJU0ZNDT9W1CmgEAFHYBxyl19+ufBydvz4cfn3v/8tGzZssKECEDII0sMPPxwgsZCfUaNGWbIJQNysIaMPPvigTQtBffHFF2XQoEEyZcoUSzipF5KIaon7/Ji5OZOXmy/1k9YRWdqCy5t2UD9pOIf77rvPxrW6tno/Ia1r166Vq6++OrCbsAPahtEe7PXXX7fxsbQBpZSyqQOSNnToUEsAIe5jxoyRe++9Vy6++GKbD7JFaAMuZYjfl19+affPnj1bePXs2dOServT8+bFk93UB/FGmU5JybyAv/rqK0lPT7d1f/311zb3E088EZSIQvBoX/fu3W26d955R1q0aGH7Anc9xB8iCrFEBafd/EmBQ8uWLe05ujjkgwcPymuvvWYJpiPn3bp1s2QR0ulU8lBl0QbwI70re/z48TbW9+9//7ttJ2+ESdSrV09Kly5t97FNvbjr3fkEEuuGIhAmAniWeOWHfTv7e1m1Zr0MuWWAfDV9VpYqDhuSh9rYtHGDLPvdF9zdm7ZslT69egSIXbs2l8hPy1dK6qa0LER0/cbN0qBekmwwn5DQawzZPGj+J9K2bXfFyXETnoXKiXpZLi64ApO6Oc0S3is7Zt7TKxvye3XXzjJqzBfmf+PkeTjx+6tS+RxxDlSmGyERgISuXr/FpmvSoK4UJBl94aVhkrpxk7z6v/8t9VPqBW3rhtSN8l9PPisp9ZJl2Iv/DJomWjsdwfST0cJIQh1mSXVqu80C+YyqIgqJ5GZCbGikFmfIKESUG1IkRBSlC3Vv6tSplvBApiABjjS4dkBWRowYYRW0xx9/3KqVEKR3333XkhqIBmTx/ffft+Tt2WeftfF+KI/vvfeejB49OkBeKBO3a+/eva0LFjUTAvXRRx9Jq1at7H4IydKlSy3pg8j069fPNgVSCYF98sknJSEhQZYvXy4ff/yxnYQEQQtmtBOShuLpDJLFOU+fPl1effVVu5tznjZtmuBWv+2222xbUOkgppwndYLPsmXLbH2QZ9oOMUUZRkGG2EF4Ied8v+qqqwJqqqubT/CkTCaH3X///ZaIo05+/vnnlmSDJ6oxRhoM3Dnn7NRfN0BwJJY8KNpt27a14QfljVKC0vzWW29J1apV5ZFHHrGDBNz59NFnn31mXeOo1hB9lFpCGerXr2+vDSZ6QUKrV69O0WGVNXjwYIvvrFmzBCKL8vvdd9/JHXfckUUlRsl1xJ6y6X/ayABJ7cJDIH1nhkydPlP4rBpfWZo1aXiey3nmnPmydNkKM/AuLq0vaSHt27ayvx/OdqMhTd8v/NGSrcrGo4ASB4E6dOiwjBj1qdx1+80Bd/Lkr/8jh8wA95YBf7JAMXh8850PpP+frjFkb5tVFPv3vUZmzV1g7o/HpaIZuC74YakZ+P0ql7RoJu0vay2lSpa0eVeuXieEDtDumjWqS+9e3WX02PGm7OutImkTnX2rVLGC3D/0dqlcKTOcyXvsiAmxwnWekxUrWszEq2clyUwO9Ydj4RK/1ODD/WmwIb0pyXWty9xb9mFzn8KXU9YIEtkZ5fpJORNcKbeIzZ01J/G1E6d8I/cNvU3+9e6HFvu9xtuDe39gvz5SI7FaZj8t+MGGFyRUrSJtWl0srS7O9Mg4vMuVi5P5i5bY/4VunTtIw/rJRkn+Riifvu3V40qrvFJ7ONdN1lbG3jdHQn+TzNhaCGlBktGH7rtLHn3iGUs0g5FRR0IRPkhbEOYno9Tp3PHuWEG0oyDqGPPZOBk+YqSt6t67hsjAGzO5S37VTT/mHMAZYc1nzmQqdCiikZrLc/qsyhdJfhS4Bg0a2AkikDII1wcffGDJoSsH5Qsl8tZbb7WuXG5exJXyHbKQlpZmkz766KN2VjtKKWlwm7dv314gpJBBZyidEJPKlStbFXHmzJl2GwKIKxby2bFjR0ugKMcZBI7Z1NSNwocLt3nz5rZ+CFQwg3xhuMid2ZuvGfFjbPOiQ5m1jQJ32WWX2fLJ8+c//9ms4XpalixZYtPTRs5l0qRJFrM1a9YIhAsijorg2uu2+fQbyjH5iIlEEeZcGBCgvHKOuKWd8ccKWWWAgIvbqw67NHxCKHHbO1cc+yCutJeyyUuIAqr0PffcY3EmLQQQ8jx//nxbN33Ja+DAgTbGlbaxigJ5vH0YTlm0GTKOSow7nkED8Z/g6wyyT8iBX5FH6XZ959LqZ+wjwG9lxKgxkly3tjx0z2Dp3qWDfDdvkaxZlxpo/FKj/HFd32wITVvjAkZdXGcIF7Z9x04bO5kQX0WGDBpg3cgQmekz51jyye90kyExGNvLzWSktes32kE4+7aZ/AcNYcU1SXgI6iSGG/xnkzbduC4HGJKK25wY0p+WrbLHUSg/HT9Z6tauJXfefpMhqU1lzOeTZK+JXzt95vx7C6QrGAmlMFzz/La+NK52SNwoEwsKyXVW1NwTIMAzZs21JI72LjAEmAlJLU29zk4ZLLds3WHJZ72kOvbTHfN+4mZn8AZpfX/0Z7bOKYagHzPihLPmTRqZia3HZfb3C2wsKa76aTNmSdvWLc8LLSAPv/V9ZsJSCfP7HzSgr1VHWzZvarfjzeCC2NvRYydIndo15a7BA6V1y+ZWsV21dr2t0uJtwhYOHDgkg/r3taR/0lfTDRbjTMxuExls+rZihfImPGCi7cdwrht3LrH66SWhTRskCS8IKWTUuerzu+2ooKic/DZQPSGezrwklDTZKaYufTQ/IZx4eiGghZWEEkbnSCjYsc2+/Lbi0azAjYRPnyWkkZSNkooR8B6pQVZQ8IhthMzgJsVNzlJJXbt2lQEDBgSIJmnY78wRE4iLI0ocQ4WEvPJHwCfkytshSUlJrgj7CVHFjewnWSxD5DVIESTXayh2tJe6gsWUQrwwyG1OxoxzyuAP0nuO5EFNdOocBAmShopIumuvvVZq145MinfEHVXVa7QRlRo8nKG2emMs3X7/J33Xo0ePLLu9KjAHKJf2oyR7DaWIviSONLu2kc8bGxtOWaQHH9pGCAT9y2DFa6ihlM3gwmtggQKrdmEhwEM4WOu4aaMGlmhANh574C77h+zOpJqZ8NLDxCpiNROrWzc1hLJJw/oyb9GPxmVYNzCpB2WyePFiMnb8FOnW+QppkJJs0qdJy+ZNLBmKiytj1LkE49LeYpVXCCUk2A3OXZ18cn+8vndPq//VqpFoSOluWblmnVxu1FhIKcrrVWbCEEa7GER+Mekr+z2SN8jv3PmLpaOZwNT9yg6y2Sizn5pYzH5GmYXgYh3atZGdGbvlnZEf2+8MYAf27yNVq1S233nbbM4FrMqcDVkJHPBtUB8kExWZ2M6Txrs2z2yjOt49eJAlmuWNMtmvTy/jih9nJ1dRREpyHenW5QpfaVm/gkGiIfXce3H7s41RPkp3lw7t7HfauW//AYsjfY+hwF7Xs5vdRkFlAFLfKLoOgxIGG4j63n37zQC+WMjrxhYUo29+Eurc8ZDRVes3WzJaUMqoI6NeZRTYIKYQ1IImoTHaZYWiWfw+o0pEcalzozx2Nsg5EpTcaKu0z9UTSRnEcqJC8sJNjJsdpRL1CpLGCeNi9Rtkw5FMjuN6Rf1C2SRmEpLjN8pyxkgY5QsyEsqc6uhN5yev3mNsO4UQgpmTuaWqiEv0L73EuqPeNhNCgJoLMe/QoUNOxQY9xqQf/ngguH5DhUUhdOYUVvc92CdtB3O/qujPSzoUSEIS/EY/Qtp5kY++8xtEnxheLJyySEf/MKAhdrhLly7nDQggok2bnlOByIMxeAnVt5kp9T2WEEAlhKAMf3+0JXZMvGlhZq27mdu0NdHET3oN0ke8JbbdKHWXGZXOa8km5orfL8StoSGiXxklD1ufaibv1a9nBqBxVlGl3s1pW6Vxg/r2uP+NiTbn7jyQzWqyet0GmwyFr0O7c5P52JliVMjcGGppLUOgk+rUstkbN0ixBIDlkCBhxGQOf2+08dKUl/vuvNUQvDhLGsebyUR7zENMOl+R6THg/BqkJIVsQhWjNDFjv8PlbQJiRKMG9eTF14Zbgg7BxqWOSnpdz+7WFc6s/TnzFlsieL9xv5cN8nvPqWKU6zhDTL80s/CdQSjB0Vm8h1Rz/yxrCHUFzz3PTaxC+U2slhnCkdN148qNtc/sSCjthJDGAhmlLb8nCfXGhNIWf8wo+y50I7QGd7xTRdkuiLXYo0pE6YSKFeKExep5sVZoOAZxZdmnMuaC98cchcqPAsYN3q9GEZ/Xq1cvu4QTaVAhuYiJGcyOMKKkEWcIkSWe0SmQTNghzjI7g2ygyuaX+uXIHgQsu1n+tM0prX369LHrjWbXXvZDuCFkkHfODZd6JEZdEC0IqX9WOITSqzyGUy6KI3m84QfB8lEvOBDDm51xnLbRHw4Tl5aQAs4ZC6cs0jEQIa4XpZf42yuuuMJuc4xrCiLKhDS/EaMaTOH2p9PvsYcArliWJVqxaq1xBS+Ur7/9zrp0HTErUiSr58Y7yON+5LxD7syKmvhGjMcc46JmmSJUQFzREDCI3ByjQLIWZ5pxZffpdZXLmuUTl7jXvPUy+Pr116xrZua0tqe3HP92R0MI/ZacVNuqvZwfpHu/OYcH7ro9MNhC4UVJ/uY/30knQ0RpKed3g1ExQxlEnpfXIJYQ7+3pO+2AgJhNym3TqoVNhlJ9U7/e8j/D3jaTpFZZhdabP9Q2Xrg4M3vfGwvLNgQ4t2uPhrpuQrXp9zq+ZdtOq/hDOJ0S6m2Ll4ySlnQFYV5llPp+LyXUS0K9MaGFkYwSE9rvT71t9xYECaWirHdTW3Xe3txs+e3GZRSupe3IsEkjXUOUTMT5vfDCC0EXrnfLEOHeJUYQYwKR1yAtxBY6RY5j7dq1C5BQvvvVRfb5jTqImWS2ttcgebjA82KOOEP6vAYB5k8BdzwGiYP4+M8RsoTrnyczYRC0iRMnyvXXX2/jVYkdBUevUTZEKjtzLnN/PhfS4I5nl9+/HyLqV0P9afhOP0J0IZReI3yCfsQ9n5SUZBVRN0vfpZs3b15gySv2hVMW6Ric8CfP4ISYYeKPUcEx3Pvg75ZtsjvPvnFNub7z7tft2EcAOlenlgnLMDO8H31gqFUGv1/4Q1gNh1AR5+k11DdIZI3qCdbNXNfEJa42sYi79+yz9aAIljC/uaVm/U5UOr5HajWqV5P1GzdnybZuQ+ZvPsvOEF8YxL330Vg7kcebdP/+g8IEJzw0/M4INyjqmw/A5CHuSbws2Tb311pmGahQtnTZShO6MDlLMvpgv7mfOlWS9ab9QgVklxhQXPnhGOfmDLzwFLVv2zrwatemlbQ1arCf8Ls8oT7zct2EKjs/j6fUrWkePpMSlIS6eiGjpCFtQZojo7FGQr0xoxDVwmR4ZXgVhMFPok5EK5aPk/jKFYx7/oSs2xT6RJav2WifwlS6dEmpXvVcbFG4AEAauZm8/PLLdskiZmjjFmb2ODPbiftk9jYv3KrsY0IP6ieE7Y033pAJEybYGEZma6MwMIkHUsmSQcyEdzGHObWJGfSQFZYVgvSx3BKztFFTIyVl/npQ7lBnOS+vQX7oRNpPW9lmcXtc80yqYR1RSDQhCiNHjrTnxo0YIkVMKC55yiB0gbZ6STSThhxBZZkkv6EA466ePHmyVQuZ8Q7RY7Y6arQ/Ntaf3/udPzVWHQiHiNLfEE1mzhPfStwr9fJYUNpLHBghB8QF0w+vvPKKbSPLMEFMvX0RTlmsMMDEK2JqGR2ifEKEWbEAQw3lGvOvBMAgiHAN4n/VLiwEiEt8/p+vmOWGttiGHzVP8IFUVQoj9IYMzBBfZia5LF6yzAxSjtunMLFeJ5N4uD4x3NX/MbPuURm5b2ANjYt+hpn0RAxpbgx3OG1nfc8161OtkrvYrNsZqdEeYjqnfjPTxj5CrraZJ0mhSLZo2sgW18i46iF/00yIAQQR25WxR2aZc+I8iG9luaaUpLphkTpI4XKjPjOpC6USZXXK15kuc2IysWZmKam5Zob7th3p9jvucFYu4AlKxOaGsurV4q1CS1+ieNJPPxkCjJrKPYiJVoQb0Fe5sbxeN7mpM1p5CKsLZ7WacNNFq12uHMgor4K27JRQ147CSEZf/9dwuffB/7IvtvPb4FzF86OS5NqJctzcSPYdOCzLDNGsWT1eqphYIq/xJKUdu0y839l40lMnT9vnzpctE9niubiFeXoNRIvHUkLGMG74LPvDrG5nN954ox3NQw5ZC5IbLrPt77zzTkskIBPMwKccCCoAQVZuuOEGW74rJ9gnLvMHHnjAkkKWeuLGhkIJIYKw5cVoJxOhIGteg1RB+JichcuYdUSZhY8rGdc7BA2DNBKSgJrHup6Q9b/97W+BmNH+/fvbyTiQV2a3Y8wUh2x9+OGHdhY+Szn5jXwopxBC0jLrFTwhw8HiM/353XfOC5UFQhfKIIOsucqSU6jNqJHso6/dElmUwaADdRgiycQmiDfLPaFuuslfocpCEQYTynZPmGLpJ7CB1DJbHyWXWfR+45xcv/mP6ffYRgD3O08IGmMWS0fZw4jdZPZ8OAbJxB2NS59lfiB1xDj2vfaqQHbIJu5+4kOdQeCY6NTQ5M+NJRq19Y6B/eyi8d+YslEiB5oQg2Fv/V/ExbGQ/ucTpsqwt9+zpJK76qWXNDe4dLJl8aSioWYJqs8nTrHkEaXylCGm4MRkKiwzPjQ8Us1i97feeL0l0dO+nS2/mQFzRaO+3nnrTVYhprzrru5m7u8iIz4YI8WMGnvq1GkzQC9jzrm/XfOUNDlZ21YtZbIhty+/+a7cdcdAuwwTfQJ5/mLiVHsPam6INvXkxvJ63eSmTs2T/wjg5fW64/015nTMnzbWv+Mhdk9Voq1sDx1i4q9DTJTO63kVMcQtk7nltSRffka1G9PSDRnNXHoIN07pkkyYMTF3J04FRtEsZl+6VEn7eE/cOk1S6tjvvuLC+soanbhoIUSQL4hAdob6B7gQqWDGccqBrERquG0hSNGMD0TxRPV77rnn7Ln528RkK39buaggeF61zv2xuglQrhyUUl5+PDgX0npj0Vwe7yfkDjxzwtyb3rsNOeQpTgwCIjEuXfoJ93eo9lEu6Z9//nkbT8xSTl4LVhb7wMt//m4/MbbPPPOMffljYt98803bH/56vHXqduwjwPPMy5i1LXPrqmUmOL8/c9vLd2PyDkvoeReER6Ub8eEYeeqR+8z96NzT5cJtDJOSmEnOUlT+e4YrA4wOm0FbVZPGzfTnXvLPV/4lD98zJPBkI5c+p0/+jJgwRJhCsMd2kpe4V9RLCD4z6SM1/ptcO11elokqZVzPue1nV477zOt148rxf6Zn7JPEhMg9h/5y9PuFhUBB9nvvfoPsPAwQ4j998rhP8h2s7JlaHqvmh94wuZY0MK8K5mZBkP5hc8M6ZCYl4cphAXuU02YNk6VenRrWLY+rZ+3GrXZGZm6qx0WP6odqFYoQQV78pMtbJ8f9xM57PKdtyo0mCaUulEZmurMKQDAL1lYuIi8JJR9/JsH+UMArGB7sC4fkcb6hMA/WbvaFGx/qz0+7UJ397UONfvrpp61C7GI52YcSTtxmsBnuwcpiX7Dzd/sJv6B+PwllMERYhFeh9bddv18YCDCZJS/kpHQBkVDQ5IlGL70+3Cyyv9K6q5lNz7PWiXXNDQmlTJYvYrmjYPcMjmNgRBovudtqXPlMwEI5jcQg7PHmaUjZkVDKYmUWHiOaGxJKfm87+Y7lZbCRWULW97xeN1lL02+KQMEh8PgjD5i1dWvZF9sFYfmmiPobT0zOCaOEGl3KBpf7Z5WSHgU1wyz9UcbEizapXzfLcin+8v6I34nVxLWOux/SXRiMMAIUUVz/0ZzYwyQq3OoQUQYmxHWiGvNkKUIHckuavZgvXLgwUKZ3vwuJYHa9miJQUAigJi764Se7sDwqJuST9Uh7m+WO/JN88rtNbl1QlFS16CFQkMpY9FqtJeUVgcLe7wVGRMPtiA1btsuefQelZZOUXLvow61L0xVuBHDbE9LAmrIol8yS9y/zVbgR0LP7oyIAKS2IcIA/Kr6/13kXdkLye+Ea6/UW5n4n1C3miCgXBM+sD2cGX6xfPNo+RUARUAQUAUUgWggUZkISLYwKYzmFud8hovkWI5qXi0FJaF7Q07yKgCKgCCgCioAioAjEPgLMuYhJIhr70GkLFQFFQBFQBBQBRUARUATygkDMKqJ5OSnNqwgoAoqAIqAIKAKKgCIQ+wioIhr7faQtVAQUAUVAEVAEFAFFoNAioK75Qtu1emKKgCKgCCgCioAioAjELgI8/EKJaOz2j7ZMEVAEFAFFQBFQBBSBQouAuuYLbdfqiSkCioAioAgoAoqAIhDbCCgRje3+0dYpAoqAIqAIKAKKgCJQqBFQ13yh7l49OUVAEVAEFAFFQBFQBGIXASWisds32jJFQBFQBBQBRUARUAQKNQJKRAt19+rJKQKKgCKgCCgCioAiELsIKBGN3b7RlikCioAioAgoAoqAIlBoEdDlmwpt1+qJKQKKgCKgCCgCioAiENsIFC1aVNcRje0u0tYpAoqAIqAIKAKKgCJQOBFQRbRw9quelSKgCCgCioAioAgoAhcEAhojekF0kzZSEVAEFAFFQBFQBBSBwoUAC9r/Py0qvWg5xZHKAAAAAElFTkSuQmCC"},1260:(e,A,t)=>{t.d(A,{A:()=>o});const o=t.p+"assets/images/devtools-ui-e0498353bf25a9c5cb7c30c19ae4b249.png"},5680:(e,A,t)=>{t.d(A,{xA:()=>r,yg:()=>h});var o=t(6540);function n(e,A,t){return A in e?Object.defineProperty(e,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[A]=t,e}function a(e,A){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);A&&(o=o.filter((function(A){return Object.getOwnPropertyDescriptor(e,A).enumerable}))),t.push.apply(t,o)}return t}function g(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?a(Object(t),!0).forEach((function(A){n(e,A,t[A])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))}))}return e}function i(e,A){if(null==e)return{};var t,o,n=function(e,A){if(null==e)return{};var t,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],A.indexOf(t)>=0||(n[t]=e[t]);return n}(e,A);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],A.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=o.createContext({}),l=function(e){var A=o.useContext(s),t=A;return e&&(t="function"==typeof e?e(A):g(g({},A),e)),t},r=function(e){var A=l(e.components);return o.createElement(s.Provider,{value:A},e.children)},p="mdxType",I={inlineCode:"code",wrapper:function(e){var A=e.children;return o.createElement(o.Fragment,{},A)}},c=o.forwardRef((function(e,A){var t=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,r=i(e,["components","mdxType","originalType","parentName"]),p=l(t),c=n,h=p["".concat(s,".").concat(c)]||p[c]||I[c]||a;return t?o.createElement(h,g(g({ref:A},r),{},{components:t})):o.createElement(h,g({ref:A},r))}));function h(e,A){var t=arguments,n=A&&A.mdxType;if("string"==typeof e||n){var a=t.length,g=new Array(a);g[0]=c;var i={};for(var s in A)hasOwnProperty.call(A,s)&&(i[s]=A[s]);i.originalType=e,i[p]="string"==typeof e?e:n,g[1]=i;for(var l=2;l<a;l++)g[l]=t[l];return o.createElement.apply(null,g)}return o.createElement.apply(null,t)}c.displayName="MDXCreateElement"},2620:(e,A,t)=>{t.r(A),t.d(A,{assets:()=>s,contentTitle:()=>g,default:()=>I,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var o=t(8102),n=(t(6540),t(5680));const a={title:"UI & Controls",description:"Devtools > Description of UI elements"},g=void 0,i={unversionedId:"devtools/devtools-ui",id:"devtools/devtools-ui",title:"UI & Controls",description:"Devtools > Description of UI elements",source:"@site/../docs/devtools/devtools-ui.md",sourceDirName:"devtools",slug:"/devtools/devtools-ui",permalink:"/devtools/devtools-ui",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/devtools/devtools-ui.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"UI & Controls",description:"Devtools > Description of UI elements"},sidebar:"docs",previous:{title:"Introduction",permalink:"/devtools/devtools-introduction"},next:{title:"Options",permalink:"/devtools/devtools-options"}},s={},l=[{value:"Panel",id:"panel",level:2},{value:"Search bar",id:"search-bar",level:3},{value:"Search action buttons",id:"search-action-buttons",level:4},{value:"Messages view",id:"messages-view",level:3},{value:"Data view",id:"data-view",level:3},{value:"Popup",id:"popup",level:2},{value:"Options",id:"options",level:2}],r={toc:l},p="wrapper";function I(e){let{components:A,...a}=e;return(0,n.yg)(p,(0,o.A)({},r,a,{components:A,mdxType:"MDXLayout"}),(0,n.yg)("p",null,"The IMA.js devtools consist of 3 main windows - ",(0,n.yg)("a",{parentName:"p",href:"./devtools-ui#panel"},"Panel"),", ",(0,n.yg)("a",{parentName:"p",href:"./devtools-ui#popup"},"Popup"),"\nand ",(0,n.yg)("a",{parentName:"p",href:"./devtools-options"},"Options"),". Each has some specific usage and\nwe're going to take a look at the first two in following sections."),(0,n.yg)("h2",{id:"panel"},"Panel"),(0,n.yg)("p",null,"Main component of our IMA.js devtools is the panel window, that you get after opening Chrome devtools\n(use the keyboard shortcut ",(0,n.yg)("inlineCode",{parentName:"p"},"Cmd + Shift + J")," on Windows or ",(0,n.yg)("inlineCode",{parentName:"p"},"Cmd + Option + J")," on Mac)\nand clicking on ",(0,n.yg)("strong",{parentName:"p"},"IMA.js tab")," on any IMA.js application website."),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(1260).A,width:"1167",height:"649"})),(0,n.yg)("p",null,"This tab shows you all ",(0,n.yg)("strong",{parentName:"p"},"events")," (that you defined in the ",(0,n.yg)("a",{parentName:"p",href:"./devtools-options"},"options"),", which we'll talk about later)\nand ",(0,n.yg)("strong",{parentName:"p"},"method calls")," in your application since it's initialization. But there are few other components in this window,\nthat offers some additional functionality, so let's take a closer look at each of those."),(0,n.yg)("h3",{id:"search-bar"},"Search bar"),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(2823).A,width:"674",height:"52"})),(0,n.yg)("p",null,"The search bar allows you to ",(0,n.yg)("strong",{parentName:"p"},"filter all messages")," using simple ",(0,n.yg)("strong",{parentName:"p"},"fuzzy search"),". The keywords are currently\nmatched with ",(0,n.yg)("inlineCode",{parentName:"p"},"payload.label"),", so searching for values in payloads or any other text, that is not\npart of the ",(0,n.yg)("inlineCode",{parentName:"p"},"payload.label")," will result in invalid search results (this may change in the future versions)."),(0,n.yg)("p",null,"You can also use ",(0,n.yg)("strong",{parentName:"p"},"JS regular expressions")," for more advance filtering. To use these expressions, simply wrap\nthe searched string between ",(0,n.yg)("inlineCode",{parentName:"p"},"/(init)/i")," backslashes. There's built in validation, where if the RegExp is not correct,\nthe input text will be red and no search is performed."),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(4911).A,width:"674",height:"52"})),(0,n.yg)("h4",{id:"search-action-buttons"},"Search action buttons"),(0,n.yg)("p",null,"In the search bar, we can also find a group of four buttons. ",(0,n.yg)("strong",{parentName:"p"},"First two buttons")," are related to the currently selected\nitem and allows you to select one directly above or below it. These two buttons also have a key shortcuts\ndefined to ",(0,n.yg)("strong",{parentName:"p"},"arrow up")," and ",(0,n.yg)("strong",{parentName:"p"},"arrow down"),", so you can use these too."),(0,n.yg)("p",null,"The third one ",(0,n.yg)("strong",{parentName:"p"},"clears the currently searched text")," and\nlast one opens a menu, where additional two buttons let's you either ",(0,n.yg)("strong",{parentName:"p"},"clear whole state")," (e.g. all messages are deleted)\nor access additional ",(0,n.yg)("a",{parentName:"p",href:"./devtools-options"},"options"),"."),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(4).A,width:"674",height:"52"})),(0,n.yg)("h3",{id:"messages-view"},"Messages view"),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(7574).A,width:"840",height:"37"})),(0,n.yg)("p",null,"This is probably the main part of whole devtools. Here you can see all events and methods\n(that have registered hooks in the ",(0,n.yg)("a",{parentName:"p",href:"./devtools-options"},"options"),") and time they were called\nrelative to the first event received."),(0,n.yg)("p",null,"The first label in each row corresponds to the ",(0,n.yg)("inlineCode",{parentName:"p"},"class")," that was an origin of ",(0,n.yg)("inlineCode",{parentName:"p"},"method call"),", that is displayed\nright next to the class name on light background. Optionally on some events you can see ",(0,n.yg)("inlineCode",{parentName:"p"},"pending/resolved xms")," tag.\nThis tag marks that some of the arguments of the method call are promises. The ",(0,n.yg)("inlineCode",{parentName:"p"},"pending/resolved")," status\nthan corresponds to whenever all ",(0,n.yg)("strong",{parentName:"p"},"promises")," in the method call are resolved or not. The time in ",(0,n.yg)("inlineCode",{parentName:"p"},"ms")," than displays\n",(0,n.yg)("strong",{parentName:"p"},"time diff between first call the method and last resolved promise"),"."),(0,n.yg)("h3",{id:"data-view"},"Data view"),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(9856).A,width:"846",height:"461"})),(0,n.yg)("p",null,"This view has 3 tabs - ",(0,n.yg)("strong",{parentName:"p"},"Args"),", ",(0,n.yg)("strong",{parentName:"p"},"Payload")," and ",(0,n.yg)("strong",{parentName:"p"},"Events"),". Args and Payload are basically shortcut to the last event's ",(0,n.yg)("inlineCode",{parentName:"p"},"payload.state")," in the Events tab.\nEach method call can have one or multiple events, this depends whenever any of the arguments is a promise or not. In case it is, the events is an array\nwhere each new input corresponds to a resolved promise."),(0,n.yg)("p",null,"Each event has multiple arguments, where most of those are an internal arguments used in the devtools panel or to process the message. Most of the time\nyou're only interested in ",(0,n.yg)("inlineCode",{parentName:"p"},"args")," and ",(0,n.yg)("inlineCode",{parentName:"p"},"payload")," arguments in the ",(0,n.yg)("inlineCode",{parentName:"p"},"payload.state"),". That's also why we have those two other tabs that are basically shortcuts\nto these objects."),(0,n.yg)("h2",{id:"popup"},"Popup"),(0,n.yg)("p",null,(0,n.yg)("img",{src:t(6197).A,width:"348",height:"160"})),(0,n.yg)("p",null,"The popup is a simple window that you can see after clicking on the IMA.js extension icon\nin the chrome toolbar. The main purpose of this window is to give you quick toggle to ",(0,n.yg)("strong",{parentName:"p"},"enable"),"\nor ",(0,n.yg)("strong",{parentName:"p"},"disable")," the extension functionality = ",(0,n.yg)("strong",{parentName:"p"},"injecting the scripts and creating devtools panel"),"."),(0,n.yg)("blockquote",null,(0,n.yg)("p",{parentName:"blockquote"},(0,n.yg)("strong",{parentName:"p"},"Note:")," due to limitations of chrome extension API, when you disable IMA.js extension through this\npopup, the detection and reload scripts are still getting injected to the page. Only thing\nthat doesn't get injected is the devtool code itself, which wraps each class in a proxy like object\nthat sends messages to our devtools panel."),(0,n.yg)("p",{parentName:"blockquote"},"So in case you have any issues with your application and you think it's caused by the devtools, you\nshould completely disable the extension in order to prevent any possible side effects.")),(0,n.yg)("p",null,"This popup can have ",(0,n.yg)("strong",{parentName:"p"},"3 states"),":"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Detecting")," - you can get a glimpse of this state when you reload the page while the popup is opened\nand the devtools are still detecting whenever the current page is using IMA.js or not."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Reload")," - you can see this state after enabling extension while the page is already loaded.\nAs the name suggest, in order to use the devtools you need to reload the page so the\ndevtools code can be injected to page."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Dead")," - this state simply means that the devtools are enabled but you're actually on a pge\nthat doesn't use IMA.js."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Detected")," - you can see results of this state in the image above. This means that the page\nyou're currently visiting is using IMA.js and devtools are initialized. As a bonus you can also\nsee the application ",(0,n.yg)("inlineCode",{parentName:"li"},"environment"),", ",(0,n.yg)("inlineCode",{parentName:"li"},"language")," and ",(0,n.yg)("inlineCode",{parentName:"li"},"version"),".")),(0,n.yg)("h2",{id:"options"},"Options"),(0,n.yg)("p",null,"This is a separate page, where you can configure the script that is injected into the page\nand customize it to your needs. As this is rather more complicated we're going to take\na deeper look into it in the ",(0,n.yg)("a",{parentName:"p",href:"./devtools-options"},"next section"),"."))}I.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7de51c8d.5727f35c.js b/assets/js/7de51c8d.5727f35c.js new file mode 100644 index 000000000..82386b50a --- /dev/null +++ b/assets/js/7de51c8d.5727f35c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3472],{2510:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>c,toc:()=>t});const c=JSON.parse('{"id":"api/@ima/cli/interfaces/ImaCliArgs","title":"Interface: ImaCliArgs","description":"Defined in30","source":"@site/../docs/api/@ima/cli/interfaces/ImaCliArgs.md","sourceDirName":"api/@ima/cli/interfaces","slug":"/api/@ima/cli/interfaces/ImaCliArgs","permalink":"/api/@ima/cli/interfaces/ImaCliArgs","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/interfaces/ImaCliArgs.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/cli","permalink":"/api/@ima/cli/globals"},"next":{"title":"Interface: ImaCliPlugin","permalink":"/api/@ima/cli/interfaces/ImaCliPlugin"}}');var i=s(2540),r=s(3023);const l={},a="Interface: ImaCliArgs",d={},t=[{value:"Extended by",id:"extended-by",level:2},{value:"Properties",id:"properties",level:2},{value:"clean",id:"clean",level:3},{value:"clearCache?",id:"clearcache",level:3},{value:"command",id:"command",level:3},{value:"environment",id:"environment",level:3},{value:"forceLegacy?",id:"forcelegacy",level:3},{value:"forceSPA?",id:"forcespa",level:3},{value:"hostname?",id:"hostname",level:3},{value:"ignoreWarnings?",id:"ignorewarnings",level:3},{value:"inspect?",id:"inspect",level:3},{value:"lazyServer?",id:"lazyserver",level:3},{value:"legacy?",id:"legacy",level:3},{value:"open?",id:"open",level:3},{value:"openUrl?",id:"openurl",level:3},{value:"port?",id:"port",level:3},{value:"profile?",id:"profile",level:3},{value:"publicUrl?",id:"publicurl",level:3},{value:"reactRefresh?",id:"reactrefresh",level:3},{value:"rootDir",id:"rootdir",level:3},{value:"verbose?",id:"verbose",level:3},{value:"writeToDisk?",id:"writetodisk",level:3}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"interface-imacliargs",children:"Interface: ImaCliArgs"})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L30",children:"types.ts:30"})]}),"\n",(0,i.jsx)(n.p,{children:"Arguments generated from ima CLI commands."}),"\n",(0,i.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,i.jsx)(n.code,{children:"ImaConfigurationContext"})})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"clean",children:"clean"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"clean"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L33",children:"types.ts:33"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"clearcache",children:"clearCache?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"clearCache"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L34",children:"types.ts:34"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"command",children:"command"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"command"}),": ",(0,i.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaCliCommand",children:(0,i.jsx)(n.code,{children:"ImaCliCommand"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L32",children:"types.ts:32"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"environment",children:"environment"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"environment"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L46",children:"types.ts:46"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"forcelegacy",children:"forceLegacy?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"forceLegacy"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L49",children:"types.ts:49"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"forcespa",children:"forceSPA?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"forceSPA"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L41",children:"types.ts:41"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"hostname",children:"hostname?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"hostname"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L44",children:"types.ts:44"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"ignorewarnings",children:"ignoreWarnings?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"ignoreWarnings"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L37",children:"types.ts:37"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"inspect",children:"inspect?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"inspect"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L36",children:"types.ts:36"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"lazyserver",children:"lazyServer?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"lazyServer"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L50",children:"types.ts:50"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"legacy",children:"legacy?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"legacy"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L40",children:"types.ts:40"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"open",children:"open?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"open"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L38",children:"types.ts:38"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"openurl",children:"openUrl?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"openUrl"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L39",children:"types.ts:39"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"port",children:"port?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"port"}),": ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L43",children:"types.ts:43"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"profile",children:"profile?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"profile"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L42",children:"types.ts:42"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"publicurl",children:"publicUrl?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"publicUrl"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L45",children:"types.ts:45"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"reactrefresh",children:"reactRefresh?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"reactRefresh"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L48",children:"types.ts:48"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"rootdir",children:"rootDir"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"rootDir"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L31",children:"types.ts:31"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"verbose",children:"verbose?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"verbose"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L35",children:"types.ts:35"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"writetodisk",children:"writeToDisk?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"writeToDisk"}),": ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L47",children:"types.ts:47"})]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>a});var c=s(3696);const i={},r=c.createContext(i);function l(e){const n=c.useContext(r);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),c.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7e7703ab.d1ce8b7a.js b/assets/js/7e7703ab.d1ce8b7a.js new file mode 100644 index 000000000..ce1c10006 --- /dev/null +++ b/assets/js/7e7703ab.d1ce8b7a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9251],{9177:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/interfaces/InitAppConfig","title":"Interface: InitAppConfig","description":"Defined in70","source":"@site/../docs/api/@ima/core/interfaces/InitAppConfig.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/InitAppConfig","permalink":"/api/@ima/core/interfaces/InitAppConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/InitAppConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ImaRequestInit","permalink":"/api/@ima/core/interfaces/ImaRequestInit"},"next":{"title":"Interface: InitImaConfig","permalink":"/api/@ima/core/interfaces/InitImaConfig"}}');var s=n(2540),c=n(3023);const r={},a="Interface: InitAppConfig",o={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Properties",id:"properties",level:2},{value:"initBindApp",id:"initbindapp",level:3},{value:"initRoutes",id:"initroutes",level:3},{value:"initServicesApp",id:"initservicesapp",level:3},{value:"initSettings",id:"initsettings",level:3}];function p(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.header,{children:(0,s.jsx)(i.h1,{id:"interface-initappconfig",children:"Interface: InitAppConfig"})}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L70",children:"packages/core/src/Bootstrap.ts:70"})]}),"\n",(0,s.jsx)(i.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,s.jsx)(i.code,{children:"BootConfig"})})}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(i.h3,{id:"initbindapp",children:"initBindApp"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"initBindApp"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitBindFunction",children:(0,s.jsx)(i.code,{children:"InitBindFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L71",children:"packages/core/src/Bootstrap.ts:71"})]}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"initroutes",children:"initRoutes"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"initRoutes"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitRoutesFunction",children:(0,s.jsx)(i.code,{children:"InitRoutesFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L72",children:"packages/core/src/Bootstrap.ts:72"})]}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"initservicesapp",children:"initServicesApp"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"initServicesApp"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitServicesFunction",children:(0,s.jsx)(i.code,{children:"InitServicesFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L73",children:"packages/core/src/Bootstrap.ts:73"})]}),"\n",(0,s.jsx)(i.hr,{}),"\n",(0,s.jsx)(i.h3,{id:"initsettings",children:"initSettings"}),"\n",(0,s.jsxs)(i.blockquote,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"initSettings"}),": ",(0,s.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitSettingsFunction",children:(0,s.jsx)(i.code,{children:"InitSettingsFunction"})})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Defined in: ",(0,s.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L74",children:"packages/core/src/Bootstrap.ts:74"})]})]})}function l(e={}){const{wrapper:i}={...(0,c.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>r,x:()=>a});var t=n(3696);const s={},c=t.createContext(s);function r(e){const i=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/805384b8.d6f09f7b.js b/assets/js/805384b8.d6f09f7b.js deleted file mode 100644 index 19a5ae449..000000000 --- a/assets/js/805384b8.d6f09f7b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4517],{5680:(e,n,i)=>{i.d(n,{xA:()=>o,yg:()=>m});var t=i(6540);function a(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function l(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,t)}return i}function r(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?l(Object(i),!0).forEach((function(n){a(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):l(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function p(e,n){if(null==e)return{};var i,t,a=function(e,n){if(null==e)return{};var i,t,a={},l=Object.keys(e);for(t=0;t<l.length;t++)i=l[t],n.indexOf(i)>=0||(a[i]=e[i]);return a}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)i=l[t],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var g=t.createContext({}),u=function(e){var n=t.useContext(g),i=n;return e&&(i="function"==typeof e?e(n):r(r({},n),e)),i},o=function(e){var n=u(e.components);return t.createElement(g.Provider,{value:n},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},c=t.forwardRef((function(e,n){var i=e.components,a=e.mdxType,l=e.originalType,g=e.parentName,o=p(e,["components","mdxType","originalType","parentName"]),s=u(i),c=a,m=s["".concat(g,".").concat(c)]||s[c]||d[c]||l;return i?t.createElement(m,r(r({ref:n},o),{},{components:i})):t.createElement(m,r({ref:n},o))}));function m(e,n){var i=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var l=i.length,r=new Array(l);r[0]=c;var p={};for(var g in n)hasOwnProperty.call(n,g)&&(p[g]=n[g]);p.originalType=e,p[s]="string"==typeof e?e:a,r[1]=p;for(var u=2;u<l;u++)r[u]=i[u];return t.createElement.apply(null,r)}return t.createElement.apply(null,i)}c.displayName="MDXCreateElement"},8832:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>g,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>p,toc:()=>u});var t=i(8102),a=(i(6540),i(5680));const l={id:"ima_plugin_cli.ImaPluginConfig",title:"Interface: ImaPluginConfig",sidebar_label:"@ima/plugin-cli.ImaPluginConfig",custom_edit_url:null},r=void 0,p={unversionedId:"api/interfaces/ima_plugin_cli.ImaPluginConfig",id:"api/interfaces/ima_plugin_cli.ImaPluginConfig",title:"Interface: ImaPluginConfig",description:"@ima/plugin-cli.ImaPluginConfig",source:"@site/../docs/api/interfaces/ima_plugin_cli.ImaPluginConfig.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_plugin_cli.ImaPluginConfig",permalink:"/api/interfaces/ima_plugin_cli.ImaPluginConfig",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_plugin_cli.ImaPluginConfig",title:"Interface: ImaPluginConfig",sidebar_label:"@ima/plugin-cli.ImaPluginConfig",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/plugin-cli.Context",permalink:"/api/interfaces/ima_plugin_cli.Context"},next:{title:"@ima/plugin-cli.PipeContext",permalink:"/api/interfaces/ima_plugin_cli.PipeContext"}},g={},u=[{value:"Properties",id:"properties",level:2},{value:"additionalWatchPaths",id:"additionalwatchpaths",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"exclude",id:"exclude",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"inputDir",id:"inputdir",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"jsxRuntime",id:"jsxruntime",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"output",id:"output",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"plugins",id:"plugins",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"sourceMaps",id:"sourcemaps",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"target",id:"target",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"transformers",id:"transformers",level:3},{value:"Defined in",id:"defined-in-8",level:4}],o={toc:u},s="wrapper";function d(e){let{components:n,...i}=e;return(0,a.yg)(s,(0,t.A)({},o,i,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli"},"@ima/plugin-cli"),".ImaPluginConfig"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"additionalwatchpaths"},"additionalWatchPaths"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"additionalWatchPaths"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L66"},"types.ts:66")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"exclude"},"exclude"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"exclude"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"AnymatchMatcher")),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L61"},"types.ts:61")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"inputdir"},"inputDir"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"inputDir"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L58"},"types.ts:58")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"jsxruntime"},"jsxRuntime"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"jsxRuntime"),": ",(0,a.yg)("inlineCode",{parentName:"p"},'"automatic"')," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},'"classic"')),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L63"},"types.ts:63")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"output"},"output"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"output"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"ImaPluginOutputConfig"),"[]"),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L59"},"types.ts:59")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"plugins"},"plugins"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"plugins"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli#plugin"},(0,a.yg)("inlineCode",{parentName:"a"},"Plugin")),"[]"),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L62"},"types.ts:62")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"sourcemaps"},"sourceMaps"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"sourceMaps"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L65"},"types.ts:65")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"target"},"target"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"target"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"JscTarget")),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L60"},"types.ts:60")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"transformers"},"transformers"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"transformers"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"TransformerDefinition"),"[] ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},'"..."')),(0,a.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L64"},"types.ts:64")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/813302f7.1d4f37b8.js b/assets/js/813302f7.1d4f37b8.js new file mode 100644 index 000000000..fb87df2f2 --- /dev/null +++ b/assets/js/813302f7.1d4f37b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6671],{562:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>o,frontMatter:()=>i,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/classes/MetaManager","title":"Class: abstract MetaManager","description":"Defined in25","source":"@site/../docs/api/@ima/core/classes/MetaManager.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/MetaManager","permalink":"/api/@ima/core/classes/MetaManager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/MetaManager.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: MessageFormatDictionary","permalink":"/api/@ima/core/classes/MessageFormatDictionary"},"next":{"title":"Class: MetaManagerImpl","permalink":"/api/@ima/core/classes/MetaManagerImpl"}}');var a=n(2540),s=n(3023);const i={},c="Class: abstract MetaManager",l={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new MetaManager()",id:"new-metamanager",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"clearMetaAttributes()",id:"clearmetaattributes",level:3},{value:"Returns",id:"returns-1",level:4},{value:"getLink()",id:"getlink",level:3},{value:"Parameters",id:"parameters",level:4},{value:"relation",id:"relation",level:5},{value:"Returns",id:"returns-2",level:4},{value:"getLinks()",id:"getlinks",level:3},{value:"Returns",id:"returns-3",level:4},{value:"getLinksIterator()",id:"getlinksiterator",level:3},{value:"Returns",id:"returns-4",level:4},{value:"getMetaName()",id:"getmetaname",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name",level:5},{value:"Returns",id:"returns-5",level:4},{value:"getMetaNames()",id:"getmetanames",level:3},{value:"Returns",id:"returns-6",level:4},{value:"getMetaNamesIterator()",id:"getmetanamesiterator",level:3},{value:"Returns",id:"returns-7",level:4},{value:"getMetaProperties()",id:"getmetaproperties",level:3},{value:"Returns",id:"returns-8",level:4},{value:"getMetaPropertiesIterator()",id:"getmetapropertiesiterator",level:3},{value:"Returns",id:"returns-9",level:4},{value:"getMetaProperty()",id:"getmetaproperty",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"property",id:"property",level:5},{value:"Returns",id:"returns-10",level:4},{value:"getTitle()",id:"gettitle",level:3},{value:"Returns",id:"returns-11",level:4},{value:"setLink()",id:"setlink",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"relation",id:"relation-1",level:5},{value:"href",id:"href",level:5},{value:"attr?",id:"attr",level:5},{value:"Returns",id:"returns-12",level:4},{value:"Parram",id:"parram",level:4},{value:"setMetaName()",id:"setmetaname",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"name",id:"name-1",level:5},{value:"content",id:"content",level:5},{value:"attr?",id:"attr-1",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Parram",id:"parram-1",level:4},{value:"setMetaProperty()",id:"setmetaproperty",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"property",id:"property-1",level:5},{value:"content",id:"content-1",level:5},{value:"attr?",id:"attr-2",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Parram",id:"parram-2",level:4},{value:"setTitle()",id:"settitle",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"title",id:"title",level:5},{value:"Returns",id:"returns-15",level:4}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.header,{children:(0,a.jsxs)(r.h1,{id:"class-abstract-metamanager",children:["Class: ",(0,a.jsx)(r.code,{children:"abstract"})," MetaManager"]})}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L25",children:"packages/core/src/meta/MetaManager.ts:25"})]}),"\n",(0,a.jsx)(r.p,{children:"The Meta manager is a utility for managing various page attributes related\nto the SEO (search engine optimization) and social network integration."}),"\n",(0,a.jsx)(r.p,{children:"The Meta manager is used to manage the following:"}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:["page title, set using the contents of the ",(0,a.jsx)(r.code,{children:"<title>"})," element"]}),"\n",(0,a.jsxs)(r.li,{children:["page links, linking related documents and meta-information, added to the\nusing ",(0,a.jsx)(r.code,{children:"<link>"})," elements"]}),"\n",(0,a.jsxs)(r.li,{children:["page meta information:","\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:["the generic named meta information added to the page via\n",(0,a.jsx)(r.code,{children:"<meta>} elements with the "}),"name",(0,a.jsx)(r.code,{children:"attribute, for example the"}),"keywords`."]}),"\n",(0,a.jsxs)(r.li,{children:["specialized meta information added to the page via ",(0,a.jsx)(r.code,{children:"<meta>"}),"\nelements with the ",(0,a.jsx)(r.code,{children:"property"})," attribute, for example the OG meta\ntags (",(0,a.jsx)(r.code,{children:"og:type"}),", ",(0,a.jsx)(r.code,{children:"og:image"}),", etc.)."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsx)(r.li,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManagerImpl",children:(0,a.jsx)(r.code,{children:"MetaManagerImpl"})})}),"\n"]}),"\n",(0,a.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,a.jsx)(r.h3,{id:"new-metamanager",children:"new MetaManager()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"new MetaManager"}),"(): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,a.jsx)(r.code,{children:"MetaManager"})})]}),"\n"]}),"\n",(0,a.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,a.jsx)(r.code,{children:"MetaManager"})})}),"\n",(0,a.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,a.jsx)(r.h3,{id:"clearmetaattributes",children:"clearMetaAttributes()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"clearMetaAttributes"}),"(): ",(0,a.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L195",children:"packages/core/src/meta/MetaManager.ts:195"})]}),"\n",(0,a.jsx)(r.p,{children:"Resets the stored meta names, properties and links."}),"\n",(0,a.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"void"})}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getlink",children:"getLink()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getLink"}),"(",(0,a.jsx)(r.code,{children:"relation"}),"): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"href"'}),">"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L169",children:"packages/core/src/meta/MetaManager.ts:169"})]}),"\n",(0,a.jsx)(r.p,{children:"Return the reference to the specified related linked document. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."}),"\n",(0,a.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"relation",children:"relation"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The relation of the link target to the current\npage."}),"\n",(0,a.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"href"'}),">"]}),"\n",(0,a.jsx)(r.p,{children:"The reference to the location of the related document,\ne.g. a URL."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getlinks",children:"getLinks()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getLinks"}),"(): ",(0,a.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L177",children:"packages/core/src/meta/MetaManager.ts:177"})]}),"\n",(0,a.jsx)(r.p,{children:"Returns the relations of the currently set related documents linked to\nthe current page."}),"\n",(0,a.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getlinksiterator",children:"getLinksIterator()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getLinksIterator"}),"(): ",(0,a.jsx)(r.code,{children:"never"}),"[] | ",(0,a.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,a.jsx)(r.code,{children:"string"}),", ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"href"'}),">]>"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L186",children:"packages/core/src/meta/MetaManager.ts:186"})]}),"\n",(0,a.jsx)(r.p,{children:"Return [key, value] pairs of currently set links."}),"\n",(0,a.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"never"}),"[] | ",(0,a.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,a.jsx)(r.code,{children:"string"}),", ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"href"'}),">]>"]}),"\n",(0,a.jsx)(r.p,{children:"[key, value] pairs of currently set links."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getmetaname",children:"getMetaName()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getMetaName"}),"(",(0,a.jsx)(r.code,{children:"name"}),"): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L69",children:"packages/core/src/meta/MetaManager.ts:69"})]}),"\n",(0,a.jsx)(r.p,{children:"Returns the value of the specified named meta information property. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The name of the named meta information property."}),"\n",(0,a.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">"]}),"\n",(0,a.jsx)(r.p,{children:"The value of the generic meta information, or an empty string."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getmetanames",children:"getMetaNames()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getMetaNames"}),"(): ",(0,a.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L80",children:"packages/core/src/meta/MetaManager.ts:80"})]}),"\n",(0,a.jsx)(r.p,{children:"Returns the names of the currently specified named meta information\nproperties."}),"\n",(0,a.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,a.jsx)(r.p,{children:"The names of the currently specified named meta\ninformation properties."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getmetanamesiterator",children:"getMetaNamesIterator()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getMetaNamesIterator"}),"(): ",(0,a.jsx)(r.code,{children:"never"}),"[] | ",(0,a.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,a.jsx)(r.code,{children:"string"}),", ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L89",children:"packages/core/src/meta/MetaManager.ts:89"})]}),"\n",(0,a.jsx)(r.p,{children:"Return [key, value] pairs of named meta information."}),"\n",(0,a.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"never"}),"[] | ",(0,a.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,a.jsx)(r.code,{children:"string"}),", ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n",(0,a.jsx)(r.p,{children:"[key, value] pairs of named meta information."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getmetaproperties",children:"getMetaProperties()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getMetaProperties"}),"(): ",(0,a.jsx)(r.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L131",children:"packages/core/src/meta/MetaManager.ts:131"})]}),"\n",(0,a.jsx)(r.p,{children:"Returns the names of the currently specified specialized meta\ninformation properties."}),"\n",(0,a.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"string"}),"[]"]}),"\n",(0,a.jsx)(r.p,{children:"The names of the currently specified specialized meta\ninformation properties."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getmetapropertiesiterator",children:"getMetaPropertiesIterator()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getMetaPropertiesIterator"}),"(): ",(0,a.jsx)(r.code,{children:"never"}),"[] | ",(0,a.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,a.jsx)(r.code,{children:"string"}),", ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L140",children:"packages/core/src/meta/MetaManager.ts:140"})]}),"\n",(0,a.jsx)(r.p,{children:"Return [key, value] pairs of meta information properties."}),"\n",(0,a.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"never"}),"[] | ",(0,a.jsx)(r.code,{children:"IterableIterator"}),"<[",(0,a.jsx)(r.code,{children:"string"}),", ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">]>"]}),"\n",(0,a.jsx)(r.p,{children:"[key, value] pairs of meta information properties."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"getmetaproperty",children:"getMetaProperty()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getMetaProperty"}),"(",(0,a.jsx)(r.code,{children:"property"}),"): ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">"]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L120",children:"packages/core/src/meta/MetaManager.ts:120"})]}),"\n",(0,a.jsx)(r.p,{children:"Returns the value of the specified specialized meta information\nproperty. The method returns an empty string for missing meta\ninformation (to make the returned value React-friendly)."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"property",children:"property"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:(0,a.jsx)(r.code,{children:"MetaManagerRecord"})}),"<",(0,a.jsx)(r.code,{children:'"content"'}),">"]}),"\n",(0,a.jsx)(r.p,{children:"The value of the specified meta information, or an\nempty string."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"gettitle",children:"getTitle()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"getTitle"}),"(): ",(0,a.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L45",children:"packages/core/src/meta/MetaManager.ts:45"})]}),"\n",(0,a.jsx)(r.p,{children:"Returns the page title. The method returns an empty string if no page\ntitle has been set yet."}),"\n",(0,a.jsx)(r.p,{children:"Note that the page title is cached internally by the meta manager and\nmay therefore differ from the current document title if it has been\nmodified by a 3rd party code."}),"\n",(0,a.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The current page title."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"setlink",children:"setLink()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"setLink"}),"(",(0,a.jsx)(r.code,{children:"relation"}),", ",(0,a.jsx)(r.code,{children:"href"}),", ",(0,a.jsx)(r.code,{children:"attr"}),"?): ",(0,a.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L155",children:"packages/core/src/meta/MetaManager.ts:155"})]}),"\n",(0,a.jsx)(r.p,{children:"Sets the specified specialized link information."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"relation-1",children:"relation"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The relation of the link target to the current\npage."}),"\n",(0,a.jsx)(r.h5,{id:"href",children:"href"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,a.jsx)(r.code,{children:"MetaValue"})})}),"\n",(0,a.jsx)(r.p,{children:"The reference to the location of the related\ndocument, e.g. a URL."}),"\n",(0,a.jsx)(r.h5,{id:"attr",children:"attr?"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,a.jsx)(r.code,{children:"MetaAttributes"})})}),"\n",(0,a.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"this"})}),"\n",(0,a.jsx)(r.h4,{id:"parram",children:"Parram"}),"\n",(0,a.jsx)(r.p,{children:"attr Additional optional link attributes."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"setmetaname",children:"setMetaName()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"setMetaName"}),"(",(0,a.jsx)(r.code,{children:"name"}),", ",(0,a.jsx)(r.code,{children:"content"}),", ",(0,a.jsx)(r.code,{children:"attr"}),"?): ",(0,a.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L57",children:"packages/core/src/meta/MetaManager.ts:57"})]}),"\n",(0,a.jsx)(r.p,{children:"Set the specified named meta information property."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"name-1",children:"name"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsxs)(r.p,{children:["Meta information property name, for example\n",(0,a.jsx)(r.code,{children:"keywords"}),"."]}),"\n",(0,a.jsx)(r.h5,{id:"content",children:"content"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,a.jsx)(r.code,{children:"MetaValue"})})}),"\n",(0,a.jsx)(r.p,{children:"The meta information content."}),"\n",(0,a.jsx)(r.h5,{id:"attr-1",children:"attr?"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,a.jsx)(r.code,{children:"MetaAttributes"})})}),"\n",(0,a.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"this"})}),"\n",(0,a.jsx)(r.h4,{id:"parram-1",children:"Parram"}),"\n",(0,a.jsx)(r.p,{children:"attr Additional optional meta attributes."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"setmetaproperty",children:"setMetaProperty()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"setMetaProperty"}),"(",(0,a.jsx)(r.code,{children:"property"}),", ",(0,a.jsx)(r.code,{children:"content"}),", ",(0,a.jsx)(r.code,{children:"attr"}),"?): ",(0,a.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L102",children:"packages/core/src/meta/MetaManager.ts:102"})]}),"\n",(0,a.jsx)(r.p,{children:"Sets the specified specialized meta information property."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"property-1",children:"property"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The value of the meta information property."}),"\n",(0,a.jsx)(r.h5,{id:"content-1",children:"content"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,a.jsx)(r.code,{children:"MetaValue"})})}),"\n",(0,a.jsx)(r.h5,{id:"attr-2",children:"attr?"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:(0,a.jsx)(r.code,{children:"MetaAttributes"})})}),"\n",(0,a.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"this"})}),"\n",(0,a.jsx)(r.h4,{id:"parram-2",children:"Parram"}),"\n",(0,a.jsx)(r.p,{children:"attr Additional optional meta attributes."}),"\n",(0,a.jsx)(r.hr,{}),"\n",(0,a.jsx)(r.h3,{id:"settitle",children:"setTitle()"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"setTitle"}),"(",(0,a.jsx)(r.code,{children:"title"}),"): ",(0,a.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L31",children:"packages/core/src/meta/MetaManager.ts:31"})]}),"\n",(0,a.jsx)(r.p,{children:"Sets the page title."}),"\n",(0,a.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,a.jsx)(r.h5,{id:"title",children:"title"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"string"})}),"\n",(0,a.jsx)(r.p,{children:"The new page title."}),"\n",(0,a.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.code,{children:"this"})})]})}function o(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>c});var t=n(3696);const a={},s=t.createContext(a);function i(e){const r=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/81875af5.b8723dd8.js b/assets/js/81875af5.b8723dd8.js new file mode 100644 index 000000000..498bb7599 --- /dev/null +++ b/assets/js/81875af5.b8723dd8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9200],{5970:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/MetaAttributes","title":"Type Alias: MetaAttributes","description":"MetaAttributes: Record\\\\","source":"@site/../docs/api/@ima/core/type-aliases/MetaAttributes.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/MetaAttributes","permalink":"/api/@ima/core/type-aliases/MetaAttributes","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/MetaAttributes.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ManagedPage","permalink":"/api/@ima/core/type-aliases/ManagedPage"},"next":{"title":"Type Alias: MetaManagerRecord\\\\<K\\\\>","permalink":"/api/@ima/core/type-aliases/MetaManagerRecord"}}');var r=a(2540),i=a(3023);const n={},c="Type Alias: MetaAttributes",o={},l=[];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"type-alias-metaattributes",children:"Type Alias: MetaAttributes"})}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"MetaAttributes"}),": ",(0,r.jsx)(t.code,{children:"Record"}),"<",(0,r.jsx)(t.code,{children:"string"}),", ",(0,r.jsx)(t.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:(0,r.jsx)(t.code,{children:"MetaValue"})}),">"]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L2",children:"packages/core/src/meta/MetaManager.ts:2"})]})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>n,x:()=>c});var s=a(3696);const r={},i=s.createContext(r);function n(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/81d07132.804e5b20.js b/assets/js/81d07132.804e5b20.js deleted file mode 100644 index f44615a9b..000000000 --- a/assets/js/81d07132.804e5b20.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5301],{5680:(e,a,t)=>{t.d(a,{xA:()=>p,yg:()=>m});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function g(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=r.createContext({}),o=function(e){var a=r.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):g(g({},a),e)),t},p=function(e){var a=o(e.components);return r.createElement(s.Provider,{value:a},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},y=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=o(t),y=n,m=c["".concat(s,".").concat(y)]||c[y]||d[y]||i;return t?r.createElement(m,g(g({ref:a},p),{},{components:t})):r.createElement(m,g({ref:a},p))}));function m(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,g=new Array(i);g[0]=y;var l={};for(var s in a)hasOwnProperty.call(a,s)&&(l[s]=a[s]);l.originalType=e,l[c]="string"==typeof e?e:n,g[1]=l;for(var o=2;o<i;o++)g[o]=t[o];return r.createElement.apply(null,g)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},3441:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>g,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.PageStateManagerDecorator",title:"Class: PageStateManagerDecorator",sidebar_label:"@ima/core.PageStateManagerDecorator",custom_edit_url:null},g=void 0,l={unversionedId:"api/classes/ima_core.PageStateManagerDecorator",id:"api/classes/ima_core.PageStateManagerDecorator",title:"Class: PageStateManagerDecorator",description:"@ima/core.PageStateManagerDecorator",source:"@site/../docs/api/classes/ima_core.PageStateManagerDecorator.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageStateManagerDecorator",permalink:"/api/classes/ima_core.PageStateManagerDecorator",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageStateManagerDecorator",title:"Class: PageStateManagerDecorator",sidebar_label:"@ima/core.PageStateManagerDecorator",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageStateManager",permalink:"/api/classes/ima_core.PageStateManager"},next:{title:"@ima/core.PageStateManagerImpl",permalink:"/api/classes/ima_core.PageStateManagerImpl"}},s={},o=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_allowedStateKeys",id:"_allowedstatekeys",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"onChange",id:"onchange",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"beginTransaction",id:"begintransaction",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"cancelTransaction",id:"canceltransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"commitTransaction",id:"committransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getAllStates",id:"getallstates",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getTransactionStatePatches",id:"gettransactionstatepatches",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"setState",id:"setstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-11",level:4}],p={toc:o},c="wrapper";function d(e){let{components:a,...t}=e;return(0,n.yg)(c,(0,r.A)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageStateManagerDecorator"),(0,n.yg)("p",null,"Decorator for page state manager, which add logic for limiting Extension\ncompetence."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"PageStateManagerDecorator"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new PageStateManagerDecorator"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageStateManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"allowedStateKeys"),")"),(0,n.yg)("p",null,"Initializes the page state manager decorator."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageStateManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"allowedStateKeys")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L25"},"packages/core/src/page/state/PageStateManagerDecorator.ts:25")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_allowedstatekeys"},"_","allowedStateKeys"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","allowedStateKeys"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"Array of access keys for state."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L17"},"packages/core/src/page/state/PageStateManagerDecorator.ts:17")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pagestatemanager"},"_","pageStateManager"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","pageStateManager"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,n.yg)("p",null,"The current page state manager."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L13"},"packages/core/src/page/state/PageStateManagerDecorator.ts:13")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"onchange"},"onChange"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"onChange"),": (",(0,n.yg)("inlineCode",{parentName:"p"},"newState"),": {}) => ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("p",null,"\u25b8 (",(0,n.yg)("inlineCode",{parentName:"p"},"newState"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h5",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"newState")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object"))))),(0,n.yg)("h5",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#onchange"},"onChange")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManager.ts#L7"},"packages/core/src/page/state/PageStateManager.ts:7")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"begintransaction"},"beginTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"beginTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Starts queueing state patches off the main state. While the transaction\nis active every ",(0,n.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,n.yg)("p",null,"Note that call to ",(0,n.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#begintransaction"},"beginTransaction")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L89"},"packages/core/src/page/state/PageStateManagerDecorator.ts:89")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"canceltransaction"},"cancelTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"cancelTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Cancels ongoing transaction. Uncommitted state changes are lost."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#canceltransaction"},"cancelTransaction")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L103"},"packages/core/src/page/state/PageStateManagerDecorator.ts:103")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Clears the state history."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#clear"},"clear")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L39"},"packages/core/src/page/state/PageStateManagerDecorator.ts:39")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"committransaction"},"commitTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"commitTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Applies queued state patches to the main state. All patches are squashed\nand applied with one ",(0,n.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#committransaction"},"commitTransaction")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L96"},"packages/core/src/page/state/PageStateManagerDecorator.ts:96")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getallstates"},"getAllStates"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getAllStates"),"(): {}[]"),(0,n.yg)("p",null,"Returns the recorded history of page states. The states will be\nchronologically sorted from the oldest to the newest."),(0,n.yg)("p",null,"Note that the implementation may limit the size of the recorded history,\ntherefore the complete history may not be available."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,"{}[]"),(0,n.yg)("p",null,"The recorded history of page states."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#getallstates"},"getAllStates")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L75"},"packages/core/src/page/state/PageStateManagerDecorator.ts:75")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getstate"},"getState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the current page state."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The current page state."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#getstate"},"getState")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L68"},"packages/core/src/page/state/PageStateManagerDecorator.ts:68")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gettransactionstatepatches"},"getTransactionStatePatches"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getTransactionStatePatches"),"(): (",(0,n.yg)("inlineCode",{parentName:"p"},"null")," ","|"," {} ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<{}, ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",")[]"),(0,n.yg)("p",null,"Returns queueing state patches off the main state from the begin of transaction."),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,"(",(0,n.yg)("inlineCode",{parentName:"p"},"null")," ","|"," {} ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Pick"),"\\<{}, ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",")[]"),(0,n.yg)("p",null,"State patches from the begin of transaction."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#gettransactionstatepatches"},"getTransactionStatePatches")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L82"},"packages/core/src/page/state/PageStateManagerDecorator.ts:82")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setstate"},"setState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setState"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"statePatch"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Sets a new page state by applying the provided patch to the current\nstate."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"statePatch")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},"PageStateManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager#setstate"},"setState")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerDecorator.ts#L46"},"packages/core/src/page/state/PageStateManagerDecorator.ts:46")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/82fa5401.5d4aef44.js b/assets/js/82fa5401.5d4aef44.js deleted file mode 100644 index 31389761c..000000000 --- a/assets/js/82fa5401.5d4aef44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5324],{5680:(e,t,n)=>{n.d(t,{xA:()=>m,yg:()=>c});var i=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=i.createContext({}),s=function(e){var t=i.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=s(e.components);return i.createElement(p.Provider,{value:t},e.children)},g="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),g=s(n),d=a,c=g["".concat(p,".").concat(d)]||g[d]||u[d]||r;return n?i.createElement(c,o(o({ref:t},m),{},{components:n})):i.createElement(c,o({ref:t},m))}));function c(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[g]="string"==typeof e?e:a,o[1]=l;for(var s=2;s<r;s++)o[s]=n[s];return i.createElement.apply(null,o)}return i.createElement.apply(null,n)}d.displayName="MDXCreateElement"},4005:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>s});var i=n(8102),a=(n(6540),n(5680));const r={title:"Migration 0.14.0",description:"Migration > Migration to version 0.14.0"},o=void 0,l={unversionedId:"migration/migration-0.14.0",id:"migration/migration-0.14.0",title:"Migration 0.14.0",description:"Migration > Migration to version 0.14.0",source:"@site/../docs/migration/migration-0.14.0.md",sourceDirName:"migration",slug:"/migration/migration-0.14.0",permalink:"/migration/migration-0.14.0",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-0.14.0.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Migration 0.14.0",description:"Migration > Migration to version 0.14.0"},sidebar:"docs",previous:{title:"Options",permalink:"/devtools/devtools-options"},next:{title:"Migration 0.15.0",permalink:"/migration/migration-0.15.0"}},p={},s=[],m={toc:s},g="wrapper";function u(e){let{components:t,...n}=e;return(0,a.yg)(g,(0,i.A)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"In order to upgrade your project to use IMA.js 0.14.0, please follow these steps:"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},"Update your ",(0,a.yg)("inlineCode",{parentName:"li"},"gulpfile.js")," to require the default configuration from the ",(0,a.yg)("inlineCode",{parentName:"li"},"ima-gulp-tasks")," package in the gulpfile.js (see the ",(0,a.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-skeleton/blob/master/gulpConfig.js"},"example configuration"),")."),(0,a.yg)("li",{parentName:"ul"},"If you are using custom ",(0,a.yg)("inlineCode",{parentName:"li"},"build")," and ",(0,a.yg)("inlineCode",{parentName:"li"},"dev")," tasks, remove the ",(0,a.yg)("inlineCode",{parentName:"li"},"Es6toEs5:ima")," task from those."),(0,a.yg)("li",{parentName:"ul"},"Update your own custom gulp tasks to be compatible with ",(0,a.yg)("a",{parentName:"li",href:"https://github.com/gulpjs/gulp/tree/4.0"},"gulp 4")),(0,a.yg)("li",{parentName:"ul"},"Remove references to the ",(0,a.yg)("inlineCode",{parentName:"li"},"ima.client.js")," file in the ",(0,a.yg)("inlineCode",{parentName:"li"},"settings.js")," file and the ",(0,a.yg)("inlineCode",{parentName:"li"},"bundle")," section in the ",(0,a.yg)("inlineCode",{parentName:"li"},"build.js")," file."),(0,a.yg)("li",{parentName:"ul"},"Add the ",(0,a.yg)("inlineCode",{parentName:"li"},"ima")," package to the ",(0,a.yg)("inlineCode",{parentName:"li"},"common")," group in the ",(0,a.yg)("inlineCode",{parentName:"li"},"vendors")," section in the ",(0,a.yg)("inlineCode",{parentName:"li"},"build.js")," file."),(0,a.yg)("li",{parentName:"ul"},"Update your ",(0,a.yg)("inlineCode",{parentName:"li"},"main.js")," file, the ",(0,a.yg)("inlineCode",{parentName:"li"},"ima.onLoad")," method ",(0,a.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/main.js#L17"},"returns a promise instead of accepting a callback"),"."),(0,a.yg)("li",{parentName:"ul"},"Update your ",(0,a.yg)("inlineCode",{parentName:"li"},"ima-server")," installation according to the ",(0,a.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello"},"Hello World example"),"."),(0,a.yg)("li",{parentName:"ul"},"Plugins can no longer use namespaces, please update your ",(0,a.yg)("inlineCode",{parentName:"li"},"bind.js")," file if you were using namespace references to IMA plugins."),(0,a.yg)("li",{parentName:"ul"},"Import the ",(0,a.yg)("inlineCode",{parentName:"li"},"RouteNames")," constants from ",(0,a.yg)("inlineCode",{parentName:"li"},"ima/router/RouteNames")," in your ",(0,a.yg)("inlineCode",{parentName:"li"},"router.js")," configuration file."),(0,a.yg)("li",{parentName:"ul"},"Components may now declare the ",(0,a.yg)("inlineCode",{parentName:"li"},"defaultProps")," and ",(0,a.yg)("inlineCode",{parentName:"li"},"propTypes")," static properties as getters."),(0,a.yg)("li",{parentName:"ul"},"The ",(0,a.yg)("inlineCode",{parentName:"li"},"$ROUTER_CONSTANTS")," alias no longer exists (import the ",(0,a.yg)("inlineCode",{parentName:"li"},"ima/router/RouteNames")," file)."),(0,a.yg)("li",{parentName:"ul"},"The ",(0,a.yg)("inlineCode",{parentName:"li"},"$HTTP_STATUS_CODE")," alias no longer exists (import the ",(0,a.yg)("inlineCode",{parentName:"li"},"ima/http/StatusCode")," file)."),(0,a.yg)("li",{parentName:"ul"},"Removed the ",(0,a.yg)("inlineCode",{parentName:"li"},"$Promise"),", ",(0,a.yg)("inlineCode",{parentName:"li"},"$CacheEntry"),", ",(0,a.yg)("inlineCode",{parentName:"li"},"$PageRendererViewAdapter"),", ",(0,a.yg)("inlineCode",{parentName:"li"},"$Route")," (switched to imports internally)."),(0,a.yg)("li",{parentName:"ul"},"The loose mode of the ",(0,a.yg)("a",{parentName:"li",href:"http://babeljs.io/docs/plugins/preset-es2015/"},"ES2015 babel preset")," is no longer enabled."),(0,a.yg)("li",{parentName:"ul"},"Upgrade to node.js 7 or newer (older version ",(0,a.yg)("em",{parentName:"li"},"might")," work but are no longer supported)."),(0,a.yg)("li",{parentName:"ul"},"Switch to default exports in your ",(0,a.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/config"},"configuration files"),"."),(0,a.yg)("li",{parentName:"ul"},"Remove the './node_modules/ima-babel6-polyfill/index.js' reference from the polyfills list in gulpConfig.js (if overridden; this has been fixed by babel)."),(0,a.yg)("li",{parentName:"ul"},"Remove the ",(0,a.yg)("inlineCode",{parentName:"li"},"main.less")," file reference in the ",(0,a.yg)("inlineCode",{parentName:"li"},"build.js")," file (unless it exists in the project)."),(0,a.yg)("li",{parentName:"ul"},"Add the ",(0,a.yg)("inlineCode",{parentName:"li"},"$CssClasses")," property to object in the ",(0,a.yg)("inlineCode",{parentName:"li"},"$Utils")," OC alias.")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/82fa5401.ce4ab917.js b/assets/js/82fa5401.ce4ab917.js new file mode 100644 index 000000000..522a7db53 --- /dev/null +++ b/assets/js/82fa5401.ce4ab917.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5324],{7548:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"migration/migration-0.14.0","title":"Migration 0.14.0","description":"Migration > Migration to version 0.14.0","source":"@site/../docs/migration/migration-0.14.0.md","sourceDirName":"migration","slug":"/migration/migration-0.14.0","permalink":"/migration/migration-0.14.0","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-0.14.0.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Migration 0.14.0","description":"Migration > Migration to version 0.14.0"},"sidebar":"docs","previous":{"title":"Options","permalink":"/devtools/devtools-options"},"next":{"title":"Migration 0.15.0","permalink":"/migration/migration-0.15.0"}}');var t=s(2540),o=s(3023);const r={title:"Migration 0.14.0",description:"Migration > Migration to version 0.14.0"},l=void 0,c={},a=[];function d(e){const i={a:"a",code:"code",em:"em",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"In order to upgrade your project to use IMA.js 0.14.0, please follow these steps:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Update your ",(0,t.jsx)(i.code,{children:"gulpfile.js"})," to require the default configuration from the ",(0,t.jsx)(i.code,{children:"ima-gulp-tasks"})," package in the gulpfile.js (see the ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/IMA.js-skeleton/blob/master/gulpConfig.js",children:"example configuration"}),")."]}),"\n",(0,t.jsxs)(i.li,{children:["If you are using custom ",(0,t.jsx)(i.code,{children:"build"})," and ",(0,t.jsx)(i.code,{children:"dev"})," tasks, remove the ",(0,t.jsx)(i.code,{children:"Es6toEs5:ima"})," task from those."]}),"\n",(0,t.jsxs)(i.li,{children:["Update your own custom gulp tasks to be compatible with ",(0,t.jsx)(i.a,{href:"https://github.com/gulpjs/gulp/tree/4.0",children:"gulp 4"})]}),"\n",(0,t.jsxs)(i.li,{children:["Remove references to the ",(0,t.jsx)(i.code,{children:"ima.client.js"})," file in the ",(0,t.jsx)(i.code,{children:"settings.js"})," file and the ",(0,t.jsx)(i.code,{children:"bundle"})," section in the ",(0,t.jsx)(i.code,{children:"build.js"})," file."]}),"\n",(0,t.jsxs)(i.li,{children:["Add the ",(0,t.jsx)(i.code,{children:"ima"})," package to the ",(0,t.jsx)(i.code,{children:"common"})," group in the ",(0,t.jsx)(i.code,{children:"vendors"})," section in the ",(0,t.jsx)(i.code,{children:"build.js"})," file."]}),"\n",(0,t.jsxs)(i.li,{children:["Update your ",(0,t.jsx)(i.code,{children:"main.js"})," file, the ",(0,t.jsx)(i.code,{children:"ima.onLoad"})," method ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/main.js#L17",children:"returns a promise instead of accepting a callback"}),"."]}),"\n",(0,t.jsxs)(i.li,{children:["Update your ",(0,t.jsx)(i.code,{children:"ima-server"})," installation according to the ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello",children:"Hello World example"}),"."]}),"\n",(0,t.jsxs)(i.li,{children:["Plugins can no longer use namespaces, please update your ",(0,t.jsx)(i.code,{children:"bind.js"})," file if you were using namespace references to IMA plugins."]}),"\n",(0,t.jsxs)(i.li,{children:["Import the ",(0,t.jsx)(i.code,{children:"RouteNames"})," constants from ",(0,t.jsx)(i.code,{children:"ima/router/RouteNames"})," in your ",(0,t.jsx)(i.code,{children:"router.js"})," configuration file."]}),"\n",(0,t.jsxs)(i.li,{children:["Components may now declare the ",(0,t.jsx)(i.code,{children:"defaultProps"})," and ",(0,t.jsx)(i.code,{children:"propTypes"})," static properties as getters."]}),"\n",(0,t.jsxs)(i.li,{children:["The ",(0,t.jsx)(i.code,{children:"$ROUTER_CONSTANTS"})," alias no longer exists (import the ",(0,t.jsx)(i.code,{children:"ima/router/RouteNames"})," file)."]}),"\n",(0,t.jsxs)(i.li,{children:["The ",(0,t.jsx)(i.code,{children:"$HTTP_STATUS_CODE"})," alias no longer exists (import the ",(0,t.jsx)(i.code,{children:"ima/http/StatusCode"})," file)."]}),"\n",(0,t.jsxs)(i.li,{children:["Removed the ",(0,t.jsx)(i.code,{children:"$Promise"}),", ",(0,t.jsx)(i.code,{children:"$CacheEntry"}),", ",(0,t.jsx)(i.code,{children:"$PageRendererViewAdapter"}),", ",(0,t.jsx)(i.code,{children:"$Route"})," (switched to imports internally)."]}),"\n",(0,t.jsxs)(i.li,{children:["The loose mode of the ",(0,t.jsx)(i.a,{href:"http://babeljs.io/docs/plugins/preset-es2015/",children:"ES2015 babel preset"})," is no longer enabled."]}),"\n",(0,t.jsxs)(i.li,{children:["Upgrade to node.js 7 or newer (older version ",(0,t.jsx)(i.em,{children:"might"})," work but are no longer supported)."]}),"\n",(0,t.jsxs)(i.li,{children:["Switch to default exports in your ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app/examples/hello/config",children:"configuration files"}),"."]}),"\n",(0,t.jsx)(i.li,{children:"Remove the './node_modules/ima-babel6-polyfill/index.js' reference from the polyfills list in gulpConfig.js (if overridden; this has been fixed by babel)."}),"\n",(0,t.jsxs)(i.li,{children:["Remove the ",(0,t.jsx)(i.code,{children:"main.less"})," file reference in the ",(0,t.jsx)(i.code,{children:"build.js"})," file (unless it exists in the project)."]}),"\n",(0,t.jsxs)(i.li,{children:["Add the ",(0,t.jsx)(i.code,{children:"$CssClasses"})," property to object in the ",(0,t.jsx)(i.code,{children:"$Utils"})," OC alias."]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,i,s)=>{s.d(i,{R:()=>r,x:()=>l});var n=s(3696);const t={},o=n.createContext(t);function r(e){const i=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),n.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83bd1dfb.c336ddb0.js b/assets/js/83bd1dfb.c336ddb0.js deleted file mode 100644 index 9d8b3da16..000000000 --- a/assets/js/83bd1dfb.c336ddb0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1],{5680:(e,n,t)=>{t.d(n,{xA:()=>p,yg:()=>d});var a=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var o=a.createContext({}),u=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},p=function(e){var n=u(e.components);return a.createElement(o.Provider,{value:n},e.children)},c="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,l=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=u(t),m=i,d=c["".concat(o,".").concat(m)]||c[m]||g[m]||l;return t?a.createElement(d,r(r({ref:n},p),{},{components:t})):a.createElement(d,r({ref:n},p))}));function d(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var l=t.length,r=new Array(l);r[0]=m;var s={};for(var o in n)hasOwnProperty.call(n,o)&&(s[o]=n[o]);s.originalType=e,s[c]="string"==typeof e?e:i,r[1]=s;for(var u=2;u<l;u++)r[u]=t[u];return a.createElement.apply(null,r)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},6185:(e,n,t)=>{t.d(n,{A:()=>r});var a=t(6540),i=t(8017);const l={tabItem:"tabItem_Ymn6"};function r(e){let{children:n,hidden:t,className:r}=e;return a.createElement("div",{role:"tabpanel",className:(0,i.A)(l.tabItem,r),hidden:t},n)}},1253:(e,n,t)=>{t.d(n,{A:()=>C});var a=t(8102),i=t(6540),l=t(8017),r=t(3104),s=t(9519),o=t(7485),u=t(1682),p=t(9466);function c(e){return function(e){return i.Children.map(e,(e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:i}}=e;return{value:n,label:t,attributes:a,default:i}}))}function g(e){const{values:n,children:t}=e;return(0,i.useMemo)((()=>{const e=n??c(t);return function(e){const n=(0,u.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function d(e){let{queryString:n=!1,groupId:t}=e;const a=(0,s.W6)(),l=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o.aZ)(l),(0,i.useCallback)((e=>{if(!l)return;const n=new URLSearchParams(a.location.search);n.set(l,e),a.replace({...a.location,search:n.toString()})}),[l,a])]}function y(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,l=g(e),[r,s]=(0,i.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:l}))),[o,u]=d({queryString:t,groupId:a}),[c,y]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,l]=(0,p.Dv)(t);return[a,(0,i.useCallback)((e=>{t&&l.set(e)}),[t,l])]}({groupId:a}),h=(()=>{const e=o??c;return m({value:e,tabValues:l})?e:null})();(0,i.useLayoutEffect)((()=>{h&&s(h)}),[h]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);s(e),u(e),y(e)}),[u,y,l]),tabValues:l}}var h=t(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:n,block:t,selectedValue:s,selectValue:o,tabValues:u}=e;const p=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.a_)(),g=e=>{const n=e.currentTarget,t=p.indexOf(n),a=u[t].value;a!==s&&(c(n),o(a))},m=e=>{let n=null;switch(e.key){case"Enter":g(e);break;case"ArrowRight":{const t=p.indexOf(e.currentTarget)+1;n=p[t]??p[0];break}case"ArrowLeft":{const t=p.indexOf(e.currentTarget)-1;n=p[t]??p[p.length-1];break}}n?.focus()};return i.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.A)("tabs",{"tabs--block":t},n)},u.map((e=>{let{value:n,label:t,attributes:r}=e;return i.createElement("li",(0,a.A)({role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,key:n,ref:e=>p.push(e),onKeyDown:m,onClick:g},r,{className:(0,l.A)("tabs__item",f.tabItem,r?.className,{"tabs__item--active":s===n})}),t??n)})))}function v(e){let{lazy:n,children:t,selectedValue:a}=e;const l=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=l.find((e=>e.props.value===a));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return i.createElement("div",{className:"margin-top--md"},l.map(((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function N(e){const n=y(e);return i.createElement("div",{className:(0,l.A)("tabs-container",f.tabList)},i.createElement(b,(0,a.A)({},e,n)),i.createElement(v,(0,a.A)({},e,n)))}function C(e){const n=(0,h.A)();return i.createElement(N,(0,a.A)({key:String(n)},e))}},4325:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>u,toc:()=>c});var a=t(8102),i=(t(6540),t(5680)),l=t(1253),r=t(6185);const s={title:"LESS Constants Plugin",description:"CLI > CLI Plugins and their API > LESS Constants Plugin"},o=void 0,u={unversionedId:"cli/plugins/less-constants-plugin",id:"cli/plugins/less-constants-plugin",title:"LESS Constants Plugin",description:"CLI > CLI Plugins and their API > LESS Constants Plugin",source:"@site/../docs/cli/plugins/less-constants-plugin.md",sourceDirName:"cli/plugins",slug:"/cli/plugins/less-constants-plugin",permalink:"/cli/plugins/less-constants-plugin",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/plugins/less-constants-plugin.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"LESS Constants Plugin",description:"CLI > CLI Plugins and their API > LESS Constants Plugin"},sidebar:"docs",previous:{title:"ScrambleCSS Plugin",permalink:"/cli/plugins/scramble-css-plugin"},next:{title:"Plugins API",permalink:"/plugins/plugin-api"}},p={},c=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Create theme.js file with constants definitions",id:"create-themejs-file-with-constants-definitions",level:3},{value:"Import generated <code>constants.less</code> in globals",id:"import-generated-constantsless-in-globals",level:3},{value:"Usage in JavaScript",id:"usage-in-javascript",level:3},{value:"Options",id:"options",level:2},{value:"entry",id:"entry",level:3},{value:"output",id:"output",level:3},{value:"Units",id:"units",level:2},{value:"Custom units",id:"custom-units",level:3}],g={toc:c},m="wrapper";function d(e){let{components:n,...t}=e;return(0,i.yg)(m,(0,a.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"Adds preprocessor which converts theme values defined in the JS file, to their ",(0,i.yg)("strong",{parentName:"p"},"LESS variable counterparts"),"."),(0,i.yg)("p",null,"Can be used to share theme variables between JS and LESS files or even multiple npm packages to allow for easier overrides."),(0,i.yg)("h2",{id:"installation"},"Installation"),(0,i.yg)(l.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,i.yg)(r.A,{value:"npm",mdxType:"TabItem"},(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-bash"},"npm install @ima/cli-plugin-less-constants -D\n"))),(0,i.yg)(r.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add @ima/cli-plugin-less-constants --dev\n"))),(0,i.yg)(r.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add @ima/cli-plugin-less-constants -D\n")))),(0,i.yg)("h2",{id:"usage"},"Usage"),(0,i.yg)("p",null,"First create new plugin instance in the ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const { LessConstantsPlugin } = require('@ima/cli-plugin-less-constants');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n plugins: [\n new LessConstantsPlugin({\n entry: './app/config/theme.js'\n })\n ],\n};\n")),(0,i.yg)("h3",{id:"create-themejs-file-with-constants-definitions"},"Create theme.js file with constants definitions"),(0,i.yg)("p",null,"Then export your LESS JS constants from the provided entry file, using the available ",(0,i.yg)("a",{parentName:"p",href:"/cli/plugins/less-constants-plugin#units"},(0,i.yg)("inlineCode",{parentName:"a"},"units")," helper functions"),", imported from the CLI plugin:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./app/config/theme.js",title:"./app/config/theme.js"},"import { units, media } from '@ima/cli-plugin-less-constants/units';\n\nexport default {\n bodyfontSize: units.rem(1),\n headerHeight: units.px(120),\n bodyWidth: units.vw(100),\n greaterThanMobile: media.maxWidthMedia(360, 'screen'),\n zIndexes: units.lessMap({\n header: 100,\n footer: 200,\n body: 1,\n }),\n};\n")),(0,i.yg)("p",null,"This produces the following output:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-less",metastring:"title=./build/less-constants/constants.less",title:"./build/less-constants/constants.less"},'@bodyfont-size: 1rem;\n@header-height: 120px;\n@body-width: 100vw;\n@greater-than-mobile: ~"screen and (max-width: 360)";\n@z-indexes: {\n header: 100;\n footer: 200;\n body: 1;\n}\n')),(0,i.yg)("h3",{id:"import-generated-constantsless-in-globals"},"Import generated ",(0,i.yg)("inlineCode",{parentName:"h3"},"constants.less")," in globals"),(0,i.yg)("p",null,"Finally don't forget to import the generated ",(0,i.yg)("inlineCode",{parentName:"p"},"./build/less-constants/constants.less")," file in your ",(0,i.yg)("inlineCode",{parentName:"p"},"./app/less/globals.less")," to have the variables available in all LESS files automatically without explicit import."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./app/less/globals.less",title:"./app/less/globals.less"},'@import "../../build/less-constants/constants.less";\n')),(0,i.yg)("h3",{id:"usage-in-javascript"},"Usage in JavaScript"),(0,i.yg)("p",null,"Since every unit returns ",(0,i.yg)("a",{parentName:"p",href:"/cli/plugins/less-constants-plugin#units"},(0,i.yg)("inlineCode",{parentName:"a"},"Unit"))," object, you can always access it's value through the ",(0,i.yg)("inlineCode",{parentName:"p"},".valueOf()")," method or use the CSS interpreted value by calling ",(0,i.yg)("inlineCode",{parentName:"p"},".toString()"),"."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-jsx"},"import { headerHeight } from 'app/config/theme.js';\n\nexport default function ThemeComponent({ children, title, href }) {\n return (\n <div>\n Header height has an absolute value of: {headerHeight.valueOf()} {/* 120 */},\n while it's CSS value is: {headerHeight.toString()} {/* 120px */}\n </div>\n );\n}\n")),(0,i.yg)("admonition",{type:"caution"},(0,i.yg)("p",{parentName:"admonition"},"The constants are generated only in the ",(0,i.yg)("a",{parentName:"p",href:"/cli/cli-plugins-api#plugins-api"},(0,i.yg)("inlineCode",{parentName:"a"},"preProcess"))," which ",(0,i.yg)("strong",{parentName:"p"},"runs just ones before the compilation"),". So make sure to restart the built manually, when you add any new constants, to allow for the regeneration of the ",(0,i.yg)("inlineCode",{parentName:"p"},"constants.less")," file.")),(0,i.yg)("h2",{id:"options"},"Options"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-ts"},"new LessConstantsPlugin(options: {\n entry: string;\n output?: string;\n});\n")),(0,i.yg)("h3",{id:"entry"},"entry"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"string"))),(0,i.yg)("p",null,"Path to the LESS constants JS file."),(0,i.yg)("h3",{id:"output"},"output"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"string"))),(0,i.yg)("p",null,"Optional custom output path, defaults to ",(0,i.yg)("inlineCode",{parentName:"p"},"./build/less-constants/constants.less"),"."),(0,i.yg)("h2",{id:"units"},"Units"),(0,i.yg)("p",null,"The plugin provides unit functions for almost every unit available + some other helpers. Each helper returns ",(0,i.yg)("inlineCode",{parentName:"p"},"Unit")," object with following interface:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-ts"},"export interface Unit {\n valueOf: () => string;\n toString: () => string;\n}\n")),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"Numeric values")," - ",(0,i.yg)("inlineCode",{parentName:"li"},"em"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"ex"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"ch"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"rem"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"lh"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"rlh"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"vw"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"vh"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"vmin"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"vmax"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"vb"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"vi"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"svw"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"svh"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"lvw"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"lvh"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"dvw"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"dvh"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"cm"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"mm"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"Q"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"inches"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"pc"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"pt"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"px"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"percent"),"."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"Color values")," - ",(0,i.yg)("inlineCode",{parentName:"li"},"hex"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"rgb"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"rgba"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"hsl"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"hsla"),"."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"Media queries")," - ",(0,i.yg)("inlineCode",{parentName:"li"},"maxWidthMedia"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"minWidthMedia"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"minAndMaxWidthMedia"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"maxHeightMedia"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"minHeightMedia"),"."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"LESS map helper")," - ",(0,i.yg)("inlineCode",{parentName:"li"},"lessMap"),' can be used to group together similar values in an "object-like" value.')),(0,i.yg)("h3",{id:"custom-units"},"Custom units"),(0,i.yg)("p",null,"If you're missing any additional helpers, you can always define your own, either custom ones (as long as they adhere to the ",(0,i.yg)("inlineCode",{parentName:"p"},"Unit")," interface) or you can use the following helper:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-typescript"},"import { asUnit } from '@ima/cli-plugin-less-constants/units';\n\nfunction asUnit(\n unit: string,\n parts: (string | number)[],\n template = '${parts}${unit}'\n): Unit {\n return {\n __propertyDeclaration: true,\n\n valueOf(): string {\n return parts.length === 1 ? parts[0].toString() : this.toString();\n },\n\n toString(): string {\n return template\n .replace('${parts}', parts.join(','))\n .replace('${unit}', unit);\n },\n };\n}\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/83bd1dfb.c924c1fb.js b/assets/js/83bd1dfb.c924c1fb.js new file mode 100644 index 000000000..563d8818e --- /dev/null +++ b/assets/js/83bd1dfb.c924c1fb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1],{352:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>u});const t=JSON.parse('{"id":"cli/plugins/less-constants-plugin","title":"LESS Constants Plugin","description":"CLI > CLI Plugins and their API > LESS Constants Plugin","source":"@site/../docs/cli/plugins/less-constants-plugin.md","sourceDirName":"cli/plugins","slug":"/cli/plugins/less-constants-plugin","permalink":"/cli/plugins/less-constants-plugin","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/plugins/less-constants-plugin.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"LESS Constants Plugin","description":"CLI > CLI Plugins and their API > LESS Constants Plugin"},"sidebar":"docs","previous":{"title":"ScrambleCSS Plugin","permalink":"/cli/plugins/scramble-css-plugin"},"next":{"title":"Plugins API","permalink":"/plugins/plugin-api"}}');var i=s(2540),l=s(3023),r=s(3776),a=s(6052);const o={title:"LESS Constants Plugin",description:"CLI > CLI Plugins and their API > LESS Constants Plugin"},c=void 0,d={},u=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Create theme.js file with constants definitions",id:"create-themejs-file-with-constants-definitions",level:3},{value:"Import generated <code>constants.less</code> in globals",id:"import-generated-constantsless-in-globals",level:3},{value:"Usage in JavaScript",id:"usage-in-javascript",level:3},{value:"Options",id:"options",level:2},{value:"entry",id:"entry",level:3},{value:"output",id:"output",level:3},{value:"Units",id:"units",level:2},{value:"Custom units",id:"custom-units",level:3}];function h(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Adds preprocessor which converts theme values defined in the JS file, to their ",(0,i.jsx)(n.strong,{children:"LESS variable counterparts"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Can be used to share theme variables between JS and LESS files or even multiple npm packages to allow for easier overrides."}),"\n",(0,i.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsxs)(r.A,{groupId:"npm2yarn",children:[(0,i.jsx)(a.A,{value:"npm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm install @ima/cli-plugin-less-constants -D\n"})})}),(0,i.jsx)(a.A,{value:"yarn",label:"Yarn",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"yarn add @ima/cli-plugin-less-constants --dev\n"})})}),(0,i.jsx)(a.A,{value:"pnpm",label:"pnpm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"pnpm add @ima/cli-plugin-less-constants -D\n"})})})]}),"\n",(0,i.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,i.jsxs)(n.p,{children:["First create new plugin instance in the ",(0,i.jsx)(n.code,{children:"ima.config.js"})," file:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const { LessConstantsPlugin } = require('@ima/cli-plugin-less-constants');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n plugins: [\n new LessConstantsPlugin({\n entry: './app/config/theme.js'\n })\n ],\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"create-themejs-file-with-constants-definitions",children:"Create theme.js file with constants definitions"}),"\n",(0,i.jsxs)(n.p,{children:["Then export your LESS JS constants from the provided entry file, using the available ",(0,i.jsxs)(n.a,{href:"/cli/plugins/less-constants-plugin#units",children:[(0,i.jsx)(n.code,{children:"units"})," helper functions"]}),", imported from the CLI plugin:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:"title=./app/config/theme.js",children:"import { units, media } from '@ima/cli-plugin-less-constants/units';\n\nexport default {\n bodyfontSize: units.rem(1),\n headerHeight: units.px(120),\n bodyWidth: units.vw(100),\n greaterThanMobile: media.maxWidthMedia(360, 'screen'),\n zIndexes: units.lessMap({\n header: 100,\n footer: 200,\n body: 1,\n }),\n};\n"})}),"\n",(0,i.jsx)(n.p,{children:"This produces the following output:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-less",metastring:"title=./build/less-constants/constants.less",children:'@bodyfont-size: 1rem;\n@header-height: 120px;\n@body-width: 100vw;\n@greater-than-mobile: ~"screen and (max-width: 360)";\n@z-indexes: {\n header: 100;\n footer: 200;\n body: 1;\n}\n'})}),"\n",(0,i.jsxs)(n.h3,{id:"import-generated-constantsless-in-globals",children:["Import generated ",(0,i.jsx)(n.code,{children:"constants.less"})," in globals"]}),"\n",(0,i.jsxs)(n.p,{children:["Finally don't forget to import the generated ",(0,i.jsx)(n.code,{children:"./build/less-constants/constants.less"})," file in your ",(0,i.jsx)(n.code,{children:"./app/less/globals.less"})," to have the variables available in all LESS files automatically without explicit import."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:"title=./app/less/globals.less",children:'@import "../../build/less-constants/constants.less";\n'})}),"\n",(0,i.jsx)(n.h3,{id:"usage-in-javascript",children:"Usage in JavaScript"}),"\n",(0,i.jsxs)(n.p,{children:["Since every unit returns ",(0,i.jsx)(n.a,{href:"/cli/plugins/less-constants-plugin#units",children:(0,i.jsx)(n.code,{children:"Unit"})})," object, you can always access it's value through the ",(0,i.jsx)(n.code,{children:".valueOf()"})," method or use the CSS interpreted value by calling ",(0,i.jsx)(n.code,{children:".toString()"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import { headerHeight } from 'app/config/theme.js';\n\nexport default function ThemeComponent({ children, title, href }) {\n return (\n <div>\n Header height has an absolute value of: {headerHeight.valueOf()} {/* 120 */},\n while it's CSS value is: {headerHeight.toString()} {/* 120px */}\n </div>\n );\n}\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"caution",children:(0,i.jsxs)(n.p,{children:["The constants are generated only in the ",(0,i.jsx)(n.a,{href:"/cli/cli-plugins-api#plugins-api",children:(0,i.jsx)(n.code,{children:"preProcess"})})," which ",(0,i.jsx)(n.strong,{children:"runs just ones before the compilation"}),". So make sure to restart the built manually, when you add any new constants, to allow for the regeneration of the ",(0,i.jsx)(n.code,{children:"constants.less"})," file."]})}),"\n",(0,i.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"new LessConstantsPlugin(options: {\n entry: string;\n output?: string;\n});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"entry",children:"entry"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Path to the LESS constants JS file."}),"\n",(0,i.jsx)(n.h3,{id:"output",children:"output"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Optional custom output path, defaults to ",(0,i.jsx)(n.code,{children:"./build/less-constants/constants.less"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"units",children:"Units"}),"\n",(0,i.jsxs)(n.p,{children:["The plugin provides unit functions for almost every unit available + some other helpers. Each helper returns ",(0,i.jsx)(n.code,{children:"Unit"})," object with following interface:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"export interface Unit {\n valueOf: () => string;\n toString: () => string;\n}\n"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Numeric values"})," - ",(0,i.jsx)(n.code,{children:"em"}),", ",(0,i.jsx)(n.code,{children:"ex"}),", ",(0,i.jsx)(n.code,{children:"ch"}),", ",(0,i.jsx)(n.code,{children:"rem"}),", ",(0,i.jsx)(n.code,{children:"lh"}),", ",(0,i.jsx)(n.code,{children:"rlh"}),", ",(0,i.jsx)(n.code,{children:"vw"}),", ",(0,i.jsx)(n.code,{children:"vh"}),", ",(0,i.jsx)(n.code,{children:"vmin"}),", ",(0,i.jsx)(n.code,{children:"vmax"}),", ",(0,i.jsx)(n.code,{children:"vb"}),", ",(0,i.jsx)(n.code,{children:"vi"}),", ",(0,i.jsx)(n.code,{children:"svw"}),", ",(0,i.jsx)(n.code,{children:"svh"}),", ",(0,i.jsx)(n.code,{children:"lvw"}),", ",(0,i.jsx)(n.code,{children:"lvh"}),", ",(0,i.jsx)(n.code,{children:"dvw"}),", ",(0,i.jsx)(n.code,{children:"dvh"}),", ",(0,i.jsx)(n.code,{children:"cm"}),", ",(0,i.jsx)(n.code,{children:"mm"}),", ",(0,i.jsx)(n.code,{children:"Q"}),", ",(0,i.jsx)(n.code,{children:"inches"}),", ",(0,i.jsx)(n.code,{children:"pc"}),", ",(0,i.jsx)(n.code,{children:"pt"}),", ",(0,i.jsx)(n.code,{children:"px"}),", ",(0,i.jsx)(n.code,{children:"percent"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Color values"})," - ",(0,i.jsx)(n.code,{children:"hex"}),", ",(0,i.jsx)(n.code,{children:"rgb"}),", ",(0,i.jsx)(n.code,{children:"rgba"}),", ",(0,i.jsx)(n.code,{children:"hsl"}),", ",(0,i.jsx)(n.code,{children:"hsla"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Media queries"})," - ",(0,i.jsx)(n.code,{children:"maxWidthMedia"}),", ",(0,i.jsx)(n.code,{children:"minWidthMedia"}),", ",(0,i.jsx)(n.code,{children:"minAndMaxWidthMedia"}),", ",(0,i.jsx)(n.code,{children:"maxHeightMedia"}),", ",(0,i.jsx)(n.code,{children:"minHeightMedia"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"LESS map helper"})," - ",(0,i.jsx)(n.code,{children:"lessMap"}),' can be used to group together similar values in an "object-like" value.']}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"custom-units",children:"Custom units"}),"\n",(0,i.jsxs)(n.p,{children:["If you're missing any additional helpers, you can always define your own, either custom ones (as long as they adhere to the ",(0,i.jsx)(n.code,{children:"Unit"})," interface) or you can use the following helper:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"import { asUnit } from '@ima/cli-plugin-less-constants/units';\n\nfunction asUnit(\n unit: string,\n parts: (string | number)[],\n template = '${parts}${unit}'\n): Unit {\n return {\n __propertyDeclaration: true,\n\n valueOf(): string {\n return parts.length === 1 ? parts[0].toString() : this.toString();\n },\n\n toString(): string {\n return template\n .replace('${parts}', parts.join(','))\n .replace('${unit}', unit);\n },\n };\n}\n"})})]})}function p(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},6052:(e,n,s)=>{s.d(n,{A:()=>r});s(3696);var t=s(2689);const i={tabItem:"tabItem_wHwb"};var l=s(2540);function r(e){let{children:n,hidden:s,className:r}=e;return(0,l.jsx)("div",{role:"tabpanel",className:(0,t.A)(i.tabItem,r),hidden:s,children:n})}},3776:(e,n,s)=>{s.d(n,{A:()=>S});var t=s(3696),i=s(2689),l=s(3707),r=s(9519),a=s(3604),o=s(5196),c=s(6229),d=s(8030);function u(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:s}=e;return(0,t.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:s,attributes:t,default:i}}=e;return{value:n,label:s,attributes:t,default:i}}))}(s);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,s])}function p(e){let{value:n,tabValues:s}=e;return s.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:s}=e;const i=(0,r.W6)(),l=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,o.aZ)(l),(0,t.useCallback)((e=>{if(!l)return;const n=new URLSearchParams(i.location.search);n.set(l,e),i.replace({...i.location,search:n.toString()})}),[l,i])]}function m(e){const{defaultValue:n,queryString:s=!1,groupId:i}=e,l=h(e),[r,o]=(0,t.useState)((()=>function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:s}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=s.find((e=>e.default))??s[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:l}))),[c,u]=g({queryString:s,groupId:i}),[m,x]=function(e){let{groupId:n}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(n),[i,l]=(0,d.Dv)(s);return[i,(0,t.useCallback)((e=>{s&&l.set(e)}),[s,l])]}({groupId:i}),j=(()=>{const e=c??m;return p({value:e,tabValues:l})?e:null})();(0,a.A)((()=>{j&&o(j)}),[j]);return{selectedValue:r,selectValue:(0,t.useCallback)((e=>{if(!p({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),x(e)}),[u,x,l]),tabValues:l}}var x=s(5200);const j={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var f=s(2540);function v(e){let{className:n,block:s,selectedValue:t,selectValue:r,tabValues:a}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.a_)(),d=e=>{const n=e.currentTarget,s=o.indexOf(n),i=a[s].value;i!==t&&(c(n),r(i))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const s=o.indexOf(e.currentTarget)+1;n=o[s]??o[0];break}case"ArrowLeft":{const s=o.indexOf(e.currentTarget)-1;n=o[s]??o[o.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":s},n),children:a.map((e=>{let{value:n,label:s,attributes:l}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{o.push(e)},onKeyDown:u,onClick:d,...l,className:(0,i.A)("tabs__item",j.tabItem,l?.className,{"tabs__item--active":t===n}),children:s??n},n)}))})}function b(e){let{lazy:n,children:s,selectedValue:l}=e;const r=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===l));return e?(0,t.cloneElement)(e,{className:(0,i.A)("margin-top--md",e.props.className)}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==l})))})}function y(e){const n=m(e);return(0,f.jsxs)("div",{className:(0,i.A)("tabs-container",j.tabList),children:[(0,f.jsx)(v,{...n,...e}),(0,f.jsx)(b,{...n,...e})]})}function S(e){const n=(0,x.A)();return(0,f.jsx)(y,{...e,children:u(e.children)},String(n))}},3023:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var t=s(3696);const i={},l=t.createContext(i);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83e0a767.44ef4478.js b/assets/js/83e0a767.44ef4478.js deleted file mode 100644 index d2f02143b..000000000 --- a/assets/js/83e0a767.44ef4478.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6686],{5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>c});var a=n(6540);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=a.createContext({}),p=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=p(e.components);return a.createElement(o.Provider,{value:t},e.children)},g="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),g=p(n),m=i,c=g["".concat(o,".").concat(m)]||g[m]||y[m]||r;return n?a.createElement(c,l(l({ref:t},d),{},{components:n})):a.createElement(c,l({ref:t},d))}));function c(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=m;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[g]="string"==typeof e?e:i,l[1]=s;for(var p=2;p<r;p++)l[p]=n[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},4836:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>y,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var a=n(8102),i=(n(6540),n(5680));const r={id:"ima_core.Extension",title:"Class: Extension<S, R, SS>",sidebar_label:"@ima/core.Extension",custom_edit_url:null},l=void 0,s={unversionedId:"api/classes/ima_core.Extension",id:"api/classes/ima_core.Extension",title:"Class: Extension<S, R, SS>",description:"@ima/core.Extension",source:"@site/../docs/api/classes/ima_core.Extension.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Extension",permalink:"/api/classes/ima_core.Extension",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Extension",title:"Class: Extension<S, R, SS>",sidebar_label:"@ima/core.Extension",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Execution",permalink:"/api/classes/ima_core.Execution"},next:{title:"@ima/core.GenericError",permalink:"/api/classes/ima_core.GenericError"}},o={},p=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Properties",id:"properties",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"$name",id:"name",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"activate",id:"activate",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"beginStateTransaction",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"cancelStateTransaction",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"clearPartialState",id:"clearpartialstate",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"commitStateTransaction",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"deactivate",id:"deactivate",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getAllowedStateKeys",id:"getallowedstatekeys",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getPartialState",id:"getpartialstate",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getRouteParams",id:"getrouteparams",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"load",id:"load",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"setPageStateManager",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"setPartialState",id:"setpartialstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"setRouteParams",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"switchToPartialState",id:"switchtopartialstate",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"switchToStateManager",id:"switchtostatemanager",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-21",level:4}],d={toc:p},g="wrapper";function y(e){let{components:t,...n}=e;return(0,i.yg)(g,(0,a.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Extension"),(0,i.yg)("p",null,"Extensions provide means of extending the page controllers with additional\nmanaged state and logic."),(0,i.yg)("p",null,"An extension has access to the current route parameters, specify the\nresources to load when the page is loading or being updated, may intercept\nevent bus events and modify the state of the page just like an ordinary\ncontroller, except that the modifications are restricted to the state fields\nwhich the extension explicitly specifies using its\n",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#getallowedstatekeys"},"getAllowedStateKeys")," method."),(0,i.yg)("p",null,"All extensions to be used on a page must be added to the current controller\nbefore the controller is initialized. After that, the extensions will go\nthrough the same lifecycle as the controller."),(0,i.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"S")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,i.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"R")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,i.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"SS")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("inlineCode",{parentName:"td"},"S")," = ",(0,i.yg)("inlineCode",{parentName:"td"},"S"))))),(0,i.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},(0,i.yg)("inlineCode",{parentName:"strong"},"Extension"))),(0,i.yg)("p",{parentName:"li"},"\u21b3 ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension"},(0,i.yg)("inlineCode",{parentName:"a"},"AbstractExtension"))),(0,i.yg)("p",{parentName:"li"},"\u21b3 ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExtension"},(0,i.yg)("inlineCode",{parentName:"a"},"AbstractExtension"))))),(0,i.yg)("h2",{id:"indexable"},"Indexable"),(0,i.yg)("p",null,"\u25aa ","[key: ",(0,i.yg)("inlineCode",{parentName:"p"},"PropertyKey"),"]",": ",(0,i.yg)("inlineCode",{parentName:"p"},"any")," ","|"," ",(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core#eventbuseventhandler"},(0,i.yg)("inlineCode",{parentName:"a"},"EventBusEventHandler"))),(0,i.yg)("h2",{id:"constructors"},"Constructors"),(0,i.yg)("h3",{id:"constructor"},"constructor"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"new Extension"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"SS"),">","()"),(0,i.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"S")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,i.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"R")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,i.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"SS")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,i.yg)("inlineCode",{parentName:"a"},"PageState"))," = ",(0,i.yg)("inlineCode",{parentName:"td"},"S"))))),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"dependencies"},"$dependencies"),(0,i.yg)("p",null,"\u25aa ",(0,i.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,i.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,i.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L27"},"packages/core/src/extension/Extension.ts:27")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"name"},"$name"),(0,i.yg)("p",null,"\u25aa ",(0,i.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"$name"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L26"},"packages/core/src/extension/Extension.ts:26")),(0,i.yg)("h2",{id:"methods"},"Methods"),(0,i.yg)("h3",{id:"activate"},"activate"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"activate"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Callback for activating the extension in the UI. This is the last\nmethod invoked during controller (and extensions) initialization, called\nafter all the promises returned from the ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#load"},"load")," method have\nbeen resolved and the controller has configured the meta manager."),(0,i.yg)("p",null,"The extension may register any React and DOM event listeners in this\nmethod. The extension may start receiving event bus event after this\nmethod completes."),(0,i.yg)("h4",{id:"returns"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L66"},"packages/core/src/extension/Extension.ts:66")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"beginstatetransaction"},"beginStateTransaction"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"beginStateTransaction"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,i.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,i.yg)("p",null,"Note that call to ",(0,i.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,i.yg)("h4",{id:"returns-1"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L173"},"packages/core/src/extension/Extension.ts:173")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"cancelstatetransaction"},"cancelStateTransaction"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"cancelStateTransaction"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Cancels ongoing state transaction. Uncommitted state changes are lost."),(0,i.yg)("h4",{id:"returns-2"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L188"},"packages/core/src/extension/Extension.ts:188")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"clearpartialstate"},"clearPartialState"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"clearPartialState"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Clears the current partial state of the extension and sets it value to empty object."),(0,i.yg)("h4",{id:"returns-3"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L215"},"packages/core/src/extension/Extension.ts:215")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"commitstatetransaction"},"commitStateTransaction"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"commitStateTransaction"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,i.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,i.yg)("h4",{id:"returns-4"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L181"},"packages/core/src/extension/Extension.ts:181")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"deactivate"},"deactivate"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"deactivate"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Callback for deactivating the extension in the UI. This is the first\nmethod invoked during extension deinitialization. This usually happens\nwhen the user navigates to a different URL."),(0,i.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#activate"},"activate"),"\nmethod."),(0,i.yg)("p",null,"The extension should deregister listeners registered and release all\nresources obtained in the ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#activate"},"activate")," method."),(0,i.yg)("h4",{id:"returns-5"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L81"},"packages/core/src/extension/Extension.ts:81")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"destroy"},"destroy"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."),(0,i.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#init"},"init"),"\nmethod."),(0,i.yg)("p",null,"The extension should release all resources obtained in the\n",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#init"},"init")," method. The extension must release any resources\nthat might not be released automatically when the extensions's instance\nis destroyed by the garbage collector."),(0,i.yg)("h4",{id:"returns-6"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L52"},"packages/core/src/extension/Extension.ts:52")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"getallowedstatekeys"},"getAllowedStateKeys"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"getAllowedStateKeys"),"(): keyof ",(0,i.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,i.yg)("p",null,"Returns the names of the state fields that may be manipulated by this\nextension. Manipulations of other fields of the state will be ignored."),(0,i.yg)("h4",{id:"returns-7"},"Returns"),(0,i.yg)("p",null,"keyof ",(0,i.yg)("inlineCode",{parentName:"p"},"S"),"[]"),(0,i.yg)("p",null,"The names of the state fields that may be manipulated\nby this extension."),(0,i.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L269"},"packages/core/src/extension/Extension.ts:269")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"getpartialstate"},"getPartialState"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"getPartialState"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,i.yg)("p",null,"Returns the current partial state of the extension."),(0,i.yg)("h4",{id:"returns-8"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Partial"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,i.yg)("p",null,"The current partial state of the extension."),(0,i.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L208"},"packages/core/src/extension/Extension.ts:208")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"getrouteparams"},"getRouteParams"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"getRouteParams"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"R")),(0,i.yg)("p",null,"Returns the current route parameters."),(0,i.yg)("h4",{id:"returns-9"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"R")),(0,i.yg)("p",null,"The current route parameters."),(0,i.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L258"},"packages/core/src/extension/Extension.ts:258")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"getstate"},"getState"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"SS")),(0,i.yg)("p",null,"Returns the current state of the controller using this extension."),(0,i.yg)("h4",{id:"returns-10"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"SS")),(0,i.yg)("p",null,"The current state of the controller."),(0,i.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L162"},"packages/core/src/extension/Extension.ts:162")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"init"},"init"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"init"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Callback for initializing the controller extension after the route\nparameters have been set on this extension."),(0,i.yg)("h4",{id:"returns-11"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L35"},"packages/core/src/extension/Extension.ts:35")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"load"},"load"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"load"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,i.yg)("p",null,"Callback the extension uses to request the resources it needs to render\nits related parts of the view. This method is invoked after the\n",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#init"},"init")," method."),(0,i.yg)("p",null,"The extension should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."),(0,i.yg)("p",null,"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."),(0,i.yg)("p",null,"The IMA will use the object to set the state of the controller."),(0,i.yg)("p",null,"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."),(0,i.yg)("h4",{id:"returns-12"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,i.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,i.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L110"},"packages/core/src/extension/Extension.ts:110")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"setpagestatemanager"},"setPageStateManager"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"setPageStateManager"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"pageStateManager?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Sets the state manager used to manage the controller's state.."),(0,i.yg)("h4",{id:"parameters"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"pageStateManager?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,i.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"SS"),">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"The current state manager to use.")))),(0,i.yg)("h4",{id:"returns-13"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L225"},"packages/core/src/extension/Extension.ts:225")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"setpartialstate"},"setPartialState"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"setPartialState"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"partialStatePatch"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Patches the partial state of the extension. The extension is able\nduring its load and update phase receive state from active controller\nusing this extension and from previously loaded/updated extensions."),(0,i.yg)("h4",{id:"parameters-1"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"partialStatePatch")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"S")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,i.yg)("h4",{id:"returns-14"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L199"},"packages/core/src/extension/Extension.ts:199")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"setrouteparams"},"setRouteParams"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"setRouteParams"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Sets the current route parameters. This method is invoked before the\n",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#init"},"init")," method."),(0,i.yg)("h4",{id:"parameters-2"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"params")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"R")),(0,i.yg)("td",{parentName:"tr",align:"left"},"The current route parameters.")))),(0,i.yg)("h4",{id:"returns-15"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L249"},"packages/core/src/extension/Extension.ts:249")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"setstate"},"setState"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,i.yg)("inlineCode",{parentName:"p"},"statePatch"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Patches the state of the controller using this extension by using the\nprovided object by copying the provided patch object fields to the\ncontroller's state object."),(0,i.yg)("p",null,"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."),(0,i.yg)("p",null,"Note that the extension may modify only the fields of the state that it\nhas specified by its ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#getallowedstatekeys"},"getAllowedStateKeys")," method."),(0,i.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"K")),(0,i.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,i.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,i.yg)("h4",{id:"parameters-3"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"statePatch")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"K"),">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,i.yg)("h4",{id:"returns-16"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L153"},"packages/core/src/extension/Extension.ts:153")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"switchtopartialstate"},"switchToPartialState"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"switchToPartialState"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Disables using PageStateManager for getting state."),(0,i.yg)("h4",{id:"returns-17"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L239"},"packages/core/src/extension/Extension.ts:239")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"switchtostatemanager"},"switchToStateManager"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"switchToStateManager"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("p",null,"Enables using PageStateManager for getting state."),(0,i.yg)("h4",{id:"returns-18"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"void")),(0,i.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L232"},"packages/core/src/extension/Extension.ts:232")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"update"},"update"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"update"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"prevParams?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,i.yg)("p",null,"Callback for updating the extension after a route update. This method\nis invoked if the current route has the ",(0,i.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," flag set to ",(0,i.yg)("inlineCode",{parentName:"p"},"true")," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,i.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option of the current route is a callback and\nreturned ",(0,i.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,i.yg)("p",null,"The method must return an object with the same semantics as the result\nof the ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#load"},"load")," method. The controller's state will then be\npatched by the returned object."),(0,i.yg)("p",null,"The other extension lifecycle callbacks (",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#init"},"init"),",\n",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#load"},"load"),", ",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#activate"},"activate"),",\n",(0,i.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension#deactivate"},"deactivate"),", Extension#deinit) are not call in\ncase this method is used."),(0,i.yg)("h4",{id:"parameters-4"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"prevParams")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"R")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Previous route parameters.")))),(0,i.yg)("h4",{id:"returns-19"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,i.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,i.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/extension/Extension.ts#L136"},"packages/core/src/extension/Extension.ts:136")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8478fc2d.9e4dd0e2.js b/assets/js/8478fc2d.9e4dd0e2.js new file mode 100644 index 000000000..56871e189 --- /dev/null +++ b/assets/js/8478fc2d.9e4dd0e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6877],{2050:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/cli/functions/resolveImaConfig","title":"Function: resolveImaConfig()","description":"resolveImaConfig(args): Promise\\\\","source":"@site/../docs/api/@ima/cli/functions/resolveImaConfig.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/resolveImaConfig","permalink":"/api/@ima/cli/functions/resolveImaConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/resolveImaConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: resolveEnvironment()","permalink":"/api/@ima/cli/functions/resolveEnvironment"},"next":{"title":"Function: runImaPluginsHook()","permalink":"/api/@ima/cli/functions/runImaPluginsHook"}}');var r=i(2540),o=i(3023);const a={},t="Function: resolveImaConfig()",c={},l=[{value:"Parameters",id:"parameters",level:2},{value:"args",id:"args",level:3},{value:"Returns",id:"returns",level:2}];function m(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"function-resolveimaconfig",children:"Function: resolveImaConfig()"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"resolveImaConfig"}),"(",(0,r.jsx)(n.code,{children:"args"}),"): ",(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(n.code,{children:"ImaConfig"})}),">"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L229",children:"webpack/utils.ts:229"})]}),"\n",(0,r.jsx)(n.p,{children:"Resolves ima.config.js from rootDir base path with DEFAULTS."}),"\n",(0,r.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h3,{id:"args",children:"args"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(n.code,{children:"ImaCliArgs"})})}),"\n",(0,r.jsx)(n.p,{children:"CLI args."}),"\n",(0,r.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Promise"}),"<",(0,r.jsx)(n.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(n.code,{children:"ImaConfig"})}),">"]}),"\n",(0,r.jsx)(n.p,{children:"Ima config or empty object."})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>t});var s=i(3696);const r={},o=s.createContext(r);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/85517bd9.19442ff1.js b/assets/js/85517bd9.19442ff1.js new file mode 100644 index 000000000..49ae2b4c1 --- /dev/null +++ b/assets/js/85517bd9.19442ff1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7058],{1577:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>p});const o=JSON.parse('{"id":"api/@ima/core/functions/createImaApp","title":"Function: createImaApp()","description":"createImaApp(): object","source":"@site/../docs/api/@ima/core/functions/createImaApp.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/createImaApp","permalink":"/api/@ima/core/functions/createImaApp","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/createImaApp.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: bootClientApp()","permalink":"/api/@ima/core/functions/bootClientApp"},"next":{"title":"Function: getClientBootConfig()","permalink":"/api/@ima/core/functions/getClientBootConfig"}}');var c=n(2540),r=n(3023);const s={},i="Function: createImaApp()",a={},p=[{value:"Returns",id:"returns",level:2},{value:"bootstrap",id:"bootstrap",level:3},{value:"oc",id:"oc",level:3}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(t.header,{children:(0,c.jsx)(t.h1,{id:"function-createimaapp",children:"Function: createImaApp()"})}),"\n",(0,c.jsxs)(t.blockquote,{children:["\n",(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.strong,{children:"createImaApp"}),"(): ",(0,c.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,c.jsxs)(t.p,{children:["Defined in: ",(0,c.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L182",children:"packages/core/src/boot.ts:182"})]}),"\n",(0,c.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(t.p,{children:(0,c.jsx)(t.code,{children:"object"})}),"\n",(0,c.jsx)(t.h3,{id:"bootstrap",children:"bootstrap"}),"\n",(0,c.jsxs)(t.blockquote,{children:["\n",(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.strong,{children:"bootstrap"}),": ",(0,c.jsx)(t.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,c.jsx)(t.code,{children:"Bootstrap"})})]}),"\n"]}),"\n",(0,c.jsx)(t.h3,{id:"oc",children:"oc"}),"\n",(0,c.jsxs)(t.blockquote,{children:["\n",(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.strong,{children:"oc"}),": ",(0,c.jsx)(t.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,c.jsx)(t.code,{children:"ObjectContainer"})})]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(l,{...e})}):l(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>i});var o=n(3696);const c={},r=o.createContext(c);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/86b813a4.e07b8bb7.js b/assets/js/86b813a4.e07b8bb7.js new file mode 100644 index 000000000..7003f056d --- /dev/null +++ b/assets/js/86b813a4.e07b8bb7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7516],{9450:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>l,frontMatter:()=>c,metadata:()=>s,toc:()=>u});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useLink","title":"Function: useLink()","description":"useLink(): Router\\\\[\\"link\\"\\\\]","source":"@site/../docs/api/@ima/react-page-renderer/functions/useLink.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useLink","permalink":"/api/@ima/react-page-renderer/functions/useLink","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useLink.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useEventBus()","permalink":"/api/@ima/react-page-renderer/functions/useEventBus"},"next":{"title":"Function: useLocalize()","permalink":"/api/@ima/react-page-renderer/functions/useLocalize"}}');var t=r(2540),i=r(3023);const c={},a="Function: useLink()",o={},u=[{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"function-uselink",children:"Function: useLink()"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"useLink"}),"(): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/Router",children:(0,t.jsx)(n.code,{children:"Router"})}),"[",(0,t.jsx)(n.code,{children:'"link"'}),"]"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/link.ts#L14",children:"packages/react-page-renderer/src/hooks/link.ts:14"})]}),"\n",(0,t.jsx)(n.p,{children:"Provides direct access to Router link function."}),"\n",(0,t.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/Router",children:(0,t.jsx)(n.code,{children:"Router"})}),"[",(0,t.jsx)(n.code,{children:'"link"'}),"]"]}),"\n",(0,t.jsx)(n.p,{children:"URL to linked path."}),"\n",(0,t.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"const link = useLink();\n"})})]})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>a});var s=r(3696);const t={},i=s.createContext(t);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/87d053ee.ec516cbe.js b/assets/js/87d053ee.ec516cbe.js new file mode 100644 index 000000000..d25b3ae77 --- /dev/null +++ b/assets/js/87d053ee.ec516cbe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[762],{6836:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>o,frontMatter:()=>i,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/classes/HttpAgent","title":"Class: abstract HttpAgent","description":"Defined in68","source":"@site/../docs/api/@ima/core/classes/HttpAgent.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/HttpAgent","permalink":"/api/@ima/core/classes/HttpAgent","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/HttpAgent.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: GenericError\\\\<T\\\\>","permalink":"/api/@ima/core/classes/GenericError"},"next":{"title":"Class: HttpAgentImpl","permalink":"/api/@ima/core/classes/HttpAgentImpl"}}');var r=n(2540),d=n(3023);const i={},a="Class: abstract HttpAgent",c={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new HttpAgent()",id:"new-httpagent",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"clearDefaultHeaders()",id:"cleardefaultheaders",level:3},{value:"Returns",id:"returns-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"url",id:"url",level:5},{value:"data?",id:"data",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-2",level:4},{value:"get()",id:"get",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"url",id:"url-1",level:5},{value:"data?",id:"data-1",level:5},{value:"options?",id:"options-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"getCacheKey()",id:"getcachekey",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"method",id:"method",level:5},{value:"url",id:"url-2",level:5},{value:"data",id:"data-2",level:5},{value:"Returns",id:"returns-4",level:4},{value:"invalidateCache()",id:"invalidatecache",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"method",id:"method-1",level:5},{value:"url",id:"url-3",level:5},{value:"data",id:"data-3",level:5},{value:"Returns",id:"returns-5",level:4},{value:"patch()",id:"patch",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"url",id:"url-4",level:5},{value:"data?",id:"data-4",level:5},{value:"options?",id:"options-2",level:5},{value:"Returns",id:"returns-6",level:4},{value:"post()",id:"post",level:3},{value:"Type Parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"url",id:"url-5",level:5},{value:"data?",id:"data-5",level:5},{value:"options?",id:"options-3",level:5},{value:"Returns",id:"returns-7",level:4},{value:"put()",id:"put",level:3},{value:"Type Parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"url",id:"url-6",level:5},{value:"data?",id:"data-6",level:5},{value:"options?",id:"options-4",level:5},{value:"Returns",id:"returns-8",level:4},{value:"setDefaultHeader()",id:"setdefaultheader",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"header",id:"header",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-9",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsxs)(s.h1,{id:"class-abstract-httpagent",children:["Class: ",(0,r.jsx)(s.code,{children:"abstract"})," HttpAgent"]})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L68",children:"packages/core/src/http/HttpAgent.ts:68"})]}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:"HttpAgent"})," defines unifying API for sending HTTP requests at\nboth client-side and server-side."]}),"\n",(0,r.jsx)(s.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgentImpl",children:(0,r.jsx)(s.code,{children:"HttpAgentImpl"})})}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(s.h3,{id:"new-httpagent",children:"new HttpAgent()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"new HttpAgent"}),"(): ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,r.jsx)(s.code,{children:"HttpAgent"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/HttpAgent",children:(0,r.jsx)(s.code,{children:"HttpAgent"})})}),"\n",(0,r.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(s.h3,{id:"cleardefaultheaders",children:"clearDefaultHeaders()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"clearDefaultHeaders"}),"(): ",(0,r.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L214",children:"packages/core/src/http/HttpAgent.ts:214"})]}),"\n",(0,r.jsx)(s.p,{children:"Clears all configured default headers."}),"\n",(0,r.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"this"})}),"\n",(0,r.jsx)(s.p,{children:"This HTTP agent."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"delete"}),"<",(0,r.jsx)(s.code,{children:"B"}),">(",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"?, ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L164",children:"packages/core/src/http/HttpAgent.ts:164"})]}),"\n",(0,r.jsx)(s.p,{children:"Sends an HTTP DELETE request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"B"})," = ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"url",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,r.jsx)(s.h5,{id:"data",children:"data?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,r.jsx)(s.h5,{id:"options",children:"options?"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Partial"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,r.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,r.jsx)(s.p,{children:"Optional request options."}),"\n",(0,r.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,r.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"get"}),"<",(0,r.jsx)(s.code,{children:"B"}),">(",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"?, ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L80",children:"packages/core/src/http/HttpAgent.ts:80"})]}),"\n",(0,r.jsx)(s.p,{children:"Sends an HTTP GET request to the specified URL, sending the provided\ndata as query parameters."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"B"})," = ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"url-1",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,r.jsx)(s.h5,{id:"data-1",children:"data?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.p,{children:"The data to send\nto the server as query parameters."}),"\n",(0,r.jsx)(s.h5,{id:"options-1",children:"options?"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Partial"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,r.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,r.jsx)(s.p,{children:"Optional request options."}),"\n",(0,r.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,r.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"getcachekey",children:"getCacheKey()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"getCacheKey"}),"(",(0,r.jsx)(s.code,{children:"method"}),", ",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"): ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L184",children:"packages/core/src/http/HttpAgent.ts:184"})]}),"\n",(0,r.jsx)(s.p,{children:"Generates a cache key to use for identifying a request to the specified\nURL using the specified HTTP method, submitting the provided data."}),"\n",(0,r.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"method",children:"method"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The HTTP method used by the request."}),"\n",(0,r.jsx)(s.h5,{id:"url-2",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The URL to which the request is sent."}),"\n",(0,r.jsx)(s.h5,{id:"data-2",children:"data"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.p,{children:"The data associated with the\nrequest. These can be either the query parameters or request body\ndata."}),"\n",(0,r.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The key to use for identifying such a request in the\ncache."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"invalidatecache",children:"invalidateCache()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"invalidateCache"}),"(",(0,r.jsx)(s.code,{children:"method"}),", ",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L191",children:"packages/core/src/http/HttpAgent.ts:191"})]}),"\n",(0,r.jsx)(s.p,{children:"Method invalidate cache for given params"}),"\n",(0,r.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"method-1",children:"method"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"url-3",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"data-3",children:"data"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"patch",children:"patch()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"patch"}),"<",(0,r.jsx)(s.code,{children:"B"}),">(",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"?, ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L143",children:"packages/core/src/http/HttpAgent.ts:143"})]}),"\n",(0,r.jsx)(s.p,{children:"Sends an HTTP PATCH request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"B"})," = ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"url-4",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,r.jsx)(s.h5,{id:"data-4",children:"data?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,r.jsx)(s.h5,{id:"options-2",children:"options?"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Partial"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,r.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,r.jsx)(s.p,{children:"Optional request options."}),"\n",(0,r.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,r.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"post",children:"post()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"post"}),"<",(0,r.jsx)(s.code,{children:"B"}),">(",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"?, ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L101",children:"packages/core/src/http/HttpAgent.ts:101"})]}),"\n",(0,r.jsx)(s.p,{children:"Sends an HTTP POST request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters-3",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"B"})," = ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"url-5",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,r.jsx)(s.h5,{id:"data-5",children:"data?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,r.jsx)(s.h5,{id:"options-3",children:"options?"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Partial"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,r.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,r.jsx)(s.p,{children:"Optional request options."}),"\n",(0,r.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,r.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"put",children:"put()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"put"}),"<",(0,r.jsx)(s.code,{children:"B"}),">(",(0,r.jsx)(s.code,{children:"url"}),", ",(0,r.jsx)(s.code,{children:"data"}),"?, ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L122",children:"packages/core/src/http/HttpAgent.ts:122"})]}),"\n",(0,r.jsx)(s.p,{children:"Sends an HTTP PUT request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."}),"\n",(0,r.jsx)(s.h4,{id:"type-parameters-4",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"B"})," = ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"url-6",children:"url"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The URL to which the request should be made."}),"\n",(0,r.jsx)(s.h5,{id:"data-6",children:"data?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(s.code,{children:"UnknownParameters"})})}),"\n",(0,r.jsx)(s.p,{children:"The data to send to the server\nas the request body."}),"\n",(0,r.jsx)(s.h5,{id:"options-4",children:"options?"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Partial"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,r.jsx)(s.code,{children:"HttpAgentRequestOptions"})}),">"]}),"\n",(0,r.jsx)(s.p,{children:"Optional request options."}),"\n",(0,r.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,r.jsx)(s.code,{children:"HttpAgentResponse"})}),"<",(0,r.jsx)(s.code,{children:"B"}),">>"]}),"\n",(0,r.jsx)(s.p,{children:"A promise that resolves to the\nresponse."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"setdefaultheader",children:"setDefaultHeader()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"setDefaultHeader"}),"(",(0,r.jsx)(s.code,{children:"header"}),", ",(0,r.jsx)(s.code,{children:"value"}),"): ",(0,r.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L205",children:"packages/core/src/http/HttpAgent.ts:205"})]}),"\n",(0,r.jsx)(s.p,{children:"Sets the specified header to be sent with every subsequent HTTP request,\nunless explicitly overridden by request options."}),"\n",(0,r.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"header",children:"header"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The name of the header."}),"\n",(0,r.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsxs)(s.p,{children:["The header value. To provide multiple values,\nseparate them with commas\n(see ",(0,r.jsx)(s.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2"}),")."]}),"\n",(0,r.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"this"})}),"\n",(0,r.jsx)(s.p,{children:"This HTTP agent."})]})}function o(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>i,x:()=>a});var t=n(3696);const r={},d=t.createContext(r);function i(e){const s=t.useContext(d);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),t.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/87f53564.6f6d5584.js b/assets/js/87f53564.6f6d5584.js new file mode 100644 index 000000000..c2cb2ee44 --- /dev/null +++ b/assets/js/87f53564.6f6d5584.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8117],{7466:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"cli/additional-features","title":"Additional features","description":"CLI > Advanced CLI techniques and other features","source":"@site/../docs/cli/additional-features.md","sourceDirName":"cli","slug":"/cli/additional-features","permalink":"/cli/additional-features","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/additional-features.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Additional features","description":"CLI > Advanced CLI techniques and other features"},"sidebar":"docs","previous":{"title":"ima.config.js","permalink":"/cli/ima-config-js"},"next":{"title":"CLI Plugins API","permalink":"/cli/cli-plugins-api"}}');var s=t(2540),r=t(3023);const o={title:"Additional features",description:"CLI > Advanced CLI techniques and other features"},l=void 0,a={},c=[{value:"Polyfills",id:"polyfills",level:2},{value:"Static files in <code>public</code> folder",id:"static-files-in-public-folder",level:3},{value:"Importing polyfills at top of the <code>main.js</code> file",id:"importing-polyfills-at-top-of-the-mainjs-file",level:3},{value:"Optional <code>polyfill.js</code> and <code>polyfill.es.js</code> entry points",id:"optional-polyfilljs-and-polyfillesjs-entry-points",level:3},{value:"IMA.js Runtime",id:"imajs-runtime",level:2},{value:"<code>runner.ejs</code>",id:"runnerejs",level:3},{value:"Extending default script",id:"extending-default-script",level:4},{value:"GenerateRuntimePlugin",id:"generateruntimeplugin",level:3},{value:"Dev server",id:"dev-server",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["This section describes multiple additional features that are either directly provided by the CLI or indirectly with the help of additional development packages ",(0,s.jsx)(n.code,{children:"@ima/hmr-client"}),", ",(0,s.jsx)(n.code,{children:"@ima/error-overlay"}),", ",(0,s.jsx)(n.code,{children:"@ima/dev-utils"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"polyfills",children:"Polyfills"}),"\n",(0,s.jsx)(n.p,{children:"Sometimes you may need to include additional custom polyfills to fully support your application in multiple environments. There are multiple ways to achieve this."}),"\n",(0,s.jsxs)(n.h3,{id:"static-files-in-public-folder",children:["Static files in ",(0,s.jsx)(n.code,{children:"public"})," folder"]}),"\n",(0,s.jsxs)(n.p,{children:["The easies way, is to put your polyfill files directly into the ",(0,s.jsx)(n.a,{href:"/cli/compiler-features#apppublic-folder",children:"app/public"})," folder and load them either by extending the ",(0,s.jsx)(n.code,{children:"$Source"})," configuration in the ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/create-ima-app/template/server/config/environment.js#L29",children:"app environment"})," or customizing the application's ",(0,s.jsx)(n.code,{children:"DocumentView.jsx"})," and ",(0,s.jsx)(n.code,{children:"spa.html"})," templates with custom script tags:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",children:"{/* ... */}\n<body>\n <script src='/static/public/custom-polyfill.js' />\n <div\n id={this.constructor.masterElementId}\n dangerouslySetInnerHTML={{ __html: this.props.page }}\n />\n <script\n id='revivalSettings'\n dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}\n />\n</body>\n{/* ... */}\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"importing-polyfills-at-top-of-the-mainjs-file",children:["Importing polyfills at top of the ",(0,s.jsx)(n.code,{children:"main.js"})," file"]}),"\n",(0,s.jsxs)(n.p,{children:["Additionally you can import (or put) polyfills at the top of the ",(0,s.jsx)(n.code,{children:"./app/main.js"})," entry point."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:"title=./app/main.js",children:"import 'abortcontroller-polyfill/dist/polyfill-patch-fetch';\n\nimport './less/app.less';\n\nimport * as ima from '@ima/core';\nimport initBindApp from 'app/config/bind';\n//...\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"optional-polyfilljs-and-polyfillesjs-entry-points",children:["Optional ",(0,s.jsx)(n.code,{children:"polyfill.js"})," and ",(0,s.jsx)(n.code,{children:"polyfill.es.js"})," entry points"]}),"\n",(0,s.jsxs)(n.p,{children:["Lastly there are special ",(0,s.jsx)(n.code,{children:"polyfill.js"})," and ",(0,s.jsx)(n.code,{children:"polyfill.es.js"})," files that you can create in the root of the ",(0,s.jsx)(n.code,{children:"app"})," directory. These, when bundled through webpack are available as separate JS files and are not part of the final ",(0,s.jsx)(n.code,{children:"app.bundle.js"})," file."]}),"\n",(0,s.jsxs)(n.p,{children:["As with the previous option, you can either import the polyfills from the ",(0,s.jsx)(n.code,{children:"node_modules"})," packages, or use their source code directly, by copying it into this file."]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["Both files are ",(0,s.jsx)(n.strong,{children:"optional"}),", this means that you can use, either one of those or don't use them at all. Similarly to the first option, don't forget to add the newly generated polyfill.js files somewhere in the source, so they are loaded on app startup."]})}),"\n",(0,s.jsx)(n.h2,{id:"imajs-runtime",children:"IMA.js Runtime"}),"\n",(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.a,{href:"/cli/compiler-features#server-and-client-bundles",children:"Compiler features"})," section, we mentioned that the CLI is compiling 3 separate bundles, mainly two distinct client bundles, where each targets certain ",(0,s.jsx)(n.code,{children:"ECMAScript"})," version. This approach has 2 main advantages:"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["We're still able to support pretty much ",(0,s.jsx)(n.strong,{children:"every currently supported browser version"})," (in case of the ",(0,s.jsx)(n.code,{children:"es2018"})," version)."]}),"\n",(0,s.jsxs)(n.li,{children:["We're also serving the latest native version to the modern browsers that support's it (",(0,s.jsx)(n.code,{children:"es2022"})," version). This ",(0,s.jsx)(n.strong,{children:"bundle is also much smaller"})," since it contains very low amount of ",(0,s.jsx)(n.code,{children:"core-js"})," polyfills and should have ",(0,s.jsx)(n.strong,{children:"better performance"}),", because native implementations of existing APIs are usually faster than provided polyfills."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["You can customize source files for both versions in the ",(0,s.jsx)(n.code,{children:"$Source"})," option of the ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/create-ima-app/template/server/config/environment.js#L29",children:"app environment"})," configuration file. This sources definition is then used by the IMA.js Runner, which then ",(0,s.jsx)(n.strong,{children:"chooses"})," (",(0,s.jsx)(n.em,{children:"on the client side before app init"}),") ",(0,s.jsx)(n.strong,{children:"the most suitable version"})," for the current browser environment and ",(0,s.jsx)(n.strong,{children:"injects associated scripts into the DOM"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"This is done by executing few small scripts, where each script target's certain ECMAScript feature. Based on these results, the runner injects the best version of client bundle suitable for that concrete browser environment. It also makes sure to wait until all scripts have loaded before executing the webpack runtime."}),"\n",(0,s.jsxs)(n.p,{children:["This makes sure that all external scripts that the app depends on (",(0,s.jsx)(n.em,{children:"languages"}),") are loaded correctly before it's execution and allows them to be loaded ",(0,s.jsx)(n.code,{children:"async"})," to ",(0,s.jsx)(n.strong,{children:"improve page load times"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"runnerejs",children:(0,s.jsx)(n.code,{children:"runner.ejs"})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/core/polyfill/runner.ejs",children:"IMA.js runner"})," is simple snippet of JS code, that is injected into the page automatically within the app ",(0,s.jsx)(n.code,{children:"revivalSettings"}),". It can be completely customizable by defining the runner overrides on the client window before it is injected into the DOM. It will then merge any existing overrides to the original runner before it's execution."]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["The runner script is intentionally written in es5 compatible syntax to make sure, that it can be executed on any environment and report using ",(0,s.jsx)(n.code,{children:"onUnsupported"})," callback, when current browser can't even interpret the ",(0,s.jsx)(n.code,{children:"es2018"})," version of the bundle. In this case the application then runs in ",(0,s.jsx)(n.strong,{children:"MPA"})," mode"]})}),"\n",(0,s.jsx)(n.h4,{id:"extending-default-script",children:"Extending default script"}),"\n",(0,s.jsxs)(n.p,{children:["As mentioned before the runner script is fully extensible. For example to implement custom ",(0,s.jsx)(n.code,{children:"onUnsupported()"})," and ",(0,s.jsx)(n.code,{children:"onError()"})," callbacks, you'd do something like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",children:"<body>\n {/* ... */}\n <script>\n window.$IMA = window.$IMA || {};\n window.$IMA.$Runner = {\n /**\n * Optional onError handler. It is triggered in case the runtime\n * code fails to run the application.\n */\n onError: function (error) {\n throw new Error(error);\n },\n\n /**\n * Optional onUnsupported handler. It is triggered in case tests\n * for es and legacy version fails, which means that the APP runtime\n * code is never executed.\n */\n onUnsupported: function() {\n // Hit analytics with unsupported browser info\n },\n }\n <\/script>\n <script\n id='revivalSettings'\n dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}\n />\n</body>\n{/* ... */}\n"})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsxs)(n.strong,{children:["Don't forget to apply the same changes to the ",(0,s.jsx)(n.code,{children:"spa.html"})]}),", otherwise only SSR rendered pages will contain this override."]}),"\n",(0,s.jsxs)(n.admonition,{type:"note",children:[(0,s.jsxs)(n.p,{children:["Since you will usually never want to change anything on the IMA.js Runner (apart from the previously mentioned callbacks), we won't go much deeper into it's the ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/core/polyfill/runner.ejs",children:"source code"}),". You can always ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/core/polyfill/runner.ejs",children:"check it here"})," and use it as a reference for custom overrides."]}),(0,s.jsxs)(n.p,{children:["However simply keeping your ",(0,s.jsx)(n.code,{children:"@ima/*"})," dependencies up to will make sure, that you always receive the latest version of the runner script, which may evolve overtime."]})]}),"\n",(0,s.jsx)(n.h3,{id:"generateruntimeplugin",children:"GenerateRuntimePlugin"}),"\n",(0,s.jsxs)(n.p,{children:["Since the ",(0,s.jsx)(n.code,{children:"webpack"})," runtime is unique for every built, usually quite small, have to be loaded synchronously (",(0,s.jsx)(n.em,{children:"which can impact the page load performance"}),") and you would need to manually handle loading it's source code to the DOM, we have created ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/cli/src/webpack/plugins/GenerateRunnerPlugin/index.ts",children:"GenerateRuntimePlugin"})," to solve these issues."]}),"\n",(0,s.jsxs)(n.p,{children:["This plugin takes care of automatically generating the runtime consisting of the IMA.js runner code and webpack runtime (for both client bundles), which is then ",(0,s.jsx)(n.strong,{children:"injected directly into the SPA template or SSR rendered html page"}),". This means that you really don't have to worry about the existence of IMA.js runtime (while it's good to know that it does exist), since the framework handles all the hard work for you."]}),"\n",(0,s.jsx)(n.p,{children:"It also comes with some performance benefits, since inlining these small scripts directly into the HTML removes the need to load additional 2 scripts synchronously, after browser parses the initial DOM."}),"\n",(0,s.jsx)(n.h2,{id:"dev-server",children:"Dev server"}),"\n",(0,s.jsxs)(n.p,{children:["When you run your app using ",(0,s.jsx)(n.code,{children:"npx ima dev"})," command, apart from building your application in development mode with HMR and all other dev features enabled, the CLI also starts companion express server - the dev server."]}),"\n",(0,s.jsxs)(n.p,{children:["By default it runs on ",(0,s.jsx)(n.code,{children:"http://localhost:3101"})," (this can be customized through ",(0,s.jsx)(n.a,{href:"/cli/ima-config-js#devserver",children:"ima.config.js"})," or ",(0,s.jsx)(n.a,{href:"/cli/#dev-server-options",children:"CLI options"}),") and defines middlewares that are used mainly by the ",(0,s.jsx)(n.code,{children:"@ima/error-overlay"})," (to properly display parsed error code snippets). Additionally it uses ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/webpack-hot-middleware",children:"webpack-hot-middleware"})," and ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/webpack-dev-middleware",children:"webpack-dev-middleware"})," to ",(0,s.jsx)(n.strong,{children:"enable support for HMR"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{src:t(3509).A+"",width:"2002",height:"1582"})}),"\n",(0,s.jsx)(n.p,{children:"Using separate small server to host these middleware doesn't force us to define them directly on the app server, which could essentially produce some errors in certain situations."}),"\n",(0,s.jsxs)(n.admonition,{type:"note",children:[(0,s.jsxs)(n.p,{children:["Usually you don't have to think about the dev server during development and can simply pretend that it doesn't exist, since it is handled entirely by the CLI scripts. You can always have a ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/cli/src/dev-server/devServer.ts",children:"look at the source code"})," to learn more."]}),(0,s.jsx)(n.admonition,{type:"note"})]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3509:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/cli-error-overlay-421cb5292785f513c7c5e4c4de5cd999.jpg"},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var i=t(3696);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/87f53564.9fb9d9f6.js b/assets/js/87f53564.9fb9d9f6.js deleted file mode 100644 index cd4ec5693..000000000 --- a/assets/js/87f53564.9fb9d9f6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8117],{3509:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/cli-error-overlay-421cb5292785f513c7c5e4c4de5cd999.jpg"},5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>y});var i=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=i.createContext({}),p=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=p(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),c=p(n),u=a,y=c["".concat(s,".").concat(u)]||c[u]||m[u]||r;return n?i.createElement(y,o(o({ref:t},d),{},{components:n})):i.createElement(y,o({ref:t},d))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var p=2;p<r;p++)o[p]=n[p];return i.createElement.apply(null,o)}return i.createElement.apply(null,n)}u.displayName="MDXCreateElement"},1262:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var i=n(8102),a=(n(6540),n(5680));const r={title:"Additional features",description:"CLI > Advanced CLI techniques and other features"},o=void 0,l={unversionedId:"cli/additional-features",id:"cli/additional-features",title:"Additional features",description:"CLI > Advanced CLI techniques and other features",source:"@site/../docs/cli/additional-features.md",sourceDirName:"cli",slug:"/cli/additional-features",permalink:"/cli/additional-features",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/additional-features.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Additional features",description:"CLI > Advanced CLI techniques and other features"},sidebar:"docs",previous:{title:"ima.config.js",permalink:"/cli/ima-config-js"},next:{title:"CLI Plugins API",permalink:"/cli/cli-plugins-api"}},s={},p=[{value:"Polyfills",id:"polyfills",level:2},{value:"Static files in <code>public</code> folder",id:"static-files-in-public-folder",level:3},{value:"Importing polyfills at top of the <code>main.js</code> file",id:"importing-polyfills-at-top-of-the-mainjs-file",level:3},{value:"Optional <code>polyfill.js</code> and <code>polyfill.es.js</code> entry points",id:"optional-polyfilljs-and-polyfillesjs-entry-points",level:3},{value:"IMA.js Runtime",id:"imajs-runtime",level:2},{value:"<code>runner.ejs</code>",id:"runnerejs",level:3},{value:"Extending default script",id:"extending-default-script",level:4},{value:"GenerateRuntimePlugin",id:"generateruntimeplugin",level:3},{value:"Dev server",id:"dev-server",level:2}],d={toc:p},c="wrapper";function m(e){let{components:t,...r}=e;return(0,a.yg)(c,(0,i.A)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"This section describes multiple additional features that are either directly provided by the CLI or indirectly with the help of additional development packages ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/hmr-client"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/error-overlay"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/dev-utils"),"."),(0,a.yg)("h2",{id:"polyfills"},"Polyfills"),(0,a.yg)("p",null,"Sometimes you may need to include additional custom polyfills to fully support your application in multiple environments. There are multiple ways to achieve this."),(0,a.yg)("h3",{id:"static-files-in-public-folder"},"Static files in ",(0,a.yg)("inlineCode",{parentName:"h3"},"public")," folder"),(0,a.yg)("p",null,"The easies way, is to put your polyfill files directly into the ",(0,a.yg)("a",{parentName:"p",href:"/cli/compiler-features#apppublic-folder"},"app/public")," folder and load them either by extending the ",(0,a.yg)("inlineCode",{parentName:"p"},"$Source")," configuration in the ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/create-ima-app/template/server/config/environment.js#L29"},"app environment")," or customizing the application's ",(0,a.yg)("inlineCode",{parentName:"p"},"DocumentView.jsx")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"spa.html")," templates with custom script tags:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",title:"./app/document/DocumentView.jsx"},"{/* ... */}\n<body>\n <script src='/static/public/custom-polyfill.js' />\n <div\n id={this.constructor.masterElementId}\n dangerouslySetInnerHTML={{ __html: this.props.page }}\n />\n <script\n id='revivalSettings'\n dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}\n />\n</body>\n{/* ... */}\n")),(0,a.yg)("h3",{id:"importing-polyfills-at-top-of-the-mainjs-file"},"Importing polyfills at top of the ",(0,a.yg)("inlineCode",{parentName:"h3"},"main.js")," file"),(0,a.yg)("p",null,"Additionally you can import (or put) polyfills at the top of the ",(0,a.yg)("inlineCode",{parentName:"p"},"./app/main.js")," entry point."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./app/main.js",title:"./app/main.js"},"import 'abortcontroller-polyfill/dist/polyfill-patch-fetch';\n\nimport './less/app.less';\n\nimport * as ima from '@ima/core';\nimport initBindApp from 'app/config/bind';\n//...\n")),(0,a.yg)("h3",{id:"optional-polyfilljs-and-polyfillesjs-entry-points"},"Optional ",(0,a.yg)("inlineCode",{parentName:"h3"},"polyfill.js")," and ",(0,a.yg)("inlineCode",{parentName:"h3"},"polyfill.es.js")," entry points"),(0,a.yg)("p",null,"Lastly there are special ",(0,a.yg)("inlineCode",{parentName:"p"},"polyfill.js")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"polyfill.es.js")," files that you can create in the root of the ",(0,a.yg)("inlineCode",{parentName:"p"},"app")," directory. These, when bundled through webpack are available as separate JS files and are not part of the final ",(0,a.yg)("inlineCode",{parentName:"p"},"app.bundle.js")," file."),(0,a.yg)("p",null,"As with the previous option, you can either import the polyfills from the ",(0,a.yg)("inlineCode",{parentName:"p"},"node_modules")," packages, or use their source code directly, by copying it into this file."),(0,a.yg)("admonition",{type:"info"},(0,a.yg)("p",{parentName:"admonition"},"Both files are ",(0,a.yg)("strong",{parentName:"p"},"optional"),", this means that you can use, either one of those or don't use them at all. Similarly to the first option, don't forget to add the newly generated polyfill.js files somewhere in the source, so they are loaded on app startup.")),(0,a.yg)("h2",{id:"imajs-runtime"},"IMA.js Runtime"),(0,a.yg)("p",null,"In the ",(0,a.yg)("a",{parentName:"p",href:"/cli/compiler-features#server-and-client-bundles"},"Compiler features")," section, we mentioned that the CLI is compiling 3 separate bundles, mainly two distinct client bundles, where each targets certain ",(0,a.yg)("inlineCode",{parentName:"p"},"ECMAScript")," version. This approach has 2 main advantages:"),(0,a.yg)("ol",null,(0,a.yg)("li",{parentName:"ol"},"We're still able to support pretty much ",(0,a.yg)("strong",{parentName:"li"},"every currently supported browser version")," (in case of the ",(0,a.yg)("inlineCode",{parentName:"li"},"es2018")," version)."),(0,a.yg)("li",{parentName:"ol"},"We're also serving the latest native version to the modern browsers that support's it (",(0,a.yg)("inlineCode",{parentName:"li"},"es2022")," version). This ",(0,a.yg)("strong",{parentName:"li"},"bundle is also much smaller")," since it contains very low amount of ",(0,a.yg)("inlineCode",{parentName:"li"},"core-js")," polyfills and should have ",(0,a.yg)("strong",{parentName:"li"},"better performance"),", because native implementations of existing APIs are usually faster than provided polyfills.")),(0,a.yg)("p",null,"You can customize source files for both versions in the ",(0,a.yg)("inlineCode",{parentName:"p"},"$Source")," option of the ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/create-ima-app/template/server/config/environment.js#L29"},"app environment")," configuration file. This sources definition is then used by the IMA.js Runner, which then ",(0,a.yg)("strong",{parentName:"p"},"chooses")," (",(0,a.yg)("em",{parentName:"p"},"on the client side before app init"),") ",(0,a.yg)("strong",{parentName:"p"},"the most suitable version")," for the current browser environment and ",(0,a.yg)("strong",{parentName:"p"},"injects associated scripts into the DOM"),"."),(0,a.yg)("p",null,"This is done by executing few small scripts, where each script target's certain ECMAScript feature. Based on these results, the runner injects the best version of client bundle suitable for that concrete browser environment. It also makes sure to wait until all scripts have loaded before executing the webpack runtime."),(0,a.yg)("p",null,"This makes sure that all external scripts that the app depends on (",(0,a.yg)("em",{parentName:"p"},"languages"),") are loaded correctly before it's execution and allows them to be loaded ",(0,a.yg)("inlineCode",{parentName:"p"},"async")," to ",(0,a.yg)("strong",{parentName:"p"},"improve page load times"),"."),(0,a.yg)("h3",{id:"runnerejs"},(0,a.yg)("inlineCode",{parentName:"h3"},"runner.ejs")),(0,a.yg)("p",null,"The ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/core/polyfill/runner.ejs"},"IMA.js runner")," is simple snippet of JS code, that is injected into the page automatically within the app ",(0,a.yg)("inlineCode",{parentName:"p"},"revivalSettings"),". It can be completely customizable by defining the runner overrides on the client window before it is injected into the DOM. It will then merge any existing overrides to the original runner before it's execution."),(0,a.yg)("admonition",{type:"info"},(0,a.yg)("p",{parentName:"admonition"},"The runner script is intentionally written in es5 compatible syntax to make sure, that it can be executed on any environment and report using ",(0,a.yg)("inlineCode",{parentName:"p"},"onUnsupported")," callback, when current browser can't even interpret the ",(0,a.yg)("inlineCode",{parentName:"p"},"es2018")," version of the bundle. In this case the application then runs in ",(0,a.yg)("strong",{parentName:"p"},"MPA")," mode")),(0,a.yg)("h4",{id:"extending-default-script"},"Extending default script"),(0,a.yg)("p",null,"As mentioned before the runner script is fully extensible. For example to implement custom ",(0,a.yg)("inlineCode",{parentName:"p"},"onUnsupported()")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"onError()")," callbacks, you'd do something like this:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",title:"./app/document/DocumentView.jsx"},"<body>\n {/* ... */}\n <script>\n window.$IMA = window.$IMA || {};\n window.$IMA.$Runner = {\n /**\n * Optional onError handler. It is triggered in case the runtime\n * code fails to run the application.\n */\n onError: function (error) {\n throw new Error(error);\n },\n\n /**\n * Optional onUnsupported handler. It is triggered in case tests\n * for es and legacy version fails, which means that the APP runtime\n * code is never executed.\n */\n onUnsupported: function() {\n // Hit analytics with unsupported browser info\n },\n }\n <\/script>\n <script\n id='revivalSettings'\n dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}\n />\n</body>\n{/* ... */}\n")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"Don't forget to apply the same changes to the ",(0,a.yg)("inlineCode",{parentName:"strong"},"spa.html")),", otherwise only SSR rendered pages will contain this override."),(0,a.yg)("admonition",{type:"note"},(0,a.yg)("p",{parentName:"admonition"},"Since you will usually never want to change anything on the IMA.js Runner (apart from the previously mentioned callbacks), we won't go much deeper into it's the ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/core/polyfill/runner.ejs"},"source code"),". You can always ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/core/polyfill/runner.ejs"},"check it here")," and use it as a reference for custom overrides."),(0,a.yg)("p",{parentName:"admonition"},"However simply keeping your ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/*")," dependencies up to will make sure, that you always receive the latest version of the runner script, which may evolve overtime.")),(0,a.yg)("h3",{id:"generateruntimeplugin"},"GenerateRuntimePlugin"),(0,a.yg)("p",null,"Since the ",(0,a.yg)("inlineCode",{parentName:"p"},"webpack")," runtime is unique for every built, usually quite small, have to be loaded synchronously (",(0,a.yg)("em",{parentName:"p"},"which can impact the page load performance"),") and you would need to manually handle loading it's source code to the DOM, we have created ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/cli/src/webpack/plugins/GenerateRunnerPlugin/index.ts"},"GenerateRuntimePlugin")," to solve these issues."),(0,a.yg)("p",null,"This plugin takes care of automatically generating the runtime consisting of the IMA.js runner code and webpack runtime (for both client bundles), which is then ",(0,a.yg)("strong",{parentName:"p"},"injected directly into the SPA template or SSR rendered html page"),". This means that you really don't have to worry about the existence of IMA.js runtime (while it's good to know that it does exist), since the framework handles all the hard work for you."),(0,a.yg)("p",null,"It also comes with some performance benefits, since inlining these small scripts directly into the HTML removes the need to load additional 2 scripts synchronously, after browser parses the initial DOM."),(0,a.yg)("h2",{id:"dev-server"},"Dev server"),(0,a.yg)("p",null,"When you run your app using ",(0,a.yg)("inlineCode",{parentName:"p"},"npx ima dev")," command, apart from building your application in development mode with HMR and all other dev features enabled, the CLI also starts companion express server - the dev server."),(0,a.yg)("p",null,"By default it runs on ",(0,a.yg)("inlineCode",{parentName:"p"},"http://localhost:3101")," (this can be customized through ",(0,a.yg)("a",{parentName:"p",href:"/cli/ima-config-js#devserver"},"ima.config.js")," or ",(0,a.yg)("a",{parentName:"p",href:"/cli/#dev-server-options"},"CLI options"),") and defines middlewares that are used mainly by the ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/error-overlay")," (to properly display parsed error code snippets). Additionally it uses ",(0,a.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/webpack-hot-middleware"},"webpack-hot-middleware")," and ",(0,a.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/webpack-dev-middleware"},"webpack-dev-middleware")," to ",(0,a.yg)("strong",{parentName:"p"},"enable support for HMR"),"."),(0,a.yg)("p",null,(0,a.yg)("img",{src:n(3509).A,width:"2002",height:"1582"})),(0,a.yg)("p",null,"Using separate small server to host these middleware doesn't force us to define them directly on the app server, which could essentially produce some errors in certain situations."),(0,a.yg)("admonition",{type:"note"},(0,a.yg)("p",{parentName:"admonition"},"Usually you don't have to think about the dev server during development and can simply pretend that it doesn't exist, since it is handled entirely by the CLI scripts. You can always have a ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/cli/src/dev-server/devServer.ts"},"look at the source code")," to learn more.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/88e6eafe.f43723e8.js b/assets/js/88e6eafe.f43723e8.js new file mode 100644 index 000000000..f8241ac3b --- /dev/null +++ b/assets/js/88e6eafe.f43723e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9099],{3665:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/BootSettings","title":"Type Alias: BootSettings","description":"BootSettings: Pick\\\\","source":"@site/../docs/api/@ima/core/type-aliases/BootSettings.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/BootSettings","permalink":"/api/@ima/core/type-aliases/BootSettings","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/BootSettings.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: AsyncRouteView","permalink":"/api/@ima/core/type-aliases/AsyncRouteView"},"next":{"title":"Type Alias: Cookie","permalink":"/api/@ima/core/type-aliases/Cookie"}}');var i=o(2540),n=o(3023);const a={},c="Type Alias: BootSettings",r={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"type-alias-bootsettings",children:"Type Alias: BootSettings"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"BootSettings"}),": ",(0,i.jsx)(t.code,{children:"Pick"}),"<",(0,i.jsx)(t.a,{href:"/api/@ima/core/interfaces/GlobalImaObject",children:(0,i.jsx)(t.code,{children:"GlobalImaObject"})}),", ",(0,i.jsx)(t.code,{children:'"$Version"'})," | ",(0,i.jsx)(t.code,{children:'"$Debug"'})," | ",(0,i.jsx)(t.code,{children:'"$Env"'})," | ",(0,i.jsx)(t.code,{children:'"$Version"'})," | ",(0,i.jsx)(t.code,{children:'"$App"'})," | ",(0,i.jsx)(t.code,{children:'"$Protocol"'})," | ",(0,i.jsx)(t.code,{children:'"$Language"'})," | ",(0,i.jsx)(t.code,{children:'"$Host"'})," | ",(0,i.jsx)(t.code,{children:'"$Path"'})," | ",(0,i.jsx)(t.code,{children:'"$Root"'})," | ",(0,i.jsx)(t.code,{children:'"$LanguagePartPath"'}),">"]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Defined in: ",(0,i.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L82",children:"packages/core/src/Bootstrap.ts:82"})]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>c});var s=o(3696);const i={},n=s.createContext(i);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8c0ac720.c2f6f61f.js b/assets/js/8c0ac720.c2f6f61f.js new file mode 100644 index 000000000..44109d19e --- /dev/null +++ b/assets/js/8c0ac720.c2f6f61f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2345],{3422:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/interfaces/BootConfig","title":"Interface: BootConfig","description":"Defined in111","source":"@site/../docs/api/@ima/core/interfaces/BootConfig.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/BootConfig","permalink":"/api/@ima/core/interfaces/BootConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/BootConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: AppEnvironment","permalink":"/api/@ima/core/interfaces/AppEnvironment"},"next":{"title":"Interface: BootServices","permalink":"/api/@ima/core/interfaces/BootServices"}}');var r=n(2540),c=n(3023);const t={},a="Interface: BootConfig",o={},d=[{value:"Extends",id:"extends",level:2},{value:"Properties",id:"properties",level:2},{value:"bind?",id:"bind",level:3},{value:"initBindApp",id:"initbindapp",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"initBindIma",id:"initbindima",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"initRoutes",id:"initroutes",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"initServicesApp",id:"initservicesapp",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"initServicesIma",id:"initservicesima",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"initSettings",id:"initsettings",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"plugins",id:"plugins",level:3},{value:"name",id:"name",level:4},{value:"plugin",id:"plugin",level:4},{value:"routes?",id:"routes",level:3},{value:"services",id:"services",level:3},{value:"settings",id:"settings",level:3}];function l(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"interface-bootconfig",children:"Interface: BootConfig"})}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L111",children:"packages/core/src/Bootstrap.ts:111"})]}),"\n",(0,r.jsx)(i.h2,{id:"extends",children:"Extends"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig",children:(0,r.jsx)(i.code,{children:"InitImaConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,r.jsx)(i.code,{children:"InitAppConfig"})})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(i.h3,{id:"bind",children:"bind?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"bind"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,r.jsx)(i.code,{children:"Settings"})})," & ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/BootSettings",children:(0,r.jsx)(i.code,{children:"BootSettings"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L113",children:"packages/core/src/Bootstrap.ts:113"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initbindapp",children:"initBindApp"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initBindApp"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitBindFunction",children:(0,r.jsx)(i.code,{children:"InitBindFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L71",children:"packages/core/src/Bootstrap.ts:71"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,r.jsx)(i.code,{children:"InitAppConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig#initbindapp",children:(0,r.jsx)(i.code,{children:"initBindApp"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initbindima",children:"initBindIma"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initBindIma"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitBindFunction",children:(0,r.jsx)(i.code,{children:"InitBindFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L78",children:"packages/core/src/Bootstrap.ts:78"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig",children:(0,r.jsx)(i.code,{children:"InitImaConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig#initbindima",children:(0,r.jsx)(i.code,{children:"initBindIma"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initroutes",children:"initRoutes"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initRoutes"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitRoutesFunction",children:(0,r.jsx)(i.code,{children:"InitRoutesFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L72",children:"packages/core/src/Bootstrap.ts:72"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,r.jsx)(i.code,{children:"InitAppConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig#initroutes",children:(0,r.jsx)(i.code,{children:"initRoutes"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initservicesapp",children:"initServicesApp"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initServicesApp"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitServicesFunction",children:(0,r.jsx)(i.code,{children:"InitServicesFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L73",children:"packages/core/src/Bootstrap.ts:73"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,r.jsx)(i.code,{children:"InitAppConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig#initservicesapp",children:(0,r.jsx)(i.code,{children:"initServicesApp"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initservicesima",children:"initServicesIma"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initServicesIma"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitServicesFunction",children:(0,r.jsx)(i.code,{children:"InitServicesFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L79",children:"packages/core/src/Bootstrap.ts:79"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig",children:(0,r.jsx)(i.code,{children:"InitImaConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig#initservicesima",children:(0,r.jsx)(i.code,{children:"initServicesIma"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initsettings",children:"initSettings"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initSettings"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitSettingsFunction",children:(0,r.jsx)(i.code,{children:"InitSettingsFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L74",children:"packages/core/src/Bootstrap.ts:74"})]}),"\n",(0,r.jsx)(i.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,r.jsx)(i.code,{children:"InitAppConfig"})}),".",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig#initsettings",children:(0,r.jsx)(i.code,{children:"initSettings"})})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"plugins",children:"plugins"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"plugins"}),": ",(0,r.jsx)(i.code,{children:"object"}),"[]"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L114",children:"packages/core/src/Bootstrap.ts:114"})]}),"\n",(0,r.jsx)(i.h4,{id:"name",children:"name"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"name"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"plugin",children:"plugin"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"plugin"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(i.code,{children:"InitPluginConfig"})})]}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"routes",children:"routes?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"routes"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,r.jsx)(i.code,{children:"UnknownParameters"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L112",children:"packages/core/src/Bootstrap.ts:112"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"services",children:"services"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"services"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/BootServices",children:(0,r.jsx)(i.code,{children:"BootServices"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L115",children:"packages/core/src/Bootstrap.ts:115"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"settings",children:"settings"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"settings"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/BootSettings",children:(0,r.jsx)(i.code,{children:"BootSettings"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L116",children:"packages/core/src/Bootstrap.ts:116"})]})]})}function h(e={}){const{wrapper:i}={...(0,c.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>t,x:()=>a});var s=n(3696);const r={},c=s.createContext(r);function t(e){const i=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8c1bb129.a2dfc5b1.js b/assets/js/8c1bb129.a2dfc5b1.js deleted file mode 100644 index 03f57d843..000000000 --- a/assets/js/8c1bb129.a2dfc5b1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1441],{5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>d});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),l=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(n),g=r,d=u["".concat(c,".").concat(g)]||u[g]||m[g]||i;return n?a.createElement(d,o(o({ref:t},p),{},{components:n})):a.createElement(d,o({ref:t},p))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=g;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[u]="string"==typeof e?e:r,o[1]=s;for(var l=2;l<i;l++)o[l]=n[l];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},1735:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.StateEvents",title:"Enumeration: StateEvents",sidebar_label:"@ima/core.StateEvents",custom_edit_url:null},o=void 0,s={unversionedId:"api/enums/ima_core.StateEvents",id:"api/enums/ima_core.StateEvents",title:"Enumeration: StateEvents",description:"@ima/core.StateEvents",source:"@site/../docs/api/enums/ima_core.StateEvents.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.StateEvents",permalink:"/api/enums/ima_core.StateEvents",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.StateEvents",title:"Enumeration: StateEvents",sidebar_label:"@ima/core.StateEvents",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouterEvents",permalink:"/api/enums/ima_core.RouterEvents"},next:{title:"@ima/core.AbstractController",permalink:"/api/classes/ima_core.AbstractController"}},c={},l=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"AFTER_CHANGE_STATE",id:"after_change_state",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"BEFORE_CHANGE_STATE",id:"before_change_state",level:3},{value:"Defined in",id:"defined-in-1",level:4}],p={toc:l},u="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,a.A)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".StateEvents"),(0,r.yg)("p",null,"Events constants, which is firing to app."),(0,r.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,r.yg)("h3",{id:"after_change_state"},"AFTER","_","CHANGE","_","STATE"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"AFTER","_","CHANGE","_","STATE")," = ",(0,r.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageStateManager.afterChangeState"')),(0,r.yg)("p",null,"PateStateManager fire event ",(0,r.yg)("inlineCode",{parentName:"p"},"$IMA.$PageStateManager.afterChangeState")," after state\nis patched. Event's data contain ",(0,r.yg)("inlineCode",{parentName:"p"},"{newState: Object<string, *>}"),"."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/StateEvents.ts#L17"},"packages/core/src/page/state/StateEvents.ts:17")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"before_change_state"},"BEFORE","_","CHANGE","_","STATE"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"BEFORE","_","CHANGE","_","STATE")," = ",(0,r.yg)("inlineCode",{parentName:"p"},'"$IMA.$PageStateManager.beforeChangeState"')),(0,r.yg)("p",null,"PateStateManager fire event ",(0,r.yg)("inlineCode",{parentName:"p"},"$IMA.$PageStateManager.beforeChangeState")," before\nstate is patched. Event's data contain\n",(0,r.yg)("inlineCode",{parentName:"p"},"{ oldState: Object<string, *>, newState: Object<string, *>,\npathState: Object<string, *> }"),"."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/StateEvents.ts#L11"},"packages/core/src/page/state/StateEvents.ts:11")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8cb3e257.28165e4a.js b/assets/js/8cb3e257.28165e4a.js new file mode 100644 index 000000000..59ef9f5d3 --- /dev/null +++ b/assets/js/8cb3e257.28165e4a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6384],{3787:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>t,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/SessionStorage","title":"Class: SessionStorage\\\\<V\\\\>","description":"Defined in11","source":"@site/../docs/api/@ima/core/classes/SessionStorage.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/SessionStorage","permalink":"/api/@ima/core/classes/SessionStorage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/SessionStorage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: SessionMapStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/SessionMapStorage"},"next":{"title":"Class: StaticRoute","permalink":"/api/@ima/core/classes/StaticRoute"}}');var i=r(2540),d=r(3023);const c={},t="Class: SessionStorage<V>",a={},l=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new SessionStorage()",id:"new-sessionstorage",level:3},{value:"Parameters",id:"parameters",level:4},{value:"window",id:"window",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"_deleteOldestEntry()",id:"_deleteoldestentry",level:3},{value:"Returns",id:"returns-2",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"keys()",id:"keys",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"size()",id:"size",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-8",level:4}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-sessionstoragev",children:"Class: SessionStorage<V>"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L11",children:"packages/core/src/storage/SessionStorage.ts:11"})]}),"\n",(0,i.jsxs)(s.p,{children:["Implementation of the ",(0,i.jsx)(s.code,{children:"link Storage"})," interface that relies on the\nnative ",(0,i.jsx)(s.code,{children:"sessionStorage"})," DOM storage for storing its entries."]}),"\n",(0,i.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"V"})]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-sessionstorage",children:"new SessionStorage()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new SessionStorage"}),"<",(0,i.jsx)(s.code,{children:"V"}),">(",(0,i.jsx)(s.code,{children:"window"}),"): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionStorage",children:(0,i.jsx)(s.code,{children:"SessionStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L24",children:"packages/core/src/storage/SessionStorage.ts:24"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes the session storage."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"window",children:"window"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ClientWindow",children:(0,i.jsx)(s.code,{children:"ClientWindow"})})}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionStorage",children:(0,i.jsx)(s.code,{children:"SessionStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#constructors",children:(0,i.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"})," ",(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L17",children:"packages/core/src/storage/SessionStorage.ts:17"})]}),"\n",(0,i.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"_deleteoldestentry",children:"_deleteOldestEntry()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_deleteOldestEntry"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L123",children:"packages/core/src/storage/SessionStorage.ts:123"})]}),"\n",(0,i.jsx)(s.p,{children:"Deletes the oldest entry in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L100",children:"packages/core/src/storage/SessionStorage.ts:100"})]}),"\n",(0,i.jsx)(s.p,{children:"Clears the storage of all entries."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#clear",children:(0,i.jsx)(s.code,{children:"clear"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"delete"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L91",children:"packages/core/src/storage/SessionStorage.ts:91"})]}),"\n",(0,i.jsx)(s.p,{children:"Deletes the entry identified by the specified key from this storage."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#delete",children:(0,i.jsx)(s.code,{children:"delete"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L47",children:"packages/core/src/storage/SessionStorage.ts:47"})]}),"\n",(0,i.jsxs)(s.p,{children:["Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,i.jsx)(s.code,{children:"undefined"})," if the entry does not exists."]}),"\n",(0,i.jsxs)(s.p,{children:["Entries set to the ",(0,i.jsx)(s.code,{children:"undefined"})," value can be tested for existence\nusing the ",(0,i.jsx)(s.code,{children:"link has"})," method."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-1",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n",(0,i.jsx)(s.p,{children:"The value of the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#get",children:(0,i.jsx)(s.code,{children:"get"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"has"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L40",children:"packages/core/src/storage/SessionStorage.ts:40"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns ",(0,i.jsx)(s.code,{children:"true"})," if the entry identified by the specified key exists\nin this storage."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-2",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if the storage entry exists."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#has",children:(0,i.jsx)(s.code,{children:"has"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L33",children:"packages/core/src/storage/SessionStorage.ts:33"})]}),"\n",(0,i.jsx)(s.p,{children:"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."}),"\n",(0,i.jsx)(s.p,{children:"This method must be invoked only once and it must be the first method\ninvoked on this instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#init",children:(0,i.jsx)(s.code,{children:"init"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"keys",children:"keys()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"keys"}),"(): ",(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L109",children:"packages/core/src/storage/SessionStorage.ts:109"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n",(0,i.jsxs)(s.p,{children:["An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,i.jsx)(s.code,{children:"for..of"})," loop."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#keys",children:(0,i.jsx)(s.code,{children:"keys"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"set"}),"(",(0,i.jsx)(s.code,{children:"key"}),", ",(0,i.jsx)(s.code,{children:"value"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L62",children:"packages/core/src/storage/SessionStorage.ts:62"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-3",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"V"})}),"\n",(0,i.jsx)(s.p,{children:"The storage entry value."}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#set",children:(0,i.jsx)(s.code,{children:"set"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"size",children:"size()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"size"}),"(): ",(0,i.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionStorage.ts#L116",children:"packages/core/src/storage/SessionStorage.ts:116"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"number"})}),"\n",(0,i.jsx)(s.p,{children:"The number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#size",children:(0,i.jsx)(s.code,{children:"size"})})]})]})}function h(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>c,x:()=>t});var n=r(3696);const i={},d=n.createContext(i);function c(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8defe7f5.65782844.js b/assets/js/8defe7f5.65782844.js new file mode 100644 index 000000000..731491c31 --- /dev/null +++ b/assets/js/8defe7f5.65782844.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2185],{8175:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/PageData","title":"Type Alias: PageData","description":"PageData: object & UnknownParameters","source":"@site/../docs/api/@ima/core/type-aliases/PageData.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/PageData","permalink":"/api/@ima/core/type-aliases/PageData","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/PageData.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ObjectParameters","permalink":"/api/@ima/core/type-aliases/ObjectParameters"},"next":{"title":"Type Alias: PageState","permalink":"/api/@ima/core/type-aliases/PageState"}}');var n=t(2540),r=t(3023);const i={},c="Type Alias: PageData",o={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"status",id:"status",level:3}];function p(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"type-alias-pagedata",children:"Type Alias: PageData"})}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"PageData"}),": ",(0,n.jsx)(a.code,{children:"object"})," & ",(0,n.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,n.jsx)(a.code,{children:"UnknownParameters"})})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageTypes.ts#L50",children:"packages/core/src/page/PageTypes.ts:50"})]}),"\n",(0,n.jsx)(a.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,n.jsx)(a.h3,{id:"status",children:"status"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"status"}),": ",(0,n.jsx)(a.code,{children:"number"})]}),"\n"]})]})}function d(e={}){const{wrapper:a}={...(0,r.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>i,x:()=>c});var s=t(3696);const n={},r=s.createContext(n);function i(e){const a=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ec7ae24.435937a3.js b/assets/js/8ec7ae24.435937a3.js deleted file mode 100644 index 345c8cc2b..000000000 --- a/assets/js/8ec7ae24.435937a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1788],{9222:(e,t,a)=>{a.d(t,{A:()=>r});const r=a.p+"assets/images/introduction-run-dev-5cb35c917c7a6515bb1cc2d09a92821c.jpg"},5680:(e,t,a)=>{a.d(t,{xA:()=>u,yg:()=>y});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=p(a),m=n,y=c["".concat(s,".").concat(m)]||c[m]||d[m]||o;return a?r.createElement(y,i(i({ref:t},u),{},{components:a})):r.createElement(y,i({ref:t},u))}));function y(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:n,i[1]=l;for(var p=2;p<o;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},6185:(e,t,a)=>{a.d(t,{A:()=>i});var r=a(6540),n=a(8017);const o={tabItem:"tabItem_Ymn6"};function i(e){let{children:t,hidden:a,className:i}=e;return r.createElement("div",{role:"tabpanel",className:(0,n.A)(o.tabItem,i),hidden:a},t)}},1253:(e,t,a)=>{a.d(t,{A:()=>N});var r=a(8102),n=a(6540),o=a(8017),i=a(3104),l=a(9519),s=a(7485),p=a(1682),u=a(9466);function c(e){return function(e){return n.Children.map(e,(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:a,attributes:r,default:n}}=e;return{value:t,label:a,attributes:r,default:n}}))}function d(e){const{values:t,children:a}=e;return(0,n.useMemo)((()=>{const e=t??c(a);return function(e){const t=(0,p.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,a])}function m(e){let{value:t,tabValues:a}=e;return a.some((e=>e.value===t))}function y(e){let{queryString:t=!1,groupId:a}=e;const r=(0,l.W6)(),o=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a});return[(0,s.aZ)(o),(0,n.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(r.location.search);t.set(o,e),r.replace({...r.location,search:t.toString()})}),[o,r])]}function g(e){const{defaultValue:t,queryString:a=!1,groupId:r}=e,o=d(e),[i,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:a}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=a.find((e=>e.default))??a[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:o}))),[s,p]=y({queryString:a,groupId:r}),[c,g]=function(e){let{groupId:t}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,o]=(0,u.Dv)(a);return[r,(0,n.useCallback)((e=>{a&&o.set(e)}),[a,o])]}({groupId:r}),h=(()=>{const e=s??c;return m({value:e,tabValues:o})?e:null})();(0,n.useLayoutEffect)((()=>{h&&l(h)}),[h]);return{selectedValue:i,selectValue:(0,n.useCallback)((e=>{if(!m({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),p(e),g(e)}),[p,g,o]),tabValues:o}}var h=a(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function b(e){let{className:t,block:a,selectedValue:l,selectValue:s,tabValues:p}=e;const u=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),d=e=>{const t=e.currentTarget,a=u.indexOf(t),r=p[a].value;r!==l&&(c(t),s(r))},m=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const a=u.indexOf(e.currentTarget)+1;t=u[a]??u[0];break}case"ArrowLeft":{const a=u.indexOf(e.currentTarget)-1;t=u[a]??u[u.length-1];break}}t?.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":a},t)},p.map((e=>{let{value:t,label:a,attributes:i}=e;return n.createElement("li",(0,r.A)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:e=>u.push(e),onKeyDown:m,onClick:d},i,{className:(0,o.A)("tabs__item",f.tabItem,i?.className,{"tabs__item--active":l===t})}),a??t)})))}function v(e){let{lazy:t,children:a,selectedValue:r}=e;const o=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===r));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},o.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==r}))))}function w(e){const t=g(e);return n.createElement("div",{className:(0,o.A)("tabs-container",f.tabList)},n.createElement(b,(0,r.A)({},e,t)),n.createElement(v,(0,r.A)({},e,t)))}function N(e){const t=(0,h.A)();return n.createElement(w,(0,r.A)({key:String(t)},e))}},7743:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>y,frontMatter:()=>l,metadata:()=>p,toc:()=>c});var r=a(8102),n=(a(6540),a(5680)),o=a(1253),i=a(6185);const l={title:"Introduction",description:"Tutorial > Introduction"},s=void 0,p={unversionedId:"tutorial/introduction",id:"tutorial/introduction",title:"Introduction",description:"Tutorial > Introduction",source:"@site/../docs/tutorial/introduction.md",sourceDirName:"tutorial",slug:"/tutorial/introduction",permalink:"/tutorial/introduction",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/introduction.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Introduction",description:"Tutorial > Introduction"},sidebar:"tutorial",next:{title:"Static View",permalink:"/tutorial/static-view"}},u={},c=[{value:"Your first IMA.js application",id:"your-first-imajs-application",level:2},{value:"Setup",id:"setup",level:3},{value:"Dev server",id:"dev-server",level:3},{value:"ENOSPC error",id:"enospc-error",level:4},{value:"Directories and files in your application",id:"directories-and-files-in-your-application",level:3}],d={toc:c},m="wrapper";function y(e){let{components:t,...l}=e;return(0,n.yg)(m,(0,r.A)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,"In this tutorial we will build our first IMA.js web application - a simple\nguest book which will list the posts left by other visitors and allow us to\nwrite new posts."),(0,n.yg)("h2",{id:"your-first-imajs-application"},"Your first IMA.js application"),(0,n.yg)("p",null,"Through the course of this tutorial, we will work with\n",(0,n.yg)("a",{parentName:"p",href:"http://git-scm.com/"},"git"),", ",(0,n.yg)("a",{parentName:"p",href:"http://gulpjs.com/"},"gulp"),",\n",(0,n.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla"},"ES2015 (ES6)"),",\n",(0,n.yg)("a",{parentName:"p",href:"http://lesscss.org/"},"Less CSS")," and\n",(0,n.yg)("a",{parentName:"p",href:"https://facebook.github.io/react/"},"React"),". Feel free to familiarize yourself\nwith any of these tools upfront if you are not already. Don't worry though,\nwe'll take things slow and assume no prior knowledge of these tools in this\ntutorial."),(0,n.yg)("p",null,"We do, however, assume that you are familiar with\nJavaScript (ECMAScript 2015), the\n",(0,n.yg)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"},"MVC pattern"),",\nand the\n",(0,n.yg)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/Single-page_application"},"Single-page application architecture (SPA)"),".\nKnowledge of an SPA framework such as ",(0,n.yg)("a",{parentName:"p",href:"https://angular.io/"},"Angular")," or\n",(0,n.yg)("a",{parentName:"p",href:"http://emberjs.com/"},"Ember")," is recommended, but not necessary."),(0,n.yg)("p",null,"We also assume that you have ",(0,n.yg)("a",{parentName:"p",href:"https://nodejs.org/"},"Node.js")," with NPM (the\ncurrent version is recommended) and a Git client installed on your computer."),(0,n.yg)("h3",{id:"setup"},"Setup"),(0,n.yg)("p",null,"First we need to bootstrap our new IMA.js application. Thanks to ",(0,n.yg)("inlineCode",{parentName:"p"},"create-ima-app"),"\nnpm package, available since IMA.js v17, this process is fairly simple."),(0,n.yg)("p",null,'To initialize new project, run following command and choose the "Empty" (Hello World) template:'),(0,n.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,n.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app imajs-tutorial\n"))),(0,n.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app imajs-tutorial\n"))),(0,n.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app imajs-tutorial\n")))),(0,n.yg)("p",null,"For TypeScript support run the initializing command with following parameters:"),(0,n.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,n.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app imajs-tutorial --typescript\n"))),(0,n.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app imajs-tutorial --typescript\n"))),(0,n.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npx create-ima-app imajs-tutorial --typescript\n")))),(0,n.yg)("p",null,"This will bootstrap the IMA.js directory structure and install all dependencies. To\nlearn more information about ",(0,n.yg)("inlineCode",{parentName:"p"},"create-ima-app")," package, take a look at its ",(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app"},"github repository"),"."),(0,n.yg)("p",null,"To finish our setup, we will start a development server that will allow us to\nsee our application in action. To do that, cd ",(0,n.yg)("em",{parentName:"p"},"into the imajs-tutorial directory")," and run following command:"),(0,n.yg)(o.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,n.yg)(i.A,{value:"npm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"npm run dev\n"))),(0,n.yg)(i.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"yarn dev\n"))),(0,n.yg)(i.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm run dev\n")))),(0,n.yg)("p",null,'As you can already see from the command line, if everything went well, you can view the basic "hello world"\napplication by opening ',(0,n.yg)("a",{parentName:"p",href:"http://localhost:3001/"},(0,n.yg)("inlineCode",{parentName:"a"},"http://localhost:3001/"))," in your browser."),(0,n.yg)("p",null,(0,n.yg)("img",{src:a(9222).A,width:"1920",height:"1080"})),(0,n.yg)("h3",{id:"dev-server"},"Dev server"),(0,n.yg)("p",null,"By running ",(0,n.yg)("inlineCode",{parentName:"p"},"npm run dev")," you start your application in development mode with a dev server."),(0,n.yg)("p",null,"The dev server will keep running in the background, watching for any changes made to\nthe project files and reload the app, allowing us the see the\nresult in the browser without having to restart the application."),(0,n.yg)("p",null,"If you'll happen to not see the changes you've made through this tutorial in\nyour browser, check whether the dev server did not crash or freeze (or didn't\npick up some new files). Should that happen, you can kill the server by\npressing ",(0,n.yg)("inlineCode",{parentName:"p"},"Ctrl+C")," and restart it by running ",(0,n.yg)("inlineCode",{parentName:"p"},"npm run dev"),". If you see an\nerror after you restarted the dev server, check your source code. The error\nshould hint what to look for and where to find the source of the trouble."),(0,n.yg)("p",null,"Additionally, if you want to, you may install the\nReact DevTools (",(0,n.yg)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi"},"Chrome"),", ",(0,n.yg)("a",{parentName:"p",href:"https://addons.mozilla.org/en-US/firefox/addon/react-devtools/"},"Firefox"),")\nto inspect your view in the browser dev tools."),(0,n.yg)("h4",{id:"enospc-error"},"ENOSPC error"),(0,n.yg)("p",null,"Finally, you may encounter the ",(0,n.yg)("inlineCode",{parentName:"p"},"ENOSPC")," error when working with a large project\nusing a ","*","nix OS. This can be fixed using the following code snippet ran from a\nterminal\n(",(0,n.yg)("a",{parentName:"p",href:"http://stackoverflow.com/questions/16748737/grunt-watch-error-waiting-fatal-error-watch-enospc"},"source of the snippet here"),"):"),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre"},"echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p\n")),(0,n.yg)("h3",{id:"directories-and-files-in-your-application"},"Directories and files in your application"),(0,n.yg)("p",null,"All files that are specific to our application are located in the ",(0,n.yg)("inlineCode",{parentName:"p"},"app"),",\ndirectory. The ",(0,n.yg)("inlineCode",{parentName:"p"},"package.json")," file provides the ",(0,n.yg)("inlineCode",{parentName:"p"},"npm")," tool with information\nabout the dependencies of our application."),(0,n.yg)("p",null,"You may have also noticed the ",(0,n.yg)("inlineCode",{parentName:"p"},"doc"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"build")," and ",(0,n.yg)("inlineCode",{parentName:"p"},"server")," directories ",(0,n.yg)("em",{parentName:"p"},"(some of these folders may not be visible until they are generated in the first call of ",(0,n.yg)("inlineCode",{parentName:"em"},"npm run dev")," or ",(0,n.yg)("inlineCode",{parentName:"em"},"npm run build"),")"),"."),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"The ",(0,n.yg)("inlineCode",{parentName:"li"},"doc")," directory contains the documentation for IMA.js APIs and our application\nrendered to HTML."),(0,n.yg)("li",{parentName:"ul"},"The ",(0,n.yg)("inlineCode",{parentName:"li"},"server")," contains the application logic of the HTTP\nserver serving our application."),(0,n.yg)("li",{parentName:"ul"},"Finally, the ",(0,n.yg)("inlineCode",{parentName:"li"},"build")," directory is used as an\noutput directory for the built application and its resources.")),(0,n.yg)("p",null,"For more information see the ",(0,n.yg)("a",{parentName:"p",href:"/introduction/getting-started#application-structure"},"Application Structure"),"\nsection in the documentation."))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8ec7ae24.a7905f07.js b/assets/js/8ec7ae24.a7905f07.js new file mode 100644 index 000000000..7dd8ef08e --- /dev/null +++ b/assets/js/8ec7ae24.a7905f07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1788],{7551:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"tutorial/introduction","title":"Introduction","description":"Tutorial > Introduction","source":"@site/../docs/tutorial/introduction.md","sourceDirName":"tutorial","slug":"/tutorial/introduction","permalink":"/tutorial/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/introduction.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Introduction","description":"Tutorial > Introduction"},"sidebar":"tutorial","next":{"title":"Static View","permalink":"/tutorial/static-view"}}');var a=t(2540),i=t(3023),o=t(3776),s=t(6052);const l={title:"Introduction",description:"Tutorial > Introduction"},c=void 0,d={},u=[{value:"Your first IMA.js application",id:"your-first-imajs-application",level:2},{value:"Setup",id:"setup",level:3},{value:"Dev server",id:"dev-server",level:3},{value:"ENOSPC error",id:"enospc-error",level:4},{value:"Directories and files in your application",id:"directories-and-files-in-your-application",level:3}];function h(e){const r={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.p,{children:"In this tutorial we will build our first IMA.js web application - a simple\nguest book which will list the posts left by other visitors and allow us to\nwrite new posts."}),"\n",(0,a.jsx)(r.h2,{id:"your-first-imajs-application",children:"Your first IMA.js application"}),"\n",(0,a.jsxs)(r.p,{children:["Through the course of this tutorial, we will work with\n",(0,a.jsx)(r.a,{href:"http://git-scm.com/",children:"git"}),", ",(0,a.jsx)(r.a,{href:"http://gulpjs.com/",children:"gulp"}),",\n",(0,a.jsx)(r.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla",children:"ES2015 (ES6)"}),",\n",(0,a.jsx)(r.a,{href:"http://lesscss.org/",children:"Less CSS"})," and\n",(0,a.jsx)(r.a,{href:"https://facebook.github.io/react/",children:"React"}),". Feel free to familiarize yourself\nwith any of these tools upfront if you are not already. Don't worry though,\nwe'll take things slow and assume no prior knowledge of these tools in this\ntutorial."]}),"\n",(0,a.jsxs)(r.p,{children:["We do, however, assume that you are familiar with\nJavaScript (ECMAScript 2015), the\n",(0,a.jsx)(r.a,{href:"http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller",children:"MVC pattern"}),",\nand the\n",(0,a.jsx)(r.a,{href:"http://en.wikipedia.org/wiki/Single-page_application",children:"Single-page application architecture (SPA)"}),".\nKnowledge of an SPA framework such as ",(0,a.jsx)(r.a,{href:"https://angular.io/",children:"Angular"})," or\n",(0,a.jsx)(r.a,{href:"http://emberjs.com/",children:"Ember"})," is recommended, but not necessary."]}),"\n",(0,a.jsxs)(r.p,{children:["We also assume that you have ",(0,a.jsx)(r.a,{href:"https://nodejs.org/",children:"Node.js"})," with NPM (the\ncurrent version is recommended) and a Git client installed on your computer."]}),"\n",(0,a.jsx)(r.h3,{id:"setup",children:"Setup"}),"\n",(0,a.jsxs)(r.p,{children:["First we need to bootstrap our new IMA.js application. Thanks to ",(0,a.jsx)(r.code,{children:"create-ima-app"}),"\nnpm package, available since IMA.js v17, this process is fairly simple."]}),"\n",(0,a.jsx)(r.p,{children:'To initialize new project, run following command and choose the "Empty" (Hello World) template:'}),"\n",(0,a.jsxs)(o.A,{groupId:"npm2yarn",children:[(0,a.jsx)(s.A,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npx create-ima-app imajs-tutorial\n"})})}),(0,a.jsx)(s.A,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn dlx create-ima-app imajs-tutorial\n"})})}),(0,a.jsx)(s.A,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm dlx create-ima-app imajs-tutorial\n"})})})]}),"\n",(0,a.jsx)(r.p,{children:"For TypeScript support run the initializing command with following parameters:"}),"\n",(0,a.jsxs)(o.A,{groupId:"npm2yarn",children:[(0,a.jsx)(s.A,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npx create-ima-app imajs-tutorial --typescript\n"})})}),(0,a.jsx)(s.A,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn dlx create-ima-app imajs-tutorial --typescript\n"})})}),(0,a.jsx)(s.A,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm dlx create-ima-app imajs-tutorial --typescript\n"})})})]}),"\n",(0,a.jsxs)(r.p,{children:["This will bootstrap the IMA.js directory structure and install all dependencies. To\nlearn more information about ",(0,a.jsx)(r.code,{children:"create-ima-app"})," package, take a look at its ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/tree/master/packages/create-ima-app",children:"github repository"}),"."]}),"\n",(0,a.jsxs)(r.p,{children:["To finish our setup, we will start a development server that will allow us to\nsee our application in action. To do that, cd ",(0,a.jsx)(r.em,{children:"into the imajs-tutorial directory"})," and run following command:"]}),"\n",(0,a.jsxs)(o.A,{groupId:"npm2yarn",children:[(0,a.jsx)(s.A,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npm run dev\n"})})}),(0,a.jsx)(s.A,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn dev\n"})})}),(0,a.jsx)(s.A,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm run dev\n"})})})]}),"\n",(0,a.jsxs)(r.p,{children:['As you can already see from the command line, if everything went well, you can view the basic "hello world"\napplication by opening ',(0,a.jsx)(r.a,{href:"http://localhost:3001/",children:(0,a.jsx)(r.code,{children:"http://localhost:3001/"})})," in your browser."]}),"\n",(0,a.jsx)(r.p,{children:(0,a.jsx)(r.img,{src:t(9222).A+"",width:"1920",height:"1080"})}),"\n",(0,a.jsx)(r.h3,{id:"dev-server",children:"Dev server"}),"\n",(0,a.jsxs)(r.p,{children:["By running ",(0,a.jsx)(r.code,{children:"npm run dev"})," you start your application in development mode with a dev server."]}),"\n",(0,a.jsx)(r.p,{children:"The dev server will keep running in the background, watching for any changes made to\nthe project files and reload the app, allowing us the see the\nresult in the browser without having to restart the application."}),"\n",(0,a.jsxs)(r.p,{children:["If you'll happen to not see the changes you've made through this tutorial in\nyour browser, check whether the dev server did not crash or freeze (or didn't\npick up some new files). Should that happen, you can kill the server by\npressing ",(0,a.jsx)(r.code,{children:"Ctrl+C"})," and restart it by running ",(0,a.jsx)(r.code,{children:"npm run dev"}),". If you see an\nerror after you restarted the dev server, check your source code. The error\nshould hint what to look for and where to find the source of the trouble."]}),"\n",(0,a.jsxs)(r.p,{children:["Additionally, if you want to, you may install the\nReact DevTools (",(0,a.jsx)(r.a,{href:"https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi",children:"Chrome"}),", ",(0,a.jsx)(r.a,{href:"https://addons.mozilla.org/en-US/firefox/addon/react-devtools/",children:"Firefox"}),")\nto inspect your view in the browser dev tools."]}),"\n",(0,a.jsx)(r.h4,{id:"enospc-error",children:"ENOSPC error"}),"\n",(0,a.jsxs)(r.p,{children:["Finally, you may encounter the ",(0,a.jsx)(r.code,{children:"ENOSPC"})," error when working with a large project\nusing a *nix OS. This can be fixed using the following code snippet ran from a\nterminal\n(",(0,a.jsx)(r.a,{href:"http://stackoverflow.com/questions/16748737/grunt-watch-error-waiting-fatal-error-watch-enospc",children:"source of the snippet here"}),"):"]}),"\n",(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{children:"echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p\n"})}),"\n",(0,a.jsx)(r.h3,{id:"directories-and-files-in-your-application",children:"Directories and files in your application"}),"\n",(0,a.jsxs)(r.p,{children:["All files that are specific to our application are located in the ",(0,a.jsx)(r.code,{children:"app"}),",\ndirectory. The ",(0,a.jsx)(r.code,{children:"package.json"})," file provides the ",(0,a.jsx)(r.code,{children:"npm"})," tool with information\nabout the dependencies of our application."]}),"\n",(0,a.jsxs)(r.p,{children:["You may have also noticed the ",(0,a.jsx)(r.code,{children:"doc"}),", ",(0,a.jsx)(r.code,{children:"build"})," and ",(0,a.jsx)(r.code,{children:"server"})," directories ",(0,a.jsxs)(r.em,{children:["(some of these folders may not be visible until they are generated in the first call of ",(0,a.jsx)(r.code,{children:"npm run dev"})," or ",(0,a.jsx)(r.code,{children:"npm run build"}),")"]}),"."]}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:["The ",(0,a.jsx)(r.code,{children:"doc"})," directory contains the documentation for IMA.js APIs and our application\nrendered to HTML."]}),"\n",(0,a.jsxs)(r.li,{children:["The ",(0,a.jsx)(r.code,{children:"server"})," contains the application logic of the HTTP\nserver serving our application."]}),"\n",(0,a.jsxs)(r.li,{children:["Finally, the ",(0,a.jsx)(r.code,{children:"build"})," directory is used as an\noutput directory for the built application and its resources."]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["For more information see the ",(0,a.jsx)(r.a,{href:"/introduction/getting-started#application-structure",children:"Application Structure"}),"\nsection in the documentation."]})]})}function p(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},6052:(e,r,t)=>{t.d(r,{A:()=>o});t(3696);var n=t(2689);const a={tabItem:"tabItem_wHwb"};var i=t(2540);function o(e){let{children:r,hidden:t,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,n.A)(a.tabItem,o),hidden:t,children:r})}},3776:(e,r,t)=>{t.d(r,{A:()=>w});var n=t(3696),a=t(2689),i=t(3707),o=t(9519),s=t(3604),l=t(5196),c=t(6229),d=t(8030);function u(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:r,children:t}=e;return(0,n.useMemo)((()=>{const e=r??function(e){return u(e).map((e=>{let{props:{value:r,label:t,attributes:n,default:a}}=e;return{value:r,label:t,attributes:n,default:a}}))}(t);return function(e){const r=(0,c.XI)(e,((e,r)=>e.value===r.value));if(r.length>0)throw new Error(`Docusaurus error: Duplicate values "${r.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[r,t])}function p(e){let{value:r,tabValues:t}=e;return t.some((e=>e.value===r))}function m(e){let{queryString:r=!1,groupId:t}=e;const a=(0,o.W6)(),i=function(e){let{queryString:r=!1,groupId:t}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:r,groupId:t});return[(0,l.aZ)(i),(0,n.useCallback)((e=>{if(!i)return;const r=new URLSearchParams(a.location.search);r.set(i,e),a.replace({...a.location,search:r.toString()})}),[i,a])]}function f(e){const{defaultValue:r,queryString:t=!1,groupId:a}=e,i=h(e),[o,l]=(0,n.useState)((()=>function(e){let{defaultValue:r,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(r){if(!p({value:r,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}const n=t.find((e=>e.default))??t[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:r,tabValues:i}))),[c,u]=m({queryString:t,groupId:a}),[f,j]=function(e){let{groupId:r}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(r),[a,i]=(0,d.Dv)(t);return[a,(0,n.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:a}),x=(()=>{const e=c??f;return p({value:e,tabValues:i})?e:null})();(0,s.A)((()=>{x&&l(x)}),[x]);return{selectedValue:o,selectValue:(0,n.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),j(e)}),[u,j,i]),tabValues:i}}var j=t(5200);const x={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var v=t(2540);function g(e){let{className:r,block:t,selectedValue:n,selectValue:o,tabValues:s}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),d=e=>{const r=e.currentTarget,t=l.indexOf(r),a=s[t].value;a!==n&&(c(r),o(a))},u=e=>{let r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;r=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;r=l[t]??l[l.length-1];break}}r?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":t},r),children:s.map((e=>{let{value:r,label:t,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:n===r?0:-1,"aria-selected":n===r,ref:e=>{l.push(e)},onKeyDown:u,onClick:d,...i,className:(0,a.A)("tabs__item",x.tabItem,i?.className,{"tabs__item--active":n===r}),children:t??r},r)}))})}function b(e){let{lazy:r,children:t,selectedValue:i}=e;const o=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){const e=o.find((e=>e.props.value===i));return e?(0,n.cloneElement)(e,{className:(0,a.A)("margin-top--md",e.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:o.map(((e,r)=>(0,n.cloneElement)(e,{key:r,hidden:e.props.value!==i})))})}function y(e){const r=f(e);return(0,v.jsxs)("div",{className:(0,a.A)("tabs-container",x.tabList),children:[(0,v.jsx)(g,{...r,...e}),(0,v.jsx)(b,{...r,...e})]})}function w(e){const r=(0,j.A)();return(0,v.jsx)(y,{...e,children:u(e.children)},String(r))}},9222:(e,r,t)=>{t.d(r,{A:()=>n});const n=t.p+"assets/images/introduction-run-dev-5cb35c917c7a6515bb1cc2d09a92821c.jpg"},3023:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>s});var n=t(3696);const a={},i=n.createContext(a);function o(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ed4501f.6397cad5.js b/assets/js/8ed4501f.6397cad5.js deleted file mode 100644 index 0daa771cc..000000000 --- a/assets/js/8ed4501f.6397cad5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8856],{5680:(e,a,t)=>{t.d(a,{xA:()=>p,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=r.createContext({}),g=function(e){var a=r.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):s(s({},a),e)),t},p=function(e){var a=g(e.components);return r.createElement(o.Provider,{value:a},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=g(t),m=n,c=d["".concat(o,".").concat(m)]||d[m]||y[m]||i;return t?r.createElement(c,s(s({ref:a},p),{},{components:t})):r.createElement(c,s({ref:a},p))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,s=new Array(i);s[0]=m;var l={};for(var o in a)hasOwnProperty.call(a,o)&&(l[o]=a[o]);l.originalType=e,l[d]="string"==typeof e?e:n,s[1]=l;for(var g=2;g<i;g++)s[g]=t[g];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},1996:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.SessionStorage",title:"Class: SessionStorage<V>",sidebar_label:"@ima/core.SessionStorage",custom_edit_url:null},s=void 0,l={unversionedId:"api/classes/ima_core.SessionStorage",id:"api/classes/ima_core.SessionStorage",title:"Class: SessionStorage<V>",description:"@ima/core.SessionStorage",source:"@site/../docs/api/classes/ima_core.SessionStorage.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.SessionStorage",permalink:"/api/classes/ima_core.SessionStorage",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.SessionStorage",title:"Class: SessionStorage<V>",sidebar_label:"@ima/core.SessionStorage",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.SessionMapStorage",permalink:"/api/classes/ima_core.SessionMapStorage"},next:{title:"@ima/core.StaticRoute",permalink:"/api/classes/ima_core.StaticRoute"}},o={},g=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_storage",id:"_storage",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods",level:2},{value:"_deleteOldestEntry",id:"_deleteoldestentry",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"keys",id:"keys",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"size",id:"size",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-11",level:4}],p={toc:g},d="wrapper";function y(e){let{components:a,...t}=e;return(0,n.yg)(d,(0,r.A)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".SessionStorage"),(0,n.yg)("p",null,"Implementation of the ",(0,n.yg)("inlineCode",{parentName:"p"},"link Storage")," interface that relies on the\nnative ",(0,n.yg)("inlineCode",{parentName:"p"},"sessionStorage")," DOM storage for storing its entries."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"SessionStorage"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new SessionStorage"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"window"),")"),(0,n.yg)("p",null,"Initializes the session storage."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"window")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ClientWindow"},(0,n.yg)("inlineCode",{parentName:"a"},"ClientWindow")))))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L24"},"packages/core/src/storage/SessionStorage.ts:24")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_storage"},"_","storage"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","storage"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Storage")),(0,n.yg)("p",null,"The DOM storage providing the actual storage of the entries."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L15"},"packages/core/src/storage/SessionStorage.ts:15")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L17"},"packages/core/src/storage/SessionStorage.ts:17")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_deleteoldestentry"},"_","deleteOldestEntry"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_deleteOldestEntry"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Deletes the oldest entry in this storage."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L123"},"packages/core/src/storage/SessionStorage.ts:123")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Clears the storage of all entries."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#clear"},"clear")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L100"},"packages/core/src/storage/SessionStorage.ts:100")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"delete"},"delete"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"delete"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Deletes the entry identified by the specified key from this storage."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#delete"},"delete")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L91"},"packages/core/src/storage/SessionStorage.ts:91")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"get"},"get"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"get"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," if the entry does not exists."),(0,n.yg)("p",null,"Entries set to the ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," value can be tested for existence\nusing the ",(0,n.yg)("inlineCode",{parentName:"p"},"link has")," method."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"The value of the storage entry."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#get"},"get")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L47"},"packages/core/src/storage/SessionStorage.ts:47")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"has"},"has"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"has"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the entry identified by the specified key exists\nin this storage."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the storage entry exists."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#has"},"has")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L40"},"packages/core/src/storage/SessionStorage.ts:40")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."),(0,n.yg)("p",null,"This method must be invoked only once and it must be the first method\ninvoked on this instance."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#init"},"init")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L33"},"packages/core/src/storage/SessionStorage.ts:33")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"keys"},"keys"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"keys"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,n.yg)("inlineCode",{parentName:"p"},"for..of")," loop."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#keys"},"keys")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L109"},"packages/core/src/storage/SessionStorage.ts:109")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"set"},"set"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"set"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The storage entry value.")))),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#set"},"set")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L62"},"packages/core/src/storage/SessionStorage.ts:62")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"size"},"size"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"size"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the number of entries in this storage."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The number of entries in this storage."),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#size"},"size")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionStorage.ts#L116"},"packages/core/src/storage/SessionStorage.ts:116")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8f92c1e6.8fca0c4a.js b/assets/js/8f92c1e6.8fca0c4a.js new file mode 100644 index 000000000..8f4da66b0 --- /dev/null +++ b/assets/js/8f92c1e6.8fca0c4a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9157],{8656:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/WindowEventTargets","title":"Type Alias: WindowEventTargets","description":"WindowEventTargets: Document \\\\| globalThis.Window \\\\| HTMLBodyElement \\\\| SVGSVGElement \\\\| SVGElement \\\\| HTMLMediaElement \\\\| HTMLVideoElement \\\\| Element","source":"@site/../docs/api/@ima/core/type-aliases/WindowEventTargets.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/WindowEventTargets","permalink":"/api/@ima/core/type-aliases/WindowEventTargets","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/WindowEventTargets.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: UnknownPromiseParameters","permalink":"/api/@ima/core/type-aliases/UnknownPromiseParameters"},"next":{"title":"Type Alias: WindowEventTargetsMap\\\\<E\\\\>","permalink":"/api/@ima/core/type-aliases/WindowEventTargetsMap"}}');var i=t(2540),a=t(3023);const o={},r="Type Alias: WindowEventTargets",c={},d=[];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"type-alias-windoweventtargets",children:"Type Alias: WindowEventTargets"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"WindowEventTargets"}),": ",(0,i.jsx)(n.code,{children:"Document"})," | ",(0,i.jsx)(n.code,{children:"globalThis.Window"})," | ",(0,i.jsx)(n.code,{children:"HTMLBodyElement"})," | ",(0,i.jsx)(n.code,{children:"SVGSVGElement"})," | ",(0,i.jsx)(n.code,{children:"SVGElement"})," | ",(0,i.jsx)(n.code,{children:"HTMLMediaElement"})," | ",(0,i.jsx)(n.code,{children:"HTMLVideoElement"})," | ",(0,i.jsx)(n.code,{children:"Element"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L3",children:"packages/core/src/window/Window.ts:3"})]})]})}function p(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var s=t(3696);const i={},a=s.createContext(i);function o(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/91f1837b.9c329755.js b/assets/js/91f1837b.9c329755.js deleted file mode 100644 index b0e0d7be5..000000000 --- a/assets/js/91f1837b.9c329755.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7598],{5680:(e,t,n)=>{n.d(t,{xA:()=>o,yg:()=>u});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),g=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},o=function(e){var t=g(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=s(e,["components","mdxType","originalType","parentName"]),d=g(n),y=r,u=d["".concat(p,".").concat(y)]||d[y]||m[y]||i;return n?a.createElement(u,l(l({ref:t},o),{},{components:n})):a.createElement(u,l({ref:t},o))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=y;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[d]="string"==typeof e?e:r,l[1]=s;for(var g=2;g<i;g++)l[g]=n[g];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}y.displayName="MDXCreateElement"},9703:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>g});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.EventBus",title:"Class: EventBus",sidebar_label:"@ima/core.EventBus",custom_edit_url:null},l=void 0,s={unversionedId:"api/classes/ima_core.EventBus",id:"api/classes/ima_core.EventBus",title:"Class: EventBus",description:"@ima/core.EventBus",source:"@site/../docs/api/classes/ima_core.EventBus.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.EventBus",permalink:"/api/classes/ima_core.EventBus",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.EventBus",title:"Class: EventBus",sidebar_label:"@ima/core.EventBus",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Error",permalink:"/api/classes/ima_core.Error"},next:{title:"@ima/core.EventBusImpl",permalink:"/api/classes/ima_core.EventBusImpl"}},p={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"fire",id:"fire",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"listen",id:"listen",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"listenAll",id:"listenall",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"unlistenAll",id:"unlistenall",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4}],o={toc:g},d="wrapper";function m(e){let{components:t,...n}=e;return(0,r.yg)(d,(0,a.A)({},o,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".EventBus"),(0,r.yg)("p",null,"Utility for sending and intercepting wrapped custom DOM events on the DOM or\npropagating them to the current controller."),(0,r.yg)("p",null,"As with native events, the event fired by this event bus always propagate up\nthe DOM tree until they reach the window."),(0,r.yg)("p",null,"Note that the events fired by this event bus are wrapped in custom DOM\nevents which always bear an obscure name set by the implementation of this\ninterface, preventing custom event name collisions, and allowing observation\nand capture of all fired events. The actual event name is always consistent\nby the implementation."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"EventBus"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBusImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new EventBus"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Fires a new custom event of the specified name, carrying the provided\ndata."),(0,r.yg)("p",null,"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."),(0,r.yg)("p",null,"Note that the default options are\n",(0,r.yg)("inlineCode",{parentName:"p"},"{ bubbles: true, cancelable: true }"),", which is different from the\ndefault values used in the native custom events\n(",(0,r.yg)("inlineCode",{parentName:"p"},"{ bubbles: false, cancelable: false }"),")."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the event will be dispatched (e.g. element/document/window).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to fire.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to pass to the event listeners.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbusoptions"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The override of the default options passed to the constructor of the custom event fired by this event bus. The default options passed to the custom event constructor are ",(0,r.yg)("inlineCode",{parentName:"td"},"{ bubbles: true, cancelable: true }"),".")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This custom event bus."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Thrown if the provided event target cannot be used to\nfire the event."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"See"))),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"},"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L56"},"packages/core/src/event/EventBus.ts:56")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when the specific\ncustom event is fired by the same implementation of the event bus and\npasses through the specified event target."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener should listen for the specified event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event to listen for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L104"},"packages/core/src/event/EventBus.ts:104")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listenall"},"listenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Registers the provided event listener to be executed when any custom\nevent is fired using the same implementation of the event bus and passes\nthrough the specified event target."),(0,r.yg)("p",null,"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."),(0,r.yg)("p",null,"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener should listen for all event bus events.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to register.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L82"},"packages/core/src/event/EventBus.ts:82")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Removes the provided event listener from the set of event listeners\nexecuted when the specified custom event fired by the same\nimplementation passes through the specified event target."),(0,r.yg)("p",null,"The method has no effect if the listener is not registered for the\nspecified event at the specified event target."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the listener is listening for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event listened for.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L145"},"packages/core/src/event/EventBus.ts:145")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlistenall"},"unlistenAll"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlistenAll"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Removes the provided event listener from the set of event listeners\nexecuted when the any custom event fired by the same implementation\npasses through the specified event target."),(0,r.yg)("p",null,"The method has no effect if the listener is not registered at the\nspecified event target."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event target at which the event listener listens for events.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The event listener to deregister.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"This event bus."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/EventBus.ts#L126"},"packages/core/src/event/EventBus.ts:126")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9294f473.cd4d100c.js b/assets/js/9294f473.cd4d100c.js deleted file mode 100644 index 86e3c2f4b..000000000 --- a/assets/js/9294f473.cd4d100c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6261],{5680:(e,r,t)=>{t.d(r,{xA:()=>p,yg:()=>f});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function s(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),l=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},p=function(e){var r=l(e.components);return n.createElement(c.Provider,{value:r},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(t),d=a,f=u["".concat(c,".").concat(d)]||u[d]||m[d]||i;return t?n.createElement(f,o(o({ref:r},p),{},{components:t})):n.createElement(f,o({ref:r},p))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=d;var s={};for(var c in r)hasOwnProperty.call(r,c)&&(s[c]=r[c]);s.originalType=e,s[u]="string"==typeof e?e:a,o[1]=s;for(var l=2;l<i;l++)o[l]=t[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},9800:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.Resources",title:"Interface: Resources",sidebar_label:"@ima/core.Resources",custom_edit_url:null},o=void 0,s={unversionedId:"api/interfaces/ima_core.Resources",id:"api/interfaces/ima_core.Resources",title:"Interface: Resources",description:"@ima/core.Resources",source:"@site/../docs/api/interfaces/ima_core.Resources.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.Resources",permalink:"/api/interfaces/ima_core.Resources",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Resources",title:"Interface: Resources",sidebar_label:"@ima/core.Resources",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageRendererSettings",permalink:"/api/interfaces/ima_core.PageRendererSettings"},next:{title:"@ima/core.RouteAction",permalink:"/api/interfaces/ima_core.RouteAction"}},c={},l=[{value:"Properties",id:"properties",level:2},{value:"esScripts",id:"esscripts",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"scripts",id:"scripts",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"styles",id:"styles",level:3},{value:"Defined in",id:"defined-in-2",level:4}],p={toc:l},u="wrapper";function m(e){let{components:r,...t}=e;return(0,a.yg)(u,(0,n.A)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Resources"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"esscripts"},"esScripts"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"esScripts"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#resource"},(0,a.yg)("inlineCode",{parentName:"a"},"Resource")),"[]"),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L50"},"packages/core/src/boot.ts:50")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"scripts"},"scripts"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"scripts"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#resource"},(0,a.yg)("inlineCode",{parentName:"a"},"Resource")),"[]"),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L49"},"packages/core/src/boot.ts:49")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"styles"},"styles"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"styles"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#resource"},(0,a.yg)("inlineCode",{parentName:"a"},"Resource")),"[]"),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L48"},"packages/core/src/boot.ts:48")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/934bc43e.552c2fa4.js b/assets/js/934bc43e.552c2fa4.js deleted file mode 100644 index 8e115591f..000000000 --- a/assets/js/934bc43e.552c2fa4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3864],{1325:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/diagram-controller-64b259a163b3fe8df2ec36327342a103.png"},5680:(e,t,a)=>{a.d(t,{xA:()=>p,yg:()=>u});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(a),h=r,u=d["".concat(s,".").concat(h)]||d[h]||m[h]||i;return a?n.createElement(u,o(o({ref:t},p),{},{components:a})):n.createElement(u,o({ref:t},p))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:r,o[1]=l;for(var c=2;c<i;c++)o[c]=a[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"},8210:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=a(8102),r=(a(6540),a(5680));const i={title:"Controller lifecycle",description:"Basic features > Controller lifecycle and it's API"},o=void 0,l={unversionedId:"basic-features/controller-lifecycle",id:"basic-features/controller-lifecycle",title:"Controller lifecycle",description:"Basic features > Controller lifecycle and it's API",source:"@site/../docs/basic-features/controller-lifecycle.md",sourceDirName:"basic-features",slug:"/basic-features/controller-lifecycle",permalink:"/basic-features/controller-lifecycle",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/controller-lifecycle.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Controller lifecycle",description:"Basic features > Controller lifecycle and it's API"},sidebar:"docs",previous:{title:"Configuration options",permalink:"/introduction/configuration"},next:{title:"Views & Components",permalink:"/basic-features/views-and-components"}},s={},c=[{value:"<code>init()</code> <em>@server/client</em>",id:"init-serverclient",level:2},{value:"<code>load()</code> <em>@server/client</em>",id:"load-serverclient",level:2},{value:"<code>setMetaParams()</code> <em>@server/client</em>",id:"setmetaparams-serverclient",level:2},{value:"<code>activate()</code> <em>@client</em>",id:"activate-client",level:2},{value:"<code>update()</code> <em>@client</em>",id:"update-client",level:2},{value:"<code>deactivate()</code> <em>@client</em>",id:"deactivate-client",level:2},{value:"<code>destroy()</code> <em>@client</em>",id:"destroy-client",level:2}],p={toc:c},d="wrapper";function m(e){let{components:t,...i}=e;return(0,r.yg)(d,(0,n.A)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"IMA.js ",(0,r.yg)("strong",{parentName:"p"},"AbstractController")," provides a few methods you can implement in order to catch various lifecycle events and react to them. Each method description has ",(0,r.yg)("em",{parentName:"p"},"@server")," or ",(0,r.yg)("em",{parentName:"p"},"@client"),"\xa0notation next to them symbolizing where the method is executed."),(0,r.yg)("p",null,(0,r.yg)("img",{src:a(1325).A,width:"881",height:"421"})),(0,r.yg)("h2",{id:"init-serverclient"},(0,r.yg)("inlineCode",{parentName:"h2"},"init()")," ",(0,r.yg)("em",{parentName:"h2"},"@server/client")),(0,r.yg)("p",null,"This is the first method that gets called in the lifecycle chain. Init method is substitution for native ",(0,r.yg)("inlineCode",{parentName:"p"},"constructor()")," method. Route parameters are already set when this method is called."),(0,r.yg)("h2",{id:"load-serverclient"},(0,r.yg)("inlineCode",{parentName:"h2"},"load()")," ",(0,r.yg)("em",{parentName:"h2"},"@server/client")),(0,r.yg)("p",null,"Callback the controller uses to load all resources it needs to render a view."),(0,r.yg)("p",null,"The method must return a plain flat object that will be used to set the state of the controller. The field names of the object identify the resources being fetched and prepared, each value must be either the resource (e.g. view configuration or a value retrieved synchronously) or a ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise")," that will resolve to the resource."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"s are handled differently when rendering on the server side or the client side."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"At the ",(0,r.yg)("strong",{parentName:"p"},"server side"),", the IMA will wait for all the promises to resolve, then replace the promises with the resolved values and sets the resulting object as the controller's state. Even though promises are resolved in parallel it's a good practice to keep their number on minimum because their resolution is blocking sending the response to the client.")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"At the ",(0,r.yg)("strong",{parentName:"p"},"client side"),", the IMA.js will first set the controller's state to\nan object containing only the fields of the returned object that were\n",(0,r.yg)("strong",{parentName:"p"},"not promises"),". IMA will then update the controller's state every time a\npromise of the returned object resolves."))),(0,r.yg)("p",null,"Any returned promise that gets ",(0,r.yg)("strong",{parentName:"p"},"rejected")," will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."),(0,r.yg)("p",null,"Since ",(0,r.yg)("strong",{parentName:"p"},"v17")," you can use ",(0,r.yg)("inlineCode",{parentName:"p"},"async/await")," instead of promises. This means the ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method will have ",(0,r.yg)("strong",{parentName:"p"},"async")," prefix and resources will be loaded synchronously using ",(0,r.yg)("strong",{parentName:"p"},"await")," keyword."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async load() {\n const user = await this._userService.getById(this.params.userId);\n const comments = await this._commentService.list({ userId: user.id });\n\n return {\n user,\n comments\n };\n}\n")),(0,r.yg)("p",null,"This functionality has its pros and cons. Main contradiction would be synchronous loading and thus response time increase. A lot of requests can happen independently on each other and save some of the response time. In this case it's better to combine promises and ",(0,r.yg)("inlineCode",{parentName:"p"},"async/await")," to achieve best performance."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async load() {\n const userPromise = this._userService.getById(this.params.userId); // load parallel to article and comments\n const article = await this._articleService.get(this.params.articleUrl);\n let comments = [];\n\n if (article.commentsCount && article.commentsAllowed) {\n comments = await this._commentService.list({\xa0articleId: article.id });\n }\n\n return { article, comments, user: userPromise };\n}\n")),(0,r.yg)("p",null,"A benefit to using ",(0,r.yg)("strong",{parentName:"p"},"async/await")," is simplicity and better handling of data. Imagine you have a request that loads 2 resources and you want to add these resources to page state. When using promises this would be impossible as promises must return single value and we're returning the promise itself not the resolved value."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"async load() {\n const checkoutData = await this._checkoutService.getByCookie();\n const { items, payment, shipping } = checkoutData;\n\n return {\n cartItems: items,\n paymentDetails: payment,\n shippingDetail: shipping\n };\n}\n")),(0,r.yg)("h2",{id:"setmetaparams-serverclient"},(0,r.yg)("inlineCode",{parentName:"h2"},"setMetaParams()")," ",(0,r.yg)("em",{parentName:"h2"},"@server/client")),(0,r.yg)("p",null,"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources from the ",(0,r.yg)("a",{parentName:"p",href:"#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load()"))," method and the view has been rendered."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"setMetaParams()")," method receives following arguments:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"loadedResources")," - A plain object representing a map of resource names to resources loaded by the ",(0,r.yg)("a",{parentName:"li",href:"#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load()"))," method. This is the same object as the one passed to the ",(0,r.yg)("inlineCode",{parentName:"li"},"setState()")," method."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"metaManager")," - Meta attributes manager instance to configure (See ",(0,r.yg)("a",{parentName:"li",href:"./seo-and-meta-manager"},"SEO & MetaManager")," page)."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"router")," - The current application router."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"dictionary")," - The current localization dictionary"),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"settings")," - The application settings for the current application environment.")),(0,r.yg)("h2",{id:"activate-client"},(0,r.yg)("inlineCode",{parentName:"h2"},"activate()")," ",(0,r.yg)("em",{parentName:"h2"},"@client")),(0,r.yg)("p",null,"Callback for activating the controller when the ",(0,r.yg)("strong",{parentName:"p"},"route updated")," to one of those that are associated with the controller or the controller is ",(0,r.yg)("strong",{parentName:"p"},"revived")," at the client side."),(0,r.yg)("p",null,"This method is the last method invoked during controller initialization. ",(0,r.yg)("inlineCode",{parentName:"p"},"activate()")," is called after all the promises returned from the ",(0,r.yg)("a",{parentName:"p",href:"#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load()"))," method have been resolved and the controller has configured the meta manager."),(0,r.yg)("p",null,"When reviving the state from the ",(0,r.yg)("strong",{parentName:"p"},"server side"),"\xa0all promises are resolved and meta values set, therefore the controller state is fully complete."),(0,r.yg)("p",null,"This method is a good place to register any React and DOM event listeners. The controller may start receiving event bus event after this method completes."),(0,r.yg)("h2",{id:"update-client"},(0,r.yg)("inlineCode",{parentName:"h2"},"update()")," ",(0,r.yg)("em",{parentName:"h2"},"@client")),(0,r.yg)("p",null,"Callback for updating the controller after a route update. This method\nis invoked if the current ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction#onlyupdate"},"route has the ",(0,r.yg)("inlineCode",{parentName:"a"},"onlyUpdate = true")," flag set")," and the current controller and view match those used by the previously active route, or, the ",(0,r.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option of the current route is a callback and returned ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("p",null,"The method must return an object with the same semantics as the result\nof the ",(0,r.yg)("a",{parentName:"p",href:"#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load()"))," method. The controller's state will only be\npatched by the returned object instead of replacing it completely."),(0,r.yg)("p",null,"The other controller lifecycle callbacks (",(0,r.yg)("a",{parentName:"p",href:"#init--serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"init()")),", ",(0,r.yg)("a",{parentName:"p",href:"#load-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"load()")),", ",(0,r.yg)("a",{parentName:"p",href:"#activate--client"},(0,r.yg)("inlineCode",{parentName:"a"},"activate()")),", ",(0,r.yg)("a",{parentName:"p",href:"#deactivate--client"},(0,r.yg)("inlineCode",{parentName:"a"},"deactivate()")),", ",(0,r.yg)("a",{parentName:"p",href:"#destroy--client"},(0,r.yg)("inlineCode",{parentName:"a"},"destroy()")),") are not call in case this method is used."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"update()")," method receives argument ",(0,r.yg)("strong",{parentName:"p"},"prevParams"),"; an object containing previous route parameters."),(0,r.yg)("h2",{id:"deactivate-client"},(0,r.yg)("inlineCode",{parentName:"h2"},"deactivate()")," ",(0,r.yg)("em",{parentName:"h2"},"@client")),(0,r.yg)("p",null,"Callback for deactivating the controller. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."),(0,r.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,r.yg)("a",{parentName:"p",href:"#activate--client"},(0,r.yg)("inlineCode",{parentName:"a"},"activate()"))," method. When the ",(0,r.yg)("a",{parentName:"p",href:"#activate--client"},(0,r.yg)("inlineCode",{parentName:"a"},"activate()"))," method has not been called ",(0,r.yg)("inlineCode",{parentName:"p"},"deactivate()")," won't be called either."),(0,r.yg)("p",null,"The controller should deregister listeners and release all\nresources obtained in the ",(0,r.yg)("a",{parentName:"p",href:"#activate--client"},(0,r.yg)("inlineCode",{parentName:"a"},"activate()"))," method."),(0,r.yg)("h2",{id:"destroy-client"},(0,r.yg)("inlineCode",{parentName:"h2"},"destroy()")," ",(0,r.yg)("em",{parentName:"h2"},"@client")),(0,r.yg)("p",null,"Finalization callback, called when the controller is being discarded by the application. This usually happens when the user navigates to a different URL."),(0,r.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,r.yg)("a",{parentName:"p",href:"#init--serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"init()"))," method."),(0,r.yg)("p",null,"The controller should release all resources obtained in the ",(0,r.yg)("a",{parentName:"p",href:"#init--serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"init()"))," method. The controller must release any resources that might not be released automatically when the controller's instance\nis destroyed by the garbage collector."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/934bc43e.fe0701de.js b/assets/js/934bc43e.fe0701de.js new file mode 100644 index 000000000..0ef099908 --- /dev/null +++ b/assets/js/934bc43e.fe0701de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3864],{192:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>a});const r=JSON.parse('{"id":"basic-features/controller-lifecycle","title":"Controller lifecycle","description":"Basic features > Controller lifecycle and it\'s API","source":"@site/../docs/basic-features/controller-lifecycle.md","sourceDirName":"basic-features","slug":"/basic-features/controller-lifecycle","permalink":"/basic-features/controller-lifecycle","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/controller-lifecycle.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Controller lifecycle","description":"Basic features > Controller lifecycle and it\'s API"},"sidebar":"docs","previous":{"title":"Configuration options","permalink":"/introduction/configuration"},"next":{"title":"Views & Components","permalink":"/basic-features/views-and-components"}}');var s=n(2540),i=n(3023);const c={title:"Controller lifecycle",description:"Basic features > Controller lifecycle and it's API"},l=void 0,o={},a=[{value:"<code>init()</code> <em>@server/client</em>",id:"init-serverclient",level:2},{value:"<code>load()</code> <em>@server/client</em>",id:"load-serverclient",level:2},{value:"<code>setMetaParams()</code> <em>@server/client</em>",id:"setmetaparams-serverclient",level:2},{value:"<code>activate()</code> <em>@client</em>",id:"activate-client",level:2},{value:"<code>update()</code> <em>@client</em>",id:"update-client",level:2},{value:"<code>deactivate()</code> <em>@client</em>",id:"deactivate-client",level:2},{value:"<code>destroy()</code> <em>@client</em>",id:"destroy-client",level:2}];function d(e){const t={a:"a",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["IMA.js ",(0,s.jsx)(t.strong,{children:"AbstractController"})," provides a few methods you can implement in order to catch various lifecycle events and react to them. Each method description has ",(0,s.jsx)(t.em,{children:"@server"})," or ",(0,s.jsx)(t.em,{children:"@client"}),"\xa0notation next to them symbolizing where the method is executed."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(1325).A+"",width:"881",height:"421"})}),"\n",(0,s.jsxs)(t.h2,{id:"init-serverclient",children:[(0,s.jsx)(t.code,{children:"init()"})," ",(0,s.jsx)(t.em,{children:"@server/client"})]}),"\n",(0,s.jsxs)(t.p,{children:["This is the first method that gets called in the lifecycle chain. Init method is substitution for native ",(0,s.jsx)(t.code,{children:"constructor()"})," method. Route parameters are already set when this method is called."]}),"\n",(0,s.jsxs)(t.h2,{id:"load-serverclient",children:[(0,s.jsx)(t.code,{children:"load()"})," ",(0,s.jsx)(t.em,{children:"@server/client"})]}),"\n",(0,s.jsx)(t.p,{children:"Callback the controller uses to load all resources it needs to render a view."}),"\n",(0,s.jsxs)(t.p,{children:["The method must return a plain flat object that will be used to set the state of the controller. The field names of the object identify the resources being fetched and prepared, each value must be either the resource (e.g. view configuration or a value retrieved synchronously) or a ",(0,s.jsx)(t.code,{children:"Promise"})," that will resolve to the resource."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"Promise"}),"s are handled differently when rendering on the server side or the client side."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["At the ",(0,s.jsx)(t.strong,{children:"server side"}),", the IMA will wait for all the promises to resolve, then replace the promises with the resolved values and sets the resulting object as the controller's state. Even though promises are resolved in parallel it's a good practice to keep their number on minimum because their resolution is blocking sending the response to the client."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:["At the ",(0,s.jsx)(t.strong,{children:"client side"}),", the IMA.js will first set the controller's state to\nan object containing only the fields of the returned object that were\n",(0,s.jsx)(t.strong,{children:"not promises"}),". IMA will then update the controller's state every time a\npromise of the returned object resolves."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Any returned promise that gets ",(0,s.jsx)(t.strong,{children:"rejected"})," will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."]}),"\n",(0,s.jsxs)(t.p,{children:["Since ",(0,s.jsx)(t.strong,{children:"v17"})," you can use ",(0,s.jsx)(t.code,{children:"async/await"})," instead of promises. This means the ",(0,s.jsx)(t.code,{children:"load"})," method will have ",(0,s.jsx)(t.strong,{children:"async"})," prefix and resources will be loaded synchronously using ",(0,s.jsx)(t.strong,{children:"await"})," keyword."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-javascript",children:"async load() {\n const user = await this._userService.getById(this.params.userId);\n const comments = await this._commentService.list({ userId: user.id });\n\n return {\n user,\n comments\n };\n}\n"})}),"\n",(0,s.jsxs)(t.p,{children:["This functionality has its pros and cons. Main contradiction would be synchronous loading and thus response time increase. A lot of requests can happen independently on each other and save some of the response time. In this case it's better to combine promises and ",(0,s.jsx)(t.code,{children:"async/await"})," to achieve best performance."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-javascript",children:"async load() {\n const userPromise = this._userService.getById(this.params.userId); // load parallel to article and comments\n const article = await this._articleService.get(this.params.articleUrl);\n let comments = [];\n\n if (article.commentsCount && article.commentsAllowed) {\n comments = await this._commentService.list({\xa0articleId: article.id });\n }\n\n return { article, comments, user: userPromise };\n}\n"})}),"\n",(0,s.jsxs)(t.p,{children:["A benefit to using ",(0,s.jsx)(t.strong,{children:"async/await"})," is simplicity and better handling of data. Imagine you have a request that loads 2 resources and you want to add these resources to page state. When using promises this would be impossible as promises must return single value and we're returning the promise itself not the resolved value."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-javascript",children:"async load() {\n const checkoutData = await this._checkoutService.getByCookie();\n const { items, payment, shipping } = checkoutData;\n\n return {\n cartItems: items,\n paymentDetails: payment,\n shippingDetail: shipping\n };\n}\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"setmetaparams-serverclient",children:[(0,s.jsx)(t.code,{children:"setMetaParams()"})," ",(0,s.jsx)(t.em,{children:"@server/client"})]}),"\n",(0,s.jsxs)(t.p,{children:["Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources from the ",(0,s.jsx)(t.a,{href:"#load-serverclient",children:(0,s.jsx)(t.code,{children:"load()"})})," method and the view has been rendered."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"setMetaParams()"})," method receives following arguments:"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"loadedResources"})," - A plain object representing a map of resource names to resources loaded by the ",(0,s.jsx)(t.a,{href:"#load-serverclient",children:(0,s.jsx)(t.code,{children:"load()"})})," method. This is the same object as the one passed to the ",(0,s.jsx)(t.code,{children:"setState()"})," method."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"metaManager"})," - Meta attributes manager instance to configure (See ",(0,s.jsx)(t.a,{href:"./seo-and-meta-manager",children:"SEO & MetaManager"})," page)."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"router"})," - The current application router."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"dictionary"})," - The current localization dictionary"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"settings"})," - The application settings for the current application environment."]}),"\n"]}),"\n",(0,s.jsxs)(t.h2,{id:"activate-client",children:[(0,s.jsx)(t.code,{children:"activate()"})," ",(0,s.jsx)(t.em,{children:"@client"})]}),"\n",(0,s.jsxs)(t.p,{children:["Callback for activating the controller when the ",(0,s.jsx)(t.strong,{children:"route updated"})," to one of those that are associated with the controller or the controller is ",(0,s.jsx)(t.strong,{children:"revived"})," at the client side."]}),"\n",(0,s.jsxs)(t.p,{children:["This method is the last method invoked during controller initialization. ",(0,s.jsx)(t.code,{children:"activate()"})," is called after all the promises returned from the ",(0,s.jsx)(t.a,{href:"#load-serverclient",children:(0,s.jsx)(t.code,{children:"load()"})})," method have been resolved and the controller has configured the meta manager."]}),"\n",(0,s.jsxs)(t.p,{children:["When reviving the state from the ",(0,s.jsx)(t.strong,{children:"server side"}),"\xa0all promises are resolved and meta values set, therefore the controller state is fully complete."]}),"\n",(0,s.jsx)(t.p,{children:"This method is a good place to register any React and DOM event listeners. The controller may start receiving event bus event after this method completes."}),"\n",(0,s.jsxs)(t.h2,{id:"update-client",children:[(0,s.jsx)(t.code,{children:"update()"})," ",(0,s.jsx)(t.em,{children:"@client"})]}),"\n",(0,s.jsxs)(t.p,{children:["Callback for updating the controller after a route update. This method\nis invoked if the current ",(0,s.jsxs)(t.a,{href:"/basic-features/routing/introduction#onlyupdate",children:["route has the ",(0,s.jsx)(t.code,{children:"onlyUpdate = true"})," flag set"]})," and the current controller and view match those used by the previously active route, or, the ",(0,s.jsx)(t.code,{children:"onlyUpdate"})," option of the current route is a callback and returned ",(0,s.jsx)(t.code,{children:"true"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["The method must return an object with the same semantics as the result\nof the ",(0,s.jsx)(t.a,{href:"#load-serverclient",children:(0,s.jsx)(t.code,{children:"load()"})})," method. The controller's state will only be\npatched by the returned object instead of replacing it completely."]}),"\n",(0,s.jsxs)(t.p,{children:["The other controller lifecycle callbacks (",(0,s.jsx)(t.a,{href:"#init--serverclient",children:(0,s.jsx)(t.code,{children:"init()"})}),", ",(0,s.jsx)(t.a,{href:"#load-serverclient",children:(0,s.jsx)(t.code,{children:"load()"})}),", ",(0,s.jsx)(t.a,{href:"#activate--client",children:(0,s.jsx)(t.code,{children:"activate()"})}),", ",(0,s.jsx)(t.a,{href:"#deactivate--client",children:(0,s.jsx)(t.code,{children:"deactivate()"})}),", ",(0,s.jsx)(t.a,{href:"#destroy--client",children:(0,s.jsx)(t.code,{children:"destroy()"})}),") are not call in case this method is used."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"update()"})," method receives argument ",(0,s.jsx)(t.strong,{children:"prevParams"}),"; an object containing previous route parameters."]}),"\n",(0,s.jsxs)(t.h2,{id:"deactivate-client",children:[(0,s.jsx)(t.code,{children:"deactivate()"})," ",(0,s.jsx)(t.em,{children:"@client"})]}),"\n",(0,s.jsx)(t.p,{children:"Callback for deactivating the controller. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."}),"\n",(0,s.jsxs)(t.p,{children:["This method is the lifecycle counterpart of the ",(0,s.jsx)(t.a,{href:"#activate--client",children:(0,s.jsx)(t.code,{children:"activate()"})})," method. When the ",(0,s.jsx)(t.a,{href:"#activate--client",children:(0,s.jsx)(t.code,{children:"activate()"})})," method has not been called ",(0,s.jsx)(t.code,{children:"deactivate()"})," won't be called either."]}),"\n",(0,s.jsxs)(t.p,{children:["The controller should deregister listeners and release all\nresources obtained in the ",(0,s.jsx)(t.a,{href:"#activate--client",children:(0,s.jsx)(t.code,{children:"activate()"})})," method."]}),"\n",(0,s.jsxs)(t.h2,{id:"destroy-client",children:[(0,s.jsx)(t.code,{children:"destroy()"})," ",(0,s.jsx)(t.em,{children:"@client"})]}),"\n",(0,s.jsx)(t.p,{children:"Finalization callback, called when the controller is being discarded by the application. This usually happens when the user navigates to a different URL."}),"\n",(0,s.jsxs)(t.p,{children:["This method is the lifecycle counterpart of the ",(0,s.jsx)(t.a,{href:"#init--serverclient",children:(0,s.jsx)(t.code,{children:"init()"})})," method."]}),"\n",(0,s.jsxs)(t.p,{children:["The controller should release all resources obtained in the ",(0,s.jsx)(t.a,{href:"#init--serverclient",children:(0,s.jsx)(t.code,{children:"init()"})})," method. The controller must release any resources that might not be released automatically when the controller's instance\nis destroyed by the garbage collector."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1325:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/diagram-controller-64b259a163b3fe8df2ec36327342a103.png"},3023:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>l});var r=n(3696);const s={},i=r.createContext(s);function c(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.a43e7355.js b/assets/js/935f2afb.a43e7355.js deleted file mode 100644 index 08c4c6e71..000000000 --- a/assets/js/935f2afb.a43e7355.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"api":[{"type":"link","label":"Table of Contents","href":"/api/","docId":"api/index"},{"type":"category","label":"Modules","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"@ima/cli","href":"/api/modules/ima_cli","docId":"api/modules/ima_cli"},{"type":"link","label":"@ima/core","href":"/api/modules/ima_core","docId":"api/modules/ima_core"},{"type":"link","label":"@ima/dev-utils","href":"/api/modules/ima_dev_utils","docId":"api/modules/ima_dev_utils"},{"type":"link","label":"@ima/plugin-cli","href":"/api/modules/ima_plugin_cli","docId":"api/modules/ima_plugin_cli"},{"type":"link","label":"@ima/react-page-renderer","href":"/api/modules/ima_react_page_renderer","docId":"api/modules/ima_react_page_renderer"}]},{"type":"category","label":"Enumerations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"@ima/core.ActionTypes","href":"/api/enums/ima_core.ActionTypes","docId":"api/enums/ima_core.ActionTypes"},{"type":"link","label":"@ima/core.BindingState","href":"/api/enums/ima_core.BindingState","docId":"api/enums/ima_core.BindingState"},{"type":"link","label":"@ima/core.HttpStatusCode","href":"/api/enums/ima_core.HttpStatusCode","docId":"api/enums/ima_core.HttpStatusCode"},{"type":"link","label":"@ima/core.RendererEvents","href":"/api/enums/ima_core.RendererEvents","docId":"api/enums/ima_core.RendererEvents"},{"type":"link","label":"@ima/core.RendererTypes","href":"/api/enums/ima_core.RendererTypes","docId":"api/enums/ima_core.RendererTypes"},{"type":"link","label":"@ima/core.RouteNames","href":"/api/enums/ima_core.RouteNames","docId":"api/enums/ima_core.RouteNames"},{"type":"link","label":"@ima/core.RouterEvents","href":"/api/enums/ima_core.RouterEvents","docId":"api/enums/ima_core.RouterEvents"},{"type":"link","label":"@ima/core.StateEvents","href":"/api/enums/ima_core.StateEvents","docId":"api/enums/ima_core.StateEvents"}]},{"type":"category","label":"Classes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"@ima/core.AbstractController","href":"/api/classes/ima_core.AbstractController","docId":"api/classes/ima_core.AbstractController"},{"type":"link","label":"@ima/core.AbstractExecution","href":"/api/classes/ima_core.AbstractExecution","docId":"api/classes/ima_core.AbstractExecution"},{"type":"link","label":"@ima/core.AbstractExtension","href":"/api/classes/ima_core.AbstractExtension","docId":"api/classes/ima_core.AbstractExtension"},{"type":"link","label":"@ima/core.AbstractPageManager","href":"/api/classes/ima_core.AbstractPageManager","docId":"api/classes/ima_core.AbstractPageManager"},{"type":"link","label":"@ima/core.AbstractRoute","href":"/api/classes/ima_core.AbstractRoute","docId":"api/classes/ima_core.AbstractRoute"},{"type":"link","label":"@ima/core.AbstractRouter","href":"/api/classes/ima_core.AbstractRouter","docId":"api/classes/ima_core.AbstractRouter"},{"type":"link","label":"@ima/core.Bootstrap","href":"/api/classes/ima_core.Bootstrap","docId":"api/classes/ima_core.Bootstrap"},{"type":"link","label":"@ima/core.Cache","href":"/api/classes/ima_core.Cache","docId":"api/classes/ima_core.Cache"},{"type":"link","label":"@ima/core.CacheEntry","href":"/api/classes/ima_core.CacheEntry","docId":"api/classes/ima_core.CacheEntry"},{"type":"link","label":"@ima/core.CacheFactory","href":"/api/classes/ima_core.CacheFactory","docId":"api/classes/ima_core.CacheFactory"},{"type":"link","label":"@ima/core.CacheImpl","href":"/api/classes/ima_core.CacheImpl","docId":"api/classes/ima_core.CacheImpl"},{"type":"link","label":"@ima/core.CancelError","href":"/api/classes/ima_core.CancelError","docId":"api/classes/ima_core.CancelError"},{"type":"link","label":"@ima/core.ClientPageManager","href":"/api/classes/ima_core.ClientPageManager","docId":"api/classes/ima_core.ClientPageManager"},{"type":"link","label":"@ima/core.ClientRouter","href":"/api/classes/ima_core.ClientRouter","docId":"api/classes/ima_core.ClientRouter"},{"type":"link","label":"@ima/core.ClientWindow","href":"/api/classes/ima_core.ClientWindow","docId":"api/classes/ima_core.ClientWindow"},{"type":"link","label":"@ima/core.ComponentUtils","href":"/api/classes/ima_core.ComponentUtils","docId":"api/classes/ima_core.ComponentUtils"},{"type":"link","label":"@ima/core.Controller","href":"/api/classes/ima_core.Controller","docId":"api/classes/ima_core.Controller"},{"type":"link","label":"@ima/core.ControllerDecorator","href":"/api/classes/ima_core.ControllerDecorator","docId":"api/classes/ima_core.ControllerDecorator"},{"type":"link","label":"@ima/core.CookieStorage","href":"/api/classes/ima_core.CookieStorage","docId":"api/classes/ima_core.CookieStorage"},{"type":"link","label":"@ima/core.Dictionary","href":"/api/classes/ima_core.Dictionary","docId":"api/classes/ima_core.Dictionary"},{"type":"link","label":"@ima/core.Dispatcher","href":"/api/classes/ima_core.Dispatcher","docId":"api/classes/ima_core.Dispatcher"},{"type":"link","label":"@ima/core.DispatcherImpl","href":"/api/classes/ima_core.DispatcherImpl","docId":"api/classes/ima_core.DispatcherImpl"},{"type":"link","label":"@ima/core.DynamicRoute","href":"/api/classes/ima_core.DynamicRoute","docId":"api/classes/ima_core.DynamicRoute"},{"type":"link","label":"@ima/core.Entry","href":"/api/classes/ima_core.Entry","docId":"api/classes/ima_core.Entry"},{"type":"link","label":"@ima/core.Error","href":"/api/classes/ima_core.Error","docId":"api/classes/ima_core.Error"},{"type":"link","label":"@ima/core.EventBus","href":"/api/classes/ima_core.EventBus","docId":"api/classes/ima_core.EventBus"},{"type":"link","label":"@ima/core.EventBusImpl","href":"/api/classes/ima_core.EventBusImpl","docId":"api/classes/ima_core.EventBusImpl"},{"type":"link","label":"@ima/core.Execution","href":"/api/classes/ima_core.Execution","docId":"api/classes/ima_core.Execution"},{"type":"link","label":"@ima/core.Extension","href":"/api/classes/ima_core.Extension","docId":"api/classes/ima_core.Extension"},{"type":"link","label":"@ima/core.GenericError","href":"/api/classes/ima_core.GenericError","docId":"api/classes/ima_core.GenericError"},{"type":"link","label":"@ima/core.HttpAgent","href":"/api/classes/ima_core.HttpAgent","docId":"api/classes/ima_core.HttpAgent"},{"type":"link","label":"@ima/core.HttpAgentImpl","href":"/api/classes/ima_core.HttpAgentImpl","docId":"api/classes/ima_core.HttpAgentImpl"},{"type":"link","label":"@ima/core.HttpProxy","href":"/api/classes/ima_core.HttpProxy","docId":"api/classes/ima_core.HttpProxy"},{"type":"link","label":"@ima/core.MapStorage","href":"/api/classes/ima_core.MapStorage","docId":"api/classes/ima_core.MapStorage"},{"type":"link","label":"@ima/core.MessageFormatDictionary","href":"/api/classes/ima_core.MessageFormatDictionary","docId":"api/classes/ima_core.MessageFormatDictionary"},{"type":"link","label":"@ima/core.MetaManager","href":"/api/classes/ima_core.MetaManager","docId":"api/classes/ima_core.MetaManager"},{"type":"link","label":"@ima/core.MetaManagerImpl","href":"/api/classes/ima_core.MetaManagerImpl","docId":"api/classes/ima_core.MetaManagerImpl"},{"type":"link","label":"@ima/core.Namespace","href":"/api/classes/ima_core.Namespace","docId":"api/classes/ima_core.Namespace"},{"type":"link","label":"@ima/core.ObjectContainer","href":"/api/classes/ima_core.ObjectContainer","docId":"api/classes/ima_core.ObjectContainer"},{"type":"link","label":"@ima/core.Observable","href":"/api/classes/ima_core.Observable","docId":"api/classes/ima_core.Observable"},{"type":"link","label":"@ima/core.ObservableImpl","href":"/api/classes/ima_core.ObservableImpl","docId":"api/classes/ima_core.ObservableImpl"},{"type":"link","label":"@ima/core.PageFactory","href":"/api/classes/ima_core.PageFactory","docId":"api/classes/ima_core.PageFactory"},{"type":"link","label":"@ima/core.PageHandler","href":"/api/classes/ima_core.PageHandler","docId":"api/classes/ima_core.PageHandler"},{"type":"link","label":"@ima/core.PageHandlerRegistry","href":"/api/classes/ima_core.PageHandlerRegistry","docId":"api/classes/ima_core.PageHandlerRegistry"},{"type":"link","label":"@ima/core.PageManager","href":"/api/classes/ima_core.PageManager","docId":"api/classes/ima_core.PageManager"},{"type":"link","label":"@ima/core.PageMetaHandler","href":"/api/classes/ima_core.PageMetaHandler","docId":"api/classes/ima_core.PageMetaHandler"},{"type":"link","label":"@ima/core.PageNavigationHandler","href":"/api/classes/ima_core.PageNavigationHandler","docId":"api/classes/ima_core.PageNavigationHandler"},{"type":"link","label":"@ima/core.PageRenderer","href":"/api/classes/ima_core.PageRenderer","docId":"api/classes/ima_core.PageRenderer"},{"type":"link","label":"@ima/core.PageStateManager","href":"/api/classes/ima_core.PageStateManager","docId":"api/classes/ima_core.PageStateManager"},{"type":"link","label":"@ima/core.PageStateManagerDecorator","href":"/api/classes/ima_core.PageStateManagerDecorator","docId":"api/classes/ima_core.PageStateManagerDecorator"},{"type":"link","label":"@ima/core.PageStateManagerImpl","href":"/api/classes/ima_core.PageStateManagerImpl","docId":"api/classes/ima_core.PageStateManagerImpl"},{"type":"link","label":"@ima/core.PluginLoader","href":"/api/classes/ima_core.PluginLoader","docId":"api/classes/ima_core.PluginLoader"},{"type":"link","label":"@ima/core.Request","href":"/api/classes/ima_core.Request","docId":"api/classes/ima_core.Request"},{"type":"link","label":"@ima/core.Response","href":"/api/classes/ima_core.Response","docId":"api/classes/ima_core.Response"},{"type":"link","label":"@ima/core.RouteFactory","href":"/api/classes/ima_core.RouteFactory","docId":"api/classes/ima_core.RouteFactory"},{"type":"link","label":"@ima/core.Router","href":"/api/classes/ima_core.Router","docId":"api/classes/ima_core.Router"},{"type":"link","label":"@ima/core.SerialBatch","href":"/api/classes/ima_core.SerialBatch","docId":"api/classes/ima_core.SerialBatch"},{"type":"link","label":"@ima/core.ServerPageManager","href":"/api/classes/ima_core.ServerPageManager","docId":"api/classes/ima_core.ServerPageManager"},{"type":"link","label":"@ima/core.ServerRouter","href":"/api/classes/ima_core.ServerRouter","docId":"api/classes/ima_core.ServerRouter"},{"type":"link","label":"@ima/core.ServerWindow","href":"/api/classes/ima_core.ServerWindow","docId":"api/classes/ima_core.ServerWindow"},{"type":"link","label":"@ima/core.SessionMapStorage","href":"/api/classes/ima_core.SessionMapStorage","docId":"api/classes/ima_core.SessionMapStorage"},{"type":"link","label":"@ima/core.SessionStorage","href":"/api/classes/ima_core.SessionStorage","docId":"api/classes/ima_core.SessionStorage"},{"type":"link","label":"@ima/core.StaticRoute","href":"/api/classes/ima_core.StaticRoute","docId":"api/classes/ima_core.StaticRoute"},{"type":"link","label":"@ima/core.Storage","href":"/api/classes/ima_core.Storage","docId":"api/classes/ima_core.Storage"},{"type":"link","label":"@ima/core.UrlTransformer","href":"/api/classes/ima_core.UrlTransformer","docId":"api/classes/ima_core.UrlTransformer"},{"type":"link","label":"@ima/core.WeakMapStorage","href":"/api/classes/ima_core.WeakMapStorage","docId":"api/classes/ima_core.WeakMapStorage"},{"type":"link","label":"@ima/core.Window","href":"/api/classes/ima_core.Window","docId":"api/classes/ima_core.Window"},{"type":"link","label":"@ima/dev-utils.Logger","href":"/api/classes/ima_dev_utils.Logger","docId":"api/classes/ima_dev_utils.Logger"},{"type":"link","label":"@ima/react-page-renderer.AbstractComponent","href":"/api/classes/ima_react_page_renderer.AbstractComponent","docId":"api/classes/ima_react_page_renderer.AbstractComponent"},{"type":"link","label":"@ima/react-page-renderer.AbstractPureComponent","href":"/api/classes/ima_react_page_renderer.AbstractPureComponent","docId":"api/classes/ima_react_page_renderer.AbstractPureComponent"},{"type":"link","label":"@ima/react-page-renderer.BlankManagedRootView","href":"/api/classes/ima_react_page_renderer.BlankManagedRootView","docId":"api/classes/ima_react_page_renderer.BlankManagedRootView"},{"type":"link","label":"@ima/react-page-renderer.ErrorBoundary","href":"/api/classes/ima_react_page_renderer.ErrorBoundary","docId":"api/classes/ima_react_page_renderer.ErrorBoundary"},{"type":"link","label":"@ima/react-page-renderer.PageRendererFactory","href":"/api/classes/ima_react_page_renderer.PageRendererFactory","docId":"api/classes/ima_react_page_renderer.PageRendererFactory"},{"type":"link","label":"@ima/react-page-renderer.ServerPageRenderer","href":"/api/classes/ima_react_page_renderer.ServerPageRenderer","docId":"api/classes/ima_react_page_renderer.ServerPageRenderer"},{"type":"link","label":"@ima/react-page-renderer.ViewAdapter","href":"/api/classes/ima_react_page_renderer.ViewAdapter","docId":"api/classes/ima_react_page_renderer.ViewAdapter"}]},{"type":"category","label":"Interfaces","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"@ima/cli.ImaCliArgs","href":"/api/interfaces/ima_cli.ImaCliArgs","docId":"api/interfaces/ima_cli.ImaCliArgs"},{"type":"link","label":"@ima/cli.ImaCliPlugin","href":"/api/interfaces/ima_cli.ImaCliPlugin","docId":"api/interfaces/ima_cli.ImaCliPlugin"},{"type":"link","label":"@ima/cli.ImaConfigurationContext","href":"/api/interfaces/ima_cli.ImaConfigurationContext","docId":"api/interfaces/ima_cli.ImaConfigurationContext"},{"type":"link","label":"@ima/core.AppEnvironment","href":"/api/interfaces/ima_core.AppEnvironment","docId":"api/interfaces/ima_core.AppEnvironment"},{"type":"link","label":"@ima/core.BootConfig","href":"/api/interfaces/ima_core.BootConfig","docId":"api/interfaces/ima_core.BootConfig"},{"type":"link","label":"@ima/core.BootServices","href":"/api/interfaces/ima_core.BootServices","docId":"api/interfaces/ima_core.BootServices"},{"type":"link","label":"@ima/core.DictionaryMap","href":"/api/interfaces/ima_core.DictionaryMap","docId":"api/interfaces/ima_core.DictionaryMap"},{"type":"link","label":"@ima/core.DispatcherEventsMap","href":"/api/interfaces/ima_core.DispatcherEventsMap","docId":"api/interfaces/ima_core.DispatcherEventsMap"},{"type":"link","label":"@ima/core.Environment","href":"/api/interfaces/ima_core.Environment","docId":"api/interfaces/ima_core.Environment"},{"type":"link","label":"@ima/core.GlobalImaObject","href":"/api/interfaces/ima_core.GlobalImaObject","docId":"api/interfaces/ima_core.GlobalImaObject"},{"type":"link","label":"@ima/core.HttpAgentRequestOptions","href":"/api/interfaces/ima_core.HttpAgentRequestOptions","docId":"api/interfaces/ima_core.HttpAgentRequestOptions"},{"type":"link","label":"@ima/core.ImaRequestInit","href":"/api/interfaces/ima_core.ImaRequestInit","docId":"api/interfaces/ima_core.ImaRequestInit"},{"type":"link","label":"@ima/core.InitAppConfig","href":"/api/interfaces/ima_core.InitAppConfig","docId":"api/interfaces/ima_core.InitAppConfig"},{"type":"link","label":"@ima/core.InitImaConfig","href":"/api/interfaces/ima_core.InitImaConfig","docId":"api/interfaces/ima_core.InitImaConfig"},{"type":"link","label":"@ima/core.InitPluginConfig","href":"/api/interfaces/ima_core.InitPluginConfig","docId":"api/interfaces/ima_core.InitPluginConfig"},{"type":"link","label":"@ima/core.Manifest","href":"/api/interfaces/ima_core.Manifest","docId":"api/interfaces/ima_core.Manifest"},{"type":"link","label":"@ima/core.ManifestAsset","href":"/api/interfaces/ima_core.ManifestAsset","docId":"api/interfaces/ima_core.ManifestAsset"},{"type":"link","label":"@ima/core.OCAliasMap","href":"/api/interfaces/ima_core.OCAliasMap","docId":"api/interfaces/ima_core.OCAliasMap"},{"type":"link","label":"@ima/core.PageAction","href":"/api/interfaces/ima_core.PageAction","docId":"api/interfaces/ima_core.PageAction"},{"type":"link","label":"@ima/core.PageRendererSettings","href":"/api/interfaces/ima_core.PageRendererSettings","docId":"api/interfaces/ima_core.PageRendererSettings"},{"type":"link","label":"@ima/core.Resources","href":"/api/interfaces/ima_core.Resources","docId":"api/interfaces/ima_core.Resources"},{"type":"link","label":"@ima/core.RouteAction","href":"/api/interfaces/ima_core.RouteAction","docId":"api/interfaces/ima_core.RouteAction"},{"type":"link","label":"@ima/core.RouteFactoryOptions","href":"/api/interfaces/ima_core.RouteFactoryOptions","docId":"api/interfaces/ima_core.RouteFactoryOptions"},{"type":"link","label":"@ima/core.RouteLocals","href":"/api/interfaces/ima_core.RouteLocals","docId":"api/interfaces/ima_core.RouteLocals"},{"type":"link","label":"@ima/core.RouteOptions","href":"/api/interfaces/ima_core.RouteOptions","docId":"api/interfaces/ima_core.RouteOptions"},{"type":"link","label":"@ima/core.Settings","href":"/api/interfaces/ima_core.Settings","docId":"api/interfaces/ima_core.Settings"},{"type":"link","label":"@ima/core.Utils","href":"/api/interfaces/ima_core.Utils","docId":"api/interfaces/ima_core.Utils"},{"type":"link","label":"@ima/core.WindowCustomEventsMap","href":"/api/interfaces/ima_core.WindowCustomEventsMap","docId":"api/interfaces/ima_core.WindowCustomEventsMap"},{"type":"link","label":"@ima/dev-utils.CompileError","href":"/api/interfaces/ima_dev_utils.CompileError","docId":"api/interfaces/ima_dev_utils.CompileError"},{"type":"link","label":"@ima/dev-utils.FragmentLine","href":"/api/interfaces/ima_dev_utils.FragmentLine","docId":"api/interfaces/ima_dev_utils.FragmentLine"},{"type":"link","label":"@ima/dev-utils.LoggerOptions","href":"/api/interfaces/ima_dev_utils.LoggerOptions","docId":"api/interfaces/ima_dev_utils.LoggerOptions"},{"type":"link","label":"@ima/plugin-cli.Context","href":"/api/interfaces/ima_plugin_cli.Context","docId":"api/interfaces/ima_plugin_cli.Context"},{"type":"link","label":"@ima/plugin-cli.ImaPluginConfig","href":"/api/interfaces/ima_plugin_cli.ImaPluginConfig","docId":"api/interfaces/ima_plugin_cli.ImaPluginConfig"},{"type":"link","label":"@ima/plugin-cli.PipeContext","href":"/api/interfaces/ima_plugin_cli.PipeContext","docId":"api/interfaces/ima_plugin_cli.PipeContext"},{"type":"link","label":"@ima/plugin-cli.Source","href":"/api/interfaces/ima_plugin_cli.Source","docId":"api/interfaces/ima_plugin_cli.Source"},{"type":"link","label":"@ima/react-page-renderer.PageContextType","href":"/api/interfaces/ima_react_page_renderer.PageContextType","docId":"api/interfaces/ima_react_page_renderer.PageContextType"},{"type":"link","label":"@ima/react-page-renderer.ViewAdapterProps","href":"/api/interfaces/ima_react_page_renderer.ViewAdapterProps","docId":"api/interfaces/ima_react_page_renderer.ViewAdapterProps"},{"type":"link","label":"@ima/react-page-renderer.useComponentType","href":"/api/interfaces/ima_react_page_renderer.useComponentType","docId":"api/interfaces/ima_react_page_renderer.useComponentType"},{"type":"link","label":"@ima/react-page-renderer.useDispatcherType","href":"/api/interfaces/ima_react_page_renderer.useDispatcherType","docId":"api/interfaces/ima_react_page_renderer.useDispatcherType"},{"type":"link","label":"@ima/react-page-renderer.useEventBusType","href":"/api/interfaces/ima_react_page_renderer.useEventBusType","docId":"api/interfaces/ima_react_page_renderer.useEventBusType"}]}],"tutorial":[{"type":"category","label":"Tutorial","collapsed":false,"items":[{"type":"link","label":"Introduction","href":"/tutorial/introduction","docId":"tutorial/introduction"},{"type":"link","label":"Static View","href":"/tutorial/static-view","docId":"tutorial/static-view"},{"type":"link","label":"Adding Some State","href":"/tutorial/adding-some-state","docId":"tutorial/adding-some-state"},{"type":"link","label":"Fetching Data","href":"/tutorial/fetching-data","docId":"tutorial/fetching-data"},{"type":"link","label":"Writing Posts","href":"/tutorial/writing-posts","docId":"tutorial/writing-posts"},{"type":"link","label":"Final Polish","href":"/tutorial/final-polish","docId":"tutorial/final-polish"}],"collapsible":true}],"docs":[{"type":"category","label":"Introduction","collapsed":false,"items":[{"type":"link","label":"Getting Started with IMA.js","href":"/introduction/getting-started","docId":"introduction/getting-started"},{"type":"link","label":"Configuration options","href":"/introduction/configuration","docId":"introduction/configuration"}],"collapsible":true},{"type":"category","label":"Basic Features","collapsed":false,"items":[{"type":"link","label":"Controller lifecycle","href":"/basic-features/controller-lifecycle","docId":"basic-features/controller-lifecycle"},{"type":"link","label":"Views & Components","href":"/basic-features/views-and-components","docId":"basic-features/views-and-components"},{"type":"link","label":"Data fetching","href":"/basic-features/data-fetching","docId":"basic-features/data-fetching"},{"type":"category","label":"Routing","collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/basic-features/routing/introduction","docId":"basic-features/routing/introduction"},{"type":"link","label":"Dynamic Routes","href":"/basic-features/routing/dynamic-routes","docId":"basic-features/routing/dynamic-routes"},{"type":"link","label":"Middlewares","href":"/basic-features/routing/middlewares","docId":"basic-features/routing/middlewares"},{"type":"link","label":"Async Routing","href":"/basic-features/routing/async-routing","docId":"basic-features/routing/async-routing"}],"collapsible":true},{"type":"link","label":"Extensions","href":"/basic-features/extensions","docId":"basic-features/extensions"},{"type":"link","label":"Object Container","href":"/basic-features/object-container","docId":"basic-features/object-container"},{"type":"link","label":"Rendering process","href":"/basic-features/rendering-process","docId":"basic-features/rendering-process"},{"type":"link","label":"Handling scripts and styles","href":"/basic-features/handling-scripts-and-styles","docId":"basic-features/handling-scripts-and-styles"},{"type":"link","label":"Page Manager","href":"/basic-features/page-manager","docId":"basic-features/page-manager"},{"type":"link","label":"Events","href":"/basic-features/events","docId":"basic-features/events"},{"type":"link","label":"Page State","href":"/basic-features/page-state","docId":"basic-features/page-state"},{"type":"link","label":"SEO & Meta Manager","href":"/basic-features/seo-and-meta-manager","docId":"basic-features/seo-and-meta-manager"},{"type":"link","label":"Dictionary","href":"/basic-features/dictionary","docId":"basic-features/dictionary"},{"type":"link","label":"Error Handling","href":"/basic-features/error-handling","docId":"basic-features/error-handling"},{"type":"link","label":"TypeScript","href":"/basic-features/typescript","docId":"basic-features/typescript"},{"type":"link","label":"Testing","href":"/basic-features/testing","docId":"basic-features/testing"}],"collapsible":true},{"type":"category","label":"Advanced Features","collapsed":false,"items":[{"type":"link","label":"Dynamic imports","href":"/advanced-features/dynamic-imports","docId":"advanced-features/dynamic-imports"}],"collapsible":true},{"type":"category","label":"CLI","collapsed":false,"items":[{"type":"link","label":"Introduction to @ima/cli","href":"/cli/","docId":"cli/cli"},{"type":"link","label":"Compiler features","href":"/cli/compiler-features","docId":"cli/compiler-features"},{"type":"link","label":"ima.config.js","href":"/cli/ima-config-js","docId":"cli/ima.config.js"},{"type":"link","label":"Additional features","href":"/cli/additional-features","docId":"cli/additional-features"},{"type":"link","label":"CLI Plugins API","href":"/cli/cli-plugins-api","docId":"cli/cli-plugins-api"},{"type":"category","label":"CLI Plugins","items":[{"type":"link","label":"Analyze Plugin","href":"/cli/plugins/analyze-plugin","docId":"cli/plugins/analyze-plugin"},{"type":"link","label":"ScrambleCSS Plugin","href":"/cli/plugins/scramble-css-plugin","docId":"cli/plugins/scramble-css-plugin"},{"type":"link","label":"LESS Constants Plugin","href":"/cli/plugins/less-constants-plugin","docId":"cli/plugins/less-constants-plugin"}],"collapsed":true,"collapsible":true}],"collapsible":true},{"type":"category","label":"Plugins","collapsed":false,"items":[{"type":"link","label":"Plugins API","href":"/plugins/plugin-api","docId":"plugins/plugin-api"},{"type":"link","label":"Existing plugins","href":"/plugins/available-plugins","docId":"plugins/available-plugins"}],"collapsible":true},{"type":"category","label":"Devtools","collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/devtools/devtools-introduction","docId":"devtools/devtools-introduction"},{"type":"link","label":"UI & Controls","href":"/devtools/devtools-ui","docId":"devtools/devtools-ui"},{"type":"link","label":"Options","href":"/devtools/devtools-options","docId":"devtools/devtools-options"}],"collapsible":true},{"type":"category","label":"Migration","collapsed":true,"items":[{"type":"link","label":"Migration 0.14.0","href":"/migration/migration-0.14.0","docId":"migration/migration-0.14.0"},{"type":"link","label":"Migration 0.15.0","href":"/migration/migration-0.15.0","docId":"migration/migration-0.15.0"},{"type":"link","label":"Migration 0.16.0","href":"/migration/migration-0.16.0","docId":"migration/migration-0.16.0"},{"type":"link","label":"Migration 17.0.0","href":"/migration/migration-17.0.0","docId":"migration/migration-17.0.0"},{"type":"link","label":"Migration 18.0.0","href":"/migration/migration-18.0.0","docId":"migration/migration-18.0.0"},{"type":"link","label":"Migration 19.0.0","href":"/migration/migration-19.0.0","docId":"migration/migration-19.0.0"}],"collapsible":true},{"type":"category","label":"Contributing","collapsed":false,"items":[{"type":"link","label":"How to Contribute","href":"/contributing/how-to-contribute","docId":"contributing/how-to-contribute"}],"collapsible":true}]},"docs":{"advanced-features/dynamic-imports":{"id":"advanced-features/dynamic-imports","title":"Dynamic imports","description":"Advanced Features > Dynamic imports and lazy loading","sidebar":"docs"},"api/classes/ima_core.AbstractController":{"id":"api/classes/ima_core.AbstractController","title":"Class: AbstractController<S, R, SS>","description":"@ima/core.AbstractController","sidebar":"api"},"api/classes/ima_core.AbstractExecution":{"id":"api/classes/ima_core.AbstractExecution","title":"Class: AbstractExecution","description":"@ima/core.AbstractExecution","sidebar":"api"},"api/classes/ima_core.AbstractExtension":{"id":"api/classes/ima_core.AbstractExtension","title":"Class: AbstractExtension<S, R, SS>","description":"@ima/core.AbstractExtension","sidebar":"api"},"api/classes/ima_core.AbstractPageManager":{"id":"api/classes/ima_core.AbstractPageManager","title":"Class: AbstractPageManager","description":"@ima/core.AbstractPageManager","sidebar":"api"},"api/classes/ima_core.AbstractRoute":{"id":"api/classes/ima_core.AbstractRoute","title":"Class: AbstractRoute<T>","description":"@ima/core.AbstractRoute","sidebar":"api"},"api/classes/ima_core.AbstractRouter":{"id":"api/classes/ima_core.AbstractRouter","title":"Class: AbstractRouter","description":"@ima/core.AbstractRouter","sidebar":"api"},"api/classes/ima_core.Bootstrap":{"id":"api/classes/ima_core.Bootstrap","title":"Class: Bootstrap","description":"@ima/core.Bootstrap","sidebar":"api"},"api/classes/ima_core.Cache":{"id":"api/classes/ima_core.Cache","title":"Class: Cache<V>","description":"@ima/core.Cache","sidebar":"api"},"api/classes/ima_core.CacheEntry":{"id":"api/classes/ima_core.CacheEntry","title":"Class: CacheEntry<V>","description":"@ima/core.CacheEntry","sidebar":"api"},"api/classes/ima_core.CacheFactory":{"id":"api/classes/ima_core.CacheFactory","title":"Class: CacheFactory<V>","description":"@ima/core.CacheFactory","sidebar":"api"},"api/classes/ima_core.CacheImpl":{"id":"api/classes/ima_core.CacheImpl","title":"Class: CacheImpl<V>","description":"@ima/core.CacheImpl","sidebar":"api"},"api/classes/ima_core.CancelError":{"id":"api/classes/ima_core.CancelError","title":"Class: CancelError","description":"@ima/core.CancelError","sidebar":"api"},"api/classes/ima_core.ClientPageManager":{"id":"api/classes/ima_core.ClientPageManager","title":"Class: ClientPageManager","description":"@ima/core.ClientPageManager","sidebar":"api"},"api/classes/ima_core.ClientRouter":{"id":"api/classes/ima_core.ClientRouter","title":"Class: ClientRouter","description":"@ima/core.ClientRouter","sidebar":"api"},"api/classes/ima_core.ClientWindow":{"id":"api/classes/ima_core.ClientWindow","title":"Class: ClientWindow","description":"@ima/core.ClientWindow","sidebar":"api"},"api/classes/ima_core.ComponentUtils":{"id":"api/classes/ima_core.ComponentUtils","title":"Class: ComponentUtils","description":"@ima/core.ComponentUtils","sidebar":"api"},"api/classes/ima_core.Controller":{"id":"api/classes/ima_core.Controller","title":"Class: Controller<S, R, SS>","description":"@ima/core.Controller","sidebar":"api"},"api/classes/ima_core.ControllerDecorator":{"id":"api/classes/ima_core.ControllerDecorator","title":"Class: ControllerDecorator<S, R, SS>","description":"@ima/core.ControllerDecorator","sidebar":"api"},"api/classes/ima_core.CookieStorage":{"id":"api/classes/ima_core.CookieStorage","title":"Class: CookieStorage","description":"@ima/core.CookieStorage","sidebar":"api"},"api/classes/ima_core.Dictionary":{"id":"api/classes/ima_core.Dictionary","title":"Class: Dictionary","description":"@ima/core.Dictionary","sidebar":"api"},"api/classes/ima_core.Dispatcher":{"id":"api/classes/ima_core.Dispatcher","title":"Class: Dispatcher","description":"@ima/core.Dispatcher","sidebar":"api"},"api/classes/ima_core.DispatcherImpl":{"id":"api/classes/ima_core.DispatcherImpl","title":"Class: DispatcherImpl","description":"@ima/core.DispatcherImpl","sidebar":"api"},"api/classes/ima_core.DynamicRoute":{"id":"api/classes/ima_core.DynamicRoute","title":"Class: DynamicRoute","description":"@ima/core.DynamicRoute","sidebar":"api"},"api/classes/ima_core.Entry":{"id":"api/classes/ima_core.Entry","title":"Class: Entry<T>","description":"@ima/core.Entry","sidebar":"api"},"api/classes/ima_core.Error":{"id":"api/classes/ima_core.Error","title":"Class: Error","description":"@ima/core.Error","sidebar":"api"},"api/classes/ima_core.EventBus":{"id":"api/classes/ima_core.EventBus","title":"Class: EventBus","description":"@ima/core.EventBus","sidebar":"api"},"api/classes/ima_core.EventBusImpl":{"id":"api/classes/ima_core.EventBusImpl","title":"Class: EventBusImpl","description":"@ima/core.EventBusImpl","sidebar":"api"},"api/classes/ima_core.Execution":{"id":"api/classes/ima_core.Execution","title":"Class: Execution","description":"@ima/core.Execution","sidebar":"api"},"api/classes/ima_core.Extension":{"id":"api/classes/ima_core.Extension","title":"Class: Extension<S, R, SS>","description":"@ima/core.Extension","sidebar":"api"},"api/classes/ima_core.GenericError":{"id":"api/classes/ima_core.GenericError","title":"Class: GenericError<T>","description":"@ima/core.GenericError","sidebar":"api"},"api/classes/ima_core.HttpAgent":{"id":"api/classes/ima_core.HttpAgent","title":"Class: HttpAgent","description":"@ima/core.HttpAgent","sidebar":"api"},"api/classes/ima_core.HttpAgentImpl":{"id":"api/classes/ima_core.HttpAgentImpl","title":"Class: HttpAgentImpl","description":"@ima/core.HttpAgentImpl","sidebar":"api"},"api/classes/ima_core.HttpProxy":{"id":"api/classes/ima_core.HttpProxy","title":"Class: HttpProxy","description":"@ima/core.HttpProxy","sidebar":"api"},"api/classes/ima_core.MapStorage":{"id":"api/classes/ima_core.MapStorage","title":"Class: MapStorage<V>","description":"@ima/core.MapStorage","sidebar":"api"},"api/classes/ima_core.MessageFormatDictionary":{"id":"api/classes/ima_core.MessageFormatDictionary","title":"Class: MessageFormatDictionary","description":"@ima/core.MessageFormatDictionary","sidebar":"api"},"api/classes/ima_core.MetaManager":{"id":"api/classes/ima_core.MetaManager","title":"Class: MetaManager","description":"@ima/core.MetaManager","sidebar":"api"},"api/classes/ima_core.MetaManagerImpl":{"id":"api/classes/ima_core.MetaManagerImpl","title":"Class: MetaManagerImpl","description":"@ima/core.MetaManagerImpl","sidebar":"api"},"api/classes/ima_core.Namespace":{"id":"api/classes/ima_core.Namespace","title":"Class: Namespace","description":"@ima/core.Namespace","sidebar":"api"},"api/classes/ima_core.ObjectContainer":{"id":"api/classes/ima_core.ObjectContainer","title":"Class: ObjectContainer","description":"@ima/core.ObjectContainer","sidebar":"api"},"api/classes/ima_core.Observable":{"id":"api/classes/ima_core.Observable","title":"Class: Observable","description":"@ima/core.Observable","sidebar":"api"},"api/classes/ima_core.ObservableImpl":{"id":"api/classes/ima_core.ObservableImpl","title":"Class: ObservableImpl","description":"@ima/core.ObservableImpl","sidebar":"api"},"api/classes/ima_core.PageFactory":{"id":"api/classes/ima_core.PageFactory","title":"Class: PageFactory","description":"@ima/core.PageFactory","sidebar":"api"},"api/classes/ima_core.PageHandler":{"id":"api/classes/ima_core.PageHandler","title":"Class: PageHandler","description":"@ima/core.PageHandler","sidebar":"api"},"api/classes/ima_core.PageHandlerRegistry":{"id":"api/classes/ima_core.PageHandlerRegistry","title":"Class: PageHandlerRegistry","description":"@ima/core.PageHandlerRegistry","sidebar":"api"},"api/classes/ima_core.PageManager":{"id":"api/classes/ima_core.PageManager","title":"Class: PageManager","description":"@ima/core.PageManager","sidebar":"api"},"api/classes/ima_core.PageMetaHandler":{"id":"api/classes/ima_core.PageMetaHandler","title":"Class: PageMetaHandler","description":"@ima/core.PageMetaHandler","sidebar":"api"},"api/classes/ima_core.PageNavigationHandler":{"id":"api/classes/ima_core.PageNavigationHandler","title":"Class: PageNavigationHandler","description":"@ima/core.PageNavigationHandler","sidebar":"api"},"api/classes/ima_core.PageRenderer":{"id":"api/classes/ima_core.PageRenderer","title":"Class: PageRenderer","description":"@ima/core.PageRenderer","sidebar":"api"},"api/classes/ima_core.PageStateManager":{"id":"api/classes/ima_core.PageStateManager","title":"Class: PageStateManager<S>","description":"@ima/core.PageStateManager","sidebar":"api"},"api/classes/ima_core.PageStateManagerDecorator":{"id":"api/classes/ima_core.PageStateManagerDecorator","title":"Class: PageStateManagerDecorator","description":"@ima/core.PageStateManagerDecorator","sidebar":"api"},"api/classes/ima_core.PageStateManagerImpl":{"id":"api/classes/ima_core.PageStateManagerImpl","title":"Class: PageStateManagerImpl<S>","description":"@ima/core.PageStateManagerImpl","sidebar":"api"},"api/classes/ima_core.PluginLoader":{"id":"api/classes/ima_core.PluginLoader","title":"Class: PluginLoader","description":"@ima/core.PluginLoader","sidebar":"api"},"api/classes/ima_core.Request":{"id":"api/classes/ima_core.Request","title":"Class: Request","description":"@ima/core.Request","sidebar":"api"},"api/classes/ima_core.Response":{"id":"api/classes/ima_core.Response","title":"Class: Response","description":"@ima/core.Response","sidebar":"api"},"api/classes/ima_core.RouteFactory":{"id":"api/classes/ima_core.RouteFactory","title":"Class: RouteFactory","description":"@ima/core.RouteFactory","sidebar":"api"},"api/classes/ima_core.Router":{"id":"api/classes/ima_core.Router","title":"Class: Router","description":"@ima/core.Router","sidebar":"api"},"api/classes/ima_core.SerialBatch":{"id":"api/classes/ima_core.SerialBatch","title":"Class: SerialBatch","description":"@ima/core.SerialBatch","sidebar":"api"},"api/classes/ima_core.ServerPageManager":{"id":"api/classes/ima_core.ServerPageManager","title":"Class: ServerPageManager","description":"@ima/core.ServerPageManager","sidebar":"api"},"api/classes/ima_core.ServerRouter":{"id":"api/classes/ima_core.ServerRouter","title":"Class: ServerRouter","description":"@ima/core.ServerRouter","sidebar":"api"},"api/classes/ima_core.ServerWindow":{"id":"api/classes/ima_core.ServerWindow","title":"Class: ServerWindow","description":"@ima/core.ServerWindow","sidebar":"api"},"api/classes/ima_core.SessionMapStorage":{"id":"api/classes/ima_core.SessionMapStorage","title":"Class: SessionMapStorage<V>","description":"@ima/core.SessionMapStorage","sidebar":"api"},"api/classes/ima_core.SessionStorage":{"id":"api/classes/ima_core.SessionStorage","title":"Class: SessionStorage<V>","description":"@ima/core.SessionStorage","sidebar":"api"},"api/classes/ima_core.StaticRoute":{"id":"api/classes/ima_core.StaticRoute","title":"Class: StaticRoute","description":"@ima/core.StaticRoute","sidebar":"api"},"api/classes/ima_core.Storage":{"id":"api/classes/ima_core.Storage","title":"Class: Storage<V>","description":"@ima/core.Storage","sidebar":"api"},"api/classes/ima_core.UrlTransformer":{"id":"api/classes/ima_core.UrlTransformer","title":"Class: UrlTransformer","description":"@ima/core.UrlTransformer","sidebar":"api"},"api/classes/ima_core.WeakMapStorage":{"id":"api/classes/ima_core.WeakMapStorage","title":"Class: WeakMapStorage<V>","description":"@ima/core.WeakMapStorage","sidebar":"api"},"api/classes/ima_core.Window":{"id":"api/classes/ima_core.Window","title":"Class: Window","description":"@ima/core.Window","sidebar":"api"},"api/classes/ima_dev_utils.Logger":{"id":"api/classes/ima_dev_utils.Logger","title":"Class: Logger","description":"@ima/dev-utils.Logger","sidebar":"api"},"api/classes/ima_react_page_renderer.AbstractComponent":{"id":"api/classes/ima_react_page_renderer.AbstractComponent","title":"Class: AbstractComponent<P, S, SS>","description":"@ima/react-page-renderer.AbstractComponent","sidebar":"api"},"api/classes/ima_react_page_renderer.AbstractPureComponent":{"id":"api/classes/ima_react_page_renderer.AbstractPureComponent","title":"Class: AbstractPureComponent<P, S, SS>","description":"@ima/react-page-renderer.AbstractPureComponent","sidebar":"api"},"api/classes/ima_react_page_renderer.BlankManagedRootView":{"id":"api/classes/ima_react_page_renderer.BlankManagedRootView","title":"Class: BlankManagedRootView<P, S, SS>","description":"@ima/react-page-renderer.BlankManagedRootView","sidebar":"api"},"api/classes/ima_react_page_renderer.ErrorBoundary":{"id":"api/classes/ima_react_page_renderer.ErrorBoundary","title":"Class: ErrorBoundary","description":"@ima/react-page-renderer.ErrorBoundary","sidebar":"api"},"api/classes/ima_react_page_renderer.PageRendererFactory":{"id":"api/classes/ima_react_page_renderer.PageRendererFactory","title":"Class: PageRendererFactory","description":"@ima/react-page-renderer.PageRendererFactory","sidebar":"api"},"api/classes/ima_react_page_renderer.ServerPageRenderer":{"id":"api/classes/ima_react_page_renderer.ServerPageRenderer","title":"Class: ServerPageRenderer","description":"@ima/react-page-renderer.ServerPageRenderer","sidebar":"api"},"api/classes/ima_react_page_renderer.ViewAdapter":{"id":"api/classes/ima_react_page_renderer.ViewAdapter","title":"Class: ViewAdapter","description":"@ima/react-page-renderer.ViewAdapter","sidebar":"api"},"api/enums/ima_core.ActionTypes":{"id":"api/enums/ima_core.ActionTypes","title":"Enumeration: ActionTypes","description":"@ima/core.ActionTypes","sidebar":"api"},"api/enums/ima_core.BindingState":{"id":"api/enums/ima_core.BindingState","title":"Enumeration: BindingState","description":"@ima/core.BindingState","sidebar":"api"},"api/enums/ima_core.HttpStatusCode":{"id":"api/enums/ima_core.HttpStatusCode","title":"Enumeration: HttpStatusCode","description":"@ima/core.HttpStatusCode","sidebar":"api"},"api/enums/ima_core.RendererEvents":{"id":"api/enums/ima_core.RendererEvents","title":"Enumeration: RendererEvents","description":"@ima/core.RendererEvents","sidebar":"api"},"api/enums/ima_core.RendererTypes":{"id":"api/enums/ima_core.RendererTypes","title":"Enumeration: RendererTypes","description":"@ima/core.RendererTypes","sidebar":"api"},"api/enums/ima_core.RouteNames":{"id":"api/enums/ima_core.RouteNames","title":"Enumeration: RouteNames","description":"@ima/core.RouteNames","sidebar":"api"},"api/enums/ima_core.RouterEvents":{"id":"api/enums/ima_core.RouterEvents","title":"Enumeration: RouterEvents","description":"@ima/core.RouterEvents","sidebar":"api"},"api/enums/ima_core.StateEvents":{"id":"api/enums/ima_core.StateEvents","title":"Enumeration: StateEvents","description":"@ima/core.StateEvents","sidebar":"api"},"api/index":{"id":"api/index","title":"Documentation","description":"","sidebar":"api"},"api/interfaces/ima_cli.ImaCliArgs":{"id":"api/interfaces/ima_cli.ImaCliArgs","title":"Interface: ImaCliArgs","description":"@ima/cli.ImaCliArgs","sidebar":"api"},"api/interfaces/ima_cli.ImaCliPlugin":{"id":"api/interfaces/ima_cli.ImaCliPlugin","title":"Interface: ImaCliPlugin","description":"@ima/cli.ImaCliPlugin","sidebar":"api"},"api/interfaces/ima_cli.ImaConfigurationContext":{"id":"api/interfaces/ima_cli.ImaConfigurationContext","title":"Interface: ImaConfigurationContext","description":"@ima/cli.ImaConfigurationContext","sidebar":"api"},"api/interfaces/ima_core.AppEnvironment":{"id":"api/interfaces/ima_core.AppEnvironment","title":"Interface: AppEnvironment","description":"@ima/core.AppEnvironment","sidebar":"api"},"api/interfaces/ima_core.BootConfig":{"id":"api/interfaces/ima_core.BootConfig","title":"Interface: BootConfig","description":"@ima/core.BootConfig","sidebar":"api"},"api/interfaces/ima_core.BootServices":{"id":"api/interfaces/ima_core.BootServices","title":"Interface: BootServices","description":"@ima/core.BootServices","sidebar":"api"},"api/interfaces/ima_core.DictionaryMap":{"id":"api/interfaces/ima_core.DictionaryMap","title":"Interface: DictionaryMap","description":"@ima/core.DictionaryMap","sidebar":"api"},"api/interfaces/ima_core.DispatcherEventsMap":{"id":"api/interfaces/ima_core.DispatcherEventsMap","title":"Interface: DispatcherEventsMap","description":"@ima/core.DispatcherEventsMap","sidebar":"api"},"api/interfaces/ima_core.Environment":{"id":"api/interfaces/ima_core.Environment","title":"Interface: Environment","description":"@ima/core.Environment","sidebar":"api"},"api/interfaces/ima_core.GlobalImaObject":{"id":"api/interfaces/ima_core.GlobalImaObject","title":"Interface: GlobalImaObject","description":"@ima/core.GlobalImaObject","sidebar":"api"},"api/interfaces/ima_core.HttpAgentRequestOptions":{"id":"api/interfaces/ima_core.HttpAgentRequestOptions","title":"Interface: HttpAgentRequestOptions","description":"@ima/core.HttpAgentRequestOptions","sidebar":"api"},"api/interfaces/ima_core.ImaRequestInit":{"id":"api/interfaces/ima_core.ImaRequestInit","title":"Interface: ImaRequestInit","description":"@ima/core.ImaRequestInit","sidebar":"api"},"api/interfaces/ima_core.InitAppConfig":{"id":"api/interfaces/ima_core.InitAppConfig","title":"Interface: InitAppConfig","description":"@ima/core.InitAppConfig","sidebar":"api"},"api/interfaces/ima_core.InitImaConfig":{"id":"api/interfaces/ima_core.InitImaConfig","title":"Interface: InitImaConfig","description":"@ima/core.InitImaConfig","sidebar":"api"},"api/interfaces/ima_core.InitPluginConfig":{"id":"api/interfaces/ima_core.InitPluginConfig","title":"Interface: InitPluginConfig","description":"@ima/core.InitPluginConfig","sidebar":"api"},"api/interfaces/ima_core.Manifest":{"id":"api/interfaces/ima_core.Manifest","title":"Interface: Manifest","description":"@ima/core.Manifest","sidebar":"api"},"api/interfaces/ima_core.ManifestAsset":{"id":"api/interfaces/ima_core.ManifestAsset","title":"Interface: ManifestAsset","description":"@ima/core.ManifestAsset","sidebar":"api"},"api/interfaces/ima_core.OCAliasMap":{"id":"api/interfaces/ima_core.OCAliasMap","title":"Interface: OCAliasMap","description":"@ima/core.OCAliasMap","sidebar":"api"},"api/interfaces/ima_core.PageAction":{"id":"api/interfaces/ima_core.PageAction","title":"Interface: PageAction","description":"@ima/core.PageAction","sidebar":"api"},"api/interfaces/ima_core.PageRendererSettings":{"id":"api/interfaces/ima_core.PageRendererSettings","title":"Interface: PageRendererSettings","description":"@ima/core.PageRendererSettings","sidebar":"api"},"api/interfaces/ima_core.Resources":{"id":"api/interfaces/ima_core.Resources","title":"Interface: Resources","description":"@ima/core.Resources","sidebar":"api"},"api/interfaces/ima_core.RouteAction":{"id":"api/interfaces/ima_core.RouteAction","title":"Interface: RouteAction","description":"@ima/core.RouteAction","sidebar":"api"},"api/interfaces/ima_core.RouteFactoryOptions":{"id":"api/interfaces/ima_core.RouteFactoryOptions","title":"Interface: RouteFactoryOptions","description":"@ima/core.RouteFactoryOptions","sidebar":"api"},"api/interfaces/ima_core.RouteLocals":{"id":"api/interfaces/ima_core.RouteLocals","title":"Interface: RouteLocals","description":"@ima/core.RouteLocals","sidebar":"api"},"api/interfaces/ima_core.RouteOptions":{"id":"api/interfaces/ima_core.RouteOptions","title":"Interface: RouteOptions","description":"@ima/core.RouteOptions","sidebar":"api"},"api/interfaces/ima_core.Settings":{"id":"api/interfaces/ima_core.Settings","title":"Interface: Settings","description":"@ima/core.Settings","sidebar":"api"},"api/interfaces/ima_core.Utils":{"id":"api/interfaces/ima_core.Utils","title":"Interface: Utils","description":"@ima/core.Utils","sidebar":"api"},"api/interfaces/ima_core.WindowCustomEventsMap":{"id":"api/interfaces/ima_core.WindowCustomEventsMap","title":"Interface: WindowCustomEventsMap","description":"@ima/core.WindowCustomEventsMap","sidebar":"api"},"api/interfaces/ima_dev_utils.CompileError":{"id":"api/interfaces/ima_dev_utils.CompileError","title":"Interface: CompileError","description":"@ima/dev-utils.CompileError","sidebar":"api"},"api/interfaces/ima_dev_utils.FragmentLine":{"id":"api/interfaces/ima_dev_utils.FragmentLine","title":"Interface: FragmentLine","description":"@ima/dev-utils.FragmentLine","sidebar":"api"},"api/interfaces/ima_dev_utils.LoggerOptions":{"id":"api/interfaces/ima_dev_utils.LoggerOptions","title":"Interface: LoggerOptions","description":"@ima/dev-utils.LoggerOptions","sidebar":"api"},"api/interfaces/ima_plugin_cli.Context":{"id":"api/interfaces/ima_plugin_cli.Context","title":"Interface: Context","description":"@ima/plugin-cli.Context","sidebar":"api"},"api/interfaces/ima_plugin_cli.ImaPluginConfig":{"id":"api/interfaces/ima_plugin_cli.ImaPluginConfig","title":"Interface: ImaPluginConfig","description":"@ima/plugin-cli.ImaPluginConfig","sidebar":"api"},"api/interfaces/ima_plugin_cli.PipeContext":{"id":"api/interfaces/ima_plugin_cli.PipeContext","title":"Interface: PipeContext","description":"@ima/plugin-cli.PipeContext","sidebar":"api"},"api/interfaces/ima_plugin_cli.Source":{"id":"api/interfaces/ima_plugin_cli.Source","title":"Interface: Source","description":"@ima/plugin-cli.Source","sidebar":"api"},"api/interfaces/ima_react_page_renderer.PageContextType":{"id":"api/interfaces/ima_react_page_renderer.PageContextType","title":"Interface: PageContextType","description":"@ima/react-page-renderer.PageContextType","sidebar":"api"},"api/interfaces/ima_react_page_renderer.useComponentType":{"id":"api/interfaces/ima_react_page_renderer.useComponentType","title":"Interface: useComponentType","description":"@ima/react-page-renderer.useComponentType","sidebar":"api"},"api/interfaces/ima_react_page_renderer.useDispatcherType":{"id":"api/interfaces/ima_react_page_renderer.useDispatcherType","title":"Interface: useDispatcherType","description":"@ima/react-page-renderer.useDispatcherType","sidebar":"api"},"api/interfaces/ima_react_page_renderer.useEventBusType":{"id":"api/interfaces/ima_react_page_renderer.useEventBusType","title":"Interface: useEventBusType","description":"@ima/react-page-renderer.useEventBusType","sidebar":"api"},"api/interfaces/ima_react_page_renderer.ViewAdapterProps":{"id":"api/interfaces/ima_react_page_renderer.ViewAdapterProps","title":"Interface: ViewAdapterProps","description":"@ima/react-page-renderer.ViewAdapterProps","sidebar":"api"},"api/modules/ima_cli":{"id":"api/modules/ima_cli","title":"Module: @ima/cli","description":"Interfaces","sidebar":"api"},"api/modules/ima_core":{"id":"api/modules/ima_core","title":"Module: @ima/core","description":"Enumerations","sidebar":"api"},"api/modules/ima_dev_utils":{"id":"api/modules/ima_dev_utils","title":"Module: @ima/dev-utils","description":"Classes","sidebar":"api"},"api/modules/ima_plugin_cli":{"id":"api/modules/ima_plugin_cli","title":"Module: @ima/plugin-cli","description":"Interfaces","sidebar":"api"},"api/modules/ima_react_page_renderer":{"id":"api/modules/ima_react_page_renderer","title":"Module: @ima/react-page-renderer","description":"Classes","sidebar":"api"},"basic-features/controller-lifecycle":{"id":"basic-features/controller-lifecycle","title":"Controller lifecycle","description":"Basic features > Controller lifecycle and it\'s API","sidebar":"docs"},"basic-features/data-fetching":{"id":"basic-features/data-fetching","title":"Data fetching","description":"Basic features > Data fetching with HttpAgent","sidebar":"docs"},"basic-features/dictionary":{"id":"basic-features/dictionary","title":"Dictionary","description":"Basic features > Dictionary and language features","sidebar":"docs"},"basic-features/error-handling":{"id":"basic-features/error-handling","title":"Error Handling","description":"Basic features > Errors","sidebar":"docs"},"basic-features/events":{"id":"basic-features/events","title":"Events","description":"Basic features > EventBus and Dispatcher","sidebar":"docs"},"basic-features/extensions":{"id":"basic-features/extensions","title":"Extensions","description":"Basic features > Extensions as a companion to Controllers","sidebar":"docs"},"basic-features/handling-scripts-and-styles":{"id":"basic-features/handling-scripts-and-styles","title":"Handling scripts and styles","description":"Basic features > Script and style source files.","sidebar":"docs"},"basic-features/object-container":{"id":"basic-features/object-container","title":"Object Container","description":"Basic features > Object Container and IMA.js dependency injection","sidebar":"docs"},"basic-features/page-manager":{"id":"basic-features/page-manager","title":"Page Manager","description":"Basic features > Page Manager and app rendering","sidebar":"docs"},"basic-features/page-state":{"id":"basic-features/page-state","title":"Page State","description":"Basic features > Page State and it\'s usage","sidebar":"docs"},"basic-features/rendering-process":{"id":"basic-features/rendering-process","title":"Rendering process","description":"Basic features > Rendering process","sidebar":"docs"},"basic-features/routing/async-routing":{"id":"basic-features/routing/async-routing","title":"Async Routing","description":"Basic features > Routing > Async Routing","sidebar":"docs"},"basic-features/routing/dynamic-routes":{"id":"basic-features/routing/dynamic-routes","title":"Dynamic Routes","description":"Basic features > Routing > Dynamic Routes","sidebar":"docs"},"basic-features/routing/introduction":{"id":"basic-features/routing/introduction","title":"Introduction","description":"Basic features > Routing >\xa0Introduction","sidebar":"docs"},"basic-features/routing/middlewares":{"id":"basic-features/routing/middlewares","title":"Middlewares","description":"Basic features > Routing > Middlewares","sidebar":"docs"},"basic-features/seo-and-meta-manager":{"id":"basic-features/seo-and-meta-manager","title":"SEO & Meta Manager","description":"Basic features > SEO & Meta Manager","sidebar":"docs"},"basic-features/testing":{"id":"basic-features/testing","title":"Testing","description":"Basic features > Testing","sidebar":"docs"},"basic-features/typescript":{"id":"basic-features/typescript","title":"TypeScript","description":"Basic features > TypeScript","sidebar":"docs"},"basic-features/views-and-components":{"id":"basic-features/views-and-components","title":"Views & Components","description":"Basic features > Views & Components","sidebar":"docs"},"cli/additional-features":{"id":"cli/additional-features","title":"Additional features","description":"CLI > Advanced CLI techniques and other features","sidebar":"docs"},"cli/advanced-features":{"id":"cli/advanced-features","title":"Advanced Features","description":"CLI > Advanced CLI techniques and other features"},"cli/cli":{"id":"cli/cli","title":"Introduction to @ima/cli","description":"CLI > Introduction to @ima/cli","sidebar":"docs"},"cli/cli-plugins-api":{"id":"cli/cli-plugins-api","title":"CLI Plugins API","description":"CLI > CLI Plugins and their API","sidebar":"docs"},"cli/compiler-features":{"id":"cli/compiler-features","title":"Compiler features","description":"CLI > Compiler features","sidebar":"docs"},"cli/ima.config.js":{"id":"cli/ima.config.js","title":"ima.config.js","description":"CLI > Customizing the build through ima.config.js","sidebar":"docs"},"cli/plugins/analyze-plugin":{"id":"cli/plugins/analyze-plugin","title":"Analyze Plugin","description":"CLI > CLI Plugins and their API > Analyze Plugin","sidebar":"docs"},"cli/plugins/less-constants-plugin":{"id":"cli/plugins/less-constants-plugin","title":"LESS Constants Plugin","description":"CLI > CLI Plugins and their API > LESS Constants Plugin","sidebar":"docs"},"cli/plugins/scramble-css-plugin":{"id":"cli/plugins/scramble-css-plugin","title":"ScrambleCSS Plugin","description":"CLI > CLI Plugins and their API > ScrambleCSS Plugin","sidebar":"docs"},"contributing/how-to-contribute":{"id":"contributing/how-to-contribute","title":"How to Contribute","description":"Contributing > How to Contribute","sidebar":"docs"},"devtools/devtools-introduction":{"id":"devtools/devtools-introduction","title":"Introduction","description":"Devtools > Introduction to the use of IMA.js developer tools","sidebar":"docs"},"devtools/devtools-options":{"id":"devtools/devtools-options","title":"Options","description":"Devtools > Available options and customization","sidebar":"docs"},"devtools/devtools-ui":{"id":"devtools/devtools-ui","title":"UI & Controls","description":"Devtools > Description of UI elements","sidebar":"docs"},"introduction/configuration":{"id":"introduction/configuration","title":"Configuration options","description":"Introduction > IMA.js application configuration options","sidebar":"docs"},"introduction/getting-started":{"id":"introduction/getting-started","title":"Getting Started with IMA.js","description":"Introduction > Resources to get started learning and using IMA.js","sidebar":"docs"},"migration/migration-0.14.0":{"id":"migration/migration-0.14.0","title":"Migration 0.14.0","description":"Migration > Migration to version 0.14.0","sidebar":"docs"},"migration/migration-0.15.0":{"id":"migration/migration-0.15.0","title":"Migration 0.15.0","description":"Migration > Migration to version 0.15.0","sidebar":"docs"},"migration/migration-0.16.0":{"id":"migration/migration-0.16.0","title":"Migration 0.16.0","description":"Migration > Migration to version 0.16.0","sidebar":"docs"},"migration/migration-17.0.0":{"id":"migration/migration-17.0.0","title":"Migration 17.0.0","description":"Migration > Migration to version 17.0.0","sidebar":"docs"},"migration/migration-18.0.0":{"id":"migration/migration-18.0.0","title":"Migration 18.0.0","description":"Migration > Migration to version 18.0.0","sidebar":"docs"},"migration/migration-19.0.0":{"id":"migration/migration-19.0.0","title":"Migration 19.0.0","description":"Migration > Migration to version 19.0.0","sidebar":"docs"},"plugins/available-plugins":{"id":"plugins/available-plugins","title":"Existing plugins","description":"Plugins > List of existing plugins","sidebar":"docs"},"plugins/plugin-api":{"id":"plugins/plugin-api","title":"Plugins API","description":"Plugins > Plugins API","sidebar":"docs"},"tutorial/adding-some-state":{"id":"tutorial/adding-some-state","title":"Adding Some State","description":"Tutorial > Adding Some State","sidebar":"tutorial"},"tutorial/fetching-data":{"id":"tutorial/fetching-data","title":"Fetching Data","description":"Tutorial > Fetching Data","sidebar":"tutorial"},"tutorial/final-polish":{"id":"tutorial/final-polish","title":"Final Polish","description":"Tutorial > Final Polish","sidebar":"tutorial"},"tutorial/introduction":{"id":"tutorial/introduction","title":"Introduction","description":"Tutorial > Introduction","sidebar":"tutorial"},"tutorial/static-view":{"id":"tutorial/static-view","title":"Static View","description":"Tutorial > Static View","sidebar":"tutorial"},"tutorial/writing-posts":{"id":"tutorial/writing-posts","title":"Writing Posts","description":"Tutorial > Writing Posts","sidebar":"tutorial"}}}')}}]); \ No newline at end of file diff --git a/assets/js/93ce8178.6917ea0a.js b/assets/js/93ce8178.6917ea0a.js new file mode 100644 index 000000000..939ac6fc7 --- /dev/null +++ b/assets/js/93ce8178.6917ea0a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4191],{6393:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>l,contentTitle:()=>t,default:()=>d,frontMatter:()=>c,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"api/@ima/plugin-cli/type-aliases/Transformer","title":"Type Alias: Transformer()","description":"Transformer: (`{","source":"@site/../docs/api/@ima/plugin-cli/type-aliases/Transformer.md","sourceDirName":"api/@ima/plugin-cli/type-aliases","slug":"/api/@ima/plugin-cli/type-aliases/Transformer","permalink":"/api/@ima/plugin-cli/type-aliases/Transformer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/type-aliases/Transformer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Plugin()","permalink":"/api/@ima/plugin-cli/type-aliases/Plugin"},"next":{"title":"Type Alias: TransformerOptions","permalink":"/api/@ima/plugin-cli/type-aliases/TransformerOptions"}}');var s=i(2540),a=i(3023);const c={},t="Type Alias: Transformer()",l={},o=[{value:"Parameters",id:"parameters",level:2},{value:"{",id:"",level:3},{value:"context",id:"context",level:4},{value:"source",id:"source",level:4},{value:"Returns",id:"returns",level:2}];function p(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"type-alias-transformer",children:"Type Alias: Transformer()"})}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Transformer"}),": (",(0,s.jsx)(r.code,{children:"{ source, context, }"}),") => ",(0,s.jsx)(r.a,{href:"/api/@ima/plugin-cli/interfaces/Source",children:(0,s.jsx)(r.code,{children:"Source"})})," | ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/plugin-cli/interfaces/Source",children:(0,s.jsx)(r.code,{children:"Source"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L4",children:"types.ts:4"})]}),"\n",(0,s.jsx)(r.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h3,{id:"",children:"{"}),"\n",(0,s.jsx)(r.p,{children:"source,\ncontext,\n}"}),"\n",(0,s.jsx)(r.h4,{id:"context",children:"context"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/plugin-cli/interfaces/PipeContext",children:(0,s.jsx)(r.code,{children:"PipeContext"})})}),"\n",(0,s.jsx)(r.h4,{id:"source",children:"source"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/plugin-cli/interfaces/Source",children:(0,s.jsx)(r.code,{children:"Source"})})}),"\n",(0,s.jsx)(r.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/plugin-cli/interfaces/Source",children:(0,s.jsx)(r.code,{children:"Source"})})," | ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/plugin-cli/interfaces/Source",children:(0,s.jsx)(r.code,{children:"Source"})}),">"]})]})}function d(e={}){const{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},3023:(e,r,i)=>{i.d(r,{R:()=>c,x:()=>t});var n=i(3696);const s={},a=n.createContext(s);function c(e){const r=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9474e170.e7ddd664.js b/assets/js/9474e170.e7ddd664.js new file mode 100644 index 000000000..80d24fa64 --- /dev/null +++ b/assets/js/9474e170.e7ddd664.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4346],{4678:(e,a,i)=>{i.r(a),i.d(a,{assets:()=>o,contentTitle:()=>r,default:()=>l,frontMatter:()=>c,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/DecoratedOCAliasMap","title":"Type Alias: DecoratedOCAliasMap","description":"DecoratedOCAliasMap: AddOCChaining\\\\ & WithOCOptional\\\\ & WithOCOptionalSpread\\\\ & WithOCSpread\\\\","source":"@site/../docs/api/@ima/core/type-aliases/DecoratedOCAliasMap.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/DecoratedOCAliasMap","permalink":"/api/@ima/core/type-aliases/DecoratedOCAliasMap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/DecoratedOCAliasMap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: CookieTransformFunction","permalink":"/api/@ima/core/type-aliases/CookieTransformFunction"},"next":{"title":"Type Alias: Dependencies\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/Dependencies"}}');var t=i(2540),n=i(3023);const c={},r="Type Alias: DecoratedOCAliasMap",o={},p=[];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.header,{children:(0,t.jsx)(a.h1,{id:"type-alias-decoratedocaliasmap",children:"Type Alias: DecoratedOCAliasMap"})}),"\n",(0,t.jsxs)(a.blockquote,{children:["\n",(0,t.jsxs)(a.p,{children:[(0,t.jsx)(a.strong,{children:"DecoratedOCAliasMap"}),": ",(0,t.jsx)(a.code,{children:"AddOCChaining"}),"<",(0,t.jsx)(a.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,t.jsx)(a.code,{children:"OCAliasMap"})}),"> & ",(0,t.jsx)(a.code,{children:"WithOCOptional"}),"<",(0,t.jsx)(a.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,t.jsx)(a.code,{children:"OCAliasMap"})}),"> & ",(0,t.jsx)(a.code,{children:"WithOCOptionalSpread"}),"<",(0,t.jsx)(a.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,t.jsx)(a.code,{children:"OCAliasMap"})}),"> & ",(0,t.jsx)(a.code,{children:"WithOCSpread"}),"<",(0,t.jsx)(a.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,t.jsx)(a.code,{children:"OCAliasMap"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(a.p,{children:["Defined in: ",(0,t.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/config/bind.ts#L68",children:"packages/core/src/config/bind.ts:68"})]})]})}function l(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,a,i)=>{i.d(a,{R:()=>c,x:()=>r});var s=i(3696);const t={},n=s.createContext(t);function c(e){const a=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94a6fc8a.335c5623.js b/assets/js/94a6fc8a.335c5623.js new file mode 100644 index 000000000..abb2d3ae8 --- /dev/null +++ b/assets/js/94a6fc8a.335c5623.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5065],{6452:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/unlisten","title":"Function: unlisten()","description":"unlisten(component, eventTarget, eventName, listener): EventBus","source":"@site/../docs/api/@ima/react-page-renderer/functions/unlisten.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/unlisten","permalink":"/api/@ima/react-page-renderer/functions/unlisten","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/unlisten.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: localize()","permalink":"/api/@ima/react-page-renderer/functions/localize"},"next":{"title":"Function: useComponent()","permalink":"/api/@ima/react-page-renderer/functions/useComponent"}}');var s=t(2540),i=t(3023);const c={},a="Function: unlisten()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"component",id:"component",level:3},{value:"eventTarget",id:"eventtarget",level:3},{value:"eventName",id:"eventname",level:3},{value:"listener",id:"listener",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-unlisten",children:"Function: unlisten()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"unlisten"}),"(",(0,s.jsx)(n.code,{children:"component"}),", ",(0,s.jsx)(n.code,{children:"eventTarget"}),", ",(0,s.jsx)(n.code,{children:"eventName"}),", ",(0,s.jsx)(n.code,{children:"listener"}),"): ",(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L188",children:"packages/react-page-renderer/src/componentHelpers.ts:188"})]}),"\n",(0,s.jsx)(n.p,{children:"Deregisters the provided event listener for an IMA.js DOM custom event\nof the specified name at the specified event target."}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"component",children:"component"}),"\n",(0,s.jsx)(n.p,{children:"The component\nthat requested the registration of the event listener."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,s.jsx)(n.code,{children:"AbstractComponent"})})," | ",(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,s.jsx)(n.code,{children:"AbstractPureComponent"})})]}),"\n",(0,s.jsx)(n.h3,{id:"eventtarget",children:"eventTarget"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,s.jsx)(n.p,{children:"The react component or\nevent target at which the listener should listen for the event."}),"\n",(0,s.jsx)(n.h3,{id:"eventname",children:"eventName"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.p,{children:"The name of the event for which to listen."}),"\n",(0,s.jsx)(n.h3,{id:"listener",children:"listener"}),"\n",(0,s.jsxs)(n.p,{children:["(",(0,s.jsx)(n.code,{children:"event"}),") => ",(0,s.jsx)(n.code,{children:"void"})]}),"\n",(0,s.jsx)(n.p,{children:"The listener for event to register."}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(n.code,{children:"EventBus"})})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>a});var r=t(3696);const s={},i=r.createContext(s);function c(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94bace71.856ea198.js b/assets/js/94bace71.856ea198.js deleted file mode 100644 index 14f3d5e34..000000000 --- a/assets/js/94bace71.856ea198.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7071],{5680:(e,r,t)=>{t.d(r,{xA:()=>d,yg:()=>y});var a=t(6540);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=a.createContext({}),g=function(e){var r=a.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},d=function(e){var r=g(e.components);return a.createElement(p.Provider,{value:r},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},m=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),c=g(t),m=n,y=c["".concat(p,".").concat(m)]||c[m]||s[m]||i;return t?a.createElement(y,o(o({ref:r},d),{},{components:t})):a.createElement(y,o({ref:r},d))}));function y(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=m;var l={};for(var p in r)hasOwnProperty.call(r,p)&&(l[p]=r[p]);l.originalType=e,l[c]="string"==typeof e?e:n,o[1]=l;for(var g=2;g<i;g++)o[g]=t[g];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},529:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var a=t(8102),n=(t(6540),t(5680));const i={id:"ima_react_page_renderer.PageRendererFactory",title:"Class: PageRendererFactory",sidebar_label:"@ima/react-page-renderer.PageRendererFactory",custom_edit_url:null},o=void 0,l={unversionedId:"api/classes/ima_react_page_renderer.PageRendererFactory",id:"api/classes/ima_react_page_renderer.PageRendererFactory",title:"Class: PageRendererFactory",description:"@ima/react-page-renderer.PageRendererFactory",source:"@site/../docs/api/classes/ima_react_page_renderer.PageRendererFactory.md",sourceDirName:"api/classes",slug:"/api/classes/ima_react_page_renderer.PageRendererFactory",permalink:"/api/classes/ima_react_page_renderer.PageRendererFactory",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_react_page_renderer.PageRendererFactory",title:"Class: PageRendererFactory",sidebar_label:"@ima/react-page-renderer.PageRendererFactory",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.ErrorBoundary",permalink:"/api/classes/ima_react_page_renderer.ErrorBoundary"},next:{title:"@ima/react-page-renderer.ServerPageRenderer",permalink:"/api/classes/ima_react_page_renderer.ServerPageRenderer"}},p={},g=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_componentUtils",id:"_componentutils",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"_isFunctionalComponent",id:"_isfunctionalcomponent",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"getDocumentView",id:"getdocumentview",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getManagedRootView",id:"getmanagedrootview",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"getUtils",id:"getutils",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4}],d={toc:g},c="wrapper";function s(e){let{components:r,...t}=e;return(0,n.yg)(c,(0,a.A)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer"},"@ima/react-page-renderer"),".PageRendererFactory"),(0,n.yg)("p",null,"Factory for page render."),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new PageRendererFactory"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"componentUtils"),")"),(0,n.yg)("p",null,"Initializes the factory used by the page renderer."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"componentUtils")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ComponentUtils"},(0,n.yg)("inlineCode",{parentName:"a"},"ComponentUtils"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The registry of component utilities.")))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L15"},"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:15")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_componentutils"},"_","componentUtils"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","componentUtils"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ComponentUtils"},(0,n.yg)("inlineCode",{parentName:"a"},"ComponentUtils"))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L8"},"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:8")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_isfunctionalcomponent"},"_","isFunctionalComponent"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_isFunctionalComponent"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"component"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"component")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L91"},"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:91")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getdocumentview"},"getDocumentView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getDocumentView"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"documentView"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("p",null,"Returns the class constructor of the specified document view component.\nDocument view may be specified as a namespace path or as a class\nconstructor."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"documentView")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ComponentType")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The namespace path pointing to the document view component, or the constructor of the document view component.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("p",null,"The constructor of the document\nview component."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L40"},"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:40")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmanagedrootview"},"getManagedRootView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getManagedRootView"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"managedRootView"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("p",null,"Returns the class constructor of the specified managed root view\ncomponent. Managed root view may be specified as a namespace\npath or as a class constructor."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"managedRootView")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ComponentType")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The namespace path pointing to the managed root view component, or the constructor of the React component.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"ComponentType")),(0,n.yg)("p",null,"The constructor of the managed\nroot view component."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L71"},"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:71")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getutils"},"getUtils"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getUtils"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,n.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,n.yg)("p",null,"Return object of services which are defined for alias $Utils."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,n.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/renderer/PageRendererFactory.ts#L25"},"packages/react-page-renderer/src/renderer/PageRendererFactory.ts:25")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/94def3e0.615025c9.js b/assets/js/94def3e0.615025c9.js new file mode 100644 index 000000000..4e0739f25 --- /dev/null +++ b/assets/js/94def3e0.615025c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3139],{3560:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>l,frontMatter:()=>c,metadata:()=>a,toc:()=>p});const a=JSON.parse('{"id":"api/@ima/core/type-aliases/Dependencies","title":"Type Alias: Dependencies\\\\<T\\\\>","description":"Dependencies\\\\: Dependency\\\\[]","source":"@site/../docs/api/@ima/core/type-aliases/Dependencies.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/Dependencies","permalink":"/api/@ima/core/type-aliases/Dependencies","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/Dependencies.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: DecoratedOCAliasMap","permalink":"/api/@ima/core/type-aliases/DecoratedOCAliasMap"},"next":{"title":"Type Alias: Dependency\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/Dependency"}}');var t=s(2540),i=s(3023);const c={},r="Type Alias: Dependencies<T>",o={},p=[{value:"Type Parameters",id:"type-parameters",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"type-alias-dependenciest",children:"Type Alias: Dependencies<T>"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Dependencies"}),"<",(0,t.jsx)(n.code,{children:"T"}),">: ",(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/Dependency",children:(0,t.jsx)(n.code,{children:"Dependency"})}),"<",(0,t.jsx)(n.code,{children:"T"}),">[]"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L24",children:"packages/core/src/oc/ObjectContainer.ts:24"})]}),"\n",(0,t.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"T"})," = ",(0,t.jsx)(n.code,{children:"any"})]})]})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>r});var a=s(3696);const t={},i=a.createContext(t);function c(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94e396b7.fc8d5ae1.js b/assets/js/94e396b7.fc8d5ae1.js new file mode 100644 index 000000000..3d5d3c7ef --- /dev/null +++ b/assets/js/94e396b7.fc8d5ae1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2324],{2072:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/core/classes/Controller","title":"Class: abstract Controller\\\\<S, R, SS\\\\>","description":"Defined in38","source":"@site/../docs/api/@ima/core/classes/Controller.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Controller","permalink":"/api/@ima/core/classes/Controller","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Controller.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ComponentUtils","permalink":"/api/@ima/core/classes/ComponentUtils"},"next":{"title":"Class: ControllerDecorator\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/ControllerDecorator"}}');var t=n(2540),l=n(3023);const c={},i="Class: abstract Controller<S, R, SS>",a={},o=[{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Controller()",id:"new-controller",level:3},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"$extensions?",id:"extensions",level:3},{value:"$name?",id:"name",level:3},{value:"Methods",id:"methods",level:2},{value:"activate()",id:"activate",level:3},{value:"Returns",id:"returns-1",level:4},{value:"addExtension()",id:"addextension",level:3},{value:"Parameters",id:"parameters",level:4},{value:"extension",id:"extension",level:5},{value:"extensionInstance?",id:"extensioninstance",level:5},{value:"Returns",id:"returns-2",level:4},{value:"beginStateTransaction()",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"cancelStateTransaction()",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"commitStateTransaction()",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"deactivate()",id:"deactivate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-7",level:4},{value:"getExtension()",id:"getextension",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"extension",id:"extension-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"getExtensions()",id:"getextensions",level:3},{value:"Returns",id:"returns-9",level:4},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-10",level:4},{value:"getRouteParams()",id:"getrouteparams",level:3},{value:"Returns",id:"returns-11",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-12",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-13",level:4},{value:"load()",id:"load",level:3},{value:"Returns",id:"returns-14",level:4},{value:"setMetaParams()",id:"setmetaparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"loadedResources",id:"loadedresources",level:5},{value:"metaManager",id:"metamanager",level:5},{value:"router",id:"router",level:5},{value:"dictionary",id:"dictionary",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns-15",level:4},{value:"setPageStateManager()",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"pageStateManager?",id:"pagestatemanager",level:5},{value:"Returns",id:"returns-16",level:4},{value:"setRouteParams()",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-17",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"statePatch",id:"statepatch",level:5},{value:"Returns",id:"returns-18",level:4},{value:"update()",id:"update",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"prevParams",id:"prevparams",level:5},{value:"Returns",id:"returns-19",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsxs)(r.h1,{id:"class-abstract-controllers-r-ss",children:["Class: ",(0,t.jsx)(r.code,{children:"abstract"})," Controller<S, R, SS>"]})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L38",children:"packages/core/src/controller/Controller.ts:38"})]}),"\n",(0,t.jsx)(r.p,{children:"Interface defining the common API of page controllers. A page controller is\nused to manage the overall state and view of a single application page, and\nupdates the page state according to the events submitted to it by components\non the page (or other input)."}),"\n",(0,t.jsx)(r.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractController",children:(0,t.jsx)(r.code,{children:"AbstractController"})})}),"\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,t.jsx)(r.code,{children:"ControllerDecorator"})})}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"S"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})})," = {}"]}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"R"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})})," = {}"]}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"SS"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.code,{children:"S"})," = ",(0,t.jsx)(r.code,{children:"S"})]}),"\n",(0,t.jsx)(r.h2,{id:"indexable",children:"Indexable"}),"\n",(0,t.jsxs)(r.p,{children:["[",(0,t.jsx)(r.code,{children:"key"}),": ",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.code,{children:"number"})," | ",(0,t.jsx)(r.code,{children:"symbol"}),"]: ",(0,t.jsx)(r.code,{children:"any"})]}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-controller",children:"new Controller()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new Controller"}),"<",(0,t.jsx)(r.code,{children:"S"}),", ",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),"<",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})}),"<",(0,t.jsx)(r.code,{children:"R"}),", ",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.strong,{children:"$dependencies"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,t.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L44",children:"packages/core/src/controller/Controller.ts:44"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"extensions",children:"$extensions?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"$extensions"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,t.jsx)(r.code,{children:"Dependencies"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L45",children:"packages/core/src/controller/Controller.ts:45"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"name",children:"$name?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"static"})," ",(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"$name"}),": ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L43",children:"packages/core/src/controller/Controller.ts:43"})]}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"activate",children:"activate()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"activate"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L84",children:"packages/core/src/controller/Controller.ts:84"})]}),"\n",(0,t.jsxs)(r.p,{children:["Callback for activating the controller in the UI. This is the last\nmethod invoked during controller initialization, called after all the\npromises returned from the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method have been\nresolved and the controller has configured the meta manager."]}),"\n",(0,t.jsx)(r.p,{children:"The controller may register any React and DOM event listeners in this\nmethod. The controller may start receiving event bus event after this\nmethod completes."}),"\n",(0,t.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"addextension",children:"addExtension()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"addExtension"}),"(",(0,t.jsx)(r.code,{children:"extension"}),", ",(0,t.jsx)(r.code,{children:"extensionInstance"}),"?): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L232",children:"packages/core/src/controller/Controller.ts:232"})]}),"\n",(0,t.jsxs)(r.p,{children:["Adds the provided extension to this controller. All extensions should be\nadded to the controller before the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method is\ninvoked."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"extension",children:"extension"}),"\n",(0,t.jsxs)(r.p,{children:["keyof OCAliasMap | ",(0,t.jsx)(r.code,{children:"Constructor"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),">> | ",(0,t.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),", ",(0,t.jsx)(r.code,{children:"any"}),">> | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,t.jsx)(r.h5,{id:"extensioninstance",children:"extensionInstance?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"beginstatetransaction",children:"beginStateTransaction()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"beginStateTransaction"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L208",children:"packages/core/src/controller/Controller.ts:208"})]}),"\n",(0,t.jsxs)(r.p,{children:["Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,t.jsx)(r.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,t.jsxs)(r.p,{children:["Note that call to ",(0,t.jsx)(r.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"cancelstatetransaction",children:"cancelStateTransaction()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"cancelStateTransaction"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L223",children:"packages/core/src/controller/Controller.ts:223"})]}),"\n",(0,t.jsx)(r.p,{children:"Cancels ongoing state transaction. Uncommitted state changes are lost."}),"\n",(0,t.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"commitstatetransaction",children:"commitStateTransaction()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"commitStateTransaction"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L216",children:"packages/core/src/controller/Controller.ts:216"})]}),"\n",(0,t.jsxs)(r.p,{children:["Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,t.jsx)(r.code,{children:"setState"})," call."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"deactivate",children:"deactivate()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"deactivate"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L99",children:"packages/core/src/controller/Controller.ts:99"})]}),"\n",(0,t.jsx)(r.p,{children:"Callback for deactivating the controller in the UI. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."}),"\n",(0,t.jsxs)(r.p,{children:["This method is the lifecycle counterpart of the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"})," method."]}),"\n",(0,t.jsxs)(r.p,{children:["The controller should deregister listeners registered and release all\nresources obtained in the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"})," method."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"destroy",children:"destroy()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"destroy"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L70",children:"packages/core/src/controller/Controller.ts:70"})]}),"\n",(0,t.jsx)(r.p,{children:"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."}),"\n",(0,t.jsxs)(r.p,{children:["This method is the lifecycle counterpart of the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),"\nmethod."]}),"\n",(0,t.jsxs)(r.p,{children:["The controller should release all resources obtained in the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method. The controller must release any resources\nthat might not be released automatically when the controller's instance\nis destroyed by the garbage collector."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getextension",children:"getExtension()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getExtension"}),"(",(0,t.jsx)(r.code,{children:"extension"}),"): ",(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L247",children:"packages/core/src/controller/Controller.ts:247"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns extension instance defined by it's class constructor\nfrom controller's extension intance map."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"extension-1",children:"extension"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.em,{children:"typeof"})," ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})})]}),"\n",(0,t.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,t.jsx)(r.code,{children:"RouteParams"})}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,t.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getextensions",children:"getExtensions()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getExtensions"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L261",children:"packages/core/src/controller/Controller.ts:261"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the controller's extensions."}),"\n",(0,t.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,t.jsx)(r.code,{children:"Extension"})}),"[]"]}),"\n",(0,t.jsx)(r.p,{children:"The extensions added to this controller."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getHttpStatus"}),"(): ",(0,t.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L329",children:"packages/core/src/controller/Controller.ts:329"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the HTTP status code to send to the client, should the\ncontroller be used at the server-side."}),"\n",(0,t.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"number"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP status code to send to the client."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getrouteparams",children:"getRouteParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getRouteParams"}),"(): ",(0,t.jsx)(r.code,{children:"R"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L305",children:"packages/core/src/controller/Controller.ts:305"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the current route parameters."}),"\n",(0,t.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"R"})}),"\n",(0,t.jsx)(r.p,{children:"The current route parameters."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"getstate",children:"getState()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getState"}),"(): ",(0,t.jsx)(r.code,{children:"SS"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L197",children:"packages/core/src/controller/Controller.ts:197"})]}),"\n",(0,t.jsx)(r.p,{children:"Returns the controller's current state."}),"\n",(0,t.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"SS"})}),"\n",(0,t.jsx)(r.p,{children:"The current state of this controller."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"init"}),"(): ",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L53",children:"packages/core/src/controller/Controller.ts:53"})]}),"\n",(0,t.jsx)(r.p,{children:"Callback for initializing the controller after the route parameters have\nbeen set on this controller."}),"\n",(0,t.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"load",children:"load()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"load"}),"(): ",(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L138",children:"packages/core/src/controller/Controller.ts:138"})]}),"\n",(0,t.jsxs)(r.p,{children:["Callback the controller uses to request the resources it needs to render\nits view. This method is invoked after the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),"\nmethod."]}),"\n",(0,t.jsx)(r.p,{children:"The controller should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."}),"\n",(0,t.jsx)(r.p,{children:"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."}),"\n",(0,t.jsx)(r.p,{children:"The IMA will use the object to set the state of the controller."}),"\n",(0,t.jsx)(r.p,{children:"If at the server side, the IMA will wait for all the promises to\nresolve, replaces the promises with the resolved values and sets the\nresulting object as the controller's state."}),"\n",(0,t.jsx)(r.p,{children:"If at the client side, the IMA will first set the controller's state to\nan object containing only the fields of the returned object that were\nnot promises. IMA will then update the controller's state every time a\npromise of the returned object resolves. IMA will update the state by\nadding the resolved resource to the controller's state."}),"\n",(0,t.jsx)(r.p,{children:"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."}),"\n",(0,t.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setmetaparams",children:"setMetaParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setMetaParams"}),"(",(0,t.jsx)(r.code,{children:"loadedResources"}),", ",(0,t.jsx)(r.code,{children:"metaManager"}),", ",(0,t.jsx)(r.code,{children:"router"}),", ",(0,t.jsx)(r.code,{children:"dictionary"}),", ",(0,t.jsx)(r.code,{children:"settings"}),"): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L280",children:"packages/core/src/controller/Controller.ts:280"})]}),"\n",(0,t.jsx)(r.p,{children:"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources and the view has been rendered."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"loadedresources",children:"loadedResources"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Intersection"}),"<",(0,t.jsx)(r.code,{children:"Partial"}),"<",(0,t.jsx)(r.code,{children:"Pick"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"Matching"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"any"}),">>>>, ",(0,t.jsx)(r.code,{children:"Required"}),"<",(0,t.jsx)(r.code,{children:"Pick"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"NonMatching"}),"<",(0,t.jsx)(r.code,{children:"SS"}),", ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"any"}),">>>>>"]}),"\n",(0,t.jsxs)(r.p,{children:["A plain object representing a\nmap of resource names to resources loaded by the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method. This is the same object as the one\npassed to the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setstate",children:"Controller#setState"})," method."]}),"\n",(0,t.jsx)(r.h5,{id:"metamanager",children:"metaManager"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,t.jsx)(r.code,{children:"MetaManager"})})}),"\n",(0,t.jsx)(r.p,{children:"Meta attributes manager to configure."}),"\n",(0,t.jsx)(r.h5,{id:"router",children:"router"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,t.jsx)(r.code,{children:"Router"})})}),"\n",(0,t.jsx)(r.p,{children:"The current application router."}),"\n",(0,t.jsx)(r.h5,{id:"dictionary",children:"dictionary"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,t.jsx)(r.code,{children:"Dictionary"})})}),"\n",(0,t.jsx)(r.p,{children:"The current localization dictionary."}),"\n",(0,t.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,t.jsx)(r.code,{children:"Settings"})})}),"\n",(0,t.jsx)(r.p,{children:"The application settings for the\ncurrent application environment."}),"\n",(0,t.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setpagestatemanager",children:"setPageStateManager()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setPageStateManager"}),"(",(0,t.jsx)(r.code,{children:"pageStateManager"}),"?): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L319",children:"packages/core/src/controller/Controller.ts:319"})]}),"\n",(0,t.jsxs)(r.p,{children:["Sets the page state manager. The page state manager manages the\ncontroller's state. The state manager can be set to ",(0,t.jsx)(r.code,{children:"null"})," if this\ncontroller loses the right to modify the state of the current page (e.g.\nthe user has navigated to a different route using a different\ncontroller)."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"pagestatemanager",children:"pageStateManager?"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,t.jsx)(r.code,{children:"PageStateManager"})}),"<",(0,t.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The current state manager to\nuse."}),"\n",(0,t.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setrouteparams",children:"setRouteParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setRouteParams"}),"(",(0,t.jsx)(r.code,{children:"params"}),"): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L296",children:"packages/core/src/controller/Controller.ts:296"})]}),"\n",(0,t.jsxs)(r.p,{children:["Sets the current route parameters. This method is invoked before the\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"R"})," = ",(0,t.jsx)(r.code,{children:"..."})]}),"\n",(0,t.jsx)(r.p,{children:"The current route parameters."}),"\n",(0,t.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setState"}),"<",(0,t.jsx)(r.code,{children:"K"}),">(",(0,t.jsx)(r.code,{children:"statePatch"}),"): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L188",children:"packages/core/src/controller/Controller.ts:188"})]}),"\n",(0,t.jsx)(r.p,{children:"Patches the state of this controller using the provided object by\ncopying the provided patch object fields to the controller's state\nobject."}),"\n",(0,t.jsx)(r.p,{children:"You can use this method to modify the state partially or add new fields\nto the state object."}),"\n",(0,t.jsx)(r.p,{children:"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."}),"\n",(0,t.jsxs)(r.p,{children:["Once the promises returned by the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method are\nresolved, this method is called with the an object containing the\nresolved values. The field names of the passed object will match the\nfield names in the object returned from the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"}),"\nmethod."]}),"\n",(0,t.jsx)(r.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"K"})," ",(0,t.jsx)(r.em,{children:"extends"})," ",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.code,{children:"number"})," | ",(0,t.jsx)(r.code,{children:"symbol"})]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"statepatch",children:"statePatch"}),"\n",(0,t.jsx)(r.p,{children:"Patch of the controller's state to\napply."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Pick"}),"<",(0,t.jsx)(r.code,{children:"S"}),", ",(0,t.jsx)(r.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"update",children:"update()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"update"}),"(",(0,t.jsx)(r.code,{children:"prevParams"}),"): ",(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L164",children:"packages/core/src/controller/Controller.ts:164"})]}),"\n",(0,t.jsxs)(r.p,{children:["Callback for updating the controller after a route update. This method\nis invoked if the current route has the ",(0,t.jsx)(r.code,{children:"onlyUpdate"})," flag set to ",(0,t.jsx)(r.code,{children:"true"})," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,t.jsx)(r.code,{children:"onlyUpdate"})," option of the current route is a callback and\nreturned ",(0,t.jsx)(r.code,{children:"true"}),"."]}),"\n",(0,t.jsxs)(r.p,{children:["The method must return an object with the same semantics as the result\nof the ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method. The controller's state will only\nbe patched by the returned object instead of replacing it completely."]}),"\n",(0,t.jsxs)(r.p,{children:["The other controller lifecycle callbacks (",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),",\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"}),", ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"}),",\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#deactivate",children:"Controller#deactivate"}),", Controller#deinit) are not call\nin case this method is used."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"prevparams",children:"prevParams"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"R"})," = ",(0,t.jsx)(r.code,{children:"..."})]}),"\n",(0,t.jsx)(r.p,{children:"Previous route\nparameters."}),"\n",(0,t.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"S"})," | ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."})]})}function h(e={}){const{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>c,x:()=>i});var s=n(3696);const t={},l=s.createContext(t);function c(e){const r=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9577b207.c012e2ca.js b/assets/js/9577b207.c012e2ca.js new file mode 100644 index 000000000..c0d1759cf --- /dev/null +++ b/assets/js/9577b207.c012e2ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[468],{2410:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/core/classes/PageRenderer","title":"Class: abstract PageRenderer","description":"Defined in32","source":"@site/../docs/api/@ima/core/classes/PageRenderer.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageRenderer","permalink":"/api/@ima/core/classes/PageRenderer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageRenderer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageNavigationHandler","permalink":"/api/@ima/core/classes/PageNavigationHandler"},"next":{"title":"Class: abstract PageStateManager\\\\<S\\\\>","permalink":"/api/@ima/core/classes/PageStateManager"}}');var t=n(2540),a=n(3023);const i={},d="Class: abstract PageRenderer",c={},o=[{value:"Constructors",id:"constructors",level:2},{value:"new PageRenderer()",id:"new-pagerenderer",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"mount()",id:"mount",level:3},{value:"Parameters",id:"parameters",level:4},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"pageResources",id:"pageresources",level:5},{value:"routeOptions",id:"routeoptions",level:5},{value:"Returns",id:"returns-1",level:4},{value:"setState()",id:"setstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"state",id:"state",level:5},{value:"Returns",id:"returns-2",level:4},{value:"unmount()",id:"unmount",level:3},{value:"Returns",id:"returns-3",level:4},{value:"update()",id:"update",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"controller",id:"controller-1",level:5},{value:"view",id:"view-1",level:5},{value:"resourcesUpdate",id:"resourcesupdate",level:5},{value:"routeOptions",id:"routeoptions-1",level:5},{value:"Returns",id:"returns-4",level:4}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsxs)(r.h1,{id:"class-abstract-pagerenderer",children:["Class: ",(0,t.jsx)(r.code,{children:"abstract"})," PageRenderer"]})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L32",children:"packages/core/src/page/renderer/PageRenderer.ts:32"})]}),"\n",(0,t.jsx)(r.p,{children:"The page renderer is a utility for rendering the page at either the\nclient-side or the server-side, handling the differences in the environment."}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-pagerenderer",children:"new PageRenderer()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new PageRenderer"}),"(): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,t.jsx)(r.code,{children:"PageRenderer"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,t.jsx)(r.code,{children:"PageRenderer"})})}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"mount",children:"mount()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"mount"}),"(",(0,t.jsx)(r.code,{children:"controller"}),", ",(0,t.jsx)(r.code,{children:"view"}),", ",(0,t.jsx)(r.code,{children:"pageResources"}),", ",(0,t.jsx)(r.code,{children:"routeOptions"}),"): ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,t.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L62",children:"packages/core/src/page/renderer/PageRenderer.ts:62"})]}),"\n",(0,t.jsx)(r.p,{children:"Renders the page using the provided controller and view. The actual\nbehavior of this method differs at the client-side and the at\nserver-side in the following way:"}),"\n",(0,t.jsx)(r.p,{children:"At the server, the method first waits for all the resources to load, and\nthen renders the page to a string containing HTML markup to send to the\nclient."}),"\n",(0,t.jsx)(r.p,{children:"At the client, the method uses the already available resources to render\nthe page into DOM, re-using the DOM created from the HTML markup send by\nthe server if possible. After this the method will re-render the page\nevery time another resource being loaded finishes its loading and\nbecomes available."}),"\n",(0,t.jsx)(r.p,{children:"Note that the method renders the page at the client-side only after all\nresources have been loaded if this is the first time this method is\ninvoked at the client."}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})})}),"\n",(0,t.jsx)(r.p,{children:"The current page controller."}),"\n",(0,t.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"unknown"})}),"\n",(0,t.jsx)(r.p,{children:"The page's view."}),"\n",(0,t.jsx)(r.h5,{id:"pageresources",children:"pageResources"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownPromiseParameters",children:(0,t.jsx)(r.code,{children:"UnknownPromiseParameters"})})}),"\n",(0,t.jsx)(r.p,{children:"The resources for\nthe view loaded by the controller."}),"\n",(0,t.jsx)(r.h5,{id:"routeoptions",children:"routeOptions"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,t.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,t.jsx)(r.p,{children:"The current route options."}),"\n",(0,t.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,t.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,t.jsxs)(r.p,{children:["A promise that will resolve to information about the\nrendered page. The ",(0,t.jsx)(r.code,{children:"status"})," will contain the HTTP status\ncode to send to the client (at the server side) or determine the\ntype of error page to navigate to (at the client side)."]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setState"}),"(",(0,t.jsx)(r.code,{children:"state"}),"): ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L119",children:"packages/core/src/page/renderer/PageRenderer.ts:119"})]}),"\n",(0,t.jsx)(r.p,{children:"Sets the provided state to the currently rendered view."}),"\n",(0,t.jsx)(r.p,{children:"This method has no effect at the server-side."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"state",children:"state"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,t.jsx)(r.p,{children:"The state to set to the currently\nrendered view."}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"unmount",children:"unmount()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"unmount"}),"(): ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L107",children:"packages/core/src/page/renderer/PageRenderer.ts:107"})]}),"\n",(0,t.jsx)(r.p,{children:"Unmounts the view from the DOM."}),"\n",(0,t.jsx)(r.p,{children:"This method has no effect at the server-side."}),"\n",(0,t.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"update",children:"update()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"update"}),"(",(0,t.jsx)(r.code,{children:"controller"}),", ",(0,t.jsx)(r.code,{children:"view"}),", ",(0,t.jsx)(r.code,{children:"resourcesUpdate"}),", ",(0,t.jsx)(r.code,{children:"routeOptions"}),"): ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,t.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L93",children:"packages/core/src/page/renderer/PageRenderer.ts:93"})]}),"\n",(0,t.jsx)(r.p,{children:"Handles update of the current route that does not replace the current\ncontroller and view."}),"\n",(0,t.jsx)(r.p,{children:"The method will use the already available resource to update the\ncontroller's state and the view immediately. After that, the method will\nupdate the controller's state and view with every resource that becomes\nresolved."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"controller-1",children:"controller"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,t.jsx)(r.code,{children:"Controller"})})}),"\n",(0,t.jsx)(r.p,{children:"The current page controller."}),"\n",(0,t.jsx)(r.h5,{id:"view-1",children:"view"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"unknown"})}),"\n",(0,t.jsx)(r.p,{children:"The page's view."}),"\n",(0,t.jsx)(r.h5,{id:"resourcesupdate",children:"resourcesUpdate"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownPromiseParameters",children:(0,t.jsx)(r.code,{children:"UnknownPromiseParameters"})})}),"\n",(0,t.jsx)(r.p,{children:"The resources\nthat represent the update the of current state according to the\ncurrent route and its parameters."}),"\n",(0,t.jsx)(r.h5,{id:"routeoptions-1",children:"routeOptions"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,t.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,t.jsx)(r.p,{children:"The current route options."}),"\n",(0,t.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.code,{children:"void"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,t.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,t.jsxs)(r.p,{children:["A promise that will resolve to information about the\nrendered page. The ",(0,t.jsx)(r.code,{children:"status"})," will contain the HTTP status\ncode to send to the client (at the server side) or determine the\ntype of error page to navigate to (at the client side).\nThe ",(0,t.jsx)(r.code,{children:"content"})," field will contain the rendered markup of\nthe page at the server-side, or ",(0,t.jsx)(r.code,{children:"null"})," at the client-side."]})]})}function h(e={}){const{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>d});var s=n(3696);const t={},a=s.createContext(t);function i(e){const r=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/968740e1.eeb4b3ac.js b/assets/js/968740e1.eeb4b3ac.js deleted file mode 100644 index b1776856a..000000000 --- a/assets/js/968740e1.eeb4b3ac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[35],{5680:(e,r,t)=>{t.d(r,{xA:()=>c,yg:()=>f});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function u(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=n.createContext({}),l=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},c=function(e){var r=l(e.components);return n.createElement(s.Provider,{value:r},e.children)},m="mdxType",p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),m=l(t),d=a,f=m["".concat(s,".").concat(d)]||m[d]||p[d]||o;return t?n.createElement(f,i(i({ref:r},c),{},{components:t})):n.createElement(f,i({ref:r},c))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=d;var u={};for(var s in r)hasOwnProperty.call(r,s)&&(u[s]=r[s]);u.originalType=e,u[m]="string"==typeof e?e:a,i[1]=u;for(var l=2;l<o;l++)i[l]=t[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},4036:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>l});var n=t(8102),a=(t(6540),t(5680));const o={id:"ima_core.RouteNames",title:"Enumeration: RouteNames",sidebar_label:"@ima/core.RouteNames",custom_edit_url:null},i=void 0,u={unversionedId:"api/enums/ima_core.RouteNames",id:"api/enums/ima_core.RouteNames",title:"Enumeration: RouteNames",description:"@ima/core.RouteNames",source:"@site/../docs/api/enums/ima_core.RouteNames.md",sourceDirName:"api/enums",slug:"/api/enums/ima_core.RouteNames",permalink:"/api/enums/ima_core.RouteNames",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouteNames",title:"Enumeration: RouteNames",sidebar_label:"@ima/core.RouteNames",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RendererTypes",permalink:"/api/enums/ima_core.RendererTypes"},next:{title:"@ima/core.RouterEvents",permalink:"/api/enums/ima_core.RouterEvents"}},s={},l=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"ERROR",id:"error",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"NOT_FOUND",id:"not_found",level:3},{value:"Defined in",id:"defined-in-1",level:4}],c={toc:l},m="wrapper";function p(e){let{components:r,...t}=e;return(0,a.yg)(m,(0,n.A)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouteNames"),(0,a.yg)("p",null,"HTTP status code constants, representing the HTTP status codes recognized\nand processed by this proxy."),(0,a.yg)("h2",{id:"enumeration-members"},"Enumeration Members"),(0,a.yg)("h3",{id:"error"},"ERROR"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"ERROR")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"error"')),(0,a.yg)("p",null,"The internal route name used for the error page (the 5XX HTTP status\ncode error page)."),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouteNames.ts#L16"},"packages/core/src/router/RouteNames.ts:16")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"not_found"},"NOT","_","FOUND"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"NOT","_","FOUND")," = ",(0,a.yg)("inlineCode",{parentName:"p"},'"notFound"')),(0,a.yg)("p",null,'The internal route name used for the "not found" error page (the 4XX\nHTTP status code error page).'),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/RouteNames.ts#L10"},"packages/core/src/router/RouteNames.ts:10")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/96c0c5ca.a43053ad.js b/assets/js/96c0c5ca.a43053ad.js new file mode 100644 index 000000000..9e7aeb255 --- /dev/null +++ b/assets/js/96c0c5ca.a43053ad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[259],{4498:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>p,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/localize","title":"Function: localize()","description":"localize(component, key, params): string","source":"@site/../docs/api/@ima/react-page-renderer/functions/localize.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/localize","permalink":"/api/@ima/react-page-renderer/functions/localize","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/localize.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: listen()","permalink":"/api/@ima/react-page-renderer/functions/listen"},"next":{"title":"Function: unlisten()","permalink":"/api/@ima/react-page-renderer/functions/unlisten"}}');var a=r(2540),i=r(3023);const c={},s="Function: localize()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"component",id:"component",level:3},{value:"key",id:"key",level:3},{value:"params",id:"params",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"function-localize",children:"Function: localize()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"localize"}),"(",(0,a.jsx)(n.code,{children:"component"}),", ",(0,a.jsx)(n.code,{children:"key"}),", ",(0,a.jsx)(n.code,{children:"params"}),"): ",(0,a.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L47",children:"packages/react-page-renderer/src/componentHelpers.ts:47"})]}),"\n",(0,a.jsx)(n.p,{children:"Returns the localized phrase identified by the specified key. The\nplaceholders in the localization phrase will be replaced by the provided\nvalues."}),"\n",(0,a.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(n.h3,{id:"component",children:"component"}),"\n",(0,a.jsx)(n.p,{children:"The component\nrequiring the localization."}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,a.jsx)(n.code,{children:"AbstractComponent"})})," | ",(0,a.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,a.jsx)(n.code,{children:"AbstractPureComponent"})})]}),"\n",(0,a.jsx)(n.h3,{id:"key",children:"key"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"never"})}),"\n",(0,a.jsx)(n.p,{children:"Localization key."}),"\n",(0,a.jsx)(n.h3,{id:"params",children:"params"}),"\n",(0,a.jsx)(n.p,{children:"Values for replacing the\nplaceholders in the localization phrase."}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"string"})}),"\n",(0,a.jsx)(n.p,{children:"Localized phrase."})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>s});var t=r(3696);const a={},i=t.createContext(a);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/97c639d7.05fa2960.js b/assets/js/97c639d7.05fa2960.js new file mode 100644 index 000000000..6cf2dcbc2 --- /dev/null +++ b/assets/js/97c639d7.05fa2960.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9851],{8511:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/defaultCssClasses","title":"Function: defaultCssClasses()","description":"defaultCssClasses(classRules, component?): string","source":"@site/../docs/api/@ima/react-page-renderer/functions/defaultCssClasses.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/defaultCssClasses","permalink":"/api/@ima/react-page-renderer/functions/defaultCssClasses","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/defaultCssClasses.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: cssClasses()","permalink":"/api/@ima/react-page-renderer/functions/cssClasses"},"next":{"title":"Function: fire()","permalink":"/api/@ima/react-page-renderer/functions/fire"}}');var r=n(2540),a=n(3023);const c={},i="Function: defaultCssClasses()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"classRules",id:"classrules",level:3},{value:"component?",id:"component",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"function-defaultcssclasses",children:"Function: defaultCssClasses()"})}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"defaultCssClasses"}),"(",(0,r.jsx)(s.code,{children:"classRules"}),", ",(0,r.jsx)(s.code,{children:"component"}),"?): ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L122",children:"packages/react-page-renderer/src/componentHelpers.ts:122"})]}),"\n",(0,r.jsxs)(s.p,{children:["Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to ",(0,r.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,r.jsx)(s.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h3,{id:"classrules",children:"classRules"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"Argument"})}),"\n",(0,r.jsxs)(s.p,{children:["CSS classes in a\nstring separated by whitespace, or a map of CSS class names to\nboolean values. The CSS class name will be included in the result\nonly if the value is ",(0,r.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,r.jsx)(s.h3,{id:"component",children:"component?"}),"\n",(0,r.jsxs)(s.p,{children:["The component\nrequiring the composition of the CSS class names, if it has the\n",(0,r.jsx)(s.code,{children:"className"})," property set and requires its inclusion this time."]}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"string"})," | ",(0,r.jsx)(s.code,{children:"ComponentType"})]}),"\n",(0,r.jsx)(s.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsxs)(s.p,{children:["String of CSS classes that had their property resolved\nto ",(0,r.jsx)(s.code,{children:"true"}),"."]})]})}function u(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>i});var t=n(3696);const r={},a=t.createContext(r);function c(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),t.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/98990be4.89994155.js b/assets/js/98990be4.89994155.js deleted file mode 100644 index 6fb8a1a0d..000000000 --- a/assets/js/98990be4.89994155.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6636],{5680:(e,t,a)=>{a.d(t,{xA:()=>s,yg:()=>m});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),o=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=o(e.components);return r.createElement(p.Provider,{value:t},e.children)},y="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),y=o(a),g=n,m=y["".concat(p,".").concat(g)]||y[g]||d[g]||i;return a?r.createElement(m,l(l({ref:t},s),{},{components:a})):r.createElement(m,l({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=g;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c[y]="string"==typeof e?e:n,l[1]=c;for(var o=2;o<i;o++)l[o]=a[o];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}g.displayName="MDXCreateElement"},7483:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>o});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.CacheEntry",title:"Class: CacheEntry<V>",sidebar_label:"@ima/core.CacheEntry",custom_edit_url:null},l=void 0,c={unversionedId:"api/classes/ima_core.CacheEntry",id:"api/classes/ima_core.CacheEntry",title:"Class: CacheEntry<V>",description:"@ima/core.CacheEntry",source:"@site/../docs/api/classes/ima_core.CacheEntry.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.CacheEntry",permalink:"/api/classes/ima_core.CacheEntry",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.CacheEntry",title:"Class: CacheEntry<V>",sidebar_label:"@ima/core.CacheEntry",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Cache",permalink:"/api/classes/ima_core.Cache"},next:{title:"@ima/core.CacheFactory",permalink:"/api/classes/ima_core.CacheFactory"}},p={},o=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_created",id:"_created",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_ttl",id:"_ttl",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_value",id:"_value",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"getValue",id:"getvalue",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"isExpired",id:"isexpired",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4}],s={toc:o},y="wrapper";function d(e){let{components:t,...a}=e;return(0,n.yg)(y,(0,r.A)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".CacheEntry"),(0,n.yg)("p",null,"The cache entry is a typed container of cache data used to track the\ncreation and expiration of cache entries."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new CacheEntry"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"ttl"),")"),(0,n.yg)("p",null,"Initializes the cache entry."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The cache entry value.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ttl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The time to live in milliseconds.")))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L33"},"packages/core/src/cache/CacheEntry.ts:33")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_created"},"_","created"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","created"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The timestamp of creation of this cache entry."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L25"},"packages/core/src/cache/CacheEntry.ts:25")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_ttl"},"_","ttl"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","ttl"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The time to live in milliseconds. The cache entry is considered\nexpired after this time."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L20"},"packages/core/src/cache/CacheEntry.ts:20")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_value"},"_","value"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","value"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Cache entry value."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L14"},"packages/core/src/cache/CacheEntry.ts:14")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"getvalue"},"getValue"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getValue"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Returns the entry value."),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L61"},"packages/core/src/cache/CacheEntry.ts:61")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isexpired"},"isExpired"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isExpired"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if this entry has expired."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if this entry has expired."),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L43"},"packages/core/src/cache/CacheEntry.ts:43")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"serialize"},"serialize"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"serialize"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#serializedcacheentry"},(0,n.yg)("inlineCode",{parentName:"a"},"SerializedCacheEntry")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Exports this cache entry into a JSON-serializable object."),(0,n.yg)("p",null,"This entry exported to a\nJSON-serializable object."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#serializedcacheentry"},(0,n.yg)("inlineCode",{parentName:"a"},"SerializedCacheEntry")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheEntry.ts#L54"},"packages/core/src/cache/CacheEntry.ts:54")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/989f586f.26091f8c.js b/assets/js/989f586f.26091f8c.js new file mode 100644 index 000000000..4187dcb7d --- /dev/null +++ b/assets/js/989f586f.26091f8c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7582],{1226:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>c,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"api/@ima/core/type-aliases/CookieOptions","title":"Type Alias: CookieOptions","description":"CookieOptions: object","source":"@site/../docs/api/@ima/core/type-aliases/CookieOptions.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/CookieOptions","permalink":"/api/@ima/core/type-aliases/CookieOptions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/CookieOptions.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Cookie","permalink":"/api/@ima/core/type-aliases/Cookie"},"next":{"title":"Type Alias: CookieTransformFunction","permalink":"/api/@ima/core/type-aliases/CookieTransformFunction"}}');var s=i(2540),t=i(3023);const c={},r="Type Alias: CookieOptions",l={},a=[{value:"Type declaration",id:"type-declaration",level:2},{value:"domain?",id:"domain",level:3},{value:"expires?",id:"expires",level:3},{value:"httpOnly?",id:"httponly",level:3},{value:"maxAge?",id:"maxage",level:3},{value:"partitioned?",id:"partitioned",level:3},{value:"path?",id:"path",level:3},{value:"sameSite?",id:"samesite",level:3},{value:"secure?",id:"secure",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"type-alias-cookieoptions",children:"Type Alias: CookieOptions"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"CookieOptions"}),": ",(0,s.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L22",children:"packages/core/src/storage/CookieStorage.ts:22"})]}),"\n",(0,s.jsx)(n.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,s.jsx)(n.h3,{id:"domain",children:"domain?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"domain"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"expires",children:"expires?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"expires"}),": ",(0,s.jsx)(n.code,{children:"Date"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"httponly",children:"httpOnly?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"httpOnly"}),": ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"maxage",children:"maxAge?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"maxAge"}),": ",(0,s.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"partitioned",children:"partitioned?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"partitioned"}),": ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"path",children:"path?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"path"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"samesite",children:"sameSite?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"sameSite"}),": ",(0,s.jsx)(n.code,{children:'"none"'})," | ",(0,s.jsx)(n.code,{children:'"lax"'})," | ",(0,s.jsx)(n.code,{children:'"strict"'})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"secure",children:"secure?"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"optional"})," ",(0,s.jsx)(n.strong,{children:"secure"}),": ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>r});var o=i(3696);const s={},t=o.createContext(s);function c(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/98bec0c5.9740af1b.js b/assets/js/98bec0c5.9740af1b.js new file mode 100644 index 000000000..2a441100c --- /dev/null +++ b/assets/js/98bec0c5.9740af1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9178],{9045:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/HttpProxyErrorParams","title":"Type Alias: HttpProxyErrorParams\\\\<B\\\\>","description":"HttpProxyErrorParams\\\\: object & HttpProxyRequestParams","source":"@site/../docs/api/@ima/core/type-aliases/HttpProxyErrorParams.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/HttpProxyErrorParams","permalink":"/api/@ima/core/type-aliases/HttpProxyErrorParams","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/HttpProxyErrorParams.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: HttpAgentResponse\\\\<B\\\\>","permalink":"/api/@ima/core/type-aliases/HttpAgentResponse"},"next":{"title":"Type Alias: HttpProxyRequestParams","permalink":"/api/@ima/core/type-aliases/HttpProxyRequestParams"}}');var a=t(2540),n=t(3023);const o={},i="Type Alias: HttpProxyErrorParams<B>",c={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"body",id:"body",level:3},{value:"cause",id:"cause",level:3},{value:"errorName",id:"errorname",level:3},{value:"status",id:"status",level:3},{value:"Type Parameters",id:"type-parameters",level:2}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.header,{children:(0,a.jsx)(r.h1,{id:"type-alias-httpproxyerrorparamsb",children:"Type Alias: HttpProxyErrorParams<B>"})}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"HttpProxyErrorParams"}),"<",(0,a.jsx)(r.code,{children:"B"}),">: ",(0,a.jsx)(r.code,{children:"object"})," & ",(0,a.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,a.jsx)(r.code,{children:"HttpProxyRequestParams"})})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L51",children:"packages/core/src/http/HttpProxy.ts:51"})]}),"\n",(0,a.jsx)(r.p,{children:"An object that describes a failed HTTP request, providing\ninformation about both the failure reported by the server and how the\nrequest has been sent to the server."}),"\n",(0,a.jsx)(r.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,a.jsx)(r.h3,{id:"body",children:"body"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"body"}),": ",(0,a.jsx)(r.code,{children:"B"})]}),"\n"]}),"\n",(0,a.jsx)(r.h3,{id:"cause",children:"cause"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"cause"}),": ",(0,a.jsx)(r.code,{children:"Error"})]}),"\n"]}),"\n",(0,a.jsx)(r.h3,{id:"errorname",children:"errorName"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"errorName"}),": ",(0,a.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsx)(r.h3,{id:"status",children:"status"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"status"}),": ",(0,a.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,a.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,a.jsxs)(r.p,{children:["\u2022 ",(0,a.jsx)(r.strong,{children:"B"})," = ",(0,a.jsx)(r.code,{children:"unknown"})]})]})}function p(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>i});var s=t(3696);const a={},n=s.createContext(a);function o(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/991f8d4c.02e5c176.js b/assets/js/991f8d4c.02e5c176.js new file mode 100644 index 000000000..8ef9bbef9 --- /dev/null +++ b/assets/js/991f8d4c.02e5c176.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6719],{7330:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>t,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/core/type-aliases/PluginInitBindFunction","title":"Type Alias: PluginInitBindFunction()","description":"PluginInitBindFunction: (ns, oc, config, isDynamicallyLoaded, name?) => void","source":"@site/../docs/api/@ima/core/type-aliases/PluginInitBindFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/PluginInitBindFunction","permalink":"/api/@ima/core/type-aliases/PluginInitBindFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/PluginInitBindFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: PageState","permalink":"/api/@ima/core/type-aliases/PageState"},"next":{"title":"Type Alias: PluginInitServicesFunction()","permalink":"/api/@ima/core/type-aliases/PluginInitServicesFunction"}}');var s=i(2540),a=i(3023);const t={},o="Type Alias: PluginInitBindFunction()",r={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"config",id:"config",level:3},{value:"isDynamicallyLoaded",id:"isdynamicallyloaded",level:3},{value:"name?",id:"name",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"type-alias-plugininitbindfunction",children:"Type Alias: PluginInitBindFunction()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"PluginInitBindFunction"}),": (",(0,s.jsx)(n.code,{children:"ns"}),", ",(0,s.jsx)(n.code,{children:"oc"}),", ",(0,s.jsx)(n.code,{children:"config"}),", ",(0,s.jsx)(n.code,{children:"isDynamicallyLoaded"}),", ",(0,s.jsx)(n.code,{children:"name"}),"?) => ",(0,s.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L42",children:"packages/core/src/Bootstrap.ts:42"})]}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"ns",children:"ns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,s.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,s.jsx)(n.h3,{id:"oc",children:"oc"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,s.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,s.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Required"}),"<",(0,s.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,s.jsx)(n.code,{children:"BootConfig"})}),">[",(0,s.jsx)(n.code,{children:'"bind"'}),"]"]}),"\n",(0,s.jsx)(n.h3,{id:"isdynamicallyloaded",children:"isDynamicallyLoaded"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"boolean"})}),"\n",(0,s.jsx)(n.h3,{id:"name",children:"name?"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"void"})})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>o});var c=i(3696);const s={},a=c.createContext(s);function t(e){const n=c.useContext(a);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),c.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/99233437.b698de9d.js b/assets/js/99233437.b698de9d.js new file mode 100644 index 000000000..05bbdeec7 --- /dev/null +++ b/assets/js/99233437.b698de9d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1727],{5139:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/variables/PageContext","title":"Variable: PageContext","description":"const PageContext: Context\\\\","source":"@site/../docs/api/@ima/react-page-renderer/variables/PageContext.md","sourceDirName":"api/@ima/react-page-renderer/variables","slug":"/api/@ima/react-page-renderer/variables/PageContext","permalink":"/api/@ima/react-page-renderer/variables/PageContext","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/variables/PageContext.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: useEventBusType","permalink":"/api/@ima/react-page-renderer/interfaces/useEventBusType"},"next":{"title":"Documentation","permalink":"/api/"}}');var n=a(2540),s=a(3023);const o={},c="Variable: PageContext",i={},d=[];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"variable-pagecontext",children:"Variable: PageContext"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"const"})," ",(0,n.jsx)(t.strong,{children:"PageContext"}),": ",(0,n.jsx)(t.code,{children:"Context"}),"<",(0,n.jsx)(t.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,n.jsx)(t.code,{children:"PageContextType"})}),">"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/PageContext.ts#L8",children:"packages/react-page-renderer/src/PageContext.ts:8"})]})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>o,x:()=>c});var r=a(3696);const n={},s=r.createContext(n);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/999756ce.4553da89.js b/assets/js/999756ce.4553da89.js new file mode 100644 index 000000000..402ab84cd --- /dev/null +++ b/assets/js/999756ce.4553da89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9244],{7108:(i,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","title":"Function: typescriptDeclarationsPlugin()","description":"typescriptDeclarationsPlugin(options): Plugin","source":"@site/../docs/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin.md","sourceDirName":"api/@ima/plugin-cli/functions","slug":"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","permalink":"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: swcTransformer()","permalink":"/api/@ima/plugin-cli/functions/swcTransformer"},"next":{"title":"@ima/plugin-cli","permalink":"/api/@ima/plugin-cli/globals"}}');var s=e(2540),c=e(3023);const r={},a="Function: typescriptDeclarationsPlugin()",l={},o=[{value:"Parameters",id:"parameters",level:2},{value:"options",id:"options",level:3},{value:"Returns",id:"returns",level:2}];function p(i){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...i.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-typescriptdeclarationsplugin",children:"Function: typescriptDeclarationsPlugin()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"typescriptDeclarationsPlugin"}),"(",(0,s.jsx)(n.code,{children:"options"}),"): ",(0,s.jsx)(n.a,{href:"/api/@ima/plugin-cli/type-aliases/Plugin",children:(0,s.jsx)(n.code,{children:"Plugin"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/plugins/typescriptDeclarationsPlugin.ts#L28",children:"plugins/typescriptDeclarationsPlugin.ts:28"})]}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"options",children:"options"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"TypescriptDeclarationsPluginOptions"})}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/plugin-cli/type-aliases/Plugin",children:(0,s.jsx)(n.code,{children:"Plugin"})})})]})}function u(i={}){const{wrapper:n}={...(0,c.R)(),...i.components};return n?(0,s.jsx)(n,{...i,children:(0,s.jsx)(p,{...i})}):p(i)}},3023:(i,n,e)=>{e.d(n,{R:()=>r,x:()=>a});var t=e(3696);const s={},c=t.createContext(s);function r(i){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof i?i(n):{...n,...i}}),[n,i])}function a(i){let n;return n=i.disableParentContext?"function"==typeof i.components?i.components(s):i.components||s:r(i.components),t.createElement(c.Provider,{value:n},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/9af0878b.d6483124.js b/assets/js/9af0878b.d6483124.js new file mode 100644 index 000000000..d936f3297 --- /dev/null +++ b/assets/js/9af0878b.d6483124.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7753],{6863:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>d,default:()=>o,frontMatter:()=>i,metadata:()=>n,toc:()=>h});const n=JSON.parse('{"id":"api/@ima/core/classes/Request","title":"Class: Request","description":"Defined in9","source":"@site/../docs/api/@ima/core/classes/Request.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Request","permalink":"/api/@ima/core/classes/Request","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Request.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PluginLoader","permalink":"/api/@ima/core/classes/PluginLoader"},"next":{"title":"Class: Response","permalink":"/api/@ima/core/classes/Response"}}');var t=r(2540),c=r(3023);const i={},d="Class: Request",l={},h=[{value:"Constructors",id:"constructors",level:2},{value:"new Request()",id:"new-request",level:3},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_request?",id:"_request",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"getBody()",id:"getbody",level:3},{value:"Returns",id:"returns-2",level:4},{value:"getCookieHeader()",id:"getcookieheader",level:3},{value:"Returns",id:"returns-3",level:4},{value:"getFile()",id:"getfile",level:3},{value:"Returns",id:"returns-4",level:4},{value:"getFiles()",id:"getfiles",level:3},{value:"Returns",id:"returns-5",level:4},{value:"getHeader()",id:"getheader",level:3},{value:"Parameters",id:"parameters",level:4},{value:"header",id:"header",level:5},{value:"Returns",id:"returns-6",level:4},{value:"getIP()",id:"getip",level:3},{value:"Returns",id:"returns-7",level:4},{value:"getIPs()",id:"getips",level:3},{value:"Returns",id:"returns-8",level:4},{value:"getMethod()",id:"getmethod",level:3},{value:"Returns",id:"returns-9",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-10",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"request",id:"request",level:5},{value:"Returns",id:"returns-11",level:4}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"class-request",children:"Class: Request"})}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L9",children:"packages/core/src/router/Request.ts:9"})]}),"\n",(0,t.jsx)(s.p,{children:"Wrapper for the ExpressJS request, exposing only the necessary minimum."}),"\n",(0,t.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(s.h3,{id:"new-request",children:"new Request()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"new Request"}),"(): ",(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Request",children:(0,t.jsx)(s.code,{children:"Request"})})]}),"\n"]}),"\n",(0,t.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/api/@ima/core/classes/Request",children:(0,t.jsx)(s.code,{children:"Request"})})}),"\n",(0,t.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"_request",children:"_request?"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"protected"})," ",(0,t.jsx)(s.code,{children:"optional"})," ",(0,t.jsx)(s.strong,{children:"_request"}),": ",(0,t.jsx)(s.code,{children:"Request"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L14",children:"packages/core/src/router/Request.ts:14"})]}),"\n",(0,t.jsxs)(s.p,{children:["The current ExpressJS request object, or ",(0,t.jsx)(s.code,{children:"null"})," if running at\nthe client side."]}),"\n",(0,t.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,t.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,t.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"get"})," ",(0,t.jsx)(s.code,{children:"static"})," ",(0,t.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,t.jsx)(s.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L16",children:"packages/core/src/router/Request.ts:16"})]}),"\n",(0,t.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"never"}),"[]"]}),"\n",(0,t.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(s.h3,{id:"getbody",children:"getBody()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getBody"}),"(): ",(0,t.jsx)(s.code,{children:"any"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L68",children:"packages/core/src/router/Request.ts:68"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns body of request."}),"\n",(0,t.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"any"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getcookieheader",children:"getCookieHeader()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getCookieHeader"}),"(): ",(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L45",children:"packages/core/src/router/Request.ts:45"})]}),"\n",(0,t.jsxs)(s.p,{children:["Returns the ",(0,t.jsx)(s.code,{children:"Cookie"})," HTTP header value."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"undefined"})," | ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsxs)(s.p,{children:["The value of the ",(0,t.jsx)(s.code,{children:"Cookie"})," header."]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getfile",children:"getFile()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getFile"}),"(): ",(0,t.jsx)(s.code,{children:"any"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L52",children:"packages/core/src/router/Request.ts:52"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns uploaded file to server and meta information."}),"\n",(0,t.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"any"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getfiles",children:"getFiles()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getFiles"}),"(): ",(0,t.jsx)(s.code,{children:"any"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L60",children:"packages/core/src/router/Request.ts:60"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns uploaded files to server with their meta information."}),"\n",(0,t.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"any"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getheader",children:"getHeader()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getHeader"}),"(",(0,t.jsx)(s.code,{children:"header"}),"): ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L75",children:"packages/core/src/router/Request.ts:75"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns the specified HTTP request header."}),"\n",(0,t.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"header",children:"header"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getip",children:"getIP()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getIP"}),"(): ",(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L82",children:"packages/core/src/router/Request.ts:82"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns the remote IP address of the request."}),"\n",(0,t.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"null"})," | ",(0,t.jsx)(s.code,{children:"string"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getips",children:"getIPs()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getIPs"}),"(): ",(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L90",children:"packages/core/src/router/Request.ts:90"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns array of IP addresses specified in the \u201cX-Forwarded-For\u201d\nrequest header."}),"\n",(0,t.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getmethod",children:"getMethod()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getMethod"}),"(): ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L94",children:"packages/core/src/router/Request.ts:94"})]}),"\n",(0,t.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"getpath",children:"getPath()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"getPath"}),"(): ",(0,t.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L36",children:"packages/core/src/router/Request.ts:36"})]}),"\n",(0,t.jsx)(s.p,{children:"Returns the path part of the URL to which the request was made."}),"\n",(0,t.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"string"})}),"\n",(0,t.jsx)(s.p,{children:"The path to which the request was made."}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"init"}),"(",(0,t.jsx)(s.code,{children:"request"}),"): ",(0,t.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Request.ts#L27",children:"packages/core/src/router/Request.ts:27"})]}),"\n",(0,t.jsx)(s.p,{children:"Initializes the request using the provided ExpressJS request object."}),"\n",(0,t.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(s.h5,{id:"request",children:"request"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"Request"})}),"\n",(0,t.jsxs)(s.p,{children:["The ExpressJS request object\nrepresenting the current request. Use ",(0,t.jsx)(s.code,{children:"null"})," at the client\nside."]}),"\n",(0,t.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"void"})})]})}function o(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>i,x:()=>d});var n=r(3696);const t={},c=n.createContext(t);function i(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9b8a95cc.b14c09c4.js b/assets/js/9b8a95cc.b14c09c4.js new file mode 100644 index 000000000..422008053 --- /dev/null +++ b/assets/js/9b8a95cc.b14c09c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[19],{2326:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/Dependency","title":"Type Alias: Dependency\\\\<T\\\\>","description":"Dependency\\\\ boolean; \\\\}\\\\]","source":"@site/../docs/api/@ima/core/type-aliases/Dependency.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/Dependency","permalink":"/api/@ima/core/type-aliases/Dependency","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/Dependency.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: Dependencies\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/Dependencies"},"next":{"title":"Type Alias: DictionaryConfig","permalink":"/api/@ima/core/type-aliases/DictionaryConfig"}}');var c=a(2540),t=a(3023);const i={},r="Type Alias: Dependency<T>",o={},p=[{value:"Type Parameters",id:"type-parameters",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"type-alias-dependencyt",children:"Type Alias: Dependency<T>"})}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"Dependency"}),"<",(0,c.jsx)(n.code,{children:"T"}),">: keyof ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/DecoratedOCAliasMap",children:(0,c.jsx)(n.code,{children:"DecoratedOCAliasMap"})})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,c.jsx)(n.code,{children:"OCInjectable"})}),"<",(0,c.jsx)(n.code,{children:"T"}),"> | [",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,c.jsx)(n.code,{children:"OCInjectable"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">, { ",(0,c.jsx)(n.code,{children:"optional"}),": ",(0,c.jsx)(n.code,{children:"boolean"}),"; }]"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L25",children:"packages/core/src/oc/ObjectContainer.ts:25"})]}),"\n",(0,c.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]})]})}function l(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},3023:(e,n,a)=>{a.d(n,{R:()=>i,x:()=>r});var s=a(3696);const c={},t=s.createContext(c);function i(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9c0ba269.a27a2e36.js b/assets/js/9c0ba269.a27a2e36.js deleted file mode 100644 index 0bbf29b25..000000000 --- a/assets/js/9c0ba269.a27a2e36.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8547],{5680:(e,t,n)=>{n.d(t,{xA:()=>g,yg:()=>m});var i=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=i.createContext({}),s=function(e){var t=i.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},g=function(e){var t=s(e.components);return i.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},c=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),u=s(n),c=r,m=u["".concat(p,".").concat(c)]||u[c]||d[c]||a;return n?i.createElement(m,l(l({ref:t},g),{},{components:n})):i.createElement(m,l({ref:t},g))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,l=new Array(a);l[0]=c;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[u]="string"==typeof e?e:r,l[1]=o;for(var s=2;s<a;s++)l[s]=n[s];return i.createElement.apply(null,l)}return i.createElement.apply(null,n)}c.displayName="MDXCreateElement"},2499:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var i=n(8102),r=(n(6540),n(5680));const a={id:"ima_dev_utils.LoggerOptions",title:"Interface: LoggerOptions",sidebar_label:"@ima/dev-utils.LoggerOptions",custom_edit_url:null},l=void 0,o={unversionedId:"api/interfaces/ima_dev_utils.LoggerOptions",id:"api/interfaces/ima_dev_utils.LoggerOptions",title:"Interface: LoggerOptions",description:"@ima/dev-utils.LoggerOptions",source:"@site/../docs/api/interfaces/ima_dev_utils.LoggerOptions.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_dev_utils.LoggerOptions",permalink:"/api/interfaces/ima_dev_utils.LoggerOptions",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_dev_utils.LoggerOptions",title:"Interface: LoggerOptions",sidebar_label:"@ima/dev-utils.LoggerOptions",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/dev-utils.FragmentLine",permalink:"/api/interfaces/ima_dev_utils.FragmentLine"},next:{title:"@ima/plugin-cli.Context",permalink:"/api/interfaces/ima_plugin_cli.Context"}},p={},s=[{value:"Properties",id:"properties",level:2},{value:"elapsed",id:"elapsed",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Returns",id:"returns",level:5},{value:"Defined in",id:"defined-in",level:4},{value:"newLine",id:"newline",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"trackTime",id:"tracktime",level:3},{value:"Defined in",id:"defined-in-2",level:4}],g={toc:s},u="wrapper";function d(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,i.A)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_dev_utils"},"@ima/dev-utils"),".LoggerOptions"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"elapsed"},"elapsed"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"elapsed"),": () => ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,r.yg)("p",null,"\u25b8 (): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns time utility function, which when called returns\nformatted elapsed time from it's creation."),(0,r.yg)("h5",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Callback to return formatted elapsed time."),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L7"},"logger.ts:7")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"newline"},"newLine"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"newLine"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L6"},"logger.ts:6")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"tracktime"},"trackTime"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"trackTime"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/logger.ts#L5"},"logger.ts:5")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9dd8a0d2.308fb807.js b/assets/js/9dd8a0d2.308fb807.js new file mode 100644 index 000000000..7b16da185 --- /dev/null +++ b/assets/js/9dd8a0d2.308fb807.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8617],{9945:(e,t,i)=>{i.r(t),i.d(t,{default:()=>x});var a=i(9985),n=i(4669),s=i(8730),r=i(942),o=i(4164);i(3696);const c={title:"title_IGZ8",icon:"icon_O5xE",iconContainer:"iconContainer_r2Ou",separator:"separator_K_BN"};var l=i(2540);function d(e){let{title:t,Icon:i}=e;return(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:c.separator,children:(0,l.jsx)("div",{className:c.iconContainer,children:(0,l.jsx)(i,{className:c.icon})})}),(0,l.jsx)("h2",{className:c.title,children:t})]})}const h={container:"container_hDwv",title:"title_Lx4r",img:"img_izG5",description:"description_U2Ta"};function p(e){let{title:t,href:i,img:a,description:n}=e;return(0,l.jsx)("div",{className:(0,o.A)("col col--6",h.container),children:(0,l.jsxs)("div",{className:"padding-horiz--md",children:[(0,l.jsx)("h3",{className:h.title,children:(0,l.jsx)("a",{target:"_blank",href:i,rel:"noreferrer",children:t})}),(0,l.jsx)("img",{className:h.img,src:a,alt:t}),(0,l.jsx)("p",{className:h.description,children:n})]})})}function m(e){let{data:t}=e;return(0,l.jsx)("section",{children:(0,l.jsx)("div",{className:"container",children:(0,l.jsx)("div",{className:"row",children:t.map(((e,t)=>(0,l.jsx)(p,{...e},t)))})})})}function g(e){let{title:t,description:i}=e;return(0,l.jsx)("div",{className:(0,o.A)("col col--4"),children:(0,l.jsxs)("div",{className:"padding-horiz--md",children:[(0,l.jsx)("h3",{children:t}),(0,l.jsx)("p",{dangerouslySetInnerHTML:{__html:i}})]})})}function f(e){let{data:t}=e;return(0,l.jsx)("section",{children:(0,l.jsx)("div",{className:"container",children:(0,l.jsx)("div",{className:"row",children:t.map(((e,t)=>(0,l.jsx)(g,{...e},t)))})})})}const u={container:"container_cnM6",list:"list_Hsg9",item:"item_sfGX",icon:"icon_XC1n"};function v(e){let{data:t}=e;return(0,l.jsxs)("section",{className:u.container,children:[(0,l.jsx)("h3",{children:"And many more..."}),(0,l.jsx)("div",{className:u.list,children:t.map(((e,t)=>(0,l.jsxs)("div",{className:u.item,children:[(0,l.jsx)(r.Jlk,{className:u.icon})," ",e]},t)))})]})}const y=JSON.parse('[{"title":"Fully Isomorphic","description":"Write and run the same code at both the server side and the client side! IMA.js provides abstraction for APIs that differ at the client side javascript and the server side javascript."},{"title":"SEO","description":"Page metadata are centrally managed, allowing easier <a href=\\"/basic-features/seo-and-meta-manager\\">management</a> of all your keywords and og meta-tags."},{"title":"Benchmarks and Tests","description":"Real-world heavy-load web services are run on the IMA.js platform. With hundreds of <a target=\\"_blank\\" href=\\"https://github.com/seznam/ima\\">unit tests</a> covering all of our code, you can rely on IMA.js to be a stable base of your application."},{"title":"Production-ready Full Application Stack","description":"Use the familiar MVC pattern in combination with React for rendering your UI. See Hello example."},{"title":"Routing","description":"IMA.js comes with a built-in <a href=\\"/basic-features/routing\\">router</a> for processing GET and POST HTTP requests."},{"title":"Bleeding Edge Technologies","description":"ESNext, Webpack, SWC compiler, HMR and other technologies."},{"title":"Full plugin support","description":"IMA.js comes with full support for plugins that can be created very easily through very simple interface."},{"title":"Large collection of existing plugins","description":"We maintain a list of several plugins that are thoroughly tested and used every day on many of our websites here at Seznam.cz along with huge list of other plugins we use internally."},{"title":"Multiple running modes","description":"Application can be switched between IMA, SPA and MPA modes or combination of all of them."}]'),j=JSON.parse('["Configuration for all your environments in one place with inheritance.","Out-of-box configurable server-side caching.","REST API cache.","Advanced error handling for greater stability and faster development.","High-fidelity debug mode.","Dependency injection.","Analytics plugin, that provides interface to custom analytics, along with FB pixel and Google Analytics plugins.","Generic REST API client plugin for the IMA application framework","Plugin to simplify loading 3rd party scripts for the IMA.js application","Reselect-style page state selector plugin for IMA.js components.","And many more\u2026"]'),z=JSON.parse('[{"title":"Seznamzpravy.cz","href":"https://seznamzpravy.cz","img":"/img/references/seznamzpravy.jpg","description":"Seznam Zpr\xe1vy is one of the top Czech news platforms, which delivers compelling, diverse and visually engaging stories in the form of a text and a video."},{"title":"Novinky.cz","href":"https://novinky.cz","img":"/img/references/novinky.jpg","description":"One of the biggest and most visited news website in the Czech Republic. It offers coverage of the latest news from home and around the world in one place."},{"title":"Prozeny.cz","href":"https://prozeny.cz","img":"/img/references/prozeny.jpg","description":"The biggest online lifestyle magazine for women in the Czech Republic. Current articles about fashion, health and lifestyle, living, family, and a great section of recipes."},{"title":"Garaz.cz","href":"https://garaz.cz","img":"/img/references/garaz.jpg","description":"The biggest online magazine about cars and motorcycles in the Czech Republic where you can found current articles about news from the car industry, service tips, reports from car events and wonderful video section."},{"title":"Po\u010das\xed.cz","href":"https://po\u010das\xed.cz","img":"/img/references/pocasi.jpg","description":"The most visited weather forecast website in the Czech republic. Offers weather forecast up to 6 days ahead for every place on Earth and interactive map with meteoradar."},{"title":"tv.seznam.cz","href":"https://tv.seznam.cz","img":"/img/references/tv_seznam.jpg","description":"TV broadcast schedule for at least 14 days ahead, available for more than 100 most watched TV stations. Horizontal and vertical layout, notifications and social sharing is available."},{"title":"SBazar.cz","href":"https://sbazar.cz","img":"/img/references/sbazar.jpg","description":"Sbazar.cz is one of the largest online peer to peer marketers in the Czech Republic. People can choose between 1,800,000 current offers. Advertising is clearly arranged into individual categories with the possibility of searching in a specific place in the Czechia."},{"title":"SAuto.cz","href":"https://sauto.cz","img":"/img/references/sauto.jpg","description":"Sauto is the biggest marketplace of used and new cars in the Czech Republic. People can choose from up to 90,000 current sellers\u2019 ads from across the country. Advanced filtering makes finding a car easier."},{"title":"Hry.cz","href":"https://hry.cz","img":"/img/references/hry.jpg","description":"The Czech video game portal where you find your next video game to play. There are plenty of video games for different devices, including on-line browser games."},{"title":"Seznam.cz/vychytavky","href":"https://seznam.cz/vychytavky","img":"/img/references/seznam_vychytavky.jpg","description":"The news feed of the Seznam.cz company where you can see the new features of all Seznam.cz services."}]'),b={hero:"hero_aEcG",buttons:"buttons_AeoN",title:"title_GqtP",logo:"logo_Ukns",main:"main_iUjq"};function x(){const{siteConfig:e}=(0,n.A)();return(0,l.jsxs)(s.A,{title:"IMA.js | A Javascript framework for creating isomorphic applications",description:"The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript and React.",children:[(0,l.jsx)("header",{className:(0,o.A)("hero",b.hero),children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsxs)("h1",{className:(0,o.A)("hero__title",b.title),children:[(0,l.jsx)("img",{className:b.logo,src:"/img/logo.svg"}),e.title]}),(0,l.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,l.jsxs)("div",{className:b.buttons,children:[(0,l.jsx)(a.A,{className:"button button--primary button--lg",to:"/introduction/getting-started",children:"Get Started"}),(0,l.jsx)(a.A,{className:"button button--secondary button--lg",to:"/tutorial/introduction",children:"Take a look at the Tutorial"})]})]})}),(0,l.jsxs)("main",{className:b.main,children:[(0,l.jsx)(d,{title:"Features",Icon:r.FEq}),(0,l.jsx)(f,{data:y}),(0,l.jsx)(v,{data:j}),(0,l.jsx)(d,{title:"Who's using IMA.js",Icon:r.Mdu}),(0,l.jsx)(m,{data:z})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/9dd8a0d2.a817e24b.js b/assets/js/9dd8a0d2.a817e24b.js deleted file mode 100644 index 8e6e4b5fa..000000000 --- a/assets/js/9dd8a0d2.a817e24b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8617],{9025:(e,t,a)=>{a.r(t),a.d(t,{default:()=>A});var i=a(5489),n=a(4586),r=a(2546),o=a(942),s=a(8017),c=a(6540);const l={title:"title_IGZ8",icon:"icon_O5xE",iconContainer:"iconContainer_r2Ou",separator:"separator_K_BN"};function m(e){let{title:t,Icon:a}=e;return c.createElement("div",null,c.createElement("div",{className:l.separator},c.createElement("div",{className:l.iconContainer},c.createElement(a,{className:l.icon}))),c.createElement("h2",{className:l.title},t))}const d={container:"container_hDwv",title:"title_Lx4r",img:"img_izG5",description:"description_U2Ta"};function p(e){let{title:t,href:a,img:i,description:n}=e;return c.createElement("div",{className:(0,s.A)("col col--6",d.container)},c.createElement("div",{className:"padding-horiz--md"},c.createElement("h3",{className:d.title},c.createElement("a",{target:"_blank",href:a,rel:"noreferrer"},t)),c.createElement("img",{className:d.img,src:i,alt:t}),c.createElement("p",{className:d.description},n)))}var h=a(8102);function g(e){let{data:t}=e;return c.createElement("section",null,c.createElement("div",{className:"container"},c.createElement("div",{className:"row"},t.map(((e,t)=>c.createElement(p,(0,h.A)({key:t},e)))))))}function u(e){let{title:t,description:a}=e;return c.createElement("div",{className:(0,s.A)("col col--4")},c.createElement("div",{className:"padding-horiz--md"},c.createElement("h3",null,t),c.createElement("p",{dangerouslySetInnerHTML:{__html:a}})))}function f(e){let{data:t}=e;return c.createElement("section",null,c.createElement("div",{className:"container"},c.createElement("div",{className:"row"},t.map(((e,t)=>c.createElement(u,(0,h.A)({key:t},e)))))))}const v={container:"container_cnM6",list:"list_Hsg9",item:"item_sfGX",icon:"icon_XC1n"};function y(e){let{data:t}=e;return c.createElement("section",{className:v.container},c.createElement("h3",null,"And many more..."),c.createElement("div",{className:v.list},t.map(((e,t)=>c.createElement("div",{className:v.item,key:t},c.createElement(o.Jlk,{className:v.icon})," ",e)))))}const z=JSON.parse('[{"title":"Fully Isomorphic","description":"Write and run the same code at both the server side and the client side! IMA.js provides abstraction for APIs that differ at the client side javascript and the server side javascript."},{"title":"SEO","description":"Page metadata are centrally managed, allowing easier <a href=\\"/basic-features/seo-and-meta-manager\\">management</a> of all your keywords and og meta-tags."},{"title":"Benchmarks and Tests","description":"Real-world heavy-load web services are run on the IMA.js platform. With hundreds of <a target=\\"_blank\\" href=\\"https://github.com/seznam/ima\\">unit tests</a> covering all of our code, you can rely on IMA.js to be a stable base of your application."},{"title":"Production-ready Full Application Stack","description":"Use the familiar MVC pattern in combination with React for rendering your UI. See Hello example."},{"title":"Routing","description":"IMA.js comes with a built-in <a href=\\"/basic-features/routing\\">router</a> for processing GET and POST HTTP requests."},{"title":"Bleeding Edge Technologies","description":"ESNext, Webpack, SWC compiler, HMR and other technologies."},{"title":"Full plugin support","description":"IMA.js comes with full support for plugins that can be created very easily through very simple interface."},{"title":"Large collection of existing plugins","description":"We maintain a list of several plugins that are thoroughly tested and used every day on many of our websites here at Seznam.cz along with huge list of other plugins we use internally."},{"title":"Multiple running modes","description":"Application can be switched between IMA, SPA and MPA modes or combination of all of them."}]'),b=JSON.parse('["Configuration for all your environments in one place with inheritance.","Out-of-box configurable server-side caching.","REST API cache.","Advanced error handling for greater stability and faster development.","High-fidelity debug mode.","Dependency injection.","Analytics plugin, that provides interface to custom analytics, along with FB pixel and Google Analytics plugins.","Generic REST API client plugin for the IMA application framework","Plugin to simplify loading 3rd party scripts for the IMA.js application","Reselect-style page state selector plugin for IMA.js components.","And many more\u2026"]'),E=JSON.parse('[{"title":"Seznamzpravy.cz","href":"https://seznamzpravy.cz","img":"/img/references/seznamzpravy.jpg","description":"Seznam Zpr\xe1vy is one of the top Czech news platforms, which delivers compelling, diverse and visually engaging stories in the form of a text and a video."},{"title":"Novinky.cz","href":"https://novinky.cz","img":"/img/references/novinky.jpg","description":"One of the biggest and most visited news website in the Czech Republic. It offers coverage of the latest news from home and around the world in one place."},{"title":"Prozeny.cz","href":"https://prozeny.cz","img":"/img/references/prozeny.jpg","description":"The biggest online lifestyle magazine for women in the Czech Republic. Current articles about fashion, health and lifestyle, living, family, and a great section of recipes."},{"title":"Garaz.cz","href":"https://garaz.cz","img":"/img/references/garaz.jpg","description":"The biggest online magazine about cars and motorcycles in the Czech Republic where you can found current articles about news from the car industry, service tips, reports from car events and wonderful video section."},{"title":"Po\u010das\xed.cz","href":"https://po\u010das\xed.cz","img":"/img/references/pocasi.jpg","description":"The most visited weather forecast website in the Czech republic. Offers weather forecast up to 6 days ahead for every place on Earth and interactive map with meteoradar."},{"title":"tv.seznam.cz","href":"https://tv.seznam.cz","img":"/img/references/tv_seznam.jpg","description":"TV broadcast schedule for at least 14 days ahead, available for more than 100 most watched TV stations. Horizontal and vertical layout, notifications and social sharing is available."},{"title":"SBazar.cz","href":"https://sbazar.cz","img":"/img/references/sbazar.jpg","description":"Sbazar.cz is one of the largest online peer to peer marketers in the Czech Republic. People can choose between 1,800,000 current offers. Advertising is clearly arranged into individual categories with the possibility of searching in a specific place in the Czechia."},{"title":"SAuto.cz","href":"https://sauto.cz","img":"/img/references/sauto.jpg","description":"Sauto is the biggest marketplace of used and new cars in the Czech Republic. People can choose from up to 90,000 current sellers\u2019 ads from across the country. Advanced filtering makes finding a car easier."},{"title":"Hry.cz","href":"https://hry.cz","img":"/img/references/hry.jpg","description":"The Czech video game portal where you find your next video game to play. There are plenty of video games for different devices, including on-line browser games."},{"title":"Seznam.cz/vychytavky","href":"https://seznam.cz/vychytavky","img":"/img/references/seznam_vychytavky.jpg","description":"The news feed of the Seznam.cz company where you can see the new features of all Seznam.cz services."}]'),w={hero:"hero_aEcG",buttons:"buttons_AeoN",title:"title_GqtP",logo:"logo_Ukns",main:"main_iUjq"};function A(){const{siteConfig:e}=(0,n.A)();return c.createElement(r.A,{title:"IMA.js | A Javascript framework for creating isomorphic applications",description:"The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript and React."},c.createElement("header",{className:(0,s.A)("hero",w.hero)},c.createElement("div",{className:"container"},c.createElement("h1",{className:(0,s.A)("hero__title",w.title)},c.createElement("img",{className:w.logo,src:"/img/logo.svg"}),e.title),c.createElement("p",{className:"hero__subtitle"},e.tagline),c.createElement("div",{className:w.buttons},c.createElement(i.A,{className:"button button--primary button--lg",to:"/introduction/getting-started"},"Get Started"),c.createElement(i.A,{className:"button button--secondary button--lg",to:"/tutorial/introduction"},"Take a look at the Tutorial")))),c.createElement("main",{className:w.main},c.createElement(m,{title:"Features",Icon:o.FEq}),c.createElement(f,{data:z}),c.createElement(y,{data:b}),c.createElement(m,{title:"Who's using IMA.js",Icon:o.Mdu}),c.createElement(g,{data:E})))}}}]); \ No newline at end of file diff --git a/assets/js/9e01cd16.ee8b9541.js b/assets/js/9e01cd16.ee8b9541.js new file mode 100644 index 000000000..a618ecd06 --- /dev/null +++ b/assets/js/9e01cd16.ee8b9541.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7788],{6186:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/cli/functions/getLanguageEntryPoints","title":"Function: getLanguageEntryPoints()","description":"getLanguageEntryPoints(languages, rootDir, useHMR): Record\\\\","source":"@site/../docs/api/@ima/cli/functions/getLanguageEntryPoints.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/getLanguageEntryPoints","permalink":"/api/@ima/cli/functions/getLanguageEntryPoints","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/getLanguageEntryPoints.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getCurrentCoreJsVersion()","permalink":"/api/@ima/cli/functions/getCurrentCoreJsVersion"},"next":{"title":"Function: resolveEnvironment()","permalink":"/api/@ima/cli/functions/resolveEnvironment"}}');var s=t(2540),r=t(3023);const o={},c="Function: getLanguageEntryPoints()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"languages",id:"languages",level:3},{value:"rootDir",id:"rootdir",level:3},{value:"useHMR",id:"usehmr",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-getlanguageentrypoints",children:"Function: getLanguageEntryPoints()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"getLanguageEntryPoints"}),"(",(0,s.jsx)(n.code,{children:"languages"}),", ",(0,s.jsx)(n.code,{children:"rootDir"}),", ",(0,s.jsx)(n.code,{children:"useHMR"}),"): ",(0,s.jsx)(n.code,{children:"Record"}),"<",(0,s.jsx)(n.code,{children:"string"}),", ",(0,s.jsx)(n.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/languages.ts#L64",children:"webpack/languages.ts:64"})]}),"\n",(0,s.jsx)(n.p,{children:"Returns entry points to use in webpack configurations. These then lead to\nmessageformat compiled modules while also containing some additional runtime code."}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"languages",children:"languages"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Record"}),"<",(0,s.jsx)(n.code,{children:"string"}),", ",(0,s.jsx)(n.code,{children:"string"}),"[]>"]}),"\n",(0,s.jsx)(n.p,{children:"Languages object from ima config."}),"\n",(0,s.jsx)(n.h3,{id:"rootdir",children:"rootDir"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.p,{children:"Current compilation root directory."}),"\n",(0,s.jsx)(n.h3,{id:"usehmr",children:"useHMR"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"boolean"})," = ",(0,s.jsx)(n.code,{children:"false"})]}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Record"}),"<",(0,s.jsx)(n.code,{children:"string"}),", ",(0,s.jsx)(n.code,{children:"string"}),">"]}),"\n",(0,s.jsx)(n.p,{children:"Object with webpack entry points."})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var i=t(3696);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e2a34cf.5b84ff00.js b/assets/js/9e2a34cf.5b84ff00.js new file mode 100644 index 000000000..08ca35192 --- /dev/null +++ b/assets/js/9e2a34cf.5b84ff00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7696],{8301:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/ViewAdapter","title":"Class: ViewAdapter","description":"Defined in24","source":"@site/../docs/api/@ima/react-page-renderer/classes/ViewAdapter.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/ViewAdapter","permalink":"/api/@ima/react-page-renderer/classes/ViewAdapter","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/ViewAdapter.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ServerPageRenderer","permalink":"/api/@ima/react-page-renderer/classes/ServerPageRenderer"},"next":{"title":"Function: cssClasses()","permalink":"/api/@ima/react-page-renderer/functions/cssClasses"}}');var d=r(2540),s=r(3023);const i={},l="Class: ViewAdapter",c={},o=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ViewAdapter()",id:"new-viewadapter",level:3},{value:"Parameters",id:"parameters",level:4},{value:"props",id:"props",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context",level:3},{value:"Example",id:"example",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"contextSelectors",id:"contextselectors",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"props",id:"props-1",level:5},{value:"state",id:"state",level:5},{value:"Returns",id:"returns-1",level:4},{value:"createContext",id:"createcontext",level:3},{value:"props",id:"props-2",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"<del>refs</del>",id:"refs",level:3},{value:"Index Signature",id:"index-signature",level:4},{value:"Deprecated",id:"deprecated",level:4},{value:"See",id:"see-1",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"state",id:"state-1",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"contextType?",id:"contexttype",level:3},{value:"Example",id:"example-1",level:4},{value:"See",id:"see-2",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Methods",id:"methods",level:2},{value:"componentDidCatch()?",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"error",id:"error",level:5},{value:"errorInfo",id:"errorinfo",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"componentDidMount()?",id:"componentdidmount",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"componentDidUpdate()?",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"prevProps",id:"prevprops",level:5},{value:"prevState",id:"prevstate",level:5},{value:"snapshot?",id:"snapshot",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"<del>componentWillMount()?</del>",id:"componentwillmount",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Deprecated",id:"deprecated-1",level:4},{value:"See",id:"see-3",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"<del>componentWillReceiveProps()?</del>",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"nextProps",id:"nextprops",level:5},{value:"nextContext",id:"nextcontext",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Deprecated",id:"deprecated-2",level:4},{value:"See",id:"see-4",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"componentWillUnmount()?",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"<del>componentWillUpdate()?</del>",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"nextProps",id:"nextprops-1",level:5},{value:"nextState",id:"nextstate",level:5},{value:"nextContext",id:"nextcontext-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Deprecated",id:"deprecated-3",level:4},{value:"See",id:"see-5",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"forceUpdate()",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"callback?",id:"callback",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"getContextValue()",id:"getcontextvalue",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"props",id:"props-3",level:5},{value:"state",id:"state-2",level:5},{value:"Returns",id:"returns-10",level:4},{value:"getSnapshotBeforeUpdate()?",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"prevProps",id:"prevprops-1",level:5},{value:"prevState",id:"prevstate-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"render()",id:"render",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"state",id:"state-3",level:5},{value:"callback?",id:"callback-1",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"shouldComponentUpdate()?",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"nextProps",id:"nextprops-2",level:5},{value:"nextState",id:"nextstate-1",level:5},{value:"nextContext",id:"nextcontext-2",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"<del>UNSAFE_componentWillMount()?</del>",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Deprecated",id:"deprecated-4",level:4},{value:"See",id:"see-6",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"<del>UNSAFE_componentWillReceiveProps()?</del>",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"nextProps",id:"nextprops-3",level:5},{value:"nextContext",id:"nextcontext-3",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Deprecated",id:"deprecated-5",level:4},{value:"See",id:"see-7",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"<del>UNSAFE_componentWillUpdate()?</del>",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"nextProps",id:"nextprops-4",level:5},{value:"nextState",id:"nextstate-2",level:5},{value:"nextContext",id:"nextcontext-4",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Deprecated",id:"deprecated-6",level:4},{value:"See",id:"see-8",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"getDerivedStateFromProps()",id:"getderivedstatefromprops",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"props",id:"props-4",level:5},{value:"state",id:"state-4",level:5},{value:"Returns",id:"returns-18",level:4}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"class-viewadapter",children:"Class: ViewAdapter"})}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L24",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:24"})]}),"\n",(0,d.jsx)(n.p,{children:"An adapter component providing the current page controller's state to the\npage view component through its properties."}),"\n",(0,d.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.code,{children:"Component"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),", ",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,d.jsx)(n.h3,{id:"new-viewadapter",children:"new ViewAdapter()"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"new ViewAdapter"}),"(",(0,d.jsx)(n.code,{children:"props"}),"): ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ViewAdapter",children:(0,d.jsx)(n.code,{children:"ViewAdapter"})})]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L42",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:42"})]}),"\n",(0,d.jsx)(n.p,{children:"Initializes the adapter component."}),"\n",(0,d.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"props",children:"props"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})})}),"\n",(0,d.jsx)(n.p,{children:"Component properties, containing the actual page view\nand the initial page state to pass to the view."}),"\n",(0,d.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ViewAdapter",children:(0,d.jsx)(n.code,{children:"ViewAdapter"})})}),"\n",(0,d.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component<ViewAdapterProps, State>.constructor"})}),"\n",(0,d.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,d.jsx)(n.h3,{id:"context",children:"context"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"context"}),": ",(0,d.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1013"}),"\n",(0,d.jsxs)(n.p,{children:["If using the new style context, re-declare this in your class to be the\n",(0,d.jsx)(n.code,{children:"React.ContextType"})," of your ",(0,d.jsx)(n.code,{children:"static contextType"}),".\nShould be used with type annotation or static contextType."]}),"\n",(0,d.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-ts",children:"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n"})}),"\n",(0,d.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://react.dev/reference/react/Component#context",children:"React Docs"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.context"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"contextselectors",children:"contextSelectors"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"contextSelectors"}),": (",(0,d.jsx)(n.code,{children:"props"}),", ",(0,d.jsx)(n.code,{children:"state"}),") => ",(0,d.jsx)(n.code,{children:"any"}),"[]"]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L32",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:32"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"props-1",children:"props"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})})}),"\n",(0,d.jsx)(n.h5,{id:"state",children:"state"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"State"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"createcontext",children:"createContext"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"createContext"}),": ",(0,d.jsx)(n.code,{children:"MemoizedFn"}),"<(...",(0,d.jsx)(n.code,{children:"args"}),") => ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,d.jsx)(n.code,{children:"PageContextType"})}),">"]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L31",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:31"})]}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"props-2",children:"props"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"readonly"})," ",(0,d.jsx)(n.strong,{children:"props"}),": ",(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1033"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.props"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"refs",children:(0,d.jsx)(n.del,{children:"refs"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"refs"}),": ",(0,d.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1040"}),"\n",(0,d.jsx)(n.h4,{id:"index-signature",children:"Index Signature"}),"\n",(0,d.jsxs)(n.p,{children:["[",(0,d.jsx)(n.code,{children:"key"}),": ",(0,d.jsx)(n.code,{children:"string"}),"]: ",(0,d.jsx)(n.code,{children:"ReactInstance"})]}),"\n",(0,d.jsx)(n.h4,{id:"deprecated",children:"Deprecated"}),"\n",(0,d.jsx)(n.h4,{id:"see-1",children:"See"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs",children:"Legacy React Docs"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.refs"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"state-1",children:"state"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"state"}),": ",(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1034"}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.state"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"contexttype",children:"contextType?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"static"})," ",(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"contextType"}),": ",(0,d.jsx)(n.code,{children:"Context"}),"<",(0,d.jsx)(n.code,{children:"any"}),">"]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:995"}),"\n",(0,d.jsxs)(n.p,{children:["If set, ",(0,d.jsx)(n.code,{children:"this.context"})," will be set at runtime to the current value of the given Context."]}),"\n",(0,d.jsx)(n.h4,{id:"example-1",children:"Example"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-ts",children:"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n"})}),"\n",(0,d.jsx)(n.h4,{id:"see-2",children:"See"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://react.dev/reference/react/Component#static-contexttype",children:"https://react.dev/reference/react/Component#static-contexttype"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.contextType"})}),"\n",(0,d.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,d.jsx)(n.h3,{id:"componentdidcatch",children:"componentDidCatch()?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentDidCatch"}),"(",(0,d.jsx)(n.code,{children:"error"}),", ",(0,d.jsx)(n.code,{children:"errorInfo"}),"): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1397"}),"\n",(0,d.jsx)(n.p,{children:"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."}),"\n",(0,d.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"error",children:"error"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Error"})}),"\n",(0,d.jsx)(n.h5,{id:"errorinfo",children:"errorInfo"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"ErrorInfo"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentDidCatch"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"componentdidmount",children:"componentDidMount()?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentDidMount"}),"(): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1376"}),"\n",(0,d.jsx)(n.p,{children:"Called immediately after a component is mounted. Setting state here will trigger re-rendering."}),"\n",(0,d.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentDidMount"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"componentdidupdate",children:"componentDidUpdate()?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentDidUpdate"}),"(",(0,d.jsx)(n.code,{children:"prevProps"}),", ",(0,d.jsx)(n.code,{children:"prevState"}),", ",(0,d.jsx)(n.code,{children:"snapshot"}),"?): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1439"}),"\n",(0,d.jsx)(n.p,{children:"Called immediately after updating occurs. Not called for the initial render."}),"\n",(0,d.jsxs)(n.p,{children:["The snapshot is only present if ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ViewAdapter#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"})," is present and returns non-null."]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"prevprops",children:"prevProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"prevstate",children:"prevState"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"snapshot",children:"snapshot?"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentDidUpdate"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"componentwillmount",children:(0,d.jsx)(n.del,{children:"componentWillMount()?"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentWillMount"}),"(): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1455"}),"\n",(0,d.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,d.jsxs)(n.p,{children:["Note: the presence of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,d.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,d.jsxs)(n.p,{children:["16.3, use ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead; will stop working in React 17"]}),"\n",(0,d.jsx)(n.h4,{id:"see-3",children:"See"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentWillMount"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"componentwillreceiveprops",children:(0,d.jsx)(n.del,{children:"componentWillReceiveProps()?"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentWillReceiveProps"}),"(",(0,d.jsx)(n.code,{children:"nextProps"}),", ",(0,d.jsx)(n.code,{children:"nextContext"}),"): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1486"}),"\n",(0,d.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,d.jsxs)(n.p,{children:["Calling ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,d.jsxs)(n.p,{children:["Note: the presence of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"nextprops",children:"nextProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextcontext",children:"nextContext"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,d.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"}),"\n",(0,d.jsx)(n.h4,{id:"see-4",children:"See"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentWillReceiveProps"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"componentwillunmount",children:"componentWillUnmount()?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentWillUnmount"}),"(): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1392"}),"\n",(0,d.jsxs)(n.p,{children:["Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,d.jsx)(n.code,{children:"componentDidMount"}),"."]}),"\n",(0,d.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentWillUnmount"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"componentwillupdate",children:(0,d.jsx)(n.del,{children:"componentWillUpdate()?"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"componentWillUpdate"}),"(",(0,d.jsx)(n.code,{children:"nextProps"}),", ",(0,d.jsx)(n.code,{children:"nextState"}),", ",(0,d.jsx)(n.code,{children:"nextContext"}),"): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1518"}),"\n",(0,d.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,d.jsxs)(n.p,{children:["Note: You cannot call ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,d.jsxs)(n.p,{children:["Note: the presence of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"nextprops-1",children:"nextProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextstate",children:"nextState"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextcontext-1",children:"nextContext"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"deprecated-3",children:"Deprecated"}),"\n",(0,d.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"}),"\n",(0,d.jsx)(n.h4,{id:"see-5",children:"See"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.componentWillUpdate"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"forceupdate",children:"forceUpdate()"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"forceUpdate"}),"(",(0,d.jsx)(n.code,{children:"callback"}),"?): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1030"}),"\n",(0,d.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"callback",children:"callback?"}),"\n",(0,d.jsxs)(n.p,{children:["() => ",(0,d.jsx)(n.code,{children:"void"})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.forceUpdate"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"getcontextvalue",children:"getContextValue()"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"getContextValue"}),"(",(0,d.jsx)(n.code,{children:"props"}),", ",(0,d.jsx)(n.code,{children:"state"}),"): ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,d.jsx)(n.code,{children:"PageContextType"})})]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L89",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:89"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"props-3",children:"props"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})})}),"\n",(0,d.jsx)(n.h5,{id:"state-2",children:"state"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"State"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,d.jsx)(n.code,{children:"PageContextType"})})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate()?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"getSnapshotBeforeUpdate"}),"(",(0,d.jsx)(n.code,{children:"prevProps"}),", ",(0,d.jsx)(n.code,{children:"prevState"}),"): ",(0,d.jsx)(n.code,{children:"any"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1433"}),"\n",(0,d.jsxs)(n.p,{children:["Runs before React applies the result of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," to the document, and\nreturns an object to be given to ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ViewAdapter#componentdidupdate",children:"componentDidUpdate"}),". Useful for saving\nthings such as scroll position before ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," causes changes to it."]}),"\n",(0,d.jsx)(n.p,{children:"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."}),"\n",(0,d.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"prevprops-1",children:"prevProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"prevstate-1",children:"prevState"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n",(0,d.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.getSnapshotBeforeUpdate"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"render",children:"render()"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"render"}),"(): ",(0,d.jsx)(n.code,{children:"FunctionComponentElement"}),"<",(0,d.jsx)(n.code,{children:"ProviderProps"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,d.jsx)(n.code,{children:"PageContextType"})}),">> | ",(0,d.jsx)(n.code,{children:"CElement"}),"<",(0,d.jsx)(n.code,{children:"ErrorBoundaryProps"}),", ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary",children:(0,d.jsx)(n.code,{children:"ErrorBoundary"})}),">"]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L99",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:99"})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"FunctionComponentElement"}),"<",(0,d.jsx)(n.code,{children:"ProviderProps"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,d.jsx)(n.code,{children:"PageContextType"})}),">> | ",(0,d.jsx)(n.code,{children:"CElement"}),"<",(0,d.jsx)(n.code,{children:"ErrorBoundaryProps"}),", ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary",children:(0,d.jsx)(n.code,{children:"ErrorBoundary"})}),">"]}),"\n",(0,d.jsx)(n.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,d.jsx)(n.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.render"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"setstate",children:"setState()"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.strong,{children:"setState"}),"<",(0,d.jsx)(n.code,{children:"K"}),">(",(0,d.jsx)(n.code,{children:"state"}),", ",(0,d.jsx)(n.code,{children:"callback"}),"?): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1025"}),"\n",(0,d.jsx)(n.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,d.jsxs)(n.p,{children:["\u2022 ",(0,d.jsx)(n.strong,{children:"K"})," ",(0,d.jsx)(n.em,{children:"extends"})," ",(0,d.jsx)(n.code,{children:"string"})," | ",(0,d.jsx)(n.code,{children:"number"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"state-3",children:"state"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"null"})," | ",(0,d.jsx)(n.code,{children:"State"})," | (",(0,d.jsx)(n.code,{children:"prevState"}),", ",(0,d.jsx)(n.code,{children:"props"}),") => ",(0,d.jsx)(n.code,{children:"null"})," | ",(0,d.jsx)(n.code,{children:"State"})," | ",(0,d.jsx)(n.code,{children:"Pick"}),"<",(0,d.jsx)(n.code,{children:"State"}),", ",(0,d.jsx)(n.code,{children:"K"}),"> | ",(0,d.jsx)(n.code,{children:"Pick"}),"<",(0,d.jsx)(n.code,{children:"State"}),", ",(0,d.jsx)(n.code,{children:"K"}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"callback-1",children:"callback?"}),"\n",(0,d.jsxs)(n.p,{children:["() => ",(0,d.jsx)(n.code,{children:"void"})]}),"\n",(0,d.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.setState"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"shouldcomponentupdate",children:"shouldComponentUpdate()?"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"shouldComponentUpdate"}),"(",(0,d.jsx)(n.code,{children:"nextProps"}),", ",(0,d.jsx)(n.code,{children:"nextState"}),", ",(0,d.jsx)(n.code,{children:"nextContext"}),"): ",(0,d.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1387"}),"\n",(0,d.jsx)(n.p,{children:"Called to determine whether the change in props and state should trigger a re-render."}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Component"})," always returns true.\n",(0,d.jsx)(n.code,{children:"PureComponent"})," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."]}),"\n",(0,d.jsxs)(n.p,{children:["If false is returned, ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),", ",(0,d.jsx)(n.code,{children:"componentWillUpdate"}),"\nand ",(0,d.jsx)(n.code,{children:"componentDidUpdate"})," will not be called."]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"nextprops-2",children:"nextProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextstate-1",children:"nextState"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextcontext-2",children:"nextContext"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"boolean"})}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.shouldComponentUpdate"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"unsafe_componentwillmount",children:(0,d.jsx)(n.del,{children:"UNSAFE_componentWillMount()?"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"UNSAFE_componentWillMount"}),"(): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1470"}),"\n",(0,d.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,d.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,d.jsxs)(n.p,{children:["Note: the presence of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,d.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"deprecated-4",children:"Deprecated"}),"\n",(0,d.jsxs)(n.p,{children:["16.3, use ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead"]}),"\n",(0,d.jsx)(n.h4,{id:"see-6",children:"See"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.UNSAFE_componentWillMount"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"unsafe_componentwillreceiveprops",children:(0,d.jsx)(n.del,{children:"UNSAFE_componentWillReceiveProps()?"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"UNSAFE_componentWillReceiveProps"}),"(",(0,d.jsx)(n.code,{children:"nextProps"}),", ",(0,d.jsx)(n.code,{children:"nextContext"}),"): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1504"}),"\n",(0,d.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,d.jsxs)(n.p,{children:["Calling ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,d.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,d.jsxs)(n.p,{children:["Note: the presence of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"nextprops-3",children:"nextProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextcontext-3",children:"nextContext"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"deprecated-5",children:"Deprecated"}),"\n",(0,d.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"}),"\n",(0,d.jsx)(n.h4,{id:"see-7",children:"See"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.UNSAFE_componentWillReceiveProps"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"unsafe_componentwillupdate",children:(0,d.jsx)(n.del,{children:"UNSAFE_componentWillUpdate()?"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"optional"})," ",(0,d.jsx)(n.strong,{children:"UNSAFE_componentWillUpdate"}),"(",(0,d.jsx)(n.code,{children:"nextProps"}),", ",(0,d.jsx)(n.code,{children:"nextState"}),", ",(0,d.jsx)(n.code,{children:"nextContext"}),"): ",(0,d.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1534"}),"\n",(0,d.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,d.jsxs)(n.p,{children:["Note: You cannot call ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,d.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,d.jsxs)(n.p,{children:["Note: the presence of ",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"nextprops-4",children:"nextProps"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextstate-2",children:"nextState"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"Readonly"}),"<",(0,d.jsx)(n.code,{children:"State"}),">"]}),"\n",(0,d.jsx)(n.h5,{id:"nextcontext-4",children:"nextContext"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"any"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"void"})}),"\n",(0,d.jsx)(n.h4,{id:"deprecated-6",children:"Deprecated"}),"\n",(0,d.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead"}),"\n",(0,d.jsx)(n.h4,{id:"see-8",children:"See"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"Component.UNSAFE_componentWillUpdate"})}),"\n",(0,d.jsx)(n.hr,{}),"\n",(0,d.jsx)(n.h3,{id:"getderivedstatefromprops",children:"getDerivedStateFromProps()"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"static"})," ",(0,d.jsx)(n.strong,{children:"getDerivedStateFromProps"}),"(",(0,d.jsx)(n.code,{children:"props"}),", ",(0,d.jsx)(n.code,{children:"state"}),"): ",(0,d.jsx)(n.code,{children:"State"})]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["Defined in: ",(0,d.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L71",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:71"})]}),"\n",(0,d.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,d.jsx)(n.h5,{id:"props-4",children:"props"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,d.jsx)(n.code,{children:"ViewAdapterProps"})})}),"\n",(0,d.jsx)(n.h5,{id:"state-4",children:"state"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"State"})}),"\n",(0,d.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.code,{children:"State"})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>l});var t=r(3696);const d={},s=t.createContext(d);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e3f3c76.1bcecaa3.js b/assets/js/9e3f3c76.1bcecaa3.js deleted file mode 100644 index 6e0858373..000000000 --- a/assets/js/9e3f3c76.1bcecaa3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7675],{3377:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/final-polish-final-7fcff16ad2f0e9bbddcf55d5328d2229.png"},1391:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/final-polish-form-validation-4ddb6e4d8dc0402299cfb6500a98948e.png"},5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>h});var a=n(6540);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e,t){if(null==e)return{};var n,a,s=function(e,t){if(null==e)return{};var n,a,s={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}var p=a.createContext({}),l=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return a.createElement(p.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,s=e.mdxType,o=e.originalType,p=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),c=l(n),g=s,h=c["".concat(p,".").concat(g)]||c[g]||u[g]||o;return n?a.createElement(h,i(i({ref:t},d),{},{components:n})):a.createElement(h,i({ref:t},d))}));function h(e,t){var n=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=n.length,i=new Array(o);i[0]=g;var r={};for(var p in t)hasOwnProperty.call(t,p)&&(r[p]=t[p]);r.originalType=e,r[c]="string"==typeof e?e:s,i[1]=r;for(var l=2;l<o;l++)i[l]=n[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},6185:(e,t,n)=>{n.d(t,{A:()=>i});var a=n(6540),s=n(8017);const o={tabItem:"tabItem_Ymn6"};function i(e){let{children:t,hidden:n,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,s.A)(o.tabItem,i),hidden:n},t)}},1253:(e,t,n)=>{n.d(t,{A:()=>N});var a=n(8102),s=n(6540),o=n(8017),i=n(3104),r=n(9519),p=n(7485),l=n(1682),d=n(9466);function c(e){return function(e){return s.Children.map(e,(e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:s}}=e;return{value:t,label:n,attributes:a,default:s}}))}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??c(n);return function(e){const t=(0,l.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function g(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:n}=e;const a=(0,r.W6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,p.aZ)(o),(0,s.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(a.location.search);t.set(o,e),a.replace({...a.location,search:t.toString()})}),[o,a])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,o=u(e),[i,r]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!g({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:o}))),[p,l]=h({queryString:n,groupId:a}),[c,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,o]=(0,d.Dv)(n);return[a,(0,s.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:a}),y=(()=>{const e=p??c;return g({value:e,tabValues:o})?e:null})();(0,s.useLayoutEffect)((()=>{y&&r(y)}),[y]);return{selectedValue:i,selectValue:(0,s.useCallback)((e=>{if(!g({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);r(e),l(e),m(e)}),[l,m,o]),tabValues:o}}var y=n(2303);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function f(e){let{className:t,block:n,selectedValue:r,selectValue:p,tabValues:l}=e;const d=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),u=e=>{const t=e.currentTarget,n=d.indexOf(t),a=l[n].value;a!==r&&(c(t),p(a))},g=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const n=d.indexOf(e.currentTarget)+1;t=d[n]??d[0];break}case"ArrowLeft":{const n=d.indexOf(e.currentTarget)-1;t=d[n]??d[d.length-1];break}}t?.focus()};return s.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":n},t)},l.map((e=>{let{value:t,label:n,attributes:i}=e;return s.createElement("li",(0,a.A)({role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,key:t,ref:e=>d.push(e),onKeyDown:g,onClick:u},i,{className:(0,o.A)("tabs__item",v.tabItem,i?.className,{"tabs__item--active":r===t})}),n??t)})))}function b(e){let{lazy:t,children:n,selectedValue:a}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===a));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return s.createElement("div",{className:"margin-top--md"},o.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function w(e){const t=m(e);return s.createElement("div",{className:(0,o.A)("tabs-container",v.tabList)},s.createElement(f,(0,a.A)({},e,t)),s.createElement(b,(0,a.A)({},e,t)))}function N(e){const t=(0,y.A)();return s.createElement(w,(0,a.A)({key:String(t)},e))}},7292:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>p,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var a=n(8102),s=(n(6540),n(5680)),o=n(1253),i=n(6185);const r={title:"Final Polish",description:"Tutorial > Final Polish"},p=void 0,l={unversionedId:"tutorial/final-polish",id:"tutorial/final-polish",title:"Final Polish",description:"Tutorial > Final Polish",source:"@site/../docs/tutorial/final-polish.mdx",sourceDirName:"tutorial",slug:"/tutorial/final-polish",permalink:"/tutorial/final-polish",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/final-polish.mdx",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Final Polish",description:"Tutorial > Final Polish"},sidebar:"tutorial",previous:{title:"Writing Posts",permalink:"/tutorial/writing-posts"}},d={},c=[{value:"Improving user experience (UX)",id:"improving-user-experience-ux",level:2},{value:"Form validation",id:"form-validation",level:3},{value:"Optimistic posting",id:"optimistic-posting",level:3},{value:"Updating the service classes & home controller",id:"updating-the-service-classes--home-controller",level:4},{value:"Displaying pending posts",id:"displaying-pending-posts",level:4},{value:"Recap",id:"recap",level:4},{value:"Updating view components",id:"updating-view-components",level:3},{value:"Auto-refresh",id:"auto-refresh",level:2},{value:"REST API pooling",id:"rest-api-pooling",level:3},{value:"Random generators",id:"random-generators",level:3},{value:"Random name generator",id:"random-name-generator",level:4},{value:"Random post generator",id:"random-post-generator",level:4},{value:"Updating the <code>MockHttpAgent</code>",id:"updating-the-mockhttpagent",level:4},{value:"Handling race conditions",id:"handling-race-conditions",level:2},{value:"Pending posts race condition",id:"pending-posts-race-condition",level:3},{value:"Posts refresh race condition",id:"posts-refresh-race-condition",level:3},{value:"Updating the <code>PostResource</code>",id:"updating-the-postresource",level:4},{value:"Updating the <code>HomeController</code>",id:"updating-the-homecontroller",level:4},{value:"Animations",id:"animations",level:2},{value:"Retaining original post ID",id:"retaining-original-post-id",level:3},{value:"Animating new posts",id:"animating-new-posts",level:3},{value:"Conclusion",id:"conclusion",level:2}],u={toc:c},g="wrapper";function h(e){let{components:t,...r}=e;return(0,s.yg)(g,(0,a.A)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,s.yg)("p",null,"In the ",(0,s.yg)("a",{parentName:"p",href:"/tutorial/writing-posts"},"5th part of the tutorial")," we updated our application to be able to process\ninput from user, learned something about ways different components can communicate with each other in IMA.js application\nand updated our guestbook API."),(0,s.yg)("p",null,"In this last part of the tutorial we're going to polish few things up and\nfinally finish our guestbook application."),(0,s.yg)("h2",{id:"improving-user-experience-ux"},"Improving user experience (UX)"),(0,s.yg)("p",null,"We have a working application, but the UX (user experience) is kind-of lacking.\nWe will address this in this section."),(0,s.yg)("p",null,"Let's start by adding validation to the posting form."),(0,s.yg)("h3",{id:"form-validation"},"Form validation"),(0,s.yg)("p",null,"Start by extending our constructor in the posting form component (",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/postingForm/PostingForm.jsx"),")\nwith 2 new state keys:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"constructor(props, context) {\n super(props, context);\n ...\n this.state = {\n author: '',\n content: '',\n authorValid: true,\n contentValid: true\n };\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"type Post = {\n author: string;\n content: string;\n authorValid: boolean;\n contentValid: boolean;\n};\n\nexport function PostingForm() {\n const [post, setPost] = useState<Post>({\n author: '',\n content: '',\n authorValid: true,\n contentValid: true,\n });\n")))),(0,s.yg)("p",null,"Next we need to update our form elements to visually correspond to the validity of the input\nby updating their CSS classes. To achieve this we're going to use ",(0,s.yg)("inlineCode",{parentName:"p"},"is-invalid")," class which is\ntaken from the Bootstrap CSS library we're using and will apply red shadow to the input if it's invalid:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-jsx"},'<input\n id="postForm-name"\n className={this.cssClasses({\n \'form-control\': true,\n \'is-invalid\': !this.state.authorValid\n })}\n type="text"\n name="author"\n value={this.state.author}\n onChange={e => this._onChange(e)}\n placeholder="Your name"\n/>\n...\n<textarea\n id="postForm-content"\n className={this.cssClasses({\n \'form-control\': true,\n \'is-invalid\': !this.state.contentValid\n })}\n name="content"\n value={this.state.content}\n onChange={e => this._onChange(e)}\n placeholder="What would you like to tell us?"\n/>\n'))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-tsx"},"const cssClasses = useCssClasses();\n\nreturn(\n ...\n\n <input\n id='postForm-name'\n className={cssClasses({\n 'form-control': true,\n 'is-invalid': !post.authorValid,\n })}\n type='text'\n name='author'\n value={post.author}\n onChange={e => handleChange(e)}\n placeholder='Your name'\n />\n ...\n <textarea\n id='postForm-content'\n className={cssClasses({\n 'form-control': true,\n 'is-invalid': !post.contentValid,\n })}\n name='content'\n value={post.content}\n onChange={e => handleChange(e)}\n placeholder='What would you like to tell us?'\n />\n\n ...\n)\n")),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("strong",{parentName:"p"},"TypeScript: ")," As you definitely noticed, again we got access to the functionality from the ",(0,s.yg)("inlineCode",{parentName:"p"},"AbstractComponent"),"\nby using another IMA hook, this time ",(0,s.yg)("inlineCode",{parentName:"p"},"useCssClasses"),", that gives us direct access to the IMA CssClases.")))),(0,s.yg)("p",null,(0,s.yg)("strong",{parentName:"p"},"The expression in the ",(0,s.yg)("inlineCode",{parentName:"strong"},"className")," attribute will set the CSS class")," ",(0,s.yg)("inlineCode",{parentName:"p"},"is-invalid"),"\non the form element depending on the current state of the ",(0,s.yg)("inlineCode",{parentName:"p"},"authorValid")," or\n",(0,s.yg)("inlineCode",{parentName:"p"},"contentValid")," flag, while any changes made by the user will trigger the\nvalidation we'll add to our existing ",(0,s.yg)("inlineCode",{parentName:"p"},"_onChange")," method."),(0,s.yg)("p",null,"For the sake of this tutorial, we're simply going to check if the inputs are empty or not.\nBut in a serious application, you should probably implement more sophisticated validation method."),(0,s.yg)("p",null,"We're going to validate each input in the ",(0,s.yg)("inlineCode",{parentName:"p"},"_onChange")," handler while also checking the validation\nin the ",(0,s.yg)("inlineCode",{parentName:"p"},"_onSubmit")," method, to cover a case, where user doesn't change any input and submits the form\nimmediately. This would result in false validation, since the initial state for our validation keys is ",(0,s.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,s.yg)("p",null,"First we're going to implement our validation method, which checks if given input is valid and sets\nthe result of validation to corresponding state key while also returning the result of validation, which\nwe'll use later in ",(0,s.yg)("inlineCode",{parentName:"p"},"_onSubmit")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"_validate(inputName, value) {\n const validStateKey = `${inputName}Valid`;\n let isValid = !!value;\n\n if (this.state[validStateKey] !== isValid) {\n this.setState({\n [validStateKey]: isValid\n });\n }\n\n return isValid;\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"const validate = (inputName: string, value: string): boolean => {\n const validStateKey = `${inputName}Valid`;\n const isValid = !!value;\n\n if (post[validStateKey as keyof Post] !== isValid) {\n setPost({ ...post, [validStateKey]: isValid });\n }\n\n return isValid;\n};\n")))),(0,s.yg)("p",null,"Through the use of ",(0,s.yg)("strong",{parentName:"p"},"ES2015 dynamic properties"),", we're able to handle validation for\nboth inputs in one method."),(0,s.yg)("p",null,"Now that we have our validation method, we can hook it up to the ",(0,s.yg)("inlineCode",{parentName:"p"},"_onChange")," handler.\nThe updated handler with the validation will look like this:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"_onChange({ target: { name, value }}) {\n this._validate(name, value);\n this.setState({\n [name]: value\n });\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"const handleChange = (event: any): void => {\n validate(event.target.name as string, event.target.value as string);\n setPost({ ...post, [event.target.name]: event.target.value });\n};\n")))),(0,s.yg)("p",null,"Finally, we need to prevent the user from submitting the form if any of the\ninputs are invalid. To do that, update the ",(0,s.yg)("inlineCode",{parentName:"p"},"onSubmit(event)")," method's content:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"_onSubmit(event) {\n event.preventDefault();\n\n // Validate on submit to also cover the initial submission\n const { author, content } = this.state;\n if (\n !this._validate('author', author) ||\n !this._validate('content', content)\n ) {\n return;\n }\n\n this.fire(this.#containerRef.current, 'postSubmitted', {\n author: this.state.author,\n content: this.state.content\n });\n\n // Reset the state after submitting\n this.setState({\n author: '',\n content: ''\n });\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"const handleSubmit = (event: any): void => {\n event.preventDefault();\n\n // Validate on submit to also cover the initial submission\n const { author, content } = post;\n if (!validate('author', author) || !validate('content', content)) {\n return;\n }\n\n fire(containerRef.current as EventTarget, 'postSubmitted', post);\n\n // Reset the state after submitting\n setPost({ ...post, author: '', content: '' });\n};\n")))),(0,s.yg)("p",null,"With this, the form validation is complete. Feel free to check this in your own application\nand you should see red input fields if the inputs are empty, while the submit button should prevent\nyou from submitting an empty content."),(0,s.yg)("p",null,(0,s.yg)("img",{src:n(1391).A,width:"1200",height:"460"})),(0,s.yg)("p",null,"So now let's make the posting experience a little bit better."),(0,s.yg)("h3",{id:"optimistic-posting"},"Optimistic posting"),(0,s.yg)("p",null,"To better illustrate the issue we're addressing, open the HTTP agent mock\nclass (",(0,s.yg)("inlineCode",{parentName:"p"},"app/mock/MockHttpAgent.js"),") and set the ",(0,s.yg)("inlineCode",{parentName:"p"},"POST_DELAY")," to ",(0,s.yg)("inlineCode",{parentName:"p"},"4500"),". This\nwill introduce a 4.5 second delay before the submitted post is created in the\nguest book. The delay simulates a client connecting through a narrow bandwidth\nor using a mobile connection with a bad signal. Try adding a new post now and\nyou'll see how infuriating this can be."),(0,s.yg)("p",null,"We can improve the overall UX using a mechanism called optimistic posting. This\nmeans that we will display the user's post before the server confirms that it\nhas been saved. To further improve the UX, we will mark the post as pending in\nthe UI, so that the user will be aware that the post has not yet been saved."),(0,s.yg)("h4",{id:"updating-the-service-classes--home-controller"},"Updating the service classes & home controller"),(0,s.yg)("p",null,"We'll start by adding an extra field to our ",(0,s.yg)("strong",{parentName:"p"},"post entity"),"\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/model/post/PostEntity.js"),") by adding the following line to the\n",(0,s.yg)("strong",{parentName:"p"},"constructor"),":"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this.isSaved = data.isSaved;\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"import { PostData } from 'app/page/home/HomeController';\n\nexport class PostEntity {\n declare id: number | null;\n declare content: string;\n declare author: string;\n declare isSaved: boolean;\n\n constructor(data: PostData) {\n this.id = data.id;\n this.content = data.content;\n this.author = data.content;\n this.isSaved = data.isSaved;\n }\n}\n")),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("strong",{parentName:"p"},"TypeScript:")," In Typescript also change the ",(0,s.yg)("inlineCode",{parentName:"p"},"PostData")," type in ",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController")," to:")),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"export type PostData = {\n id: number | null;\n content: string;\n author: string;\n isSaved: boolean;\n};\n")))),(0,s.yg)("p",null,"We will use the ",(0,s.yg)("inlineCode",{parentName:"p"},"isSaved")," flag to determine whether the post has been saved at\nthe server or not."),(0,s.yg)("p",null,"Next we need to update the ",(0,s.yg)("inlineCode",{parentName:"p"},"getEntityList()")," method in the ",(0,s.yg)("strong",{parentName:"p"},"post resource")," class\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/model/post/PostResource.js"),"):"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then(response => {\n response.body.forEach(post => (post.isSaved = true));\n return response.body;\n })\n .then(postsData => this._factory.createList(postsData));\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"getEntityList(): Promise<PostEntity[]> {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then((response: PostApiGetResponse) => {\n response.body.forEach(post => (post.isSaved = true));\n return response.body;\n })\n .then((postsData: PostData[]) => this._factory.createList(postsData));\n}\n")))),(0,s.yg)("p",null,"This modification sets the ",(0,s.yg)("inlineCode",{parentName:"p"},"isSaved")," flag on posts retrieved from the server,\nmarking them as saved."),(0,s.yg)("p",null,"Next we need to update our ",(0,s.yg)("strong",{parentName:"p"},"home page controller"),"\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),") by modifying the body of the ",(0,s.yg)("inlineCode",{parentName:"p"},"load()"),"\nmethod to the following snippet:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"return {\n posts: this._postService.getPosts(),\n pendingPosts: []\n};\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"export type HomeControllerState = {\n posts: PostData[];\n pendingPosts: PostData[];\n};\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n ...\n\n load(): HomeControllerState {\n return {\n posts: this._postService.getPosts(),\n pendingPosts: [],\n };\n }\n}\n")),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("strong",{parentName:"p"},"TypeScript:")," Do not forget to update the ",(0,s.yg)("inlineCode",{parentName:"p"},"HomeControllerState")," type.")))),(0,s.yg)("p",null,"We added the ",(0,s.yg)("inlineCode",{parentName:"p"},"pendingPosts")," field to our state, which we'll use to keep track\nof the posts that are being submitted to the server. We'll need the ",(0,s.yg)("strong",{parentName:"p"},"post\nfactory")," in ",(0,s.yg)("strong",{parentName:"p"},"our home controller")," to create the entities representing the pending\nposts, so let's modify controller's the constructor by adding a new parameter\nand a field for the post factory:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"constructor(postService, postFactory) {\n super();\n\n this._postService = postService;\n this._postFactory = postFactory;\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"constructor(postService: PostService, postFactory: PostFactory) {\n super();\n\n this._postService = postService;\n this._postFactory = postFactory;\n}\n")))),(0,s.yg)("p",null,"And, of course, we need to update the ",(0,s.yg)("inlineCode",{parentName:"p"},"$dependencies")," list so OC can inject\nPostFactory instance to our constructor as a second argument. so modify the dependencies of the ",(0,s.yg)("strong",{parentName:"p"},"home\npage controller")," (",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),") to the following:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostFactory from 'app/model/post/PostFactory';\n...\nstatic get $dependencies() {\n return [PostService, PostFactory];\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"import { PostFactory } from 'app/model/post/PostFactory';\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n static $dependencies: Dependencies = [PostService, PostFactory];\n\n ...\n}\n")))),(0,s.yg)("h4",{id:"displaying-pending-posts"},"Displaying pending posts"),(0,s.yg)("p",null,'Now we need to display both the pending posts and saved posts. To do that,\nwe need to "patch" our controller\'s state to in the ',(0,s.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()")," event\nlistener after submitting the new post to update our UI:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"let pendingPost = this._postFactory.createEntity(\n Object.assign(\n {\n id: null,\n isSaved: false\n },\n eventData\n )\n);\n\nlet state = this.getState();\nlet pendingPosts = state.pendingPosts.slice();\npendingPosts.unshift(pendingPost);\n\nthis.setState({\n pendingPosts\n});\n\nthis._postService\n .createPost(eventData)\n .then(savedPost => {\n // update the state in place\n pendingPost.isSaved = true;\n pendingPost.id = savedPost.id;\n\n // update the UI\n let state = this.getState();\n this.setState({\n pendingPosts: state.pendingPosts\n });\n\n return this._postService.getPosts();\n })\n .then(posts => {\n let state = this.getState();\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n });\n });\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"onPostSubmitted(eventData: PostData) {\n let pendingPost: PostData = this._postFactory.createEntity(\n Object.assign(\n {\n id: null,\n isSaved: false,\n },\n eventData\n )\n );\n\n const state = this.getState();\n const pendingPosts = state.pendingPosts.slice();\n pendingPosts.unshift(pendingPost);\n\n this.setState({\n pendingPosts,\n });\n\n this._postService\n .createPost(eventData)\n .then((savedPost: PostData) => {\n // update the state in place\n pendingPost.isSaved = true;\n pendingPost.id = savedPost.id;\n\n // update the UI\n const state = this.getState();\n this.setState({\n pendingPosts: state.pendingPosts,\n });\n\n return this._postService.getPosts();\n })\n .then((posts: PostData[]) => {\n const state = this.getState();\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n });\n}\n")))),(0,s.yg)("p",null,"Woa, that's a lot of code! Don't worry, we'll break it down."),(0,s.yg)("h4",{id:"recap"},"Recap"),(0,s.yg)("p",null,"First we create a new post entity from our form data augmented with the ",(0,s.yg)("inlineCode",{parentName:"p"},"id"),"\nand ",(0,s.yg)("inlineCode",{parentName:"p"},"isSaved")," fields to represent our pending post. Next we fetch the current\nstate and patch the ",(0,s.yg)("inlineCode",{parentName:"p"},"pendingPosts")," field to our state by prepending the pending\npost (we want our newest post to be displayed at the top of the list)."),(0,s.yg)("p",null,"Next we ask the post service to create the post and when the post is created,\nwe mark the pending post as saved, set its ID, patch the ",(0,s.yg)("inlineCode",{parentName:"p"},"pendingPosts")," field\nin the state and refresh the posts list from the server."),(0,s.yg)("p",null,"Once the updated list of posts is retrieved from the server, we remove the\npending post from the ",(0,s.yg)("inlineCode",{parentName:"p"},"pendingPosts")," array (since it is saved at the server\nnow, it is among the posts fetched from the server) and update the state."),(0,s.yg)("h3",{id:"updating-view-components"},"Updating view components"),(0,s.yg)("p",null,"Now that our state contains both the pending and saved posts, we can move to\nthe view. Open the controller's view (",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.jsx"),") and update\nthe ",(0,s.yg)("inlineCode",{parentName:"p"},"_renderPosts()")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-jsx"},"let allPosts = this.props.pendingPosts.concat(this.props.posts);\n\nreturn allPosts.map(post => {\n return (\n <Post\n key={post.id}\n content={post.content}\n author={post.author}\n isSaved={post.isSaved}\n />\n );\n});\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-tsx"},"const allPosts = pendingPosts.concat(posts);\n\nreturn allPosts.map((post: PostData) => (\n <Post\n key={post.id}\n content={post.content}\n author={post.author}\n isSaved={post.isSaved}\n />\n));\n")))),(0,s.yg)("p",null,"We concatenate the pending posts and saved posts into a single ",(0,s.yg)("inlineCode",{parentName:"p"},"allPosts"),"\narray and then render it using our ",(0,s.yg)("inlineCode",{parentName:"p"},"Post")," component. Notice that we added the\n",(0,s.yg)("inlineCode",{parentName:"p"},"isSaved")," attribute - we'll use that in a moment."),(0,s.yg)("p",null,"So let's turn our attention to the post component\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/post/Post.jsx"),"). Update the ",(0,s.yg)("inlineCode",{parentName:"p"},"render()")," method to the following\nsnippet:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-jsx"},"const { content, author, isSaved } = this.props;\n\nreturn (\n <div\n className={this.cssClasses({\n post: true,\n card: true,\n 'card-default': true,\n 'post-pending': !isSaved\n })}>\n <div className=\"card-body\">{content}</div>\n <div className=\"post-author card-footer\">{author}</div>\n </div>\n);\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-tsx"},"import './post.less';\nimport { useCssClasses } from '@ima/react-page-renderer';\n\ntype PostProps = {\n content: string;\n author: string;\n isSaved: boolean;\n};\n\nexport function Post({ content, author, isSaved }: PostProps) {\n const cssClasses = useCssClasses();\n\n return (\n <div\n className={cssClasses({\n post: true,\n card: true,\n 'card-default': true,\n 'post-pending': !isSaved,\n })}\n >\n <div className='card-body'>{content}</div>\n <div className='post-author card-footer'>{author}</div>\n </div>\n );\n}\n")))),(0,s.yg)("p",null,"Nothing really new here, we're just adding the ",(0,s.yg)("inlineCode",{parentName:"p"},"post-pending")," CSS class on our\npost's root element if the post is not saved yet."),(0,s.yg)("p",null,"Open the post's style file (",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/post/post.less"),") and add the\nfollowing content:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-scss"},".post-pending .card-body {\n background: #e9e9e9;\n}\n")),(0,s.yg)("p",null,(0,s.yg)("strong",{parentName:"p"},"Try adding new posts")," - you'll see them highlighted until they are saved.\nHowever, should you try to quickly add several posts, you may notice a weird\nbehavior - there is only a single pending post shown, the last one. This is\ncaused by the fact that all our pending posts have their IDs set to ",(0,s.yg)("inlineCode",{parentName:"p"},"null"),", so\nReact considers them to be the same post (",(0,s.yg)("a",{parentName:"p",href:"./fetching-data.md#using-postservices-in-homecontroller"},"remember how we use the post ID to identify the post in the DOM?"),")."),(0,s.yg)("p",null,"To fix that we introduce a new field to our home page controller\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),") in the constructor:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this._lastPendingPostId = 0;\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"this._lastPendingPostId = 0;\n")))),(0,s.yg)("p",null,"...and use it in the ",(0,s.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()")," method by replacing the\n",(0,s.yg)("inlineCode",{parentName:"p"},"let pendingPost = ...")," with the following:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"let pendingPost = this._postFactory.createEntity(\n Object.assign(\n {\n id: `pending-${this._lastPendingPostId++}`,\n isSaved: false\n },\n eventData\n )\n);\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-tsx"},"const pendingPost: PostData = this._postFactory.createEntity(\n Object.assign(\n {\n id: `pending-${this._lastPendingPostId++}`,\n isSaved: false,\n },\n eventData\n )\n);\n")))),(0,s.yg)("p",null,"This will ensure that all our pending posts will have unique IDs, which will be\nalso prefixed with ",(0,s.yg)("inlineCode",{parentName:"p"},"pending-")," to prevent possible collisions with the IDs\ngenerated by our backend."),(0,s.yg)("h2",{id:"auto-refresh"},"Auto-refresh"),(0,s.yg)("p",null,"Our guest book sure does look better, but we have to actually refresh the page\n(or write a new post) to see whether someone else did not post a new post. So\nlet's take care of that."),(0,s.yg)("p",null,"In our case we'll use ",(0,s.yg)("strong",{parentName:"p"},"polling of our REST API"),". You may want to use a\n",(0,s.yg)("a",{parentName:"p",href:"http://www.w3.org/TR/websockets/"},"WebSocket")," or\n",(0,s.yg)("a",{parentName:"p",href:"http://www.w3.org/TR/eventsource/"},"Server-sent events")," in a real-world\napplication to enable real-time updates. Using either of these technologies\nwould require us to write an actual backend for our application, which is\nbeyond the scope of this tutorial."),(0,s.yg)("h3",{id:"rest-api-pooling"},"REST API pooling"),(0,s.yg)("p",null,"So, to start, add a new field in the home page controller's\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),") constructor which will hold information\nabout an interval we'll use to pool our API:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this._refreshIntervalId = null;\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"declare _refreshIntervalId:\n | ReturnType<typeof setTimeout>\n | number\n | null\n | undefined;\n\nconstructor(postService: PostService, postFactory: PostFactory) {\n super();\n\n ...\n\n this._refreshIntervalId = null;\n}\n")))),(0,s.yg)("p",null,"Next add the following configuration constant below the ",(0,s.yg)("inlineCode",{parentName:"p"},"import ..."),"\ndeclaration at the beginning of the file:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"const REFRESH_DELAY = 2000; // milliseconds\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"const REFRESH_DELAY = 2000; // milliseconds\n")))),(0,s.yg)("p",null,"To initialize our refresh cycle, we'll use one of the ",(0,s.yg)("strong",{parentName:"p"},"lifecycle methods")," that\neach IMA.js Controller has, an ",(0,s.yg)("inlineCode",{parentName:"p"},"activate()")," method. To learn more about the\nlifecycle of Controller and it's methods,\n",(0,s.yg)("a",{parentName:"p",href:"/basic-features/controller-lifecycle"},"take a look at the documentation"),". In our case\nthe activate method will look like this:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"activate() {\n this._refreshIntervalId = setInterval(() => this._refresh(), REFRESH_DELAY);\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"activate(): void {\n this._refreshIntervalId = setInterval(() => this._refresh(), REFRESH_DELAY);\n}\n")))),(0,s.yg)("p",null,"To clear a pending refresh timeout, we'll use the ",(0,s.yg)("inlineCode",{parentName:"p"},"deactivate()")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"deactivate() {\n if (this._refreshIntervalId) {\n clearInterval(this._refreshIntervalId);\n }\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"deactivate(): void {\n if (this._refreshIntervalId) {\n clearInterval(this._refreshIntervalId);\n }\n}\n")))),(0,s.yg)("p",null,"And, finally, we can implement our ",(0,s.yg)("inlineCode",{parentName:"p"},"_refresh()")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"_refresh() {\n this._postService.getPosts().then(posts => {\n this.setState({ posts });\n });\n}\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"_refresh(): void {\n this._postService.getPosts().then((posts: PostData[]) => {\n this.setState({ posts });\n });\n}\n")))),(0,s.yg)("p",null,"You won't see it because our HTTP communication is only mocked, but the posts\nare now being refreshed every 2 seconds. But since we ",(0,s.yg)("strong",{parentName:"p"},"do")," want to see\nsomething happening, let's build a random post generator real quick."),(0,s.yg)("h3",{id:"random-generators"},"Random generators"),(0,s.yg)("p",null,"To build our random post generator we'll create several new files. Start by\ncreating the ",(0,s.yg)("inlineCode",{parentName:"p"},"app/mock/TextGenerator.js")," file with the following contents:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"const WORDS = [\n 'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing',\n 'elit', 'ut', 'aliquam', 'purus', 'amet', 'luctus', 'venenatis', 'lectus',\n 'magna', 'fringilla', 'urna', 'porttitor', 'rhoncus', 'non', 'enim',\n 'praesent', 'elementum', 'facilisis', 'leo', 'vel', 'est', 'ullamcorper',\n 'eget', 'nulla', 'facilisi', 'etiam', 'dignissim', 'diam', 'quis',\n 'lobortis', 'scelerisque', 'fermentum', 'dui', 'faucibus', 'in', 'ornare',\n 'quam', 'viverra', 'orci', 'sagittis', 'eu', 'volutpat', 'odio', 'mauris',\n 'massa', 'vitae', 'tortor', 'condimentum', 'lacinia', 'eros', 'donec', 'ac',\n 'tempor', 'dapibus', 'ultrices', 'iaculis', 'nunc', 'sed', 'augue', 'lacus',\n 'congue', 'eu', 'consequat', 'felis', 'et', 'pellentesque', 'commodo',\n 'egestas', 'phasellus', 'eleifend', 'pretium', 'vulputate', 'sapien', 'nec',\n 'aliquam', 'malesuada', 'bibendum', 'arcu', 'curabitur', 'velit', 'sodales',\n 'sem', 'integer', 'justo', 'vestibulum', 'risus', 'ultricies', 'tristique',\n 'aliquet', 'tortor', 'at', 'auctor', 'urna', 'id', 'cursus', 'metus', 'mi',\n 'posuere', 'sollicitudin', 'orci', 'a', 'semper', 'duis', 'tellus', 'mattis',\n 'nibh', 'proin', 'nisl', 'venenatis', 'a', 'habitant', 'morbi', 'senectus',\n 'netus', 'fames', 'turpis', 'tempus', 'pharetra', 'pharetra', 'mi',\n 'hendrerit', 'gravida', 'blandit', 'hac', 'habitasse', 'platea', 'dictumst',\n 'quisque', 'sagittis', 'consequat', 'nisi', 'suscipit', 'maecenas', 'cras',\n 'aenean', 'placerat', 'vestibulum', 'eros', 'tincidunt', 'erat', 'imperdiet',\n 'euismod', 'nisi', 'porta', 'mollis', 'leo', 'nisl', 'ipsum', 'nec',\n 'nullam', 'feugiat', 'fusce', 'suspendisse', 'potenti', 'vivamus', 'dictum',\n 'varius', 'sapien', 'molestie', 'ac', 'massa', 'accumsan', 'vitae', 'arcu',\n 'vel', 'dolor', 'enim', 'neque', 'convallis', 'neque', 'tempus', 'nam',\n 'pulvinar', 'laoreet', 'interdum', 'libero', 'est', 'tempor', 'elementum',\n 'nunc', 'risus', 'cum', 'sociis', 'natoque', 'penatibus', 'magnis', 'dis',\n 'parturient', 'montes', 'nascetur', 'ridiculus', 'mus', 'accumsan', 'lacus',\n 'volutpat', 'dui', 'ligula', 'libero', 'justo', 'diam', 'rhoncus', 'felis',\n 'et', 'mauris', 'ante', 'metus', 'commodo', 'velit', 'non', 'tellus',\n 'purus', 'rutrum', 'fermentum', 'pretium', 'elit', 'vehicula'\n];\n\nexport default class TextGenerator {\n static get $dependencies() {\n return [];\n }\n\n generateSentence(\n minWords = 3,\n maxWords = 12,\n minSubSentences = 1,\n maxSubSentences = 4\n ) {\n let subSentencesCount = this._random(minSubSentences, maxSubSentences);\n let subSentences = [];\n\n for (let i = 0; i < subSentencesCount; i++) {\n let wordCount = this._random(minWords, maxWords);\n let words = [];\n\n for (let j = 0; j < wordCount; j++) {\n words.push(WORDS[this._random(0, WORDS.length - 1)]);\n }\n\n subSentences.push(words.join(' '));\n }\n\n let rawSentence = subSentences.join(', ') + '.';\n return rawSentence.substring(0, 1).toUpperCase() + rawSentence.substring(1);\n }\n\n generateParagraph(minSentences = 1, maxSentences = 5) {\n let sentenceCount = this._random(minSentences, maxSentences);\n let sentences = [];\n\n for (let i = 0; i < sentenceCount; i++) {\n sentences.push(this.generateSentence());\n }\n\n return sentences.join(' ');\n }\n\n _random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n")),(0,s.yg)("p",null,"This is a very simple ",(0,s.yg)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/Lorem_ipsum"},"lorem ipsum"),"\ngenerator - generator of ",(0,s.yg)("strong",{parentName:"p"},"random text")," that is used as a filler that behaves like\nan ordinary text. For example when a webpage layout is being tested."),(0,s.yg)("h4",{id:"random-name-generator"},"Random name generator"),(0,s.yg)("p",null,"Next we need a ",(0,s.yg)("strong",{parentName:"p"},"name generator"),", so create the ",(0,s.yg)("inlineCode",{parentName:"p"},"app/mock/NameGenerator.js")," file\nwith the following content:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"const CHAINS = [\n 'ay', 'ho', 'ri', 'tus', 'ga', 'ni', 'of', 'me', 'ar', 'gorn', 'vas', 'si'\n];\n\nexport default class NameGenerator {\n static get $dependencies() {\n return [];\n }\n\n generateName() {\n let chainCount = this._random(2, 5);\n let parts = [];\n\n for (let i = 0; i < chainCount; i++) {\n parts.push(CHAINS[this._random(0, CHAINS.length - 1)]);\n }\n\n return parts.join('');\n }\n\n _random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n")),(0,s.yg)("p",null,"This script generates random names using short chains of letters the\nscript combines together."),(0,s.yg)("h4",{id:"random-post-generator"},"Random post generator"),(0,s.yg)("p",null,"To combine it all up and create the post generator which uses our previously created name and text generators,\nwhich we'll inject as dependencies, to create a post. create the ",(0,s.yg)("inlineCode",{parentName:"p"},"app/mock/PostGenerator.js")," file with the\nfollowing content:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"import TextGenerator from 'app/mock/TextGenerator';\nimport NameGenerator from 'app/mock/NameGenerator';\n\nexport default class PostGenerator {\n static get $dependencies() {\n return [TextGenerator, NameGenerator];\n }\n\n constructor(textGenerator, nameGenerator) {\n this._textGenerator = textGenerator;\n this._nameGenerator = nameGenerator;\n }\n\n generatePost() {\n return {\n author: this._nameGenerator.generateName(),\n content: this._textGenerator.generateParagraph()\n };\n }\n}\n")),(0,s.yg)("p",null,"This script uses our text and name generators to generate post data similar to\nthe data we obtain from our posting form."),(0,s.yg)("h4",{id:"updating-the-mockhttpagent"},"Updating the ",(0,s.yg)("inlineCode",{parentName:"h4"},"MockHttpAgent")),(0,s.yg)("p",null,"Now we just need to integrate the post generator with our mock Http to simulate\nother users writing new posts to our guestbook. Open our Http mock\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/mock/MockHttpAgent.js"),") and add the following constants after the ",(0,s.yg)("inlineCode",{parentName:"p"},"POST_DELAY"),"\nconstant:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"const AUTO_POST_DELAY_MIN = 1500; // milliseconds\nconst AUTO_POST_DELAY_MAX = 6500; // milliseconds\n")),(0,s.yg)("p",null,"Next we need to update the constructor along with it's ",(0,s.yg)("inlineCode",{parentName:"p"},"$dependencies"),":"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostGenerator from 'app/mock/PostGenerator';\n...\n\nstatic get $dependencies() {\n return [\n '$HttpAgentProxy',\n '$Cache',\n '$CookieStorage',\n '$Settings.$Http',\n '$Window',\n PostGenerator\n ];\n}\n\nconstructor(proxy, cache, cookie, config, window, postGenerator) {\n super(proxy, cache, cookie, config);\n\n this._postGenerator = postGenerator;\n\n this._posts = null;\n\n if (window.isClient()) {\n setTimeout(\n this._generateRandomPost.bind(this),\n this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)\n );\n }\n}\n")),(0,s.yg)("p",null,"Here we use the window utility provided by IMA.js ",(0,s.yg)("strong",{parentName:"p"},"to determine whether the code\nis being executed at the client or the server side"),", as we want our posts to be\ngenerated only at the client side."),(0,s.yg)("p",null,"Now we need to integrate our new post generator logic:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"_generateRandomPost() {\n this.post('', this._postGenerator.generatePost()).then(() => {\n setTimeout(\n this._generateRandomPost.bind(this),\n this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)\n );\n });\n}\n\n_random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n")),(0,s.yg)("p",null,"With our application logic ready, only thing that needs to be done now is\nto refresh your browser and you should see see a new post being added every few seconds\nwith a random delay. What a lively discussion!"),(0,s.yg)("h2",{id:"handling-race-conditions"},"Handling race conditions"),(0,s.yg)("p",null,"Looking back at the previous sub-chapter, we introduced a\n",(0,s.yg)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/Race_condition"},"race condition")," into our\napplication. We are currently fetching our posts both periodically and when a\nnew post is submitted. The problem is that there is no guarantee in which order\nthe server responses would arrive since the computer network may cause various\ndelays. This could lead to us showing the user a newer version of posts list,\nthen switching to an older version which may not contain the latest post, and\nthen switching to the new version with the next refresh. This problem could be\neven more obvious if we used real-time updates using WebSockets or Server-sent\nevents."),(0,s.yg)("p",null,"One way to handle this is not to fetch the posts after the user submits a new\npost, but this would reduce the UX in our implementation, so this is not the\nway we want to go."),(0,s.yg)("p",null,"Also, the fact that we display a post as saved before we reload the posts list\nmay result in the post being displayed at the wrong position in the posts list.\nSo let's start with this issue first."),(0,s.yg)("h3",{id:"pending-posts-race-condition"},"Pending posts race condition"),(0,s.yg)("p",null,"Open the home page controller (",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),") and update\nthe ",(0,s.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()")," method by replacing the\n",(0,s.yg)("inlineCode",{parentName:"p"},"this._postService.createPost(eventData)...")," expression with the following\ncode:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then(posts => {\n let state = this.getState();\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n });\n });\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"export type PostData = {\n id: number | null;\n content: string;\n author: string;\n isSaved: boolean;\n};\nexport type PostsApiData = {\n generated: number;\n posts: PostData[];\n};\nexport type HomeControllerState = {\n posts: PostsApiData;\n pendingPosts: PostData[];\n};\n\n...\n\n\nonPostSubmitted(eventData: PostData) {\n ...\n\n this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then((posts: PostsApiData) => {\n const state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n });\n}\n")),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("strong",{parentName:"p"},"TypeScript:")," As you can see, we have to completely refactor our types to match our input data.\nThis is how it might look like in an actual app.")))),(0,s.yg)("p",null,"What we did here is that we removed the logic that updated the state (and, as a\nresult, the UI) when the post is saved. Now the state (and UI) is updated only\nwhen we fetch the posts from the server (or the HTTP agent mock in our case)."),(0,s.yg)("p",null,"With this issue taken care of, let's resolve the posts refresh race condition."),(0,s.yg)("h3",{id:"posts-refresh-race-condition"},"Posts refresh race condition"),(0,s.yg)("p",null,"To fix our refresh race condition, we'll envelope the server responses and add a timestamp at which\nthe response has been generated. Open the ",(0,s.yg)("inlineCode",{parentName:"p"},"app/public/posts.json"),"\nfile and update its contents as follows:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-json"},'{\n "generated": 1420070400000,\n "posts": [\n {\n "id": 4,\n "content": "Never mistake motion for action.",\n "author": "Ernest Hemingway"\n },\n {\n "id": 3,\n "content": "Quality means doing it right when no one is looking.",\n "author": "Henry Ford"\n },\n {\n "id": 2,\n "content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",\n "author": "Aristotle"\n },\n {\n "id": 1,\n "content": "Reality is merely an illusion, albeit a very persistent one.",\n "author": "Albert Einstein"\n }\n ]\n}\n')),(0,s.yg)("p",null,"We wrapped the array posts into an object and added the ",(0,s.yg)("inlineCode",{parentName:"p"},"generated")," field set\nto the UNIX timestamp (with millisecond precision) of the moment the response\nwas generated by the server."),(0,s.yg)("p",null,"Now we need to update the ",(0,s.yg)("inlineCode",{parentName:"p"},"get()")," method of our ",(0,s.yg)("strong",{parentName:"p"},"Http mock"),"\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/mock/MockHttpAgent.js"),"):"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"if (!this._posts) {\n return super.get(url, data).then((response) => {\n this._posts = response.body.posts;\n\n return {\n body: {\n generated: Date.now(),\n posts: this._posts.map(post => Object.assign({}, post))\n }\n };\n });\n}\n\nreturn new Promise((resolve) => {\n setTimeout(() => {\n resolve({\n body: {\n generated: Date.now(),\n posts: this._posts.map(post => Object.assign({}, post))\n }\n });\n }, GET_DELAY);\n});\n")),(0,s.yg)("p",null,"These are just minor updates - we get the posts array from the ",(0,s.yg)("inlineCode",{parentName:"p"},"posts")," field in\nthe server response and generate an object with the ",(0,s.yg)("inlineCode",{parentName:"p"},"posts")," and ",(0,s.yg)("inlineCode",{parentName:"p"},"generated"),"\nfields as a response instead of just a plain array of data objects."),(0,s.yg)("h4",{id:"updating-the-postresource"},"Updating the ",(0,s.yg)("inlineCode",{parentName:"h4"},"PostResource")),(0,s.yg)("p",null,"Next update the ",(0,s.yg)("inlineCode",{parentName:"p"},"getEntityList()")," method of the post resource\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/model/post/PostResource.js"),"):"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then(response => {\n response.body.posts.forEach(post => (post.isSaved = true));\n\n let posts = this._factory.createList(response.body.posts);\n posts.generated = response.body.generated;\n\n return posts;\n });\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"type PostApiGetResponse = {\n body: PostsApiData;\n};\n\n...\n\ngetEntityList(): Promise<PostsApiData> {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then((response: PostApiGetResponse) => {\n response.body.posts.forEach((post: PostData) => (post.isSaved = true));\n const posts: PostsApiData = {\n posts: this._factory.createList(response.body.posts),\n generated: response.body.generated,\n };\n\n return posts;\n });\n}\n")))),(0,s.yg)("p",null,'What we do here is that we "unpack" the server response and set the ',(0,s.yg)("inlineCode",{parentName:"p"},"generated"),"\ntimestamp on the posts array directly (note that a custom entity representing\nthe posts list and the ",(0,s.yg)("inlineCode",{parentName:"p"},"generated")," timestamp would be better, but this will do\nfor the purpose of demonstration)."),(0,s.yg)("h4",{id:"updating-the-homecontroller"},"Updating the ",(0,s.yg)("inlineCode",{parentName:"h4"},"HomeController")),(0,s.yg)("p",null,"Finally, we just need to check in our home page controller\n",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js")," whether the posts list we just received is not\nstale. Update the ",(0,s.yg)("inlineCode",{parentName:"p"},"_refresh()")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this._postService.getPosts().then(posts => {\n let state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n this.setState({ posts });\n});\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"this._postService.getPosts().then((posts: PostsApiData) => {\n const state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n this.setState({ posts });\n});\n")))),(0,s.yg)("p",null,"...and update the body of the last ",(0,s.yg)("inlineCode",{parentName:"p"},"then")," callback in the ",(0,s.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()"),"\nmethod:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"let state = this.getState();\n\nif (posts.generated < state.posts.generated) {\n posts = state.posts;\n}\n\nthis.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n});\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},".then((posts: PostsApiData) => {\n const state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n});\n")),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("strong",{parentName:"p"},"TypeScript:")," Note that in TypeScript we have to also slightly adjust the rendering of the posts in ",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.tsx"))),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-tsx"},"const _renderPosts = () => {\n const allPosts = pendingPosts.concat(posts.posts);\n\n return allPosts.map((post: PostData) => (\n <Post\n key={post.id}\n content={post.content}\n author={post.author}\n isSaved={post.isSaved}\n />\n ));\n};\n")))),(0,s.yg)("p",null,"We added simple checks that ",(0,s.yg)("strong",{parentName:"p"},"compares")," the ",(0,s.yg)("inlineCode",{parentName:"p"},"generated")," timestamps of the received\nposts with our current posts, and ",(0,s.yg)("strong",{parentName:"p"},"discards")," the received posts if they are\nstale."),(0,s.yg)("h2",{id:"animations"},"Animations"),(0,s.yg)("p",null,"We can further improve the UX using animations. Modify the\n",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/post/post.less")," file by adding the following declaration at the\nend of the file:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-scss"},".post .card-body {\n transition: 0.3s background;\n}\n")),(0,s.yg)("p",null,"This adds a soft transition of the post's background color. Or does it? The\ntransition does not seem to work, because we change the ID (remember the ",(0,s.yg)("inlineCode",{parentName:"p"},"key"),"\nattribute we set to ",(0,s.yg)("inlineCode",{parentName:"p"},"post.id")," in ",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.jsx"),"?) of the post in\nthe DOM once we receive it from the server. Because of this the React\nconsiders it to be a different post and removes the old one while adding a new\none to the DOM instead of modifying the original post DOM, so no transition\ntakes place."),(0,s.yg)("h3",{id:"retaining-original-post-id"},"Retaining original post ID"),(0,s.yg)("p",null,"What we need is for the post to retain the ID we provided it with even after we\nreceive the response from the server. Fortunately, we can fix this easily in\nour home page controller (",(0,s.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js"),")."),(0,s.yg)("p",null,"Rename the ",(0,s.yg)("inlineCode",{parentName:"p"},"_lastPendingPostId")," field declared in the constructor to\n",(0,s.yg)("inlineCode",{parentName:"p"},"_lastLocalPostId")," as it better suits our new use. After that, create the\n",(0,s.yg)("inlineCode",{parentName:"p"},"_localPostIds")," in the constructor:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this._localPostIds = new Map();\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"this._localPostIds = new Map();\n")))),(0,s.yg)("p",null,"Next update the ",(0,s.yg)("inlineCode",{parentName:"p"},"onPostSubmitted()")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"let pendingPost = this._postFactory.createEntity(\n Object.assign(\n {\n id: `local-${++this._lastLocalPostId}`,\n isSaved: false\n },\n eventData\n )\n);\n\nlet state = this.getState();\nlet pendingPosts = state.pendingPosts.slice();\npendingPosts.unshift(pendingPost);\nthis.setState({\n pendingPosts\n});\n\nthis._postService\n .createPost(eventData)\n .then(createdPost => {\n this._localPostIds.set(createdPost.id, pendingPost.id);\n return this._postService.getPosts();\n })\n .then(posts => {\n let state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n });\n });\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"const pendingPost: PostData = this._postFactory.createEntity(\n Object.assign(\n {\n id: `local-${++this._lastLocalPostId}`,\n isSaved: false,\n },\n eventData\n )\n);\n\nconst state = this.getState();\nconst pendingPosts = state.pendingPosts.slice();\npendingPosts.unshift(pendingPost);\nthis.setState({\n pendingPosts,\n});\n\nthis._postService\n .createPost(eventData)\n .then((createdPost: PostData) => {\n this._localPostIds.set(createdPost.id, pendingPost.id);\n return this._postService.getPosts();\n })\n .then((posts: PostsApiData) => {\n const state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n posts.posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n });\n")))),(0,s.yg)("p",null,"Finally, update the ",(0,s.yg)("inlineCode",{parentName:"p"},"_refresh()")," method:"),(0,s.yg)(o.A,{mdxType:"Tabs"},(0,s.yg)(i.A,{value:"JavaScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-javascript"},"this._postService.getPosts().then(posts => {\n let state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({ posts });\n});\n"))),(0,s.yg)(i.A,{value:"TypeScript",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-typescript"},"this._postService.getPosts().then((posts: PostsApiData) => {\n const state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n posts.posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({ posts });\n});\n")))),(0,s.yg)("p",null,"The posts created by the user viewing the page will now maintain their IDs and\nsee a soft transition of the post's background once the post is saved at the\nbackend."),(0,s.yg)("h3",{id:"animating-new-posts"},"Animating new posts"),(0,s.yg)("p",null,"Let's add some animation to the newly added posts as well. Add the following\nsnippet of code to the end of the ",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/post/post.less")," file:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-scss"},".post {\n overflow: hidden;\n animation: new-post 0.3s;\n}\n\n@keyframes new-post {\n from {\n max-height: 0;\n opacity: 0;\n }\n\n to {\n max-height: 5em;\n opacity: 1;\n }\n}\n")),(0,s.yg)("p",null,"To put some final touches on the posts we'll add a ",(0,s.yg)("strong",{parentName:"p"},"progress indicator")," to the\npending posts. Add the following snippet to the post component's view\n(",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/post/Post.jsx"),") at the end of the\n",(0,s.yg)("inlineCode",{parentName:"p"},"<div className='post-author card-footer'>")," element's content:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-xml"},'<div className="spinner">\n <div className="bounce1" />\n <div className="bounce2" />\n <div className="bounce3" />\n</div>\n')),(0,s.yg)("p",null,"Then add the following declaration to the post component's\n",(0,s.yg)("inlineCode",{parentName:"p"},"app/component/post/post.less")," file to the ",(0,s.yg)("inlineCode",{parentName:"p"},".post-author")," rule:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-scss"},"position: relative;\n")),(0,s.yg)("p",null,"After that add the following snippet into the ",(0,s.yg)("inlineCode",{parentName:"p"},".post-author")," rule (code snippet\nobtained from ",(0,s.yg)("a",{parentName:"p",href:"https://tobiasahlin.com/spinkit/"},"https://tobiasahlin.com/spinkit/")," and subsequently modified):"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-scss"},".spinner {\n position: absolute;\n top: 1em;\n width: 70px;\n text-align: center;\n opacity: 0;\n transition: 0.3s opacity;\n\n & > div {\n width: 16px;\n height: 16px;\n background-color: #333;\n margin-right: 4px;\n\n border-radius: 100%;\n display: inline-block;\n animation: bouncedelay 1.4s infinite ease-in-out;\n animation-fill-mode: both;\n }\n\n .bounce1 {\n animation-delay: -0.32s;\n }\n\n .bounce2 {\n animation-delay: -0.16s;\n }\n\n @keyframes bouncedelay {\n 0%, 80%, 100% {\n transform: scale(0.0);\n }\n 40% {\n transform: scale(1.0);\n }\n }\n}\n")),(0,s.yg)("p",null,"And finally add the following snippet at the end of the file:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-scss"},".post-pending .post-author .spinner {\n opacity: 1;\n}\n")),(0,s.yg)("p",null,(0,s.yg)("strong",{parentName:"p"},"Try writing new posts!")," The pending posts will have a progress indicator in the\nlower left corner. If you followed the tutorial from start,\nthe final application should look something like the picture below."),(0,s.yg)("p",null,(0,s.yg)("img",{src:n(3377).A,width:"2402",height:"2602"})),(0,s.yg)("h2",{id:"conclusion"},"Conclusion"),(0,s.yg)("p",null,"If all went well, you are currently in front of a finished application. I hope\nyou liked the journey and are happy with what you've learned here."),(0,s.yg)("p",null,"From now I suggest to take a look at our ",(0,s.yg)("a",{parentName:"p",href:"/introduction/getting-started"},"documentation")," which goes into greater\ndetail in describing each component of IMA.js development stack or take a direct look at the ",(0,s.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Bootstrap"},"API"),"."),(0,s.yg)("p",null,"If you see any improvements that could be made to this tutorial, or have found\nany mistakes, please let us know by ",(0,s.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/issues"},"creating issue")," in our IMA.js monorepo,\nor even better, ",(0,s.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/pulls"},"creating PR"),"."),(0,s.yg)("p",null,"I bid you farewell!"))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9e3f3c76.6c337216.js b/assets/js/9e3f3c76.6c337216.js new file mode 100644 index 000000000..6b481025b --- /dev/null +++ b/assets/js/9e3f3c76.6c337216.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7675],{643:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"tutorial/final-polish","title":"Final Polish","description":"Tutorial > Final Polish","source":"@site/../docs/tutorial/final-polish.mdx","sourceDirName":"tutorial","slug":"/tutorial/final-polish","permalink":"/tutorial/final-polish","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/final-polish.mdx","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Final Polish","description":"Tutorial > Final Polish"},"sidebar":"tutorial","previous":{"title":"Writing Posts","permalink":"/tutorial/writing-posts"}}');var o=n(2540),a=n(3023),i=n(3776),r=n(6052);const l={title:"Final Polish",description:"Tutorial > Final Polish"},c=void 0,d={},h=[{value:"Improving user experience (UX)",id:"improving-user-experience-ux",level:2},{value:"Form validation",id:"form-validation",level:3},{value:"Optimistic posting",id:"optimistic-posting",level:3},{value:"Updating the service classes & home controller",id:"updating-the-service-classes--home-controller",level:4},{value:"Displaying pending posts",id:"displaying-pending-posts",level:4},{value:"Recap",id:"recap",level:4},{value:"Updating view components",id:"updating-view-components",level:3},{value:"Auto-refresh",id:"auto-refresh",level:2},{value:"REST API pooling",id:"rest-api-pooling",level:3},{value:"Random generators",id:"random-generators",level:3},{value:"Random name generator",id:"random-name-generator",level:4},{value:"Random post generator",id:"random-post-generator",level:4},{value:"Updating the <code>MockHttpAgent</code>",id:"updating-the-mockhttpagent",level:4},{value:"Handling race conditions",id:"handling-race-conditions",level:2},{value:"Pending posts race condition",id:"pending-posts-race-condition",level:3},{value:"Posts refresh race condition",id:"posts-refresh-race-condition",level:3},{value:"Updating the <code>PostResource</code>",id:"updating-the-postresource",level:4},{value:"Updating the <code>HomeController</code>",id:"updating-the-homecontroller",level:4},{value:"Animations",id:"animations",level:2},{value:"Retaining original post ID",id:"retaining-original-post-id",level:3},{value:"Animating new posts",id:"animating-new-posts",level:3},{value:"Conclusion",id:"conclusion",level:2}];function p(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["In the ",(0,o.jsx)(t.a,{href:"/tutorial/writing-posts",children:"5th part of the tutorial"})," we updated our application to be able to process\ninput from user, learned something about ways different components can communicate with each other in IMA.js application\nand updated our guestbook API."]}),"\n",(0,o.jsx)(t.p,{children:"In this last part of the tutorial we're going to polish few things up and\nfinally finish our guestbook application."}),"\n",(0,o.jsx)(t.h2,{id:"improving-user-experience-ux",children:"Improving user experience (UX)"}),"\n",(0,o.jsx)(t.p,{children:"We have a working application, but the UX (user experience) is kind-of lacking.\nWe will address this in this section."}),"\n",(0,o.jsx)(t.p,{children:"Let's start by adding validation to the posting form."}),"\n",(0,o.jsx)(t.h3,{id:"form-validation",children:"Form validation"}),"\n",(0,o.jsxs)(t.p,{children:["Start by extending our constructor in the posting form component (",(0,o.jsx)(t.code,{children:"app/component/postingForm/PostingForm.jsx"}),")\nwith 2 new state keys:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"constructor(props, context) {\n super(props, context);\n ...\n this.state = {\n author: '',\n content: '',\n authorValid: true,\n contentValid: true\n };\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"type Post = {\n author: string;\n content: string;\n authorValid: boolean;\n contentValid: boolean;\n};\n\nexport function PostingForm() {\n const [post, setPost] = useState<Post>({\n author: '',\n content: '',\n authorValid: true,\n contentValid: true,\n });\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Next we need to update our form elements to visually correspond to the validity of the input\nby updating their CSS classes. To achieve this we're going to use ",(0,o.jsx)(t.code,{children:"is-invalid"})," class which is\ntaken from the Bootstrap CSS library we're using and will apply red shadow to the input if it's invalid:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-jsx",children:'<input\n id="postForm-name"\n className={this.cssClasses({\n \'form-control\': true,\n \'is-invalid\': !this.state.authorValid\n })}\n type="text"\n name="author"\n value={this.state.author}\n onChange={e => this._onChange(e)}\n placeholder="Your name"\n/>\n...\n<textarea\n id="postForm-content"\n className={this.cssClasses({\n \'form-control\': true,\n \'is-invalid\': !this.state.contentValid\n })}\n name="content"\n value={this.state.content}\n onChange={e => this._onChange(e)}\n placeholder="What would you like to tell us?"\n/>\n'})})}),(0,o.jsxs)(r.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"const cssClasses = useCssClasses();\n\nreturn(\n ...\n\n <input\n id='postForm-name'\n className={cssClasses({\n 'form-control': true,\n 'is-invalid': !post.authorValid,\n })}\n type='text'\n name='author'\n value={post.author}\n onChange={e => handleChange(e)}\n placeholder='Your name'\n />\n ...\n <textarea\n id='postForm-content'\n className={cssClasses({\n 'form-control': true,\n 'is-invalid': !post.contentValid,\n })}\n name='content'\n value={post.content}\n onChange={e => handleChange(e)}\n placeholder='What would you like to tell us?'\n />\n\n ...\n)\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:["**TypeScript: ** As you definitely noticed, again we got access to the functionality from the ",(0,o.jsx)(t.code,{children:"AbstractComponent"}),"\nby using another IMA hook, this time ",(0,o.jsx)(t.code,{children:"useCssClasses"}),", that gives us direct access to the IMA CssClases."]}),"\n"]})]})]}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsxs)(t.strong,{children:["The expression in the ",(0,o.jsx)(t.code,{children:"className"})," attribute will set the CSS class"]})," ",(0,o.jsx)(t.code,{children:"is-invalid"}),"\non the form element depending on the current state of the ",(0,o.jsx)(t.code,{children:"authorValid"})," or\n",(0,o.jsx)(t.code,{children:"contentValid"})," flag, while any changes made by the user will trigger the\nvalidation we'll add to our existing ",(0,o.jsx)(t.code,{children:"_onChange"})," method."]}),"\n",(0,o.jsx)(t.p,{children:"For the sake of this tutorial, we're simply going to check if the inputs are empty or not.\nBut in a serious application, you should probably implement more sophisticated validation method."}),"\n",(0,o.jsxs)(t.p,{children:["We're going to validate each input in the ",(0,o.jsx)(t.code,{children:"_onChange"})," handler while also checking the validation\nin the ",(0,o.jsx)(t.code,{children:"_onSubmit"})," method, to cover a case, where user doesn't change any input and submits the form\nimmediately. This would result in false validation, since the initial state for our validation keys is ",(0,o.jsx)(t.code,{children:"true"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["First we're going to implement our validation method, which checks if given input is valid and sets\nthe result of validation to corresponding state key while also returning the result of validation, which\nwe'll use later in ",(0,o.jsx)(t.code,{children:"_onSubmit"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_validate(inputName, value) {\n const validStateKey = `${inputName}Valid`;\n let isValid = !!value;\n\n if (this.state[validStateKey] !== isValid) {\n this.setState({\n [validStateKey]: isValid\n });\n }\n\n return isValid;\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"const validate = (inputName: string, value: string): boolean => {\n const validStateKey = `${inputName}Valid`;\n const isValid = !!value;\n\n if (post[validStateKey as keyof Post] !== isValid) {\n setPost({ ...post, [validStateKey]: isValid });\n }\n\n return isValid;\n};\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Through the use of ",(0,o.jsx)(t.strong,{children:"ES2015 dynamic properties"}),", we're able to handle validation for\nboth inputs in one method."]}),"\n",(0,o.jsxs)(t.p,{children:["Now that we have our validation method, we can hook it up to the ",(0,o.jsx)(t.code,{children:"_onChange"})," handler.\nThe updated handler with the validation will look like this:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_onChange({ target: { name, value }}) {\n this._validate(name, value);\n this.setState({\n [name]: value\n });\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"const handleChange = (event: any): void => {\n validate(event.target.name as string, event.target.value as string);\n setPost({ ...post, [event.target.name]: event.target.value });\n};\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Finally, we need to prevent the user from submitting the form if any of the\ninputs are invalid. To do that, update the ",(0,o.jsx)(t.code,{children:"onSubmit(event)"})," method's content:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_onSubmit(event) {\n event.preventDefault();\n\n // Validate on submit to also cover the initial submission\n const { author, content } = this.state;\n if (\n !this._validate('author', author) ||\n !this._validate('content', content)\n ) {\n return;\n }\n\n this.fire(this.#containerRef.current, 'postSubmitted', {\n author: this.state.author,\n content: this.state.content\n });\n\n // Reset the state after submitting\n this.setState({\n author: '',\n content: ''\n });\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"const handleSubmit = (event: any): void => {\n event.preventDefault();\n\n // Validate on submit to also cover the initial submission\n const { author, content } = post;\n if (!validate('author', author) || !validate('content', content)) {\n return;\n }\n\n fire(containerRef.current as EventTarget, 'postSubmitted', post);\n\n // Reset the state after submitting\n setPost({ ...post, author: '', content: '' });\n};\n"})})})]}),"\n",(0,o.jsx)(t.p,{children:"With this, the form validation is complete. Feel free to check this in your own application\nand you should see red input fields if the inputs are empty, while the submit button should prevent\nyou from submitting an empty content."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(1391).A+"",width:"1200",height:"460"})}),"\n",(0,o.jsx)(t.p,{children:"So now let's make the posting experience a little bit better."}),"\n",(0,o.jsx)(t.h3,{id:"optimistic-posting",children:"Optimistic posting"}),"\n",(0,o.jsxs)(t.p,{children:["To better illustrate the issue we're addressing, open the HTTP agent mock\nclass (",(0,o.jsx)(t.code,{children:"app/mock/MockHttpAgent.js"}),") and set the ",(0,o.jsx)(t.code,{children:"POST_DELAY"})," to ",(0,o.jsx)(t.code,{children:"4500"}),". This\nwill introduce a 4.5 second delay before the submitted post is created in the\nguest book. The delay simulates a client connecting through a narrow bandwidth\nor using a mobile connection with a bad signal. Try adding a new post now and\nyou'll see how infuriating this can be."]}),"\n",(0,o.jsx)(t.p,{children:"We can improve the overall UX using a mechanism called optimistic posting. This\nmeans that we will display the user's post before the server confirms that it\nhas been saved. To further improve the UX, we will mark the post as pending in\nthe UI, so that the user will be aware that the post has not yet been saved."}),"\n",(0,o.jsx)(t.h4,{id:"updating-the-service-classes--home-controller",children:"Updating the service classes & home controller"}),"\n",(0,o.jsxs)(t.p,{children:["We'll start by adding an extra field to our ",(0,o.jsx)(t.strong,{children:"post entity"}),"\n(",(0,o.jsx)(t.code,{children:"app/model/post/PostEntity.js"}),") by adding the following line to the\n",(0,o.jsx)(t.strong,{children:"constructor"}),":"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this.isSaved = data.isSaved;\n"})})}),(0,o.jsxs)(r.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"import { PostData } from 'app/page/home/HomeController';\n\nexport class PostEntity {\n declare id: number | null;\n declare content: string;\n declare author: string;\n declare isSaved: boolean;\n\n constructor(data: PostData) {\n this.id = data.id;\n this.content = data.content;\n this.author = data.content;\n this.isSaved = data.isSaved;\n }\n}\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"TypeScript:"})," In Typescript also change the ",(0,o.jsx)(t.code,{children:"PostData"})," type in ",(0,o.jsx)(t.code,{children:"app/page/home/HomeController"})," to:"]}),"\n"]}),(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"export type PostData = {\n id: number | null;\n content: string;\n author: string;\n isSaved: boolean;\n};\n"})})]})]}),"\n",(0,o.jsxs)(t.p,{children:["We will use the ",(0,o.jsx)(t.code,{children:"isSaved"})," flag to determine whether the post has been saved at\nthe server or not."]}),"\n",(0,o.jsxs)(t.p,{children:["Next we need to update the ",(0,o.jsx)(t.code,{children:"getEntityList()"})," method in the ",(0,o.jsx)(t.strong,{children:"post resource"})," class\n(",(0,o.jsx)(t.code,{children:"app/model/post/PostResource.js"}),"):"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then(response => {\n response.body.forEach(post => (post.isSaved = true));\n return response.body;\n })\n .then(postsData => this._factory.createList(postsData));\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"getEntityList(): Promise<PostEntity[]> {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then((response: PostApiGetResponse) => {\n response.body.forEach(post => (post.isSaved = true));\n return response.body;\n })\n .then((postsData: PostData[]) => this._factory.createList(postsData));\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["This modification sets the ",(0,o.jsx)(t.code,{children:"isSaved"})," flag on posts retrieved from the server,\nmarking them as saved."]}),"\n",(0,o.jsxs)(t.p,{children:["Next we need to update our ",(0,o.jsx)(t.strong,{children:"home page controller"}),"\n(",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),") by modifying the body of the ",(0,o.jsx)(t.code,{children:"load()"}),"\nmethod to the following snippet:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"return {\n posts: this._postService.getPosts(),\n pendingPosts: []\n};\n"})})}),(0,o.jsxs)(r.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"export type HomeControllerState = {\n posts: PostData[];\n pendingPosts: PostData[];\n};\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n ...\n\n load(): HomeControllerState {\n return {\n posts: this._postService.getPosts(),\n pendingPosts: [],\n };\n }\n}\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"TypeScript:"})," Do not forget to update the ",(0,o.jsx)(t.code,{children:"HomeControllerState"})," type."]}),"\n"]})]})]}),"\n",(0,o.jsxs)(t.p,{children:["We added the ",(0,o.jsx)(t.code,{children:"pendingPosts"})," field to our state, which we'll use to keep track\nof the posts that are being submitted to the server. We'll need the ",(0,o.jsx)(t.strong,{children:"post\nfactory"})," in ",(0,o.jsx)(t.strong,{children:"our home controller"})," to create the entities representing the pending\nposts, so let's modify controller's the constructor by adding a new parameter\nand a field for the post factory:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"constructor(postService, postFactory) {\n super();\n\n this._postService = postService;\n this._postFactory = postFactory;\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"constructor(postService: PostService, postFactory: PostFactory) {\n super();\n\n this._postService = postService;\n this._postFactory = postFactory;\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["And, of course, we need to update the ",(0,o.jsx)(t.code,{children:"$dependencies"})," list so OC can inject\nPostFactory instance to our constructor as a second argument. so modify the dependencies of the ",(0,o.jsx)(t.strong,{children:"home\npage controller"})," (",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),") to the following:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"import PostFactory from 'app/model/post/PostFactory';\n...\nstatic get $dependencies() {\n return [PostService, PostFactory];\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"import { PostFactory } from 'app/model/post/PostFactory';\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n static $dependencies: Dependencies = [PostService, PostFactory];\n\n ...\n}\n"})})})]}),"\n",(0,o.jsx)(t.h4,{id:"displaying-pending-posts",children:"Displaying pending posts"}),"\n",(0,o.jsxs)(t.p,{children:['Now we need to display both the pending posts and saved posts. To do that,\nwe need to "patch" our controller\'s state to in the ',(0,o.jsx)(t.code,{children:"onPostSubmitted()"})," event\nlistener after submitting the new post to update our UI:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"let pendingPost = this._postFactory.createEntity(\n Object.assign(\n {\n id: null,\n isSaved: false\n },\n eventData\n )\n);\n\nlet state = this.getState();\nlet pendingPosts = state.pendingPosts.slice();\npendingPosts.unshift(pendingPost);\n\nthis.setState({\n pendingPosts\n});\n\nthis._postService\n .createPost(eventData)\n .then(savedPost => {\n // update the state in place\n pendingPost.isSaved = true;\n pendingPost.id = savedPost.id;\n\n // update the UI\n let state = this.getState();\n this.setState({\n pendingPosts: state.pendingPosts\n });\n\n return this._postService.getPosts();\n })\n .then(posts => {\n let state = this.getState();\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n });\n });\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"onPostSubmitted(eventData: PostData) {\n let pendingPost: PostData = this._postFactory.createEntity(\n Object.assign(\n {\n id: null,\n isSaved: false,\n },\n eventData\n )\n );\n\n const state = this.getState();\n const pendingPosts = state.pendingPosts.slice();\n pendingPosts.unshift(pendingPost);\n\n this.setState({\n pendingPosts,\n });\n\n this._postService\n .createPost(eventData)\n .then((savedPost: PostData) => {\n // update the state in place\n pendingPost.isSaved = true;\n pendingPost.id = savedPost.id;\n\n // update the UI\n const state = this.getState();\n this.setState({\n pendingPosts: state.pendingPosts,\n });\n\n return this._postService.getPosts();\n })\n .then((posts: PostData[]) => {\n const state = this.getState();\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n });\n}\n"})})})]}),"\n",(0,o.jsx)(t.p,{children:"Woa, that's a lot of code! Don't worry, we'll break it down."}),"\n",(0,o.jsx)(t.h4,{id:"recap",children:"Recap"}),"\n",(0,o.jsxs)(t.p,{children:["First we create a new post entity from our form data augmented with the ",(0,o.jsx)(t.code,{children:"id"}),"\nand ",(0,o.jsx)(t.code,{children:"isSaved"})," fields to represent our pending post. Next we fetch the current\nstate and patch the ",(0,o.jsx)(t.code,{children:"pendingPosts"})," field to our state by prepending the pending\npost (we want our newest post to be displayed at the top of the list)."]}),"\n",(0,o.jsxs)(t.p,{children:["Next we ask the post service to create the post and when the post is created,\nwe mark the pending post as saved, set its ID, patch the ",(0,o.jsx)(t.code,{children:"pendingPosts"})," field\nin the state and refresh the posts list from the server."]}),"\n",(0,o.jsxs)(t.p,{children:["Once the updated list of posts is retrieved from the server, we remove the\npending post from the ",(0,o.jsx)(t.code,{children:"pendingPosts"})," array (since it is saved at the server\nnow, it is among the posts fetched from the server) and update the state."]}),"\n",(0,o.jsx)(t.h3,{id:"updating-view-components",children:"Updating view components"}),"\n",(0,o.jsxs)(t.p,{children:["Now that our state contains both the pending and saved posts, we can move to\nthe view. Open the controller's view (",(0,o.jsx)(t.code,{children:"app/page/home/HomeView.jsx"}),") and update\nthe ",(0,o.jsx)(t.code,{children:"_renderPosts()"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-jsx",children:"let allPosts = this.props.pendingPosts.concat(this.props.posts);\n\nreturn allPosts.map(post => {\n return (\n <Post\n key={post.id}\n content={post.content}\n author={post.author}\n isSaved={post.isSaved}\n />\n );\n});\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"const allPosts = pendingPosts.concat(posts);\n\nreturn allPosts.map((post: PostData) => (\n <Post\n key={post.id}\n content={post.content}\n author={post.author}\n isSaved={post.isSaved}\n />\n));\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["We concatenate the pending posts and saved posts into a single ",(0,o.jsx)(t.code,{children:"allPosts"}),"\narray and then render it using our ",(0,o.jsx)(t.code,{children:"Post"})," component. Notice that we added the\n",(0,o.jsx)(t.code,{children:"isSaved"})," attribute - we'll use that in a moment."]}),"\n",(0,o.jsxs)(t.p,{children:["So let's turn our attention to the post component\n(",(0,o.jsx)(t.code,{children:"app/component/post/Post.jsx"}),"). Update the ",(0,o.jsx)(t.code,{children:"render()"})," method to the following\nsnippet:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-jsx",children:"const { content, author, isSaved } = this.props;\n\nreturn (\n <div\n className={this.cssClasses({\n post: true,\n card: true,\n 'card-default': true,\n 'post-pending': !isSaved\n })}>\n <div className=\"card-body\">{content}</div>\n <div className=\"post-author card-footer\">{author}</div>\n </div>\n);\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"import './post.less';\nimport { useCssClasses } from '@ima/react-page-renderer';\n\ntype PostProps = {\n content: string;\n author: string;\n isSaved: boolean;\n};\n\nexport function Post({ content, author, isSaved }: PostProps) {\n const cssClasses = useCssClasses();\n\n return (\n <div\n className={cssClasses({\n post: true,\n card: true,\n 'card-default': true,\n 'post-pending': !isSaved,\n })}\n >\n <div className='card-body'>{content}</div>\n <div className='post-author card-footer'>{author}</div>\n </div>\n );\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Nothing really new here, we're just adding the ",(0,o.jsx)(t.code,{children:"post-pending"})," CSS class on our\npost's root element if the post is not saved yet."]}),"\n",(0,o.jsxs)(t.p,{children:["Open the post's style file (",(0,o.jsx)(t.code,{children:"app/component/post/post.less"}),") and add the\nfollowing content:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".post-pending .card-body {\n background: #e9e9e9;\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Try adding new posts"})," - you'll see them highlighted until they are saved.\nHowever, should you try to quickly add several posts, you may notice a weird\nbehavior - there is only a single pending post shown, the last one. This is\ncaused by the fact that all our pending posts have their IDs set to ",(0,o.jsx)(t.code,{children:"null"}),", so\nReact considers them to be the same post (",(0,o.jsx)(t.a,{href:"./fetching-data.md#using-postservices-in-homecontroller",children:"remember how we use the post ID to identify the post in the DOM?"}),")."]}),"\n",(0,o.jsxs)(t.p,{children:["To fix that we introduce a new field to our home page controller\n(",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),") in the constructor:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._lastPendingPostId = 0;\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"this._lastPendingPostId = 0;\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["...and use it in the ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"})," method by replacing the\n",(0,o.jsx)(t.code,{children:"let pendingPost = ..."})," with the following:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"let pendingPost = this._postFactory.createEntity(\n Object.assign(\n {\n id: `pending-${this._lastPendingPostId++}`,\n isSaved: false\n },\n eventData\n )\n);\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"const pendingPost: PostData = this._postFactory.createEntity(\n Object.assign(\n {\n id: `pending-${this._lastPendingPostId++}`,\n isSaved: false,\n },\n eventData\n )\n);\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["This will ensure that all our pending posts will have unique IDs, which will be\nalso prefixed with ",(0,o.jsx)(t.code,{children:"pending-"})," to prevent possible collisions with the IDs\ngenerated by our backend."]}),"\n",(0,o.jsx)(t.h2,{id:"auto-refresh",children:"Auto-refresh"}),"\n",(0,o.jsx)(t.p,{children:"Our guest book sure does look better, but we have to actually refresh the page\n(or write a new post) to see whether someone else did not post a new post. So\nlet's take care of that."}),"\n",(0,o.jsxs)(t.p,{children:["In our case we'll use ",(0,o.jsx)(t.strong,{children:"polling of our REST API"}),". You may want to use a\n",(0,o.jsx)(t.a,{href:"http://www.w3.org/TR/websockets/",children:"WebSocket"})," or\n",(0,o.jsx)(t.a,{href:"http://www.w3.org/TR/eventsource/",children:"Server-sent events"})," in a real-world\napplication to enable real-time updates. Using either of these technologies\nwould require us to write an actual backend for our application, which is\nbeyond the scope of this tutorial."]}),"\n",(0,o.jsx)(t.h3,{id:"rest-api-pooling",children:"REST API pooling"}),"\n",(0,o.jsxs)(t.p,{children:["So, to start, add a new field in the home page controller's\n(",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),") constructor which will hold information\nabout an interval we'll use to pool our API:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._refreshIntervalId = null;\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"declare _refreshIntervalId:\n | ReturnType<typeof setTimeout>\n | number\n | null\n | undefined;\n\nconstructor(postService: PostService, postFactory: PostFactory) {\n super();\n\n ...\n\n this._refreshIntervalId = null;\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Next add the following configuration constant below the ",(0,o.jsx)(t.code,{children:"import ..."}),"\ndeclaration at the beginning of the file:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"const REFRESH_DELAY = 2000; // milliseconds\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"const REFRESH_DELAY = 2000; // milliseconds\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["To initialize our refresh cycle, we'll use one of the ",(0,o.jsx)(t.strong,{children:"lifecycle methods"})," that\neach IMA.js Controller has, an ",(0,o.jsx)(t.code,{children:"activate()"})," method. To learn more about the\nlifecycle of Controller and it's methods,\n",(0,o.jsx)(t.a,{href:"/basic-features/controller-lifecycle",children:"take a look at the documentation"}),". In our case\nthe activate method will look like this:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"activate() {\n this._refreshIntervalId = setInterval(() => this._refresh(), REFRESH_DELAY);\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"activate(): void {\n this._refreshIntervalId = setInterval(() => this._refresh(), REFRESH_DELAY);\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["To clear a pending refresh timeout, we'll use the ",(0,o.jsx)(t.code,{children:"deactivate()"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"deactivate() {\n if (this._refreshIntervalId) {\n clearInterval(this._refreshIntervalId);\n }\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"deactivate(): void {\n if (this._refreshIntervalId) {\n clearInterval(this._refreshIntervalId);\n }\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["And, finally, we can implement our ",(0,o.jsx)(t.code,{children:"_refresh()"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_refresh() {\n this._postService.getPosts().then(posts => {\n this.setState({ posts });\n });\n}\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"_refresh(): void {\n this._postService.getPosts().then((posts: PostData[]) => {\n this.setState({ posts });\n });\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["You won't see it because our HTTP communication is only mocked, but the posts\nare now being refreshed every 2 seconds. But since we ",(0,o.jsx)(t.strong,{children:"do"})," want to see\nsomething happening, let's build a random post generator real quick."]}),"\n",(0,o.jsx)(t.h3,{id:"random-generators",children:"Random generators"}),"\n",(0,o.jsxs)(t.p,{children:["To build our random post generator we'll create several new files. Start by\ncreating the ",(0,o.jsx)(t.code,{children:"app/mock/TextGenerator.js"})," file with the following contents:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"const WORDS = [\n 'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing',\n 'elit', 'ut', 'aliquam', 'purus', 'amet', 'luctus', 'venenatis', 'lectus',\n 'magna', 'fringilla', 'urna', 'porttitor', 'rhoncus', 'non', 'enim',\n 'praesent', 'elementum', 'facilisis', 'leo', 'vel', 'est', 'ullamcorper',\n 'eget', 'nulla', 'facilisi', 'etiam', 'dignissim', 'diam', 'quis',\n 'lobortis', 'scelerisque', 'fermentum', 'dui', 'faucibus', 'in', 'ornare',\n 'quam', 'viverra', 'orci', 'sagittis', 'eu', 'volutpat', 'odio', 'mauris',\n 'massa', 'vitae', 'tortor', 'condimentum', 'lacinia', 'eros', 'donec', 'ac',\n 'tempor', 'dapibus', 'ultrices', 'iaculis', 'nunc', 'sed', 'augue', 'lacus',\n 'congue', 'eu', 'consequat', 'felis', 'et', 'pellentesque', 'commodo',\n 'egestas', 'phasellus', 'eleifend', 'pretium', 'vulputate', 'sapien', 'nec',\n 'aliquam', 'malesuada', 'bibendum', 'arcu', 'curabitur', 'velit', 'sodales',\n 'sem', 'integer', 'justo', 'vestibulum', 'risus', 'ultricies', 'tristique',\n 'aliquet', 'tortor', 'at', 'auctor', 'urna', 'id', 'cursus', 'metus', 'mi',\n 'posuere', 'sollicitudin', 'orci', 'a', 'semper', 'duis', 'tellus', 'mattis',\n 'nibh', 'proin', 'nisl', 'venenatis', 'a', 'habitant', 'morbi', 'senectus',\n 'netus', 'fames', 'turpis', 'tempus', 'pharetra', 'pharetra', 'mi',\n 'hendrerit', 'gravida', 'blandit', 'hac', 'habitasse', 'platea', 'dictumst',\n 'quisque', 'sagittis', 'consequat', 'nisi', 'suscipit', 'maecenas', 'cras',\n 'aenean', 'placerat', 'vestibulum', 'eros', 'tincidunt', 'erat', 'imperdiet',\n 'euismod', 'nisi', 'porta', 'mollis', 'leo', 'nisl', 'ipsum', 'nec',\n 'nullam', 'feugiat', 'fusce', 'suspendisse', 'potenti', 'vivamus', 'dictum',\n 'varius', 'sapien', 'molestie', 'ac', 'massa', 'accumsan', 'vitae', 'arcu',\n 'vel', 'dolor', 'enim', 'neque', 'convallis', 'neque', 'tempus', 'nam',\n 'pulvinar', 'laoreet', 'interdum', 'libero', 'est', 'tempor', 'elementum',\n 'nunc', 'risus', 'cum', 'sociis', 'natoque', 'penatibus', 'magnis', 'dis',\n 'parturient', 'montes', 'nascetur', 'ridiculus', 'mus', 'accumsan', 'lacus',\n 'volutpat', 'dui', 'ligula', 'libero', 'justo', 'diam', 'rhoncus', 'felis',\n 'et', 'mauris', 'ante', 'metus', 'commodo', 'velit', 'non', 'tellus',\n 'purus', 'rutrum', 'fermentum', 'pretium', 'elit', 'vehicula'\n];\n\nexport default class TextGenerator {\n static get $dependencies() {\n return [];\n }\n\n generateSentence(\n minWords = 3,\n maxWords = 12,\n minSubSentences = 1,\n maxSubSentences = 4\n ) {\n let subSentencesCount = this._random(minSubSentences, maxSubSentences);\n let subSentences = [];\n\n for (let i = 0; i < subSentencesCount; i++) {\n let wordCount = this._random(minWords, maxWords);\n let words = [];\n\n for (let j = 0; j < wordCount; j++) {\n words.push(WORDS[this._random(0, WORDS.length - 1)]);\n }\n\n subSentences.push(words.join(' '));\n }\n\n let rawSentence = subSentences.join(', ') + '.';\n return rawSentence.substring(0, 1).toUpperCase() + rawSentence.substring(1);\n }\n\n generateParagraph(minSentences = 1, maxSentences = 5) {\n let sentenceCount = this._random(minSentences, maxSentences);\n let sentences = [];\n\n for (let i = 0; i < sentenceCount; i++) {\n sentences.push(this.generateSentence());\n }\n\n return sentences.join(' ');\n }\n\n _random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["This is a very simple ",(0,o.jsx)(t.a,{href:"http://en.wikipedia.org/wiki/Lorem_ipsum",children:"lorem ipsum"}),"\ngenerator - generator of ",(0,o.jsx)(t.strong,{children:"random text"})," that is used as a filler that behaves like\nan ordinary text. For example when a webpage layout is being tested."]}),"\n",(0,o.jsx)(t.h4,{id:"random-name-generator",children:"Random name generator"}),"\n",(0,o.jsxs)(t.p,{children:["Next we need a ",(0,o.jsx)(t.strong,{children:"name generator"}),", so create the ",(0,o.jsx)(t.code,{children:"app/mock/NameGenerator.js"})," file\nwith the following content:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"const CHAINS = [\n 'ay', 'ho', 'ri', 'tus', 'ga', 'ni', 'of', 'me', 'ar', 'gorn', 'vas', 'si'\n];\n\nexport default class NameGenerator {\n static get $dependencies() {\n return [];\n }\n\n generateName() {\n let chainCount = this._random(2, 5);\n let parts = [];\n\n for (let i = 0; i < chainCount; i++) {\n parts.push(CHAINS[this._random(0, CHAINS.length - 1)]);\n }\n\n return parts.join('');\n }\n\n _random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n"})}),"\n",(0,o.jsx)(t.p,{children:"This script generates random names using short chains of letters the\nscript combines together."}),"\n",(0,o.jsx)(t.h4,{id:"random-post-generator",children:"Random post generator"}),"\n",(0,o.jsxs)(t.p,{children:["To combine it all up and create the post generator which uses our previously created name and text generators,\nwhich we'll inject as dependencies, to create a post. create the ",(0,o.jsx)(t.code,{children:"app/mock/PostGenerator.js"})," file with the\nfollowing content:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"import TextGenerator from 'app/mock/TextGenerator';\nimport NameGenerator from 'app/mock/NameGenerator';\n\nexport default class PostGenerator {\n static get $dependencies() {\n return [TextGenerator, NameGenerator];\n }\n\n constructor(textGenerator, nameGenerator) {\n this._textGenerator = textGenerator;\n this._nameGenerator = nameGenerator;\n }\n\n generatePost() {\n return {\n author: this._nameGenerator.generateName(),\n content: this._textGenerator.generateParagraph()\n };\n }\n}\n"})}),"\n",(0,o.jsx)(t.p,{children:"This script uses our text and name generators to generate post data similar to\nthe data we obtain from our posting form."}),"\n",(0,o.jsxs)(t.h4,{id:"updating-the-mockhttpagent",children:["Updating the ",(0,o.jsx)(t.code,{children:"MockHttpAgent"})]}),"\n",(0,o.jsxs)(t.p,{children:["Now we just need to integrate the post generator with our mock Http to simulate\nother users writing new posts to our guestbook. Open our Http mock\n(",(0,o.jsx)(t.code,{children:"app/mock/MockHttpAgent.js"}),") and add the following constants after the ",(0,o.jsx)(t.code,{children:"POST_DELAY"}),"\nconstant:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"const AUTO_POST_DELAY_MIN = 1500; // milliseconds\nconst AUTO_POST_DELAY_MAX = 6500; // milliseconds\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Next we need to update the constructor along with it's ",(0,o.jsx)(t.code,{children:"$dependencies"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"import PostGenerator from 'app/mock/PostGenerator';\n...\n\nstatic get $dependencies() {\n return [\n '$HttpAgentProxy',\n '$Cache',\n '$CookieStorage',\n '$Settings.$Http',\n '$Window',\n PostGenerator\n ];\n}\n\nconstructor(proxy, cache, cookie, config, window, postGenerator) {\n super(proxy, cache, cookie, config);\n\n this._postGenerator = postGenerator;\n\n this._posts = null;\n\n if (window.isClient()) {\n setTimeout(\n this._generateRandomPost.bind(this),\n this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)\n );\n }\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Here we use the window utility provided by IMA.js ",(0,o.jsx)(t.strong,{children:"to determine whether the code\nis being executed at the client or the server side"}),", as we want our posts to be\ngenerated only at the client side."]}),"\n",(0,o.jsx)(t.p,{children:"Now we need to integrate our new post generator logic:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"_generateRandomPost() {\n this.post('', this._postGenerator.generatePost()).then(() => {\n setTimeout(\n this._generateRandomPost.bind(this),\n this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)\n );\n });\n}\n\n_random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n"})}),"\n",(0,o.jsx)(t.p,{children:"With our application logic ready, only thing that needs to be done now is\nto refresh your browser and you should see see a new post being added every few seconds\nwith a random delay. What a lively discussion!"}),"\n",(0,o.jsx)(t.h2,{id:"handling-race-conditions",children:"Handling race conditions"}),"\n",(0,o.jsxs)(t.p,{children:["Looking back at the previous sub-chapter, we introduced a\n",(0,o.jsx)(t.a,{href:"http://en.wikipedia.org/wiki/Race_condition",children:"race condition"})," into our\napplication. We are currently fetching our posts both periodically and when a\nnew post is submitted. The problem is that there is no guarantee in which order\nthe server responses would arrive since the computer network may cause various\ndelays. This could lead to us showing the user a newer version of posts list,\nthen switching to an older version which may not contain the latest post, and\nthen switching to the new version with the next refresh. This problem could be\neven more obvious if we used real-time updates using WebSockets or Server-sent\nevents."]}),"\n",(0,o.jsx)(t.p,{children:"One way to handle this is not to fetch the posts after the user submits a new\npost, but this would reduce the UX in our implementation, so this is not the\nway we want to go."}),"\n",(0,o.jsx)(t.p,{children:"Also, the fact that we display a post as saved before we reload the posts list\nmay result in the post being displayed at the wrong position in the posts list.\nSo let's start with this issue first."}),"\n",(0,o.jsx)(t.h3,{id:"pending-posts-race-condition",children:"Pending posts race condition"}),"\n",(0,o.jsxs)(t.p,{children:["Open the home page controller (",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),") and update\nthe ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"})," method by replacing the\n",(0,o.jsx)(t.code,{children:"this._postService.createPost(eventData)..."})," expression with the following\ncode:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then(posts => {\n let state = this.getState();\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n });\n });\n"})})}),(0,o.jsxs)(r.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"export type PostData = {\n id: number | null;\n content: string;\n author: string;\n isSaved: boolean;\n};\nexport type PostsApiData = {\n generated: number;\n posts: PostData[];\n};\nexport type HomeControllerState = {\n posts: PostsApiData;\n pendingPosts: PostData[];\n};\n\n...\n\n\nonPostSubmitted(eventData: PostData) {\n ...\n\n this._postService\n .createPost(eventData)\n .then(() => this._postService.getPosts())\n .then((posts: PostsApiData) => {\n const state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n });\n}\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"TypeScript:"})," As you can see, we have to completely refactor our types to match our input data.\nThis is how it might look like in an actual app."]}),"\n"]})]})]}),"\n",(0,o.jsx)(t.p,{children:"What we did here is that we removed the logic that updated the state (and, as a\nresult, the UI) when the post is saved. Now the state (and UI) is updated only\nwhen we fetch the posts from the server (or the HTTP agent mock in our case)."}),"\n",(0,o.jsx)(t.p,{children:"With this issue taken care of, let's resolve the posts refresh race condition."}),"\n",(0,o.jsx)(t.h3,{id:"posts-refresh-race-condition",children:"Posts refresh race condition"}),"\n",(0,o.jsxs)(t.p,{children:["To fix our refresh race condition, we'll envelope the server responses and add a timestamp at which\nthe response has been generated. Open the ",(0,o.jsx)(t.code,{children:"app/public/posts.json"}),"\nfile and update its contents as follows:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n "generated": 1420070400000,\n "posts": [\n {\n "id": 4,\n "content": "Never mistake motion for action.",\n "author": "Ernest Hemingway"\n },\n {\n "id": 3,\n "content": "Quality means doing it right when no one is looking.",\n "author": "Henry Ford"\n },\n {\n "id": 2,\n "content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",\n "author": "Aristotle"\n },\n {\n "id": 1,\n "content": "Reality is merely an illusion, albeit a very persistent one.",\n "author": "Albert Einstein"\n }\n ]\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["We wrapped the array posts into an object and added the ",(0,o.jsx)(t.code,{children:"generated"})," field set\nto the UNIX timestamp (with millisecond precision) of the moment the response\nwas generated by the server."]}),"\n",(0,o.jsxs)(t.p,{children:["Now we need to update the ",(0,o.jsx)(t.code,{children:"get()"})," method of our ",(0,o.jsx)(t.strong,{children:"Http mock"}),"\n(",(0,o.jsx)(t.code,{children:"app/mock/MockHttpAgent.js"}),"):"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"if (!this._posts) {\n return super.get(url, data).then((response) => {\n this._posts = response.body.posts;\n\n return {\n body: {\n generated: Date.now(),\n posts: this._posts.map(post => Object.assign({}, post))\n }\n };\n });\n}\n\nreturn new Promise((resolve) => {\n setTimeout(() => {\n resolve({\n body: {\n generated: Date.now(),\n posts: this._posts.map(post => Object.assign({}, post))\n }\n });\n }, GET_DELAY);\n});\n"})}),"\n",(0,o.jsxs)(t.p,{children:["These are just minor updates - we get the posts array from the ",(0,o.jsx)(t.code,{children:"posts"})," field in\nthe server response and generate an object with the ",(0,o.jsx)(t.code,{children:"posts"})," and ",(0,o.jsx)(t.code,{children:"generated"}),"\nfields as a response instead of just a plain array of data objects."]}),"\n",(0,o.jsxs)(t.h4,{id:"updating-the-postresource",children:["Updating the ",(0,o.jsx)(t.code,{children:"PostResource"})]}),"\n",(0,o.jsxs)(t.p,{children:["Next update the ",(0,o.jsx)(t.code,{children:"getEntityList()"})," method of the post resource\n(",(0,o.jsx)(t.code,{children:"app/model/post/PostResource.js"}),"):"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then(response => {\n response.body.posts.forEach(post => (post.isSaved = true));\n\n let posts = this._factory.createList(response.body.posts);\n posts.generated = response.body.generated;\n\n return posts;\n });\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"type PostApiGetResponse = {\n body: PostsApiData;\n};\n\n...\n\ngetEntityList(): Promise<PostsApiData> {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then((response: PostApiGetResponse) => {\n response.body.posts.forEach((post: PostData) => (post.isSaved = true));\n const posts: PostsApiData = {\n posts: this._factory.createList(response.body.posts),\n generated: response.body.generated,\n };\n\n return posts;\n });\n}\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:['What we do here is that we "unpack" the server response and set the ',(0,o.jsx)(t.code,{children:"generated"}),"\ntimestamp on the posts array directly (note that a custom entity representing\nthe posts list and the ",(0,o.jsx)(t.code,{children:"generated"})," timestamp would be better, but this will do\nfor the purpose of demonstration)."]}),"\n",(0,o.jsxs)(t.h4,{id:"updating-the-homecontroller",children:["Updating the ",(0,o.jsx)(t.code,{children:"HomeController"})]}),"\n",(0,o.jsxs)(t.p,{children:["Finally, we just need to check in our home page controller\n",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"})," whether the posts list we just received is not\nstale. Update the ",(0,o.jsx)(t.code,{children:"_refresh()"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._postService.getPosts().then(posts => {\n let state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n this.setState({ posts });\n});\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"this._postService.getPosts().then((posts: PostsApiData) => {\n const state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n this.setState({ posts });\n});\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["...and update the body of the last ",(0,o.jsx)(t.code,{children:"then"})," callback in the ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"}),"\nmethod:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"let state = this.getState();\n\nif (posts.generated < state.posts.generated) {\n posts = state.posts;\n}\n\nthis.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n});\n"})})}),(0,o.jsxs)(r.A,{value:"TypeScript",children:[(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:".then((posts: PostsApiData) => {\n const state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n});\n"})}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"TypeScript:"})," Note that in TypeScript we have to also slightly adjust the rendering of the posts in ",(0,o.jsx)(t.code,{children:"app/page/home/HomeView.tsx"})]}),"\n"]}),(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-tsx",children:"const _renderPosts = () => {\n const allPosts = pendingPosts.concat(posts.posts);\n\n return allPosts.map((post: PostData) => (\n <Post\n key={post.id}\n content={post.content}\n author={post.author}\n isSaved={post.isSaved}\n />\n ));\n};\n"})})]})]}),"\n",(0,o.jsxs)(t.p,{children:["We added simple checks that ",(0,o.jsx)(t.strong,{children:"compares"})," the ",(0,o.jsx)(t.code,{children:"generated"})," timestamps of the received\nposts with our current posts, and ",(0,o.jsx)(t.strong,{children:"discards"})," the received posts if they are\nstale."]}),"\n",(0,o.jsx)(t.h2,{id:"animations",children:"Animations"}),"\n",(0,o.jsxs)(t.p,{children:["We can further improve the UX using animations. Modify the\n",(0,o.jsx)(t.code,{children:"app/component/post/post.less"})," file by adding the following declaration at the\nend of the file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".post .card-body {\n transition: 0.3s background;\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["This adds a soft transition of the post's background color. Or does it? The\ntransition does not seem to work, because we change the ID (remember the ",(0,o.jsx)(t.code,{children:"key"}),"\nattribute we set to ",(0,o.jsx)(t.code,{children:"post.id"})," in ",(0,o.jsx)(t.code,{children:"app/page/home/HomeView.jsx"}),"?) of the post in\nthe DOM once we receive it from the server. Because of this the React\nconsiders it to be a different post and removes the old one while adding a new\none to the DOM instead of modifying the original post DOM, so no transition\ntakes place."]}),"\n",(0,o.jsx)(t.h3,{id:"retaining-original-post-id",children:"Retaining original post ID"}),"\n",(0,o.jsxs)(t.p,{children:["What we need is for the post to retain the ID we provided it with even after we\nreceive the response from the server. Fortunately, we can fix this easily in\nour home page controller (",(0,o.jsx)(t.code,{children:"app/page/home/HomeController.js"}),")."]}),"\n",(0,o.jsxs)(t.p,{children:["Rename the ",(0,o.jsx)(t.code,{children:"_lastPendingPostId"})," field declared in the constructor to\n",(0,o.jsx)(t.code,{children:"_lastLocalPostId"})," as it better suits our new use. After that, create the\n",(0,o.jsx)(t.code,{children:"_localPostIds"})," in the constructor:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._localPostIds = new Map();\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"this._localPostIds = new Map();\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Next update the ",(0,o.jsx)(t.code,{children:"onPostSubmitted()"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"let pendingPost = this._postFactory.createEntity(\n Object.assign(\n {\n id: `local-${++this._lastLocalPostId}`,\n isSaved: false\n },\n eventData\n )\n);\n\nlet state = this.getState();\nlet pendingPosts = state.pendingPosts.slice();\npendingPosts.unshift(pendingPost);\nthis.setState({\n pendingPosts\n});\n\nthis._postService\n .createPost(eventData)\n .then(createdPost => {\n this._localPostIds.set(createdPost.id, pendingPost.id);\n return this._postService.getPosts();\n })\n .then(posts => {\n let state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)\n });\n });\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"const pendingPost: PostData = this._postFactory.createEntity(\n Object.assign(\n {\n id: `local-${++this._lastLocalPostId}`,\n isSaved: false,\n },\n eventData\n )\n);\n\nconst state = this.getState();\nconst pendingPosts = state.pendingPosts.slice();\npendingPosts.unshift(pendingPost);\nthis.setState({\n pendingPosts,\n});\n\nthis._postService\n .createPost(eventData)\n .then((createdPost: PostData) => {\n this._localPostIds.set(createdPost.id, pendingPost.id);\n return this._postService.getPosts();\n })\n .then((posts: PostsApiData) => {\n const state = this.getState();\n\n if (posts.generated < state.posts.generated) {\n posts = state.posts;\n }\n\n posts.posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({\n posts: posts,\n pendingPosts: state.pendingPosts.filter(post => post !== pendingPost),\n });\n });\n"})})})]}),"\n",(0,o.jsxs)(t.p,{children:["Finally, update the ",(0,o.jsx)(t.code,{children:"_refresh()"})," method:"]}),"\n",(0,o.jsxs)(i.A,{children:[(0,o.jsx)(r.A,{value:"JavaScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-javascript",children:"this._postService.getPosts().then(posts => {\n let state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({ posts });\n});\n"})})}),(0,o.jsx)(r.A,{value:"TypeScript",children:(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:"this._postService.getPosts().then((posts: PostsApiData) => {\n const state = this.getState();\n if (posts.generated < state.posts.generated) {\n return;\n }\n\n posts.posts.forEach(post => {\n if (this._localPostIds.has(post.id)) {\n post.id = this._localPostIds.get(post.id);\n }\n });\n\n this.setState({ posts });\n});\n"})})})]}),"\n",(0,o.jsx)(t.p,{children:"The posts created by the user viewing the page will now maintain their IDs and\nsee a soft transition of the post's background once the post is saved at the\nbackend."}),"\n",(0,o.jsx)(t.h3,{id:"animating-new-posts",children:"Animating new posts"}),"\n",(0,o.jsxs)(t.p,{children:["Let's add some animation to the newly added posts as well. Add the following\nsnippet of code to the end of the ",(0,o.jsx)(t.code,{children:"app/component/post/post.less"})," file:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".post {\n overflow: hidden;\n animation: new-post 0.3s;\n}\n\n@keyframes new-post {\n from {\n max-height: 0;\n opacity: 0;\n }\n\n to {\n max-height: 5em;\n opacity: 1;\n }\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:["To put some final touches on the posts we'll add a ",(0,o.jsx)(t.strong,{children:"progress indicator"})," to the\npending posts. Add the following snippet to the post component's view\n(",(0,o.jsx)(t.code,{children:"app/component/post/Post.jsx"}),") at the end of the\n",(0,o.jsx)(t.code,{children:"<div className='post-author card-footer'>"})," element's content:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-xml",children:'<div className="spinner">\n <div className="bounce1" />\n <div className="bounce2" />\n <div className="bounce3" />\n</div>\n'})}),"\n",(0,o.jsxs)(t.p,{children:["Then add the following declaration to the post component's\n",(0,o.jsx)(t.code,{children:"app/component/post/post.less"})," file to the ",(0,o.jsx)(t.code,{children:".post-author"})," rule:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:"position: relative;\n"})}),"\n",(0,o.jsxs)(t.p,{children:["After that add the following snippet into the ",(0,o.jsx)(t.code,{children:".post-author"})," rule (code snippet\nobtained from ",(0,o.jsx)(t.a,{href:"https://tobiasahlin.com/spinkit/",children:"https://tobiasahlin.com/spinkit/"})," and subsequently modified):"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".spinner {\n position: absolute;\n top: 1em;\n width: 70px;\n text-align: center;\n opacity: 0;\n transition: 0.3s opacity;\n\n & > div {\n width: 16px;\n height: 16px;\n background-color: #333;\n margin-right: 4px;\n\n border-radius: 100%;\n display: inline-block;\n animation: bouncedelay 1.4s infinite ease-in-out;\n animation-fill-mode: both;\n }\n\n .bounce1 {\n animation-delay: -0.32s;\n }\n\n .bounce2 {\n animation-delay: -0.16s;\n }\n\n @keyframes bouncedelay {\n 0%, 80%, 100% {\n transform: scale(0.0);\n }\n 40% {\n transform: scale(1.0);\n }\n }\n}\n"})}),"\n",(0,o.jsx)(t.p,{children:"And finally add the following snippet at the end of the file:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-scss",children:".post-pending .post-author .spinner {\n opacity: 1;\n}\n"})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Try writing new posts!"})," The pending posts will have a progress indicator in the\nlower left corner. If you followed the tutorial from start,\nthe final application should look something like the picture below."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(3377).A+"",width:"2402",height:"2602"})}),"\n",(0,o.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(t.p,{children:"If all went well, you are currently in front of a finished application. I hope\nyou liked the journey and are happy with what you've learned here."}),"\n",(0,o.jsxs)(t.p,{children:["From now I suggest to take a look at our ",(0,o.jsx)(t.a,{href:"/introduction/getting-started",children:"documentation"})," which goes into greater\ndetail in describing each component of IMA.js development stack or take a direct look at the ",(0,o.jsx)(t.a,{href:"../api/classes/ima_core.Bootstrap.md",children:"API"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["If you see any improvements that could be made to this tutorial, or have found\nany mistakes, please let us know by ",(0,o.jsx)(t.a,{href:"https://github.com/seznam/ima/issues",children:"creating issue"})," in our IMA.js monorepo,\nor even better, ",(0,o.jsx)(t.a,{href:"https://github.com/seznam/ima/pulls",children:"creating PR"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"I bid you farewell!"})]})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},6052:(e,t,n)=>{n.d(t,{A:()=>i});n(3696);var s=n(2689);const o={tabItem:"tabItem_wHwb"};var a=n(2540);function i(e){let{children:t,hidden:n,className:i}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,s.A)(o.tabItem,i),hidden:n,children:t})}},3776:(e,t,n)=>{n.d(t,{A:()=>b});var s=n(3696),o=n(2689),a=n(3707),i=n(9519),r=n(3604),l=n(5196),c=n(6229),d=n(8030);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:o}}=e;return{value:t,label:n,attributes:s,default:o}}))}(n);return function(e){const t=(0,c.XI)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const o=(0,i.W6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l.aZ)(a),(0,s.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(o.location.search);t.set(a,e),o.replace({...o.location,search:t.toString()})}),[a,o])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:o}=e,a=p(e),[i,l]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:a}))),[c,h]=g({queryString:n,groupId:o}),[m,x]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,a]=(0,d.Dv)(n);return[o,(0,s.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:o}),j=(()=>{const e=c??m;return u({value:e,tabValues:a})?e:null})();(0,r.A)((()=>{j&&l(j)}),[j]);return{selectedValue:i,selectValue:(0,s.useCallback)((e=>{if(!u({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),x(e)}),[h,x,a]),tabValues:a}}var x=n(5200);const j={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var v=n(2540);function f(e){let{className:t,block:n,selectedValue:s,selectValue:i,tabValues:r}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.a_)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),o=r[n].value;o!==s&&(c(t),i(o))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":n},t),children:r.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{l.push(e)},onKeyDown:h,onClick:d,...a,className:(0,o.A)("tabs__item",j.tabItem,a?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:a}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===a));return e?(0,s.cloneElement)(e,{className:(0,o.A)("margin-top--md",e.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function y(e){const t=m(e);return(0,v.jsxs)("div",{className:(0,o.A)("tabs-container",j.tabList),children:[(0,v.jsx)(f,{...t,...e}),(0,v.jsx)(w,{...t,...e})]})}function b(e){const t=(0,x.A)();return(0,v.jsx)(y,{...e,children:h(e.children)},String(t))}},3377:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/final-polish-final-7fcff16ad2f0e9bbddcf55d5328d2229.png"},1391:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/final-polish-form-validation-4ddb6e4d8dc0402299cfb6500a98948e.png"},3023:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var s=n(3696);const o={},a=s.createContext(o);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e4a7547.0088e5d8.js b/assets/js/9e4a7547.0088e5d8.js new file mode 100644 index 000000000..6bffee9e4 --- /dev/null +++ b/assets/js/9e4a7547.0088e5d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4791],{2034:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"basic-features/handling-scripts-and-styles","title":"Handling scripts and styles","description":"Basic features > Script and style source files.","source":"@site/../docs/basic-features/handling-scripts-and-styles.md","sourceDirName":"basic-features","slug":"/basic-features/handling-scripts-and-styles","permalink":"/basic-features/handling-scripts-and-styles","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/handling-scripts-and-styles.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Handling scripts and styles","description":"Basic features > Script and style source files."},"sidebar":"docs","previous":{"title":"Rendering process","permalink":"/basic-features/rendering-process"},"next":{"title":"Page Manager","permalink":"/basic-features/page-manager"}}');var i=t(2540),a=t(3023);const r={title:"Handling scripts and styles",description:"Basic features > Script and style source files."},c=void 0,o={},d=[{value:"$Sources",id:"sources",level:2},{value:"Options definition",id:"options-definition",level:3},{value:"<code>fallback</code> option",id:"fallback-option",level:3}];function l(e){const s={code:"code",h2:"h2",h3:"h3",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"sources",children:"$Sources"}),"\n",(0,i.jsx)(s.h3,{id:"options-definition",children:"Options definition"}),"\n",(0,i.jsxs)(s.h3,{id:"fallback-option",children:[(0,i.jsx)(s.code,{children:"fallback"})," option"]})]})}function u(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,s,t)=>{t.d(s,{R:()=>r,x:()=>c});var n=t(3696);const i={},a=n.createContext(i);function r(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e4a7547.29bf8240.js b/assets/js/9e4a7547.29bf8240.js deleted file mode 100644 index fc606b876..000000000 --- a/assets/js/9e4a7547.29bf8240.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4791],{5680:(e,t,r)=>{r.d(t,{xA:()=>p,yg:()=>y});var n=r(6540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=l(r),f=a,y=d["".concat(c,".").concat(f)]||d[f]||u[f]||i;return r?n.createElement(y,s(s({ref:t},p),{},{components:r})):n.createElement(y,s({ref:t},p))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,s=new Array(i);s[0]=f;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o[d]="string"==typeof e?e:a,s[1]=o;for(var l=2;l<i;l++)s[l]=r[l];return n.createElement.apply(null,s)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},470:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=r(8102),a=(r(6540),r(5680));const i={title:"Handling scripts and styles",description:"Basic features > Script and style source files."},s=void 0,o={unversionedId:"basic-features/handling-scripts-and-styles",id:"basic-features/handling-scripts-and-styles",title:"Handling scripts and styles",description:"Basic features > Script and style source files.",source:"@site/../docs/basic-features/handling-scripts-and-styles.md",sourceDirName:"basic-features",slug:"/basic-features/handling-scripts-and-styles",permalink:"/basic-features/handling-scripts-and-styles",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/handling-scripts-and-styles.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Handling scripts and styles",description:"Basic features > Script and style source files."},sidebar:"docs",previous:{title:"Rendering process",permalink:"/basic-features/rendering-process"},next:{title:"Page Manager",permalink:"/basic-features/page-manager"}},c={},l=[{value:"$Sources",id:"sources",level:2},{value:"Options definition",id:"options-definition",level:3},{value:"<code>fallback</code> option",id:"fallback-option",level:3}],p={toc:l},d="wrapper";function u(e){let{components:t,...r}=e;return(0,a.yg)(d,(0,n.A)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h2",{id:"sources"},"$Sources"),(0,a.yg)("h3",{id:"options-definition"},"Options definition"),(0,a.yg)("h3",{id:"fallback-option"},(0,a.yg)("inlineCode",{parentName:"h3"},"fallback")," option"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9f7752b8.2d5d74e8.js b/assets/js/9f7752b8.2d5d74e8.js new file mode 100644 index 000000000..631a49c5c --- /dev/null +++ b/assets/js/9f7752b8.2d5d74e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1355],{761:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>g,frontMatter:()=>n,metadata:()=>a,toc:()=>c});const a=JSON.parse('{"id":"api/@ima/dev-utils/variables/logger","title":"Variable: logger","description":"const logger: Logger","source":"@site/../docs/api/@ima/dev-utils/variables/logger.md","sourceDirName":"api/@ima/dev-utils/variables","slug":"/api/@ima/dev-utils/variables/logger","permalink":"/api/@ima/dev-utils/variables/logger","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/variables/logger.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX","permalink":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX"},"next":{"title":"index","permalink":"/api/@ima/plugin-cli/"}}');var i=r(2540),s=r(3023);const n={},o="Variable: logger",l={},c=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"variable-logger",children:"Variable: logger"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"const"})," ",(0,i.jsx)(t.strong,{children:"logger"}),": ",(0,i.jsx)(t.a,{href:"/api/@ima/dev-utils/classes/Logger",children:(0,i.jsx)(t.code,{children:"Logger"})})]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Defined in: ",(0,i.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L171",children:"logger.ts:171"})]}),"\n",(0,i.jsx)(t.p,{children:"Create global logger instance"})]})}function g(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>o});var a=r(3696);const i={},s=a.createContext(i);function n(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9fdfc27e.676bf97b.js b/assets/js/9fdfc27e.676bf97b.js deleted file mode 100644 index 52250b777..000000000 --- a/assets/js/9fdfc27e.676bf97b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9567],{5680:(e,t,r)=>{r.d(t,{xA:()=>u,yg:()=>f});var n=r(6540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),d=a,f=s["".concat(l,".").concat(d)]||s[d]||m[d]||o;return r?n.createElement(f,i(i({ref:t},u),{},{components:r})):n.createElement(f,i({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:a,i[1]=c;for(var p=2;p<o;p++)i[p]=r[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},5428:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var n=r(8102),a=(r(6540),r(5680));const o={id:"ima_core.RouteLocals",title:"Interface: RouteLocals",sidebar_label:"@ima/core.RouteLocals",custom_edit_url:null},i=void 0,c={unversionedId:"api/interfaces/ima_core.RouteLocals",id:"api/interfaces/ima_core.RouteLocals",title:"Interface: RouteLocals",description:"@ima/core.RouteLocals",source:"@site/../docs/api/interfaces/ima_core.RouteLocals.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.RouteLocals",permalink:"/api/interfaces/ima_core.RouteLocals",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouteLocals",title:"Interface: RouteLocals",sidebar_label:"@ima/core.RouteLocals",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.RouteFactoryOptions",permalink:"/api/interfaces/ima_core.RouteFactoryOptions"},next:{title:"@ima/core.RouteOptions",permalink:"/api/interfaces/ima_core.RouteOptions"}},l={},p=[{value:"Indexable",id:"indexable",level:2},{value:"Properties",id:"properties",level:2},{value:"action",id:"action",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"route",id:"route",level:3},{value:"Defined in",id:"defined-in-1",level:4}],u={toc:p},s="wrapper";function m(e){let{components:t,...r}=e;return(0,a.yg)(s,(0,n.A)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouteLocals"),(0,a.yg)("h2",{id:"indexable"},"Indexable"),(0,a.yg)("p",null,"\u25aa ","[key: ",(0,a.yg)("inlineCode",{parentName:"p"},"string"),"]",": ",(0,a.yg)("inlineCode",{parentName:"p"},"unknown")),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"action"},"action"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"action"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},(0,a.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L25"},"packages/core/src/router/Router.ts:25")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"route"},"route"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"route"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,a.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,a.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L26"},"packages/core/src/router/Router.ts:26")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a14022e5.52367d83.js b/assets/js/a14022e5.52367d83.js new file mode 100644 index 000000000..5908c41e0 --- /dev/null +++ b/assets/js/a14022e5.52367d83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8295],{2526:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/SessionMapStorage","title":"Class: SessionMapStorage\\\\<V\\\\>","description":"Defined in12","source":"@site/../docs/api/@ima/core/classes/SessionMapStorage.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/SessionMapStorage","permalink":"/api/@ima/core/classes/SessionMapStorage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/SessionMapStorage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ServerWindow","permalink":"/api/@ima/core/classes/ServerWindow"},"next":{"title":"Class: SessionStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/SessionStorage"}}');var i=r(2540),a=r(3023);const c={},d="Class: SessionMapStorage<V>",t={},l=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new SessionMapStorage()",id:"new-sessionmapstorage",level:3},{value:"Parameters",id:"parameters",level:4},{value:"map",id:"map",level:5},{value:"session",id:"session",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"keys()",id:"keys",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"size()",id:"size",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-8",level:4}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-sessionmapstoragev",children:"Class: SessionMapStorage<V>"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L12",children:"packages/core/src/storage/SessionMapStorage.ts:12"})]}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"link SessionMap"})," storage is an implementation of the\n",(0,i.jsx)(s.code,{children:"link Storage"})," interface acting as a synchronization proxy between\nthe underlying map storage and the ",(0,i.jsx)(s.code,{children:"sessionStorage"})," DOM storage."]}),"\n",(0,i.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"V"})]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-sessionmapstorage",children:"new SessionMapStorage()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new SessionMapStorage"}),"<",(0,i.jsx)(s.code,{children:"V"}),">(",(0,i.jsx)(s.code,{children:"map"}),", ",(0,i.jsx)(s.code,{children:"session"}),"): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionMapStorage",children:(0,i.jsx)(s.code,{children:"SessionMapStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L32",children:"packages/core/src/storage/SessionMapStorage.ts:32"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes the storage."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"map",children:"map"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,i.jsx)(s.code,{children:"MapStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The map storage to use."}),"\n",(0,i.jsx)(s.h5,{id:"session",children:"session"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionStorage",children:(0,i.jsx)(s.code,{children:"SessionStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The session storage to use."}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/SessionMapStorage",children:(0,i.jsx)(s.code,{children:"SessionMapStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#constructors",children:(0,i.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"})," ",(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L22",children:"packages/core/src/storage/SessionMapStorage.ts:22"})]}),"\n",(0,i.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L106",children:"packages/core/src/storage/SessionMapStorage.ts:106"})]}),"\n",(0,i.jsx)(s.p,{children:"Clears the storage of all entries."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#clear",children:(0,i.jsx)(s.code,{children:"clear"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"delete"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L96",children:"packages/core/src/storage/SessionMapStorage.ts:96"})]}),"\n",(0,i.jsx)(s.p,{children:"Deletes the entry identified by the specified key from this storage."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#delete",children:(0,i.jsx)(s.code,{children:"delete"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L71",children:"packages/core/src/storage/SessionMapStorage.ts:71"})]}),"\n",(0,i.jsxs)(s.p,{children:["Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,i.jsx)(s.code,{children:"undefined"})," if the entry does not exists."]}),"\n",(0,i.jsxs)(s.p,{children:["Entries set to the ",(0,i.jsx)(s.code,{children:"undefined"})," value can be tested for existence\nusing the ",(0,i.jsx)(s.code,{children:"link has"})," method."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-1",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n",(0,i.jsx)(s.p,{children:"The value of the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#get",children:(0,i.jsx)(s.code,{children:"get"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"has"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L64",children:"packages/core/src/storage/SessionMapStorage.ts:64"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns ",(0,i.jsx)(s.code,{children:"true"})," if the entry identified by the specified key exists\nin this storage."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-2",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if the storage entry exists."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#has",children:(0,i.jsx)(s.code,{children:"has"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L43",children:"packages/core/src/storage/SessionMapStorage.ts:43"})]}),"\n",(0,i.jsx)(s.p,{children:"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."}),"\n",(0,i.jsx)(s.p,{children:"This method must be invoked only once and it must be the first method\ninvoked on this instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#init",children:(0,i.jsx)(s.code,{children:"init"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"keys",children:"keys()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"keys"}),"(): ",(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L116",children:"packages/core/src/storage/SessionMapStorage.ts:116"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n",(0,i.jsxs)(s.p,{children:["An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,i.jsx)(s.code,{children:"for..of"})," loop."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#keys",children:(0,i.jsx)(s.code,{children:"keys"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"set"}),"(",(0,i.jsx)(s.code,{children:"key"}),", ",(0,i.jsx)(s.code,{children:"value"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L78",children:"packages/core/src/storage/SessionMapStorage.ts:78"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-3",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"V"})}),"\n",(0,i.jsx)(s.p,{children:"The storage entry value."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#set",children:(0,i.jsx)(s.code,{children:"set"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"size",children:"size()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"size"}),"(): ",(0,i.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/SessionMapStorage.ts#L123",children:"packages/core/src/storage/SessionMapStorage.ts:123"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"number"})}),"\n",(0,i.jsx)(s.p,{children:"The number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#size",children:(0,i.jsx)(s.code,{children:"size"})})]})]})}function h(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>c,x:()=>d});var n=r(3696);const i={},a=n.createContext(i);function c(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a1f68851.5f15d769.js b/assets/js/a1f68851.5f15d769.js new file mode 100644 index 000000000..64b85668f --- /dev/null +++ b/assets/js/a1f68851.5f15d769.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9247],{7283:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>c,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/cli/functions/findRules","title":"Function: findRules()","description":"findRules(config, testString, loader?): RuleSetRule[] \\\\| RuleSetUseItem[]","source":"@site/../docs/api/@ima/cli/functions/findRules.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/findRules","permalink":"/api/@ima/cli/functions/findRules","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/findRules.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: createWebpackConfig()","permalink":"/api/@ima/cli/functions/createWebpackConfig"},"next":{"title":"Function: getCurrentCoreJsVersion()","permalink":"/api/@ima/cli/functions/getCurrentCoreJsVersion"}}');var s=i(2540),r=i(3023);const c={},l="Function: findRules()",o={},d=[{value:"Parameters",id:"parameters",level:2},{value:"config",id:"config",level:3},{value:"testString",id:"teststring",level:3},{value:"loader?",id:"loader",level:3},{value:"Returns",id:"returns",level:2}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-findrules",children:"Function: findRules()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"findRules"}),"(",(0,s.jsx)(n.code,{children:"config"}),", ",(0,s.jsx)(n.code,{children:"testString"}),", ",(0,s.jsx)(n.code,{children:"loader"}),"?): ",(0,s.jsx)(n.code,{children:"RuleSetRule"}),"[] | ",(0,s.jsx)(n.code,{children:"RuleSetUseItem"}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L20",children:"webpack/utils.ts:20"})]}),"\n",(0,s.jsx)(n.p,{children:"Helper for finding rules with given loader in webpack config."}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"Configuration"})}),"\n",(0,s.jsx)(n.h3,{id:"teststring",children:"testString"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h3,{id:"loader",children:"loader?"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"RuleSetRule"}),"[] | ",(0,s.jsx)(n.code,{children:"RuleSetUseItem"}),"[]"]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>l});var t=i(3696);const s={},r=t.createContext(s);function c(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a1fa3683.5aa9b40e.js b/assets/js/a1fa3683.5aa9b40e.js deleted file mode 100644 index f545228c6..000000000 --- a/assets/js/a1fa3683.5aa9b40e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9754],{5680:(e,t,n)=>{n.d(t,{xA:()=>u,yg:()=>g});var a=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(n),m=o,g=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return n?a.createElement(g,i(i({ref:t},u),{},{components:n})):a.createElement(g,i({ref:t},u))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,i=new Array(r);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:o,i[1]=l;for(var c=2;c<r;c++)i[c]=n[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},135:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var a=n(8102),o=(n(6540),n(5680));const r={title:"Middlewares",description:"Basic features > Routing > Middlewares"},i=void 0,l={unversionedId:"basic-features/routing/middlewares",id:"basic-features/routing/middlewares",title:"Middlewares",description:"Basic features > Routing > Middlewares",source:"@site/../docs/basic-features/routing/middlewares.md",sourceDirName:"basic-features/routing",slug:"/basic-features/routing/middlewares",permalink:"/basic-features/routing/middlewares",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/middlewares.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Middlewares",description:"Basic features > Routing > Middlewares"},sidebar:"docs",previous:{title:"Dynamic Routes",permalink:"/basic-features/routing/dynamic-routes"},next:{title:"Async Routing",permalink:"/basic-features/routing/async-routing"}},s={},c=[{value:"Function arguments",id:"function-arguments",level:2},{value:"params",id:"params",level:3},{value:"locals",id:"locals",level:3},{value:"route",id:"route",level:4},{value:"action",id:"action",level:4},{value:"next",id:"next",level:3},{value:"Execution order",id:"execution-order",level:2},{value:"Execution timeout",id:"execution-timeout",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.yg)(d,(0,a.A)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,"Middlewares are simple functions that run before/after route handlers. They can be used to restrict access to certain set of routes or act based on parsed route params."),(0,o.yg)("p",null,"There are two types of middleware ",(0,o.yg)("strong",{parentName:"p"},"global")," and ",(0,o.yg)("strong",{parentName:"p"},"local"),". As the names suggest the first one is defined globally on the router instance using ",(0,o.yg)("inlineCode",{parentName:"p"},"use()")," method and the second type is bound to specific route and is defined in the route ",(0,o.yg)("inlineCode",{parentName:"p"},"options.middlewares")," property."),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/config/routes.js",title:"./app/config/routes.js"},"// The imports are stripped for compactness.\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .use(async (params, locals) => {\n console.log('Global middleware', params, locals, locals.route, locals.action);\n locals.counter = 0;\n });\n .add('home', '/', HomeController, HomeView, {\n middlewares: [\n async (params, locals, next) => {\n next({ counter: counter++ });\n }\n ]\n })\n .add(RouteNames.ERROR, '/error', ErrorController, ErrorView)\n .add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);\n}\n")),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"Since you have access to the object container (",(0,o.yg)("inlineCode",{parentName:"p"},"oc"),"), you can basically do anything you want in the middlewares."),(0,o.yg)("p",{parentName:"admonition"},"You can easily define authentication middlewares or access-restricting middlewares since throwing an error from the middleware is handled the same way as any other error in the application.")),(0,o.yg)("h2",{id:"function-arguments"},"Function arguments"),(0,o.yg)("p",null,"Each middleware can be ",(0,o.yg)("strong",{parentName:"p"},"async")," and the functions can use up to three arguments: ",(0,o.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,o.yg)("inlineCode",{parentName:"p"},"locals")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"next"),". ",(0,o.yg)("inlineCode",{parentName:"p"},"params")," specifically allows you to modify route params, ",(0,o.yg)("inlineCode",{parentName:"p"},"locals")," is used to pass data between middlewares and ",(0,o.yg)("inlineCode",{parentName:"p"},"next")," callback provides additional"),(0,o.yg)("h3",{id:"params"},"params"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"object = {}"))),(0,o.yg)("p",null,"Contains route params extracted by the ",(0,o.yg)("strong",{parentName:"p"},"currently matched route handler"),". Can be empty if there was no route match before execution of concrete middleware."),(0,o.yg)("h3",{id:"locals"},"locals"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"RouteLocals = {}"))),(0,o.yg)("p",null,"Mutable object you can use to pass data between middlewares. It is passed across all middlewares, so anything you define here, is available in following middleware functions."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"In addition to mutating the original object, you can also ",(0,o.yg)("strong",{parentName:"p"},"return object values from middlewares")," or pass them as an argument in the ",(0,o.yg)("inlineCode",{parentName:"p"},"next()")," function. These are then merged into the ",(0,o.yg)("inlineCode",{parentName:"p"},"locals")," upon it's execution."),(0,o.yg)("pre",{parentName:"admonition"},(0,o.yg)("code",{parentName:"pre",className:"language-js"},"async (params, locals) => {\n locals.counter++;\n}\n\n// or\n\nasync (params, locals) => {\n return { counter: counter++ };\n}\n\n// or\n\nasync (params, locals, next) => {\n next({ counter: counter++ });\n}\n"))),(0,o.yg)("p",null,"Additionally it always contains following keys:"),(0,o.yg)("h4",{id:"route"},"route"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"AbstractRoute"))),(0,o.yg)("p",null,"Instance of currently matched route."),(0,o.yg)("h4",{id:"action"},"action"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"RouteAction = {}"))),(0,o.yg)("p",null,"An action object describing what triggered this routing (can be empty)."),(0,o.yg)("h3",{id:"next"},"next"),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("inlineCode",{parentName:"p"},"(result?: object) => void"))),(0,o.yg)("p",null,"When called, this function (as the name suggest) allows you to continue with execution of other route handlers. Apart from other frameworks that use similar feature, when you define ",(0,o.yg)("inlineCode",{parentName:"p"},"next")," argument in your middleware, ",(0,o.yg)("strong",{parentName:"p"},"you have to execute it in order to continue"),". Otherwise the router will not proceed any further even if the middleware function content finished it's execution."),(0,o.yg)("p",null,"This is intentional as it allows you to have more control over the middleware execution and gives you ability to stop the routing process completely."),(0,o.yg)("admonition",{type:"tip"},(0,o.yg)("p",{parentName:"admonition"},"This is can be usefull in situations when for example you want to do a redirect, which is synchronous but takes a while until the window is reloaded. Without stopping the middleware execution (by defining the ",(0,o.yg)("inlineCode",{parentName:"p"},"next")," callback and not calling it), you could get a glimpse of Error Page that is rendered before the redirect takes places, because the router continued it's processing."),(0,o.yg)("pre",{parentName:"admonition"},(0,o.yg)("code",{parentName:"pre",className:"language-js"},"async (params, locals, next) => {\n if (await oc.get('User').isLoggedIn()) {\n // Continue normally\n return next();\n }\n\n // Stop execution by not calling `next()` and do a redirect\n oc.get('$Router').redirect('/');\n}\n"))),(0,o.yg)("h2",{id:"execution-order"},"Execution order"),(0,o.yg)("p",null,"Middleware functions are resolved ",(0,o.yg)("strong",{parentName:"p"},"from top to bottom sequentially"),". In case of the code above, when routing to ",(0,o.yg)("inlineCode",{parentName:"p"},"home")," route, following things would have happened:"),(0,o.yg)("ol",null,(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("strong",{parentName:"li"},"Global middlewares")," defined above currently matched route are executed (in this case we have only one global middleware, defined above all routes)."),(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("strong",{parentName:"li"},"Params extraction")," from currently matched route handler (home) is executed."),(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("strong",{parentName:"li"},"Local route")," middlewares are executed (with newly extracted route params).")),(0,o.yg)("p",null,"In case of an ",(0,o.yg)("strong",{parentName:"p"},"error")," or not ",(0,o.yg)("strong",{parentName:"p"},"found page"),", the execution order is still ",(0,o.yg)("strong",{parentName:"p"},"the same"),", meaning the global and route middlewares are executed as with any other route."),(0,o.yg)("admonition",{type:"caution"},(0,o.yg)("p",{parentName:"admonition"},"There's only one exception, since the ",(0,o.yg)("inlineCode",{parentName:"p"},"locals")," object is cleared to an empty object before route handling, if an error occurs during route handling and execution is internally passed to error handling (displaying error page), the locals object may retain values that were there for the previous route matching. However the ",(0,o.yg)("inlineCode",{parentName:"p"},"locals.route")," object will still be up to date and equal to currently routed route (error in this case).")),(0,o.yg)("h2",{id:"execution-timeout"},"Execution timeout"),(0,o.yg)("p",null,"To prevent middlewares from freezing the application, for example when the middlewares takes too long to execute, we've implemented execution timeout, which prevents them from running indefinitely."),(0,o.yg)("p",null,"You can ",(0,o.yg)("strong",{parentName:"p"},"customize the timeout value")," in app settings:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-js",metastring:'title="./app/config/settings.js"',title:'"./app/config/settings.js"'},"export default (ns, oc, config) => {\n return {\n prod: {\n $Router: {\n middlewareTimeout: 30000, // ms\n },\n },\n };\n};\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a1fa3683.a2c8fab1.js b/assets/js/a1fa3683.a2c8fab1.js new file mode 100644 index 000000000..f62d74e25 --- /dev/null +++ b/assets/js/a1fa3683.a2c8fab1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9754],{6610:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"basic-features/routing/middlewares","title":"Middlewares","description":"Basic features > Routing > Middlewares","source":"@site/../docs/basic-features/routing/middlewares.md","sourceDirName":"basic-features/routing","slug":"/basic-features/routing/middlewares","permalink":"/basic-features/routing/middlewares","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/routing/middlewares.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Middlewares","description":"Basic features > Routing > Middlewares"},"sidebar":"docs","previous":{"title":"Dynamic Routes","permalink":"/basic-features/routing/dynamic-routes"},"next":{"title":"Async Routing","permalink":"/basic-features/routing/async-routing"}}');var r=t(2540),s=t(3023);const i={title:"Middlewares",description:"Basic features > Routing > Middlewares"},a=void 0,c={},l=[{value:"Function arguments",id:"function-arguments",level:2},{value:"params",id:"params",level:3},{value:"locals",id:"locals",level:3},{value:"route",id:"route",level:4},{value:"action",id:"action",level:4},{value:"next",id:"next",level:3},{value:"Execution order",id:"execution-order",level:2},{value:"Execution timeout",id:"execution-timeout",level:2}];function d(e){const n={admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Middlewares are simple functions that run before/after route handlers. They can be used to restrict access to certain set of routes or act based on parsed route params."}),"\n",(0,r.jsxs)(n.p,{children:["There are two types of middleware ",(0,r.jsx)(n.strong,{children:"global"})," and ",(0,r.jsx)(n.strong,{children:"local"}),". As the names suggest the first one is defined globally on the router instance using ",(0,r.jsx)(n.code,{children:"use()"})," method and the second type is bound to specific route and is defined in the route ",(0,r.jsx)(n.code,{children:"options.middlewares"})," property."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",metastring:"title=./app/config/routes.js",children:"// The imports are stripped for compactness.\nexport let init = (ns, oc, config) => {\n const router = oc.get('$Router');\n\n router\n .use(async (params, locals) => {\n console.log('Global middleware', params, locals, locals.route, locals.action);\n locals.counter = 0;\n });\n .add('home', '/', HomeController, HomeView, {\n middlewares: [\n async (params, locals, next) => {\n next({ counter: counter++ });\n }\n ]\n })\n .add(RouteNames.ERROR, '/error', ErrorController, ErrorView)\n .add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);\n}\n"})}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["Since you have access to the object container (",(0,r.jsx)(n.code,{children:"oc"}),"), you can basically do anything you want in the middlewares."]}),(0,r.jsx)(n.p,{children:"You can easily define authentication middlewares or access-restricting middlewares since throwing an error from the middleware is handled the same way as any other error in the application."})]}),"\n",(0,r.jsx)(n.h2,{id:"function-arguments",children:"Function arguments"}),"\n",(0,r.jsxs)(n.p,{children:["Each middleware can be ",(0,r.jsx)(n.strong,{children:"async"})," and the functions can use up to three arguments: ",(0,r.jsx)(n.code,{children:"params"}),", ",(0,r.jsx)(n.code,{children:"locals"})," and ",(0,r.jsx)(n.code,{children:"next"}),". ",(0,r.jsx)(n.code,{children:"params"})," specifically allows you to modify route params, ",(0,r.jsx)(n.code,{children:"locals"})," is used to pass data between middlewares and ",(0,r.jsx)(n.code,{children:"next"})," callback provides additional"]}),"\n",(0,r.jsx)(n.h3,{id:"params",children:"params"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"object = {}"})}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Contains route params extracted by the ",(0,r.jsx)(n.strong,{children:"currently matched route handler"}),". Can be empty if there was no route match before execution of concrete middleware."]}),"\n",(0,r.jsx)(n.h3,{id:"locals",children:"locals"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"RouteLocals = {}"})}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Mutable object you can use to pass data between middlewares. It is passed across all middlewares, so anything you define here, is available in following middleware functions."}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["In addition to mutating the original object, you can also ",(0,r.jsx)(n.strong,{children:"return object values from middlewares"})," or pass them as an argument in the ",(0,r.jsx)(n.code,{children:"next()"})," function. These are then merged into the ",(0,r.jsx)(n.code,{children:"locals"})," upon it's execution."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"async (params, locals) => {\n locals.counter++;\n}\n\n// or\n\nasync (params, locals) => {\n return { counter: counter++ };\n}\n\n// or\n\nasync (params, locals, next) => {\n next({ counter: counter++ });\n}\n"})})]}),"\n",(0,r.jsx)(n.p,{children:"Additionally it always contains following keys:"}),"\n",(0,r.jsx)(n.h4,{id:"route",children:"route"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"AbstractRoute"})}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Instance of currently matched route."}),"\n",(0,r.jsx)(n.h4,{id:"action",children:"action"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"RouteAction = {}"})}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"An action object describing what triggered this routing (can be empty)."}),"\n",(0,r.jsx)(n.h3,{id:"next",children:"next"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"(result?: object) => void"})}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["When called, this function (as the name suggest) allows you to continue with execution of other route handlers. Apart from other frameworks that use similar feature, when you define ",(0,r.jsx)(n.code,{children:"next"})," argument in your middleware, ",(0,r.jsx)(n.strong,{children:"you have to execute it in order to continue"}),". Otherwise the router will not proceed any further even if the middleware function content finished it's execution."]}),"\n",(0,r.jsx)(n.p,{children:"This is intentional as it allows you to have more control over the middleware execution and gives you ability to stop the routing process completely."}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["This is can be usefull in situations when for example you want to do a redirect, which is synchronous but takes a while until the window is reloaded. Without stopping the middleware execution (by defining the ",(0,r.jsx)(n.code,{children:"next"})," callback and not calling it), you could get a glimpse of Error Page that is rendered before the redirect takes places, because the router continued it's processing."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"async (params, locals, next) => {\n if (await oc.get('User').isLoggedIn()) {\n // Continue normally\n return next();\n }\n\n // Stop execution by not calling `next()` and do a redirect\n oc.get('$Router').redirect('/');\n}\n"})})]}),"\n",(0,r.jsx)(n.h2,{id:"execution-order",children:"Execution order"}),"\n",(0,r.jsxs)(n.p,{children:["Middleware functions are resolved ",(0,r.jsx)(n.strong,{children:"from top to bottom sequentially"}),". In case of the code above, when routing to ",(0,r.jsx)(n.code,{children:"home"})," route, following things would have happened:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Global middlewares"})," defined above currently matched route are executed (in this case we have only one global middleware, defined above all routes)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Params extraction"})," from currently matched route handler (home) is executed."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Local route"})," middlewares are executed (with newly extracted route params)."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["In case of an ",(0,r.jsx)(n.strong,{children:"error"})," or not ",(0,r.jsx)(n.strong,{children:"found page"}),", the execution order is still ",(0,r.jsx)(n.strong,{children:"the same"}),", meaning the global and route middlewares are executed as with any other route."]}),"\n",(0,r.jsx)(n.admonition,{type:"caution",children:(0,r.jsxs)(n.p,{children:["There's only one exception, since the ",(0,r.jsx)(n.code,{children:"locals"})," object is cleared to an empty object before route handling, if an error occurs during route handling and execution is internally passed to error handling (displaying error page), the locals object may retain values that were there for the previous route matching. However the ",(0,r.jsx)(n.code,{children:"locals.route"})," object will still be up to date and equal to currently routed route (error in this case)."]})}),"\n",(0,r.jsx)(n.h2,{id:"execution-timeout",children:"Execution timeout"}),"\n",(0,r.jsx)(n.p,{children:"To prevent middlewares from freezing the application, for example when the middlewares takes too long to execute, we've implemented execution timeout, which prevents them from running indefinitely."}),"\n",(0,r.jsxs)(n.p,{children:["You can ",(0,r.jsx)(n.strong,{children:"customize the timeout value"})," in app settings:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="./app/config/settings.js"',children:"export default (ns, oc, config) => {\n return {\n prod: {\n $Router: {\n middlewareTimeout: 30000, // ms\n },\n },\n };\n};\n"})})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var o=t(3696);const r={},s=o.createContext(r);function i(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2c3b390.29639b48.js b/assets/js/a2c3b390.29639b48.js deleted file mode 100644 index ff0dfd48d..000000000 --- a/assets/js/a2c3b390.29639b48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6586],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var g=r.createContext({}),s=function(e){var a=r.useContext(g),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=s(e.components);return r.createElement(g.Provider,{value:a},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,g=e.parentName,o=p(e,["components","mdxType","originalType","parentName"]),d=s(t),m=n,c=d["".concat(g,".").concat(m)]||d[m]||y[m]||i;return t?r.createElement(c,l(l({ref:a},o),{},{components:t})):r.createElement(c,l({ref:a},o))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=m;var p={};for(var g in a)hasOwnProperty.call(a,g)&&(p[g]=a[g]);p.originalType=e,p[d]="string"==typeof e?e:n,l[1]=p;for(var s=2;s<i;s++)l[s]=t[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},3222:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>g,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.MapStorage",title:"Class: MapStorage<V>",sidebar_label:"@ima/core.MapStorage",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.MapStorage",id:"api/classes/ima_core.MapStorage",title:"Class: MapStorage<V>",description:"@ima/core.MapStorage",source:"@site/../docs/api/classes/ima_core.MapStorage.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.MapStorage",permalink:"/api/classes/ima_core.MapStorage",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.MapStorage",title:"Class: MapStorage<V>",sidebar_label:"@ima/core.MapStorage",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.HttpProxy",permalink:"/api/classes/ima_core.HttpProxy"},next:{title:"@ima/core.MessageFormatDictionary",permalink:"/api/classes/ima_core.MessageFormatDictionary"}},g={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Properties",id:"properties",level:2},{value:"_storage",id:"_storage",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"keys",id:"keys",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"size",id:"size",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-9",level:4}],o={toc:s},d="wrapper";function y(e){let{components:a,...t}=e;return(0,n.yg)(d,(0,r.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".MapStorage"),(0,n.yg)("p",null,"Implementation of the ",(0,n.yg)("inlineCode",{parentName:"p"},"link Storage")," interface that relies on the\nnative ",(0,n.yg)("inlineCode",{parentName:"p"},"Map")," for storage."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"MapStorage"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new MapStorage"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","()"),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#constructor"},"constructor")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_storage"},"_","storage"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","storage"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"The internal storage of entries."),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L12"},"packages/core/src/storage/MapStorage.ts:12")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L14"},"packages/core/src/storage/MapStorage.ts:14")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Clears the storage of all entries."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#clear"},"clear")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L60"},"packages/core/src/storage/MapStorage.ts:60")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"delete"},"delete"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"delete"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Deletes the entry identified by the specified key from this storage."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#delete"},"delete")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L51"},"packages/core/src/storage/MapStorage.ts:51")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"get"},"get"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"get"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," if the entry does not exists."),(0,n.yg)("p",null,"Entries set to the ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," value can be tested for existence\nusing the ",(0,n.yg)("inlineCode",{parentName:"p"},"link has")," method."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"The value of the storage entry."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#get"},"get")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L35"},"packages/core/src/storage/MapStorage.ts:35")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"has"},"has"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"has"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the entry identified by the specified key exists\nin this storage."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the storage entry exists."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#has"},"has")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L28"},"packages/core/src/storage/MapStorage.ts:28")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."),(0,n.yg)("p",null,"This method must be invoked only once and it must be the first method\ninvoked on this instance."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#init"},"init")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L21"},"packages/core/src/storage/MapStorage.ts:21")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"keys"},"keys"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"keys"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,n.yg)("inlineCode",{parentName:"p"},"for..of")," loop."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#keys"},"keys")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L69"},"packages/core/src/storage/MapStorage.ts:69")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"set"},"set"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"set"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The storage entry value.")))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#set"},"set")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L42"},"packages/core/src/storage/MapStorage.ts:42")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"size"},"size"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"size"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the number of entries in this storage."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The number of entries in this storage."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#size"},"size")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/MapStorage.ts#L76"},"packages/core/src/storage/MapStorage.ts:76")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a314e9a5.f1fdc5d1.js b/assets/js/a314e9a5.f1fdc5d1.js new file mode 100644 index 000000000..fb6c7d751 --- /dev/null +++ b/assets/js/a314e9a5.f1fdc5d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2748],{4467:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/ClientPageManager","title":"Class: ClientPageManager","description":"Defined in23","source":"@site/../docs/api/@ima/core/classes/ClientPageManager.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ClientPageManager","permalink":"/api/@ima/core/classes/ClientPageManager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ClientPageManager.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: CancelError","permalink":"/api/@ima/core/classes/CancelError"},"next":{"title":"Class: ClientRouter","permalink":"/api/@ima/core/classes/ClientRouter"}}');var s=a(2540),i=a(3023);const c={},d="Class: ClientPageManager",t={},l=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ClientPageManager()",id:"new-clientpagemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageFactory",id:"pagefactory",level:5},{value:"pageRenderer",id:"pagerenderer",level:5},{value:"pageStateManager",id:"pagestatemanager",level:5},{value:"handlerRegistry",id:"handlerregistry",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"window",id:"window",level:5},{value:"eventBus",id:"eventbus",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"_managedPage",id:"_managedpage",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_pageFactory",id:"_pagefactory",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_pageHandlerRegistry",id:"_pagehandlerregistry",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_pageRenderer",id:"_pagerenderer",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"_previousManagedPage",id:"_previousmanagedpage",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"_activateController()",id:"_activatecontroller",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"_activateExtensions()",id:"_activateextensions",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"_activatePageSource()",id:"_activatepagesource",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"_clearComponentState()",id:"_clearcomponentstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"_constructManagedPageValue()",id:"_constructmanagedpagevalue",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"route",id:"route",level:5},{value:"options",id:"options-1",level:5},{value:"params",id:"params",level:5},{value:"controllerInstance",id:"controllerinstance",level:5},{value:"decoratedController",id:"decoratedcontroller",level:5},{value:"viewInstance",id:"viewinstance",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"_deactivateController()",id:"_deactivatecontroller",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"_deactivateExtensions()",id:"_deactivateextensions",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"_deactivatePageSource()",id:"_deactivatepagesource",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"_destroyController()",id:"_destroycontroller",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"_destroyExtensions()",id:"_destroyextensions",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"_destroyPageSource()",id:"_destroypagesource",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"_getInitialManagedPage()",id:"_getinitialmanagedpage",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"_getLoadedControllerState()",id:"_getloadedcontrollerstate",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"_getLoadedExtensionsState()",id:"_getloadedextensionsstate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"controllerState?",id:"controllerstate",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"_getUpdatedControllerState()",id:"_getupdatedcontrollerstate",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"_getUpdatedExtensionsState()",id:"_getupdatedextensionsstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"controllerState?",id:"controllerstate-1",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"_handleEventWithController()",id:"_handleeventwithcontroller",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"prefix",id:"prefix",level:5},{value:"method",id:"method",level:5},{value:"data",id:"data",level:5},{value:"Returns",id:"returns-18",level:4},{value:"_handleEventWithExtensions()",id:"_handleeventwithextensions",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"prefix",id:"prefix-1",level:5},{value:"method",id:"method-1",level:5},{value:"data",id:"data-1",level:5},{value:"Returns",id:"returns-19",level:4},{value:"_hasOnlyUpdate()",id:"_hasonlyupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"controller",id:"controller-1",level:5},{value:"view",id:"view-1",level:5},{value:"options",id:"options-2",level:5},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"_initController()",id:"_initcontroller",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"_initExtensions()",id:"_initextensions",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"_initPageSource()",id:"_initpagesource",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"_loadPageSource()",id:"_loadpagesource",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"_onChangeStateHandler()",id:"_onchangestatehandler",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"state",id:"state",level:5},{value:"Returns",id:"returns-25",level:4},{value:"_onCustomEventHandler()",id:"_oncustomeventhandler",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"event",id:"event",level:5},{value:"Returns",id:"returns-26",level:4},{value:"_parseCustomEvent()",id:"_parsecustomevent",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"event",id:"event-1",level:5},{value:"Returns",id:"returns-27",level:4},{value:"data",id:"data-2",level:5},{value:"eventName",id:"eventname",level:5},{value:"method",id:"method-2",level:5},{value:"prefix",id:"prefix-2",level:5},{value:"_runPostManageHandlers()",id:"_runpostmanagehandlers",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"previousManagedPage",id:"previousmanagedpage",level:5},{value:"action",id:"action",level:5},{value:"Returns",id:"returns-28",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"_runPreManageHandlers()",id:"_runpremanagehandlers",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"actualManagedPage",id:"actualmanagedpage",level:5},{value:"action",id:"action-1",level:5},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"_setRestrictedPageStateManager()",id:"_setrestrictedpagestatemanager",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"extension",id:"extension",level:5},{value:"extensionState",id:"extensionstate",level:5},{value:"Returns",id:"returns-30",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"_storeManagedPageSnapshot()",id:"_storemanagedpagesnapshot",level:3},{value:"Returns",id:"returns-31",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"_stripManagedPageValueForPublic()",id:"_stripmanagedpagevalueforpublic",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-32",level:4},{value:"controller",id:"controller-2",level:5},{value:"options",id:"options-3",level:5},{value:"params",id:"params-1",level:5},{value:"route",id:"route-1",level:5},{value:"view",id:"view-2",level:5},{value:"Inherited from",id:"inherited-from-32",level:4},{value:"_switchToPageStateManager()",id:"_switchtopagestatemanager",level:3},{value:"Returns",id:"returns-33",level:4},{value:"Inherited from",id:"inherited-from-33",level:4},{value:"_switchToPageStateManagerAfterLoaded()",id:"_switchtopagestatemanagerafterloaded",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"extension",id:"extension-1",level:5},{value:"extensionState",id:"extensionstate-1",level:5},{value:"Returns",id:"returns-34",level:4},{value:"Inherited from",id:"inherited-from-34",level:4},{value:"_updatePageSource()",id:"_updatepagesource",level:3},{value:"Returns",id:"returns-35",level:4},{value:"Inherited from",id:"inherited-from-35",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-36",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getViewController()",id:"getviewcontroller",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"route",id:"route-2",level:5},{value:"Returns",id:"returns-37",level:4},{value:"Inherited from",id:"inherited-from-36",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-38",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"manage()",id:"manage",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"__namedParameters",id:"__namedparameters",level:5},{value:"Returns",id:"returns-39",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"postManage()",id:"postmanage",level:3},{value:"Returns",id:"returns-40",level:4},{value:"Inherited from",id:"inherited-from-37",level:4},{value:"preManage()",id:"premanage",level:3},{value:"Returns",id:"returns-41",level:4},{value:"Inherited from",id:"inherited-from-38",level:4}];function o(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"class-clientpagemanager",children:"Class: ClientPageManager"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L23",children:"packages/core/src/page/manager/ClientPageManager.ts:23"})]}),"\n",(0,s.jsx)(r.p,{children:"Page manager for controller on the client side."}),"\n",(0,s.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})})}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(r.h3,{id:"new-clientpagemanager",children:"new ClientPageManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"new ClientPageManager"}),"(",(0,s.jsx)(r.code,{children:"pageFactory"}),", ",(0,s.jsx)(r.code,{children:"pageRenderer"}),", ",(0,s.jsx)(r.code,{children:"pageStateManager"}),", ",(0,s.jsx)(r.code,{children:"handlerRegistry"}),", ",(0,s.jsx)(r.code,{children:"dispatcher"}),", ",(0,s.jsx)(r.code,{children:"window"}),", ",(0,s.jsx)(r.code,{children:"eventBus"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ClientPageManager",children:(0,s.jsx)(r.code,{children:"ClientPageManager"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L70",children:"packages/core/src/page/manager/ClientPageManager.ts:70"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes the client-side page manager."}),"\n",(0,s.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"pagefactory",children:"pageFactory"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(r.code,{children:"PageFactory"})})}),"\n",(0,s.jsx)(r.p,{children:"Factory used by the page manager to\ncreate instances of the controller for the current route, and\ndecorate the controllers and page state managers."}),"\n",(0,s.jsx)(r.h5,{id:"pagerenderer",children:"pageRenderer"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,s.jsx)(r.code,{children:"PageRenderer"})})}),"\n",(0,s.jsx)(r.p,{children:"The current renderer of the page."}),"\n",(0,s.jsx)(r.h5,{id:"pagestatemanager",children:"pageStateManager"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(r.code,{children:"PageStateManager"})})}),"\n",(0,s.jsx)(r.h5,{id:"handlerregistry",children:"handlerRegistry"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(r.code,{children:"PageHandlerRegistry"})})}),"\n",(0,s.jsx)(r.p,{children:"Instance of HandlerRegistry that\nholds a list of pre-manage and post-manage handlers."}),"\n",(0,s.jsx)(r.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(r.code,{children:"Dispatcher"})})}),"\n",(0,s.jsx)(r.p,{children:"IMA Dispatcher."}),"\n",(0,s.jsx)(r.h5,{id:"window",children:"window"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Window",children:(0,s.jsx)(r.code,{children:"Window"})})}),"\n",(0,s.jsx)(r.p,{children:"The utility for manipulating the global context\nand global client-side-specific APIs."}),"\n",(0,s.jsx)(r.h5,{id:"eventbus",children:"eventBus"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(r.code,{children:"EventBus"})})}),"\n",(0,s.jsx)(r.p,{children:"The event bus for dispatching and listening\nfor custom IMA events propagated through the DOM."}),"\n",(0,s.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ClientPageManager",children:(0,s.jsx)(r.code,{children:"ClientPageManager"})})}),"\n",(0,s.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#constructors",children:(0,s.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_dispatcher"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(r.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L81",children:"packages/core/src/page/manager/AbstractPageManager.ts:81"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_dispatcher",children:(0,s.jsx)(r.code,{children:"_dispatcher"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_managedpage",children:"_managedPage"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_managedPage"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L68",children:"packages/core/src/page/manager/AbstractPageManager.ts:68"})]}),"\n",(0,s.jsx)(r.p,{children:"Details of the currently managed page."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_managedpage",children:(0,s.jsx)(r.code,{children:"_managedPage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagefactory",children:"_pageFactory"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageFactory"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(r.code,{children:"PageFactory"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L63",children:"packages/core/src/page/manager/AbstractPageManager.ts:63"})]}),"\n",(0,s.jsx)(r.p,{children:"Factory used by the page manager to create instances of the\ncontroller for the current route, and decorate the controllers and\npage state managers."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagefactory",children:(0,s.jsx)(r.code,{children:"_pageFactory"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagehandlerregistry",children:"_pageHandlerRegistry"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageHandlerRegistry"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(r.code,{children:"PageHandlerRegistry"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L80",children:"packages/core/src/page/manager/AbstractPageManager.ts:80"})]}),"\n",(0,s.jsx)(r.p,{children:"A registry that holds a list of pre-manage and post-manage handlers."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagehandlerregistry",children:(0,s.jsx)(r.code,{children:"_pageHandlerRegistry"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagerenderer",children:"_pageRenderer"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageRenderer"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,s.jsx)(r.code,{children:"PageRenderer"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L72",children:"packages/core/src/page/manager/AbstractPageManager.ts:72"})]}),"\n",(0,s.jsx)(r.p,{children:"The current renderer of the page."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagerenderer",children:(0,s.jsx)(r.code,{children:"_pageRenderer"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_pagestatemanager",children:"_pageStateManager"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_pageStateManager"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(r.code,{children:"PageStateManager"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L76",children:"packages/core/src/page/manager/AbstractPageManager.ts:76"})]}),"\n",(0,s.jsx)(r.p,{children:"The current page state manager."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_pagestatemanager",children:(0,s.jsx)(r.code,{children:"_pageStateManager"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_previousmanagedpage",children:"_previousManagedPage"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_previousManagedPage"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L57",children:"packages/core/src/page/manager/AbstractPageManager.ts:57"})]}),"\n",(0,s.jsx)(r.p,{children:"Snapshot of the previously managed page before it was replaced with\na new one"}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_previousmanagedpage",children:(0,s.jsx)(r.code,{children:"_previousManagedPage"})})]}),"\n",(0,s.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,s.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,s.jsx)(r.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"get"})," ",(0,s.jsx)(r.code,{children:"static"})," ",(0,s.jsx)(r.strong,{children:"$dependencies"}),"(): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,s.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L42",children:"packages/core/src/page/manager/ClientPageManager.ts:42"})]}),"\n",(0,s.jsx)(r.h5,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,s.jsx)(r.code,{children:"Dependencies"})})}),"\n",(0,s.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(r.h3,{id:"_activatecontroller",children:"_activateController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_activateController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L549",children:"packages/core/src/page/manager/AbstractPageManager.ts:549"})]}),"\n",(0,s.jsx)(r.p,{children:"Activate managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_activatecontroller",children:(0,s.jsx)(r.code,{children:"_activateController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_activateextensions",children:"_activateExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_activateExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L563",children:"packages/core/src/page/manager/AbstractPageManager.ts:563"})]}),"\n",(0,s.jsx)(r.p,{children:"Activate extensions for managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_activateextensions",children:(0,s.jsx)(r.code,{children:"_activateExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_activatepagesource",children:"_activatePageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_activatePageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L529",children:"packages/core/src/page/manager/AbstractPageManager.ts:529"})]}),"\n",(0,s.jsx)(r.p,{children:"Activate page source so call activate method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_activatepagesource",children:(0,s.jsx)(r.code,{children:"_activatePageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_clearcomponentstate",children:"_clearComponentState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_clearComponentState"}),"(",(0,s.jsx)(r.code,{children:"options"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L753",children:"packages/core/src/page/manager/AbstractPageManager.ts:753"})]}),"\n",(0,s.jsx)(r.p,{children:"The method clear state on current rendered component to DOM."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"options",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.p,{children:"The current route options."}),"\n",(0,s.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_clearcomponentstate",children:(0,s.jsx)(r.code,{children:"_clearComponentState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_constructmanagedpagevalue",children:"_constructManagedPageValue()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_constructManagedPageValue"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"view"}),", ",(0,s.jsx)(r.code,{children:"route"}),", ",(0,s.jsx)(r.code,{children:"options"}),", ",(0,s.jsx)(r.code,{children:"params"}),", ",(0,s.jsx)(r.code,{children:"controllerInstance"}),", ",(0,s.jsx)(r.code,{children:"decoratedController"}),", ",(0,s.jsx)(r.code,{children:"viewInstance"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L245",children:"packages/core/src/page/manager/AbstractPageManager.ts:245"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(r.h5,{id:"view",children:"view"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"unknown"})}),"\n",(0,s.jsx)(r.h5,{id:"route",children:"route"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(r.code,{children:"string"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,s.jsx)(r.h5,{id:"options-1",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(r.code,{children:"RouteParams"})})}),"\n",(0,s.jsx)(r.h5,{id:"controllerinstance",children:"controllerInstance"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(r.code,{children:"Controller"})}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,s.jsx)(r.code,{children:"PageState"})}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(r.code,{children:"RouteParams"})}),", ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,s.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,s.jsx)(r.h5,{id:"decoratedcontroller",children:"decoratedController"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,s.jsx)(r.code,{children:"ControllerDecorator"})})}),"\n",(0,s.jsx)(r.h5,{id:"viewinstance",children:"viewInstance"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"unknown"})}),"\n",(0,s.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_constructmanagedpagevalue",children:(0,s.jsx)(r.code,{children:"_constructManagedPageValue"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_deactivatecontroller",children:"_deactivateController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_deactivateController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L691",children:"packages/core/src/page/manager/AbstractPageManager.ts:691"})]}),"\n",(0,s.jsx)(r.p,{children:"Deactivate last managed instance of controller only If controller was\nactivated."}),"\n",(0,s.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_deactivatecontroller",children:(0,s.jsx)(r.code,{children:"_deactivateController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_deactivateextensions",children:"_deactivateExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_deactivateExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L702",children:"packages/core/src/page/manager/AbstractPageManager.ts:702"})]}),"\n",(0,s.jsx)(r.p,{children:"Deactivate extensions for last managed instance of controller only if\nthey were activated."}),"\n",(0,s.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_deactivateextensions",children:(0,s.jsx)(r.code,{children:"_deactivateExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_deactivatepagesource",children:"_deactivatePageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_deactivatePageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L677",children:"packages/core/src/page/manager/AbstractPageManager.ts:677"})]}),"\n",(0,s.jsx)(r.p,{children:"Deactivate page source so call deactivate method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_deactivatepagesource",children:(0,s.jsx)(r.code,{children:"_deactivatePageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_destroycontroller",children:"_destroyController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_destroyController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L726",children:"packages/core/src/page/manager/AbstractPageManager.ts:726"})]}),"\n",(0,s.jsx)(r.p,{children:"Destroy last managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_destroycontroller",children:(0,s.jsx)(r.code,{children:"_destroyController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_destroyextensions",children:"_destroyExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_destroyExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L739",children:"packages/core/src/page/manager/AbstractPageManager.ts:739"})]}),"\n",(0,s.jsx)(r.p,{children:"Destroy extensions for last managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_destroyextensions",children:(0,s.jsx)(r.code,{children:"_destroyExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_destroypagesource",children:"_destroyPageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_destroyPageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L714",children:"packages/core/src/page/manager/AbstractPageManager.ts:714"})]}),"\n",(0,s.jsx)(r.p,{children:"Destroy page source so call destroy method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_destroypagesource",children:(0,s.jsx)(r.code,{children:"_destroyPageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getinitialmanagedpage",children:"_getInitialManagedPage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getInitialManagedPage"}),"(): ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L302",children:"packages/core/src/page/manager/AbstractPageManager.ts:302"})]}),"\n",(0,s.jsx)(r.p,{children:"Clear value from managed page."}),"\n",(0,s.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getinitialmanagedpage",children:(0,s.jsx)(r.code,{children:"_getInitialManagedPage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getloadedcontrollerstate",children:"_getLoadedControllerState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getLoadedControllerState"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L485",children:"packages/core/src/page/manager/AbstractPageManager.ts:485"})]}),"\n",(0,s.jsx)(r.p,{children:"Load controller state from managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getloadedcontrollerstate",children:(0,s.jsx)(r.code,{children:"_getLoadedControllerState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getloadedextensionsstate",children:"_getLoadedExtensionsState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getLoadedExtensionsState"}),"(",(0,s.jsx)(r.code,{children:"controllerState"}),"?): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L501",children:"packages/core/src/page/manager/AbstractPageManager.ts:501"})]}),"\n",(0,s.jsx)(r.p,{children:"Load extensions state from managed instance of controller."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controllerstate",children:"controllerState?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-20",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getloadedextensionsstate",children:(0,s.jsx)(r.code,{children:"_getLoadedExtensionsState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getupdatedcontrollerstate",children:"_getUpdatedControllerState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getUpdatedControllerState"}),"(): {} | ",(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L621",children:"packages/core/src/page/manager/AbstractPageManager.ts:621"})]}),"\n",(0,s.jsx)(r.p,{children:"Return updated controller state for current page controller."}),"\n",(0,s.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:["{} | ",(0,s.jsx)(r.code,{children:"Promise"}),"<{}>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-21",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getupdatedcontrollerstate",children:(0,s.jsx)(r.code,{children:"_getUpdatedControllerState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getupdatedextensionsstate",children:"_getUpdatedExtensionsState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getUpdatedExtensionsState"}),"(",(0,s.jsx)(r.code,{children:"controllerState"}),"?): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L637",children:"packages/core/src/page/manager/AbstractPageManager.ts:637"})]}),"\n",(0,s.jsx)(r.p,{children:"Return updated extensions state for current page controller."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controllerstate-1",children:"controllerState?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-22",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_getupdatedextensionsstate",children:(0,s.jsx)(r.code,{children:"_getUpdatedExtensionsState"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_handleeventwithcontroller",children:"_handleEventWithController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_handleEventWithController"}),"(",(0,s.jsx)(r.code,{children:"prefix"}),", ",(0,s.jsx)(r.code,{children:"method"}),", ",(0,s.jsx)(r.code,{children:"data"}),"): ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L215",children:"packages/core/src/page/manager/ClientPageManager.ts:215"})]}),"\n",(0,s.jsxs)(r.p,{children:["Attempts to handle the currently processed event bus custom DOM event\nusing the current controller. The method returns ",(0,s.jsx)(r.code,{children:"true"})," if the\nevent is handled by the controller."]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"prefix",children:"prefix"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h5,{id:"method",children:"method"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The name of the method the current controller\nshould use to process the currently processed event bus custom\nDOM event."}),"\n",(0,s.jsx)(r.h5,{id:"data",children:"data"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.p,{children:"The custom event's data."}),"\n",(0,s.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"boolean"})}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"true"})," if the event has been handled by the\ncontroller, ",(0,s.jsx)(r.code,{children:"false"})," if the controller does not have a\nmethod for processing the event."]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_handleeventwithextensions",children:"_handleEventWithExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_handleEventWithExtensions"}),"(",(0,s.jsx)(r.code,{children:"prefix"}),", ",(0,s.jsx)(r.code,{children:"method"}),", ",(0,s.jsx)(r.code,{children:"data"}),"): ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L251",children:"packages/core/src/page/manager/ClientPageManager.ts:251"})]}),"\n",(0,s.jsxs)(r.p,{children:["Attempts to handle the currently processed event bus custom DOM event\nusing the registered extensions of the current controller. The method\nreturns ",(0,s.jsx)(r.code,{children:"true"})," if the event is handled by the controller."]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"prefix-1",children:"prefix"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h5,{id:"method-1",children:"method"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.p,{children:"The name of the method the current controller\nshould use to process the currently processed event bus custom\nDOM event."}),"\n",(0,s.jsx)(r.h5,{id:"data-1",children:"data"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.p,{children:"The custom event's data."}),"\n",(0,s.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"boolean"})}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"true"})," if the event has been handled by one of\nthe controller's extensions, ",(0,s.jsx)(r.code,{children:"false"})," if none of the\ncontroller's extensions has a method for processing the event."]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_hasonlyupdate",children:"_hasOnlyUpdate()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_hasOnlyUpdate"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"view"}),", ",(0,s.jsx)(r.code,{children:"options"}),"): ",(0,s.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L769",children:"packages/core/src/page/manager/AbstractPageManager.ts:769"})]}),"\n",(0,s.jsx)(r.p,{children:"Return true if manager has to update last managed controller and view."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller-1",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(r.h5,{id:"view-1",children:"view"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"unknown"})}),"\n",(0,s.jsx)(r.h5,{id:"options-2",children:"options"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"boolean"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-23",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_hasonlyupdate",children:(0,s.jsx)(r.code,{children:"_hasOnlyUpdate"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_initcontroller",children:"_initController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_initController"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L398",children:"packages/core/src/page/manager/AbstractPageManager.ts:398"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes managed instance of controller with the provided parameters."}),"\n",(0,s.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-24",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_initcontroller",children:(0,s.jsx)(r.code,{children:"_initController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_initextensions",children:"_initExtensions()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_initExtensions"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L413",children:"packages/core/src/page/manager/AbstractPageManager.ts:413"})]}),"\n",(0,s.jsx)(r.p,{children:"Initialize extensions for managed instance of controller with the\nprovided parameters."}),"\n",(0,s.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-25",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_initextensions",children:(0,s.jsx)(r.code,{children:"_initExtensions"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_initpagesource",children:"_initPageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_initPageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L383",children:"packages/core/src/page/manager/AbstractPageManager.ts:383"})]}),"\n",(0,s.jsx)(r.p,{children:"Initialize page source so call init method on controller and his\nextensions."}),"\n",(0,s.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-26",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_initpagesource",children:(0,s.jsx)(r.code,{children:"_initPageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_loadpagesource",children:"_loadPageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_loadPageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L443",children:"packages/core/src/page/manager/AbstractPageManager.ts:443"})]}),"\n",(0,s.jsx)(r.p,{children:"Load page source so call load method on controller and his extensions.\nMerge loaded state and render it."}),"\n",(0,s.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-27",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_loadpagesource",children:(0,s.jsx)(r.code,{children:"_loadPageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_onchangestatehandler",children:"_onChangeStateHandler()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_onChangeStateHandler"}),"(",(0,s.jsx)(r.code,{children:"state"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L276",children:"packages/core/src/page/manager/ClientPageManager.ts:276"})]}),"\n",(0,s.jsx)(r.p,{children:"On change event handler set state to view."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"state",children:"state"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_oncustomeventhandler",children:"_onCustomEventHandler()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_onCustomEventHandler"}),"(",(0,s.jsx)(r.code,{children:"event"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L151",children:"packages/core/src/page/manager/ClientPageManager.ts:151"})]}),"\n",(0,s.jsx)(r.p,{children:"Custom DOM event handler."}),"\n",(0,s.jsx)(r.p,{children:"The handler invokes the event listener in the active controller, if such\nlistener is present. The name of the controller's listener method is\ncreated by turning the first symbol of the event's name to upper case,\nand then prefixing the result with the 'on' prefix."}),"\n",(0,s.jsx)(r.p,{children:"For example: for an event named 'toggle' the controller's listener\nwould be named 'onToggle'."}),"\n",(0,s.jsx)(r.p,{children:"The controller's listener will be invoked with the event's data as an\nargument."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"event",children:"event"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"CustomEvent"})}),"\n",(0,s.jsx)(r.p,{children:"The encountered event bus DOM event."}),"\n",(0,s.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_parsecustomevent",children:"_parseCustomEvent()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_parseCustomEvent"}),"(",(0,s.jsx)(r.code,{children:"event"}),"): ",(0,s.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L188",children:"packages/core/src/page/manager/ClientPageManager.ts:188"})]}),"\n",(0,s.jsx)(r.p,{children:"Extracts the details of the provided event bus custom DOM event, along\nwith the expected name of the current controller's method for\nintercepting the event."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"event-1",children:"event"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"CustomEvent"})}),"\n",(0,s.jsx)(r.p,{children:"The encountered event bus custom DOM event."}),"\n",(0,s.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"object"})}),"\n",(0,s.jsx)(r.p,{children:"The event's\ndetails."}),"\n",(0,s.jsx)(r.h5,{id:"data-2",children:"data"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"data"}),": ",(0,s.jsx)(r.code,{children:"any"})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"eventname",children:"eventName"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"eventName"}),": ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"method-2",children:"method"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"method"}),": ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"prefix-2",children:"prefix"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"prefix"}),": ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_runpostmanagehandlers",children:"_runPostManageHandlers()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_runPostManageHandlers"}),"(",(0,s.jsx)(r.code,{children:"previousManagedPage"}),", ",(0,s.jsx)(r.code,{children:"action"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L809",children:"packages/core/src/page/manager/AbstractPageManager.ts:809"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"previousmanagedpage",children:"previousManagedPage"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h5,{id:"action",children:"action"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(r.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-28",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_runpostmanagehandlers",children:(0,s.jsx)(r.code,{children:"_runPostManageHandlers"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_runpremanagehandlers",children:"_runPreManageHandlers()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_runPreManageHandlers"}),"(",(0,s.jsx)(r.code,{children:"actualManagedPage"}),", ",(0,s.jsx)(r.code,{children:"action"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L788",children:"packages/core/src/page/manager/AbstractPageManager.ts:788"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"actualmanagedpage",children:"actualManagedPage"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.h5,{id:"action-1",children:"action"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(r.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-29",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-29",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_runpremanagehandlers",children:(0,s.jsx)(r.code,{children:"_runPreManageHandlers"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_setrestrictedpagestatemanager",children:"_setRestrictedPageStateManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_setRestrictedPageStateManager"}),"(",(0,s.jsx)(r.code,{children:"extension"}),", ",(0,s.jsx)(r.code,{children:"extensionState"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L342",children:"packages/core/src/page/manager/AbstractPageManager.ts:342"})]}),"\n",(0,s.jsx)(r.p,{children:"Set page state manager to extension which has restricted rights to set\nglobal state."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"extension",children:"extension"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})})}),"\n",(0,s.jsx)(r.h5,{id:"extensionstate",children:"extensionState"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-30",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-30",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_setrestrictedpagestatemanager",children:(0,s.jsx)(r.code,{children:"_setRestrictedPageStateManager"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_storemanagedpagesnapshot",children:"_storeManagedPageSnapshot()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_storeManagedPageSnapshot"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L281",children:"packages/core/src/page/manager/AbstractPageManager.ts:281"})]}),"\n",(0,s.jsx)(r.p,{children:"Creates a cloned version of currently managed page and stores it in\na helper property.\nSnapshot is used in manager handlers to easily determine differences\nbetween the current and the previous state."}),"\n",(0,s.jsx)(r.h4,{id:"returns-31",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-31",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_storemanagedpagesnapshot",children:(0,s.jsx)(r.code,{children:"_storeManagedPageSnapshot"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_stripmanagedpagevalueforpublic",children:"_stripManagedPageValueForPublic()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_stripManagedPageValueForPublic"}),"(",(0,s.jsx)(r.code,{children:"value"}),"): ",(0,s.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L332",children:"packages/core/src/page/manager/AbstractPageManager.ts:332"})]}),"\n",(0,s.jsx)(r.p,{children:"Removes properties we do not want to propagate outside of the page manager"}),"\n",(0,s.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"value",children:"value"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(r.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(r.p,{children:"The managed page object to strip down"}),"\n",(0,s.jsx)(r.h4,{id:"returns-32",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"object"})}),"\n",(0,s.jsx)(r.h5,{id:"controller-2",children:"controller"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"controller"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"options-3",children:"options"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"options"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"params-1",children:"params"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"params"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(r.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"route-1",children:"route"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"route"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(r.code,{children:"string"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,s.jsx)(r.h5,{id:"view-2",children:"view"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"view"}),": ",(0,s.jsx)(r.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-32",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_stripmanagedpagevalueforpublic",children:(0,s.jsx)(r.code,{children:"_stripManagedPageValueForPublic"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_switchtopagestatemanager",children:"_switchToPageStateManager()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_switchToPageStateManager"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L430",children:"packages/core/src/page/manager/AbstractPageManager.ts:430"})]}),"\n",(0,s.jsx)(r.p,{children:"Iterates over extensions of current controller and switches each one to\npageStateManager and clears their partial state."}),"\n",(0,s.jsx)(r.h4,{id:"returns-33",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-33",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_switchtopagestatemanager",children:(0,s.jsx)(r.code,{children:"_switchToPageStateManager"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_switchtopagestatemanagerafterloaded",children:"_switchToPageStateManagerAfterLoaded()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_switchToPageStateManagerAfterLoaded"}),"(",(0,s.jsx)(r.code,{children:"extension"}),", ",(0,s.jsx)(r.code,{children:"extensionState"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L363",children:"packages/core/src/page/manager/AbstractPageManager.ts:363"})]}),"\n",(0,s.jsx)(r.p,{children:"For defined extension switches to pageStageManager and clears partial state\nafter extension state is loaded."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"extension-1",children:"extension"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(r.code,{children:"Extension"})})}),"\n",(0,s.jsx)(r.h5,{id:"extensionstate-1",children:"extensionState"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-34",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-34",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_switchtopagestatemanagerafterloaded",children:(0,s.jsx)(r.code,{children:"_switchToPageStateManagerAfterLoaded"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_updatepagesource",children:"_updatePageSource()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_updatePageSource"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L580",children:"packages/core/src/page/manager/AbstractPageManager.ts:580"})]}),"\n",(0,s.jsx)(r.p,{children:"Update page source so call update method on controller and his\nextensions. Merge updated state and render it."}),"\n",(0,s.jsx)(r.h4,{id:"returns-35",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-35",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#_updatepagesource",children:(0,s.jsx)(r.code,{children:"_updatePageSource"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"destroy"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L126",children:"packages/core/src/page/manager/ClientPageManager.ts:126"})]}),"\n",(0,s.jsx)(r.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(r.h4,{id:"returns-36",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#destroy",children:(0,s.jsx)(r.code,{children:"destroy"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"getviewcontroller",children:"getViewController()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"getViewController"}),"(",(0,s.jsx)(r.code,{children:"route"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<{ ",(0,s.jsx)(r.code,{children:"controller"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})}),"; ",(0,s.jsx)(r.code,{children:"view"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,s.jsx)(r.code,{children:"RouteView"})}),"; }>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L833",children:"packages/core/src/page/manager/AbstractPageManager.ts:833"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"route-2",children:"route"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(r.code,{children:"string"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"returns-37",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<{ ",(0,s.jsx)(r.code,{children:"controller"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(r.code,{children:"RouteController"})}),"; ",(0,s.jsx)(r.code,{children:"view"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,s.jsx)(r.code,{children:"RouteView"})}),"; }>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-36",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#getviewcontroller",children:(0,s.jsx)(r.code,{children:"getViewController"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"init"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L95",children:"packages/core/src/page/manager/ClientPageManager.ts:95"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes the page manager."}),"\n",(0,s.jsx)(r.h4,{id:"returns-38",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#init",children:(0,s.jsx)(r.code,{children:"init"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"manage",children:"manage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"manage"}),"(",(0,s.jsx)(r.code,{children:"__namedParameters"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/ClientPageManager.ts#L109",children:"packages/core/src/page/manager/ClientPageManager.ts:109"})]}),"\n",(0,s.jsx)(r.p,{children:"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."}),"\n",(0,s.jsx)(r.p,{children:"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"__namedparameters",children:"__namedParameters"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/ManageArgs",children:(0,s.jsx)(r.code,{children:"ManageArgs"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-39",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(r.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsxs)(r.p,{children:["A promise that will resolve to information about the rendered page.\nThe ",(0,s.jsx)(r.code,{children:"status"})," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."]}),"\n",(0,s.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#manage",children:(0,s.jsx)(r.code,{children:"manage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"postmanage",children:"postManage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"postManage"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L223",children:"packages/core/src/page/manager/AbstractPageManager.ts:223"})]}),"\n",(0,s.jsx)(r.p,{children:"Called by router after currently managed route is resolved."}),"\n",(0,s.jsx)(r.h4,{id:"returns-40",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-37",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#postmanage",children:(0,s.jsx)(r.code,{children:"postManage"})})]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"premanage",children:"preManage()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"preManage"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L123",children:"packages/core/src/page/manager/AbstractPageManager.ts:123"})]}),"\n",(0,s.jsx)(r.p,{children:"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."}),"\n",(0,s.jsx)(r.h4,{id:"returns-41",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-38",children:"Inherited from"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(r.code,{children:"AbstractPageManager"})}),".",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractPageManager#premanage",children:(0,s.jsx)(r.code,{children:"preManage"})})]})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3023:(e,r,a)=>{a.d(r,{R:()=>c,x:()=>d});var n=a(3696);const s={},i=n.createContext(s);function c(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a3814d4a.01aaa1e1.js b/assets/js/a3814d4a.01aaa1e1.js deleted file mode 100644 index 5bd3f31fc..000000000 --- a/assets/js/a3814d4a.01aaa1e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7363],{5680:(e,n,a)=>{a.d(n,{xA:()=>c,yg:()=>g});var t=a(6540);function s(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function l(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){s(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function i(e,n){if(null==e)return{};var a,t,s=function(e,n){if(null==e)return{};var a,t,s={},r=Object.keys(e);for(t=0;t<r.length;t++)a=r[t],n.indexOf(a)>=0||(s[a]=e[a]);return s}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)a=r[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var o=t.createContext({}),u=function(e){var n=t.useContext(o),a=n;return e&&(a="function"==typeof e?e(n):l(l({},n),e)),a},c=function(e){var n=u(e.components);return t.createElement(o.Provider,{value:n},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},d=t.forwardRef((function(e,n){var a=e.components,s=e.mdxType,r=e.originalType,o=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=u(a),d=s,g=p["".concat(o,".").concat(d)]||p[d]||m[d]||r;return a?t.createElement(g,l(l({ref:n},c),{},{components:a})):t.createElement(g,l({ref:n},c))}));function g(e,n){var a=arguments,s=n&&n.mdxType;if("string"==typeof e||s){var r=a.length,l=new Array(r);l[0]=d;var i={};for(var o in n)hasOwnProperty.call(n,o)&&(i[o]=n[o]);i.originalType=e,i[p]="string"==typeof e?e:s,l[1]=i;for(var u=2;u<r;u++)l[u]=a[u];return t.createElement.apply(null,l)}return t.createElement.apply(null,a)}d.displayName="MDXCreateElement"},6185:(e,n,a)=>{a.d(n,{A:()=>l});var t=a(6540),s=a(8017);const r={tabItem:"tabItem_Ymn6"};function l(e){let{children:n,hidden:a,className:l}=e;return t.createElement("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,l),hidden:a},n)}},1253:(e,n,a)=>{a.d(n,{A:()=>N});var t=a(8102),s=a(6540),r=a(8017),l=a(3104),i=a(9519),o=a(7485),u=a(1682),c=a(9466);function p(e){return function(e){return s.Children.map(e,(e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:a,attributes:t,default:s}}=e;return{value:n,label:a,attributes:t,default:s}}))}function m(e){const{values:n,children:a}=e;return(0,s.useMemo)((()=>{const e=n??p(a);return function(e){const n=(0,u.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,a])}function d(e){let{value:n,tabValues:a}=e;return a.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:a}=e;const t=(0,i.W6)(),r=function(e){let{queryString:n=!1,groupId:a}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:n,groupId:a});return[(0,o.aZ)(r),(0,s.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(t.location.search);n.set(r,e),t.replace({...t.location,search:n.toString()})}),[r,t])]}function b(e){const{defaultValue:n,queryString:a=!1,groupId:t}=e,r=m(e),[l,i]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!d({value:n,tabValues:a}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const t=a.find((e=>e.default))??a[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:r}))),[o,u]=g({queryString:a,groupId:t}),[p,b]=function(e){let{groupId:n}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,r]=(0,c.Dv)(a);return[t,(0,s.useCallback)((e=>{a&&r.set(e)}),[a,r])]}({groupId:t}),h=(()=>{const e=o??p;return d({value:e,tabValues:r})?e:null})();(0,s.useLayoutEffect)((()=>{h&&i(h)}),[h]);return{selectedValue:l,selectValue:(0,s.useCallback)((e=>{if(!d({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),u(e),b(e)}),[u,b,r]),tabValues:r}}var h=a(2303);const y={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function f(e){let{className:n,block:a,selectedValue:i,selectValue:o,tabValues:u}=e;const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,l.a_)(),m=e=>{const n=e.currentTarget,a=c.indexOf(n),t=u[a].value;t!==i&&(p(n),o(t))},d=e=>{let n=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":{const a=c.indexOf(e.currentTarget)+1;n=c[a]??c[0];break}case"ArrowLeft":{const a=c.indexOf(e.currentTarget)-1;n=c[a]??c[c.length-1];break}}n?.focus()};return s.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":a},n)},u.map((e=>{let{value:n,label:a,attributes:l}=e;return s.createElement("li",(0,t.A)({role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,key:n,ref:e=>c.push(e),onKeyDown:d,onClick:m},l,{className:(0,r.A)("tabs__item",y.tabItem,l?.className,{"tabs__item--active":i===n})}),a??n)})))}function v(e){let{lazy:n,children:a,selectedValue:t}=e;const r=(Array.isArray(a)?a:[a]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===t));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return s.createElement("div",{className:"margin-top--md"},r.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==t}))))}function C(e){const n=b(e);return s.createElement("div",{className:(0,r.A)("tabs-container",y.tabList)},s.createElement(f,(0,t.A)({},e,n)),s.createElement(v,(0,t.A)({},e,n)))}function N(e){const n=(0,h.A)();return s.createElement(C,(0,t.A)({key:String(n)},e))}},3585:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>u,toc:()=>p});var t=a(8102),s=(a(6540),a(5680)),r=a(1253),l=a(6185);const i={title:"ScrambleCSS Plugin",description:"CLI > CLI Plugins and their API > ScrambleCSS Plugin"},o=void 0,u={unversionedId:"cli/plugins/scramble-css-plugin",id:"cli/plugins/scramble-css-plugin",title:"ScrambleCSS Plugin",description:"CLI > CLI Plugins and their API > ScrambleCSS Plugin",source:"@site/../docs/cli/plugins/scramble-css-plugin.md",sourceDirName:"cli/plugins",slug:"/cli/plugins/scramble-css-plugin",permalink:"/cli/plugins/scramble-css-plugin",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/plugins/scramble-css-plugin.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"ScrambleCSS Plugin",description:"CLI > CLI Plugins and their API > ScrambleCSS Plugin"},sidebar:"docs",previous:{title:"Analyze Plugin",permalink:"/cli/plugins/analyze-plugin"},next:{title:"LESS Constants Plugin",permalink:"/cli/plugins/less-constants-plugin"}},c={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"<code>$CssClasses</code> override and <code>hashtable.json</code>",id:"cssclasses-override-and-hashtablejson",level:3},{value:"CLI Arguments",id:"cli-arguments",level:2},{value:"--scrambleCss",id:"--scramblecss",level:3},{value:"Options",id:"options",level:2},{value:"scrambleCssMinimizerOptions",id:"scramblecssminimizeroptions",level:3}],m={toc:p},d="wrapper";function g(e){let{components:n,...a}=e;return(0,s.yg)(d,(0,t.A)({},m,a,{components:n,mdxType:"MDXLayout"}),(0,s.yg)("p",null,"Implements CSS class minimizer and uglifier that can be reverse-compiled at runtime (you can access classes using their original name)."),(0,s.yg)("p",null,"It works by processing all CSS files using custom PostCSS plugin, that mangles (scrambles) and minimizes all classes, while also building translation table (",(0,s.yg)("inlineCode",{parentName:"p"},"hashtable.json"),") along the way."),(0,s.yg)("p",null,"The result is CSS file with mangled class names and companion hashtable that we use in our custom ",(0,s.yg)("inlineCode",{parentName:"p"},"$CssClasses")," processor to, translate existing classes used out components to the new scrambled ones."),(0,s.yg)("h2",{id:"requirements"},"Requirements"),(0,s.yg)("admonition",{type:"caution"},(0,s.yg)("p",{parentName:"admonition"},"As mentioned above, for this feature to work ",(0,s.yg)("strong",{parentName:"p"},"you need to wrap all your ",(0,s.yg)("inlineCode",{parentName:"strong"},"classNames")," in ",(0,s.yg)("inlineCode",{parentName:"strong"},"cssClasses")," function.")," Otherwise you'll end up with scrambled classes in CSS file but original class names in your components."),(0,s.yg)("pre",{parentName:"admonition"},(0,s.yg)("code",{parentName:"pre",className:"language-jsx"},"import { useComponent } from '@ima/react-hooks';\n\nexport default function Card() {\n const { cssClasses } = useComponent();\n\n return (\n // highlight-next-line\n <div className={cssClasses('card')} />\n );\n}\n")),(0,s.yg)("p",{parentName:"admonition"},"or in case of ",(0,s.yg)("strong",{parentName:"p"},"class components"),":"),(0,s.yg)("pre",{parentName:"admonition"},(0,s.yg)("code",{parentName:"pre",className:"language-jsx"},"import { AbstractPureComponent } from '@ima/react-page-renderer';\n\nexport default class Card extends AbstractPureComponent {\n render() {\n return (\n // highlight-next-line\n <div className={this.cssClasses('card')} />\n );\n }\n}\n"))),(0,s.yg)("h2",{id:"installation"},"Installation"),(0,s.yg)(r.A,{groupId:"npm2yarn",mdxType:"Tabs"},(0,s.yg)(l.A,{value:"npm",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-bash"},"npm install @ima/cli-plugin-scramble-css -D\n"))),(0,s.yg)(l.A,{value:"yarn",label:"Yarn",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-bash"},"yarn add @ima/cli-plugin-scramble-css --dev\n"))),(0,s.yg)(l.A,{value:"pnpm",label:"pnpm",mdxType:"TabItem"},(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-bash"},"pnpm add @ima/cli-plugin-scramble-css -D\n")))),(0,s.yg)("h2",{id:"usage"},"Usage"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const { ScrambleCssPlugin } = require('@ima/cli-plugin-scramble-css');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n plugins: [new ScrambleCssPlugin()],\n};\n")),(0,s.yg)("h3",{id:"cssclasses-override-and-hashtablejson"},(0,s.yg)("inlineCode",{parentName:"h3"},"$CssClasses")," override and ",(0,s.yg)("inlineCode",{parentName:"h3"},"hashtable.json")),(0,s.yg)("p",null,"We have to provide our custom ",(0,s.yg)("inlineCode",{parentName:"p"},"$CssClasses")," processor and pass it our generate ",(0,s.yg)("inlineCode",{parentName:"p"},"hashtable.json")," file. To do that, we're going to load it's contents in the app environment:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./server/config/environment.js",title:"./server/config/environment.js"},"const fs = require('fs');\nconst path = require('path');\n\nconst hashTablePath = path.resolve(\n __dirname,\n '../../build/static/css/hashTable.json'\n);\n\nmodule.exports = (() => {\n return {\n prod: {\n $App: {\n scrambleCss: {\n hashTable: fs.existsSync(hashTablePath)\n ? JSON.parse(fs.readFileSync(hashTablePath))\n : null,\n },\n },\n // ...\n }\n }\n});\n\n")),(0,s.yg)("p",null,"Finally, the hashtable is now available under ",(0,s.yg)("inlineCode",{parentName:"p"},"config.$App.scrambleCss.hashTable"),", so we're going to provide it to the plugin's custom ",(0,s.yg)("inlineCode",{parentName:"p"},"$CssClasses")," processor in the app ",(0,s.yg)("inlineCode",{parentName:"p"},"bind.js")," file, and we're done:"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./app/config/bind.js",title:"./app/config/bind.js"},"import { scrambleCssClasses } from '@ima/cli-plugin-scramble-css/scrambleCssClasses';\n\nexport default (ns, oc, config) => {\n oc.bind(\n '$CssClasses',\n scrambleCssClasses(config?.$App?.scrambleCss?.hashTable),\n []\n );\n};\n")),(0,s.yg)("h2",{id:"cli-arguments"},"CLI Arguments"),(0,s.yg)("h3",{id:"--scramblecss"},"--scrambleCss"),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("inlineCode",{parentName:"p"},"boolean"))),(0,s.yg)("p",null,"The scrambling is enabled by default for the ",(0,s.yg)("inlineCode",{parentName:"p"},"production")," environment. However you can explicitly enable/disable it using this CLI argument. This applies for both CLI commands."),(0,s.yg)("h2",{id:"options"},"Options"),(0,s.yg)("pre",null,(0,s.yg)("code",{parentName:"pre",className:"language-ts"},"new ScrambleCssPlugin(options: {\n scrambleCssMinimizerOptions?: {\n hashTableFilename?: string;\n mainAssetFilter?: (filename: string) => boolean;\n };\n});\n")),(0,s.yg)("h3",{id:"scramblecssminimizeroptions"},"scrambleCssMinimizerOptions"),(0,s.yg)("blockquote",null,(0,s.yg)("p",{parentName:"blockquote"},(0,s.yg)("inlineCode",{parentName:"p"},"object"))),(0,s.yg)("p",null,"These are passed directly into the ",(0,s.yg)("inlineCode",{parentName:"p"},"ScrambleCssMinimizer"),". You can define custom:"),(0,s.yg)("ul",null,(0,s.yg)("li",{parentName:"ul"},(0,s.yg)("inlineCode",{parentName:"li"},"hashTableFilename")," - custom translation ",(0,s.yg)("inlineCode",{parentName:"li"},"hashtable.json")," filename. Defaults to: ",(0,s.yg)("strong",{parentName:"li"},"./build/static/css/hashTable.json"),"."),(0,s.yg)("li",{parentName:"ul"},(0,s.yg)("inlineCode",{parentName:"li"},"mainAssetFilter")," - should resolve to the ",(0,s.yg)("strong",{parentName:"li"},"main css file"),". The minimizer first processes the main.css file and generates the ",(0,s.yg)("inlineCode",{parentName:"li"},"hashtable.json")," ",(0,s.yg)("strong",{parentName:"li"},"translation table"),". If you then want to process other assets with existing hashtable, these should be filtered out in this function, since the minimizer minimizes them in ",(0,s.yg)("strong",{parentName:"li"},"second pass using existing")," ",(0,s.yg)("inlineCode",{parentName:"li"},"hashtable.json"),".")),(0,s.yg)("admonition",{type:"note"},(0,s.yg)("p",{parentName:"admonition"},"You should be fine with the default options in almost any situation except some special use cases.")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a3814d4a.dbb918a8.js b/assets/js/a3814d4a.dbb918a8.js new file mode 100644 index 000000000..73390e6a1 --- /dev/null +++ b/assets/js/a3814d4a.dbb918a8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7363],{6173:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"cli/plugins/scramble-css-plugin","title":"ScrambleCSS Plugin","description":"CLI > CLI Plugins and their API > ScrambleCSS Plugin","source":"@site/../docs/cli/plugins/scramble-css-plugin.md","sourceDirName":"cli/plugins","slug":"/cli/plugins/scramble-css-plugin","permalink":"/cli/plugins/scramble-css-plugin","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/plugins/scramble-css-plugin.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"ScrambleCSS Plugin","description":"CLI > CLI Plugins and their API > ScrambleCSS Plugin"},"sidebar":"docs","previous":{"title":"Analyze Plugin","permalink":"/cli/plugins/analyze-plugin"},"next":{"title":"LESS Constants Plugin","permalink":"/cli/plugins/less-constants-plugin"}}');var l=n(2540),t=n(3023),r=n(3776),i=n(6052);const o={title:"ScrambleCSS Plugin",description:"CLI > CLI Plugins and their API > ScrambleCSS Plugin"},c=void 0,u={},d=[{value:"Requirements",id:"requirements",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"<code>$CssClasses</code> override and <code>hashtable.json</code>",id:"cssclasses-override-and-hashtablejson",level:3},{value:"CLI Arguments",id:"cli-arguments",level:2},{value:"--scrambleCss",id:"--scramblecss",level:3},{value:"Options",id:"options",level:2},{value:"scrambleCssMinimizerOptions",id:"scramblecssminimizeroptions",level:3}];function h(e){const s={admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.p,{children:"Implements CSS class minimizer and uglifier that can be reverse-compiled at runtime (you can access classes using their original name)."}),"\n",(0,l.jsxs)(s.p,{children:["It works by processing all CSS files using custom PostCSS plugin, that mangles (scrambles) and minimizes all classes, while also building translation table (",(0,l.jsx)(s.code,{children:"hashtable.json"}),") along the way."]}),"\n",(0,l.jsxs)(s.p,{children:["The result is CSS file with mangled class names and companion hashtable that we use in our custom ",(0,l.jsx)(s.code,{children:"$CssClasses"})," processor to, translate existing classes used out components to the new scrambled ones."]}),"\n",(0,l.jsx)(s.h2,{id:"requirements",children:"Requirements"}),"\n",(0,l.jsxs)(s.admonition,{type:"caution",children:[(0,l.jsxs)(s.p,{children:["As mentioned above, for this feature to work ",(0,l.jsxs)(s.strong,{children:["you need to wrap all your ",(0,l.jsx)(s.code,{children:"classNames"})," in ",(0,l.jsx)(s.code,{children:"cssClasses"})," function."]})," Otherwise you'll end up with scrambled classes in CSS file but original class names in your components."]}),(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-jsx",children:"import { useComponent } from '@ima/react-hooks';\n\nexport default function Card() {\n const { cssClasses } = useComponent();\n\n return (\n // highlight-next-line\n <div className={cssClasses('card')} />\n );\n}\n"})}),(0,l.jsxs)(s.p,{children:["or in case of ",(0,l.jsx)(s.strong,{children:"class components"}),":"]}),(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-jsx",children:"import { AbstractPureComponent } from '@ima/react-page-renderer';\n\nexport default class Card extends AbstractPureComponent {\n render() {\n return (\n // highlight-next-line\n <div className={this.cssClasses('card')} />\n );\n }\n}\n"})})]}),"\n",(0,l.jsx)(s.h2,{id:"installation",children:"Installation"}),"\n",(0,l.jsxs)(r.A,{groupId:"npm2yarn",children:[(0,l.jsx)(i.A,{value:"npm",children:(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-bash",children:"npm install @ima/cli-plugin-scramble-css -D\n"})})}),(0,l.jsx)(i.A,{value:"yarn",label:"Yarn",children:(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-bash",children:"yarn add @ima/cli-plugin-scramble-css --dev\n"})})}),(0,l.jsx)(i.A,{value:"pnpm",label:"pnpm",children:(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-bash",children:"pnpm add @ima/cli-plugin-scramble-css -D\n"})})})]}),"\n",(0,l.jsx)(s.h2,{id:"usage",children:"Usage"}),"\n",(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const { ScrambleCssPlugin } = require('@ima/cli-plugin-scramble-css');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n plugins: [new ScrambleCssPlugin()],\n};\n"})}),"\n",(0,l.jsxs)(s.h3,{id:"cssclasses-override-and-hashtablejson",children:[(0,l.jsx)(s.code,{children:"$CssClasses"})," override and ",(0,l.jsx)(s.code,{children:"hashtable.json"})]}),"\n",(0,l.jsxs)(s.p,{children:["We have to provide our custom ",(0,l.jsx)(s.code,{children:"$CssClasses"})," processor and pass it our generate ",(0,l.jsx)(s.code,{children:"hashtable.json"})," file. To do that, we're going to load it's contents in the app environment:"]}),"\n",(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-js",metastring:"title=./server/config/environment.js",children:"const fs = require('fs');\nconst path = require('path');\n\nconst hashTablePath = path.resolve(\n __dirname,\n '../../build/static/css/hashTable.json'\n);\n\nmodule.exports = (() => {\n return {\n prod: {\n $App: {\n scrambleCss: {\n hashTable: fs.existsSync(hashTablePath)\n ? JSON.parse(fs.readFileSync(hashTablePath))\n : null,\n },\n },\n // ...\n }\n }\n});\n\n"})}),"\n",(0,l.jsxs)(s.p,{children:["Finally, the hashtable is now available under ",(0,l.jsx)(s.code,{children:"config.$App.scrambleCss.hashTable"}),", so we're going to provide it to the plugin's custom ",(0,l.jsx)(s.code,{children:"$CssClasses"})," processor in the app ",(0,l.jsx)(s.code,{children:"bind.js"})," file, and we're done:"]}),"\n",(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-js",metastring:"title=./app/config/bind.js",children:"import { scrambleCssClasses } from '@ima/cli-plugin-scramble-css/scrambleCssClasses';\n\nexport default (ns, oc, config) => {\n oc.bind(\n '$CssClasses',\n scrambleCssClasses(config?.$App?.scrambleCss?.hashTable),\n []\n );\n};\n"})}),"\n",(0,l.jsx)(s.h2,{id:"cli-arguments",children:"CLI Arguments"}),"\n",(0,l.jsx)(s.h3,{id:"--scramblecss",children:"--scrambleCss"}),"\n",(0,l.jsxs)(s.blockquote,{children:["\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.code,{children:"boolean"})}),"\n"]}),"\n",(0,l.jsxs)(s.p,{children:["The scrambling is enabled by default for the ",(0,l.jsx)(s.code,{children:"production"})," environment. However you can explicitly enable/disable it using this CLI argument. This applies for both CLI commands."]}),"\n",(0,l.jsx)(s.h2,{id:"options",children:"Options"}),"\n",(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-ts",children:"new ScrambleCssPlugin(options: {\n scrambleCssMinimizerOptions?: {\n hashTableFilename?: string;\n mainAssetFilter?: (filename: string) => boolean;\n };\n});\n"})}),"\n",(0,l.jsx)(s.h3,{id:"scramblecssminimizeroptions",children:"scrambleCssMinimizerOptions"}),"\n",(0,l.jsxs)(s.blockquote,{children:["\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.code,{children:"object"})}),"\n"]}),"\n",(0,l.jsxs)(s.p,{children:["These are passed directly into the ",(0,l.jsx)(s.code,{children:"ScrambleCssMinimizer"}),". You can define custom:"]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"hashTableFilename"})," - custom translation ",(0,l.jsx)(s.code,{children:"hashtable.json"})," filename. Defaults to: ",(0,l.jsx)(s.strong,{children:"./build/static/css/hashTable.json"}),"."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"mainAssetFilter"})," - should resolve to the ",(0,l.jsx)(s.strong,{children:"main css file"}),". The minimizer first processes the main.css file and generates the ",(0,l.jsx)(s.code,{children:"hashtable.json"})," ",(0,l.jsx)(s.strong,{children:"translation table"}),". If you then want to process other assets with existing hashtable, these should be filtered out in this function, since the minimizer minimizes them in ",(0,l.jsx)(s.strong,{children:"second pass using existing"})," ",(0,l.jsx)(s.code,{children:"hashtable.json"}),"."]}),"\n"]}),"\n",(0,l.jsx)(s.admonition,{type:"note",children:(0,l.jsx)(s.p,{children:"You should be fine with the default options in almost any situation except some special use cases."})})]})}function m(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},6052:(e,s,n)=>{n.d(s,{A:()=>r});n(3696);var a=n(2689);const l={tabItem:"tabItem_wHwb"};var t=n(2540);function r(e){let{children:s,hidden:n,className:r}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,a.A)(l.tabItem,r),hidden:n,children:s})}},3776:(e,s,n)=>{n.d(s,{A:()=>y});var a=n(3696),l=n(2689),t=n(3707),r=n(9519),i=n(3604),o=n(5196),c=n(6229),u=n(8030);function d(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:s}=e;return!!s&&"object"==typeof s&&"value"in s}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:s,children:n}=e;return(0,a.useMemo)((()=>{const e=s??function(e){return d(e).map((e=>{let{props:{value:s,label:n,attributes:a,default:l}}=e;return{value:s,label:n,attributes:a,default:l}}))}(n);return function(e){const s=(0,c.XI)(e,((e,s)=>e.value===s.value));if(s.length>0)throw new Error(`Docusaurus error: Duplicate values "${s.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[s,n])}function m(e){let{value:s,tabValues:n}=e;return n.some((e=>e.value===s))}function p(e){let{queryString:s=!1,groupId:n}=e;const l=(0,r.W6)(),t=function(e){let{queryString:s=!1,groupId:n}=e;if("string"==typeof s)return s;if(!1===s)return null;if(!0===s&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:s,groupId:n});return[(0,o.aZ)(t),(0,a.useCallback)((e=>{if(!t)return;const s=new URLSearchParams(l.location.search);s.set(t,e),l.replace({...l.location,search:s.toString()})}),[t,l])]}function b(e){const{defaultValue:s,queryString:n=!1,groupId:l}=e,t=h(e),[r,o]=(0,a.useState)((()=>function(e){let{defaultValue:s,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(s){if(!m({value:s,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${s}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return s}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:s,tabValues:t}))),[c,d]=p({queryString:n,groupId:l}),[b,g]=function(e){let{groupId:s}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(s),[l,t]=(0,u.Dv)(n);return[l,(0,a.useCallback)((e=>{n&&t.set(e)}),[n,t])]}({groupId:l}),f=(()=>{const e=c??b;return m({value:e,tabValues:t})?e:null})();(0,i.A)((()=>{f&&o(f)}),[f]);return{selectedValue:r,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:t}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),g(e)}),[d,g,t]),tabValues:t}}var g=n(5200);const f={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var x=n(2540);function j(e){let{className:s,block:n,selectedValue:a,selectValue:r,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,t.a_)(),u=e=>{const s=e.currentTarget,n=o.indexOf(s),l=i[n].value;l!==a&&(c(s),r(l))},d=e=>{let s=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;s=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;s=o[n]??o[o.length-1];break}}s?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.A)("tabs",{"tabs--block":n},s),children:i.map((e=>{let{value:s,label:n,attributes:t}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:a===s?0:-1,"aria-selected":a===s,ref:e=>{o.push(e)},onKeyDown:d,onClick:u,...t,className:(0,l.A)("tabs__item",f.tabItem,t?.className,{"tabs__item--active":a===s}),children:n??s},s)}))})}function v(e){let{lazy:s,children:n,selectedValue:t}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(s){const e=r.find((e=>e.props.value===t));return e?(0,a.cloneElement)(e,{className:(0,l.A)("margin-top--md",e.props.className)}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:r.map(((e,s)=>(0,a.cloneElement)(e,{key:s,hidden:e.props.value!==t})))})}function C(e){const s=b(e);return(0,x.jsxs)("div",{className:(0,l.A)("tabs-container",f.tabList),children:[(0,x.jsx)(j,{...s,...e}),(0,x.jsx)(v,{...s,...e})]})}function y(e){const s=(0,g.A)();return(0,x.jsx)(C,{...e,children:d(e.children)},String(s))}},3023:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>i});var a=n(3696);const l={},t=a.createContext(l);function r(e){const s=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),a.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a383d2c3.d9aa8cd0.js b/assets/js/a383d2c3.d9aa8cd0.js new file mode 100644 index 000000000..7dfd5deae --- /dev/null +++ b/assets/js/a383d2c3.d9aa8cd0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3020],{3807:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"api/@ima/plugin-cli/index","title":"index","description":"@ima/plugin-cli","source":"@site/../docs/api/@ima/plugin-cli/index.md","sourceDirName":"api/@ima/plugin-cli","slug":"/api/@ima/plugin-cli/","permalink":"/api/@ima/plugin-cli/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: logger","permalink":"/api/@ima/dev-utils/variables/logger"},"next":{"title":"Function: preprocessTransformer()","permalink":"/api/@ima/plugin-cli/functions/preprocessTransformer"}}');var o=i(2540),t=i(3023);const r={},a=void 0,l={},c=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"jsxRuntime",id:"jsxruntime",level:3},{value:"additionalWatchPaths",id:"additionalwatchpaths",level:3},{value:"Custom <code>ima-plugin.config.js</code>",id:"custom-ima-pluginconfigjs",level:3},{value:"<code>package.json</code> entry points",id:"packagejson-entry-points",level:3}];function d(n){const e={a:"a",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("p",{align:"center",children:(0,o.jsx)("img",{height:"130",src:"https://imajs.io/img/logo.svg"})}),"\n",(0,o.jsx)("h1",{align:"center",children:"@ima/plugin-cli"}),"\n",(0,o.jsx)("p",{align:"center",children:(0,o.jsxs)("i",{children:[(0,o.jsx)("code",{children:"@ima/plugin-cli"})," takes care of building, linking and watching IMA.js plugins."]})}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsx)(e.p,{children:"Small CLI wrapper around swc with few other plugins (typescript support), which takes care of building, watching and linking IMA.js plugins."}),"\n",(0,o.jsx)(e.h2,{id:"installation",children:"Installation"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{children:"npm install @ima/plugin-cli --save-dev\n"})}),"\n",(0,o.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,o.jsx)(e.p,{children:"Run following commands from the root of your plugin directory."}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{children:"npx ima-plugin dev\nnpx ima-plugin build\nnpx ima-plugin link [target-project]\nnpx ima-plugin --help\n"})}),"\n",(0,o.jsxs)(e.p,{children:["The plugin works ",(0,o.jsx)(e.strong,{children:"without the need to provide custom ima-plugin.config.js"}),". There are 3 configuration presets that should cover most situations, which can be forced using CLI args:"]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"npm run [build|dev|link]"})," - generates two bundles, one in cjs and other in esm. Use this for almost any plugin that doesn't need server/client specific bundles."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"npm run [build|dev|link] --nodeConfig"})," - generates only cjs bundle (in ./dist directory), useful for CLI and node plugins."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"npm run [build|dev|link] --clientServerConfig"})," - generates code in cjs and two bundles in esm, where you can drop client/server specific syntax using pragma comments."]}),"\n"]}),"\n",(0,o.jsx)(e.h3,{id:"jsxruntime",children:"jsxRuntime"}),"\n",(0,o.jsxs)(e.p,{children:["You can override used React jsxRuntime to ",(0,o.jsx)(e.code,{children:"classic"})," or newer ",(0,o.jsx)(e.code,{children:"automatic"})," using ",(0,o.jsx)(e.code,{children:"jsxRuntime"})," config option, or ",(0,o.jsx)(e.code,{children:"-j=automatic"})," or ",(0,o.jsx)(e.code,{children:"--jsxRuntime=classic"})," CLI argument."]}),"\n",(0,o.jsx)(e.h3,{id:"additionalwatchpaths",children:"additionalWatchPaths"}),"\n",(0,o.jsxs)(e.p,{children:["Optional array type option, which can be used to add additional watch paths to link command. This is useful if you want to watch and copy additional files outside of the ",(0,o.jsx)(e.code,{children:"inputDir"}),"."]}),"\n",(0,o.jsxs)(e.h3,{id:"custom-ima-pluginconfigjs",children:["Custom ",(0,o.jsx)(e.code,{children:"ima-plugin.config.js"})]}),"\n",(0,o.jsx)(e.p,{children:"You can always provide custom ima-plugin.config.js where you can either extend one of the provided default configurations or create completely new one:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-js",children:"// ima-plugin.config.js\n\n// Use one of the default provided configurations\nconst {\n defaultConfig, // corresponds with CLI options described above\n clientServerConfig, // corresponds with CLI options described above\n nodeConfig, // corresponds with CLI options described above\n preprocessTransformer,\n swcTransformer,\n typescriptDeclarationsPlugin\n} = require('@ima/plugin-cli');\n\n/**\n * Or create custom config. You can export an array of configuration objects to support multiple configurations.\n *\n * @type import('@ima/plugin-cli').ImaPluginConfig\n */\nmodule.exports = {\n inputDir: './src',\n jsxRuntime: 'classic', // 'classic' or 'automatic' JSX runtime settings\n sourceMaps: true, // enabled by default\n /**\n * Optionally create additional transformers. There are 2 transformers\n * that plugin CLI exports - preprocessTransformer (for removing code\n * parts based on @if/@else pragma comments), swcTransformer (runs\n * JS code through swc/core transform).\n *\n * '...' -> this placeholder is replaced with default set of transformers.\n * This allows you to easily extend default configuration without the need\n * to re-define it again manually.\n *\n * You can also always opt out of using '...', in that case, default\n * transformers are not used, only the ones defined in the `transformers`\n * field below.\n */\n transformers: [\n preprocessTransformer({\n context: {\n production: true,\n development: false,\n },\n }),\n '...',\n ],\n output: [\n {\n dir: './dist/esm',\n format: 'es6',\n /**\n * Since we want to handle less/css files separately, we can exclude them\n * from this output dir. This extends the root `exclude` definition.\n * When the option is not defined, it copies all files to the dist folder.\n */\n exclude: /\\.(less|css)$/i\n },\n {\n dir: './dist/cjs',\n format: 'commonjs',\n exclude: /\\.(less|css)$/i\n },\n {\n dir: './dist/less',\n format: 'es6',\n // Here we can have an individual bundle just for less/css files.\n include: /\\.(less|css)$/i\n },\n ],\n plugins: [\n typescriptDeclarationsPlugin({ additionalArgs: ['--skipLibCheck'] }),\n ],\n exclude: [\n '**/__tests__/**',\n '**/node_modules/**',\n '**/dist/**',\n '**/typings/**',\n '**/.DS_Store/**',\n 'tsconfig.tsbuildinfo',\n ],\n /**\n * Optional, this adds additional glob paths to link watcher for files\n * which are also watched for changes and copied to the linked directory.\n * (Works only with `link` command).\n */\n additionalWatchPaths: ['./transform/**/*', './polyfill/**/*'],\n};\n"})}),"\n",(0,o.jsxs)(e.h3,{id:"packagejson-entry-points",children:[(0,o.jsx)(e.code,{children:"package.json"})," entry points"]}),"\n",(0,o.jsxs)(e.p,{children:["When a plugin is built using this cli, it should provide following entry points in the ",(0,o.jsx)(e.code,{children:"package.json"})," file:"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-json",children:'"main": "./dist/cjs/index.js",\n"module": "./dist/esm/index.js",\n'})}),"\n",(0,o.jsx)(e.p,{children:"And in case of server/client specific bundles:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-json",children:'"main": "./dist/cjs/index.js",\n"module": "./dist/esm/server/index.js",\n"browser": "./dist/esm/client/index.js",\n'})}),"\n",(0,o.jsx)(e.p,{children:"This makes sure that webpack uses correct entry points for each bundle, where the priorities are defined as:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"module"})," -> ",(0,o.jsx)(e.code,{children:"main"})," for ",(0,o.jsx)(e.strong,{children:"server"})," bundle (we always prefer esm as it enables better code analysis and tree-shaking)"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"browser"})," -> ",(0,o.jsx)(e.code,{children:"module"})," -> ",(0,o.jsx)(e.code,{children:"main"})," for ",(0,o.jsx)(e.strong,{children:"client"})," bundle"]}),"\n"]}),"\n",(0,o.jsx)(e.hr,{}),"\n",(0,o.jsxs)(e.p,{children:["This package is part of the IMA.js application stack, see ",(0,o.jsx)(e.a,{href:"https://imajs.io/",children:"imajs.io"})," for more info about the whole project."]})]})}function u(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(d,{...n})}):d(n)}},3023:(n,e,i)=>{i.d(e,{R:()=>r,x:()=>a});var s=i(3696);const o={},t=s.createContext(o);function r(n){const e=s.useContext(t);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:r(n.components),s.createElement(t.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/a394c21d.c92e33f7.js b/assets/js/a394c21d.c92e33f7.js deleted file mode 100644 index 4e13ddece..000000000 --- a/assets/js/a394c21d.c92e33f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6316],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function d(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var g=r.createContext({}),p=function(e){var a=r.useContext(g),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=p(e.components);return r.createElement(g.Provider,{value:a},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},s=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,g=e.parentName,o=d(e,["components","mdxType","originalType","parentName"]),y=p(t),s=n,c=y["".concat(g,".").concat(s)]||y[s]||m[s]||i;return t?r.createElement(c,l(l({ref:a},o),{},{components:t})):r.createElement(c,l({ref:a},o))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=s;var d={};for(var g in a)hasOwnProperty.call(a,g)&&(d[g]=a[g]);d.originalType=e,d[y]="string"==typeof e?e:n,l[1]=d;for(var p=2;p<i;p++)l[p]=t[p];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}s.displayName="MDXCreateElement"},8503:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>g,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>p});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.DispatcherEventsMap",title:"Interface: DispatcherEventsMap",sidebar_label:"@ima/core.DispatcherEventsMap",custom_edit_url:null},l=void 0,d={unversionedId:"api/interfaces/ima_core.DispatcherEventsMap",id:"api/interfaces/ima_core.DispatcherEventsMap",title:"Interface: DispatcherEventsMap",description:"@ima/core.DispatcherEventsMap",source:"@site/../docs/api/interfaces/ima_core.DispatcherEventsMap.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.DispatcherEventsMap",permalink:"/api/interfaces/ima_core.DispatcherEventsMap",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.DispatcherEventsMap",title:"Interface: DispatcherEventsMap",sidebar_label:"@ima/core.DispatcherEventsMap",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.DictionaryMap",permalink:"/api/interfaces/ima_core.DictionaryMap"},next:{title:"@ima/core.Environment",permalink:"/api/interfaces/ima_core.Environment"}},g={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"$IMA.$PageRenderer.error",id:"imapagerenderererror",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"$IMA.$PageRenderer.hydrateError",id:"imapagerendererhydrateerror",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"$IMA.$PageRenderer.mounted",id:"imapagerenderermounted",level:3},{value:"Type declaration",id:"type-declaration-2",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"$IMA.$PageRenderer.unmounted",id:"imapagerendererunmounted",level:3},{value:"Type declaration",id:"type-declaration-3",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"$IMA.$PageRenderer.updated",id:"imapagerendererupdated",level:3},{value:"Type declaration",id:"type-declaration-4",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"$IMA.$PageStateManager.afterChangeState",id:"imapagestatemanagerafterchangestate",level:3},{value:"Type declaration",id:"type-declaration-5",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"$IMA.$PageStateManager.beforeChangeState",id:"imapagestatemanagerbeforechangestate",level:3},{value:"Type declaration",id:"type-declaration-6",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"$IMA.$Router.afterHandleRoute",id:"imarouterafterhandleroute",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"$IMA.$Router.afterLoadingAsyncRoute",id:"imarouterafterloadingasyncroute",level:3},{value:"Type declaration",id:"type-declaration-7",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"$IMA.$Router.beforeHandleRoute",id:"imarouterbeforehandleroute",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"$IMA.$Router.beforeLoadingAsyncRoute",id:"imarouterbeforeloadingasyncroute",level:3},{value:"Type declaration",id:"type-declaration-8",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-10",level:4}],o={toc:p},y="wrapper";function m(e){let{components:a,...t}=e;return(0,n.yg)(y,(0,r.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".DispatcherEventsMap"),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("inlineCode",{parentName:"p"},"PageStateDispatcherEvents"))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("inlineCode",{parentName:"p"},"PageManagerDispatcherEvents"))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("inlineCode",{parentName:"p"},"RouterDispatcherEvents"))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("inlineCode",{parentName:"p"},"PageRendererDispatcherEvents")),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"DispatcherEventsMap"))))),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"imapagerenderererror"},"$IMA.$PageRenderer.error"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageRenderer.error"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"message")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,"PageRendererDispatcherEvents.$IMA.$PageRenderer.error"),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L13"},"packages/core/src/page/renderer/PageRenderer.ts:13")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imapagerendererhydrateerror"},"$IMA.$PageRenderer.hydrateError"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageRenderer.hydrateError"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"clientNode")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Element"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"error")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"serverNode")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Element"))))),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,"PageRendererDispatcherEvents.$IMA.$PageRenderer.hydrateError"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L14"},"packages/core/src/page/renderer/PageRenderer.ts:14")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imapagerenderermounted"},"$IMA.$PageRenderer.mounted"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageRenderer.mounted"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-2"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"type")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/enums/ima_core.RendererTypes#render"},(0,n.yg)("inlineCode",{parentName:"a"},"RENDER"))," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/enums/ima_core.RendererTypes#hydrate"},(0,n.yg)("inlineCode",{parentName:"a"},"HYDRATE")))))),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,"PageRendererDispatcherEvents.$IMA.$PageRenderer.mounted"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L19"},"packages/core/src/page/renderer/PageRenderer.ts:19")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imapagerendererunmounted"},"$IMA.$PageRenderer.unmounted"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageRenderer.unmounted"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-3"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"type")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/enums/ima_core.RendererTypes#unmount"},(0,n.yg)("inlineCode",{parentName:"a"},"UNMOUNT")))))),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,"PageRendererDispatcherEvents.$IMA.$PageRenderer.unmounted"),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L22"},"packages/core/src/page/renderer/PageRenderer.ts:22")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imapagerendererupdated"},"$IMA.$PageRenderer.updated"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageRenderer.updated"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-4"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageState")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#anyparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"AnyParameters")))))),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,"PageRendererDispatcherEvents.$IMA.$PageRenderer.updated"),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/renderer/PageRenderer.ts#L23"},"packages/core/src/page/renderer/PageRenderer.ts:23")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imapagestatemanagerafterchangestate"},"$IMA.$PageStateManager.afterChangeState"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageStateManager.afterChangeState"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-5"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"newState")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#anyparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"AnyParameters")))))),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,"PageStateDispatcherEvents.$IMA.$PageStateManager.afterChangeState"),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L9"},"packages/core/src/page/state/PageStateManagerImpl.ts:9")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imapagestatemanagerbeforechangestate"},"$IMA.$PageStateManager.beforeChangeState"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$PageStateManager.beforeChangeState"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-6"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"newState")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#anyparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"AnyParameters")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"oldState")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#anyparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"AnyParameters")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"patchState")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#anyparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"AnyParameters")))))),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,"PageStateDispatcherEvents.$IMA.$PageStateManager.beforeChangeState"),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/state/PageStateManagerImpl.ts#L12"},"packages/core/src/page/state/PageStateManagerImpl.ts:12")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imarouterafterhandleroute"},"$IMA.$Router.afterHandleRoute"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$Router.afterHandleRoute"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"AfterHandleRouteEventData")),(0,n.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,n.yg)("p",null,"RouterDispatcherEvents.$IMA.$Router.afterHandleRoute"),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L41"},"packages/core/src/router/AbstractRouter.ts:41")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imarouterafterloadingasyncroute"},"$IMA.$Router.afterLoadingAsyncRoute"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$Router.afterLoadingAsyncRoute"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-7"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,n.yg)("p",null,"PageManagerDispatcherEvents.$IMA.$Router.afterLoadingAsyncRoute"),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L25"},"packages/core/src/page/manager/AbstractPageManager.ts:25")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imarouterbeforehandleroute"},"$IMA.$Router.beforeHandleRoute"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$Router.beforeHandleRoute"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"BeforeHandleRouteEventData")),(0,n.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,n.yg)("p",null,"RouterDispatcherEvents.$IMA.$Router.beforeHandleRoute"),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L42"},"packages/core/src/router/AbstractRouter.ts:42")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"imarouterbeforeloadingasyncroute"},"$IMA.$Router.beforeLoadingAsyncRoute"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"$IMA.$Router.beforeLoadingAsyncRoute"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("h4",{id:"type-declaration-8"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,n.yg)("p",null,"PageManagerDispatcherEvents.$IMA.$Router.beforeLoadingAsyncRoute"),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L28"},"packages/core/src/page/manager/AbstractPageManager.ts:28")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a570e4e4.9f552de1.js b/assets/js/a570e4e4.9f552de1.js deleted file mode 100644 index 47d4341e0..000000000 --- a/assets/js/a570e4e4.9f552de1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6380],{5680:(e,r,i)=>{i.d(r,{xA:()=>m,yg:()=>f});var n=i(6540);function t(e,r,i){return r in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i,e}function a(e,r){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),i.push.apply(i,n)}return i}function l(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?a(Object(i),!0).forEach((function(r){t(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(i,r))}))}return e}function s(e,r){if(null==e)return{};var i,n,t=function(e,r){if(null==e)return{};var i,n,t={},a=Object.keys(e);for(n=0;n<a.length;n++)i=a[n],r.indexOf(i)>=0||(t[i]=e[i]);return t}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)i=a[n],r.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(t[i]=e[i])}return t}var p=n.createContext({}),o=function(e){var r=n.useContext(p),i=r;return e&&(i="function"==typeof e?e(r):l(l({},r),e)),i},m=function(e){var r=o(e.components);return n.createElement(p.Provider,{value:r},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},c=n.forwardRef((function(e,r){var i=e.components,t=e.mdxType,a=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),u=o(i),c=t,f=u["".concat(p,".").concat(c)]||u[c]||d[c]||a;return i?n.createElement(f,l(l({ref:r},m),{},{components:i})):n.createElement(f,l({ref:r},m))}));function f(e,r){var i=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var a=i.length,l=new Array(a);l[0]=c;var s={};for(var p in r)hasOwnProperty.call(r,p)&&(s[p]=r[p]);s.originalType=e,s[u]="string"==typeof e?e:t,l[1]=s;for(var o=2;o<a;o++)l[o]=i[o];return n.createElement.apply(null,l)}return n.createElement.apply(null,i)}c.displayName="MDXCreateElement"},232:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>o});var n=i(8102),t=(i(6540),i(5680));const a={id:"ima_dev_utils.CompileError",title:"Interface: CompileError",sidebar_label:"@ima/dev-utils.CompileError",custom_edit_url:null},l=void 0,s={unversionedId:"api/interfaces/ima_dev_utils.CompileError",id:"api/interfaces/ima_dev_utils.CompileError",title:"Interface: CompileError",description:"@ima/dev-utils.CompileError",source:"@site/../docs/api/interfaces/ima_dev_utils.CompileError.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_dev_utils.CompileError",permalink:"/api/interfaces/ima_dev_utils.CompileError",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_dev_utils.CompileError",title:"Interface: CompileError",sidebar_label:"@ima/dev-utils.CompileError",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.WindowCustomEventsMap",permalink:"/api/interfaces/ima_core.WindowCustomEventsMap"},next:{title:"@ima/dev-utils.FragmentLine",permalink:"/api/interfaces/ima_dev_utils.FragmentLine"}},p={},o=[{value:"Properties",id:"properties",level:2},{value:"column",id:"column",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"fileUri",id:"fileuri",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"line",id:"line",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"message",id:"message",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"name",id:"name",level:3},{value:"Defined in",id:"defined-in-4",level:4}],m={toc:o},u="wrapper";function d(e){let{components:r,...i}=e;return(0,t.yg)(u,(0,n.A)({},m,i,{components:r,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_dev_utils"},"@ima/dev-utils"),".CompileError"),(0,t.yg)("h2",{id:"properties"},"Properties"),(0,t.yg)("h3",{id:"column"},"column"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"column"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"number")),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/parsers/parserUtils.ts#L6"},"parsers/parserUtils.ts:6")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"fileuri"},"fileUri"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"fileUri"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/parsers/parserUtils.ts#L4"},"parsers/parserUtils.ts:4")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"line"},"line"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"line"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"number")),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/parsers/parserUtils.ts#L5"},"parsers/parserUtils.ts:5")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"message"},"message"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"message"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/parsers/parserUtils.ts#L3"},"parsers/parserUtils.ts:3")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"name"},"name"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"name"),": ",(0,t.yg)("inlineCode",{parentName:"p"},"string")),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/dev-utils/src/parsers/parserUtils.ts#L2"},"parsers/parserUtils.ts:2")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a58b1ccc.6a4bb416.js b/assets/js/a58b1ccc.6a4bb416.js new file mode 100644 index 000000000..258fdc8bc --- /dev/null +++ b/assets/js/a58b1ccc.6a4bb416.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3797],{8791:(e,i,a)=>{a.r(i),a.d(i,{assets:()=>t,contentTitle:()=>c,default:()=>d,frontMatter:()=>l,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/core/globals","title":"@ima/core","description":"Enumerations","source":"@site/../docs/api/@ima/core/globals.md","sourceDirName":"api/@ima/core","slug":"/api/@ima/core/globals","permalink":"/api/@ima/core/globals","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/globals.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: routeClientApp()","permalink":"/api/@ima/core/functions/routeClientApp"},"next":{"title":"Interface: AppEnvironment","permalink":"/api/@ima/core/interfaces/AppEnvironment"}}');var n=a(2540),s=a(3023);const l={},c="@ima/core",t={},o=[{value:"Enumerations",id:"enumerations",level:2},{value:"Classes",id:"classes",level:2},{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2},{value:"Functions",id:"functions",level:2}];function h(e){const i={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.header,{children:(0,n.jsx)(i.h1,{id:"imacore",children:"@ima/core"})}),"\n",(0,n.jsx)(i.h2,{id:"enumerations",children:"Enumerations"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/ActionTypes",children:"ActionTypes"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/BindingState",children:"BindingState"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/HttpStatusCode",children:"HttpStatusCode"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/RendererEvents",children:"RendererEvents"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/RendererTypes",children:"RendererTypes"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/RouteNames",children:"RouteNames"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/RouterEvents",children:"RouterEvents"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/enumerations/StateEvents",children:"StateEvents"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"classes",children:"Classes"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/AbstractController",children:"AbstractController"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/AbstractExecution",children:"AbstractExecution"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/AbstractExtension",children:"AbstractExtension"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:"AbstractPageManager"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/AbstractRoute",children:"AbstractRoute"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/AbstractRouter",children:"AbstractRouter"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Bootstrap",children:"Bootstrap"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Cache",children:"Cache"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/CacheEntry",children:"CacheEntry"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/CacheFactory",children:"CacheFactory"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/CacheImpl",children:"CacheImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/CancelError",children:"CancelError"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ClientPageManager",children:"ClientPageManager"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ClientRouter",children:"ClientRouter"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ClientWindow",children:"ClientWindow"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ComponentUtils",children:"ComponentUtils"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Controller",children:"Controller"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:"ControllerDecorator"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/CookieStorage",children:"CookieStorage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:"Dictionary"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Dispatcher",children:"Dispatcher"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/DispatcherImpl",children:"DispatcherImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/DynamicRoute",children:"DynamicRoute"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Entry",children:"Entry"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Error",children:"Error"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/EventBus",children:"EventBus"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/EventBusImpl",children:"EventBusImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Execution",children:"Execution"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Extension",children:"Extension"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/GenericError",children:"GenericError"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/HttpAgent",children:"HttpAgent"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/HttpAgentImpl",children:"HttpAgentImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/HttpProxy",children:"HttpProxy"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/MapStorage",children:"MapStorage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/MessageFormatDictionary",children:"MessageFormatDictionary"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/MetaManager",children:"MetaManager"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/MetaManagerImpl",children:"MetaManagerImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Namespace",children:"Namespace"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ObjectContainer",children:"ObjectContainer"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Observable",children:"Observable"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ObservableImpl",children:"ObservableImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageFactory",children:"PageFactory"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageHandler",children:"PageHandler"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:"PageHandlerRegistry"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageManager",children:"PageManager"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageMetaHandler",children:"PageMetaHandler"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageNavigationHandler",children:"PageNavigationHandler"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageRenderer",children:"PageRenderer"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageStateManager",children:"PageStateManager"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:"PageStateManagerDecorator"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PageStateManagerImpl",children:"PageStateManagerImpl"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/PluginLoader",children:"PluginLoader"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Request",children:"Request"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Response",children:"Response"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/RouteFactory",children:"RouteFactory"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Router",children:"Router"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/SerialBatch",children:"SerialBatch"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ServerPageManager",children:"ServerPageManager"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ServerRouter",children:"ServerRouter"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/ServerWindow",children:"ServerWindow"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/SessionMapStorage",children:"SessionMapStorage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/SessionStorage",children:"SessionStorage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/StaticRoute",children:"StaticRoute"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Storage",children:"Storage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/UrlTransformer",children:"UrlTransformer"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/WeakMapStorage",children:"WeakMapStorage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/classes/Window",children:"Window"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/AppEnvironment",children:"AppEnvironment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/BootConfig",children:"BootConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/BootServices",children:"BootServices"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/DictionaryMap",children:"DictionaryMap"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:"DispatcherEventsMap"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/Environment",children:"Environment"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/GlobalImaObject",children:"GlobalImaObject"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:"HttpAgentRequestOptions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/ImaRequestInit",children:"ImaRequestInit"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:"InitAppConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitImaConfig",children:"InitImaConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:"InitPluginConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/Manifest",children:"Manifest"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/ManifestAsset",children:"ManifestAsset"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:"OCAliasMap"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/PageAction",children:"PageAction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/PageRendererSettings",children:"PageRendererSettings"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/Resources",children:"Resources"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/RouteAction",children:"RouteAction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/RouteFactoryOptions",children:"RouteFactoryOptions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/RouteLocals",children:"RouteLocals"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:"RouteOptions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/Settings",children:"Settings"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/Utils",children:"Utils"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/interfaces/WindowCustomEventsMap",children:"WindowCustomEventsMap"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/AnyParameters",children:"AnyParameters"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/AppSettings",children:"AppSettings"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/AsyncRouteController",children:"AsyncRouteController"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/AsyncRouteView",children:"AsyncRouteView"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/BootSettings",children:"BootSettings"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/Cookie",children:"Cookie"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/CookieOptions",children:"CookieOptions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/CookieTransformFunction",children:"CookieTransformFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DecoratedOCAliasMap",children:"DecoratedOCAliasMap"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:"Dependencies"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/Dependency",children:"Dependency"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DictionaryConfig",children:"DictionaryConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DictionaryData",children:"DictionaryData"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:"DispatcherListener"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/EntryOptions",children:"EntryOptions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/EventBusEventHandler",children:"EventBusEventHandler"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:"EventBusListener"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/EventBusOptions",children:"EventBusOptions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:"ExecutionJob"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/GenericErrorParams",children:"GenericErrorParams"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:"HttpAgentResponse"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/HttpProxyErrorParams",children:"HttpProxyErrorParams"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:"HttpProxyRequestParams"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitBindFunction",children:"InitBindFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitRoutesFunction",children:"InitRoutesFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitServicesFunction",children:"InitServicesFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitSettingsFunction",children:"InitSettingsFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/LoadedResources",children:"LoadedResources"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/LocalizationFunction",children:"LocalizationFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/ManageArgs",children:"ManageArgs"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:"ManagedPage"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/MetaAttributes",children:"MetaAttributes"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecord",children:"MetaManagerRecord"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/MetaManagerRecordKeys",children:"MetaManagerRecordKeys"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/MetaValue",children:"MetaValue"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/NativeListener",children:"NativeListener"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/ObjectParameters",children:"ObjectParameters"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:"OCInjectable"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/OCInstance",children:"OCInstance"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/OCInstanceConstrain",children:"OCInstanceConstrain"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PageData",children:"PageData"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PageState",children:"PageState"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PluginInitBindFunction",children:"PluginInitBindFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PluginInitServicesFunction",children:"PluginInitServicesFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/PluginInitSettingsFunction",children:"PluginInitSettingsFunction"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/Resource",children:"Resource"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/RouteController",children:"RouteController"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:"RouteParams"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:"RoutePathExpression"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/RouterMiddleware",children:"RouterMiddleware"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/RouteView",children:"RouteView"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/SerializedCacheEntry",children:"SerializedCacheEntry"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/SerializedData",children:"SerializedData"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:"StringParameters"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:"UnknownParameters"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/UnknownPromiseParameters",children:"UnknownPromiseParameters"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/WindowEventTargets",children:"WindowEventTargets"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/type-aliases/WindowEventTargetsMap",children:"WindowEventTargetsMap"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"variables",children:"Variables"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/variables/ns",children:"ns"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/variables/pluginLoader",children:"pluginLoader"})}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"functions",children:"Functions"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/bootClientApp",children:"bootClientApp"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/createImaApp",children:"createImaApp"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/getClientBootConfig",children:"getClientBootConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/getInitialImaConfigFunctions",children:"getInitialImaConfigFunctions"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/getInitialPluginConfig",children:"getInitialPluginConfig"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/getNamespace",children:"getNamespace"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/onLoad",children:"onLoad"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/reviveClientApp",children:"reviveClientApp"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.a,{href:"/api/@ima/core/functions/routeClientApp",children:"routeClientApp"})}),"\n"]})]})}function d(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},3023:(e,i,a)=>{a.d(i,{R:()=>l,x:()=>c});var r=a(3696);const n={},s=r.createContext(n);function l(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a59d7f05.1de83237.js b/assets/js/a59d7f05.1de83237.js deleted file mode 100644 index 48fc5b7d2..000000000 --- a/assets/js/a59d7f05.1de83237.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2808],{5680:(e,n,a)=>{a.d(n,{xA:()=>s,yg:()=>c});var t=a(6540);function r(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function i(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function l(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?i(Object(a),!0).forEach((function(n){r(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function o(e,n){if(null==e)return{};var a,t,r=function(e,n){if(null==e)return{};var a,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)a=i[t],n.indexOf(a)>=0||(r[a]=e[a]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)a=i[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=t.createContext({}),g=function(e){var n=t.useContext(p),a=n;return e&&(a="function"==typeof e?e(n):l(l({},n),e)),a},s=function(e){var n=g(e.components);return t.createElement(p.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},m=t.forwardRef((function(e,n){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=g(a),m=r,c=d["".concat(p,".").concat(m)]||d[m]||u[m]||i;return a?t.createElement(c,l(l({ref:n},s),{},{components:a})):t.createElement(c,l({ref:n},s))}));function c(e,n){var a=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=m;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o[d]="string"==typeof e?e:r,l[1]=o;for(var g=2;g<i;g++)l[g]=a[g];return t.createElement.apply(null,l)}return t.createElement.apply(null,a)}m.displayName="MDXCreateElement"},4141:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>g});var t=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.PluginLoader",title:"Class: PluginLoader",sidebar_label:"@ima/core.PluginLoader",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.PluginLoader",id:"api/classes/ima_core.PluginLoader",title:"Class: PluginLoader",description:"@ima/core.PluginLoader",source:"@site/../docs/api/classes/ima_core.PluginLoader.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PluginLoader",permalink:"/api/classes/ima_core.PluginLoader",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PluginLoader",title:"Class: PluginLoader",sidebar_label:"@ima/core.PluginLoader",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageStateManagerImpl",permalink:"/api/classes/ima_core.PageStateManagerImpl"},next:{title:"@ima/core.Request",permalink:"/api/classes/ima_core.Request"}},p={},g=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_bootstrap",id:"_bootstrap",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_plugins",id:"_plugins",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods",level:2},{value:"getPlugins",id:"getplugins",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"register",id:"register",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4}],s={toc:g},d="wrapper";function u(e){let{components:n,...a}=e;return(0,r.yg)(d,(0,t.A)({},s,a,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PluginLoader"),(0,r.yg)("p",null,"Plugin loader utility used to register external IMA.js plugins. This\nadds ability for external packages to automatically hook into several\nIMA.js application parts and automatically bootstrap certain settings."),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"new PluginLoader"),"()"),(0,r.yg)("p",null,"Initializes the plugin loader."),(0,r.yg)("p",null,"This is private constructor and should not be used outside of this file.\nYou should use the exported instance to register ima.js plugins."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"import { pluginLoader } from '@ima/core';\n\n@private\n")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L26"},"packages/core/src/pluginLoader.ts:26")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_bootstrap"},"_","bootstrap"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"_","bootstrap"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L14"},"packages/core/src/pluginLoader.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_plugins"},"_","plugins"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","plugins"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"name"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"plugin"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))," }",">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L10"},"packages/core/src/pluginLoader.ts:10")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"getplugins"},"getPlugins"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getPlugins"),"(): ","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"name"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"plugin"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))," }[]"),(0,r.yg)("p",null,"Returns array of registered IMA.js plugins."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,"{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"name"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"plugin"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))," }[]"),(0,r.yg)("p",null,"Array of IMA.js plugins."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L88"},"packages/core/src/pluginLoader.ts:88")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"bootstrap"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the plugin loader with bootstrap instance. Which is later used\nto handle dynamically loaded IMA.js plugins."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"bootstrap")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Bootstrap"},(0,r.yg)("inlineCode",{parentName:"a"},"Bootstrap"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"App bootstrap instance.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L36"},"packages/core/src/pluginLoader.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"register"},"register"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"register"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"registerFn"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Registers plugin into IMA.js bootstrap sequence."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Plugin name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"registerFn")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"ns"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Namespace"},(0,r.yg)("inlineCode",{parentName:"a"},"Namespace")),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Plugin initialization function.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"pluginLoader.register('@ima/plugin-logger', ns => {\n ns.set('ima.plugin.logger', logger);\n\n return {\n initSettings,\n initServices,\n initBind,\n };\n});\n")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/pluginLoader.ts#L57"},"packages/core/src/pluginLoader.ts:57")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a5ac8c5f.bd83f006.js b/assets/js/a5ac8c5f.bd83f006.js deleted file mode 100644 index 4962b8e93..000000000 --- a/assets/js/a5ac8c5f.bd83f006.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5747],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>m});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var d=n.createContext({}),g=function(e){var a=n.useContext(d),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},s=function(e){var a=g(e.components);return n.createElement(d.Provider,{value:a},e.children)},c="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},o=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),c=g(t),o=r,m=c["".concat(d,".").concat(o)]||c[o]||y[o]||l;return t?n.createElement(m,i(i({ref:a},s),{},{components:t})):n.createElement(m,i({ref:a},s))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=o;var p={};for(var d in a)hasOwnProperty.call(a,d)&&(p[d]=a[d]);p.originalType=e,p[c]="string"==typeof e?e:r,i[1]=p;for(var g=2;g<l;g++)i[g]=t[g];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}o.displayName="MDXCreateElement"},9077:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>i,default:()=>y,frontMatter:()=>l,metadata:()=>p,toc:()=>g});var n=t(8102),r=(t(6540),t(5680));const l={id:"ima_core.CacheImpl",title:"Class: CacheImpl<V>",sidebar_label:"@ima/core.CacheImpl",custom_edit_url:null},i=void 0,p={unversionedId:"api/classes/ima_core.CacheImpl",id:"api/classes/ima_core.CacheImpl",title:"Class: CacheImpl<V>",description:"@ima/core.CacheImpl",source:"@site/../docs/api/classes/ima_core.CacheImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.CacheImpl",permalink:"/api/classes/ima_core.CacheImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.CacheImpl",title:"Class: CacheImpl<V>",sidebar_label:"@ima/core.CacheImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.CacheFactory",permalink:"/api/classes/ima_core.CacheFactory"},next:{title:"@ima/core.CancelError",permalink:"/api/classes/ima_core.CancelError"}},d={},g=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_Helper",id:"_helper",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_cache",id:"_cache",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_enabled",id:"_enabled",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_factory",id:"_factory",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_ttl",id:"_ttl",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods",level:2},{value:"_canSerializeValue",id:"_canserializevalue",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_clone",id:"_clone",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"disable",id:"disable",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"enable",id:"enable",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-16",level:4}],s={toc:g},c="wrapper";function y(e){let{components:a,...t}=e;return(0,r.yg)(c,(0,n.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".CacheImpl"),(0,r.yg)("p",null,"Configurable generic implementation of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache")," interface."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"if (cache.has('model.articles')) {\n return cache.get('model.articles');\n} else {\n let articles = getArticlesFromStorage();\n // cache for an hour\n cache.set('model.articles', articles, 60 * 60 * 1000);\n}\n")),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},(0,r.yg)("inlineCode",{parentName:"a"},"Cache")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"CacheImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new CacheImpl"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"cacheStorage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"factory"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Helper"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),")"),(0,r.yg)("p",null,"Initializes the cache."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cacheStorage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Storage"},(0,r.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.CacheEntry"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheEntry")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"V"),">",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cache entry storage to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"factory")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.CacheFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheFactory")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"V"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Which create new instance of cache entry.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Helper")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"__module")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The IMA.js helper methods.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cache configuration.")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L36"},"packages/core/src/cache/CacheImpl.ts:36")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_helper"},"_","Helper"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","Helper"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"__module")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L24"},"packages/core/src/cache/CacheImpl.ts:24")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_cache"},"_","cache"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","cache"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,r.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheEntry"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheEntry")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">",">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L22"},"packages/core/src/cache/CacheImpl.ts:22")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_enabled"},"_","enabled"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","enabled"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L26"},"packages/core/src/cache/CacheImpl.ts:26")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_factory"},"_","factory"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","factory"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheFactory")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L23"},"packages/core/src/cache/CacheImpl.ts:23")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_ttl"},"_","ttl"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","ttl"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L25"},"packages/core/src/cache/CacheImpl.ts:25")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_canserializevalue"},"_","canSerializeValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_canSerializeValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Tests whether the provided value can be serialized into JSON."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value to test whether or not it can be serialized.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the provided value can be serialized into JSON,\n",(0,r.yg)("inlineCode",{parentName:"p"},"false")," otherwise."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L202"},"packages/core/src/cache/CacheImpl.ts:202")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_clone"},"_","clone"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_clone"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"Attempts to clone the provided value, if possible. Values that cannot be\ncloned (e.g. promises) will be simply returned."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value to clone.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"The created clone, or the provided value if the value cannot be\ncloned."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L256"},"packages/core/src/cache/CacheImpl.ts:256")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Clears the cache by deleting all entries."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#clear"},"clear")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L66"},"packages/core/src/cache/CacheImpl.ts:66")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"delete"},"delete"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"delete"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Deletes the specified cache entry. The method has no effect if the entry\ndoes not exist."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#delete"},"delete")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L122"},"packages/core/src/cache/CacheImpl.ts:122")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"deserialize"},"deserialize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"deserialize"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"serializedData"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Loads the provided serialized cache data into this cache. Entries\npresent in this cache but not specified in the provided data will remain\nin this cache intact."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"serializedData")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"An object representing the state of the cache to load, obtained by parsing the JSON string returned by the ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.CacheImpl#serialize"},"serialize")," method.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#deserialize"},"deserialize")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L181"},"packages/core/src/cache/CacheImpl.ts:181")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"disable"},"disable"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"disable"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Disables the cache, preventing the retrieval of any cached entries and\nreporting all cache entries as non-existing. Disabling the cache does\nnot however prevent modifying the existing or creating new cache\nentries."),(0,r.yg)("p",null,"Disabling the cache also clears all of its current entries."),(0,r.yg)("p",null,"The method has no effect if the cache is already disabled."),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#disable"},"disable")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L129"},"packages/core/src/cache/CacheImpl.ts:129")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"enable"},"enable"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"enable"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Enables the cache, allowing the retrieval of cache entries."),(0,r.yg)("p",null,"The method has no effect if the cache is already enabled."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#enable"},"enable")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L137"},"packages/core/src/cache/CacheImpl.ts:137")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"Returns the value of the entry identified by the specified key."),(0,r.yg)("p",null,"The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if the specified entry does not exist, has\nalready expired, or the cache is currently disabled."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"The value of the specified cache entry, or ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if the entry\nis not available."),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#get"},"get")),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L92"},"packages/core/src/cache/CacheImpl.ts:92")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"has"},"has"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"has"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Tests whether the cache contains a fresh entry for the specified key. A\ncache entry is fresh if the has not expired its TTL (time to live)."),(0,r.yg)("p",null,"The method always returns ",(0,r.yg)("inlineCode",{parentName:"p"},"false")," if the cache is currently disabled."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the cache is enabled, the entry exists and has\nnot expired yet."),(0,r.yg)("h4",{id:"overrides-7"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#has"},"has")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L73"},"packages/core/src/cache/CacheImpl.ts:73")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"serialize"},"serialize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"serialize"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Exports the state of this cache to an HTML-safe JSON string. The data\nobtained by parsing the result of this method are compatible with the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheImpl#deserialize"},"deserialize")," method."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"A JSON string containing an object representing of the\ncurrent state of this cache."),(0,r.yg)("h4",{id:"overrides-8"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#serialize"},"serialize")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L144"},"packages/core/src/cache/CacheImpl.ts:144")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"set"},"set"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"set"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"ttl?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the cache entry identified by the specified key to the provided\nvalue. The entry is created if it does not exist yet."),(0,r.yg)("p",null,"The method has no effect if the cache is currently disabled."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cache entry value.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ttl")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"0")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds. Use ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," or omit the parameter to use the default TTL of this cache.")))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-9"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},"Cache"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#set"},"set")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheImpl.ts#L106"},"packages/core/src/cache/CacheImpl.ts:106")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a63c3ee5.25515758.js b/assets/js/a63c3ee5.25515758.js new file mode 100644 index 000000000..a71c5c605 --- /dev/null +++ b/assets/js/a63c3ee5.25515758.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8434],{626:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>r,toc:()=>u});const r=JSON.parse('{"id":"api/@ima/cli/functions/getCurrentCoreJsVersion","title":"Function: getCurrentCoreJsVersion()","description":"getCurrentCoreJsVersion(): Promise\\\\","source":"@site/../docs/api/@ima/cli/functions/getCurrentCoreJsVersion.md","sourceDirName":"api/@ima/cli/functions","slug":"/api/@ima/cli/functions/getCurrentCoreJsVersion","permalink":"/api/@ima/cli/functions/getCurrentCoreJsVersion","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/functions/getCurrentCoreJsVersion.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: findRules()","permalink":"/api/@ima/cli/functions/findRules"},"next":{"title":"Function: getLanguageEntryPoints()","permalink":"/api/@ima/cli/functions/getLanguageEntryPoints"}}');var s=t(2540),i=t(3023);const o={},c="Function: getCurrentCoreJsVersion()",a={},u=[{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-getcurrentcorejsversion",children:"Function: getCurrentCoreJsVersion()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"getCurrentCoreJsVersion"}),"(): ",(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"any"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L538",children:"webpack/utils.ts:538"})]}),"\n",(0,s.jsx)(n.p,{children:"Extracts major.minor version string of currently resolved\ncore-js from node_modules."}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"any"}),">"]})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var r=t(3696);const s={},i=r.createContext(s);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a7456010.59bbfd0f.js b/assets/js/a7456010.59bbfd0f.js new file mode 100644 index 000000000..23807bcbb --- /dev/null +++ b/assets/js/a7456010.59bbfd0f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1235],{8552:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.3d4ec037.js b/assets/js/a7bd4aaa.3d4ec037.js new file mode 100644 index 000000000..9cdb607ff --- /dev/null +++ b/assets/js/a7bd4aaa.3d4ec037.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7098],{5575:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(3696);var r=s(2952),o=s(3572),t=s(6658),i=s(3971),c=s(8004),a=s(2540);function u(n){const{version:e}=n;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{version:e.version,tag:(0,o.k)(e.pluginId,e.version)}),(0,a.jsx)(r.be,{children:e.noIndex&&(0,a.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,a.jsx)(r.e3,{className:e.className,children:(0,a.jsx)(t.n,{version:e,children:(0,i.v)(s.routes)})})}function d(n){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(u,{...n}),(0,a.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a8d83bd5.5a29693d.js b/assets/js/a8d83bd5.5a29693d.js new file mode 100644 index 000000000..8eda2b24d --- /dev/null +++ b/assets/js/a8d83bd5.5a29693d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[378],{4587:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>o,frontMatter:()=>a,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/MapStorage","title":"Class: MapStorage\\\\<V\\\\>","description":"Defined in8","source":"@site/../docs/api/@ima/core/classes/MapStorage.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/MapStorage","permalink":"/api/@ima/core/classes/MapStorage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/MapStorage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: HttpProxy","permalink":"/api/@ima/core/classes/HttpProxy"},"next":{"title":"Class: MessageFormatDictionary","permalink":"/api/@ima/core/classes/MessageFormatDictionary"}}');var i=r(2540),c=r(3023);const a={},d="Class: MapStorage<V>",t={},l=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new MapStorage()",id:"new-mapstorage",level:3},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"keys()",id:"keys",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"size()",id:"size",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-7",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-mapstoragev",children:"Class: MapStorage<V>"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L8",children:"packages/core/src/storage/MapStorage.ts:8"})]}),"\n",(0,i.jsxs)(s.p,{children:["Implementation of the ",(0,i.jsx)(s.code,{children:"link Storage"})," interface that relies on the\nnative ",(0,i.jsx)(s.code,{children:"Map"})," for storage."]}),"\n",(0,i.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"V"})]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-mapstorage",children:"new MapStorage()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new MapStorage"}),"<",(0,i.jsx)(s.code,{children:"V"}),">(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,i.jsx)(s.code,{children:"MapStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/MapStorage",children:(0,i.jsx)(s.code,{children:"MapStorage"})}),"<",(0,i.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,i.jsx)(s.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#constructors",children:(0,i.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"})," ",(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L14",children:"packages/core/src/storage/MapStorage.ts:14"})]}),"\n",(0,i.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L60",children:"packages/core/src/storage/MapStorage.ts:60"})]}),"\n",(0,i.jsx)(s.p,{children:"Clears the storage of all entries."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#clear",children:(0,i.jsx)(s.code,{children:"clear"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"delete"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L51",children:"packages/core/src/storage/MapStorage.ts:51"})]}),"\n",(0,i.jsx)(s.p,{children:"Deletes the entry identified by the specified key from this storage."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#delete",children:(0,i.jsx)(s.code,{children:"delete"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L35",children:"packages/core/src/storage/MapStorage.ts:35"})]}),"\n",(0,i.jsxs)(s.p,{children:["Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,i.jsx)(s.code,{children:"undefined"})," if the entry does not exists."]}),"\n",(0,i.jsxs)(s.p,{children:["Entries set to the ",(0,i.jsx)(s.code,{children:"undefined"})," value can be tested for existence\nusing the ",(0,i.jsx)(s.code,{children:"link has"})," method."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-1",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"undefined"})," | ",(0,i.jsx)(s.code,{children:"V"})]}),"\n",(0,i.jsx)(s.p,{children:"The value of the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#get",children:(0,i.jsx)(s.code,{children:"get"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"has"}),"(",(0,i.jsx)(s.code,{children:"key"}),"): ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L28",children:"packages/core/src/storage/MapStorage.ts:28"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns ",(0,i.jsx)(s.code,{children:"true"})," if the entry identified by the specified key exists\nin this storage."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-2",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"boolean"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if the storage entry exists."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#has",children:(0,i.jsx)(s.code,{children:"has"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L21",children:"packages/core/src/storage/MapStorage.ts:21"})]}),"\n",(0,i.jsx)(s.p,{children:"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."}),"\n",(0,i.jsx)(s.p,{children:"This method must be invoked only once and it must be the first method\ninvoked on this instance."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#init",children:(0,i.jsx)(s.code,{children:"init"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"keys",children:"keys()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"keys"}),"(): ",(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L69",children:"packages/core/src/storage/MapStorage.ts:69"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Iterable"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n",(0,i.jsxs)(s.p,{children:["An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,i.jsx)(s.code,{children:"for..of"})," loop."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#keys",children:(0,i.jsx)(s.code,{children:"keys"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"set"}),"(",(0,i.jsx)(s.code,{children:"key"}),", ",(0,i.jsx)(s.code,{children:"value"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L42",children:"packages/core/src/storage/MapStorage.ts:42"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"key-3",children:"key"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,i.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"V"})}),"\n",(0,i.jsx)(s.p,{children:"The storage entry value."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#set",children:(0,i.jsx)(s.code,{children:"set"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"size",children:"size()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"size"}),"(): ",(0,i.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/MapStorage.ts#L76",children:"packages/core/src/storage/MapStorage.ts:76"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"number"})}),"\n",(0,i.jsx)(s.p,{children:"The number of entries in this storage."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,i.jsx)(s.code,{children:"Storage"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#size",children:(0,i.jsx)(s.code,{children:"size"})})]})]})}function o(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>a,x:()=>d});var n=r(3696);const i={},c=n.createContext(i);function a(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.840abdf9.js b/assets/js/a94703ab.840abdf9.js new file mode 100644 index 000000000..5ac90876a --- /dev/null +++ b/assets/js/a94703ab.840abdf9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9048],{8109:(e,t,n)=>{n.r(t),n.d(t,{default:()=>pe});var a=n(3696),o=n(2689),i=n(2952),s=n(7404),l=n(3511),r=n(3250),c=n(7963),d=n(3707),u=n(4517);const m={backToTopButton:"backToTopButton_iEvu",backToTopButtonShow:"backToTopButtonShow_DO8w"};var b=n(2540);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.$)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(2620),x=n(9519),f=n(7978),j=n(2427),_=n(6782);function v(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const g="collapseSidebarButton_oTwn",C="collapseSidebarButtonIcon_pMEX";function A(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",g),onClick:t,children:(0,b.jsx)(v,{className:C})})}var k=n(7268),S=n(8225);const T=Symbol("EmptyContext"),N=a.createContext(T);function I(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var y=n(9695),B=n(4422),w=n(9985),E=n(5200);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function M(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,E.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),v=(0,l.w8)(t,i),g=(0,B.ys)(x,i),{collapsed:C,setCollapsed:A}=(0,y.u)({initialState:()=>!!h&&(!v&&t.collapsed)}),{expandedItem:k,setExpandedItem:I}=function(){const e=(0,a.useContext)(N);if(e===T)throw new S.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!C),I(e?null:c),A(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:C,updateCollapsed:M}),(0,a.useEffect)((()=>{h&&null!=k&&k!==c&&f&&A(!0)}),[h,k,c,A,f]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":C},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,b.jsx)(w.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":v}),onClick:h?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":g?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!C:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(L,{collapsed:C,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,b.jsx)(y.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:C,children:(0,b.jsx)(F,{items:u,tabIndex:C?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var H=n(2535),D=n(97);const G="menuExternalLink_BiEj";function P(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,H.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(w.A,{className:(0,o.A)("menu__link",!x&&G,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(D.A,{})]})},u)}const R="menuHtmlItem_OniL";function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[R,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function V(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(M,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(P,{item:t,...n})}}function Y(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(I,{children:a.map(((e,t)=>(0,b.jsx)(V,{item:e,index:t,...n},t)))})}const F=(0,a.memo)(Y),q="menu_jmj1",U="menuWithAnnouncementBar_YufC";function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,k.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",q,l&&U,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(F,{items:n,activePath:t,level:1})})})}const O="sidebar_CUen",K="sidebarWithHideableNavbar_w4KB",X="sidebarHidden_k6VE",J="sidebarLogo_CYvI";function Z(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(O,s&&K,i&&X),children:[s&&(0,b.jsx)(_.A,{tabIndex:-1,className:J}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(A,{onClick:a})]})}const $=a.memo(Z);var Q=n(6009),ee=n(712);const te=e=>{let{sidebar:t,path:n}=e;const a=(0,ee.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(F,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ne(e){return(0,b.jsx)(Q.GX,{component:te,props:e})}const ae=a.memo(ne);function oe(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)($,{...e}),a&&(0,b.jsx)(ae,{...e})]})}const ie={expandButton:"expandButton_pLDq",expandButtonIcon:"expandButtonIcon_X5ff"};function se(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ie.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(v,{className:ie.expandButtonIcon})})}const le={docSidebarContainer:"docSidebarContainer_c7NB",docSidebarContainerHidden:"docSidebarContainerHidden_P3S_",sidebarViewport:"sidebarViewport_KYo0"};function re(e){let{children:t}=e;const n=(0,r.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function ce(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.O)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,le.docSidebarContainer,n&&le.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(le.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(re,{children:(0,b.jsxs)("div",{className:(0,o.A)(le.sidebarViewport,r&&le.sidebarViewportHidden),children:[(0,b.jsx)(oe,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(se,{toggleSidebar:d})]})})})}const de={docMainContainer:"docMainContainer_a9sJ",docMainContainerEnhanced:"docMainContainerEnhanced_grEJ",docItemWrapperEnhanced:"docItemWrapperEnhanced_VqDq"};function ue(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.t)();return(0,b.jsx)("main",{className:(0,o.A)(de.docMainContainer,(t||!a)&&de.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",de.docItemWrapper,t&&de.docItemWrapperEnhanced),children:n})})}const me={docRoot:"docRoot_DfVB",docsWrapper:"docsWrapper__sE8"};function be(e){let{children:t}=e;const n=(0,r.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:me.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:me.docRoot,children:[n&&(0,b.jsx)(ce,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ue,{hiddenSidebarContainer:o,children:t})]})]})}var he=n(8924);function pe(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(he.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(r.V,{name:a,items:c,children:(0,b.jsx)(be,{children:n})})})}},8924:(e,t,n)=>{n.d(t,{A:()=>l});n(3696);var a=n(2689),o=n(7963),i=n(1282),s=n(2540);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a96dee6d.521d92ac.js b/assets/js/a96dee6d.521d92ac.js new file mode 100644 index 000000000..d16b9bf90 --- /dev/null +++ b/assets/js/a96dee6d.521d92ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2239],{8126:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"api/@ima/cli/index","title":"index","description":"@ima/cli","source":"@site/../docs/api/@ima/cli/index.md","sourceDirName":"api/@ima/cli","slug":"/api/@ima/cli/","permalink":"/api/@ima/cli/","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","next":{"title":"Function: compileLanguages()","permalink":"/api/@ima/cli/functions/compileLanguages"}}');var t=i(2540),s=i(3023);const o={},r=void 0,c={},l=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",hr:"hr",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{align:"center",children:(0,t.jsx)("img",{height:"130",src:"https://imajs.io/img/logo.svg"})}),"\n",(0,t.jsx)("h1",{align:"center",children:"@ima/cli"}),"\n",(0,t.jsx)("p",{align:"center",children:(0,t.jsxs)("i",{children:[(0,t.jsx)("code",{children:"@ima/cli"})," takes care of building and running the IMA.js application in dev (watch) mode."]})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.p,{children:"Small CLI wrapper around webpack used to build and watch IMA.js applications during development. It takes care of generating webpack configurations and running webpack based on passed arguments and ima config."}),"\n",(0,t.jsxs)(n.p,{children:["It also leverages the ",(0,t.jsx)(n.code,{children:"@ima/hmr-client"})," and ",(0,t.jsx)(n.code,{children:"@ima/error-overlay"})," in dev environment to provide better developer experience."]}),"\n",(0,t.jsxs)(n.p,{children:["For more information on how to customize ima apps though ",(0,t.jsx)(n.code,{children:"ima.config.js"})," or how to use the CLI and define custom CLI plugins, ",(0,t.jsx)(n.a,{href:"https://imajs.io",children:"take a look at the documentation"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"npm install @ima/cli --save-dev\n"})}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"npx ima dev\nnpx ima build\nnpx ima --help\n"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsxs)(n.p,{children:["This package is part of the IMA.js application stack, see ",(0,t.jsx)(n.a,{href:"https://imajs.io/",children:"imajs.io"})," for more info about the whole project."]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>r});var a=i(3696);const t={},s=a.createContext(t);function o(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a9e53e63.deff8749.js b/assets/js/a9e53e63.deff8749.js new file mode 100644 index 000000000..c062b674b --- /dev/null +++ b/assets/js/a9e53e63.deff8749.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3454],{9202:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/MetaValue","title":"Type Alias: MetaValue","description":"MetaValue: number \\\\| boolean \\\\| string \\\\| null \\\\| undefined","source":"@site/../docs/api/@ima/core/type-aliases/MetaValue.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/MetaValue","permalink":"/api/@ima/core/type-aliases/MetaValue","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/MetaValue.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: MetaManagerRecordKeys","permalink":"/api/@ima/core/type-aliases/MetaManagerRecordKeys"},"next":{"title":"Type Alias: NativeListener()","permalink":"/api/@ima/core/type-aliases/NativeListener"}}');var n=t(2540),i=t(3023);const r={},c="Type Alias: MetaValue",o={},l=[];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"type-alias-metavalue",children:"Type Alias: MetaValue"})}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"MetaValue"}),": ",(0,n.jsx)(a.code,{children:"number"})," | ",(0,n.jsx)(a.code,{children:"boolean"})," | ",(0,n.jsx)(a.code,{children:"string"})," | ",(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"undefined"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/meta/MetaManager.ts#L1",children:"packages/core/src/meta/MetaManager.ts:1"})]})]})}function p(e={}){const{wrapper:a}={...(0,i.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>r,x:()=>c});var s=t(3696);const n={},i=s.createContext(n);function r(e){const a=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ab2e5842.f7dda99d.js b/assets/js/ab2e5842.f7dda99d.js deleted file mode 100644 index c8718eaff..000000000 --- a/assets/js/ab2e5842.f7dda99d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3128],{5680:(e,t,a)=>{a.d(t,{xA:()=>d,yg:()=>u});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var g=n.createContext({}),s=function(e){var t=n.useContext(g),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=s(e.components);return n.createElement(g.Provider,{value:t},e.children)},o="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,g=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),o=s(a),y=r,u=o["".concat(g,".").concat(y)]||o[y]||m[y]||i;return a?n.createElement(u,l(l({ref:t},d),{},{components:a})):n.createElement(u,l({ref:t},d))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=y;var p={};for(var g in t)hasOwnProperty.call(t,g)&&(p[g]=t[g]);p.originalType=e,p[o]="string"==typeof e?e:r,l[1]=p;for(var s=2;s<i;s++)l[s]=a[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},2664:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>g,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_react_page_renderer",title:"Module: @ima/react-page-renderer",sidebar_label:"@ima/react-page-renderer",sidebar_position:0,custom_edit_url:null},l=void 0,p={unversionedId:"api/modules/ima_react_page_renderer",id:"api/modules/ima_react_page_renderer",title:"Module: @ima/react-page-renderer",description:"Classes",source:"@site/../docs/api/modules/ima_react_page_renderer.md",sourceDirName:"api/modules",slug:"/api/modules/ima_react_page_renderer",permalink:"/api/modules/ima_react_page_renderer",draft:!1,editUrl:null,tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"ima_react_page_renderer",title:"Module: @ima/react-page-renderer",sidebar_label:"@ima/react-page-renderer",sidebar_position:0,custom_edit_url:null},sidebar:"api",previous:{title:"@ima/plugin-cli",permalink:"/api/modules/ima_plugin_cli"},next:{title:"@ima/core.ActionTypes",permalink:"/api/enums/ima_core.ActionTypes"}},g={},s=[{value:"Classes",id:"classes",level:2},{value:"Interfaces",id:"interfaces",level:2},{value:"Variables",id:"variables",level:2},{value:"PageContext",id:"pagecontext",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"Functions",id:"functions",level:2},{value:"cssClasses",id:"cssclasses",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"defaultCssClasses",id:"defaultcssclasses",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"fire",id:"fire",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"getUtils",id:"getutils",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"listen",id:"listen",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"localize",id:"localize",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"useComponent",id:"usecomponent",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"useComponentUtils",id:"usecomponentutils",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"useCssClasses",id:"usecssclasses",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"useDispatcher",id:"usedispatcher",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"useEventBus",id:"useeventbus",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"useLink",id:"uselink",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"useLocalize",id:"uselocalize",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"useOnce",id:"useonce",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"usePageContext",id:"usepagecontext",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"useSettings",id:"usesettings",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"useWindowEvent",id:"usewindowevent",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-21",level:4}],d={toc:s},o="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(o,(0,n.A)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("h2",{id:"classes"},"Classes"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},"AbstractComponent")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},"AbstractPureComponent")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.BlankManagedRootView"},"BlankManagedRootView")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.ErrorBoundary"},"ErrorBoundary")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.PageRendererFactory"},"PageRendererFactory")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.ServerPageRenderer"},"ServerPageRenderer")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/classes/ima_react_page_renderer.ViewAdapter"},"ViewAdapter"))),(0,r.yg)("h2",{id:"interfaces"},"Interfaces"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},"PageContextType")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps"},"ViewAdapterProps")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_react_page_renderer.useComponentType"},"useComponentType")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_react_page_renderer.useDispatcherType"},"useDispatcherType")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"/api/interfaces/ima_react_page_renderer.useEventBusType"},"useEventBusType"))),(0,r.yg)("h2",{id:"variables"},"Variables"),(0,r.yg)("h3",{id:"pagecontext"},"PageContext"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,r.yg)("strong",{parentName:"p"},"PageContext"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Context"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType")),">"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/PageContext.ts#L8"},"packages/react-page-renderer/src/PageContext.ts:8")),(0,r.yg)("h2",{id:"functions"},"Functions"),(0,r.yg)("h3",{id:"cssclasses"},"cssClasses"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"cssClasses"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"component"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"classRules"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"includeComponentClassName"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPureComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component requiring the composition of the CSS class names.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classRules")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),"[] ","|"," ","{"," ",(0,r.yg)("inlineCode",{parentName:"td"},"[key: string]"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"),"; }"),(0,r.yg)("td",{parentName:"tr",align:"left"},"CSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is ",(0,r.yg)("inlineCode",{parentName:"td"},"true"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"includeComponentClassName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"String of CSS classes that had their property resolved\nto ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"this.cssClasses('my-class my-class-modifier', true);\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"this.cssClasses({\n 'my-class': true,\n 'my-class-modifier': this.props.modifier\n }, true);\n")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L97"},"packages/react-page-renderer/src/componentHelpers.ts:97")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"defaultcssclasses"},"defaultCssClasses"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"defaultCssClasses"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"classRules"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"component?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generate a string of CSS classes from the properties of the passed-in\nobject that resolve to ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"classRules")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Argument")),(0,r.yg)("td",{parentName:"tr",align:"left"},"CSS classes in a string separated by whitespace, or a map of CSS class names to boolean values. The CSS class name will be included in the result only if the value is ",(0,r.yg)("inlineCode",{parentName:"td"},"true"),".")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"ComponentType")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component requiring the composition of the CSS class names, if it has the ",(0,r.yg)("inlineCode",{parentName:"td"},"className")," property set and requires its inclusion this time.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"String of CSS classes that had their property resolved\nto ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L122"},"packages/react-page-renderer/src/componentHelpers.ts:122")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fire"},"fire"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"fire"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"component"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Creates and sends a new IMA.js DOM custom event from the provided component."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPureComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component at which's root element the event will originate.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Data to send within the event.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L147"},"packages/react-page-renderer/src/componentHelpers.ts:147")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getutils"},"getUtils"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getUtils"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"props"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"context"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")),(0,r.yg)("p",null,"Retrieves the view utilities from the component's current context or\nproperties (preferring the context)."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component's current properties.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"props.$Utils?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"context")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component's current context.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")),(0,r.yg)("p",null,"The retrieved view utilities."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,r.yg)("p",null,"Error Throw if the view utils cannot be located in the provided\nproperties nor context."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L19"},"packages/react-page-renderer/src/componentHelpers.ts:19")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"link"},"link"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"link"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"component"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates an absolute URL using the provided route name (see the"),(0,r.yg)("code",null,"app/config/routes.js")," file). The provided parameters will replace the placeholders in the route pattern, while the extraneous parameters will be appended to the generated URL's query string.",(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPureComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component requiring the generating of the URL.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"name")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The route name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Router parameters and extraneous parameters to add to the URL as a query string.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The generated URL."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L68"},"packages/react-page-renderer/src/componentHelpers.ts:68")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"listen"},"listen"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"listen"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"component"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Registers the provided event listener for execution whenever an IMA.js\nDOM custom event of the specified name occurs at the specified event\ntarget."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPureComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component requesting the registration of the event listener.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The react component or event target at which the listener should listen for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which to listen.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The listener for event to register.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L168"},"packages/react-page-renderer/src/componentHelpers.ts:168")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"localize"},"localize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"localize"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"component"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns the localized phrase identified by the specified key. The\nplaceholders in the localization phrase will be replaced by the provided\nvalues."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPureComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component requiring the localization.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"never")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Localization key.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Object")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Values for replacing the placeholders in the localization phrase.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Localized phrase."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L47"},"packages/react-page-renderer/src/componentHelpers.ts:47")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"unlisten"},"unlisten"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"unlisten"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"component"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("p",null,"Deregisters the provided event listener for an IMA.js DOM custom event\nof the specified name at the specified event target."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"component")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_react_page_renderer.AbstractPureComponent"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractPureComponent")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The component that requested the registration of the event listener.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The react component or event target at which the listener should listen for the event.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the event for which to listen.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The listener for event to register.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.EventBus"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBus"))),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/componentHelpers.ts#L188"},"packages/react-page-renderer/src/componentHelpers.ts:188")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usecomponent"},"useComponent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useComponent"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useComponentType"},(0,r.yg)("inlineCode",{parentName:"a"},"useComponentType"))),(0,r.yg)("p",null,"Base hook you can use to initialize your component."),(0,r.yg)("p",null,"Returns object, which gives you access to the same features you would\nget in your class component:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Utility methods: cssClasses, localize, link, fire, listen, unlisten."),(0,r.yg)("li",{parentName:"ul"},"Objects: utils (=== ComponentUtils).")),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useComponentType"},(0,r.yg)("inlineCode",{parentName:"a"},"useComponentType"))),(0,r.yg)("p",null,"Object containing context data and utility methods."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const { utils, cssClasses } = useComponent();\n")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L52"},"packages/react-page-renderer/src/hooks/component.ts:52")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usecomponentutils"},"useComponentUtils"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useComponentUtils"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"Provides direct access to ComponentUtils."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Utils"},(0,r.yg)("inlineCode",{parentName:"a"},"Utils"))),(0,r.yg)("p",null,"Component utils."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const utils = useComponentUtils();\n")),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/componentUtils.ts#L13"},"packages/react-page-renderer/src/hooks/componentUtils.ts:13")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usecssclasses"},"useCssClasses"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useCssClasses"),"(): typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer#defaultcssclasses"},(0,r.yg)("inlineCode",{parentName:"a"},"defaultCssClasses"))),(0,r.yg)("p",null,"Provides direct access to CssClasses."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,"typeof ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_react_page_renderer#defaultcssclasses"},(0,r.yg)("inlineCode",{parentName:"a"},"defaultCssClasses"))),(0,r.yg)("p",null,"CssClasses function."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const cssClasses = useCssClasses();\n")),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/cssClasses.ts#L14"},"packages/react-page-renderer/src/hooks/cssClasses.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usedispatcher"},"useDispatcher"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useDispatcher"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"event?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useDispatcherType"},(0,r.yg)("inlineCode",{parentName:"a"},"useDispatcherType"))),(0,r.yg)("p",null,"Hook to register listeners for dispatcher events. Returns\ndecorated dispatcher fire function. Omitting hook params\ndoesn't register any events to the dispatcher but provides\naccess to the dispatcher's fire method."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")))))),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Event name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.DispatcherEventsMap"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherEventsMap")),"[",(0,r.yg)("inlineCode",{parentName:"td"},"E"),"]",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Callback to register to dispatcher.")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useDispatcherType"},(0,r.yg)("inlineCode",{parentName:"a"},"useDispatcherType"))),(0,r.yg)("p",null,"Dispatcher ",(0,r.yg)("inlineCode",{parentName:"p"},"fire")," method."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const { fire } = useDispatcher(\n 'dispatcher-event',\n () => {}\n);\n\n// Access $Dispatcher's.fire method without registering listener\nconst { fire } = useDispatcher();\n\n// Firing custom event\nuseEffect(() => {\n fire('another-event', { data: {} })\n});\n")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/dispatcher.ts#L38"},"packages/react-page-renderer/src/hooks/dispatcher.ts:38")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useDispatcher"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"event?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useDispatcherType"},(0,r.yg)("inlineCode",{parentName:"a"},"useDispatcherType"))),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,r.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"any"),">")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useDispatcherType"},(0,r.yg)("inlineCode",{parentName:"a"},"useDispatcherType"))),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/dispatcher.ts#L42"},"packages/react-page-renderer/src/hooks/dispatcher.ts:42")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"useeventbus"},"useEventBus"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useEventBus"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"eventName?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useEventBusType"},(0,r.yg)("inlineCode",{parentName:"a"},"useEventBusType"))),(0,r.yg)("p",null,"Hook to register listeners for dispatcher events. Returns\ndecorated dispatcher fire function. Omitting hook params\ndoesn't register any events to the dispatcher but provides\naccess to the dispatcher's fire method."),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventName?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#eventbuslistener"},(0,r.yg)("inlineCode",{parentName:"a"},"EventBusListener")))))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.useEventBusType"},(0,r.yg)("inlineCode",{parentName:"a"},"useEventBusType"))),(0,r.yg)("p",null,"Dispatcher ",(0,r.yg)("inlineCode",{parentName:"p"},"fire")," method."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const { fire } = useEventBus(\n componentRef.current,\n 'event',\n () => {}\n);\n")),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/eventBus.ts#L27"},"packages/react-page-renderer/src/hooks/eventBus.ts:27")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"uselink"},"useLink"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useLink"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"link"'),"]"),(0,r.yg)("p",null,"Provides direct access to Router link function."),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,r.yg)("inlineCode",{parentName:"a"},"Router")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"link"'),"]"),(0,r.yg)("p",null,"URL to linked path."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const link = useLink();\n")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/link.ts#L14"},"packages/react-page-renderer/src/hooks/link.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"uselocalize"},"useLocalize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useLocalize"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"Dictionary")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"get"'),"]"),(0,r.yg)("p",null,"Provides direct access to Dictionary.get function."),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},(0,r.yg)("inlineCode",{parentName:"a"},"Dictionary")),"[",(0,r.yg)("inlineCode",{parentName:"p"},'"get"'),"]"),(0,r.yg)("p",null,"Localized string."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const localize = useLocalize();\n")),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/localize.ts#L14"},"packages/react-page-renderer/src/hooks/localize.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"useonce"},"useOnce"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useOnce"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"callback"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,'"Constructor" like hook, which makes sure, that provided callback\nis called only once during component\'s lifecycle.'),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"callback")),(0,r.yg)("td",{parentName:"tr",align:"left"},"() => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"useOnce(() => {\n oneTimeAction();\n});\n")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/component.ts#L28"},"packages/react-page-renderer/src/hooks/component.ts:28")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usepagecontext"},"usePageContext"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"usePageContext"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("p",null,"Provides direct access to IMA Page context."),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_react_page_renderer.PageContextType"},(0,r.yg)("inlineCode",{parentName:"a"},"PageContextType"))),(0,r.yg)("p",null,"App page context."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const pageContext = usePageContext();\n")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/pageContext.ts#L14"},"packages/react-page-renderer/src/hooks/pageContext.ts:14")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usesettings"},"useSettings"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useSettings"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"selector?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"T")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")),(0,r.yg)("p",null,"IMA $Settings access provider with optional selector."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"selector?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional path selector.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"T")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")),(0,r.yg)("p",null,"Settings value or undefined."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"const settings = useSettings();\nconsole.log(settings.$Cache.enabled);\n\n// Using settings selector\nconst { scripts, documentView } = useSettings('$Page.$Render');\nconst esScripts = useSettings('$Page.$Render.esScripts');\n")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/settings.ts#L19"},"packages/react-page-renderer/src/hooks/settings.ts:19")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"usewindowevent"},"useWindowEvent"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useWindowEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"useCapture?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"useWindowEventType")),(0,r.yg)("p",null,"Hook for binding window events using IMA window API."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargets"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargets")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional event target, if left blank it defaults to current window (=> can be omitted in most use cases).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"K")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Event name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#windoweventtargetsmap"},(0,r.yg)("inlineCode",{parentName:"a"},"WindowEventTargetsMap")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"T"),">","[",(0,r.yg)("inlineCode",{parentName:"td"},"K"),"]",") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"useCapture?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Use capture instead of bubbling (default).")))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"useWindowEventType")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"window")," object and utility methods."),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"// Using window as event target\nconst { dispatchEvent, createCustomEvent } = useWindowEvent(\n window,\n 'custom-event',\n () => windowEventCallback(a, b)\n);\n\n// Using custom event target\nconst { dispatchEvent } = useWindowEvent(\n window.getElementById('page'),\n 'click',\n () => windowEventCallback(a, b),\n false,\n);\n\n// Dispatching custom event\nuseEffect(() => {\n dispatchEvent(\n createCustomEvent('custom-event'),\n { data: {} }\n );\n});\n")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/windowEvent.ts#L50"},"packages/react-page-renderer/src/hooks/windowEvent.ts:50")),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"useWindowEvent"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"E"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"eventTarget"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"listener"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"useCapture?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"useWindowEventType")),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"EventTarget"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"E")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Event")," = ",(0,r.yg)("inlineCode",{parentName:"td"},"Event"))))),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"eventTarget")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"event")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"listener")),(0,r.yg)("td",{parentName:"tr",align:"left"},"(",(0,r.yg)("inlineCode",{parentName:"td"},"event"),": ",(0,r.yg)("inlineCode",{parentName:"td"},"E"),") => ",(0,r.yg)("inlineCode",{parentName:"td"},"void"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"useCapture?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"EventListenerOptions"))))),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"useWindowEventType")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/react-page-renderer/src/hooks/windowEvent.ts#L59"},"packages/react-page-renderer/src/hooks/windowEvent.ts:59")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ab2f38e9.0c716254.js b/assets/js/ab2f38e9.0c716254.js new file mode 100644 index 000000000..03c4f7212 --- /dev/null +++ b/assets/js/ab2f38e9.0c716254.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4549],{6072:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>t});const i=JSON.parse('{"id":"api/@ima/core/classes/CookieStorage","title":"Class: CookieStorage","description":"Defined in43","source":"@site/../docs/api/@ima/core/classes/CookieStorage.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/CookieStorage","permalink":"/api/@ima/core/classes/CookieStorage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/CookieStorage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ControllerDecorator\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/ControllerDecorator"},"next":{"title":"Class: abstract Dictionary","permalink":"/api/@ima/core/classes/Dictionary"}}');var n=r(2540),o=r(3023);const c={},d="Class: CookieStorage",a={},t=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new CookieStorage()",id:"new-cookiestorage",level:3},{value:"Parameters",id:"parameters",level:4},{value:"window",id:"window",level:5},{value:"request",id:"request",level:5},{value:"response",id:"response",level:5},{value:"Returns",id:"returns",level:4},{value:"Example",id:"example",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name",level:5},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"name",id:"name-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"getCookiesStringForCookieHeader()",id:"getcookiesstringforcookieheader",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"url?",id:"url",level:5},{value:"Returns",id:"returns-5",level:4},{value:"getExpirationAsDate()",id:"getexpirationasdate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"expiration",id:"expiration",level:5},{value:"Returns",id:"returns-6",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"name",id:"name-2",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"options",id:"options-1",level:5},{value:"transformFunction",id:"transformfunction",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"keys()",id:"keys",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"parse()",id:"parse",level:3},{value:"Returns",id:"returns-10",level:4},{value:"parseFromSetCookieHeader()",id:"parsefromsetcookieheader",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"cookiesString",id:"cookiesstring",level:5},{value:"url?",id:"url-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"recomputeCookieMaxAgeAndExpires()",id:"recomputecookiemaxageandexpires",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"options",id:"options-2",level:5},{value:"Returns",id:"returns-12",level:4},{value:"sanitizeCookieValue()",id:"sanitizecookievalue",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-13",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"name",id:"name-3",level:5},{value:"value",id:"value-1",level:5},{value:"options",id:"options-3",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"size()",id:"size",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"validateCookieSecurity()",id:"validatecookiesecurity",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"cookie",id:"cookie",level:5},{value:"url",id:"url-2",level:5},{value:"Returns",id:"returns-16",level:4}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"class-cookiestorage",children:"Class: CookieStorage"})}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L43",children:"packages/core/src/storage/CookieStorage.ts:43"})]}),"\n",(0,n.jsxs)(s.p,{children:["Storage of cookies, mirroring the cookies to the current request / response\nat the server side and the ",(0,n.jsx)(s.code,{children:"document.cookie"})," property at the client\nside. The storage caches the cookies internally."]}),"\n",(0,n.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),"<",(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Cookie",children:(0,n.jsx)(s.code,{children:"Cookie"})}),"[",(0,n.jsx)(s.code,{children:'"value"'}),"]>"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(s.h3,{id:"new-cookiestorage",children:"new CookieStorage()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"new CookieStorage"}),"(",(0,n.jsx)(s.code,{children:"window"}),", ",(0,n.jsx)(s.code,{children:"request"}),", ",(0,n.jsx)(s.code,{children:"response"}),"): ",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/CookieStorage",children:(0,n.jsx)(s.code,{children:"CookieStorage"})})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L182",children:"packages/core/src/storage/CookieStorage.ts:182"})]}),"\n",(0,n.jsx)(s.p,{children:"Initializes the cookie storage."}),"\n",(0,n.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"window",children:"window"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,n.jsx)(s.code,{children:"Window"})})}),"\n",(0,n.jsx)(s.p,{children:"The window utility."}),"\n",(0,n.jsx)(s.h5,{id:"request",children:"request"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Request",children:(0,n.jsx)(s.code,{children:"Request"})})}),"\n",(0,n.jsx)(s.p,{children:"The current HTTP request."}),"\n",(0,n.jsx)(s.h5,{id:"response",children:"response"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,n.jsx)(s.code,{children:"Response"})})}),"\n",(0,n.jsx)(s.p,{children:"The current HTTP response."}),"\n",(0,n.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/CookieStorage",children:(0,n.jsx)(s.code,{children:"CookieStorage"})})}),"\n",(0,n.jsx)(s.h4,{id:"example",children:"Example"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-ts",children:"cookie.set('cookie', 'value', { expires: 10 }); // cookie expires\n // after 10s\n cookie.set('cookie'); // delete cookie\n"})}),"\n",(0,n.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#constructors",children:(0,n.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,n.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,n.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,n.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"get"})," ",(0,n.jsx)(s.code,{children:"static"})," ",(0,n.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,n.jsx)(s.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L95",children:"packages/core/src/storage/CookieStorage.ts:95"})]}),"\n",(0,n.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,n.jsx)(s.code,{children:"Dependencies"})})}),"\n",(0,n.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"clear"}),"(): ",(0,n.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L280",children:"packages/core/src/storage/CookieStorage.ts:280"})]}),"\n",(0,n.jsx)(s.p,{children:"Clears the storage of all entries."}),"\n",(0,n.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"this"})}),"\n",(0,n.jsx)(s.p,{children:"This storage."}),"\n",(0,n.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#clear",children:(0,n.jsx)(s.code,{children:"clear"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"delete"}),"(",(0,n.jsx)(s.code,{children:"name"}),", ",(0,n.jsx)(s.code,{children:"options"}),"): ",(0,n.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L268",children:"packages/core/src/storage/CookieStorage.ts:268"})]}),"\n",(0,n.jsx)(s.p,{children:"Deletes the cookie identified by the specified name."}),"\n",(0,n.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"name",children:"name"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"Name identifying the cookie."}),"\n",(0,n.jsx)(s.h5,{id:"options",children:"options"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/CookieOptions",children:(0,n.jsx)(s.code,{children:"CookieOptions"})})," = ",(0,n.jsx)(s.code,{children:"{}"})]}),"\n",(0,n.jsxs)(s.p,{children:["The cookie options. The ",(0,n.jsx)(s.code,{children:"domain"})," and\n",(0,n.jsx)(s.code,{children:"path"})," specify the cookie's domain and path. The\n",(0,n.jsx)(s.code,{children:"httpOnly"})," and ",(0,n.jsx)(s.code,{children:"secure"})," flags set the flags of the\nsame name of the cookie."]}),"\n",(0,n.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"this"})}),"\n",(0,n.jsx)(s.p,{children:"This storage."}),"\n",(0,n.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#delete",children:(0,n.jsx)(s.code,{children:"delete"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"get"}),"(",(0,n.jsx)(s.code,{children:"name"}),"): ",(0,n.jsx)(s.code,{children:"undefined"})," | ",(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"number"})," | ",(0,n.jsx)(s.code,{children:"boolean"})," | ",(0,n.jsx)(s.code,{children:"Date"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L216",children:"packages/core/src/storage/CookieStorage.ts:216"})]}),"\n",(0,n.jsxs)(s.p,{children:["Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,n.jsx)(s.code,{children:"undefined"})," if the entry does not exists."]}),"\n",(0,n.jsxs)(s.p,{children:["Entries set to the ",(0,n.jsx)(s.code,{children:"undefined"})," value can be tested for existence\nusing the ",(0,n.jsx)(s.code,{children:"link has"})," method."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"name-1",children:"name"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,n.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"undefined"})," | ",(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"number"})," | ",(0,n.jsx)(s.code,{children:"boolean"})," | ",(0,n.jsx)(s.code,{children:"Date"})]}),"\n",(0,n.jsx)(s.p,{children:"The value of the storage entry."}),"\n",(0,n.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#get",children:(0,n.jsx)(s.code,{children:"get"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"getcookiesstringforcookieheader",children:"getCookiesStringForCookieHeader()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"getCookiesStringForCookieHeader"}),"(",(0,n.jsx)(s.code,{children:"url"}),"?): ",(0,n.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L318",children:"packages/core/src/storage/CookieStorage.ts:318"})]}),"\n",(0,n.jsxs)(s.p,{children:["Returns all cookies in this storage serialized to a string compatible\nwith the ",(0,n.jsx)(s.code,{children:"Cookie"})," HTTP header."]}),"\n",(0,n.jsxs)(s.p,{children:["When ",(0,n.jsx)(s.code,{children:"url"})," is provided, the method validates the cookie security based on\nthe ",(0,n.jsx)(s.code,{children:"url"})," and the cookie's domain, path, and secure attributes."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"url",children:"url?"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsxs)(s.p,{children:["All cookies in this storage serialized to a string\ncompatible with the ",(0,n.jsx)(s.code,{children:"Cookie"})," HTTP header."]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"getexpirationasdate",children:"getExpirationAsDate()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"getExpirationAsDate"}),"(",(0,n.jsx)(s.code,{children:"expiration"}),"): ",(0,n.jsx)(s.code,{children:"Date"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L481",children:"packages/core/src/storage/CookieStorage.ts:481"})]}),"\n",(0,n.jsxs)(s.p,{children:["Converts the provided cookie expiration to a ",(0,n.jsx)(s.code,{children:"Date"})," instance."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"expiration",children:"expiration"}),"\n",(0,n.jsxs)(s.p,{children:["Cookie expiration in seconds\nfrom now, or as a string compatible with the ",(0,n.jsx)(s.code,{children:"Date"}),"\nconstructor."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"number"})," | ",(0,n.jsx)(s.code,{children:"Date"})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"Date"})}),"\n",(0,n.jsxs)(s.p,{children:["Cookie expiration as a ",(0,n.jsx)(s.code,{children:"Date"})," instance."]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"has"}),"(",(0,n.jsx)(s.code,{children:"name"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L207",children:"packages/core/src/storage/CookieStorage.ts:207"})]}),"\n",(0,n.jsxs)(s.p,{children:["Returns ",(0,n.jsx)(s.code,{children:"true"})," if the entry identified by the specified key exists\nin this storage."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"name-2",children:"name"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,n.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"true"})," if the storage entry exists."]}),"\n",(0,n.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#has",children:(0,n.jsx)(s.code,{children:"has"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"init"}),"(",(0,n.jsx)(s.code,{children:"options"}),", ",(0,n.jsx)(s.code,{children:"transformFunction"}),"): ",(0,n.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L193",children:"packages/core/src/storage/CookieStorage.ts:193"})]}),"\n",(0,n.jsx)(s.p,{children:"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."}),"\n",(0,n.jsx)(s.p,{children:"This method must be invoked only once and it must be the first method\ninvoked on this instance."}),"\n",(0,n.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"options-1",children:"options"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/CookieOptions",children:(0,n.jsx)(s.code,{children:"CookieOptions"})})," = ",(0,n.jsx)(s.code,{children:"{}"})]}),"\n",(0,n.jsx)(s.h5,{id:"transformfunction",children:"transformFunction"}),"\n",(0,n.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"this"})}),"\n",(0,n.jsx)(s.p,{children:"This storage."}),"\n",(0,n.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#init",children:(0,n.jsx)(s.code,{children:"init"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"keys",children:"keys()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"keys"}),"(): ",(0,n.jsx)(s.code,{children:"Iterable"}),"<",(0,n.jsx)(s.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L293",children:"packages/core/src/storage/CookieStorage.ts:293"})]}),"\n",(0,n.jsx)(s.p,{children:"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."}),"\n",(0,n.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"Iterable"}),"<",(0,n.jsx)(s.code,{children:"string"}),">"]}),"\n",(0,n.jsxs)(s.p,{children:["An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,n.jsx)(s.code,{children:"for..of"})," loop."]}),"\n",(0,n.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#keys",children:(0,n.jsx)(s.code,{children:"keys"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"parse",children:"parse()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"parse"}),"(): ",(0,n.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L393",children:"packages/core/src/storage/CookieStorage.ts:393"})]}),"\n",(0,n.jsx)(s.p,{children:"Parses cookies from a cookie string and sets the parsed cookies to the\ninternal storage."}),"\n",(0,n.jsxs)(s.p,{children:["The method obtains the cookie string from the request's ",(0,n.jsx)(s.code,{children:"Cookie"}),"\nHTTP header when used at the server side, and the ",(0,n.jsx)(s.code,{children:"document.cookie"}),"\nproperty at the client side."]}),"\n",(0,n.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"void"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"parsefromsetcookieheader",children:"parseFromSetCookieHeader()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"parseFromSetCookieHeader"}),"(",(0,n.jsx)(s.code,{children:"cookiesString"}),", ",(0,n.jsx)(s.code,{children:"url"}),"?): ",(0,n.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L357",children:"packages/core/src/storage/CookieStorage.ts:357"})]}),"\n",(0,n.jsxs)(s.p,{children:["Parses cookies from the provided ",(0,n.jsx)(s.code,{children:"Set-Cookie"})," HTTP header value."]}),"\n",(0,n.jsxs)(s.p,{children:["When ",(0,n.jsx)(s.code,{children:"url"})," is provided, the method validates the cookie security based on\nthe ",(0,n.jsx)(s.code,{children:"url"})," and the cookie's domain, path, and secure attributes."]}),"\n",(0,n.jsxs)(s.p,{children:["The parsed cookies will be set to the internal storage, and the current\nHTTP response (via the ",(0,n.jsx)(s.code,{children:"Set-Cookie"})," HTTP header) if at the server\nside, or the browser (via the ",(0,n.jsx)(s.code,{children:"document.cookie"})," property)."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"cookiesstring",children:"cookiesString"}),"\n",(0,n.jsxs)(s.p,{children:["The value of the ",(0,n.jsx)(s.code,{children:"Set-Cookie"})," HTTP\nheader. When there are multiple cookies, the value can be\nprovided as an array of strings."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"string"}),"[]"]}),"\n",(0,n.jsx)(s.h5,{id:"url-1",children:"url?"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"void"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"recomputecookiemaxageandexpires",children:"recomputeCookieMaxAgeAndExpires()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"recomputeCookieMaxAgeAndExpires"}),"(",(0,n.jsx)(s.code,{children:"options"}),"): ",(0,n.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L459",children:"packages/core/src/storage/CookieStorage.ts:459"})]}),"\n",(0,n.jsx)(s.p,{children:"Recomputes cookie's attributes maxAge and expires between each other."}),"\n",(0,n.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"options-2",children:"options"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/CookieOptions",children:(0,n.jsx)(s.code,{children:"CookieOptions"})})}),"\n",(0,n.jsxs)(s.p,{children:["Cookie attributes. Only the attributes listed in the\ntype annotation of this field are supported. For documentation\nand full list of cookie attributes see\n",(0,n.jsx)(s.a,{href:"http://tools.ietf.org/html/rfc2965#page-5",children:"http://tools.ietf.org/html/rfc2965#page-5"})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"void"})}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"sanitizecookievalue",children:"sanitizeCookieValue()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"sanitizeCookieValue"}),"(",(0,n.jsx)(s.code,{children:"value"}),"): ",(0,n.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L417",children:"packages/core/src/storage/CookieStorage.ts:417"})]}),"\n",(0,n.jsxs)(s.p,{children:["Sanitize cookie value by rules in\n(@see ",(0,n.jsx)(s.a,{href:"http://tools.ietf.org/html/rfc6265#section-4r.1.1",children:"http://tools.ietf.org/html/rfc6265#section-4r.1.1"}),"). Erase all\ninvalid characters from cookie value."]}),"\n",(0,n.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,n.jsx)(s.p,{children:"Cookie value"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"undefined"})," | ",(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"number"})," | ",(0,n.jsx)(s.code,{children:"boolean"})," | ",(0,n.jsx)(s.code,{children:"Date"})]}),"\n",(0,n.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"Sanitized value"}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"set"}),"(",(0,n.jsx)(s.code,{children:"name"}),", ",(0,n.jsx)(s.code,{children:"value"}),", ",(0,n.jsx)(s.code,{children:"options"}),"): ",(0,n.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L234",children:"packages/core/src/storage/CookieStorage.ts:234"})]}),"\n",(0,n.jsx)(s.p,{children:"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."}),"\n",(0,n.jsx)(s.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"name-3",children:"name"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.p,{children:"The key identifying the storage entry."}),"\n",(0,n.jsx)(s.h5,{id:"value-1",children:"value"}),"\n",(0,n.jsx)(s.p,{children:"The storage entry value."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"undefined"})," | ",(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"number"})," | ",(0,n.jsx)(s.code,{children:"boolean"})," | ",(0,n.jsx)(s.code,{children:"Date"})]}),"\n",(0,n.jsx)(s.h5,{id:"options-3",children:"options"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/CookieOptions",children:(0,n.jsx)(s.code,{children:"CookieOptions"})})," = ",(0,n.jsx)(s.code,{children:"{}"})]}),"\n",(0,n.jsxs)(s.p,{children:["The cookie options. The ",(0,n.jsx)(s.code,{children:"maxAge"})," is the maximum\nage in seconds of the cookie before it will be deleted, the\n",(0,n.jsx)(s.code,{children:"expires"})," is an alternative to that, specifying the moment\nat which the cookie will be discarded. The ",(0,n.jsx)(s.code,{children:"domain"})," and\n",(0,n.jsx)(s.code,{children:"path"})," specify the cookie's domain and path. The\n",(0,n.jsx)(s.code,{children:"httpOnly"})," and ",(0,n.jsx)(s.code,{children:"secure"})," flags set the flags of the\nsame name of the cookie."]}),"\n",(0,n.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"this"})}),"\n",(0,n.jsx)(s.p,{children:"This storage."}),"\n",(0,n.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#set",children:(0,n.jsx)(s.code,{children:"set"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"size",children:"size()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"size"}),"(): ",(0,n.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L302",children:"packages/core/src/storage/CookieStorage.ts:302"})]}),"\n",(0,n.jsx)(s.p,{children:"Returns the number of entries in this storage."}),"\n",(0,n.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"number"})}),"\n",(0,n.jsx)(s.p,{children:"The number of entries in this storage."}),"\n",(0,n.jsx)(s.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage",children:(0,n.jsx)(s.code,{children:"Storage"})}),".",(0,n.jsx)(s.a,{href:"/api/@ima/core/classes/Storage#size",children:(0,n.jsx)(s.code,{children:"size"})})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"validatecookiesecurity",children:"validateCookieSecurity()"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"static"})," ",(0,n.jsx)(s.strong,{children:"validateCookieSecurity"}),"(",(0,n.jsx)(s.code,{children:"cookie"}),", ",(0,n.jsx)(s.code,{children:"url"}),"): ",(0,n.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/storage/CookieStorage.ts#L104",children:"packages/core/src/storage/CookieStorage.ts:104"})]}),"\n",(0,n.jsx)(s.p,{children:"Filters invalid cookies based on the provided url.\nWe try to check validity of the domain based on secure, path and\ndomain definitions."}),"\n",(0,n.jsx)(s.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,n.jsx)(s.h5,{id:"cookie",children:"cookie"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Cookie",children:(0,n.jsx)(s.code,{children:"Cookie"})})}),"\n",(0,n.jsx)(s.h5,{id:"url-2",children:"url"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"string"})}),"\n",(0,n.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.code,{children:"boolean"})})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>c,x:()=>d});var i=r(3696);const n={},o=i.createContext(n);function c(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/11611510.a051ca64.js b/assets/js/aba21aa0.aeb4cebd.js similarity index 64% rename from assets/js/11611510.a051ca64.js rename to assets/js/aba21aa0.aeb4cebd.js index acc371f27..02c11e7a2 100644 --- a/assets/js/11611510.a051ca64.js +++ b/assets/js/aba21aa0.aeb4cebd.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5115],{1966:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5742],{7093:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/abceb8ed.e682c295.js b/assets/js/abceb8ed.e682c295.js deleted file mode 100644 index 86b34ba04..000000000 --- a/assets/js/abceb8ed.e682c295.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9123],{5680:(e,a,n)=>{n.d(a,{xA:()=>p,yg:()=>u});var r=n(6540);function t(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?i(Object(n),!0).forEach((function(a){t(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function g(e,a){if(null==e)return{};var n,r,t=function(e,a){if(null==e)return{};var n,r,t={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],a.indexOf(n)>=0||(t[n]=e[n]);return t}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}var o=r.createContext({}),s=function(e){var a=r.useContext(o),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},p=function(e){var a=s(e.components);return r.createElement(o.Provider,{value:a},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var n=e.components,t=e.mdxType,i=e.originalType,o=e.parentName,p=g(e,["components","mdxType","originalType","parentName"]),d=s(n),m=t,u=d["".concat(o,".").concat(m)]||d[m]||c[m]||i;return n?r.createElement(u,l(l({ref:a},p),{},{components:n})):r.createElement(u,l({ref:a},p))}));function u(e,a){var n=arguments,t=a&&a.mdxType;if("string"==typeof e||t){var i=n.length,l=new Array(i);l[0]=m;var g={};for(var o in a)hasOwnProperty.call(a,o)&&(g[o]=a[o]);g.originalType=e,g[d]="string"==typeof e?e:t,l[1]=g;for(var s=2;s<i;s++)l[s]=n[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},1419:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>g,toc:()=>s});var r=n(8102),t=(n(6540),n(5680));const i={id:"ima_core.PageManager",title:"Class: PageManager",sidebar_label:"@ima/core.PageManager",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.PageManager",id:"api/classes/ima_core.PageManager",title:"Class: PageManager",description:"@ima/core.PageManager",source:"@site/../docs/api/classes/ima_core.PageManager.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageManager",permalink:"/api/classes/ima_core.PageManager",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageManager",title:"Class: PageManager",sidebar_label:"@ima/core.PageManager",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageHandlerRegistry",permalink:"/api/classes/ima_core.PageHandlerRegistry"},next:{title:"@ima/core.PageMetaHandler",permalink:"/api/classes/ima_core.PageMetaHandler"}},o={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"manage",id:"manage",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"postManage",id:"postmanage",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"preManage",id:"premanage",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4}],p={toc:s},d="wrapper";function c(e){let{components:a,...n}=e;return(0,t.yg)(d,(0,r.A)({},p,n,{components:a,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageManager"),(0,t.yg)("p",null,"The page manager is a utility for managing the current controller and its\nview."),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"PageManager"))),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},(0,t.yg)("inlineCode",{parentName:"a"},"AbstractPageManager"))),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractPageManager"},(0,t.yg)("inlineCode",{parentName:"a"},"AbstractPageManager"))))),(0,t.yg)("h2",{id:"constructors"},"Constructors"),(0,t.yg)("h3",{id:"constructor"},"constructor"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"new PageManager"),"()"),(0,t.yg)("h2",{id:"methods"},"Methods"),(0,t.yg)("h3",{id:"destroy"},"destroy"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,t.yg)("h4",{id:"returns"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/PageManager.ts#L68"},"packages/core/src/page/manager/PageManager.ts:68")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"init"},"init"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"init"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Initializes the page manager."),(0,t.yg)("h4",{id:"returns-1"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/PageManager.ts#L20"},"packages/core/src/page/manager/PageManager.ts:20")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"manage"},"manage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"manage"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"args"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("p",null,"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."),(0,t.yg)("p",null,"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."),(0,t.yg)("h4",{id:"parameters"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"args")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#manageargs"},(0,t.yg)("inlineCode",{parentName:"a"},"ManageArgs")))))),(0,t.yg)("h4",{id:"returns-2"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("p",null,"A promise that will resolve to information about the rendered page.\nThe ",(0,t.yg)("inlineCode",{parentName:"p"},"status")," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/PageManager.ts#L53"},"packages/core/src/page/manager/PageManager.ts:53")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"postmanage"},"postManage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"postManage"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Called by router after currently managed route is resolved."),(0,t.yg)("h4",{id:"returns-3"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/PageManager.ts#L60"},"packages/core/src/page/manager/PageManager.ts:60")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"premanage"},"preManage"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"preManage"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("p",null,"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."),(0,t.yg)("h4",{id:"returns-4"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/PageManager.ts#L30"},"packages/core/src/page/manager/PageManager.ts:30")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ac0ebe99.f9e8d5a2.js b/assets/js/ac0ebe99.f9e8d5a2.js deleted file mode 100644 index b3ca6032e..000000000 --- a/assets/js/ac0ebe99.f9e8d5a2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5239],{5680:(e,a,t)=>{t.d(a,{xA:()=>g,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),o=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):s(s({},a),e)),t},g=function(e){var a=o(e.components);return r.createElement(p.Provider,{value:a},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),d=o(t),m=n,c=d["".concat(p,".").concat(m)]||d[m]||y[m]||i;return t?r.createElement(c,s(s({ref:a},g),{},{components:t})):r.createElement(c,s({ref:a},g))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,s=new Array(i);s[0]=m;var l={};for(var p in a)hasOwnProperty.call(a,p)&&(l[p]=a[p]);l.originalType=e,l[d]="string"==typeof e?e:n,s[1]=l;for(var o=2;o<i;o++)s[o]=t[o];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},8786:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>s,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.SessionMapStorage",title:"Class: SessionMapStorage<V>",sidebar_label:"@ima/core.SessionMapStorage",custom_edit_url:null},s=void 0,l={unversionedId:"api/classes/ima_core.SessionMapStorage",id:"api/classes/ima_core.SessionMapStorage",title:"Class: SessionMapStorage<V>",description:"@ima/core.SessionMapStorage",source:"@site/../docs/api/classes/ima_core.SessionMapStorage.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.SessionMapStorage",permalink:"/api/classes/ima_core.SessionMapStorage",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.SessionMapStorage",title:"Class: SessionMapStorage<V>",sidebar_label:"@ima/core.SessionMapStorage",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ServerWindow",permalink:"/api/classes/ima_core.ServerWindow"},next:{title:"@ima/core.SessionStorage",permalink:"/api/classes/ima_core.SessionStorage"}},p={},o=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_map",id:"_map",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_session",id:"_session",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"keys",id:"keys",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"size",id:"size",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-11",level:4}],g={toc:o},d="wrapper";function y(e){let{components:a,...t}=e;return(0,n.yg)(d,(0,r.A)({},g,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".SessionMapStorage"),(0,n.yg)("p",null,"The ",(0,n.yg)("inlineCode",{parentName:"p"},"link SessionMap")," storage is an implementation of the\n",(0,n.yg)("inlineCode",{parentName:"p"},"link Storage")," interface acting as a synchronization proxy between\nthe underlying map storage and the ",(0,n.yg)("inlineCode",{parentName:"p"},"sessionStorage")," DOM storage."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"SessionMapStorage"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new SessionMapStorage"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"map"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"session"),")"),(0,n.yg)("p",null,"Initializes the storage."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"map")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"V"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The map storage to use.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"session")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"V"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The session storage to use.")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L32"},"packages/core/src/storage/SessionMapStorage.ts:32")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_map"},"_","map"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","map"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"MapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"The map storage, synced with the session storage."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L16"},"packages/core/src/storage/SessionMapStorage.ts:16")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_session"},"_","session"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","session"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"The session storage, synced with the map storage."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L20"},"packages/core/src/storage/SessionMapStorage.ts:20")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L22"},"packages/core/src/storage/SessionMapStorage.ts:22")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Clears the storage of all entries."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#clear"},"clear")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L106"},"packages/core/src/storage/SessionMapStorage.ts:106")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"delete"},"delete"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"delete"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Deletes the entry identified by the specified key from this storage."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#delete"},"delete")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L96"},"packages/core/src/storage/SessionMapStorage.ts:96")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"get"},"get"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"get"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," if the entry does not exists."),(0,n.yg)("p",null,"Entries set to the ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," value can be tested for existence\nusing the ",(0,n.yg)("inlineCode",{parentName:"p"},"link has")," method."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"The value of the storage entry."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#get"},"get")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L71"},"packages/core/src/storage/SessionMapStorage.ts:71")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"has"},"has"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"has"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the entry identified by the specified key exists\nin this storage."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the storage entry exists."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#has"},"has")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L64"},"packages/core/src/storage/SessionMapStorage.ts:64")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."),(0,n.yg)("p",null,"This method must be invoked only once and it must be the first method\ninvoked on this instance."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#init"},"init")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L43"},"packages/core/src/storage/SessionMapStorage.ts:43")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"keys"},"keys"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"keys"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,n.yg)("inlineCode",{parentName:"p"},"for..of")," loop."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#keys"},"keys")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L116"},"packages/core/src/storage/SessionMapStorage.ts:116")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"set"},"set"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"set"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The storage entry value.")))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SessionMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"SessionMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#set"},"set")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L78"},"packages/core/src/storage/SessionMapStorage.ts:78")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"size"},"size"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"size"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the number of entries in this storage."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The number of entries in this storage."),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#size"},"size")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/SessionMapStorage.ts#L123"},"packages/core/src/storage/SessionMapStorage.ts:123")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ac1b1cf0.8744d311.js b/assets/js/ac1b1cf0.8744d311.js deleted file mode 100644 index fac27b763..000000000 --- a/assets/js/ac1b1cf0.8744d311.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5400],{5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>m});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},s="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),s=c(n),y=a,m=s["".concat(l,".").concat(y)]||s[y]||g[y]||i;return n?r.createElement(m,o(o({ref:t},d),{},{components:n})):r.createElement(m,o({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=y;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p[s]="string"==typeof e?e:a,o[1]=p;for(var c=2;c<i;c++)o[c]=n[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},8137:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>p,toc:()=>c});var r=n(8102),a=(n(6540),n(5680));const i={id:"ima_core.BootServices",title:"Interface: BootServices",sidebar_label:"@ima/core.BootServices",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.BootServices",id:"api/interfaces/ima_core.BootServices",title:"Interface: BootServices",description:"@ima/core.BootServices",source:"@site/../docs/api/interfaces/ima_core.BootServices.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.BootServices",permalink:"/api/interfaces/ima_core.BootServices",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.BootServices",title:"Interface: BootServices",sidebar_label:"@ima/core.BootServices",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.BootConfig",permalink:"/api/interfaces/ima_core.BootConfig"},next:{title:"@ima/core.DictionaryMap",permalink:"/api/interfaces/ima_core.DictionaryMap"}},l={},c=[{value:"Properties",id:"properties",level:2},{value:"$IMA",id:"ima",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"dictionary",id:"dictionary",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"request",id:"request",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"response",id:"response",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"router",id:"router",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-4",level:4}],d={toc:c},s="wrapper";function g(e){let{components:t,...n}=e;return(0,a.yg)(s,(0,r.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".BootServices"),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"ima"},"$IMA"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"$IMA"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.GlobalImaObject"},(0,a.yg)("inlineCode",{parentName:"a"},"GlobalImaObject"))),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L100"},"packages/core/src/Bootstrap.ts:100")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"dictionary"},"dictionary"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"dictionary"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dictionaryconfig"},(0,a.yg)("inlineCode",{parentName:"a"},"DictionaryConfig"))),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L101"},"packages/core/src/Bootstrap.ts:101")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"request"},"request"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"request"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"Request"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"ParamsDictionary"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"ParsedQs"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L99"},"packages/core/src/Bootstrap.ts:99")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"response"},"response"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"response"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"p"},"Response"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,a.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L98"},"packages/core/src/Bootstrap.ts:98")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"router"},"router"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"router"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Object")),(0,a.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"$Host")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"$LanguagePartPath")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"$Path")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"$Protocol")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},'"http:"')," ","|"," ",(0,a.yg)("inlineCode",{parentName:"td"},'"https:"'))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"$Root")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string"))))),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L102"},"packages/core/src/Bootstrap.ts:102")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/aefc0c3a.21f07426.js b/assets/js/aefc0c3a.21f07426.js deleted file mode 100644 index f898224bd..000000000 --- a/assets/js/aefc0c3a.21f07426.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2235],{5680:(e,n,i)=>{i.d(n,{xA:()=>p,yg:()=>h});var t=i(6540);function l(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function a(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,t)}return i}function r(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?a(Object(i),!0).forEach((function(n){l(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function d(e,n){if(null==e)return{};var i,t,l=function(e,n){if(null==e)return{};var i,t,l={},a=Object.keys(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||(l[i]=e[i]);return l}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(l[i]=e[i])}return l}var o=t.createContext({}),s=function(e){var n=t.useContext(o),i=n;return e&&(i="function"==typeof e?e(n):r(r({},n),e)),i},p=function(e){var n=s(e.components);return t.createElement(o.Provider,{value:n},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},f=t.forwardRef((function(e,n){var i=e.components,l=e.mdxType,a=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),u=s(i),f=l,h=u["".concat(o,".").concat(f)]||u[f]||m[f]||a;return i?t.createElement(h,r(r({ref:n},p),{},{components:i})):t.createElement(h,r({ref:n},p))}));function h(e,n){var i=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var a=i.length,r=new Array(a);r[0]=f;var d={};for(var o in n)hasOwnProperty.call(n,o)&&(d[o]=n[o]);d.originalType=e,d[u]="string"==typeof e?e:l,r[1]=d;for(var s=2;s<a;s++)r[s]=i[s];return t.createElement.apply(null,r)}return t.createElement.apply(null,i)}f.displayName="MDXCreateElement"},426:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>d,toc:()=>s});var t=i(8102),l=(i(6540),i(5680));const a={id:"ima_core.ManifestAsset",title:"Interface: ManifestAsset",sidebar_label:"@ima/core.ManifestAsset",custom_edit_url:null},r=void 0,d={unversionedId:"api/interfaces/ima_core.ManifestAsset",id:"api/interfaces/ima_core.ManifestAsset",title:"Interface: ManifestAsset",description:"@ima/core.ManifestAsset",source:"@site/../docs/api/interfaces/ima_core.ManifestAsset.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.ManifestAsset",permalink:"/api/interfaces/ima_core.ManifestAsset",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ManifestAsset",title:"Interface: ManifestAsset",sidebar_label:"@ima/core.ManifestAsset",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Manifest",permalink:"/api/interfaces/ima_core.Manifest"},next:{title:"@ima/core.OCAliasMap",permalink:"/api/interfaces/ima_core.OCAliasMap"}},o={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"chunkhash",id:"chunkhash",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"contenthash",id:"contenthash",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"development",id:"development",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"fullhash",id:"fullhash",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"hotModuleReplacement",id:"hotmodulereplacement",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"immutable",id:"immutable",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"javascriptModule",id:"javascriptmodule",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"minimized",id:"minimized",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"modulehash",id:"modulehash",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"name",id:"name",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"related",id:"related",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"size",id:"size",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"sourceFilename",id:"sourcefilename",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-12",level:4}],p={toc:s},u="wrapper";function m(e){let{components:n,...i}=e;return(0,l.yg)(u,(0,t.A)({},p,i,{components:n,mdxType:"MDXLayout"}),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ManifestAsset"),(0,l.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,l.yg)("ul",null,(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("p",{parentName:"li"},(0,l.yg)("inlineCode",{parentName:"p"},"AssetInfo")),(0,l.yg)("p",{parentName:"li"},"\u21b3 ",(0,l.yg)("strong",{parentName:"p"},(0,l.yg)("inlineCode",{parentName:"strong"},"ManifestAsset"))))),(0,l.yg)("h2",{id:"properties"},"Properties"),(0,l.yg)("h3",{id:"chunkhash"},"chunkhash"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"chunkhash"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,l.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,l.yg)("p",null,"the value(s) of the chunk hash used for this asset"),(0,l.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.chunkhash"),(0,l.yg)("h4",{id:"defined-in"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7439"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"contenthash"},"contenthash"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"contenthash"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,l.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,l.yg)("p",null,"the value(s) of the content hash used for this asset"),(0,l.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.contenthash"),(0,l.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7449"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"development"},"development"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"development"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("p",null,"true, when asset is only used for development and doesn't count towards user-facing assets"),(0,l.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.development"),(0,l.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7464"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"fullhash"},"fullhash"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"fullhash"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,l.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,l.yg)("p",null,"the value(s) of the full hash used for this asset"),(0,l.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.fullhash"),(0,l.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7434"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"hotmodulereplacement"},"hotModuleReplacement"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"hotModuleReplacement"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("p",null,"true, when asset ships data for updating an existing application (HMR)"),(0,l.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.hotModuleReplacement"),(0,l.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7469"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"immutable"},"immutable"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"immutable"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("p",null,"true, if the asset can be long term cached forever (contains a hash)"),(0,l.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.immutable"),(0,l.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7424"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"javascriptmodule"},"javascriptModule"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"javascriptModule"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("p",null,"true, when asset is javascript and an ESM"),(0,l.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.javascriptModule"),(0,l.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7474"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"minimized"},"minimized"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"minimized"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("p",null,"whether the asset is minimized"),(0,l.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.minimized"),(0,l.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7429"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"modulehash"},"modulehash"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"modulehash"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,l.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,l.yg)("p",null,"the value(s) of the module hash used for this asset"),(0,l.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.modulehash"),(0,l.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7444"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"name"},"name"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("strong",{parentName:"p"},"name"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/boot.ts#L25"},"packages/core/src/boot.ts:25")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"related"},"related"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"related"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,l.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,l.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,l.yg)("inlineCode",{parentName:"p"},"string"),"[]",">"),(0,l.yg)("p",null,"object of pointers to other assets, keyed by type of relation (only points from parent to child)"),(0,l.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.related"),(0,l.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7479"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"size"},"size"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"size"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"number")),(0,l.yg)("p",null,"size in bytes, only set after asset has been emitted"),(0,l.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.size"),(0,l.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7459"),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"sourcefilename"},"sourceFilename"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"sourceFilename"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("p",null,"when asset was created from a source file (potentially transformed), the original filename relative to compilation context"),(0,l.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,l.yg)("p",null,"AssetInfo.sourceFilename"),(0,l.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,l.yg)("p",null,"node_modules/webpack/types.d.ts:7454"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/afb1371e.0b2d6f88.js b/assets/js/afb1371e.0b2d6f88.js new file mode 100644 index 000000000..deadbba14 --- /dev/null +++ b/assets/js/afb1371e.0b2d6f88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2837],{6299:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/type-aliases/PageState","title":"Type Alias: PageState","description":"PageState: object","source":"@site/../docs/api/@ima/core/type-aliases/PageState.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/PageState","permalink":"/api/@ima/core/type-aliases/PageState","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/PageState.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: PageData","permalink":"/api/@ima/core/type-aliases/PageData"},"next":{"title":"Type Alias: PluginInitBindFunction()","permalink":"/api/@ima/core/type-aliases/PluginInitBindFunction"}}');var s=a(2540),i=a(3023);const r={},c="Type Alias: PageState",o={},l=[{value:"Index Signature",id:"index-signature",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"type-alias-pagestate",children:"Type Alias: PageState"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"PageState"}),": ",(0,s.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L1",children:"packages/core/src/page/state/PageStateManager.ts:1"})]}),"\n",(0,s.jsx)(t.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,s.jsxs)(t.p,{children:["[",(0,s.jsx)(t.code,{children:"key"}),": ",(0,s.jsx)(t.code,{children:"string"}),"]: ",(0,s.jsx)(t.code,{children:"any"})]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>r,x:()=>c});var n=a(3696);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b03cb8d5.d15c8406.js b/assets/js/b03cb8d5.d15c8406.js deleted file mode 100644 index cd2191ce8..000000000 --- a/assets/js/b03cb8d5.d15c8406.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6463],{5680:(e,n,t)=>{t.d(n,{xA:()=>d,yg:()=>u});var a=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},d=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(t),g=i,u=c["".concat(l,".").concat(g)]||c[g]||h[g]||r;return t?a.createElement(u,s(s({ref:n},d),{},{components:t})):a.createElement(u,s({ref:n},d))}));function u(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,s=new Array(r);s[0]=g;var o={};for(var l in n)hasOwnProperty.call(n,l)&&(o[l]=n[l]);o.originalType=e,o[c]="string"==typeof e?e:i,s[1]=o;for(var p=2;p<r;p++)s[p]=t[p];return a.createElement.apply(null,s)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},6026:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var a=t(8102),i=(t(6540),t(5680));const r={title:"Events",description:"Basic features > EventBus and Dispatcher"},s=void 0,o={unversionedId:"basic-features/events",id:"basic-features/events",title:"Events",description:"Basic features > EventBus and Dispatcher",source:"@site/../docs/basic-features/events.md",sourceDirName:"basic-features",slug:"/basic-features/events",permalink:"/basic-features/events",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/events.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Events",description:"Basic features > EventBus and Dispatcher"},sidebar:"docs",previous:{title:"Page Manager",permalink:"/basic-features/page-manager"},next:{title:"Page State",permalink:"/basic-features/page-state"}},l={},p=[{value:"EventBus",id:"eventbus",level:2},{value:"Firing EventBus events",id:"firing-eventbus-events",level:3},{value:"Listening to EventBus events",id:"listening-to-eventbus-events",level:3},{value:"Dispatcher",id:"dispatcher",level:2},{value:"Firing and listening to Dispatcher events",id:"firing-and-listening-to-dispatcher-events",level:3},{value:"Listening to all Dispatcher events",id:"listening-to-all-dispatcher-events",level:3},{value:"Observable",id:"observable",level:2},{value:"Subscribing and unsubscribing to events",id:"subscribing-and-unsubscribing-to-events",level:3},{value:"Persistent events",id:"persistent-events",level:3},{value:"Settings",id:"settings",level:3},{value:"Built-in events",id:"built-in-events",level:2},{value:"RouterEvents.<code>BEFORE_HANDLE_ROUTE</code>",id:"routereventsbefore_handle_route",level:3},{value:"RouterEvents.<code>AFTER_HANDLE_ROUTE</code>",id:"routereventsafter_handle_route",level:3},{value:"StateEvents.<code>BEFORE_CHANGE_STATE</code>",id:"stateeventsbefore_change_state",level:3},{value:"StateEvents.<code>AFTER_CHANGE_STATE</code>",id:"stateeventsafter_change_state",level:3},{value:"RendererEvents.<code>MOUNTED</code>",id:"renderereventsmounted",level:3},{value:"RendererEvents.<code>UPDATED</code>",id:"renderereventsupdated",level:3},{value:"RendererEvents.<code>UNMOUNTED</code>",id:"renderereventsunmounted",level:3},{value:"RendererEvents.<code>ERROR</code>",id:"renderereventserror",level:3}],d={toc:p},c="wrapper";function h(e){let{components:n,...t}=e;return(0,i.yg)(c,(0,a.A)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"Major part of development in JavaScript relies on ",(0,i.yg)("strong",{parentName:"p"},"events"),". It's easy solution to\nnotify distant instances or React elements scattered across the DOM tree."),(0,i.yg)("p",null,"To ease the pain that comes with events, I",(0,i.yg)("strong",{parentName:"p"},"MA.js provides a two utilities that\ntake care of firing and receiving events"),". Each one with a different style."),(0,i.yg)("h2",{id:"eventbus"},"EventBus"),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"ima/event/EventBus")," allows your UI components to emit custom DOM events\nthat naturally propagate through the DOM tree representing the tree of your UI\ncomponents."),(0,i.yg)("p",null,"This is used to notify the parent components of user interaction with\ncustom controls in your UI, or to notify the page Controller/Extension itself."),(0,i.yg)("p",null,"The custom events may have any name and carry arbitrary data that are not\nrestricted to JSON-serializable values."),(0,i.yg)("h3",{id:"firing-eventbus-events"},"Firing EventBus events"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"EventBus")," can be used in View and Components via ",(0,i.yg)("inlineCode",{parentName:"p"},"fire()")," method that is\ninherited from ",(0,i.yg)("inlineCode",{parentName:"p"},"ima/page/AbstractComponent"),"."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-jsx"},"// app/component/expandable/ExpandLink.jsx\n\nonClick(event) {\n const { expandableId } = this.props;\n this.fire('expand', { expandableId }); // this will be stopped by ExpandableWrapper\n}\n\nrender() {\n return (\n <button onClick = { event => this.onClick(event) }>\n {\xa0this.props.children }\n </button>\n );\n}\n")),(0,i.yg)("h3",{id:"listening-to-eventbus-events"},"Listening to EventBus events"),(0,i.yg)("p",null,"The opposite for the ",(0,i.yg)("inlineCode",{parentName:"p"},"fire()")," method is ",(0,i.yg)("inlineCode",{parentName:"p"},"listen()")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"unlisten()"),". First\nargument for the ",(0,i.yg)("inlineCode",{parentName:"p"},"listen()")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"unlisten()")," method is an element the listener\nwill be bound to. It can be either DOM element or a React Component that is\nmounted in the DOM tree."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-jsx"},"// app/component/expandable/ExpandableWrapper.jsx\n\nconstructor() {\n this._expandListener = this._expandWrapper.bind(this);\n}\n\ncomponentDidMount() {\n this.listen(this, 'expand', this._expandListener);\n}\n\ncomponentWillUnmount() {\n this.unlisten(this, 'expand', this._expandListener);\n}\n\n_expandWrapper(event) {\n if (event.data.expandableId !== this.expandableId) {\n return; // this expand event is not meant for us.\n }\n\n // Do to propagate the event further.\n event.stopPropagation();\n\n // Do the expand!\n}\n\nrender() {\n return (\n <div className = 'expandWrapper'>\n // ... ExpandLink can be nested any level deep. Otherwise we could use simple props callback\n <ExpandLink expandableId = { this.expandableId }>\n See more\n </ExpandLink>\n </div>\n );\n}\n")),(0,i.yg)("p",null,"Furthermore, the Controllers and Extensions can easily listen for the events dispatched using\nthe ",(0,i.yg)("inlineCode",{parentName:"p"},"EventBus")," ",(0,i.yg)("em",{parentName:"p"},"(unless the propagation of the event is stopped by a component\nhalf the way)")," by declaring event listener methods."),(0,i.yg)("p",null,"An event listener method is a method of a controller/extension named by the ",(0,i.yg)("strong",{parentName:"p"},"first-letter\ncapitalized event name with the ",(0,i.yg)("inlineCode",{parentName:"strong"},"on")," prefix"),", for example the ",(0,i.yg)("inlineCode",{parentName:"p"},"formSubmitted"),"\nevent can be listened for by defining the ",(0,i.yg)("inlineCode",{parentName:"p"},"onFormSubmitted()")," method on your\ncontroller."),(0,i.yg)("p",null,"The first argument passed into the controller's or extension's event listener method will be\nthe event data, ",(0,i.yg)("strong",{parentName:"p"},"not the event object itself"),", as manipulating the event object\nonce it reaches the controller/extension is pointless."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/article/ArticleController.js\n\nonExpand({\xa0expandableId }) {\n // Event never reaches this point because we issued\n // event.stopPropagation() in ExpandableWrapper.jsx\n}\n")),(0,i.yg)("p",null,"You can restrict the controller/extension to specific events by setting the ",(0,i.yg)("inlineCode",{parentName:"p"},"$name")," static field\non the controller/extension class. Events with this specific prefix are then applied only to\nthis controller/extension."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/page/article/ArticleController.js\n\nstatic $name = 'ArticleController';\n\nonExpand({\xa0expandableId }) {\n // Event never reaches this point because we issued\n // event.stopPropagation() in ExpandableWrapper.jsx\n}\n\n// app/component/expandable/ExpandLink.jsx\n\nonClick(event) {\n const { expandableId } = this.props;\n this.fire('ArticleController.expand', { expandableId });\n}\n")),(0,i.yg)("h2",{id:"dispatcher"},"Dispatcher"),(0,i.yg)("p",null,"The obvious limitation of the ",(0,i.yg)("inlineCode",{parentName:"p"},"ima/event/EventBus")," API is that it only allows\nto create events that propagate up the tree of the UI components. The common\nway to propagate event in other directions, or to other parts of the UI, or\nfrom the controller to the UI is using the ",(0,i.yg)("inlineCode",{parentName:"p"},"app/event/Dispatcher")," API."),(0,i.yg)("p",null,(0,i.yg)("strong",{parentName:"p"},"Accessing Dispatcher in Controllers")," is easy with ",(0,i.yg)("a",{parentName:"p",href:"/basic-features/object-container#1-dependency-injection"},"Dependency Injection"),"."),(0,i.yg)("h3",{id:"firing-and-listening-to-dispatcher-events"},"Firing and listening to Dispatcher events"),(0,i.yg)("p",null,"The Dispatcher allows any UI component and controller to register and deregister\nevent listeners for arbitrarily named events using ",(0,i.yg)("inlineCode",{parentName:"p"},"listen()")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"unlisten()"),"\nmethods and fire these events with arbitrary data using ",(0,i.yg)("inlineCode",{parentName:"p"},"fire()")," method."),(0,i.yg)("p",null,"Events propagate directly to the registered event listeners with no way to stop\ntheir propagation."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/image/Image.jsx\n\nonImageClick(event) {\n event.preventDefault();\n\n const {\xa0image } = this.props;\n this.utils.$Dispatcher.fire('showLightbox', { image });\n}\n")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/lightbox/Lightbox.jsx\n\ncomponentDidMount() {\n this.utils.$Dispatcher.listen('showLightbox', this.onLightboxShow, this);\n}\n\ncomponentWillUnmount() {\n this.utils.$Dispatcher.unlisten('showLightbox', this.onLightboxShow, this);\n}\n\nonLightboxShow(data) {\n // ...\n}\n")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," Lightbox component can be mounted anywhere in the DOM tree and it\nwill still receive the ",(0,i.yg)("inlineCode",{parentName:"p"},"showLightbox")," event when it's fired.")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," A great place to\nmount components like Lightbox is ",(0,i.yg)("a",{parentName:"p",href:"/basic-features/rendering-process#managedrootview"},"ManagedRootView"),".")),(0,i.yg)("h3",{id:"listening-to-all-dispatcher-events"},"Listening to all Dispatcher events"),(0,i.yg)("p",null,"You can listen to all events dispatched by the ",(0,i.yg)("inlineCode",{parentName:"p"},"Dispatcher")," by using the ",(0,i.yg)("inlineCode",{parentName:"p"},"listenAll()"),"\nand ",(0,i.yg)("inlineCode",{parentName:"p"},"unlistenAll()")," methods."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/eventLogger/EventLogger.jsx\n\ncomponentDidMount() {\n this.utils.$Dispatcher.listenAll(this._onDispatcherEvent, this);\n}\n\ncomponentWillUnmount() {\n this.utils.$Dispatcher.unlistenAll(this._onDispatcherEvent, this);\n}\n\n_onDispatcherEvent(eventName, data) {\n // ...\n}\n")),(0,i.yg)("h2",{id:"observable"},"Observable"),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"Observable")," class allows you to subscribe to events dispatched by the\n",(0,i.yg)("inlineCode",{parentName:"p"},"Dispatcher"),". Upon subscribing, subscribers will be notified of past and future\nevents."),(0,i.yg)("p",null,(0,i.yg)("strong",{parentName:"p"},"Accessing Observable in Controllers")," is easy with ",(0,i.yg)("a",{parentName:"p",href:"/basic-features/object-container#1-dependency-injection"},"Dependency Injection"),"."),(0,i.yg)("h3",{id:"subscribing-and-unsubscribing-to-events"},"Subscribing and unsubscribing to events"),(0,i.yg)("p",null,"You can subscribe to events dispatched by the ",(0,i.yg)("inlineCode",{parentName:"p"},"Dispatcher")," using the ",(0,i.yg)("inlineCode",{parentName:"p"},"subscribe()"),", and unsubscribe using the ",(0,i.yg)("inlineCode",{parentName:"p"},"unsubscribe()")," method."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/media/Media.jsx\n\ncomponentDidMount() {\n this.utils.$Observable.subscribe('showLightbox', this._onShowLightbox, this);\n}\n\ncomponentWillUnmount() {\n this.utils.$Observable.unsubscribe('showLightbox', this._onShowLightbox, this);\n}\n\n_onShowLightbox(data) {\n // ...\n}\n")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," If the ",(0,i.yg)("inlineCode",{parentName:"p"},"showLightbox")," event was already dispatched before the ",(0,i.yg)("inlineCode",{parentName:"p"},"Media")," component was mounted,\nthe ",(0,i.yg)("inlineCode",{parentName:"p"},"_onShowLightbox")," method will be called immediately upon subscribing with the data that was passed to the event.",(0,i.yg)("br",{parentName:"p"}),"\n",(0,i.yg)("strong",{parentName:"p"},"Note:")," If the event was dispatched multiple times before the ",(0,i.yg)("inlineCode",{parentName:"p"},"Media")," component was mounted,\nthe ",(0,i.yg)("inlineCode",{parentName:"p"},"_onShowLightbox")," method will be called for each event.")),(0,i.yg)("h3",{id:"persistent-events"},"Persistent events"),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"Observable")," class clears its history of dispatched events when the ",(0,i.yg)("inlineCode",{parentName:"p"},"RouterEvents.BEFORE_HANDLE_ROUTE")," event is dispatched.\nIf you want to keep the history of dispatched events, you can use the ",(0,i.yg)("inlineCode",{parentName:"p"},"registerPersistentEvent()")," method."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/services.js\n\nexport const initServicesApp = (ns, oc, config) => {\n const Observable = oc.get('$Observable');\n\n Observable.registerPersistentEvent('scriptLoaded');\n}\n")),(0,i.yg)("h3",{id:"settings"},"Settings"),(0,i.yg)("p",null,"By default, the ",(0,i.yg)("inlineCode",{parentName:"p"},"Observable")," class holds the last 10 events dispatched by the ",(0,i.yg)("inlineCode",{parentName:"p"},"Dispatcher"),".\nYou can change this by modifying the ",(0,i.yg)("inlineCode",{parentName:"p"},"$Observable.maxHistoryLength")," setting."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/config/settings.js\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n // ...\n $Observable: {\n maxHistoryLength: 20\n }\n }\n };\n}\n")),(0,i.yg)("h2",{id:"built-in-events"},"Built-in events"),(0,i.yg)("p",null,"IMA.js fires a few events that let you know that something has happened under\nthe hood. You can listen to these events using ",(0,i.yg)("strong",{parentName:"p"},"Dispatcher"),"'s listen method."),(0,i.yg)("h3",{id:"routereventsbefore_handle_route"},"RouterEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"BEFORE_HANDLE_ROUTE")),(0,i.yg)("p",null,"This event is fired after the router matches new url to a registered route and\nbefore the page change starts. The data passed with the event look like this:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"{\n // the new Route instance\n route,\n // new URL parameters\n params,\n // the path portion of the new URL (a route definition is matched against this)\n path,\n // route options extended of options provided to the function\n // that triggered the routing\n options,\n // an action object describing what triggered the routing\n // if a PopStateEvent triggered the routing the action object will\n // look like this { type: 'popstate', event: PopStateEvent }\n // otherwise the event will be MouseEvent (e.g. clicked on a link)\n // and type will be either 'redirect', 'click' or 'error'.\n action\n}\n")),(0,i.yg)("h3",{id:"routereventsafter_handle_route"},"RouterEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"AFTER_HANDLE_ROUTE")),(0,i.yg)("p",null,"This event is contrary to the ",(0,i.yg)("inlineCode",{parentName:"p"},"BEFORE_HANDLE_ROUTE"),". It's fired with the same\ndata but after the page was changed."),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," The ",(0,i.yg)("inlineCode",{parentName:"p"},"AFTER_HANDLE_ROUTE")," event will be fired regardless if promises\nloaded be the new Controller are resolved.")),(0,i.yg)("h3",{id:"stateeventsbefore_change_state"},"StateEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"BEFORE_CHANGE_STATE")),(0,i.yg)("p",null,"An event fired before the page state changes. The handler of this event receives\nfollowing data:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"{\n // The state object derived from the oldState and patchState\n newState,\n // The current state\n oldState,\n // The data that were passed to the `setState` method\n patchState\n}\n")),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("strong",{parentName:"p"},"Note:")," You can mutate the ",(0,i.yg)("inlineCode",{parentName:"p"},"newState")," object if you wish. Mutating\n",(0,i.yg)("inlineCode",{parentName:"p"},"oldState")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"patchState")," will have no effect.")),(0,i.yg)("h3",{id:"stateeventsafter_change_state"},"StateEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"AFTER_CHANGE_STATE")),(0,i.yg)("p",null,"An event fired after the page state changes. The data passed with this event\ncontain only the ",(0,i.yg)("inlineCode",{parentName:"p"},"newState")," object."),(0,i.yg)("h3",{id:"renderereventsmounted"},"RendererEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"MOUNTED")),(0,i.yg)("p",null,"PageRenderer fires this event after current page view is mounted to the DOM. Event's data contain ",(0,i.yg)("inlineCode",{parentName:"p"},"{ type: String }")," Where type can be one of constants located in ",(0,i.yg)("inlineCode",{parentName:"p"},"@ima/core/page/renderer/Types"),"."),(0,i.yg)("h3",{id:"renderereventsupdated"},"RendererEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"UPDATED")),(0,i.yg)("p",null,"PageRenderer fires this event after current state is updated in the DOM. Event's data contain ",(0,i.yg)("inlineCode",{parentName:"p"},"{ state: Object<string, *>}"),"."),(0,i.yg)("h3",{id:"renderereventsunmounted"},"RendererEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"UNMOUNTED")),(0,i.yg)("p",null,"PageRenderer fires this event after current view is unmounted from the DOM. Event's data contain ",(0,i.yg)("inlineCode",{parentName:"p"},"{ type: String }")," Where type can be one of constants located in ",(0,i.yg)("inlineCode",{parentName:"p"},"@ima/core/page/renderer/Types"),"."),(0,i.yg)("h3",{id:"renderereventserror"},"RendererEvents.",(0,i.yg)("inlineCode",{parentName:"h3"},"ERROR")),(0,i.yg)("p",null,"PageRenderer fires this event when there is no _viewContainer in _renderToDOM method. Event's data contain ",(0,i.yg)("inlineCode",{parentName:"p"},"{ message: string }"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b03cb8d5.ef55d1b4.js b/assets/js/b03cb8d5.ef55d1b4.js new file mode 100644 index 000000000..13800b079 --- /dev/null +++ b/assets/js/b03cb8d5.ef55d1b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8844],{7051:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"basic-features/events","title":"Events","description":"Basic features > EventBus and Dispatcher","source":"@site/../docs/basic-features/events.md","sourceDirName":"basic-features","slug":"/basic-features/events","permalink":"/basic-features/events","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/events.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Events","description":"Basic features > EventBus and Dispatcher"},"sidebar":"docs","previous":{"title":"Page Manager","permalink":"/basic-features/page-manager"},"next":{"title":"Page State","permalink":"/basic-features/page-state"}}');var i=t(2540),r=t(3023);const o={title:"Events",description:"Basic features > EventBus and Dispatcher"},a=void 0,d={},c=[{value:"EventBus",id:"eventbus",level:2},{value:"Firing EventBus events",id:"firing-eventbus-events",level:3},{value:"Listening to EventBus events",id:"listening-to-eventbus-events",level:3},{value:"Dispatcher",id:"dispatcher",level:2},{value:"Firing and listening to Dispatcher events",id:"firing-and-listening-to-dispatcher-events",level:3},{value:"Listening to all Dispatcher events",id:"listening-to-all-dispatcher-events",level:3},{value:"Observable",id:"observable",level:2},{value:"Subscribing and unsubscribing to events",id:"subscribing-and-unsubscribing-to-events",level:3},{value:"Persistent events",id:"persistent-events",level:3},{value:"Settings",id:"settings",level:3},{value:"Built-in events",id:"built-in-events",level:2},{value:"RouterEvents.<code>BEFORE_HANDLE_ROUTE</code>",id:"routereventsbefore_handle_route",level:3},{value:"RouterEvents.<code>AFTER_HANDLE_ROUTE</code>",id:"routereventsafter_handle_route",level:3},{value:"StateEvents.<code>BEFORE_CHANGE_STATE</code>",id:"stateeventsbefore_change_state",level:3},{value:"StateEvents.<code>AFTER_CHANGE_STATE</code>",id:"stateeventsafter_change_state",level:3},{value:"RendererEvents.<code>MOUNTED</code>",id:"renderereventsmounted",level:3},{value:"RendererEvents.<code>UPDATED</code>",id:"renderereventsupdated",level:3},{value:"RendererEvents.<code>UNMOUNTED</code>",id:"renderereventsunmounted",level:3},{value:"RendererEvents.<code>ERROR</code>",id:"renderereventserror",level:3}];function l(e){const n={a:"a",blockquote:"blockquote",br:"br",code:"code",em:"em",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Major part of development in JavaScript relies on ",(0,i.jsx)(n.strong,{children:"events"}),". It's easy solution to\nnotify distant instances or React elements scattered across the DOM tree."]}),"\n",(0,i.jsxs)(n.p,{children:["To ease the pain that comes with events, I",(0,i.jsx)(n.strong,{children:"MA.js provides a two utilities that\ntake care of firing and receiving events"}),". Each one with a different style."]}),"\n",(0,i.jsx)(n.h2,{id:"eventbus",children:"EventBus"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"ima/event/EventBus"})," allows your UI components to emit custom DOM events\nthat naturally propagate through the DOM tree representing the tree of your UI\ncomponents."]}),"\n",(0,i.jsx)(n.p,{children:"This is used to notify the parent components of user interaction with\ncustom controls in your UI, or to notify the page Controller/Extension itself."}),"\n",(0,i.jsx)(n.p,{children:"The custom events may have any name and carry arbitrary data that are not\nrestricted to JSON-serializable values."}),"\n",(0,i.jsx)(n.h3,{id:"firing-eventbus-events",children:"Firing EventBus events"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"EventBus"})," can be used in View and Components via ",(0,i.jsx)(n.code,{children:"fire()"})," method that is\ninherited from ",(0,i.jsx)(n.code,{children:"ima/page/AbstractComponent"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"// app/component/expandable/ExpandLink.jsx\n\nonClick(event) {\n const { expandableId } = this.props;\n this.fire('expand', { expandableId }); // this will be stopped by ExpandableWrapper\n}\n\nrender() {\n return (\n <button onClick = { event => this.onClick(event) }>\n {\xa0this.props.children }\n </button>\n );\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"listening-to-eventbus-events",children:"Listening to EventBus events"}),"\n",(0,i.jsxs)(n.p,{children:["The opposite for the ",(0,i.jsx)(n.code,{children:"fire()"})," method is ",(0,i.jsx)(n.code,{children:"listen()"})," and ",(0,i.jsx)(n.code,{children:"unlisten()"}),". First\nargument for the ",(0,i.jsx)(n.code,{children:"listen()"})," and ",(0,i.jsx)(n.code,{children:"unlisten()"})," method is an element the listener\nwill be bound to. It can be either DOM element or a React Component that is\nmounted in the DOM tree."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"// app/component/expandable/ExpandableWrapper.jsx\n\nconstructor() {\n this._expandListener = this._expandWrapper.bind(this);\n}\n\ncomponentDidMount() {\n this.listen(this, 'expand', this._expandListener);\n}\n\ncomponentWillUnmount() {\n this.unlisten(this, 'expand', this._expandListener);\n}\n\n_expandWrapper(event) {\n if (event.data.expandableId !== this.expandableId) {\n return; // this expand event is not meant for us.\n }\n\n // Do to propagate the event further.\n event.stopPropagation();\n\n // Do the expand!\n}\n\nrender() {\n return (\n <div className = 'expandWrapper'>\n // ... ExpandLink can be nested any level deep. Otherwise we could use simple props callback\n <ExpandLink expandableId = { this.expandableId }>\n See more\n </ExpandLink>\n </div>\n );\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Furthermore, the Controllers and Extensions can easily listen for the events dispatched using\nthe ",(0,i.jsx)(n.code,{children:"EventBus"})," ",(0,i.jsx)(n.em,{children:"(unless the propagation of the event is stopped by a component\nhalf the way)"})," by declaring event listener methods."]}),"\n",(0,i.jsxs)(n.p,{children:["An event listener method is a method of a controller/extension named by the ",(0,i.jsxs)(n.strong,{children:["first-letter\ncapitalized event name with the ",(0,i.jsx)(n.code,{children:"on"})," prefix"]}),", for example the ",(0,i.jsx)(n.code,{children:"formSubmitted"}),"\nevent can be listened for by defining the ",(0,i.jsx)(n.code,{children:"onFormSubmitted()"})," method on your\ncontroller."]}),"\n",(0,i.jsxs)(n.p,{children:["The first argument passed into the controller's or extension's event listener method will be\nthe event data, ",(0,i.jsx)(n.strong,{children:"not the event object itself"}),", as manipulating the event object\nonce it reaches the controller/extension is pointless."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/page/article/ArticleController.js\n\nonExpand({\xa0expandableId }) {\n // Event never reaches this point because we issued\n // event.stopPropagation() in ExpandableWrapper.jsx\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["You can restrict the controller/extension to specific events by setting the ",(0,i.jsx)(n.code,{children:"$name"})," static field\non the controller/extension class. Events with this specific prefix are then applied only to\nthis controller/extension."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/page/article/ArticleController.js\n\nstatic $name = 'ArticleController';\n\nonExpand({\xa0expandableId }) {\n // Event never reaches this point because we issued\n // event.stopPropagation() in ExpandableWrapper.jsx\n}\n\n// app/component/expandable/ExpandLink.jsx\n\nonClick(event) {\n const { expandableId } = this.props;\n this.fire('ArticleController.expand', { expandableId });\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"dispatcher",children:"Dispatcher"}),"\n",(0,i.jsxs)(n.p,{children:["The obvious limitation of the ",(0,i.jsx)(n.code,{children:"ima/event/EventBus"})," API is that it only allows\nto create events that propagate up the tree of the UI components. The common\nway to propagate event in other directions, or to other parts of the UI, or\nfrom the controller to the UI is using the ",(0,i.jsx)(n.code,{children:"app/event/Dispatcher"})," API."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Accessing Dispatcher in Controllers"})," is easy with ",(0,i.jsx)(n.a,{href:"/basic-features/object-container#1-dependency-injection",children:"Dependency Injection"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"firing-and-listening-to-dispatcher-events",children:"Firing and listening to Dispatcher events"}),"\n",(0,i.jsxs)(n.p,{children:["The Dispatcher allows any UI component and controller to register and deregister\nevent listeners for arbitrarily named events using ",(0,i.jsx)(n.code,{children:"listen()"})," and ",(0,i.jsx)(n.code,{children:"unlisten()"}),"\nmethods and fire these events with arbitrary data using ",(0,i.jsx)(n.code,{children:"fire()"})," method."]}),"\n",(0,i.jsx)(n.p,{children:"Events propagate directly to the registered event listeners with no way to stop\ntheir propagation."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/component/image/Image.jsx\n\nonImageClick(event) {\n event.preventDefault();\n\n const {\xa0image } = this.props;\n this.utils.$Dispatcher.fire('showLightbox', { image });\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/component/lightbox/Lightbox.jsx\n\ncomponentDidMount() {\n this.utils.$Dispatcher.listen('showLightbox', this.onLightboxShow, this);\n}\n\ncomponentWillUnmount() {\n this.utils.$Dispatcher.unlisten('showLightbox', this.onLightboxShow, this);\n}\n\nonLightboxShow(data) {\n // ...\n}\n"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Note:"})," Lightbox component can be mounted anywhere in the DOM tree and it\nwill still receive the ",(0,i.jsx)(n.code,{children:"showLightbox"})," event when it's fired."]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Note:"})," A great place to\nmount components like Lightbox is ",(0,i.jsx)(n.a,{href:"/basic-features/rendering-process#managedrootview",children:"ManagedRootView"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"listening-to-all-dispatcher-events",children:"Listening to all Dispatcher events"}),"\n",(0,i.jsxs)(n.p,{children:["You can listen to all events dispatched by the ",(0,i.jsx)(n.code,{children:"Dispatcher"})," by using the ",(0,i.jsx)(n.code,{children:"listenAll()"}),"\nand ",(0,i.jsx)(n.code,{children:"unlistenAll()"})," methods."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/component/eventLogger/EventLogger.jsx\n\ncomponentDidMount() {\n this.utils.$Dispatcher.listenAll(this._onDispatcherEvent, this);\n}\n\ncomponentWillUnmount() {\n this.utils.$Dispatcher.unlistenAll(this._onDispatcherEvent, this);\n}\n\n_onDispatcherEvent(eventName, data) {\n // ...\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"observable",children:"Observable"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"Observable"})," class allows you to subscribe to events dispatched by the\n",(0,i.jsx)(n.code,{children:"Dispatcher"}),". Upon subscribing, subscribers will be notified of past and future\nevents."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Accessing Observable in Controllers"})," is easy with ",(0,i.jsx)(n.a,{href:"/basic-features/object-container#1-dependency-injection",children:"Dependency Injection"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"subscribing-and-unsubscribing-to-events",children:"Subscribing and unsubscribing to events"}),"\n",(0,i.jsxs)(n.p,{children:["You can subscribe to events dispatched by the ",(0,i.jsx)(n.code,{children:"Dispatcher"})," using the ",(0,i.jsx)(n.code,{children:"subscribe()"}),", and unsubscribe using the ",(0,i.jsx)(n.code,{children:"unsubscribe()"})," method."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/component/media/Media.jsx\n\ncomponentDidMount() {\n this.utils.$Observable.subscribe('showLightbox', this._onShowLightbox, this);\n}\n\ncomponentWillUnmount() {\n this.utils.$Observable.unsubscribe('showLightbox', this._onShowLightbox, this);\n}\n\n_onShowLightbox(data) {\n // ...\n}\n"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Note:"})," If the ",(0,i.jsx)(n.code,{children:"showLightbox"})," event was already dispatched before the ",(0,i.jsx)(n.code,{children:"Media"})," component was mounted,\nthe ",(0,i.jsx)(n.code,{children:"_onShowLightbox"})," method will be called immediately upon subscribing with the data that was passed to the event.",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.strong,{children:"Note:"})," If the event was dispatched multiple times before the ",(0,i.jsx)(n.code,{children:"Media"})," component was mounted,\nthe ",(0,i.jsx)(n.code,{children:"_onShowLightbox"})," method will be called for each event."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"persistent-events",children:"Persistent events"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"Observable"})," class clears its history of dispatched events when the ",(0,i.jsx)(n.code,{children:"RouterEvents.BEFORE_HANDLE_ROUTE"})," event is dispatched.\nIf you want to keep the history of dispatched events, you can use the ",(0,i.jsx)(n.code,{children:"registerPersistentEvent()"})," method."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/config/services.js\n\nexport const initServicesApp = (ns, oc, config) => {\n const Observable = oc.get('$Observable');\n\n Observable.registerPersistentEvent('scriptLoaded');\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"settings",children:"Settings"}),"\n",(0,i.jsxs)(n.p,{children:["By default, the ",(0,i.jsx)(n.code,{children:"Observable"})," class holds the last 10 events dispatched by the ",(0,i.jsx)(n.code,{children:"Dispatcher"}),".\nYou can change this by modifying the ",(0,i.jsx)(n.code,{children:"$Observable.maxHistoryLength"})," setting."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"// app/config/settings.js\n\nexport default (ns, oc, config) => {\n return {\n prod: {\n // ...\n $Observable: {\n maxHistoryLength: 20\n }\n }\n };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"built-in-events",children:"Built-in events"}),"\n",(0,i.jsxs)(n.p,{children:["IMA.js fires a few events that let you know that something has happened under\nthe hood. You can listen to these events using ",(0,i.jsx)(n.strong,{children:"Dispatcher"}),"'s listen method."]}),"\n",(0,i.jsxs)(n.h3,{id:"routereventsbefore_handle_route",children:["RouterEvents.",(0,i.jsx)(n.code,{children:"BEFORE_HANDLE_ROUTE"})]}),"\n",(0,i.jsx)(n.p,{children:"This event is fired after the router matches new url to a registered route and\nbefore the page change starts. The data passed with the event look like this:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"{\n // the new Route instance\n route,\n // new URL parameters\n params,\n // the path portion of the new URL (a route definition is matched against this)\n path,\n // route options extended of options provided to the function\n // that triggered the routing\n options,\n // an action object describing what triggered the routing\n // if a PopStateEvent triggered the routing the action object will\n // look like this { type: 'popstate', event: PopStateEvent }\n // otherwise the event will be MouseEvent (e.g. clicked on a link)\n // and type will be either 'redirect', 'click' or 'error'.\n action\n}\n"})}),"\n",(0,i.jsxs)(n.h3,{id:"routereventsafter_handle_route",children:["RouterEvents.",(0,i.jsx)(n.code,{children:"AFTER_HANDLE_ROUTE"})]}),"\n",(0,i.jsxs)(n.p,{children:["This event is contrary to the ",(0,i.jsx)(n.code,{children:"BEFORE_HANDLE_ROUTE"}),". It's fired with the same\ndata but after the page was changed."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Note:"})," The ",(0,i.jsx)(n.code,{children:"AFTER_HANDLE_ROUTE"})," event will be fired regardless if promises\nloaded be the new Controller are resolved."]}),"\n"]}),"\n",(0,i.jsxs)(n.h3,{id:"stateeventsbefore_change_state",children:["StateEvents.",(0,i.jsx)(n.code,{children:"BEFORE_CHANGE_STATE"})]}),"\n",(0,i.jsx)(n.p,{children:"An event fired before the page state changes. The handler of this event receives\nfollowing data:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-javascript",children:"{\n // The state object derived from the oldState and patchState\n newState,\n // The current state\n oldState,\n // The data that were passed to the `setState` method\n patchState\n}\n"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Note:"})," You can mutate the ",(0,i.jsx)(n.code,{children:"newState"})," object if you wish. Mutating\n",(0,i.jsx)(n.code,{children:"oldState"})," and ",(0,i.jsx)(n.code,{children:"patchState"})," will have no effect."]}),"\n"]}),"\n",(0,i.jsxs)(n.h3,{id:"stateeventsafter_change_state",children:["StateEvents.",(0,i.jsx)(n.code,{children:"AFTER_CHANGE_STATE"})]}),"\n",(0,i.jsxs)(n.p,{children:["An event fired after the page state changes. The data passed with this event\ncontain only the ",(0,i.jsx)(n.code,{children:"newState"})," object."]}),"\n",(0,i.jsxs)(n.h3,{id:"renderereventsmounted",children:["RendererEvents.",(0,i.jsx)(n.code,{children:"MOUNTED"})]}),"\n",(0,i.jsxs)(n.p,{children:["PageRenderer fires this event after current page view is mounted to the DOM. Event's data contain ",(0,i.jsx)(n.code,{children:"{ type: String }"})," Where type can be one of constants located in ",(0,i.jsx)(n.code,{children:"@ima/core/page/renderer/Types"}),"."]}),"\n",(0,i.jsxs)(n.h3,{id:"renderereventsupdated",children:["RendererEvents.",(0,i.jsx)(n.code,{children:"UPDATED"})]}),"\n",(0,i.jsxs)(n.p,{children:["PageRenderer fires this event after current state is updated in the DOM. Event's data contain ",(0,i.jsx)(n.code,{children:"{ state: Object<string, *>}"}),"."]}),"\n",(0,i.jsxs)(n.h3,{id:"renderereventsunmounted",children:["RendererEvents.",(0,i.jsx)(n.code,{children:"UNMOUNTED"})]}),"\n",(0,i.jsxs)(n.p,{children:["PageRenderer fires this event after current view is unmounted from the DOM. Event's data contain ",(0,i.jsx)(n.code,{children:"{ type: String }"})," Where type can be one of constants located in ",(0,i.jsx)(n.code,{children:"@ima/core/page/renderer/Types"}),"."]}),"\n",(0,i.jsxs)(n.h3,{id:"renderereventserror",children:["RendererEvents.",(0,i.jsx)(n.code,{children:"ERROR"})]}),"\n",(0,i.jsxs)(n.p,{children:["PageRenderer fires this event when there is no _viewContainer in _renderToDOM method. Event's data contain ",(0,i.jsx)(n.code,{children:"{ message: string }"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var s=t(3696);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b0d03967.c7d6d765.js b/assets/js/b0d03967.c7d6d765.js new file mode 100644 index 000000000..7d015a424 --- /dev/null +++ b/assets/js/b0d03967.c7d6d765.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4496],{2244:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/EventBusListener","title":"Type Alias: EventBusListener()","description":"EventBusListener: (event) => unknown","source":"@site/../docs/api/@ima/core/type-aliases/EventBusListener.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/EventBusListener","permalink":"/api/@ima/core/type-aliases/EventBusListener","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/EventBusListener.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: EventBusEventHandler()","permalink":"/api/@ima/core/type-aliases/EventBusEventHandler"},"next":{"title":"Type Alias: EventBusOptions","permalink":"/api/@ima/core/type-aliases/EventBusOptions"}}');var r=t(2540),i=t(3023);const a={},c="Type Alias: EventBusListener()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"event",id:"event",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"type-alias-eventbuslistener",children:"Type Alias: EventBusListener()"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"EventBusListener"}),": (",(0,r.jsx)(n.code,{children:"event"}),") => ",(0,r.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L3",children:"packages/core/src/event/EventBus.ts:3"})]}),"\n",(0,r.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h3,{id:"event",children:"event"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"CustomEvent"})}),"\n",(0,r.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"unknown"})})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var s=t(3696);const r={},i=s.createContext(r);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b1612cd7.df8d30be.js b/assets/js/b1612cd7.df8d30be.js new file mode 100644 index 000000000..55c72d4c9 --- /dev/null +++ b/assets/js/b1612cd7.df8d30be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4053],{1330:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"api/@ima/dev-utils/interfaces/CompileError","title":"Interface: CompileError","description":"Defined in1","source":"@site/../docs/api/@ima/dev-utils/interfaces/CompileError.md","sourceDirName":"api/@ima/dev-utils/interfaces","slug":"/api/@ima/dev-utils/interfaces/CompileError","permalink":"/api/@ima/dev-utils/interfaces/CompileError","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/interfaces/CompileError.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/dev-utils","permalink":"/api/@ima/dev-utils/globals"},"next":{"title":"Interface: FragmentLine","permalink":"/api/@ima/dev-utils/interfaces/FragmentLine"}}');var n=r(2540),t=r(3023);const a={},c="Interface: CompileError",l={},d=[{value:"Properties",id:"properties",level:2},{value:"column?",id:"column",level:3},{value:"fileUri?",id:"fileuri",level:3},{value:"line?",id:"line",level:3},{value:"message",id:"message",level:3},{value:"name",id:"name",level:3}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"interface-compileerror",children:"Interface: CompileError"})}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/parsers/parserUtils.ts#L1",children:"parsers/parserUtils.ts:1"})]}),"\n",(0,n.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(s.h3,{id:"column",children:"column?"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"optional"})," ",(0,n.jsx)(s.strong,{children:"column"}),": ",(0,n.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/parsers/parserUtils.ts#L6",children:"parsers/parserUtils.ts:6"})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"fileuri",children:"fileUri?"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"optional"})," ",(0,n.jsx)(s.strong,{children:"fileUri"}),": ",(0,n.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/parsers/parserUtils.ts#L4",children:"parsers/parserUtils.ts:4"})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"line",children:"line?"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"optional"})," ",(0,n.jsx)(s.strong,{children:"line"}),": ",(0,n.jsx)(s.code,{children:"number"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/parsers/parserUtils.ts#L5",children:"parsers/parserUtils.ts:5"})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"message",children:"message"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"message"}),": ",(0,n.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/parsers/parserUtils.ts#L3",children:"parsers/parserUtils.ts:3"})]}),"\n",(0,n.jsx)(s.hr,{}),"\n",(0,n.jsx)(s.h3,{id:"name",children:"name"}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"name"}),": ",(0,n.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Defined in: ",(0,n.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/parsers/parserUtils.ts#L2",children:"parsers/parserUtils.ts:2"})]})]})}function p(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>a,x:()=>c});var i=r(3696);const n={},t=i.createContext(n);function a(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b2160db6.b367087c.js b/assets/js/b2160db6.b367087c.js new file mode 100644 index 000000000..36b41ced1 --- /dev/null +++ b/assets/js/b2160db6.b367087c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7310],{8563:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>a,frontMatter:()=>c,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/dev-utils/functions/getSource","title":"Function: getSource()","description":"getSource(fileUri?, line?, column?): Promise\\\\","source":"@site/../docs/api/@ima/dev-utils/functions/getSource.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/getSource","permalink":"/api/@ima/dev-utils/functions/getSource","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/getSource.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: formatError()","permalink":"/api/@ima/dev-utils/functions/formatError"},"next":{"title":"Function: parseCompileError()","permalink":"/api/@ima/dev-utils/functions/parseCompileError"}}');var t=i(2540),s=i(3023);const c={},o="Function: getSource()",l={},d=[{value:"Parameters",id:"parameters",level:2},{value:"fileUri?",id:"fileuri",level:3},{value:"line?",id:"line",level:3},{value:"column?",id:"column",level:3},{value:"Returns",id:"returns",level:2}];function u(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"function-getsource",children:"Function: getSource()"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"getSource"}),"(",(0,t.jsx)(n.code,{children:"fileUri"}),"?, ",(0,t.jsx)(n.code,{children:"line"}),"?, ",(0,t.jsx)(n.code,{children:"column"}),"?): ",(0,t.jsx)(n.code,{children:"Promise"}),"<",(0,t.jsx)(n.code,{children:"string"}),"[] | ",(0,t.jsx)(n.code,{children:"undefined"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/cliUtils.ts#L33",children:"cliUtils.ts:33"})]}),"\n",(0,t.jsx)(n.p,{children:"Get source fragment from provided source metadata.\nOptionally it tries to parse original content if\nsource maps are available."}),"\n",(0,t.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h3,{id:"fileuri",children:"fileUri?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"source file uri."}),"\n",(0,t.jsx)(n.h3,{id:"line",children:"line?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"number"})}),"\n",(0,t.jsx)(n.p,{children:"errored line number."}),"\n",(0,t.jsx)(n.h3,{id:"column",children:"column?"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"number"})," = ",(0,t.jsx)(n.code,{children:"0"})]}),"\n",(0,t.jsx)(n.p,{children:"errored column number."}),"\n",(0,t.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Promise"}),"<",(0,t.jsx)(n.code,{children:"string"}),"[] | ",(0,t.jsx)(n.code,{children:"undefined"}),">"]}),"\n",(0,t.jsx)(n.p,{children:"Formatted error lines."})]})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>o});var r=i(3696);const t={},s=r.createContext(t);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b27d79ec.c2b062ed.js b/assets/js/b27d79ec.c2b062ed.js new file mode 100644 index 000000000..a198ec0cf --- /dev/null +++ b/assets/js/b27d79ec.c2b062ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9602],{35:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/ManagedPage","title":"Type Alias: ManagedPage","description":"ManagedPage: object","source":"@site/../docs/api/@ima/core/type-aliases/ManagedPage.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/ManagedPage","permalink":"/api/@ima/core/type-aliases/ManagedPage","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/ManagedPage.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ManageArgs","permalink":"/api/@ima/core/type-aliases/ManageArgs"},"next":{"title":"Type Alias: MetaAttributes","permalink":"/api/@ima/core/type-aliases/MetaAttributes"}}');var r=n(2540),l=n(3023);const a={},i="Type Alias: ManagedPage",c={},o=[{value:"Type declaration",id:"type-declaration",level:2},{value:"controller",id:"controller",level:3},{value:"controllerInstance",id:"controllerinstance",level:3},{value:"decoratedController",id:"decoratedcontroller",level:3},{value:"options",id:"options",level:3},{value:"params",id:"params",level:3},{value:"route",id:"route",level:3},{value:"state",id:"state",level:3},{value:"state.abort?",id:"stateabort",level:4},{value:"state.abort.promise",id:"stateabortpromise",level:4},{value:"state.abort.reject()",id:"stateabortreject",level:4},{value:"Returns",id:"returns",level:5},{value:"state.abort.resolve()",id:"stateabortresolve",level:4},{value:"Returns",id:"returns-1",level:5},{value:"state.activated",id:"stateactivated",level:4},{value:"state.cancelled",id:"statecancelled",level:4},{value:"state.executed",id:"stateexecuted",level:4},{value:"state.initialized",id:"stateinitialized",level:4},{value:"state.mounted",id:"statemounted",level:4},{value:"state.page",id:"statepage",level:4},{value:"state.page.promise",id:"statepagepromise",level:4},{value:"state.page.reject()",id:"statepagereject",level:4},{value:"Returns",id:"returns-2",level:5},{value:"state.page.resolve()",id:"statepageresolve",level:4},{value:"Returns",id:"returns-3",level:5},{value:"view",id:"view",level:3},{value:"viewInstance",id:"viewinstance",level:3}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",p:"p",strong:"strong",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"type-alias-managedpage",children:"Type Alias: ManagedPage"})}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"ManagedPage"}),": ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/PageTypes.ts#L11",children:"packages/core/src/page/PageTypes.ts:11"})]}),"\n",(0,r.jsx)(s.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,r.jsx)(s.h3,{id:"controller",children:"controller"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"controller"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,r.jsx)(s.code,{children:"RouteController"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"controllerinstance",children:"controllerInstance"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"controllerInstance"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Controller",children:(0,r.jsx)(s.code,{children:"Controller"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"decoratedcontroller",children:"decoratedController"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"decoratedController"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,r.jsx)(s.code,{children:"ControllerDecorator"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"options",children:"options"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"options"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,r.jsx)(s.code,{children:"RouteOptions"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"params",children:"params"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"params"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,r.jsx)(s.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"route",children:"route"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"route"}),": ",(0,r.jsx)(s.code,{children:"InstanceType"}),"<",(0,r.jsx)(s.em,{children:"typeof"})," ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,r.jsx)(s.code,{children:"AbstractRoute"})}),">"]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"state",children:"state"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state"}),": ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"stateabort",children:"state.abort?"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"optional"})," ",(0,r.jsx)(s.strong,{children:"state.abort"}),": ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"stateabortpromise",children:"state.abort.promise"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.abort.promise"}),": ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"stateabortreject",children:"state.abort.reject()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.abort.reject"}),": () => ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsx)(s.h5,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.h4,{id:"stateabortresolve",children:"state.abort.resolve()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.abort.resolve"}),": () => ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.h4,{id:"stateactivated",children:"state.activated"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.activated"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"statecancelled",children:"state.cancelled"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.cancelled"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"stateexecuted",children:"state.executed"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.executed"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"stateinitialized",children:"state.initialized"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.initialized"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"statemounted",children:"state.mounted"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.mounted"}),": ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"statepage",children:"state.page"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.page"}),": ",(0,r.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"statepagepromise",children:"state.page.promise"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.page.promise"}),": ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"statepagereject",children:"state.page.reject()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.page.reject"}),": () => ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsx)(s.h5,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.h4,{id:"statepageresolve",children:"state.page.resolve()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"state.page.resolve"}),": () => ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsx)(s.h5,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.h3,{id:"view",children:"view"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"view"}),": ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"viewinstance",children:"viewInstance"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"viewInstance"}),": ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,l.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>i});var t=n(3696);const r={},l=t.createContext(r);function a(e){const s=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b2a1d6d9.2839ddde.js b/assets/js/b2a1d6d9.2839ddde.js new file mode 100644 index 000000000..b4c64bb86 --- /dev/null +++ b/assets/js/b2a1d6d9.2839ddde.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5810],{2062:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>p});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useComponent","title":"Function: useComponent()","description":"useComponent(): useComponentType","source":"@site/../docs/api/@ima/react-page-renderer/functions/useComponent.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useComponent","permalink":"/api/@ima/react-page-renderer/functions/useComponent","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useComponent.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: unlisten()","permalink":"/api/@ima/react-page-renderer/functions/unlisten"},"next":{"title":"Function: useComponentUtils()","permalink":"/api/@ima/react-page-renderer/functions/useComponentUtils"}}');var o=t(2540),r=t(3023);const i={},c="Function: useComponent()",a={},p=[{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function u(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"function-usecomponent",children:"Function: useComponent()"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"useComponent"}),"(): ",(0,o.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/useComponentType",children:(0,o.jsx)(n.code,{children:"useComponentType"})})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Defined in: ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/component.ts#L52",children:"packages/react-page-renderer/src/hooks/component.ts:52"})]}),"\n",(0,o.jsx)(n.p,{children:"Base hook you can use to initialize your component."}),"\n",(0,o.jsx)(n.p,{children:"Returns object, which gives you access to the same features you would\nget in your class component:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Utility methods: cssClasses, localize, link, fire, listen, unlisten."}),"\n",(0,o.jsx)(n.li,{children:"Objects: utils (=== ComponentUtils)."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/useComponentType",children:(0,o.jsx)(n.code,{children:"useComponentType"})})}),"\n",(0,o.jsx)(n.p,{children:"Object containing context data and utility methods."}),"\n",(0,o.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-ts",children:"const { utils, cssClasses } = useComponent();\n"})})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>c});var s=t(3696);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b34664f9.2ea029b4.js b/assets/js/b34664f9.2ea029b4.js new file mode 100644 index 000000000..0b5892fd4 --- /dev/null +++ b/assets/js/b34664f9.2ea029b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3865],{156:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>f,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/interfaces/InitImaConfig","title":"Interface: InitImaConfig","description":"Defined in77","source":"@site/../docs/api/@ima/core/interfaces/InitImaConfig.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/InitImaConfig","permalink":"/api/@ima/core/interfaces/InitImaConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/InitImaConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: InitAppConfig","permalink":"/api/@ima/core/interfaces/InitAppConfig"},"next":{"title":"Interface: InitPluginConfig","permalink":"/api/@ima/core/interfaces/InitPluginConfig"}}');var r=n(2540),s=n(3023);const a={},c="Interface: InitImaConfig",o={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Properties",id:"properties",level:2},{value:"initBindIma",id:"initbindima",level:3},{value:"initServicesIma",id:"initservicesima",level:3}];function l(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"interface-initimaconfig",children:"Interface: InitImaConfig"})}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L77",children:"packages/core/src/Bootstrap.ts:77"})]}),"\n",(0,r.jsx)(i.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,r.jsx)(i.code,{children:"BootConfig"})})}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(i.h3,{id:"initbindima",children:"initBindIma"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initBindIma"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitBindFunction",children:(0,r.jsx)(i.code,{children:"InitBindFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L78",children:"packages/core/src/Bootstrap.ts:78"})]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"initservicesima",children:"initServicesIma"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"initServicesIma"}),": ",(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/InitServicesFunction",children:(0,r.jsx)(i.code,{children:"InitServicesFunction"})})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L79",children:"packages/core/src/Bootstrap.ts:79"})]})]})}function f(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>a,x:()=>c});var t=n(3696);const r={},s=t.createContext(r);function a(e){const i=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b40f4eed.14d26f37.js b/assets/js/b40f4eed.14d26f37.js deleted file mode 100644 index 7741e61bc..000000000 --- a/assets/js/b40f4eed.14d26f37.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[369],{5680:(e,a,t)=>{t.d(a,{xA:()=>c,yg:()=>d});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function i(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),g=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):o(o({},a),e)),t},c=function(e){var a=g(e.components);return r.createElement(p.Provider,{value:a},e.children)},y="mdxType",s={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),y=g(t),m=n,d=y["".concat(p,".").concat(m)]||y[m]||s[m]||l;return t?r.createElement(d,o(o({ref:a},c),{},{components:t})):r.createElement(d,o({ref:a},c))}));function d(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var l=t.length,o=new Array(l);o[0]=m;var i={};for(var p in a)hasOwnProperty.call(a,p)&&(i[p]=a[p]);i.originalType=e,i[y]="string"==typeof e?e:n,o[1]=i;for(var g=2;g<l;g++)o[g]=t[g];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},1530:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>g});var r=t(8102),n=(t(6540),t(5680));const l={id:"ima_core.PageFactory",title:"Class: PageFactory",sidebar_label:"@ima/core.PageFactory",custom_edit_url:null},o=void 0,i={unversionedId:"api/classes/ima_core.PageFactory",id:"api/classes/ima_core.PageFactory",title:"Class: PageFactory",description:"@ima/core.PageFactory",source:"@site/../docs/api/classes/ima_core.PageFactory.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageFactory",permalink:"/api/classes/ima_core.PageFactory",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageFactory",title:"Class: PageFactory",sidebar_label:"@ima/core.PageFactory",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ObservableImpl",permalink:"/api/classes/ima_core.ObservableImpl"},next:{title:"@ima/core.PageHandler",permalink:"/api/classes/ima_core.PageHandler"}},p={},g=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_oc",id:"_oc",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"createController",id:"createcontroller",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"createView",id:"createview",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"decorateController",id:"decoratecontroller",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"decoratePageStateManager",id:"decoratepagestatemanager",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-5",level:4}],c={toc:g},y="wrapper";function s(e){let{components:a,...t}=e;return(0,n.yg)(y,(0,r.A)({},c,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageFactory"),(0,n.yg)("p",null,"Factory for page."),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new PageFactory"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"oc"),")"),(0,n.yg)("p",null,"Factory used by page management classes."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"oc")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ObjectContainer"},(0,n.yg)("inlineCode",{parentName:"a"},"ObjectContainer")))))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageFactory.ts#L24"},"packages/core/src/page/PageFactory.ts:24")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_oc"},"_","oc"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"_","oc"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObjectContainer"},(0,n.yg)("inlineCode",{parentName:"a"},"ObjectContainer"))),(0,n.yg)("p",null,"The current application object container."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageFactory.ts#L19"},"packages/core/src/page/PageFactory.ts:19")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"createcontroller"},"createController"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"createController"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<{}, {}, {}",">"),(0,n.yg)("p",null,"Create new instance of ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),"."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")))))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<{}, {}, {}",">"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageFactory.ts#L31"},"packages/core/src/page/PageFactory.ts:31")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"createview"},"createView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"createView"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"view"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<keyof ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,n.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")," & ",(0,n.yg)("inlineCode",{parentName:"p"},"Function")),(0,n.yg)("p",null,"Retrieves the specified react component class."),(0,n.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,n.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">"," ","|"," (...",(0,n.yg)("inlineCode",{parentName:"td"},"args"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),"[]) => ",(0,n.yg)("inlineCode",{parentName:"td"},"any"))))),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The namespace referring to a react component class, or a react component class constructor.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<keyof ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,n.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")," & ",(0,n.yg)("inlineCode",{parentName:"p"},"Function")),(0,n.yg)("p",null,"The react component class\nconstructor."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageFactory.ts#L84"},"packages/core/src/page/PageFactory.ts:84")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"decoratecontroller"},"decorateController"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"decorateController"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator"},(0,n.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">"),(0,n.yg)("p",null,"Returns decorated controller for ease setting seo params in controller."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<{}, {}, {}",">")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator"},(0,n.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">"),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageFactory.ts#L105"},"packages/core/src/page/PageFactory.ts:105")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"decoratepagestatemanager"},"decoratePageStateManager"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"decoratePageStateManager"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageStateManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"allowedStateKeys"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerDecorator"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManagerDecorator"))),(0,n.yg)("p",null,"Returns decorated page state manager for extension."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageStateManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"allowedStateKeys")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManagerDecorator"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManagerDecorator"))),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/PageFactory.ts#L124"},"packages/core/src/page/PageFactory.ts:124")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b4a62217.fbadc64a.js b/assets/js/b4a62217.fbadc64a.js new file mode 100644 index 000000000..d52e489a3 --- /dev/null +++ b/assets/js/b4a62217.fbadc64a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6128],{6732:(i,e,n)=>{n.r(e),n.d(e,{assets:()=>t,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"api/@ima/cli/globals","title":"@ima/cli","description":"Interfaces","source":"@site/../docs/api/@ima/cli/globals.md","sourceDirName":"api/@ima/cli","slug":"/api/@ima/cli/globals","permalink":"/api/@ima/cli/globals","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/globals.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: runImaPluginsHook()","permalink":"/api/@ima/cli/functions/runImaPluginsHook"},"next":{"title":"Interface: ImaCliArgs","permalink":"/api/@ima/cli/interfaces/ImaCliArgs"}}');var l=n(2540),s=n(3023);const r={},c="@ima/cli",t={},o=[{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2},{value:"Functions",id:"functions",level:2}];function d(i){const e={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,s.R)(),...i.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(e.header,{children:(0,l.jsx)(e.h1,{id:"imacli",children:"@ima/cli"})}),"\n",(0,l.jsx)(e.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:"ImaCliArgs"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/interfaces/ImaCliPlugin",children:"ImaCliPlugin"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:"ImaConfigurationContext"})}),"\n"]}),"\n",(0,l.jsx)(e.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/type-aliases/ImaCliCommand",children:"ImaCliCommand"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:"ImaConfig"})}),"\n"]}),"\n",(0,l.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/variables/IMA_CONF_FILENAME",children:"IMA_CONF_FILENAME"})}),"\n"]}),"\n",(0,l.jsx)(e.h2,{id:"functions",children:"Functions"}),"\n",(0,l.jsxs)(e.ul,{children:["\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/compileLanguages",children:"compileLanguages"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/createCacheKey",children:"createCacheKey"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/createDevServerConfig",children:"createDevServerConfig"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/createWebpackConfig",children:"createWebpackConfig"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/findRules",children:"findRules"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/getCurrentCoreJsVersion",children:"getCurrentCoreJsVersion"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/getLanguageEntryPoints",children:"getLanguageEntryPoints"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/resolveEnvironment",children:"resolveEnvironment"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/resolveImaConfig",children:"resolveImaConfig"})}),"\n",(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:"/api/@ima/cli/functions/runImaPluginsHook",children:"runImaPluginsHook"})}),"\n"]})]})}function h(i={}){const{wrapper:e}={...(0,s.R)(),...i.components};return e?(0,l.jsx)(e,{...i,children:(0,l.jsx)(d,{...i})}):d(i)}},3023:(i,e,n)=>{n.d(e,{R:()=>r,x:()=>c});var a=n(3696);const l={},s=a.createContext(l);function r(i){const e=a.useContext(s);return a.useMemo((function(){return"function"==typeof i?i(e):{...e,...i}}),[e,i])}function c(i){let e;return e=i.disableParentContext?"function"==typeof i.components?i.components(l):i.components||l:r(i.components),a.createElement(s.Provider,{value:e},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4c18e0e.80ce5b16.js b/assets/js/b4c18e0e.80ce5b16.js new file mode 100644 index 000000000..0e42d258b --- /dev/null +++ b/assets/js/b4c18e0e.80ce5b16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9193],{1186:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"api/@ima/core/interfaces/DispatcherEventsMap","title":"Interface: DispatcherEventsMap","description":"Defined in6","source":"@site/../docs/api/@ima/core/interfaces/DispatcherEventsMap.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/DispatcherEventsMap","permalink":"/api/@ima/core/interfaces/DispatcherEventsMap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/DispatcherEventsMap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: DictionaryMap","permalink":"/api/@ima/core/interfaces/DictionaryMap"},"next":{"title":"Interface: Environment","permalink":"/api/@ima/core/interfaces/Environment"}}');var t=n(2540),s=n(3023);const i={},d="Interface: DispatcherEventsMap",c={},o=[{value:"Extends",id:"extends",level:2},{value:"Properties",id:"properties",level:2},{value:"$IMA.$PageRenderer.error",id:"imapagerenderererror",level:3},{value:"message",id:"message",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"$IMA.$PageRenderer.hydrateError",id:"imapagerendererhydrateerror",level:3},{value:"clientNode",id:"clientnode",level:4},{value:"error",id:"error",level:4},{value:"serverNode",id:"servernode",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"$IMA.$PageRenderer.mounted",id:"imapagerenderermounted",level:3},{value:"type",id:"type",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"$IMA.$PageRenderer.unmounted",id:"imapagerendererunmounted",level:3},{value:"type",id:"type-1",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"$IMA.$PageRenderer.updated",id:"imapagerendererupdated",level:3},{value:"pageState",id:"pagestate",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"$IMA.$PageStateManager.afterChangeState",id:"imapagestatemanagerafterchangestate",level:3},{value:"newState",id:"newstate",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"$IMA.$PageStateManager.beforeChangeState",id:"imapagestatemanagerbeforechangestate",level:3},{value:"newState",id:"newstate-1",level:4},{value:"oldState",id:"oldstate",level:4},{value:"patchState",id:"patchstate",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"$IMA.$Router.afterHandleRoute",id:"imarouterafterhandleroute",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"$IMA.$Router.afterLoadingAsyncRoute",id:"imarouterafterloadingasyncroute",level:3},{value:"route",id:"route",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"$IMA.$Router.beforeHandleRoute",id:"imarouterbeforehandleroute",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"$IMA.$Router.beforeLoadingAsyncRoute",id:"imarouterbeforeloadingasyncroute",level:3},{value:"route",id:"route-1",level:4},{value:"Inherited from",id:"inherited-from-10",level:4}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"interface-dispatchereventsmap",children:"Interface: DispatcherEventsMap"})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L6",children:"packages/core/src/event/Dispatcher.ts:6"})]}),"\n",(0,t.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"PageStateDispatcherEvents"}),".",(0,t.jsx)(r.code,{children:"PageManagerDispatcherEvents"}),".",(0,t.jsx)(r.code,{children:"RouterDispatcherEvents"}),".",(0,t.jsx)(r.code,{children:"PageRendererDispatcherEvents"})]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(r.h3,{id:"imapagerenderererror",children:"$IMA.$PageRenderer.error"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageRenderer.error"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L13",children:"packages/core/src/page/renderer/PageRenderer.ts:13"})]}),"\n",(0,t.jsx)(r.h4,{id:"message",children:"message"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"message"}),": ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageRendererDispatcherEvents.$IMA.$PageRenderer.error"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imapagerendererhydrateerror",children:"$IMA.$PageRenderer.hydrateError"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageRenderer.hydrateError"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L14",children:"packages/core/src/page/renderer/PageRenderer.ts:14"})]}),"\n",(0,t.jsx)(r.h4,{id:"clientnode",children:"clientNode"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"clientNode"}),": ",(0,t.jsx)(r.code,{children:"Element"})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"error",children:"error"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"error"}),": ",(0,t.jsx)(r.code,{children:"Error"})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"servernode",children:"serverNode"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"serverNode"}),": ",(0,t.jsx)(r.code,{children:"Element"})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageRendererDispatcherEvents.$IMA.$PageRenderer.hydrateError"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imapagerenderermounted",children:"$IMA.$PageRenderer.mounted"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageRenderer.mounted"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L19",children:"packages/core/src/page/renderer/PageRenderer.ts:19"})]}),"\n",(0,t.jsx)(r.h4,{id:"type",children:"type"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"type"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/enumerations/RendererTypes#render",children:(0,t.jsx)(r.code,{children:"RENDER"})})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/enumerations/RendererTypes#hydrate",children:(0,t.jsx)(r.code,{children:"HYDRATE"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageRendererDispatcherEvents.$IMA.$PageRenderer.mounted"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imapagerendererunmounted",children:"$IMA.$PageRenderer.unmounted"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageRenderer.unmounted"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L22",children:"packages/core/src/page/renderer/PageRenderer.ts:22"})]}),"\n",(0,t.jsx)(r.h4,{id:"type-1",children:"type"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"type"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/enumerations/RendererTypes#unmount",children:(0,t.jsx)(r.code,{children:"UNMOUNT"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageRendererDispatcherEvents.$IMA.$PageRenderer.unmounted"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imapagerendererupdated",children:"$IMA.$PageRenderer.updated"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageRenderer.updated"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/PageRenderer.ts#L23",children:"packages/core/src/page/renderer/PageRenderer.ts:23"})]}),"\n",(0,t.jsx)(r.h4,{id:"pagestate",children:"pageState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"pageState"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AnyParameters",children:(0,t.jsx)(r.code,{children:"AnyParameters"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageRendererDispatcherEvents.$IMA.$PageRenderer.updated"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imapagestatemanagerafterchangestate",children:"$IMA.$PageStateManager.afterChangeState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageStateManager.afterChangeState"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L9",children:"packages/core/src/page/state/PageStateManagerImpl.ts:9"})]}),"\n",(0,t.jsx)(r.h4,{id:"newstate",children:"newState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"newState"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AnyParameters",children:(0,t.jsx)(r.code,{children:"AnyParameters"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageStateDispatcherEvents.$IMA.$PageStateManager.afterChangeState"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imapagestatemanagerbeforechangestate",children:"$IMA.$PageStateManager.beforeChangeState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$PageStateManager.beforeChangeState"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManagerImpl.ts#L12",children:"packages/core/src/page/state/PageStateManagerImpl.ts:12"})]}),"\n",(0,t.jsx)(r.h4,{id:"newstate-1",children:"newState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"newState"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AnyParameters",children:(0,t.jsx)(r.code,{children:"AnyParameters"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"oldstate",children:"oldState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"oldState"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AnyParameters",children:(0,t.jsx)(r.code,{children:"AnyParameters"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"patchstate",children:"patchState"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"patchState"}),": ",(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/AnyParameters",children:(0,t.jsx)(r.code,{children:"AnyParameters"})})]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageStateDispatcherEvents.$IMA.$PageStateManager.beforeChangeState"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imarouterafterhandleroute",children:"$IMA.$Router.afterHandleRoute"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$Router.afterHandleRoute"}),": ",(0,t.jsx)(r.code,{children:"AfterHandleRouteEventData"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L41",children:"packages/core/src/router/AbstractRouter.ts:41"})]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"RouterDispatcherEvents.$IMA.$Router.afterHandleRoute"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imarouterafterloadingasyncroute",children:"$IMA.$Router.afterLoadingAsyncRoute"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$Router.afterLoadingAsyncRoute"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L25",children:"packages/core/src/page/manager/AbstractPageManager.ts:25"})]}),"\n",(0,t.jsx)(r.h4,{id:"route",children:"route"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"route"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,t.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,t.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageManagerDispatcherEvents.$IMA.$Router.afterLoadingAsyncRoute"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imarouterbeforehandleroute",children:"$IMA.$Router.beforeHandleRoute"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$Router.beforeHandleRoute"}),": ",(0,t.jsx)(r.code,{children:"BeforeHandleRouteEventData"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRouter.ts#L42",children:"packages/core/src/router/AbstractRouter.ts:42"})]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"RouterDispatcherEvents.$IMA.$Router.beforeHandleRoute"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"imarouterbeforeloadingasyncroute",children:"$IMA.$Router.beforeLoadingAsyncRoute"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$IMA.$Router.beforeLoadingAsyncRoute"}),": ",(0,t.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L28",children:"packages/core/src/page/manager/AbstractPageManager.ts:28"})]}),"\n",(0,t.jsx)(r.h4,{id:"route-1",children:"route"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"route"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,t.jsx)(r.code,{children:"AbstractRoute"})}),"<",(0,t.jsx)(r.code,{children:"string"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,t.jsx)(r.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,t.jsx)(r.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"PageManagerDispatcherEvents.$IMA.$Router.beforeLoadingAsyncRoute"})})]})}function h(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>d});var a=n(3696);const t={},s=a.createContext(t);function i(e){const r=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4ec51b8.d1bf6572.js b/assets/js/b4ec51b8.d1bf6572.js new file mode 100644 index 000000000..d0ca1c1c6 --- /dev/null +++ b/assets/js/b4ec51b8.d1bf6572.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5041],{9901:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/useSettings","title":"Function: useSettings()","description":"useSettings\\\\(selector?): T \\\\| undefined","source":"@site/../docs/api/@ima/react-page-renderer/functions/useSettings.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/useSettings","permalink":"/api/@ima/react-page-renderer/functions/useSettings","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/useSettings.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: usePageContext()","permalink":"/api/@ima/react-page-renderer/functions/usePageContext"},"next":{"title":"Function: useWindowEvent()","permalink":"/api/@ima/react-page-renderer/functions/useWindowEvent"}}');var r=t(2540),i=t(3023);const c={},a="Function: useSettings()",o={},d=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Parameters",id:"parameters",level:2},{value:"selector?",id:"selector",level:3},{value:"Returns",id:"returns",level:2},{value:"Example",id:"example",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"function-usesettings",children:"Function: useSettings()"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"useSettings"}),"<",(0,r.jsx)(n.code,{children:"T"}),">(",(0,r.jsx)(n.code,{children:"selector"}),"?): ",(0,r.jsx)(n.code,{children:"T"})," | ",(0,r.jsx)(n.code,{children:"undefined"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/hooks/settings.ts#L19",children:"packages/react-page-renderer/src/hooks/settings.ts:19"})]}),"\n",(0,r.jsx)(n.p,{children:"IMA $Settings access provider with optional selector."}),"\n",(0,r.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(n.p,{children:["\u2022 ",(0,r.jsx)(n.strong,{children:"T"})," = ",(0,r.jsx)(n.code,{children:"any"})]}),"\n",(0,r.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h3,{id:"selector",children:"selector?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Optional path selector."}),"\n",(0,r.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"T"})," | ",(0,r.jsx)(n.code,{children:"undefined"})]}),"\n",(0,r.jsx)(n.p,{children:"Settings value or undefined."}),"\n",(0,r.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"const settings = useSettings();\nconsole.log(settings.$Cache.enabled);\n\n// Using settings selector\nconst { scripts, documentView } = useSettings('$Page.$Render');\nconst esScripts = useSettings('$Page.$Render.esScripts');\n"})})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>a});var s=t(3696);const r={},i=s.createContext(r);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b52cec2f.56bef9d7.js b/assets/js/b52cec2f.56bef9d7.js new file mode 100644 index 000000000..6462772cb --- /dev/null +++ b/assets/js/b52cec2f.56bef9d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9793],{5094:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/enumerations/HttpStatusCode","title":"Enumeration: HttpStatusCode","description":"Defined in9","source":"@site/../docs/api/@ima/core/enumerations/HttpStatusCode.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/HttpStatusCode","permalink":"/api/@ima/core/enumerations/HttpStatusCode","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/HttpStatusCode.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: BindingState","permalink":"/api/@ima/core/enumerations/BindingState"},"next":{"title":"Enumeration: RendererEvents","permalink":"/api/@ima/core/enumerations/RendererEvents"}}');var r=s(2540),c=s(3023);const a={},o="Enumeration: HttpStatusCode",i={},d=[{value:"Const",id:"const",level:2},{value:"See",id:"see",level:2},{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"BAD_REQUEST",id:"bad_request",level:3},{value:"FORBIDDEN",id:"forbidden",level:3},{value:"NO_CONTENT",id:"no_content",level:3},{value:"NOT_FOUND",id:"not_found",level:3},{value:"OK",id:"ok",level:3},{value:"SERVER_ERROR",id:"server_error",level:3},{value:"TIMEOUT",id:"timeout",level:3},{value:"UNAUTHORIZED",id:"unauthorized",level:3}];function h(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"enumeration-httpstatuscode",children:"Enumeration: HttpStatusCode"})}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L9",children:"packages/core/src/http/HttpStatusCode.ts:9"})]}),"\n",(0,r.jsx)(t.p,{children:"HTTP status code constants, representing the HTTP status codes recognized\nand processed by this proxy."}),"\n",(0,r.jsx)(t.h2,{id:"const",children:"Const"}),"\n",(0,r.jsx)(t.h2,{id:"see",children:"See"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"})}),"\n",(0,r.jsx)(t.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,r.jsx)(t.h3,{id:"bad_request",children:"BAD_REQUEST"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"BAD_REQUEST"}),": ",(0,r.jsx)(t.code,{children:"400"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L12",children:"packages/core/src/http/HttpStatusCode.ts:12"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"forbidden",children:"FORBIDDEN"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"FORBIDDEN"}),": ",(0,r.jsx)(t.code,{children:"403"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L14",children:"packages/core/src/http/HttpStatusCode.ts:14"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"no_content",children:"NO_CONTENT"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"NO_CONTENT"}),": ",(0,r.jsx)(t.code,{children:"204"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L11",children:"packages/core/src/http/HttpStatusCode.ts:11"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"not_found",children:"NOT_FOUND"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"NOT_FOUND"}),": ",(0,r.jsx)(t.code,{children:"404"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L15",children:"packages/core/src/http/HttpStatusCode.ts:15"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"ok",children:"OK"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"OK"}),": ",(0,r.jsx)(t.code,{children:"200"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L10",children:"packages/core/src/http/HttpStatusCode.ts:10"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"server_error",children:"SERVER_ERROR"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"SERVER_ERROR"}),": ",(0,r.jsx)(t.code,{children:"500"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L17",children:"packages/core/src/http/HttpStatusCode.ts:17"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"timeout",children:"TIMEOUT"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TIMEOUT"}),": ",(0,r.jsx)(t.code,{children:"408"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L16",children:"packages/core/src/http/HttpStatusCode.ts:16"})]}),"\n",(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h3,{id:"unauthorized",children:"UNAUTHORIZED"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"UNAUTHORIZED"}),": ",(0,r.jsx)(t.code,{children:"401"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpStatusCode.ts#L13",children:"packages/core/src/http/HttpStatusCode.ts:13"})]})]})}function l(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>o});var n=s(3696);const r={},c=n.createContext(r);function a(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b63b1a1f.37f937bc.js b/assets/js/b63b1a1f.37f937bc.js new file mode 100644 index 000000000..0f374ec23 --- /dev/null +++ b/assets/js/b63b1a1f.37f937bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6271],{3198:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"api/@ima/core/interfaces/Resources","title":"Interface: Resources","description":"Defined in47","source":"@site/../docs/api/@ima/core/interfaces/Resources.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/Resources","permalink":"/api/@ima/core/interfaces/Resources","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/Resources.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: PageRendererSettings","permalink":"/api/@ima/core/interfaces/PageRendererSettings"},"next":{"title":"Interface: RouteAction","permalink":"/api/@ima/core/interfaces/RouteAction"}}');var t=r(2540),n=r(3023);const i={},o="Interface: Resources",a={},d=[{value:"Properties",id:"properties",level:2},{value:"esScripts",id:"esscripts",level:3},{value:"scripts",id:"scripts",level:3},{value:"styles",id:"styles",level:3}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"interface-resources",children:"Interface: Resources"})}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L47",children:"packages/core/src/boot.ts:47"})]}),"\n",(0,t.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(s.h3,{id:"esscripts",children:"esScripts"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"esScripts"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Resource",children:(0,t.jsx)(s.code,{children:"Resource"})}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L50",children:"packages/core/src/boot.ts:50"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"scripts",children:"scripts"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"scripts"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Resource",children:(0,t.jsx)(s.code,{children:"Resource"})}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L49",children:"packages/core/src/boot.ts:49"})]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.h3,{id:"styles",children:"styles"}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"styles"}),": ",(0,t.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Resource",children:(0,t.jsx)(s.code,{children:"Resource"})}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Defined in: ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L48",children:"packages/core/src/boot.ts:48"})]})]})}function p(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>i,x:()=>o});var c=r(3696);const t={},n=c.createContext(t);function i(e){const s=c.useContext(n);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),c.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6fa5182.d25fa34d.js b/assets/js/b6fa5182.d25fa34d.js new file mode 100644 index 000000000..4da6a0c58 --- /dev/null +++ b/assets/js/b6fa5182.d25fa34d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9800],{1877:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/cli/interfaces/ImaCliPlugin","title":"Interface: ImaCliPlugin","description":"Defined in90","source":"@site/../docs/api/@ima/cli/interfaces/ImaCliPlugin.md","sourceDirName":"api/@ima/cli/interfaces","slug":"/api/@ima/cli/interfaces/ImaCliPlugin","permalink":"/api/@ima/cli/interfaces/ImaCliPlugin","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/interfaces/ImaCliPlugin.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: ImaCliArgs","permalink":"/api/@ima/cli/interfaces/ImaCliArgs"},"next":{"title":"Interface: ImaConfigurationContext","permalink":"/api/@ima/cli/interfaces/ImaConfigurationContext"}}');var r=n(2540),c=n(3023);const a={},l="Interface: ImaCliPlugin",o={},d=[{value:"Properties",id:"properties",level:2},{value:"cliArgs?",id:"cliargs",level:3},{value:"name",id:"name",level:3},{value:"Methods",id:"methods",level:2},{value:"postProcess()?",id:"postprocess",level:3},{value:"Parameters",id:"parameters",level:4},{value:"args",id:"args",level:5},{value:"imaConfig",id:"imaconfig",level:5},{value:"Returns",id:"returns",level:4},{value:"prepareConfigurations()?",id:"prepareconfigurations",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"configurations",id:"configurations",level:5},{value:"imaConfig",id:"imaconfig-1",level:5},{value:"args",id:"args-1",level:5},{value:"Returns",id:"returns-1",level:4},{value:"preProcess()?",id:"preprocess",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"args",id:"args-2",level:5},{value:"imaConfig",id:"imaconfig-2",level:5},{value:"Returns",id:"returns-2",level:4},{value:"webpack()?",id:"webpack",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"config",id:"config",level:5},{value:"ctx",id:"ctx",level:5},{value:"imaConfig",id:"imaconfig-3",level:5},{value:"Returns",id:"returns-3",level:4}];function t(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"interface-imacliplugin",children:"Interface: ImaCliPlugin"})}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L90",children:"types.ts:90"})]}),"\n",(0,r.jsx)(i.p,{children:"Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used\nto extend functionality of default CLI with custom cli arguments and webpack config overrides."}),"\n",(0,r.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(i.h3,{id:"cliargs",children:"cliArgs?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"readonly"})," ",(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"cliArgs"}),": ",(0,r.jsx)(i.code,{children:"Partial"}),"<",(0,r.jsx)(i.code,{children:"Record"}),"<",(0,r.jsx)(i.a,{href:"/api/@ima/cli/type-aliases/ImaCliCommand",children:(0,r.jsx)(i.code,{children:"ImaCliCommand"})}),", ",(0,r.jsx)(i.code,{children:"CommandBuilder"}),">>"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L99",children:"types.ts:99"})]}),"\n",(0,r.jsx)(i.p,{children:"Optional additional CLI arguments to extend the set of existing ones."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"name",children:"name"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"readonly"})," ",(0,r.jsx)(i.strong,{children:"name"}),": ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L94",children:"types.ts:94"})]}),"\n",(0,r.jsx)(i.p,{children:"Plugin name, used mainly for better debugging messages."}),"\n",(0,r.jsx)(i.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(i.h3,{id:"postprocess",children:"postProcess()?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"postProcess"}),"(",(0,r.jsx)(i.code,{children:"args"}),", ",(0,r.jsx)(i.code,{children:"imaConfig"}),"): ",(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L132",children:"types.ts:132"})]}),"\n",(0,r.jsx)(i.p,{children:"Optional plugin hook to do some custom processing after the compilation has finished.\nAttention! This hook runs only for build command."}),"\n",(0,r.jsx)(i.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"args",children:"args"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})})}),"\n",(0,r.jsx)(i.h5,{id:"imaconfig",children:"imaConfig"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(i.code,{children:"ImaConfig"})})}),"\n",(0,r.jsx)(i.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.code,{children:"void"}),">"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"prepareconfigurations",children:"prepareConfigurations()?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"prepareConfigurations"}),"(",(0,r.jsx)(i.code,{children:"configurations"}),", ",(0,r.jsx)(i.code,{children:"imaConfig"}),", ",(0,r.jsx)(i.code,{children:"args"}),"): ",(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(i.code,{children:"ImaConfigurationContext"})}),"[]>"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L113",children:"types.ts:113"})]}),"\n",(0,r.jsx)(i.p,{children:"Called right before creating webpack configurations after preProcess call.\nThis hook lets you customize configuration contexts for each webpack config\nthat will be generated. This is usefull when you need to overrite configuration\ncontexts for values that are not editable anywhere else (like output folders)."}),"\n",(0,r.jsx)(i.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"configurations",children:"configurations"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(i.code,{children:"ImaConfigurationContext"})}),"[]"]}),"\n",(0,r.jsx)(i.h5,{id:"imaconfig-1",children:"imaConfig"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(i.code,{children:"ImaConfig"})})}),"\n",(0,r.jsx)(i.h5,{id:"args-1",children:"args"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})})}),"\n",(0,r.jsx)(i.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(i.code,{children:"ImaConfigurationContext"})}),"[]>"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"preprocess",children:"preProcess()?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"preProcess"}),"(",(0,r.jsx)(i.code,{children:"args"}),", ",(0,r.jsx)(i.code,{children:"imaConfig"}),"): ",(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L105",children:"types.ts:105"})]}),"\n",(0,r.jsx)(i.p,{children:"Optional plugin hook to do some pre processing right after the cli args are processed\nand the imaConfig is loaded, before the webpack config creation and compiler run."}),"\n",(0,r.jsx)(i.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"args-2",children:"args"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaCliArgs",children:(0,r.jsx)(i.code,{children:"ImaCliArgs"})})}),"\n",(0,r.jsx)(i.h5,{id:"imaconfig-2",children:"imaConfig"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(i.code,{children:"ImaConfig"})})}),"\n",(0,r.jsx)(i.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.code,{children:"void"}),">"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"webpack",children:"webpack()?"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"optional"})," ",(0,r.jsx)(i.strong,{children:"webpack"}),"(",(0,r.jsx)(i.code,{children:"config"}),", ",(0,r.jsx)(i.code,{children:"ctx"}),", ",(0,r.jsx)(i.code,{children:"imaConfig"}),"): ",(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.code,{children:"Configuration"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/types.ts#L122",children:"types.ts:122"})]}),"\n",(0,r.jsx)(i.p,{children:"Webpack callback function used by plugins to customize/extend ima webpack config before it's run."}),"\n",(0,r.jsx)(i.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"config",children:"config"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"Configuration"})}),"\n",(0,r.jsx)(i.h5,{id:"ctx",children:"ctx"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/interfaces/ImaConfigurationContext",children:(0,r.jsx)(i.code,{children:"ImaConfigurationContext"})})}),"\n",(0,r.jsx)(i.h5,{id:"imaconfig-3",children:"imaConfig"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/cli/type-aliases/ImaConfig",children:(0,r.jsx)(i.code,{children:"ImaConfig"})})}),"\n",(0,r.jsx)(i.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"Promise"}),"<",(0,r.jsx)(i.code,{children:"Configuration"}),">"]})]})}function h(e={}){const{wrapper:i}={...(0,c.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>a,x:()=>l});var s=n(3696);const r={},c=s.createContext(r);function a(e){const i=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b788ae02.3a79068e.js b/assets/js/b788ae02.3a79068e.js new file mode 100644 index 000000000..48d817796 --- /dev/null +++ b/assets/js/b788ae02.3a79068e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4386],{2413:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>i,toc:()=>t});const i=JSON.parse('{"id":"api/@ima/dev-utils/classes/Logger","title":"Class: Logger","description":"Defined in35","source":"@site/../docs/api/@ima/dev-utils/classes/Logger.md","sourceDirName":"api/@ima/dev-utils/classes","slug":"/api/@ima/dev-utils/classes/Logger","permalink":"/api/@ima/dev-utils/classes/Logger","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/classes/Logger.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"index","permalink":"/api/@ima/dev-utils/"},"next":{"title":"Function: createLogger()","permalink":"/api/@ima/dev-utils/functions/createLogger"}}');var r=n(2540),l=n(3023);const d={},c="Class: Logger",a={},t=[{value:"Constructors",id:"constructors",level:2},{value:"new Logger()",id:"new-logger",level:3},{value:"Parameters",id:"parameters",level:4},{value:"identifier?",id:"identifier",level:5},{value:"globalLogger?",id:"globallogger",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"innerElapsed()?",id:"innerelapsed",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Methods",id:"methods",level:2},{value:"endTracking()",id:"endtracking",level:3},{value:"Returns",id:"returns-2",level:4},{value:"error()",id:"error",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"message",id:"message",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-3",level:4},{value:"info()",id:"info",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"message",id:"message-1",level:5},{value:"options?",id:"options-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"isSilent()",id:"issilent",level:3},{value:"Returns",id:"returns-5",level:4},{value:"plugin()",id:"plugin",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"message",id:"message-2",level:5},{value:"options?",id:"options-2",level:5},{value:"Returns",id:"returns-6",level:4},{value:"setSilent()",id:"setsilent",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"isSilent",id:"issilent-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"success()",id:"success",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"message",id:"message-3",level:5},{value:"options?",id:"options-3",level:5},{value:"Returns",id:"returns-8",level:4},{value:"sync()",id:"sync",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"message",id:"message-4",level:5},{value:"options?",id:"options-4",level:5},{value:"Returns",id:"returns-9",level:4},{value:"warn()",id:"warn",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"message",id:"message-5",level:5},{value:"options?",id:"options-5",level:5},{value:"Returns",id:"returns-10",level:4},{value:"write()",id:"write",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"message",id:"message-6",level:5},{value:"options?",id:"options-6",level:5},{value:"Returns",id:"returns-11",level:4},{value:"writeElapsed()",id:"writeelapsed",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"elapsed",id:"elapsed",level:5},{value:"Returns",id:"returns-12",level:4}];function o(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"class-logger",children:"Class: Logger"})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L35",children:"logger.ts:35"})]}),"\n",(0,r.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(s.h3,{id:"new-logger",children:"new Logger()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"new Logger"}),"(",(0,r.jsx)(s.code,{children:"identifier"}),"?, ",(0,r.jsx)(s.code,{children:"globalLogger"}),"?): ",(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/classes/Logger",children:(0,r.jsx)(s.code,{children:"Logger"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L42",children:"logger.ts:42"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"identifier",children:"identifier?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"globallogger",children:"globalLogger?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/classes/Logger",children:(0,r.jsx)(s.code,{children:"Logger"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/classes/Logger",children:(0,r.jsx)(s.code,{children:"Logger"})})}),"\n",(0,r.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(s.h3,{id:"innerelapsed",children:"innerElapsed()?"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"optional"})," ",(0,r.jsx)(s.strong,{children:"innerElapsed"}),": () => ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L40",children:"logger.ts:40"})]}),"\n",(0,r.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(s.h3,{id:"endtracking",children:"endTracking()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"endTracking"}),"(): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L94",children:"logger.ts:94"})]}),"\n",(0,r.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"error",children:"error()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"error"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L120",children:"logger.ts:120"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message",children:"message"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"string"})," | ",(0,r.jsx)(s.code,{children:"Error"})]}),"\n",(0,r.jsx)(s.h5,{id:"options",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"info",children:"info()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"info"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L112",children:"logger.ts:112"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message-1",children:"message"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"options-1",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"issilent",children:"isSilent()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"isSilent"}),"(): ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L163",children:"logger.ts:163"})]}),"\n",(0,r.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"boolean"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"plugin",children:"plugin()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"plugin"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L147",children:"logger.ts:147"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message-2",children:"message"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"options-2",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"setsilent",children:"setSilent()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"setSilent"}),"(",(0,r.jsx)(s.code,{children:"isSilent"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L159",children:"logger.ts:159"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"issilent-1",children:"isSilent"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"boolean"})}),"\n",(0,r.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"success",children:"success()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"success"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L116",children:"logger.ts:116"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message-3",children:"message"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"options-3",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"sync",children:"sync()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"sync"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L143",children:"logger.ts:143"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message-4",children:"message"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"options-4",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"warn",children:"warn()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"warn"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L139",children:"logger.ts:139"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message-5",children:"message"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"options-5",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"write",children:"write()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"write"}),"(",(0,r.jsx)(s.code,{children:"message"}),", ",(0,r.jsx)(s.code,{children:"options"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L151",children:"logger.ts:151"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"message-6",children:"message"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.h5,{id:"options-6",children:"options?"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/dev-utils/interfaces/LoggerOptions",children:(0,r.jsx)(s.code,{children:"LoggerOptions"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"writeelapsed",children:"writeElapsed()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"writeElapsed"}),"(",(0,r.jsx)(s.code,{children:"elapsed"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/logger.ts#L155",children:"logger.ts:155"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"elapsed",children:"elapsed"}),"\n",(0,r.jsxs)(s.p,{children:["() => ",(0,r.jsx)(s.code,{children:"string"})]}),"\n",(0,r.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})})]})}function h(e={}){const{wrapper:s}={...(0,l.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>c});var i=n(3696);const r={},l=i.createContext(r);function d(e){const s=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bbfe74ec.6391f3bb.js b/assets/js/bbfe74ec.6391f3bb.js new file mode 100644 index 000000000..54e147d1c --- /dev/null +++ b/assets/js/bbfe74ec.6391f3bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6205],{468:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/classes/Response","title":"Class: Response","description":"Defined in18","source":"@site/../docs/api/@ima/core/classes/Response.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Response","permalink":"/api/@ima/core/classes/Response","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Response.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: Request","permalink":"/api/@ima/core/classes/Request"},"next":{"title":"Class: RouteFactory","permalink":"/api/@ima/core/classes/RouteFactory"}}');var i=n(2540),c=n(3023);const o={},d="Class: Response",t={},l=[{value:"Constructors",id:"constructors",level:2},{value:"new Response()",id:"new-response",level:3},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_cookieTransformFunction",id:"_cookietransformfunction",level:3},{value:"_internalCookieStorage",id:"_internalcookiestorage",level:3},{value:"_internalHeadersStorage",id:"_internalheadersstorage",level:3},{value:"_response?",id:"_response",level:3},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"getResponseParams()",id:"getresponseparams",level:3},{value:"Returns",id:"returns-2",level:4},{value:"cookie",id:"cookie",level:5},{value:"headers",id:"headers",level:5},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters",level:4},{value:"response",id:"response",level:5},{value:"cookieTransformFunction",id:"cookietransformfunction",level:5},{value:"Returns",id:"returns-3",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"url",id:"url",level:5},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-4",level:4},{value:"setCookie()",id:"setcookie",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"name",id:"name",level:5},{value:"value",id:"value",level:5},{value:"options",id:"options-1",level:5},{value:"Returns",id:"returns-5",level:4},{value:"setHeader()",id:"setheader",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"name",id:"name-1",level:5},{value:"value",id:"value-1",level:5},{value:"Returns",id:"returns-6",level:4}];function a(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-response",children:"Class: Response"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L18",children:"packages/core/src/router/Response.ts:18"})]}),"\n",(0,i.jsx)(s.p,{children:"Wrapper for the ExpressJS response, exposing only the necessary minimum."}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-response",children:"new Response()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new Response"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(s.code,{children:"Response"})})]}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(s.code,{children:"Response"})})}),"\n",(0,i.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"_cookietransformfunction",children:"_cookieTransformFunction"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_cookieTransformFunction"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/CookieTransformFunction",children:(0,i.jsx)(s.code,{children:"CookieTransformFunction"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L35",children:"packages/core/src/router/Response.ts:35"})]}),"\n",(0,i.jsx)(s.p,{children:"Transform function for cookie value."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_internalcookiestorage",children:"_internalCookieStorage"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_internalCookieStorage"}),": ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.code,{children:"string"}),", { ",(0,i.jsx)(s.code,{children:"options"}),": ",(0,i.jsx)(s.code,{children:"CookieOptions"}),"; ",(0,i.jsx)(s.code,{children:"value"}),": ",(0,i.jsx)(s.code,{children:"string"}),"; }>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L27",children:"packages/core/src/router/Response.ts:27"})]}),"\n",(0,i.jsx)(s.p,{children:"Internal cookie storage for Set-Cookie header."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_internalheadersstorage",children:"_internalHeadersStorage"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_internalHeadersStorage"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(s.code,{children:"UnknownParameters"})})," = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L31",children:"packages/core/src/router/Response.ts:31"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_response",children:"_response?"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.code,{children:"optional"})," ",(0,i.jsx)(s.strong,{children:"_response"}),": ",(0,i.jsx)(s.code,{children:"Response"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L23",children:"packages/core/src/router/Response.ts:23"})]}),"\n",(0,i.jsxs)(s.p,{children:["The ExpressJS response object, or ",(0,i.jsx)(s.code,{children:"undefined"})," if running at the\nclient side."]}),"\n",(0,i.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"})," ",(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(s.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L40",children:"packages/core/src/router/Response.ts:40"})]}),"\n",(0,i.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"never"}),"[]"]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"getresponseparams",children:"getResponseParams()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getResponseParams"}),"(): ",(0,i.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L172",children:"packages/core/src/router/Response.ts:172"})]}),"\n",(0,i.jsx)(s.p,{children:"Return object which contains response headers and cookie."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"object"})}),"\n",(0,i.jsx)(s.h5,{id:"cookie",children:"cookie"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"cookie"}),": ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.code,{children:"string"}),", { ",(0,i.jsx)(s.code,{children:"options"}),": ",(0,i.jsx)(s.code,{children:"CookieOptions"}),"; ",(0,i.jsx)(s.code,{children:"value"}),": ",(0,i.jsx)(s.code,{children:"string"}),"; }>"]}),"\n"]}),"\n",(0,i.jsx)(s.h5,{id:"headers",children:"headers"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"headers"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(s.code,{children:"UnknownParameters"})})]}),"\n"]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(",(0,i.jsx)(s.code,{children:"response"}),", ",(0,i.jsx)(s.code,{children:"cookieTransformFunction"}),"): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(s.code,{children:"Response"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L53",children:"packages/core/src/router/Response.ts:53"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes this response wrapper with the provided ExpressJS response\nobject."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"response",children:"response"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"Response"})}),"\n",(0,i.jsxs)(s.p,{children:["The ExpressJS response, or\n",(0,i.jsx)(s.code,{children:"null"})," if the code is running at the client side."]}),"\n",(0,i.jsx)(s.h5,{id:"cookietransformfunction",children:"cookieTransformFunction"}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(s.code,{children:"Response"})})}),"\n",(0,i.jsx)(s.p,{children:"This response."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"redirect"}),"(",(0,i.jsx)(s.code,{children:"url"}),", ",(0,i.jsx)(s.code,{children:"options"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L80",children:"packages/core/src/router/Response.ts:80"})]}),"\n",(0,i.jsx)(s.p,{children:"Redirects the client to the specified location, with the specified\nredirect HTTP response code."}),"\n",(0,i.jsxs)(s.p,{children:["For full list of HTTP response status codes see\n",(0,i.jsx)(s.a,{href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",children:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"})]}),"\n",(0,i.jsx)(s.p,{children:"Use this method only at the server side."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"url",children:"url"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The URL to which the client should be redirected.\n@param[status=302] The HTTP status code to send to the\nclient."}),"\n",(0,i.jsx)(s.h5,{id:"options",children:"options"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"Partial"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,i.jsx)(s.code,{children:"RouteOptions"})}),"> = ",(0,i.jsx)(s.code,{children:"..."})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.p,{children:"This response."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"setcookie",children:"setCookie()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"setCookie"}),"(",(0,i.jsx)(s.code,{children:"name"}),", ",(0,i.jsx)(s.code,{children:"value"}),", ",(0,i.jsx)(s.code,{children:"options"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L117",children:"packages/core/src/router/Response.ts:117"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets a cookie, which will be sent to the client with the response."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The cookie name."}),"\n",(0,i.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,i.jsx)(s.p,{children:"The cookie value, will be\nconverted to string."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"string"})," | ",(0,i.jsx)(s.code,{children:"number"})," | ",(0,i.jsx)(s.code,{children:"boolean"})]}),"\n",(0,i.jsx)(s.h5,{id:"options-1",children:"options"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"CookieOptions"})," = ",(0,i.jsx)(s.code,{children:"{}"})]}),"\n",(0,i.jsxs)(s.p,{children:["Cookie attributes. Only the attributes listed in the type\nannotation of this field are supported. For documentation and full\nlist of cookie attributes\nsee ",(0,i.jsx)(s.a,{href:"http://tools.ietf.org/html/rfc2965#page-5",children:"http://tools.ietf.org/html/rfc2965#page-5"})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"This response."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"setheader",children:"setHeader()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"setHeader"}),"(",(0,i.jsx)(s.code,{children:"name"}),", ",(0,i.jsx)(s.code,{children:"value"}),"): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(s.code,{children:"Response"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Response.ts#L153",children:"packages/core/src/router/Response.ts:153"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets a header, which will be sent to the client with the response."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"name-1",children:"name"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The header name."}),"\n",(0,i.jsx)(s.h5,{id:"value-1",children:"value"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsx)(s.p,{children:"The header value, will be"}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Response",children:(0,i.jsx)(s.code,{children:"Response"})})}),"\n",(0,i.jsx)(s.p,{children:"This response."})]})}function h(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>d});var r=n(3696);const i={},c=r.createContext(i);function o(e){const s=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bcef1ffa.8f70d21d.js b/assets/js/bcef1ffa.8f70d21d.js deleted file mode 100644 index 166619e74..000000000 --- a/assets/js/bcef1ffa.8f70d21d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9805],{5680:(e,a,t)=>{t.d(a,{xA:()=>d,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function s(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),g=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},d=function(e){var a=g(e.components);return r.createElement(p.Provider,{value:a},e.children)},o="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},y=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),o=g(t),y=n,c=o["".concat(p,".").concat(y)]||o[y]||m[y]||i;return t?r.createElement(c,l(l({ref:a},d),{},{components:t})):r.createElement(c,l({ref:a},d))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=y;var s={};for(var p in a)hasOwnProperty.call(a,p)&&(s[p]=a[p]);s.originalType=e,s[o]="string"==typeof e?e:n,l[1]=s;for(var g=2;g<i;g++)l[g]=t[g];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},1510:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>g});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.ObservableImpl",title:"Class: ObservableImpl",sidebar_label:"@ima/core.ObservableImpl",custom_edit_url:null},l=void 0,s={unversionedId:"api/classes/ima_core.ObservableImpl",id:"api/classes/ima_core.ObservableImpl",title:"Class: ObservableImpl",description:"@ima/core.ObservableImpl",source:"@site/../docs/api/classes/ima_core.ObservableImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ObservableImpl",permalink:"/api/classes/ima_core.ObservableImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ObservableImpl",title:"Class: ObservableImpl",sidebar_label:"@ima/core.ObservableImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Observable",permalink:"/api/classes/ima_core.Observable"},next:{title:"@ima/core.PageFactory",permalink:"/api/classes/ima_core.PageFactory"}},p={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_activityHistory",id:"_activityhistory",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_observers",id:"_observers",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_persistentEvents",id:"_persistentevents",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_settings",id:"_settings",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"$dependencies",id:"dependencies",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"Methods",id:"methods",level:2},{value:"_handleDispatcherEvent",id:"_handledispatcherevent",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"registerPersistenEvent",id:"registerpersistenevent",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"subscribe",id:"subscribe",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"unsubscribe",id:"unsubscribe",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-13",level:4}],d={toc:g},o="wrapper";function m(e){let{components:a,...t}=e;return(0,n.yg)(o,(0,r.A)({},d,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ObservableImpl"),(0,n.yg)("p",null,"An Observable is a class that manages event listeners and allows distributing\nevents to the registered listeners. It maintains a history of events and supports\npersistent events that are not cleared during route changes."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Remarks"))),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"The Observable class relies on a Dispatcher to handle the actual event distribution."),(0,n.yg)("li",{parentName:"ul"},"It maintains a history of events, which can be limited by a maximum history length.")),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},(0,n.yg)("inlineCode",{parentName:"a"},"Observable"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"ObservableImpl"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new ObservableImpl"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"dispatcher"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings?"),")"),(0,n.yg)("p",null,"Creates an instance of Observable."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The dispatcher responsible for managing event listeners.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Optional settings for the Observable instance.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings.maxHistoryLength?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L40"},"packages/core/src/event/ObservableImpl.ts:40")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_activityhistory"},"_","activityHistory"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","activityHistory"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"unknown"),"[]",">"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L25"},"packages/core/src/event/ObservableImpl.ts:25")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L23"},"packages/core/src/event/ObservableImpl.ts:23")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_observers"},"_","observers"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","observers"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dispatcherlistener"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",", ",(0,n.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"unknown"),">",">",">"),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L24"},"packages/core/src/event/ObservableImpl.ts:24")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_persistentevents"},"_","persistentEvents"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","persistentEvents"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Set"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L26"},"packages/core/src/event/ObservableImpl.ts:26")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_settings"},"_","settings"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","settings"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ","{"," ",(0,n.yg)("inlineCode",{parentName:"p"},"maxHistoryLength?"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")," }"),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L27"},"packages/core/src/event/ObservableImpl.ts:27")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L29"},"packages/core/src/event/ObservableImpl.ts:29")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_handledispatcherevent"},"_","handleDispatcherEvent"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handleDispatcherEvent"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Handles dispatcher events by updating the activity history and notifying observers.\nIt also resets the activity history for non-persistent events on ",(0,n.yg)("inlineCode",{parentName:"p"},"BEFORE_HANDLE_ROUTE")," ecvent."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The name of the event being dispatched.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"data")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"any")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The data associated with the event.")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L148"},"packages/core/src/event/ObservableImpl.ts:148")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"Clears all persistent events, observers, and activity history from the observable."),(0,n.yg)("p",null,"This method will remove all stored events, registered observers, and any recorded\nactivity history, effectively resetting the observable to its initial state."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#clear"},"clear")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L72"},"packages/core/src/event/ObservableImpl.ts:72")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"destroy"},"destroy"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"Destroys the observable by clearing its internal state and removing all event listeners."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#destroy"},"destroy")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L62"},"packages/core/src/event/ObservableImpl.ts:62")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"Initializes the observable."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#init"},"init")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L52"},"packages/core/src/event/ObservableImpl.ts:52")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"registerpersistenevent"},"registerPersistenEvent"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"registerPersistenEvent"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"Registers an event as persistent, meaning its history won't be cleared upon calling the ",(0,n.yg)("inlineCode",{parentName:"p"},"clear")," method (route change)."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#registerpersistenevent"},"registerPersistenEvent")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L83"},"packages/core/src/event/ObservableImpl.ts:83")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"subscribe"},"subscribe"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"subscribe"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"observer"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"Subscribes an observer to a specific event. When the event is dispatched,\nthe observer will be notified and executed within the provided scope.\nIf the event has already occurred, the observer will be immediately\ninvoked with the historical data."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The event to subscribe to.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"observer")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The observer function to be called when the event is dispatched.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"scope?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The scope in which the observer function should be executed. This is optional.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"The instance of the Observable for chaining."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#subscribe"},"subscribe")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L92"},"packages/core/src/event/ObservableImpl.ts:92")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unsubscribe"},"unsubscribe"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unsubscribe"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"event"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"observer"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"scope?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"Unsubscribes an observer from a specific event."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"event")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The event name or key from the DispatcherEventsMap.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"observer")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dispatcherlistener"},(0,n.yg)("inlineCode",{parentName:"a"},"DispatcherListener")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The observer (listener) to be unsubscribed.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"scope?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Optional scope to be used for the observer.")))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ObservableImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"ObservableImpl"))),(0,n.yg)("p",null,"The current instance for chaining."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable"},"Observable"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Observable#unsubscribe"},"unsubscribe")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/event/ObservableImpl.ts#L119"},"packages/core/src/event/ObservableImpl.ts:119")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bd95ca4e.43cdb433.js b/assets/js/bd95ca4e.43cdb433.js new file mode 100644 index 000000000..5a326d3f9 --- /dev/null +++ b/assets/js/bd95ca4e.43cdb433.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[422],{2748:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>i,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"api/@ima/core/classes/ControllerDecorator","title":"Class: ControllerDecorator\\\\<S, R, SS\\\\>","description":"Defined in18","source":"@site/../docs/api/@ima/core/classes/ControllerDecorator.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ControllerDecorator","permalink":"/api/@ima/core/classes/ControllerDecorator","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ControllerDecorator.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Controller\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/Controller"},"next":{"title":"Class: CookieStorage","permalink":"/api/@ima/core/classes/CookieStorage"}}');var l=s(2540),c=s(3023);const t={},o="Class: ControllerDecorator<S, R, SS>",i={},a=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ControllerDecorator()",id:"new-controllerdecorator",level:3},{value:"Parameters",id:"parameters",level:4},{value:"controller",id:"controller",level:5},{value:"metaManager",id:"metamanager",level:5},{value:"router",id:"router",level:5},{value:"dictionary",id:"dictionary",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"_dictionary",id:"_dictionary",level:3},{value:"_metaManager",id:"_metamanager",level:3},{value:"_router",id:"_router",level:3},{value:"_settings",id:"_settings",level:3},{value:"$dependencies",id:"dependencies",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"$extensions?",id:"extensions",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"$name?",id:"name",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Methods",id:"methods",level:2},{value:"activate()",id:"activate",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"addExtension()",id:"addextension",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"extension",id:"extension",level:5},{value:"extensionInstance?",id:"extensioninstance",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"beginStateTransaction()",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"cancelStateTransaction()",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"commitStateTransaction()",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"deactivate()",id:"deactivate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"getExtension()",id:"getextension",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"extension",id:"extension-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getExtensions()",id:"getextensions",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"getHttpStatus()",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"getMetaManager()",id:"getmetamanager",level:3},{value:"Returns",id:"returns-11",level:4},{value:"getRouteParams()",id:"getrouteparams",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"load()",id:"load",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"setMetaParams()",id:"setmetaparams",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"loadedResources",id:"loadedresources",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"setPageStateManager()",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"pageStateManager?",id:"pagestatemanager",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"setRouteParams()",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"statePatch",id:"statepatch",level:5},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"update()",id:"update",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"prevParams",id:"prevparams",level:5},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-19",level:4}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.header,{children:(0,l.jsx)(r.h1,{id:"class-controllerdecorators-r-ss",children:"Class: ControllerDecorator<S, R, SS>"})}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L18",children:"packages/core/src/controller/ControllerDecorator.ts:18"})]}),"\n",(0,l.jsx)(r.p,{children:"Decorator for page controllers. The decorator manages references to the meta\nattributes manager and other utilities so these can be easily provided to\nthe decorated page controller when needed."}),"\n",(0,l.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsxs)(r.li,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),"<",(0,l.jsx)(r.code,{children:"S"}),", ",(0,l.jsx)(r.code,{children:"R"}),", ",(0,l.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,l.jsx)(r.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,l.jsxs)(r.p,{children:["\u2022 ",(0,l.jsx)(r.strong,{children:"S"})," ",(0,l.jsx)(r.em,{children:"extends"})," ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})})," = {}"]}),"\n",(0,l.jsxs)(r.p,{children:["\u2022 ",(0,l.jsx)(r.strong,{children:"R"})," ",(0,l.jsx)(r.em,{children:"extends"})," ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,l.jsx)(r.code,{children:"RouteParams"})})," = {}"]}),"\n",(0,l.jsxs)(r.p,{children:["\u2022 ",(0,l.jsx)(r.strong,{children:"SS"})," ",(0,l.jsx)(r.em,{children:"extends"})," ",(0,l.jsx)(r.code,{children:"S"})," = ",(0,l.jsx)(r.code,{children:"S"})]}),"\n",(0,l.jsx)(r.h2,{id:"indexable",children:"Indexable"}),"\n",(0,l.jsxs)(r.p,{children:["[",(0,l.jsx)(r.code,{children:"key"}),": ",(0,l.jsx)(r.code,{children:"string"})," | ",(0,l.jsx)(r.code,{children:"number"})," | ",(0,l.jsx)(r.code,{children:"symbol"}),"]: ",(0,l.jsx)(r.code,{children:"any"})]}),"\n",(0,l.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,l.jsx)(r.h3,{id:"new-controllerdecorator",children:"new ControllerDecorator()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"new ControllerDecorator"}),"<",(0,l.jsx)(r.code,{children:"S"}),", ",(0,l.jsx)(r.code,{children:"R"}),", ",(0,l.jsx)(r.code,{children:"SS"}),">(",(0,l.jsx)(r.code,{children:"controller"}),", ",(0,l.jsx)(r.code,{children:"metaManager"}),", ",(0,l.jsx)(r.code,{children:"router"}),", ",(0,l.jsx)(r.code,{children:"dictionary"}),", ",(0,l.jsx)(r.code,{children:"settings"}),"): ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,l.jsx)(r.code,{children:"ControllerDecorator"})}),"<",(0,l.jsx)(r.code,{children:"R"}),", ",(0,l.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L54",children:"packages/core/src/controller/ControllerDecorator.ts:54"})]}),"\n",(0,l.jsx)(r.p,{children:"Initializes the controller decorator."}),"\n",(0,l.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),"<",(0,l.jsx)(r.code,{children:"S"}),", ",(0,l.jsx)(r.code,{children:"R"}),", ",(0,l.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,l.jsx)(r.p,{children:"The controller being decorated."}),"\n",(0,l.jsx)(r.h5,{id:"metamanager",children:"metaManager"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,l.jsx)(r.code,{children:"MetaManager"})})}),"\n",(0,l.jsx)(r.p,{children:"The meta page attributes manager."}),"\n",(0,l.jsx)(r.h5,{id:"router",children:"router"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,l.jsx)(r.code,{children:"Router"})})}),"\n",(0,l.jsx)(r.p,{children:"The application router."}),"\n",(0,l.jsx)(r.h5,{id:"dictionary",children:"dictionary"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,l.jsx)(r.code,{children:"Dictionary"})})}),"\n",(0,l.jsx)(r.p,{children:"Localization phrases dictionary."}),"\n",(0,l.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,l.jsx)(r.code,{children:"Settings"})})}),"\n",(0,l.jsx)(r.p,{children:"Application settings for the\ncurrent application environment."}),"\n",(0,l.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,l.jsx)(r.code,{children:"ControllerDecorator"})}),"<",(0,l.jsx)(r.code,{children:"R"}),", ",(0,l.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#constructors",children:(0,l.jsx)(r.code,{children:"constructor"})})]}),"\n",(0,l.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,l.jsx)(r.h3,{id:"_controller",children:"_controller"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"protected"})," ",(0,l.jsx)(r.strong,{children:"_controller"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),"<",(0,l.jsx)(r.code,{children:"S"}),", ",(0,l.jsx)(r.code,{children:"R"}),", ",(0,l.jsx)(r.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L26",children:"packages/core/src/controller/ControllerDecorator.ts:26"})]}),"\n",(0,l.jsx)(r.p,{children:"The controller being decorated."}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"_dictionary",children:"_dictionary"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"protected"})," ",(0,l.jsx)(r.strong,{children:"_dictionary"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,l.jsx)(r.code,{children:"Dictionary"})})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L38",children:"packages/core/src/controller/ControllerDecorator.ts:38"})]}),"\n",(0,l.jsx)(r.p,{children:"Localization phrases dictionary."}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"_metamanager",children:"_metaManager"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"protected"})," ",(0,l.jsx)(r.strong,{children:"_metaManager"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,l.jsx)(r.code,{children:"MetaManager"})})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L30",children:"packages/core/src/controller/ControllerDecorator.ts:30"})]}),"\n",(0,l.jsx)(r.p,{children:"The meta page attributes manager."}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"_router",children:"_router"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"protected"})," ",(0,l.jsx)(r.strong,{children:"_router"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Router",children:(0,l.jsx)(r.code,{children:"Router"})})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L34",children:"packages/core/src/controller/ControllerDecorator.ts:34"})]}),"\n",(0,l.jsx)(r.p,{children:"The application router."}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"_settings",children:"_settings"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"protected"})," ",(0,l.jsx)(r.strong,{children:"_settings"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,l.jsx)(r.code,{children:"Settings"})})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L42",children:"packages/core/src/controller/ControllerDecorator.ts:42"})]}),"\n",(0,l.jsx)(r.p,{children:"Application settings for the current application environment."}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"static"})," ",(0,l.jsx)(r.strong,{children:"$dependencies"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,l.jsx)(r.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L44",children:"packages/core/src/controller/Controller.ts:44"})]}),"\n",(0,l.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#$dependencies",children:(0,l.jsx)(r.code,{children:"$dependencies"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"extensions",children:"$extensions?"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"static"})," ",(0,l.jsx)(r.code,{children:"optional"})," ",(0,l.jsx)(r.strong,{children:"$extensions"}),": ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,l.jsx)(r.code,{children:"Dependencies"})}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L45",children:"packages/core/src/controller/Controller.ts:45"})]}),"\n",(0,l.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#$extensions",children:(0,l.jsx)(r.code,{children:"$extensions"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"name",children:"$name?"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"static"})," ",(0,l.jsx)(r.code,{children:"optional"})," ",(0,l.jsx)(r.strong,{children:"$name"}),": ",(0,l.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/Controller.ts#L43",children:"packages/core/src/controller/Controller.ts:43"})]}),"\n",(0,l.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#$name",children:(0,l.jsx)(r.code,{children:"$name"})})]}),"\n",(0,l.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,l.jsx)(r.h3,{id:"activate",children:"activate()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"activate"}),"(): ",(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L87",children:"packages/core/src/controller/ControllerDecorator.ts:87"})]}),"\n",(0,l.jsxs)(r.p,{children:["Callback for activating the controller in the UI. This is the last\nmethod invoked during controller initialization, called after all the\npromises returned from the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method have been\nresolved and the controller has configured the meta manager."]}),"\n",(0,l.jsx)(r.p,{children:"The controller may register any React and DOM event listeners in this\nmethod. The controller may start receiving event bus event after this\nmethod completes."}),"\n",(0,l.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:(0,l.jsx)(r.code,{children:"activate"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"addextension",children:"addExtension()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"addExtension"}),"(",(0,l.jsx)(r.code,{children:"extension"}),", ",(0,l.jsx)(r.code,{children:"extensionInstance"}),"?): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L150",children:"packages/core/src/controller/ControllerDecorator.ts:150"})]}),"\n",(0,l.jsxs)(r.p,{children:["Adds the provided extension to this controller. All extensions should be\nadded to the controller before the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method is\ninvoked."]}),"\n",(0,l.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"extension",children:"extension"}),"\n",(0,l.jsxs)(r.p,{children:["keyof OCAliasMap | ",(0,l.jsx)(r.code,{children:"Constructor"}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"<",(0,l.jsx)(r.code,{children:"any"}),", ",(0,l.jsx)(r.code,{children:"any"}),", ",(0,l.jsx)(r.code,{children:"any"}),">> | ",(0,l.jsx)(r.code,{children:"AbstractConstructor"}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"<",(0,l.jsx)(r.code,{children:"any"}),", ",(0,l.jsx)(r.code,{children:"any"}),", ",(0,l.jsx)(r.code,{children:"any"}),">> | ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,l.jsx)(r.code,{children:"RouteParams"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,l.jsx)(r.h5,{id:"extensioninstance",children:"extensionInstance?"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,l.jsx)(r.code,{children:"RouteParams"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#addextension",children:(0,l.jsx)(r.code,{children:"addExtension"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"beginstatetransaction",children:"beginStateTransaction()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"beginStateTransaction"}),"(): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L129",children:"packages/core/src/controller/ControllerDecorator.ts:129"})]}),"\n",(0,l.jsxs)(r.p,{children:["Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,l.jsx)(r.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,l.jsxs)(r.p,{children:["Note that call to ",(0,l.jsx)(r.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,l.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#beginstatetransaction",children:(0,l.jsx)(r.code,{children:"beginStateTransaction"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"cancelstatetransaction",children:"cancelStateTransaction()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"cancelStateTransaction"}),"(): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L143",children:"packages/core/src/controller/ControllerDecorator.ts:143"})]}),"\n",(0,l.jsx)(r.p,{children:"Cancels ongoing state transaction. Uncommitted state changes are lost."}),"\n",(0,l.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#cancelstatetransaction",children:(0,l.jsx)(r.code,{children:"cancelStateTransaction"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"commitstatetransaction",children:"commitStateTransaction()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"commitStateTransaction"}),"(): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L136",children:"packages/core/src/controller/ControllerDecorator.ts:136"})]}),"\n",(0,l.jsxs)(r.p,{children:["Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,l.jsx)(r.code,{children:"setState"})," call."]}),"\n",(0,l.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#commitstatetransaction",children:(0,l.jsx)(r.code,{children:"commitStateTransaction"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"deactivate",children:"deactivate()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"deactivate"}),"(): ",(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L94",children:"packages/core/src/controller/ControllerDecorator.ts:94"})]}),"\n",(0,l.jsx)(r.p,{children:"Callback for deactivating the controller in the UI. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."}),"\n",(0,l.jsxs)(r.p,{children:["This method is the lifecycle counterpart of the\n",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"})," method."]}),"\n",(0,l.jsxs)(r.p,{children:["The controller should deregister listeners registered and release all\nresources obtained in the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"})," method."]}),"\n",(0,l.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#deactivate",children:(0,l.jsx)(r.code,{children:"deactivate"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"destroy",children:"destroy()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"destroy"}),"(): ",(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L80",children:"packages/core/src/controller/ControllerDecorator.ts:80"})]}),"\n",(0,l.jsx)(r.p,{children:"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."}),"\n",(0,l.jsxs)(r.p,{children:["This method is the lifecycle counterpart of the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),"\nmethod."]}),"\n",(0,l.jsxs)(r.p,{children:["The controller should release all resources obtained in the\n",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method. The controller must release any resources\nthat might not be released automatically when the controller's instance\nis destroyed by the garbage collector."]}),"\n",(0,l.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#destroy",children:(0,l.jsx)(r.code,{children:"destroy"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"getextension",children:"getExtension()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"getExtension"}),"(",(0,l.jsx)(r.code,{children:"extension"}),"): ",(0,l.jsx)(r.code,{children:"undefined"})," | ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,l.jsx)(r.code,{children:"RouteParams"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L164",children:"packages/core/src/controller/ControllerDecorator.ts:164"})]}),"\n",(0,l.jsx)(r.p,{children:"Returns extension instance defined by it's class constructor\nfrom controller's extension intance map."}),"\n",(0,l.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"extension-1",children:"extension"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.em,{children:"typeof"})," ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})})]}),"\n",(0,l.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"undefined"})," | ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"<",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,l.jsx)(r.code,{children:"RouteParams"})}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,l.jsx)(r.code,{children:"PageState"})}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getextension",children:(0,l.jsx)(r.code,{children:"getExtension"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"getextensions",children:"getExtensions()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"getExtensions"}),"(): ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"[]"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L173",children:"packages/core/src/controller/ControllerDecorator.ts:173"})]}),"\n",(0,l.jsx)(r.p,{children:"Returns the controller's extensions."}),"\n",(0,l.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Extension",children:(0,l.jsx)(r.code,{children:"Extension"})}),"[]"]}),"\n",(0,l.jsx)(r.p,{children:"The extensions added to this controller."}),"\n",(0,l.jsx)(r.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getextensions",children:(0,l.jsx)(r.code,{children:"getExtensions"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"gethttpstatus",children:"getHttpStatus()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"getHttpStatus"}),"(): ",(0,l.jsx)(r.code,{children:"number"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L214",children:"packages/core/src/controller/ControllerDecorator.ts:214"})]}),"\n",(0,l.jsx)(r.p,{children:"Returns the HTTP status code to send to the client, should the\ncontroller be used at the server-side."}),"\n",(0,l.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"number"})}),"\n",(0,l.jsx)(r.p,{children:"The HTTP status code to send to the client."}),"\n",(0,l.jsx)(r.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#gethttpstatus",children:(0,l.jsx)(r.code,{children:"getHttpStatus"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"getmetamanager",children:"getMetaManager()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"getMetaManager"}),"(): ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,l.jsx)(r.code,{children:"MetaManager"})})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L225",children:"packages/core/src/controller/ControllerDecorator.ts:225"})]}),"\n",(0,l.jsx)(r.p,{children:"Returns the meta attributes manager configured by the decorated\ncontroller."}),"\n",(0,l.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/MetaManager",children:(0,l.jsx)(r.code,{children:"MetaManager"})})}),"\n",(0,l.jsx)(r.p,{children:"The Meta attributes manager configured by the\ndecorated controller."}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"getrouteparams",children:"getRouteParams()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"getRouteParams"}),"(): ",(0,l.jsx)(r.code,{children:"R"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L200",children:"packages/core/src/controller/ControllerDecorator.ts:200"})]}),"\n",(0,l.jsx)(r.p,{children:"Returns the current route parameters."}),"\n",(0,l.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"R"})}),"\n",(0,l.jsx)(r.p,{children:"The current route parameters."}),"\n",(0,l.jsx)(r.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getrouteparams",children:(0,l.jsx)(r.code,{children:"getRouteParams"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"getstate",children:"getState()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"getState"}),"(): ",(0,l.jsx)(r.code,{children:"SS"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L122",children:"packages/core/src/controller/ControllerDecorator.ts:122"})]}),"\n",(0,l.jsx)(r.p,{children:"Returns the controller's current state."}),"\n",(0,l.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"SS"})}),"\n",(0,l.jsx)(r.p,{children:"The current state of this controller."}),"\n",(0,l.jsx)(r.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#getstate",children:(0,l.jsx)(r.code,{children:"getState"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"init",children:"init()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"init"}),"(): ",(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L73",children:"packages/core/src/controller/ControllerDecorator.ts:73"})]}),"\n",(0,l.jsx)(r.p,{children:"Callback for initializing the controller after the route parameters have\nbeen set on this controller."}),"\n",(0,l.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"void"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:(0,l.jsx)(r.code,{children:"init"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"load",children:"load()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"load"}),"(): ",(0,l.jsx)(r.code,{children:"S"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L101",children:"packages/core/src/controller/ControllerDecorator.ts:101"})]}),"\n",(0,l.jsxs)(r.p,{children:["Callback the controller uses to request the resources it needs to render\nits view. This method is invoked after the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),"\nmethod."]}),"\n",(0,l.jsx)(r.p,{children:"The controller should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."}),"\n",(0,l.jsx)(r.p,{children:"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."}),"\n",(0,l.jsx)(r.p,{children:"The IMA will use the object to set the state of the controller."}),"\n",(0,l.jsx)(r.p,{children:"If at the server side, the IMA will wait for all the promises to\nresolve, replaces the promises with the resolved values and sets the\nresulting object as the controller's state."}),"\n",(0,l.jsx)(r.p,{children:"If at the client side, the IMA will first set the controller's state to\nan object containing only the fields of the returned object that were\nnot promises. IMA will then update the controller's state every time a\npromise of the returned object resolves. IMA will update the state by\nadding the resolved resource to the controller's state."}),"\n",(0,l.jsx)(r.p,{children:"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."}),"\n",(0,l.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"S"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"S"}),">"]}),"\n",(0,l.jsx)(r.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,l.jsx)(r.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:(0,l.jsx)(r.code,{children:"load"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"setmetaparams",children:"setMetaParams()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"setMetaParams"}),"(",(0,l.jsx)(r.code,{children:"loadedResources"}),"): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L180",children:"packages/core/src/controller/ControllerDecorator.ts:180"})]}),"\n",(0,l.jsx)(r.p,{children:"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources and the view has been rendered."}),"\n",(0,l.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"loadedresources",children:"loadedResources"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"Intersection"}),"<",(0,l.jsx)(r.code,{children:"Partial"}),"<",(0,l.jsx)(r.code,{children:"Pick"}),"<",(0,l.jsx)(r.code,{children:"SS"}),", ",(0,l.jsx)(r.code,{children:"Matching"}),"<",(0,l.jsx)(r.code,{children:"SS"}),", ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"any"}),">>>>, ",(0,l.jsx)(r.code,{children:"Required"}),"<",(0,l.jsx)(r.code,{children:"Pick"}),"<",(0,l.jsx)(r.code,{children:"SS"}),", ",(0,l.jsx)(r.code,{children:"NonMatching"}),"<",(0,l.jsx)(r.code,{children:"SS"}),", ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"any"}),">>>>>"]}),"\n",(0,l.jsxs)(r.p,{children:["A plain object representing a\nmap of resource names to resources loaded by the\n",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method. This is the same object as the one\npassed to the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setstate",children:"Controller#setState"})," method."]}),"\n",(0,l.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setmetaparams",children:(0,l.jsx)(r.code,{children:"setMetaParams"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"setpagestatemanager",children:"setPageStateManager()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"setPageStateManager"}),"(",(0,l.jsx)(r.code,{children:"pageStateManager"}),"?): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L207",children:"packages/core/src/controller/ControllerDecorator.ts:207"})]}),"\n",(0,l.jsxs)(r.p,{children:["Sets the page state manager. The page state manager manages the\ncontroller's state. The state manager can be set to ",(0,l.jsx)(r.code,{children:"null"})," if this\ncontroller loses the right to modify the state of the current page (e.g.\nthe user has navigated to a different route using a different\ncontroller)."]}),"\n",(0,l.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"pagestatemanager",children:"pageStateManager?"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,l.jsx)(r.code,{children:"PageStateManager"})}),"<",(0,l.jsx)(r.code,{children:"SS"}),">"]}),"\n",(0,l.jsx)(r.p,{children:"The current state manager to\nuse."}),"\n",(0,l.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-16",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setpagestatemanager",children:(0,l.jsx)(r.code,{children:"setPageStateManager"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"setrouteparams",children:"setRouteParams()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"setRouteParams"}),"(",(0,l.jsx)(r.code,{children:"params"}),"): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L193",children:"packages/core/src/controller/ControllerDecorator.ts:193"})]}),"\n",(0,l.jsxs)(r.p,{children:["Sets the current route parameters. This method is invoked before the\n",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"})," method."]}),"\n",(0,l.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"params",children:"params"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"R"})," = ",(0,l.jsx)(r.code,{children:"..."})]}),"\n",(0,l.jsx)(r.p,{children:"The current route parameters."}),"\n",(0,l.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-17",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setrouteparams",children:(0,l.jsx)(r.code,{children:"setRouteParams"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"setstate",children:"setState()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"setState"}),"<",(0,l.jsx)(r.code,{children:"K"}),">(",(0,l.jsx)(r.code,{children:"statePatch"}),"): ",(0,l.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L115",children:"packages/core/src/controller/ControllerDecorator.ts:115"})]}),"\n",(0,l.jsx)(r.p,{children:"Patches the state of this controller using the provided object by\ncopying the provided patch object fields to the controller's state\nobject."}),"\n",(0,l.jsx)(r.p,{children:"You can use this method to modify the state partially or add new fields\nto the state object."}),"\n",(0,l.jsx)(r.p,{children:"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."}),"\n",(0,l.jsxs)(r.p,{children:["Once the promises returned by the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method are\nresolved, this method is called with the an object containing the\nresolved values. The field names of the passed object will match the\nfield names in the object returned from the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"}),"\nmethod."]}),"\n",(0,l.jsx)(r.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,l.jsxs)(r.p,{children:["\u2022 ",(0,l.jsx)(r.strong,{children:"K"})," ",(0,l.jsx)(r.em,{children:"extends"})," ",(0,l.jsx)(r.code,{children:"string"})," | ",(0,l.jsx)(r.code,{children:"number"})," | ",(0,l.jsx)(r.code,{children:"symbol"})]}),"\n",(0,l.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"statepatch",children:"statePatch"}),"\n",(0,l.jsx)(r.p,{children:"Patch of the controller's state to\napply."}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"null"})," | ",(0,l.jsx)(r.code,{children:"S"})," | ",(0,l.jsx)(r.code,{children:"Pick"}),"<",(0,l.jsx)(r.code,{children:"S"}),", ",(0,l.jsx)(r.code,{children:"K"}),">"]}),"\n",(0,l.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,l.jsx)(r.p,{children:(0,l.jsx)(r.code,{children:"void"})}),"\n",(0,l.jsx)(r.h4,{id:"overrides-18",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#setstate",children:(0,l.jsx)(r.code,{children:"setState"})})]}),"\n",(0,l.jsx)(r.hr,{}),"\n",(0,l.jsx)(r.h3,{id:"update",children:"update()"}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.strong,{children:"update"}),"(",(0,l.jsx)(r.code,{children:"prevParams"}),"): ",(0,l.jsx)(r.code,{children:"S"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,l.jsxs)(r.p,{children:["Defined in: ",(0,l.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/controller/ControllerDecorator.ts#L108",children:"packages/core/src/controller/ControllerDecorator.ts:108"})]}),"\n",(0,l.jsxs)(r.p,{children:["Callback for updating the controller after a route update. This method\nis invoked if the current route has the ",(0,l.jsx)(r.code,{children:"onlyUpdate"})," flag set to ",(0,l.jsx)(r.code,{children:"true"})," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,l.jsx)(r.code,{children:"onlyUpdate"})," option of the current route is a callback and\nreturned ",(0,l.jsx)(r.code,{children:"true"}),"."]}),"\n",(0,l.jsxs)(r.p,{children:["The method must return an object with the same semantics as the result\nof the ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"})," method. The controller's state will only\nbe patched by the returned object instead of replacing it completely."]}),"\n",(0,l.jsxs)(r.p,{children:["The other controller lifecycle callbacks (",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#init",children:"Controller#init"}),",\n",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#load",children:"Controller#load"}),", ",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#activate",children:"Controller#activate"}),",\n",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#deactivate",children:"Controller#deactivate"}),", Controller#deinit) are not call\nin case this method is used."]}),"\n",(0,l.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,l.jsx)(r.h5,{id:"prevparams",children:"prevParams"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"R"})," = ",(0,l.jsx)(r.code,{children:"..."})]}),"\n",(0,l.jsx)(r.p,{children:"Previous route\nparameters."}),"\n",(0,l.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"S"})," | ",(0,l.jsx)(r.code,{children:"Promise"}),"<",(0,l.jsx)(r.code,{children:"S"}),">"]}),"\n",(0,l.jsx)(r.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,l.jsx)(r.h4,{id:"overrides-19",children:"Overrides"}),"\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,l.jsx)(r.code,{children:"Controller"})}),".",(0,l.jsx)(r.a,{href:"/api/@ima/core/classes/Controller#update",children:(0,l.jsx)(r.code,{children:"update"})})]})]})}function h(e={}){const{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,l.jsx)(r,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>t,x:()=>o});var n=s(3696);const l={},c=n.createContext(l);function t(e){const r=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),n.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/be7e6daf.dba99496.js b/assets/js/be7e6daf.dba99496.js new file mode 100644 index 000000000..3f1b6a336 --- /dev/null +++ b/assets/js/be7e6daf.dba99496.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4375],{5996:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/core/enumerations/RendererEvents","title":"Enumeration: RendererEvents","description":"Defined in4","source":"@site/../docs/api/@ima/core/enumerations/RendererEvents.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/RendererEvents","permalink":"/api/@ima/core/enumerations/RendererEvents","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/RendererEvents.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: HttpStatusCode","permalink":"/api/@ima/core/enumerations/HttpStatusCode"},"next":{"title":"Enumeration: RendererTypes","permalink":"/api/@ima/core/enumerations/RendererTypes"}}');var t=r(2540),d=r(3023);const a={},c="Enumeration: RendererEvents",i={},o=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"ERROR",id:"error",level:3},{value:"HYDRATE_ERROR",id:"hydrate_error",level:3},{value:"MOUNTED",id:"mounted",level:3},{value:"UNMOUNTED",id:"unmounted",level:3},{value:"UPDATED",id:"updated",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"enumeration-rendererevents",children:"Enumeration: RendererEvents"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererEvents.ts#L4",children:"packages/core/src/page/renderer/RendererEvents.ts:4"})]}),"\n",(0,t.jsx)(n.p,{children:"Events constants, which is firing to app."}),"\n",(0,t.jsx)(n.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,t.jsx)(n.h3,{id:"error",children:"ERROR"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"ERROR"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.error"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererEvents.ts#L31",children:"packages/core/src/page/renderer/RendererEvents.ts:31"})]}),"\n",(0,t.jsxs)(n.p,{children:["PageRenderer fires event ",(0,t.jsx)(n.code,{children:"$IMA.$PageRenderer.error"})," when there is\nno _viewContainer in _renderToDOM method. Event's data contain\n",(0,t.jsx)(n.code,{children:"{message: string}"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"hydrate_error",children:"HYDRATE_ERROR"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"HYDRATE_ERROR"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.hydrateError"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererEvents.ts#L36",children:"packages/core/src/page/renderer/RendererEvents.ts:36"})]}),"\n",(0,t.jsx)(n.p,{children:"Fired when problem occurs during hydratation."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"mounted",children:"MOUNTED"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"MOUNTED"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.mounted"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererEvents.ts#L10",children:"packages/core/src/page/renderer/RendererEvents.ts:10"})]}),"\n",(0,t.jsxs)(n.p,{children:["PageRenderer fires event ",(0,t.jsx)(n.code,{children:"$IMA.$PageRenderer.mounted"})," after\ncurrent page view is mounted to the DOM. Event's data contain\n",(0,t.jsx)(n.code,{children:"{type: string}"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unmounted",children:"UNMOUNTED"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"UNMOUNTED"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.unmounted"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererEvents.ts#L24",children:"packages/core/src/page/renderer/RendererEvents.ts:24"})]}),"\n",(0,t.jsxs)(n.p,{children:["PageRenderer fires event ",(0,t.jsx)(n.code,{children:"$IMA.$PageRenderer.unmounted"})," after current view is\nunmounted from the DOM. Event's data contain\n",(0,t.jsx)(n.code,{children:"{type: string}"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"updated",children:"UPDATED"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"UPDATED"}),": ",(0,t.jsx)(n.code,{children:'"$IMA.$PageRenderer.updated"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/renderer/RendererEvents.ts#L17",children:"packages/core/src/page/renderer/RendererEvents.ts:17"})]}),"\n",(0,t.jsxs)(n.p,{children:["PageRenderer fires event ",(0,t.jsx)(n.code,{children:"$IMA.$PageRenderer.updated"})," after\ncurrent state is updated in the DOM. Event's data contain\n",(0,t.jsx)(n.code,{children:"{state: Object<string, *>}"}),"."]})]})}function l(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>c});var s=r(3696);const t={},d=s.createContext(t);function a(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/beb73144.f5326e8f.js b/assets/js/beb73144.f5326e8f.js new file mode 100644 index 000000000..3e21299c3 --- /dev/null +++ b/assets/js/beb73144.f5326e8f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2169],{8773:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>c});const d=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/BlankManagedRootView","title":"Class: BlankManagedRootView\\\\<P, S, SS\\\\>","description":"Defined in18","source":"@site/../docs/api/@ima/react-page-renderer/classes/BlankManagedRootView.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/BlankManagedRootView","permalink":"/api/@ima/react-page-renderer/classes/BlankManagedRootView","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/BlankManagedRootView.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractPureComponent\\\\<P, S, SS\\\\>","permalink":"/api/@ima/react-page-renderer/classes/AbstractPureComponent"},"next":{"title":"Class: ErrorBoundary","permalink":"/api/@ima/react-page-renderer/classes/ErrorBoundary"}}');var t=r(2540),s=r(3023);const i={},l="Class: BlankManagedRootView<P, S, SS>",o={},c=[{value:"Extends",id:"extends",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new BlankManagedRootView()",id:"new-blankmanagedrootview",level:3},{value:"Parameters",id:"parameters",level:4},{value:"props",id:"props",level:5},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"new BlankManagedRootView()",id:"new-blankmanagedrootview-1",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"props",id:"props-1",level:5},{value:"context",id:"context",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Deprecated",id:"deprecated",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context-1",level:3},{value:"Example",id:"example",level:4},{value:"See",id:"see-1",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"props",id:"props-2",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"<del>refs</del>",id:"refs",level:3},{value:"Index Signature",id:"index-signature",level:4},{value:"Deprecated",id:"deprecated-1",level:4},{value:"See",id:"see-2",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"contextType?",id:"contexttype",level:3},{value:"Example",id:"example-1",level:4},{value:"See",id:"see-3",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Accessors",id:"accessors",level:2},{value:"defaultProps",id:"defaultprops",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-2",level:5},{value:"pageView",id:"pageview",level:6},{value:"Methods",id:"methods",level:2},{value:"componentDidCatch()?",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"error",id:"error",level:5},{value:"errorInfo",id:"errorinfo",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"componentDidMount()?",id:"componentdidmount",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"componentDidUpdate()?",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"prevProps",id:"prevprops",level:5},{value:"prevState",id:"prevstate",level:5},{value:"snapshot?",id:"snapshot",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"<del>componentWillMount()?</del>",id:"componentwillmount",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Deprecated",id:"deprecated-2",level:4},{value:"See",id:"see-4",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"<del>componentWillReceiveProps()?</del>",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"nextProps",id:"nextprops",level:5},{value:"nextContext",id:"nextcontext",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Deprecated",id:"deprecated-3",level:4},{value:"See",id:"see-5",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"componentWillUnmount()?",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"<del>componentWillUpdate()?</del>",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"nextProps",id:"nextprops-1",level:5},{value:"nextState",id:"nextstate",level:5},{value:"nextContext",id:"nextcontext-1",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Deprecated",id:"deprecated-4",level:4},{value:"See",id:"see-6",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"forceUpdate()",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"callback?",id:"callback",level:5},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"getSnapshotBeforeUpdate()?",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"prevProps",id:"prevprops-1",level:5},{value:"prevState",id:"prevstate-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"render()",id:"render",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"Overrides",id:"overrides",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"state",id:"state-1",level:5},{value:"callback?",id:"callback-1",level:5},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"shouldComponentUpdate()?",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"nextProps",id:"nextprops-2",level:5},{value:"nextState",id:"nextstate-1",level:5},{value:"nextContext",id:"nextcontext-2",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"<del>UNSAFE_componentWillMount()?</del>",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Deprecated",id:"deprecated-5",level:4},{value:"See",id:"see-7",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"<del>UNSAFE_componentWillReceiveProps()?</del>",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"nextProps",id:"nextprops-3",level:5},{value:"nextContext",id:"nextcontext-3",level:5},{value:"Returns",id:"returns-16",level:4},{value:"Deprecated",id:"deprecated-6",level:4},{value:"See",id:"see-8",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"<del>UNSAFE_componentWillUpdate()?</del>",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"nextProps",id:"nextprops-4",level:5},{value:"nextState",id:"nextstate-2",level:5},{value:"nextContext",id:"nextcontext-4",level:5},{value:"Returns",id:"returns-17",level:4},{value:"Deprecated",id:"deprecated-7",level:4},{value:"See",id:"see-9",level:4},{value:"Inherited from",id:"inherited-from-20",level:4}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"class-blankmanagedrootviewp-s-ss",children:"Class: BlankManagedRootView<P, S, SS>"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/BlankManagedRootView.ts#L18",children:"packages/react-page-renderer/src/component/BlankManagedRootView.ts:18"})]}),"\n",(0,t.jsx)(n.p,{children:"Blank managed root view does not nothing except for rendering the current\npage view."}),"\n",(0,t.jsx)(n.p,{children:"This is the default managed root view."}),"\n",(0,t.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Component"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"P"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.code,{children:"BlankManagedRootViewProps"})," = ",(0,t.jsx)(n.code,{children:"BlankManagedRootViewProps"})]}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"S"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"SS"})," = ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n",(0,t.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(n.h3,{id:"new-blankmanagedrootview",children:"new BlankManagedRootView()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new BlankManagedRootView"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">(",(0,t.jsx)(n.code,{children:"props"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView",children:(0,t.jsx)(n.code,{children:"BlankManagedRootView"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1015"}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"P"})}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView",children:(0,t.jsx)(n.code,{children:"BlankManagedRootView"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component<P, S, SS>.constructor"})}),"\n",(0,t.jsx)(n.h3,{id:"new-blankmanagedrootview-1",children:"new BlankManagedRootView()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new BlankManagedRootView"}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">(",(0,t.jsx)(n.code,{children:"props"}),", ",(0,t.jsx)(n.code,{children:"context"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView",children:(0,t.jsx)(n.code,{children:"BlankManagedRootView"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1020"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props-1",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"P"})}),"\n",(0,t.jsx)(n.h5,{id:"context",children:"context"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView",children:(0,t.jsx)(n.code,{children:"BlankManagedRootView"})}),"<",(0,t.jsx)(n.code,{children:"P"}),", ",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/legacy-context.html",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component<P, S, SS>.constructor"})}),"\n",(0,t.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"context-1",children:"context"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"context"}),": ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1013"}),"\n",(0,t.jsxs)(n.p,{children:["If using the new style context, re-declare this in your class to be the\n",(0,t.jsx)(n.code,{children:"React.ContextType"})," of your ",(0,t.jsx)(n.code,{children:"static contextType"}),".\nShould be used with type annotation or static contextType."]}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-1",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#context",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.context"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"props-2",children:"props"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"readonly"})," ",(0,t.jsx)(n.strong,{children:"props"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1033"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.props"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"refs",children:(0,t.jsx)(n.del,{children:"refs"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"refs"}),": ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1040"}),"\n",(0,t.jsx)(n.h4,{id:"index-signature",children:"Index Signature"}),"\n",(0,t.jsxs)(n.p,{children:["[",(0,t.jsx)(n.code,{children:"key"}),": ",(0,t.jsx)(n.code,{children:"string"}),"]: ",(0,t.jsx)(n.code,{children:"ReactInstance"})]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see-2",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs",children:"Legacy React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.refs"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"state",children:"state"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"state"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1034"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.state"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"contexttype",children:"contextType?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"contextType"}),": ",(0,t.jsx)(n.code,{children:"Context"}),"<",(0,t.jsx)(n.code,{children:"any"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:995"}),"\n",(0,t.jsxs)(n.p,{children:["If set, ",(0,t.jsx)(n.code,{children:"this.context"})," will be set at runtime to the current value of the given Context."]}),"\n",(0,t.jsx)(n.h4,{id:"example-1",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-3",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#static-contexttype",children:"https://react.dev/reference/react/Component#static-contexttype"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.contextType"})}),"\n",(0,t.jsx)(n.h2,{id:"accessors",children:"Accessors"}),"\n",(0,t.jsx)(n.h3,{id:"defaultprops",children:"defaultProps"}),"\n",(0,t.jsx)(n.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"get"})," ",(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.strong,{children:"defaultProps"}),"(): ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/BlankManagedRootView.ts#L23",children:"packages/react-page-renderer/src/component/BlankManagedRootView.ts:23"})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"object"})}),"\n",(0,t.jsx)(n.h6,{id:"pageview",children:"pageView"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"pageView"}),": ",(0,t.jsx)(n.code,{children:"null"})," = ",(0,t.jsx)(n.code,{children:"null"})]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(n.h3,{id:"componentdidcatch",children:"componentDidCatch()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidCatch"}),"(",(0,t.jsx)(n.code,{children:"error"}),", ",(0,t.jsx)(n.code,{children:"errorInfo"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1397"}),"\n",(0,t.jsx)(n.p,{children:"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"error",children:"error"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Error"})}),"\n",(0,t.jsx)(n.h5,{id:"errorinfo",children:"errorInfo"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"ErrorInfo"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentDidCatch"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidmount",children:"componentDidMount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1376"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after a component is mounted. Setting state here will trigger re-rendering."}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentDidMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidupdate",children:"componentDidUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"snapshot"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1439"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after updating occurs. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["The snapshot is only present if ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"})," is present and returns non-null."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"snapshot",children:"snapshot?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"SS"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentDidUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillmount",children:(0,t.jsx)(n.del,{children:"componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1455"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead; will stop working in React 17"]}),"\n",(0,t.jsx)(n.h4,{id:"see-4",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1486"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-3",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-5",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillunmount",children:"componentWillUnmount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUnmount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1392"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,t.jsx)(n.code,{children:"componentDidMount"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillUnmount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillupdate",children:(0,t.jsx)(n.del,{children:"componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1518"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-1",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-1",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-4",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-6",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.componentWillUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"forceupdate",children:"forceUpdate()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"forceUpdate"}),"(",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1030"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"callback",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.forceUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"getSnapshotBeforeUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),"): ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"SS"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1433"}),"\n",(0,t.jsxs)(n.p,{children:["Runs before React applies the result of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," to the document, and\nreturns an object to be given to ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView#componentdidupdate",children:"componentDidUpdate"}),". Useful for saving\nthings such as scroll position before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," causes changes to it."]}),"\n",(0,t.jsx)(n.p,{children:"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops-1",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate-1",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"SS"})]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.getSnapshotBeforeUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"render",children:"render()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"render"}),"(): ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"ReactElement"}),"<{}>"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/BlankManagedRootView.ts#L32",children:"packages/react-page-renderer/src/component/BlankManagedRootView.ts:32"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"ReactElement"}),"<{}>"]}),"\n",(0,t.jsx)(n.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,t.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.render"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"setState"}),"<",(0,t.jsx)(n.code,{children:"K"}),">(",(0,t.jsx)(n.code,{children:"state"}),", ",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1025"}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"K"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.code,{children:"string"})," | ",(0,t.jsx)(n.code,{children:"number"})," | ",(0,t.jsx)(n.code,{children:"symbol"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"state-1",children:"state"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"S"})," | (",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"props"}),") => ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"S"})," | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"K"}),"> | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"S"}),", ",(0,t.jsx)(n.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"callback-1",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.setState"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"shouldcomponentupdate",children:"shouldComponentUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"shouldComponentUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1387"}),"\n",(0,t.jsx)(n.p,{children:"Called to determine whether the change in props and state should trigger a re-render."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Component"})," always returns true.\n",(0,t.jsx)(n.code,{children:"PureComponent"})," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."]}),"\n",(0,t.jsxs)(n.p,{children:["If false is returned, ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),", ",(0,t.jsx)(n.code,{children:"componentWillUpdate"}),"\nand ",(0,t.jsx)(n.code,{children:"componentDidUpdate"})," will not be called."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-2",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-1",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-2",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-17",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.shouldComponentUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillmount",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1470"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-5",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead"]}),"\n",(0,t.jsx)(n.h4,{id:"see-7",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-18",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.UNSAFE_componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1504"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-3",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-3",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-6",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-8",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-19",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.UNSAFE_componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillupdate",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1534"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-4",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"P"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-2",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-4",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-7",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-9",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-20",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Component.UNSAFE_componentWillUpdate"})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>l});var d=r(3696);const t={},s=d.createContext(t);function i(e){const n=d.useContext(s);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),d.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf028727.5a1c388e.js b/assets/js/bf028727.5a1c388e.js new file mode 100644 index 000000000..528d87875 --- /dev/null +++ b/assets/js/bf028727.5a1c388e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6215],{9476:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/getUtils","title":"Function: getUtils()","description":"getUtils(props, context): Utils \\\\| undefined","source":"@site/../docs/api/@ima/react-page-renderer/functions/getUtils.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/getUtils","permalink":"/api/@ima/react-page-renderer/functions/getUtils","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/getUtils.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: fire()","permalink":"/api/@ima/react-page-renderer/functions/fire"},"next":{"title":"Function: link()","permalink":"/api/@ima/react-page-renderer/functions/link"}}');var i=t(2540),s=t(3023);const c={},o="Function: getUtils()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"props",id:"props",level:3},{value:"$Utils",id:"utils",level:4},{value:"context",id:"context",level:3},{value:"Returns",id:"returns",level:2},{value:"Throws",id:"throws",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"function-getutils",children:"Function: getUtils()"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getUtils"}),"(",(0,i.jsx)(n.code,{children:"props"}),", ",(0,i.jsx)(n.code,{children:"context"}),"): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,i.jsx)(n.code,{children:"Utils"})})," | ",(0,i.jsx)(n.code,{children:"undefined"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L19",children:"packages/react-page-renderer/src/componentHelpers.ts:19"})]}),"\n",(0,i.jsx)(n.p,{children:"Retrieves the view utilities from the component's current context or\nproperties (preferring the context)."}),"\n",(0,i.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h3,{id:"props",children:"props"}),"\n",(0,i.jsx)(n.p,{children:"The component's current properties."}),"\n",(0,i.jsx)(n.h4,{id:"utils",children:"$Utils"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,i.jsx)(n.code,{children:"Utils"})})}),"\n",(0,i.jsx)(n.h3,{id:"context",children:"context"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:(0,i.jsx)(n.code,{children:"PageContextType"})})}),"\n",(0,i.jsx)(n.p,{children:"The component's current context."}),"\n",(0,i.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,i.jsx)(n.code,{children:"Utils"})})," | ",(0,i.jsx)(n.code,{children:"undefined"})]}),"\n",(0,i.jsx)(n.p,{children:"The retrieved view utilities."}),"\n",(0,i.jsx)(n.h2,{id:"throws",children:"Throws"}),"\n",(0,i.jsx)(n.p,{children:"Error Throw if the view utils cannot be located in the provided\nproperties nor context."})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>o});var r=t(3696);const i={},s=r.createContext(i);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf94dc2c.b94a3a5f.js b/assets/js/bf94dc2c.b94a3a5f.js new file mode 100644 index 000000000..b4ae0cf89 --- /dev/null +++ b/assets/js/bf94dc2c.b94a3a5f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7498],{9318:(e,i,a)=>{a.r(i),a.d(i,{assets:()=>o,contentTitle:()=>r,default:()=>m,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/cli/variables/IMA_CONF_FILENAME","title":"Variable: IMA\\\\_CONF\\\\_FILENAME","description":"const IMA\\\\_CONF\\\\_FILENAME: \\"ima.config.js\\" = \'ima.config.js\'","source":"@site/../docs/api/@ima/cli/variables/IMA_CONF_FILENAME.md","sourceDirName":"api/@ima/cli/variables","slug":"/api/@ima/cli/variables/IMA_CONF_FILENAME","permalink":"/api/@ima/cli/variables/IMA_CONF_FILENAME","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/cli/variables/IMA_CONF_FILENAME.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ImaConfig","permalink":"/api/@ima/cli/type-aliases/ImaConfig"},"next":{"title":"@ima/core","permalink":"/api/@ima/core/"}}');var t=a(2540),s=a(3023);const c={},r="Variable: IMA_CONF_FILENAME",o={},l=[];function d(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"variable-ima_conf_filename",children:"Variable: IMA_CONF_FILENAME"})}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.code,{children:"const"})," ",(0,t.jsx)(i.strong,{children:"IMA_CONF_FILENAME"}),": ",(0,t.jsx)(i.code,{children:'"ima.config.js"'})," = ",(0,t.jsx)(i.code,{children:"'ima.config.js'"})]}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["Defined in: ",(0,t.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/cli/src/webpack/utils.ts#L14",children:"webpack/utils.ts:14"})]})]})}function m(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,i,a)=>{a.d(i,{R:()=>c,x:()=>r});var n=a(3696);const t={},s=n.createContext(t);function c(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bffc20a2.082084e8.js b/assets/js/bffc20a2.082084e8.js deleted file mode 100644 index 4dd788998..000000000 --- a/assets/js/bffc20a2.082084e8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3905],{5680:(e,a,t)=>{t.d(a,{xA:()=>m,yg:()=>c});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=n.createContext({}),g=function(e){var a=n.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},m=function(e){var a=g(e.components);return n.createElement(s.Provider,{value:a},e.children)},y="mdxType",o={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},d=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),y=g(t),d=r,c=y["".concat(s,".").concat(d)]||y[d]||o[d]||l;return t?n.createElement(c,i(i({ref:a},m),{},{components:t})):n.createElement(c,i({ref:a},m))}));function c(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=d;var p={};for(var s in a)hasOwnProperty.call(a,s)&&(p[s]=a[s]);p.originalType=e,p[y]="string"==typeof e?e:r,i[1]=p;for(var g=2;g<l;g++)i[g]=t[g];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},5338:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>o,frontMatter:()=>l,metadata:()=>p,toc:()=>g});var n=t(8102),r=(t(6540),t(5680));const l={id:"ima_core.Namespace",title:"Class: Namespace",sidebar_label:"@ima/core.Namespace",custom_edit_url:null},i=void 0,p={unversionedId:"api/classes/ima_core.Namespace",id:"api/classes/ima_core.Namespace",title:"Class: Namespace",description:"@ima/core.Namespace",source:"@site/../docs/api/classes/ima_core.Namespace.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Namespace",permalink:"/api/classes/ima_core.Namespace",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Namespace",title:"Class: Namespace",sidebar_label:"@ima/core.Namespace",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.MetaManagerImpl",permalink:"/api/classes/ima_core.MetaManagerImpl"},next:{title:"@ima/core.ObjectContainer",permalink:"/api/classes/ima_core.ObjectContainer"}},s={},g=[{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Methods",id:"methods",level:2},{value:"#resolvePathLevels",id:"resolvepathlevels",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"get",id:"get",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"namespace",id:"namespace",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"set",id:"set",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4}],m={toc:g},y="wrapper";function o(e){let{components:a,...t}=e;return(0,r.yg)(y,(0,n.A)({},m,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Namespace"),(0,r.yg)("p",null,"Namespace creation, manipulation and traversal utility. This utility is used\nto create semi-global shared namespaces for registering references to\ninterfaces, classes and constants of the application to provide access to\neach other more easily than by using the ES6 import/export mechanism."),(0,r.yg)("h2",{id:"indexable"},"Indexable"),(0,r.yg)("p",null,"\u25aa ","[key: ",(0,r.yg)("inlineCode",{parentName:"p"},"PropertyKey"),"]",": ",(0,r.yg)("inlineCode",{parentName:"p"},"any")),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Namespace"),"()"),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"resolvepathlevels"},"#resolvePathLevels"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#resolvePathLevels"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("p",null,"Resolve path levels from string"),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The namespace path.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L114"},"packages/core/src/Namespace.ts:114")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"Return value for the specified namespace path point or undefined if path is not type of string"),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The namespace path to get.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"The value at the specified path in the namespace or undefined for any non-string path"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L77"},"packages/core/src/Namespace.ts:77")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"has"},"has"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"has"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Verifies that the specified namespace path point to an existing\nnamespace or terminal value."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The namespace path to test.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the namespace or terminal value exists\nat the specified path."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L60"},"packages/core/src/Namespace.ts:60")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"namespace"},"namespace"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"namespace"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"Verifies that the specified path in namespace exists, creates it if it\ndoes not, and returns the value at the specified path in the namespace."),(0,r.yg)("p",null,"The method recursively creates all path parts in the namespaces as empty\nplain objects for all path parts that do not exist yet, including the\nlast one. This means, that if called with a non-existing namespace path\nas an argument, the return value will be the last created namespace\nobject."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"any"))))),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The namespace path.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"The value at the specified path in the namespace."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L36"},"packages/core/src/Namespace.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"set"},"set"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"set"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Set value for the specified namespace path point."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"path")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The namespace path to set.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Namespace.ts#L99"},"packages/core/src/Namespace.ts:99")))}o.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c0442aea.7e910f80.js b/assets/js/c0442aea.7e910f80.js new file mode 100644 index 000000000..00659d7de --- /dev/null +++ b/assets/js/c0442aea.7e910f80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2447],{8938:(e,c,s)=>{s.r(c),s.d(c,{assets:()=>h,contentTitle:()=>t,default:()=>o,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/classes/CacheEntry","title":"Class: CacheEntry\\\\<V\\\\>","description":"Defined in10","source":"@site/../docs/api/@ima/core/classes/CacheEntry.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/CacheEntry","permalink":"/api/@ima/core/classes/CacheEntry","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/CacheEntry.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Cache\\\\<V\\\\>","permalink":"/api/@ima/core/classes/Cache"},"next":{"title":"Class: CacheFactory\\\\<V\\\\>","permalink":"/api/@ima/core/classes/CacheFactory"}}');var n=s(2540),a=s(3023);const i={},t="Class: CacheEntry<V>",h={},l=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new CacheEntry()",id:"new-cacheentry",level:3},{value:"Parameters",id:"parameters",level:4},{value:"value",id:"value",level:5},{value:"ttl",id:"ttl",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_created",id:"_created",level:3},{value:"_ttl",id:"_ttl",level:3},{value:"_value",id:"_value",level:3},{value:"Methods",id:"methods",level:2},{value:"getValue()",id:"getvalue",level:3},{value:"Returns",id:"returns-1",level:4},{value:"isExpired()",id:"isexpired",level:3},{value:"Returns",id:"returns-2",level:4},{value:"serialize()",id:"serialize",level:3},{value:"Returns",id:"returns-3",level:4}];function d(e){const c={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c.header,{children:(0,n.jsx)(c.h1,{id:"class-cacheentryv",children:"Class: CacheEntry<V>"})}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L10",children:"packages/core/src/cache/CacheEntry.ts:10"})]}),"\n",(0,n.jsx)(c.p,{children:"The cache entry is a typed container of cache data used to track the\ncreation and expiration of cache entries."}),"\n",(0,n.jsx)(c.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,n.jsxs)(c.p,{children:["\u2022 ",(0,n.jsx)(c.strong,{children:"V"})]}),"\n",(0,n.jsx)(c.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(c.h3,{id:"new-cacheentry",children:"new CacheEntry()"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.strong,{children:"new CacheEntry"}),"<",(0,n.jsx)(c.code,{children:"V"}),">(",(0,n.jsx)(c.code,{children:"value"}),", ",(0,n.jsx)(c.code,{children:"ttl"}),"): ",(0,n.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:(0,n.jsx)(c.code,{children:"CacheEntry"})}),"<",(0,n.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L33",children:"packages/core/src/cache/CacheEntry.ts:33"})]}),"\n",(0,n.jsx)(c.p,{children:"Initializes the cache entry."}),"\n",(0,n.jsx)(c.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(c.h5,{id:"value",children:"value"}),"\n",(0,n.jsx)(c.p,{children:(0,n.jsx)(c.code,{children:"V"})}),"\n",(0,n.jsx)(c.p,{children:"The cache entry value."}),"\n",(0,n.jsx)(c.h5,{id:"ttl",children:"ttl"}),"\n",(0,n.jsx)(c.p,{children:"The time to live in milliseconds."}),"\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.code,{children:"string"})," | ",(0,n.jsx)(c.code,{children:"number"})]}),"\n",(0,n.jsx)(c.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:(0,n.jsx)(c.code,{children:"CacheEntry"})}),"<",(0,n.jsx)(c.code,{children:"V"}),">"]}),"\n",(0,n.jsx)(c.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(c.h3,{id:"_created",children:"_created"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.code,{children:"protected"})," ",(0,n.jsx)(c.strong,{children:"_created"}),": ",(0,n.jsx)(c.code,{children:"number"})]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L25",children:"packages/core/src/cache/CacheEntry.ts:25"})]}),"\n",(0,n.jsx)(c.p,{children:"The timestamp of creation of this cache entry."}),"\n",(0,n.jsx)(c.hr,{}),"\n",(0,n.jsx)(c.h3,{id:"_ttl",children:"_ttl"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.code,{children:"protected"})," ",(0,n.jsx)(c.strong,{children:"_ttl"}),": ",(0,n.jsx)(c.code,{children:"string"})," | ",(0,n.jsx)(c.code,{children:"number"})]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L20",children:"packages/core/src/cache/CacheEntry.ts:20"})]}),"\n",(0,n.jsx)(c.p,{children:"The time to live in milliseconds. The cache entry is considered\nexpired after this time."}),"\n",(0,n.jsx)(c.hr,{}),"\n",(0,n.jsx)(c.h3,{id:"_value",children:"_value"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.code,{children:"protected"})," ",(0,n.jsx)(c.strong,{children:"_value"}),": ",(0,n.jsx)(c.code,{children:"V"})]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L14",children:"packages/core/src/cache/CacheEntry.ts:14"})]}),"\n",(0,n.jsx)(c.p,{children:"Cache entry value."}),"\n",(0,n.jsx)(c.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(c.h3,{id:"getvalue",children:"getValue()"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.strong,{children:"getValue"}),"(): ",(0,n.jsx)(c.code,{children:"V"})]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L61",children:"packages/core/src/cache/CacheEntry.ts:61"})]}),"\n",(0,n.jsx)(c.p,{children:"Returns the entry value."}),"\n",(0,n.jsx)(c.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(c.p,{children:(0,n.jsx)(c.code,{children:"V"})}),"\n",(0,n.jsx)(c.hr,{}),"\n",(0,n.jsx)(c.h3,{id:"isexpired",children:"isExpired()"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.strong,{children:"isExpired"}),"(): ",(0,n.jsx)(c.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L43",children:"packages/core/src/cache/CacheEntry.ts:43"})]}),"\n",(0,n.jsxs)(c.p,{children:["Returns ",(0,n.jsx)(c.code,{children:"true"})," if this entry has expired."]}),"\n",(0,n.jsx)(c.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(c.p,{children:(0,n.jsx)(c.code,{children:"boolean"})}),"\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.code,{children:"true"})," if this entry has expired."]}),"\n",(0,n.jsx)(c.hr,{}),"\n",(0,n.jsx)(c.h3,{id:"serialize",children:"serialize()"}),"\n",(0,n.jsxs)(c.blockquote,{children:["\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.strong,{children:"serialize"}),"(): ",(0,n.jsx)(c.a,{href:"/api/@ima/core/type-aliases/SerializedCacheEntry",children:(0,n.jsx)(c.code,{children:"SerializedCacheEntry"})}),"<",(0,n.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,n.jsxs)(c.p,{children:["Defined in: ",(0,n.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L54",children:"packages/core/src/cache/CacheEntry.ts:54"})]}),"\n",(0,n.jsx)(c.p,{children:"Exports this cache entry into a JSON-serializable object."}),"\n",(0,n.jsx)(c.p,{children:"This entry exported to a\nJSON-serializable object."}),"\n",(0,n.jsx)(c.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsxs)(c.p,{children:[(0,n.jsx)(c.a,{href:"/api/@ima/core/type-aliases/SerializedCacheEntry",children:(0,n.jsx)(c.code,{children:"SerializedCacheEntry"})}),"<",(0,n.jsx)(c.code,{children:"V"}),">"]})]})}function o(e={}){const{wrapper:c}={...(0,a.R)(),...e.components};return c?(0,n.jsx)(c,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,c,s)=>{s.d(c,{R:()=>i,x:()=>t});var r=s(3696);const n={},a=r.createContext(n);function i(e){const c=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(c):{...c,...e}}),[c,e])}function t(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(a.Provider,{value:c},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c050cf1d.02981006.js b/assets/js/c050cf1d.02981006.js new file mode 100644 index 000000000..36be11512 --- /dev/null +++ b/assets/js/c050cf1d.02981006.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5933],{9778:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/classes/Execution","title":"Class: abstract Execution","description":"Defined in18","source":"@site/../docs/api/@ima/core/classes/Execution.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Execution","permalink":"/api/@ima/core/classes/Execution","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Execution.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: EventBusImpl","permalink":"/api/@ima/core/classes/EventBusImpl"},"next":{"title":"Class: abstract Extension\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/Extension"}}');var c=s(2540),i=s(3023);const r={},o="Class: abstract Execution",a={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Execution()",id:"new-execution",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"append()",id:"append",level:3},{value:"Parameters",id:"parameters",level:4},{value:"jobs",id:"jobs",level:5},{value:"Returns",id:"returns-1",level:4},{value:"execute()",id:"execute",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"args",id:"args",level:5},{value:"Returns",id:"returns-2",level:4}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsxs)(n.h1,{id:"class-abstract-execution",children:["Class: ",(0,c.jsx)(n.code,{children:"abstract"})," Execution"]})}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/Execution.ts#L18",children:"packages/core/src/execution/Execution.ts:18"})]}),"\n",(0,c.jsx)(n.p,{children:"Execution is an abstract class that defines a standard for executing jobs.\nThe execution can be either done in serial or in parallel way."}),"\n",(0,c.jsx)(n.p,{children:"When executing jobs in parallel an option should define how to deal with\na result of each individual job execution. One option would be to return the\nresult of a job that completes first. Second option is to return result of\nall jobs once they're all complete."}),"\n",(0,c.jsxs)(n.p,{children:["For serial execution you should define an option that affects how arguments\npassed to the ",(0,c.jsx)(n.code,{children:"execute"})," method are distributed. They could be either\nsupplied to each job individually (thus meaning one job's mutation won't\naffect another job) or they could be supplied to the first job and then\npiped through other jobs."]}),"\n",(0,c.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsx)(n.li,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,c.jsx)(n.code,{children:"AbstractExecution"})})}),"\n"]}),"\n",(0,c.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,c.jsx)(n.h3,{id:"new-execution",children:"new Execution()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"new Execution"}),"(): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Execution",children:(0,c.jsx)(n.code,{children:"Execution"})})]}),"\n"]}),"\n",(0,c.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Execution",children:(0,c.jsx)(n.code,{children:"Execution"})})}),"\n",(0,c.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,c.jsx)(n.h3,{id:"append",children:"append()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"append"}),"(",(0,c.jsx)(n.code,{children:"jobs"}),"): ",(0,c.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/Execution.ts#L25",children:"packages/core/src/execution/Execution.ts:25"})]}),"\n",(0,c.jsx)(n.p,{children:"Adds a new job to be executed. The job is appended at the end of the\nlist of current jobs therefore is executed last."}),"\n",(0,c.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"jobs",children:"jobs"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,c.jsx)(n.code,{children:"ExecutionJob"})}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The jobs to be executed."}),"\n",(0,c.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"void"})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"execute",children:"execute()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"execute"}),"(...",(0,c.jsx)(n.code,{children:"args"}),"): ",(0,c.jsx)(n.code,{children:"Promise"}),"<",(0,c.jsx)(n.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/Execution.ts#L36",children:"packages/core/src/execution/Execution.ts:36"})]}),"\n",(0,c.jsxs)(n.p,{children:["Start executing collected jobs. In the end a ",(0,c.jsx)(n.code,{children:"Promise"})," is returned\nwith a resulting value. On the returned ",(0,c.jsx)(n.code,{children:"Promise"})," a ",(0,c.jsx)(n.code,{children:"catch"}),"\nmethod can be called to prevent any unwanted interruption."]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"args",children:"args"}),"\n",(0,c.jsxs)(n.p,{children:["...",(0,c.jsx)(n.code,{children:"unknown"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"Arguments to be passed when executing jobs"}),"\n",(0,c.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"Promise"}),"<",(0,c.jsx)(n.code,{children:"unknown"}),">"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(l,{...e})}):l(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(3696);const c={},i=t.createContext(c);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c0d8042e.a36ed3c9.js b/assets/js/c0d8042e.a36ed3c9.js deleted file mode 100644 index c3632a6db..000000000 --- a/assets/js/c0d8042e.a36ed3c9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1273],{5680:(e,a,t)=>{t.d(a,{xA:()=>g,yg:()=>m});var i=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,i)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?r(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,i,n=function(e,a){if(null==e)return{};var t,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)t=r[i],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)t=r[i],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=i.createContext({}),p=function(e){var a=i.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},g=function(e){var a=p(e.components);return i.createElement(s.Provider,{value:a},e.children)},c="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return i.createElement(i.Fragment,{},a)}},d=i.forwardRef((function(e,a){var t=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),c=p(t),d=n,m=c["".concat(s,".").concat(d)]||c[d]||y[d]||r;return t?i.createElement(m,l(l({ref:a},g),{},{components:t})):i.createElement(m,l({ref:a},g))}));function m(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var r=t.length,l=new Array(r);l[0]=d;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[c]="string"==typeof e?e:n,l[1]=o;for(var p=2;p<r;p++)l[p]=t[p];return i.createElement.apply(null,l)}return i.createElement.apply(null,t)}d.displayName="MDXCreateElement"},9441:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>l,default:()=>y,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var i=t(8102),n=(t(6540),t(5680));const r={id:"ima_core.MessageFormatDictionary",title:"Class: MessageFormatDictionary",sidebar_label:"@ima/core.MessageFormatDictionary",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.MessageFormatDictionary",id:"api/classes/ima_core.MessageFormatDictionary",title:"Class: MessageFormatDictionary",description:"@ima/core.MessageFormatDictionary",source:"@site/../docs/api/classes/ima_core.MessageFormatDictionary.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.MessageFormatDictionary",permalink:"/api/classes/ima_core.MessageFormatDictionary",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.MessageFormatDictionary",title:"Class: MessageFormatDictionary",sidebar_label:"@ima/core.MessageFormatDictionary",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.MapStorage",permalink:"/api/classes/ima_core.MapStorage"},next:{title:"@ima/core.MetaManager",permalink:"/api/classes/ima_core.MetaManager"}},s={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_dictionary",id:"_dictionary",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_language",id:"_language",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"_getScope",id:"_getscope",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"getLanguage",id:"getlanguage",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-8",level:4}],g={toc:p},c="wrapper";function y(e){let{components:a,...t}=e;return(0,n.yg)(c,(0,i.A)({},g,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".MessageFormatDictionary"),(0,n.yg)("p",null,"Implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},"Dictionary")," interface that relies on\ncompiled MessageFormat localization messages for its dictionary."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},(0,n.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"MessageFormatDictionary"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new MessageFormatDictionary"),"()"),(0,n.yg)("p",null,"Initializes the dictionary."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,n.yg)("pre",null,(0,n.yg)("code",{parentName:"pre",className:"language-ts"},"dictionary.get('home.hello', {GENDER: 'UNSPECIFIED'});\n")),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},"Dictionary"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L30"},"packages/core/src/dictionary/MessageFormatDictionary.ts:30")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_dictionary"},"_","dictionary"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dictionary"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dictionarydata"},(0,n.yg)("inlineCode",{parentName:"a"},"DictionaryData"))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L18"},"packages/core/src/dictionary/MessageFormatDictionary.ts:18")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_language"},"_","language"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","language"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L17"},"packages/core/src/dictionary/MessageFormatDictionary.ts:17")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L20"},"packages/core/src/dictionary/MessageFormatDictionary.ts:20")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_getscope"},"_","getScope"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_getScope"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#localizationfunction"},(0,n.yg)("inlineCode",{parentName:"a"},"LocalizationFunction"))),(0,n.yg)("p",null,"Retrieves the localization scope denoted by the provided partial key.\nThis may be either an object representing a sub-group of location phrase\ngenerators, or a single generator if the provided keys denotes a single\nlocalization phrase"),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the localization phrase. The key consists of at least two parts separated by dots. The first part denotes the name of the source JSON localization file, while the rest denote a field path within the localization object within the given localization file.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#localizationfunction"},(0,n.yg)("inlineCode",{parentName:"a"},"LocalizationFunction"))),(0,n.yg)("p",null,"The requested localization scope, or ",(0,n.yg)("inlineCode",{parentName:"p"},"null")," if the specified\nscope does not exist."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L141"},"packages/core/src/dictionary/MessageFormatDictionary.ts:141")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"get"},"get"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"get"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"parameters?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Retrieves the localization phrase identified by the specified key,\nevaluates the phrase's placeholder expressions using the provided\nparameters and returns the result."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the localization phrase. The key consists of at least two parts separated by dots. The first part denotes the name of the source JSON localization file, while the rest denote a field path within the localization object within the given localization file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"parameters?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#objectparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"ObjectParameters"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The map of parameter names to the parameter values to use. Defaults to an empty plain object.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The specified localization phrase with its placeholders\nevaluated using the provided parameters."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},"Dictionary"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary#get"},"get")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L89"},"packages/core/src/dictionary/MessageFormatDictionary.ts:89")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getlanguage"},"getLanguage"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getLanguage"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the ISO 639-1 language code of the language this dictionary was\ninitialized with."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The language code representing the language of the\nlocalization phrases in this dictionary."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},"Dictionary"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary#getlanguage"},"getLanguage")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L69"},"packages/core/src/dictionary/MessageFormatDictionary.ts:69")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"has"},"has"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"has"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests whether the specified localization phrase exists in the\ndictionary."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the localization phrase. The key consists of at least two parts separated by dots. The first part denotes the name of the source JSON localization file, while the rest denote a field path within the localization object within the given localization file.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the key exists and denotes a single\nlocalization phrase, otherwise ",(0,n.yg)("inlineCode",{parentName:"p"},"false"),"."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},"Dictionary"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary#has"},"has")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L115"},"packages/core/src/dictionary/MessageFormatDictionary.ts:115")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Initializes this dictionary with the provided language and localization\nphrases."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#dictionaryconfig"},(0,n.yg)("inlineCode",{parentName:"a"},"DictionaryConfig"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The dictionary configuration.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},"Dictionary"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary#init"},"init")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/dictionary/MessageFormatDictionary.ts#L61"},"packages/core/src/dictionary/MessageFormatDictionary.ts:61")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c141421f.b636e4c3.js b/assets/js/c141421f.b636e4c3.js new file mode 100644 index 000000000..f2ead5325 --- /dev/null +++ b/assets/js/c141421f.b636e4c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[957],{936:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/c1da0157.476a4c23.js b/assets/js/c1da0157.476a4c23.js new file mode 100644 index 000000000..c6e98311e --- /dev/null +++ b/assets/js/c1da0157.476a4c23.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7295],{2190:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"api/@ima/react-page-renderer/globals","title":"@ima/react-page-renderer","description":"Classes","source":"@site/../docs/api/@ima/react-page-renderer/globals.md","sourceDirName":"api/@ima/react-page-renderer","slug":"/api/@ima/react-page-renderer/globals","permalink":"/api/@ima/react-page-renderer/globals","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/globals.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: useWindowEvent()","permalink":"/api/@ima/react-page-renderer/functions/useWindowEvent"},"next":{"title":"Interface: PageContextType","permalink":"/api/@ima/react-page-renderer/interfaces/PageContextType"}}');var i=n(2540),s=n(3023);const t={},c="@ima/react-page-renderer",l={},d=[{value:"Classes",id:"classes",level:2},{value:"Interfaces",id:"interfaces",level:2},{value:"Variables",id:"variables",level:2},{value:"Functions",id:"functions",level:2}];function p(e){const r={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"imareact-page-renderer",children:"@ima/react-page-renderer"})}),"\n",(0,i.jsx)(r.h2,{id:"classes",children:"Classes"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:"AbstractComponent"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:"AbstractPureComponent"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/BlankManagedRootView",children:"BlankManagedRootView"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary",children:"ErrorBoundary"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/PageRendererFactory",children:"PageRendererFactory"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/ServerPageRenderer",children:"ServerPageRenderer"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/ViewAdapter",children:"ViewAdapter"})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/PageContextType",children:"PageContextType"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useComponentType",children:"useComponentType"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useDispatcherType",children:"useDispatcherType"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/useEventBusType",children:"useEventBusType"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:"ViewAdapterProps"})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"variables",children:"Variables"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/variables/PageContext",children:"PageContext"})}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"functions",children:"Functions"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/cssClasses",children:"cssClasses"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/defaultCssClasses",children:"defaultCssClasses"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/fire",children:"fire"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/getUtils",children:"getUtils"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/link",children:"link"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/listen",children:"listen"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/localize",children:"localize"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/unlisten",children:"unlisten"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useComponent",children:"useComponent"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useComponentUtils",children:"useComponentUtils"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useCssClasses",children:"useCssClasses"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useDispatcher",children:"useDispatcher"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useEventBus",children:"useEventBus"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useLink",children:"useLink"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useLocalize",children:"useLocalize"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useOnce",children:"useOnce"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/usePageContext",children:"usePageContext"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useSettings",children:"useSettings"})}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/api/@ima/react-page-renderer/functions/useWindowEvent",children:"useWindowEvent"})}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>t,x:()=>c});var a=n(3696);const i={},s=a.createContext(i);function t(e){const r=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c361505b.3c4073aa.js b/assets/js/c361505b.3c4073aa.js new file mode 100644 index 000000000..548962b26 --- /dev/null +++ b/assets/js/c361505b.3c4073aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4212],{8159:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>h,default:()=>o,frontMatter:()=>a,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/core/classes/Cache","title":"Class: abstract Cache\\\\<V\\\\>","description":"Defined in11","source":"@site/../docs/api/@ima/core/classes/Cache.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Cache","permalink":"/api/@ima/core/classes/Cache","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Cache.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: Bootstrap","permalink":"/api/@ima/core/classes/Bootstrap"},"next":{"title":"Class: CacheEntry\\\\<V\\\\>","permalink":"/api/@ima/core/classes/CacheEntry"}}');var r=n(2540),i=n(3023);const a={},h="Class: abstract Cache<V>",d={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Cache()",id:"new-cache",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"delete()",id:"delete",level:3},{value:"Parameters",id:"parameters",level:4},{value:"key",id:"key",level:5},{value:"Returns",id:"returns-2",level:4},{value:"deserialize()",id:"deserialize",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"serializedData",id:"serializeddata",level:5},{value:"Returns",id:"returns-3",level:4},{value:"disable()",id:"disable",level:3},{value:"Returns",id:"returns-4",level:4},{value:"enable()",id:"enable",level:3},{value:"Returns",id:"returns-5",level:4},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"key",id:"key-2",level:5},{value:"Returns",id:"returns-7",level:4},{value:"serialize()",id:"serialize",level:3},{value:"Returns",id:"returns-8",level:4},{value:"set()",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"key",id:"key-3",level:5},{value:"value",id:"value",level:5},{value:"ttl?",id:"ttl",level:5},{value:"Returns",id:"returns-9",level:4}];function t(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsxs)(s.h1,{id:"class-abstract-cachev",children:["Class: ",(0,r.jsx)(s.code,{children:"abstract"})," Cache<V>"]})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L11",children:"packages/core/src/cache/Cache.ts:11"})]}),"\n",(0,r.jsx)(s.p,{children:"The cache provides a temporary storage for expirable information. The\nprimary use of a cache is caching information obtained via costly means\n(CPU-heavy computation or networking) to speed up the application's\nperformance when the same information needs to be retrieved multiple times."}),"\n",(0,r.jsx)(s.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/CacheImpl",children:(0,r.jsx)(s.code,{children:"CacheImpl"})})}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(s.p,{children:["\u2022 ",(0,r.jsx)(s.strong,{children:"V"})," = ",(0,r.jsx)(s.code,{children:"unknown"})]}),"\n",(0,r.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(s.h3,{id:"new-cache",children:"new Cache()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"new Cache"}),"<",(0,r.jsx)(s.code,{children:"V"}),">(): ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Cache",children:(0,r.jsx)(s.code,{children:"Cache"})}),"<",(0,r.jsx)(s.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,r.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Cache",children:(0,r.jsx)(s.code,{children:"Cache"})}),"<",(0,r.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,r.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"clear"}),"(): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L15",children:"packages/core/src/cache/Cache.ts:15"})]}),"\n",(0,r.jsx)(s.p,{children:"Clears the cache by deleting all entries."}),"\n",(0,r.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"delete",children:"delete()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"delete"}),"(",(0,r.jsx)(s.code,{children:"key"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L69",children:"packages/core/src/cache/Cache.ts:69"})]}),"\n",(0,r.jsx)(s.p,{children:"Deletes the specified cache entry. The method has no effect if the entry\ndoes not exist."}),"\n",(0,r.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"key",children:"key"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The identifier of the cache entry."}),"\n",(0,r.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"deserialize",children:"deserialize()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"deserialize"}),"(",(0,r.jsx)(s.code,{children:"serializedData"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L118",children:"packages/core/src/cache/Cache.ts:118"})]}),"\n",(0,r.jsx)(s.p,{children:"Loads the provided serialized cache data into this cache. Entries\npresent in this cache but not specified in the provided data will remain\nin this cache intact."}),"\n",(0,r.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"serializeddata",children:"serializedData"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/SerializedData",children:(0,r.jsx)(s.code,{children:"SerializedData"})}),"<",(0,r.jsx)(s.code,{children:"V"}),">"]}),"\n",(0,r.jsxs)(s.p,{children:["An\nobject representing the state of the cache to load, obtained by\nparsing the JSON string returned by the ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Cache#serialize",children:"Cache#serialize"}),"\nmethod."]}),"\n",(0,r.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"disable",children:"disable()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"disable"}),"(): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L83",children:"packages/core/src/cache/Cache.ts:83"})]}),"\n",(0,r.jsx)(s.p,{children:"Disables the cache, preventing the retrieval of any cached entries and\nreporting all cache entries as non-existing. Disabling the cache does\nnot however prevent modifying the existing or creating new cache\nentries."}),"\n",(0,r.jsx)(s.p,{children:"Disabling the cache also clears all of its current entries."}),"\n",(0,r.jsx)(s.p,{children:"The method has no effect if the cache is already disabled."}),"\n",(0,r.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"enable",children:"enable()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"enable"}),"(): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L92",children:"packages/core/src/cache/Cache.ts:92"})]}),"\n",(0,r.jsx)(s.p,{children:"Enables the cache, allowing the retrieval of cache entries."}),"\n",(0,r.jsx)(s.p,{children:"The method has no effect if the cache is already enabled."}),"\n",(0,r.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"get",children:"get()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"get"}),"(",(0,r.jsx)(s.code,{children:"key"}),"): ",(0,r.jsx)(s.code,{children:"null"})," | ",(0,r.jsx)(s.code,{children:"V"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L43",children:"packages/core/src/cache/Cache.ts:43"})]}),"\n",(0,r.jsx)(s.p,{children:"Returns the value of the entry identified by the specified key."}),"\n",(0,r.jsxs)(s.p,{children:["The method returns ",(0,r.jsx)(s.code,{children:"null"})," if the specified entry does not exist, has\nalready expired, or the cache is currently disabled."]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"key-1",children:"key"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The identifier of the cache entry."}),"\n",(0,r.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"null"})," | ",(0,r.jsx)(s.code,{children:"V"})]}),"\n",(0,r.jsxs)(s.p,{children:["The value of the specified cache entry, or ",(0,r.jsx)(s.code,{children:"null"})," if the entry\nis not available."]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"has",children:"has()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"has"}),"(",(0,r.jsx)(s.code,{children:"key"}),"): ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L29",children:"packages/core/src/cache/Cache.ts:29"})]}),"\n",(0,r.jsx)(s.p,{children:"Tests whether the cache contains a fresh entry for the specified key. A\ncache entry is fresh if the has not expired its TTL (time to live)."}),"\n",(0,r.jsxs)(s.p,{children:["The method always returns ",(0,r.jsx)(s.code,{children:"false"})," if the cache is currently disabled."]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"key-2",children:"key"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The identifier of the cache entry."}),"\n",(0,r.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"boolean"})}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"true"})," if the cache is enabled, the entry exists and has\nnot expired yet."]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"serialize",children:"serialize()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"serialize"}),"(): ",(0,r.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L104",children:"packages/core/src/cache/Cache.ts:104"})]}),"\n",(0,r.jsxs)(s.p,{children:["Exports the state of this cache to an HTML-safe JSON string. The data\nobtained by parsing the result of this method are compatible with the\n",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Cache#deserialize",children:"Cache#deserialize"})," method."]}),"\n",(0,r.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"A JSON string containing an object representing of the\ncurrent state of this cache."}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"set",children:"set()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"set"}),"(",(0,r.jsx)(s.code,{children:"key"}),", ",(0,r.jsx)(s.code,{children:"value"}),", ",(0,r.jsx)(s.code,{children:"ttl"}),"?): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/Cache.ts#L59",children:"packages/core/src/cache/Cache.ts:59"})]}),"\n",(0,r.jsx)(s.p,{children:"Sets the cache entry identified by the specified key to the provided\nvalue. The entry is created if it does not exist yet."}),"\n",(0,r.jsx)(s.p,{children:"The method has no effect if the cache is currently disabled."}),"\n",(0,r.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"key-3",children:"key"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"string"})}),"\n",(0,r.jsx)(s.p,{children:"The identifier of the cache entry."}),"\n",(0,r.jsx)(s.h5,{id:"value",children:"value"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"V"})}),"\n",(0,r.jsx)(s.p,{children:"The cache entry value."}),"\n",(0,r.jsx)(s.h5,{id:"ttl",children:"ttl?"}),"\n",(0,r.jsxs)(s.p,{children:["Cache entry time to live in milliseconds. The\nentry will expire after the specified amount of milliseconds. Use\n",(0,r.jsx)(s.code,{children:"null"})," or omit the parameter to use the default TTL of this cache."]}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"string"})," | ",(0,r.jsx)(s.code,{children:"number"})]}),"\n",(0,r.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})})]})}function o(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>h});var c=n(3696);const r={},i=c.createContext(r);function a(e){const s=c.useContext(i);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),c.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c391e67c.f308db51.js b/assets/js/c391e67c.f308db51.js new file mode 100644 index 000000000..52e04359e --- /dev/null +++ b/assets/js/c391e67c.f308db51.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3796],{7038:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>d});const c=JSON.parse('{"id":"api/@ima/core/interfaces/RouteLocals","title":"Interface: RouteLocals","description":"Defined in23","source":"@site/../docs/api/@ima/core/interfaces/RouteLocals.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/RouteLocals","permalink":"/api/@ima/core/interfaces/RouteLocals","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/RouteLocals.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: RouteFactoryOptions","permalink":"/api/@ima/core/interfaces/RouteFactoryOptions"},"next":{"title":"Interface: RouteOptions","permalink":"/api/@ima/core/interfaces/RouteOptions"}}');var o=r(2540),n=r(3023);const s={},i="Interface: RouteLocals",a={},d=[{value:"Indexable",id:"indexable",level:2},{value:"Properties",id:"properties",level:2},{value:"action?",id:"action",level:3},{value:"route?",id:"route",level:3}];function l(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"interface-routelocals",children:"Interface: RouteLocals"})}),"\n",(0,o.jsxs)(t.p,{children:["Defined in: ",(0,o.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L23",children:"packages/core/src/router/Router.ts:23"})]}),"\n",(0,o.jsx)(t.h2,{id:"indexable",children:"Indexable"}),"\n",(0,o.jsxs)(t.p,{children:["[",(0,o.jsx)(t.code,{children:"key"}),": ",(0,o.jsx)(t.code,{children:"string"}),"]: ",(0,o.jsx)(t.code,{children:"unknown"})]}),"\n",(0,o.jsx)(t.h2,{id:"properties",children:"Properties"}),"\n",(0,o.jsx)(t.h3,{id:"action",children:"action?"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"optional"})," ",(0,o.jsx)(t.strong,{children:"action"}),": ",(0,o.jsx)(t.a,{href:"/api/@ima/core/interfaces/RouteAction",children:(0,o.jsx)(t.code,{children:"RouteAction"})})]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Defined in: ",(0,o.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L25",children:"packages/core/src/router/Router.ts:25"})]}),"\n",(0,o.jsx)(t.hr,{}),"\n",(0,o.jsx)(t.h3,{id:"route",children:"route?"}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"optional"})," ",(0,o.jsx)(t.strong,{children:"route"}),": ",(0,o.jsx)(t.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,o.jsx)(t.code,{children:"AbstractRoute"})}),"<",(0,o.jsx)(t.code,{children:"string"})," | ",(0,o.jsx)(t.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,o.jsx)(t.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Defined in: ",(0,o.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/Router.ts#L26",children:"packages/core/src/router/Router.ts:26"})]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},3023:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>i});var c=r(3696);const o={},n=c.createContext(o);function s(e){const t=c.useContext(n);return c.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),c.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3d83163.e366b926.js b/assets/js/c3d83163.e366b926.js new file mode 100644 index 000000000..5a5dea37c --- /dev/null +++ b/assets/js/c3d83163.e366b926.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4352],{8232:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>o,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/classes/PageStateManager","title":"Class: abstract PageStateManager\\\\<S\\\\>","description":"Defined in6","source":"@site/../docs/api/@ima/core/classes/PageStateManager.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageStateManager","permalink":"/api/@ima/core/classes/PageStateManager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageStateManager.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract PageRenderer","permalink":"/api/@ima/core/classes/PageRenderer"},"next":{"title":"Class: PageStateManagerDecorator","permalink":"/api/@ima/core/classes/PageStateManagerDecorator"}}');var n=t(2540),r=t(3023);const c={},i="Class: abstract PageStateManager<S>",l={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageStateManager()",id:"new-pagestatemanager",level:3},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"onChange()?",id:"onchange",level:3},{value:"Parameters",id:"parameters",level:4},{value:"newState",id:"newstate",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Methods",id:"methods",level:2},{value:"beginTransaction()",id:"begintransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"cancelTransaction()",id:"canceltransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-4",level:4},{value:"commitTransaction()",id:"committransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"getAllStates()",id:"getallstates",level:3},{value:"Returns",id:"returns-6",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-7",level:4},{value:"getTransactionStatePatches()",id:"gettransactionstatepatches",level:3},{value:"Returns",id:"returns-8",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"patchState",id:"patchstate",level:5},{value:"Returns",id:"returns-9",level:4}];function h(e){const a={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsxs)(a.h1,{id:"class-abstract-pagestatemanagers",children:["Class: ",(0,n.jsx)(a.code,{children:"abstract"})," PageStateManager<S>"]})}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L6",children:"packages/core/src/page/state/PageStateManager.ts:6"})]}),"\n",(0,n.jsx)(a.p,{children:"Manager of the current page state and state history."}),"\n",(0,n.jsx)(a.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsx)(a.li,{children:(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManagerDecorator",children:(0,n.jsx)(a.code,{children:"PageStateManagerDecorator"})})}),"\n",(0,n.jsx)(a.li,{children:(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManagerImpl",children:(0,n.jsx)(a.code,{children:"PageStateManagerImpl"})})}),"\n"]}),"\n",(0,n.jsx)(a.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,n.jsxs)(a.p,{children:["\u2022 ",(0,n.jsx)(a.strong,{children:"S"})," ",(0,n.jsx)(a.em,{children:"extends"})," ",(0,n.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,n.jsx)(a.code,{children:"PageState"})})," = {}"]}),"\n",(0,n.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(a.h3,{id:"new-pagestatemanager",children:"new PageStateManager()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"new PageStateManager"}),"<",(0,n.jsx)(a.code,{children:"S"}),">(): ",(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),"<",(0,n.jsx)(a.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,n.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,n.jsx)(a.code,{children:"PageStateManager"})}),"<",(0,n.jsx)(a.code,{children:"S"}),">"]}),"\n",(0,n.jsx)(a.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(a.h3,{id:"onchange",children:"onChange()?"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"optional"})," ",(0,n.jsx)(a.strong,{children:"onChange"}),": (",(0,n.jsx)(a.code,{children:"newState"}),") => ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L7",children:"packages/core/src/page/state/PageStateManager.ts:7"})]}),"\n",(0,n.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"newstate",children:"newState"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"S"})}),"\n",(0,n.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(a.h3,{id:"begintransaction",children:"beginTransaction()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"beginTransaction"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L64",children:"packages/core/src/page/state/PageStateManager.ts:64"})]}),"\n",(0,n.jsxs)(a.p,{children:["Starts queueing state patches off the main state. While the transaction\nis active every ",(0,n.jsx)(a.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,n.jsxs)(a.p,{children:["Note that call to ",(0,n.jsx)(a.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,n.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"canceltransaction",children:"cancelTransaction()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"cancelTransaction"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L79",children:"packages/core/src/page/state/PageStateManager.ts:79"})]}),"\n",(0,n.jsx)(a.p,{children:"Cancels ongoing transaction. Uncommitted state changes are lost."}),"\n",(0,n.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"clear",children:"clear()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"clear"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L12",children:"packages/core/src/page/state/PageStateManager.ts:12"})]}),"\n",(0,n.jsx)(a.p,{children:"Clears the state history."}),"\n",(0,n.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"committransaction",children:"commitTransaction()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"commitTransaction"}),"(): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L72",children:"packages/core/src/page/state/PageStateManager.ts:72"})]}),"\n",(0,n.jsxs)(a.p,{children:["Applies queued state patches to the main state. All patches are squashed\nand applied with one ",(0,n.jsx)(a.code,{children:"setState"})," call."]}),"\n",(0,n.jsx)(a.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"getallstates",children:"getAllStates()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"getAllStates"}),"(): ",(0,n.jsx)(a.code,{children:"S"}),"[]"]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L44",children:"packages/core/src/page/state/PageStateManager.ts:44"})]}),"\n",(0,n.jsx)(a.p,{children:"Returns the recorded history of page states. The states will be\nchronologically sorted from the oldest to the newest."}),"\n",(0,n.jsx)(a.p,{children:"Note that the implementation may limit the size of the recorded history,\ntherefore the complete history may not be available."}),"\n",(0,n.jsx)(a.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"S"}),"[]"]}),"\n",(0,n.jsx)(a.p,{children:"The recorded history of page states."}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"getstate",children:"getState()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"getState"}),"(): ",(0,n.jsx)(a.code,{children:"S"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L31",children:"packages/core/src/page/state/PageStateManager.ts:31"})]}),"\n",(0,n.jsx)(a.p,{children:"Returns the current page state."}),"\n",(0,n.jsx)(a.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"S"})}),"\n",(0,n.jsx)(a.p,{children:"The current page state."}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"gettransactionstatepatches",children:"getTransactionStatePatches()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"getTransactionStatePatches"}),"(): (",(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"S"})," | ",(0,n.jsx)(a.code,{children:"Pick"}),"<",(0,n.jsx)(a.code,{children:"S"}),", ",(0,n.jsx)(a.code,{children:"any"}),">)[]"]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L53",children:"packages/core/src/page/state/PageStateManager.ts:53"})]}),"\n",(0,n.jsx)(a.p,{children:"Returns queueing state patches off the main state from the begin of transaction."}),"\n",(0,n.jsx)(a.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsxs)(a.p,{children:["(",(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"S"})," | ",(0,n.jsx)(a.code,{children:"Pick"}),"<",(0,n.jsx)(a.code,{children:"S"}),", ",(0,n.jsx)(a.code,{children:"any"}),">)[]"]}),"\n",(0,n.jsx)(a.p,{children:"State patches from the begin of transaction."}),"\n",(0,n.jsx)(a.hr,{}),"\n",(0,n.jsx)(a.h3,{id:"setstate",children:"setState()"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"setState"}),"<",(0,n.jsx)(a.code,{children:"K"}),">(",(0,n.jsx)(a.code,{children:"patchState"}),"): ",(0,n.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/state/PageStateManager.ts#L22",children:"packages/core/src/page/state/PageStateManager.ts:22"})]}),"\n",(0,n.jsx)(a.p,{children:"Sets a new page state by applying the provided patch to the current\nstate."}),"\n",(0,n.jsx)(a.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,n.jsxs)(a.p,{children:["\u2022 ",(0,n.jsx)(a.strong,{children:"K"})," ",(0,n.jsx)(a.em,{children:"extends"})," ",(0,n.jsx)(a.code,{children:"string"})," | ",(0,n.jsx)(a.code,{children:"number"})," | ",(0,n.jsx)(a.code,{children:"symbol"})]}),"\n",(0,n.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsx)(a.h5,{id:"patchstate",children:"patchState"}),"\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.code,{children:"null"})," | ",(0,n.jsx)(a.code,{children:"S"})," | ",(0,n.jsx)(a.code,{children:"Pick"}),"<",(0,n.jsx)(a.code,{children:"S"}),", ",(0,n.jsx)(a.code,{children:"K"}),">"]}),"\n",(0,n.jsx)(a.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsx)(a.p,{children:(0,n.jsx)(a.code,{children:"void"})})]})}function o(e={}){const{wrapper:a}={...(0,r.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>c,x:()=>i});var s=t(3696);const n={},r=s.createContext(n);function c(e){const a=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),s.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c4faeb28.5914c0f1.js b/assets/js/c4faeb28.5914c0f1.js new file mode 100644 index 000000000..6af7f67ed --- /dev/null +++ b/assets/js/c4faeb28.5914c0f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5202],{6767:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>p});const a=JSON.parse('{"id":"api/@ima/core/functions/getNamespace","title":"Function: getNamespace()","description":"getNamespace(): Namespace","source":"@site/../docs/api/@ima/core/functions/getNamespace.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/getNamespace","permalink":"/api/@ima/core/functions/getNamespace","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/getNamespace.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getInitialPluginConfig()","permalink":"/api/@ima/core/functions/getInitialPluginConfig"},"next":{"title":"Function: onLoad()","permalink":"/api/@ima/core/functions/onLoad"}}');var c=t(2540),s=t(3023);const i={},o="Function: getNamespace()",r={},p=[{value:"Returns",id:"returns",level:2}];function m(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"function-getnamespace",children:"Function: getNamespace()"})}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"getNamespace"}),"(): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,c.jsx)(n.code,{children:"Namespace"})})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L125",children:"packages/core/src/Namespace.ts:125"})]}),"\n",(0,c.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,c.jsx)(n.code,{children:"Namespace"})})})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(m,{...e})}):m(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var a=t(3696);const c={},s=a.createContext(c);function i(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c5cbe7ce.9563ac36.js b/assets/js/c5cbe7ce.9563ac36.js new file mode 100644 index 000000000..4c867ae69 --- /dev/null +++ b/assets/js/c5cbe7ce.9563ac36.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6900],{8750:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/InitServicesFunction","title":"Type Alias: InitServicesFunction()","description":"InitServicesFunction: (ns, oc, config) => void","source":"@site/../docs/api/@ima/core/type-aliases/InitServicesFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/InitServicesFunction","permalink":"/api/@ima/core/type-aliases/InitServicesFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/InitServicesFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: InitRoutesFunction()","permalink":"/api/@ima/core/type-aliases/InitRoutesFunction"},"next":{"title":"Type Alias: InitSettingsFunction()","permalink":"/api/@ima/core/type-aliases/InitSettingsFunction"}}');var c=i(2540),t=i(3023);const r={},o="Type Alias: InitServicesFunction()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"config",id:"config",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"type-alias-initservicesfunction",children:"Type Alias: InitServicesFunction()"})}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"InitServicesFunction"}),": (",(0,c.jsx)(n.code,{children:"ns"}),", ",(0,c.jsx)(n.code,{children:"oc"}),", ",(0,c.jsx)(n.code,{children:"config"}),") => ",(0,c.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L30",children:"packages/core/src/Bootstrap.ts:30"})]}),"\n",(0,c.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(n.h3,{id:"ns",children:"ns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,c.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,c.jsx)(n.h3,{id:"oc",children:"oc"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,c.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,c.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,c.jsx)(n.code,{children:"BootConfig"})}),"[",(0,c.jsx)(n.code,{children:'"services"'}),"]"]}),"\n",(0,c.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"void"})})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>o});var s=i(3696);const c={},t=s.createContext(c);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c69312c2.9c40a064.js b/assets/js/c69312c2.9c40a064.js deleted file mode 100644 index 235e27f95..000000000 --- a/assets/js/c69312c2.9c40a064.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5230],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>u});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),c=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},s=function(e){var a=c(e.components);return r.createElement(p.Provider,{value:a},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=c(t),m=n,u=d["".concat(p,".").concat(m)]||d[m]||g[m]||i;return t?r.createElement(u,l(l({ref:a},s),{},{components:t})):r.createElement(u,l({ref:a},s))}));function u(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=m;var o={};for(var p in a)hasOwnProperty.call(a,p)&&(o[p]=a[p]);o.originalType=e,o[d]="string"==typeof e?e:n,l[1]=o;for(var c=2;c<i;c++)l[c]=t[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},9377:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>g,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.SerialBatch",title:"Class: SerialBatch",sidebar_label:"@ima/core.SerialBatch",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.SerialBatch",id:"api/classes/ima_core.SerialBatch",title:"Class: SerialBatch",description:"@ima/core.SerialBatch",source:"@site/../docs/api/classes/ima_core.SerialBatch.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.SerialBatch",permalink:"/api/classes/ima_core.SerialBatch",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.SerialBatch",title:"Class: SerialBatch",sidebar_label:"@ima/core.SerialBatch",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Router",permalink:"/api/classes/ima_core.Router"},next:{title:"@ima/core.ServerPageManager",permalink:"/api/classes/ima_core.ServerPageManager"}},p={},c=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_jobs",id:"_jobs",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Methods",id:"methods",level:2},{value:"_executeJob",id:"_executejob",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"_validateJob",id:"_validatejob",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"append",id:"append",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"execute",id:"execute",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in-5",level:4}],s={toc:c},d="wrapper";function g(e){let{components:a,...t}=e;return(0,n.yg)(d,(0,r.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".SerialBatch"),(0,n.yg)("p",null,"Basic implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},"Execution")," interface. Provides the basic\nfunctionality for appending and validating jobs."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractExecution"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"SerialBatch"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new SerialBatch"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"jobs?"),")"),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Default value"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"jobs")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,n.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"[]"))))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},"AbstractExecution"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L13"},"packages/core/src/execution/AbstractExecution.ts:13")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_jobs"},"_","jobs"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","jobs"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#executionjob"},(0,n.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},"AbstractExecution"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution#_jobs"},"_jobs")),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L11"},"packages/core/src/execution/AbstractExecution.ts:11")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_executejob"},"_","executeJob"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_executeJob"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"stage"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"args"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"stage")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,n.yg)("inlineCode",{parentName:"a"},"ExecutionJob")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"args")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"),"[]")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/SerialBatch.ts#L22"},"packages/core/src/execution/SerialBatch.ts:22")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_validatejob"},"_","validateJob"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_validateJob"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"job"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Return ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the given job can be executed"),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"job")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,n.yg)("inlineCode",{parentName:"a"},"ExecutionJob")))))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},"AbstractExecution"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution#_validatejob"},"_validateJob")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L44"},"packages/core/src/execution/AbstractExecution.ts:44")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"append"},"append"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"append"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"jobs"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Adds a new job to be executed. The job is appended at the end of the\nlist of current jobs therefore is executed last."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"jobs")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,n.yg)("inlineCode",{parentName:"a"},"ExecutionJob"))," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#executionjob"},(0,n.yg)("inlineCode",{parentName:"a"},"ExecutionJob")),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The jobs to be executed.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},"AbstractExecution"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution#append"},"append")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/AbstractExecution.ts#L22"},"packages/core/src/execution/AbstractExecution.ts:22")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"execute"},"execute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"execute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"...args"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,n.yg)("p",null,"Start executing collected jobs. In the end a ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise")," is returned\nwith a resulting value. On the returned ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise")," a ",(0,n.yg)("inlineCode",{parentName:"p"},"catch"),"\nmethod can be called to prevent any unwanted interruption."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"...args")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Arguments to be passed when executing jobs")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution"},"AbstractExecution"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractExecution#execute"},"execute")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/execution/SerialBatch.ts#L8"},"packages/core/src/execution/SerialBatch.ts:8")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c6c9d087.3b2a7bbb.js b/assets/js/c6c9d087.3b2a7bbb.js new file mode 100644 index 000000000..161c3131f --- /dev/null +++ b/assets/js/c6c9d087.3b2a7bbb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2111],{5794:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>_,frontMatter:()=>n,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX","description":"const RE\\\\_VALID\\\\_FRAME\\\\_FIREFOX: RegExp","source":"@site/../docs/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX.md","sourceDirName":"api/@ima/dev-utils/variables","slug":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","permalink":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_CHROME","permalink":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME"},"next":{"title":"Variable: logger","permalink":"/api/@ima/dev-utils/variables/logger"}}');var s=a(2540),r=a(3023);const n={},o="Variable: RE_VALID_FRAME_FIREFOX",c={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"variable-re_valid_frame_firefox",children:"Variable: RE_VALID_FRAME_FIREFOX"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"const"})," ",(0,s.jsx)(t.strong,{children:"RE_VALID_FRAME_FIREFOX"}),": ",(0,s.jsx)(t.code,{children:"RegExp"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/helpers.ts#L3",children:"helpers.ts:3"})]})]})}function _(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>n,x:()=>o});var i=a(3696);const s={},r=i.createContext(s);function n(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c6f16711.39896055.js b/assets/js/c6f16711.39896055.js deleted file mode 100644 index 0cf4807db..000000000 --- a/assets/js/c6f16711.39896055.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8984],{5680:(e,n,i)=>{i.d(n,{xA:()=>s,yg:()=>c});var a=i(6540);function l(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function t(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(n){l(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function p(e,n){if(null==e)return{};var i,a,l=function(e,n){if(null==e)return{};var i,a,l={},t=Object.keys(e);for(a=0;a<t.length;a++)i=t[a],n.indexOf(i)>=0||(l[i]=e[i]);return l}(e,n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);for(a=0;a<t.length;a++)i=t[a],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(l[i]=e[i])}return l}var o=a.createContext({}),g=function(e){var n=a.useContext(o),i=n;return e&&(i="function"==typeof e?e(n):r(r({},n),e)),i},s=function(e){var n=g(e.components);return a.createElement(o.Provider,{value:n},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var i=e.components,l=e.mdxType,t=e.originalType,o=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),d=g(i),m=l,c=d["".concat(o,".").concat(m)]||d[m]||y[m]||t;return i?a.createElement(c,r(r({ref:n},s),{},{components:i})):a.createElement(c,r({ref:n},s))}));function c(e,n){var i=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var t=i.length,r=new Array(t);r[0]=m;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[d]="string"==typeof e?e:l,r[1]=p;for(var g=2;g<t;g++)r[g]=i[g];return a.createElement.apply(null,r)}return a.createElement.apply(null,i)}m.displayName="MDXCreateElement"},104:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>y,frontMatter:()=>t,metadata:()=>p,toc:()=>g});var a=i(8102),l=(i(6540),i(5680));const t={id:"ima_cli.ImaCliArgs",title:"Interface: ImaCliArgs",sidebar_label:"@ima/cli.ImaCliArgs",custom_edit_url:null},r=void 0,p={unversionedId:"api/interfaces/ima_cli.ImaCliArgs",id:"api/interfaces/ima_cli.ImaCliArgs",title:"Interface: ImaCliArgs",description:"@ima/cli.ImaCliArgs",source:"@site/../docs/api/interfaces/ima_cli.ImaCliArgs.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_cli.ImaCliArgs",permalink:"/api/interfaces/ima_cli.ImaCliArgs",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_cli.ImaCliArgs",title:"Interface: ImaCliArgs",sidebar_label:"@ima/cli.ImaCliArgs",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/react-page-renderer.ViewAdapter",permalink:"/api/classes/ima_react_page_renderer.ViewAdapter"},next:{title:"@ima/cli.ImaCliPlugin",permalink:"/api/interfaces/ima_cli.ImaCliPlugin"}},o={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"clean",id:"clean",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"clearCache",id:"clearcache",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"command",id:"command",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"environment",id:"environment",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"forceLegacy",id:"forcelegacy",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"forceSPA",id:"forcespa",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"hostname",id:"hostname",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"ignoreWarnings",id:"ignorewarnings",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"inspect",id:"inspect",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"lazyServer",id:"lazyserver",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"legacy",id:"legacy",level:3},{value:"Defined in",id:"defined-in-10",level:4},{value:"open",id:"open",level:3},{value:"Defined in",id:"defined-in-11",level:4},{value:"openUrl",id:"openurl",level:3},{value:"Defined in",id:"defined-in-12",level:4},{value:"port",id:"port",level:3},{value:"Defined in",id:"defined-in-13",level:4},{value:"profile",id:"profile",level:3},{value:"Defined in",id:"defined-in-14",level:4},{value:"publicUrl",id:"publicurl",level:3},{value:"Defined in",id:"defined-in-15",level:4},{value:"reactRefresh",id:"reactrefresh",level:3},{value:"Defined in",id:"defined-in-16",level:4},{value:"rootDir",id:"rootdir",level:3},{value:"Defined in",id:"defined-in-17",level:4},{value:"verbose",id:"verbose",level:3},{value:"Defined in",id:"defined-in-18",level:4},{value:"writeToDisk",id:"writetodisk",level:3},{value:"Defined in",id:"defined-in-19",level:4}],s={toc:g},d="wrapper";function y(e){let{components:n,...i}=e;return(0,l.yg)(d,(0,a.A)({},s,i,{components:n,mdxType:"MDXLayout"}),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"/api/modules/ima_cli"},"@ima/cli"),".ImaCliArgs"),(0,l.yg)("p",null,"Arguments generated from ima CLI commands."),(0,l.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,l.yg)("ul",null,(0,l.yg)("li",{parentName:"ul"},(0,l.yg)("p",{parentName:"li"},(0,l.yg)("strong",{parentName:"p"},(0,l.yg)("inlineCode",{parentName:"strong"},"ImaCliArgs"))),(0,l.yg)("p",{parentName:"li"},"\u21b3 ",(0,l.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,l.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext"))),(0,l.yg)("p",{parentName:"li"},"\u21b3 ",(0,l.yg)("a",{parentName:"p",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,l.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext"))))),(0,l.yg)("h2",{id:"properties"},"Properties"),(0,l.yg)("h3",{id:"clean"},"clean"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("strong",{parentName:"p"},"clean"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L33"},"types.ts:33")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"clearcache"},"clearCache"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"clearCache"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L34"},"types.ts:34")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"command"},"command"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("strong",{parentName:"p"},"command"),": ",(0,l.yg)("a",{parentName:"p",href:"/api/modules/ima_cli#imaclicommand"},(0,l.yg)("inlineCode",{parentName:"a"},"ImaCliCommand"))),(0,l.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L32"},"types.ts:32")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"environment"},"environment"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("strong",{parentName:"p"},"environment"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L46"},"types.ts:46")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"forcelegacy"},"forceLegacy"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"forceLegacy"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L49"},"types.ts:49")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"forcespa"},"forceSPA"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"forceSPA"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L41"},"types.ts:41")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"hostname"},"hostname"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"hostname"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L44"},"types.ts:44")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"ignorewarnings"},"ignoreWarnings"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"ignoreWarnings"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L37"},"types.ts:37")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"inspect"},"inspect"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"inspect"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L36"},"types.ts:36")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"lazyserver"},"lazyServer"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"lazyServer"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L50"},"types.ts:50")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"legacy"},"legacy"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"legacy"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L40"},"types.ts:40")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"open"},"open"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"open"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L38"},"types.ts:38")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"openurl"},"openUrl"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"openUrl"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L39"},"types.ts:39")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"port"},"port"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"port"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"number")),(0,l.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L43"},"types.ts:43")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"profile"},"profile"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"profile"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L42"},"types.ts:42")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"publicurl"},"publicUrl"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"publicUrl"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L45"},"types.ts:45")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"reactrefresh"},"reactRefresh"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"reactRefresh"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L48"},"types.ts:48")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"rootdir"},"rootDir"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("strong",{parentName:"p"},"rootDir"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"string")),(0,l.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L31"},"types.ts:31")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"verbose"},"verbose"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"verbose"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L35"},"types.ts:35")),(0,l.yg)("hr",null),(0,l.yg)("h3",{id:"writetodisk"},"writeToDisk"),(0,l.yg)("p",null,"\u2022 ",(0,l.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,l.yg)("strong",{parentName:"p"},"writeToDisk"),": ",(0,l.yg)("inlineCode",{parentName:"p"},"boolean")),(0,l.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,l.yg)("p",null,(0,l.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L47"},"types.ts:47")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7fb0ffe.05aa4f41.js b/assets/js/c7fb0ffe.05aa4f41.js deleted file mode 100644 index e3df229e9..000000000 --- a/assets/js/c7fb0ffe.05aa4f41.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1916],{1379:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/diagram-extensions-18900886a7c88b68d3d538a161a0170e.png"},5680:(e,n,t)=>{t.d(n,{xA:()=>p,yg:()=>g});var o=t(6540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,o,r=function(e,n){if(null==e)return{};var t,o,r={},s=Object.keys(e);for(o=0;o<s.length;o++)t=s[o],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)t=s[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=o.createContext({}),c=function(e){var n=o.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},p=function(e){var n=c(e.components);return o.createElement(l.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,s=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=c(t),m=r,g=d["".concat(l,".").concat(m)]||d[m]||u[m]||s;return t?o.createElement(g,a(a({ref:n},p),{},{components:t})):o.createElement(g,a({ref:n},p))}));function g(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var s=t.length,a=new Array(s);a[0]=m;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[d]="string"==typeof e?e:r,a[1]=i;for(var c=2;c<s;c++)a[c]=t[c];return o.createElement.apply(null,a)}return o.createElement.apply(null,t)}m.displayName="MDXCreateElement"},2917:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=t(8102),r=(t(6540),t(5680));const s={title:"Extensions",description:"Basic features > Extensions as a companion to Controllers"},a=void 0,i={unversionedId:"basic-features/extensions",id:"basic-features/extensions",title:"Extensions",description:"Basic features > Extensions as a companion to Controllers",source:"@site/../docs/basic-features/extensions.md",sourceDirName:"basic-features",slug:"/basic-features/extensions",permalink:"/basic-features/extensions",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/extensions.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Extensions",description:"Basic features > Extensions as a companion to Controllers"},sidebar:"docs",previous:{title:"Async Routing",permalink:"/basic-features/routing/async-routing"},next:{title:"Object Container",permalink:"/basic-features/object-container"}},l={},c=[{value:"Why use extensions",id:"why-use-extensions",level:2},{value:"How to use extensions",id:"how-to-use-extensions",level:2},{value:"Passing partial state from controllers",id:"passing-partial-state-from-controllers",level:2}],p={toc:c},d="wrapper";function u(e){let{components:n,...s}=e;return(0,r.yg)(d,(0,o.A)({},p,s,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"Extensions provide means of extending the page controllers with additional\nmanaged state and logic."),(0,r.yg)("p",null,"An extension has access to the current route\nparameters, can specify the resources to load when the page is loading or\nbeing updated, may intercept event bus events and modify the state of the\npage just like an ordinary controller, except that the modifications are\nrestricted to the state fields which the extension explicitly specifies\nusing its ",(0,r.yg)("inlineCode",{parentName:"p"},"getAllowedStateKeys()")," method."),(0,r.yg)("p",null,(0,r.yg)("img",{src:t(1379).A,width:"881",height:"421"})),(0,r.yg)("h2",{id:"why-use-extensions"},"Why use extensions"),(0,r.yg)("p",null,"Best case to use extension is a component that\nrequires interception of controller lifecycle events and/or loading external\ndata."),(0,r.yg)("p",null,"Putting the component's logic inside the controller would be unwise for 3\nreasons:"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"Controller would contain code that is not as clear. For newcomers to\nyour project it'd seem strange why you're mixing e.g. ",(0,r.yg)("strong",{parentName:"li"},"HomeController"),"\nlogic with ",(0,r.yg)("strong",{parentName:"li"},"GalleryComponent")," logic."),(0,r.yg)("li",{parentName:"ol"},"Component file and its extension file should be kept together because nothing is\nbigger pain than searching for related code in the whole project structure."),(0,r.yg)("li",{parentName:"ol"},"Component can be used in multiple Views. That means you'd have to\ncopy &\xa0paste the same logic to multiple controllers.")),(0,r.yg)("h2",{id:"how-to-use-extensions"},"How to use extensions"),(0,r.yg)("p",null,"As mentioned above, the extension file should be next to a file of the component\nit's extending. For example:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"app/\n \u251c\u2500 ...\n \u251c\u2500 component\n | \u251c\u2500 ...\n | \u2514\u2500 gallery\n | | \u251c\u2500 Gallery.jsx\n | | \u251c\u2500 gallery.less\n | | \u2514\u2500 GalleryExtension.js\n | \u2514\u2500 ...\n \u2514\u2500 ...\n")),(0,r.yg)("p",null,"In the extension file should be plain ",(0,r.yg)("inlineCode",{parentName:"p"},"class")," extending\n",(0,r.yg)("inlineCode",{parentName:"p"},"ima/extension/AbstractExtension")," with the same methods as you'd use in the controller. In addition you should implement ",(0,r.yg)("inlineCode",{parentName:"p"},"getAllowedStateKeys()")," method which returns array of keys the extension is allowed to change in controller's state. (If the extension itself creates the state key, it does not have to be claimed this way - the extension has access to it automatically.)"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("strong",{parentName:"p"},"Note:")," List and description of controller methods can be seen in ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle"},"Controller lifecycle"),".")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/gallery/GalleryExtension.js\nimport { AbstractExtension } from '@ima/core';\n\nexport default class GalleryExtension extends AbstractExtension {\n static get $dependencies() {\n return [];\n }\n\n load() {\n // Where the magic happens...\n }\n}\n")),(0,r.yg)("p",null,"All extensions to be used on a page must be added to the current controller\nvia ",(0,r.yg)("inlineCode",{parentName:"p"},"$extensions")," getter. After that, the extensions will go\nthrough the same lifecycle as the controller."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractController } from '@ima/core';\nimport GalleryExtension from 'app/component/gallery/GalleryExtension';\n\nexport default class PostController extends AbstractController {\n static get $dependencies() {\n return [];\n }\n\n static get $extensions() {\n return [GalleryExtension];\n }\n\n constructor() {\n //If needed, extension instance can be retrieved using getExtension();\n this._galleryExtension = this.getExtension(GalleryExtension);\n }\n\n ...\n}\n")),(0,r.yg)("p",null,"Extensions can be also defined within routes."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"//routes.js\n\nimport PostController from 'app/page/post/PostController';\nimport PostView from 'app/page/post/PostView';\nimport GalleryExtension from 'app/component/gallery/GalleryExtension';\n\nexport default (ns, oc, routesConfig, router) =>\n router\n .add('home', '/', PostController, PostView, {\n extensions: [GalleryExtension],\n });\n\n")),(0,r.yg)("p",null,"Extensions can be defined in global array of extensions.\nThis array can be registered in the OC as constant:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"\n//bind.js\nimport Extension1 from 'app/component/gallery/GalleryExtension';\nimport Extension2 from 'app/component/gallery/GalleryExtension2';\n...\nexport default (ns, oc, config) => {\n oc.constant('$galleryExtensions', [Extension, Extension2]);\n}\n\n//PostController.js\nimport { AbstractController } from '@ima/core';\nimport GalleryExtension from 'app/component/gallery/GalleryExtension';\n\nexport default class PostController extends AbstractController {\n\n ...\n\n static get $extensions() {\n return ['...$galleryExtensions'];\n }\n\n ...\n}\n\n//Or in routes.js\n...\nrouter\n .add('home', '/', PostController, PostView, {\n extensions: ['...$galleryExtensions'],\n });\n...\n")),(0,r.yg)("p",null,"Or just exported array:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"\n//GalleryExtensions.js\nimport Extension1 from 'app/component/gallery/GalleryExtension';\nimport Extension2 from 'app/component/gallery/GalleryExtension2';\n\nexport const GalleryExtensions = [Extension, Extension2];\n\n\n//PostController.js\nimport { AbstractController } from '@ima/core';\nimport { GalleryExtensions } from 'app/component/gallery/GalleryExtensions';\n\nexport default class PostController extends AbstractController {\n\n ...\n\n static get $extensions() {\n return [...GalleryExtensions];\n }\n\n ...\n}\n")),(0,r.yg)("h2",{id:"passing-partial-state-from-controllers"},"Passing partial state from controllers"),(0,r.yg)("p",null,"During any lifecycle phase of the page the controller's lifecycle method is called first and then the same method is called on every extension registered in the controller. Order of the extensions is crucial and the same as in which the extensions were registered."),(0,r.yg)("p",null,"Since ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-core/releases/tag/0.16.0"},"v16")," you can access the state loaded in controller and preceding extensions (hence the cruciality of extensions order). Bear in mind that the accessed state may contain unresolved promises that need to be treated differently."),(0,r.yg)("p",null,"Addition of ",(0,r.yg)("inlineCode",{parentName:"p"},"async/await")," functionality in ",(0,r.yg)("strong",{parentName:"p"},"v17")," can lead to dramatic performance drop if not used well. Keep in mind that every ",(0,r.yg)("inlineCode",{parentName:"p"},"await")," in Controller's or Extension's ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method will delay execution of next ",(0,r.yg)("inlineCode",{parentName:"p"},"load")," method until the asynchronous operation finishes."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript"},"// app/component/gallery/GalleryExtension.js\n\nload() {\n const {\n user: userPromise, // needs to be chained with .then()\n userGroupName,\n } = this.getState();\n\n const galleryPromise = userPromise.then(user => {\n // Calling this.getState() here would still give us unresolved promises.\n return this._galleryService.loadByUserName(user.name);\n });\n\n return {\n gallery: galleryPromise\n };\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7fb0ffe.746ca910.js b/assets/js/c7fb0ffe.746ca910.js new file mode 100644 index 000000000..787e0c053 --- /dev/null +++ b/assets/js/c7fb0ffe.746ca910.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1916],{6807:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"basic-features/extensions","title":"Extensions","description":"Basic features > Extensions as a companion to Controllers","source":"@site/../docs/basic-features/extensions.md","sourceDirName":"basic-features","slug":"/basic-features/extensions","permalink":"/basic-features/extensions","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/extensions.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Extensions","description":"Basic features > Extensions as a companion to Controllers"},"sidebar":"docs","previous":{"title":"Async Routing","permalink":"/basic-features/routing/async-routing"},"next":{"title":"Object Container","permalink":"/basic-features/object-container"}}');var o=t(2540),r=t(3023);const i={title:"Extensions",description:"Basic features > Extensions as a companion to Controllers"},a=void 0,l={},c=[{value:"Why use extensions",id:"why-use-extensions",level:2},{value:"How to use extensions",id:"how-to-use-extensions",level:2},{value:"Passing partial state from controllers",id:"passing-partial-state-from-controllers",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Extensions provide means of extending the page controllers with additional\nmanaged state and logic."}),"\n",(0,o.jsxs)(n.p,{children:["An extension has access to the current route\nparameters, can specify the resources to load when the page is loading or\nbeing updated, may intercept event bus events and modify the state of the\npage just like an ordinary controller, except that the modifications are\nrestricted to the state fields which the extension explicitly specifies\nusing its ",(0,o.jsx)(n.code,{children:"getAllowedStateKeys()"})," method."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{src:t(1379).A+"",width:"881",height:"421"})}),"\n",(0,o.jsx)(n.h2,{id:"why-use-extensions",children:"Why use extensions"}),"\n",(0,o.jsx)(n.p,{children:"Best case to use extension is a component that\nrequires interception of controller lifecycle events and/or loading external\ndata."}),"\n",(0,o.jsx)(n.p,{children:"Putting the component's logic inside the controller would be unwise for 3\nreasons:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Controller would contain code that is not as clear. For newcomers to\nyour project it'd seem strange why you're mixing e.g. ",(0,o.jsx)(n.strong,{children:"HomeController"}),"\nlogic with ",(0,o.jsx)(n.strong,{children:"GalleryComponent"})," logic."]}),"\n",(0,o.jsx)(n.li,{children:"Component file and its extension file should be kept together because nothing is\nbigger pain than searching for related code in the whole project structure."}),"\n",(0,o.jsx)(n.li,{children:"Component can be used in multiple Views. That means you'd have to\ncopy &\xa0paste the same logic to multiple controllers."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"how-to-use-extensions",children:"How to use extensions"}),"\n",(0,o.jsx)(n.p,{children:"As mentioned above, the extension file should be next to a file of the component\nit's extending. For example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"app/\n \u251c\u2500 ...\n \u251c\u2500 component\n | \u251c\u2500 ...\n | \u2514\u2500 gallery\n | | \u251c\u2500 Gallery.jsx\n | | \u251c\u2500 gallery.less\n | | \u2514\u2500 GalleryExtension.js\n | \u2514\u2500 ...\n \u2514\u2500 ...\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In the extension file should be plain ",(0,o.jsx)(n.code,{children:"class"})," extending\n",(0,o.jsx)(n.code,{children:"ima/extension/AbstractExtension"})," with the same methods as you'd use in the controller. In addition you should implement ",(0,o.jsx)(n.code,{children:"getAllowedStateKeys()"})," method which returns array of keys the extension is allowed to change in controller's state. (If the extension itself creates the state key, it does not have to be claimed this way - the extension has access to it automatically.)"]}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Note:"})," List and description of controller methods can be seen in ",(0,o.jsx)(n.a,{href:"./controller-lifecycle",children:"Controller lifecycle"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"// app/component/gallery/GalleryExtension.js\nimport { AbstractExtension } from '@ima/core';\n\nexport default class GalleryExtension extends AbstractExtension {\n static get $dependencies() {\n return [];\n }\n\n load() {\n // Where the magic happens...\n }\n}\n"})}),"\n",(0,o.jsxs)(n.p,{children:["All extensions to be used on a page must be added to the current controller\nvia ",(0,o.jsx)(n.code,{children:"$extensions"})," getter. After that, the extensions will go\nthrough the same lifecycle as the controller."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"import { AbstractController } from '@ima/core';\nimport GalleryExtension from 'app/component/gallery/GalleryExtension';\n\nexport default class PostController extends AbstractController {\n static get $dependencies() {\n return [];\n }\n\n static get $extensions() {\n return [GalleryExtension];\n }\n\n constructor() {\n //If needed, extension instance can be retrieved using getExtension();\n this._galleryExtension = this.getExtension(GalleryExtension);\n }\n\n ...\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Extensions can be also defined within routes."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"//routes.js\n\nimport PostController from 'app/page/post/PostController';\nimport PostView from 'app/page/post/PostView';\nimport GalleryExtension from 'app/component/gallery/GalleryExtension';\n\nexport default (ns, oc, routesConfig, router) =>\n router\n .add('home', '/', PostController, PostView, {\n extensions: [GalleryExtension],\n });\n\n"})}),"\n",(0,o.jsx)(n.p,{children:"Extensions can be defined in global array of extensions.\nThis array can be registered in the OC as constant:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"\n//bind.js\nimport Extension1 from 'app/component/gallery/GalleryExtension';\nimport Extension2 from 'app/component/gallery/GalleryExtension2';\n...\nexport default (ns, oc, config) => {\n oc.constant('$galleryExtensions', [Extension, Extension2]);\n}\n\n//PostController.js\nimport { AbstractController } from '@ima/core';\nimport GalleryExtension from 'app/component/gallery/GalleryExtension';\n\nexport default class PostController extends AbstractController {\n\n ...\n\n static get $extensions() {\n return ['...$galleryExtensions'];\n }\n\n ...\n}\n\n//Or in routes.js\n...\nrouter\n .add('home', '/', PostController, PostView, {\n extensions: ['...$galleryExtensions'],\n });\n...\n"})}),"\n",(0,o.jsx)(n.p,{children:"Or just exported array:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"\n//GalleryExtensions.js\nimport Extension1 from 'app/component/gallery/GalleryExtension';\nimport Extension2 from 'app/component/gallery/GalleryExtension2';\n\nexport const GalleryExtensions = [Extension, Extension2];\n\n\n//PostController.js\nimport { AbstractController } from '@ima/core';\nimport { GalleryExtensions } from 'app/component/gallery/GalleryExtensions';\n\nexport default class PostController extends AbstractController {\n\n ...\n\n static get $extensions() {\n return [...GalleryExtensions];\n }\n\n ...\n}\n"})}),"\n",(0,o.jsx)(n.h2,{id:"passing-partial-state-from-controllers",children:"Passing partial state from controllers"}),"\n",(0,o.jsx)(n.p,{children:"During any lifecycle phase of the page the controller's lifecycle method is called first and then the same method is called on every extension registered in the controller. Order of the extensions is crucial and the same as in which the extensions were registered."}),"\n",(0,o.jsxs)(n.p,{children:["Since ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-core/releases/tag/0.16.0",children:"v16"})," you can access the state loaded in controller and preceding extensions (hence the cruciality of extensions order). Bear in mind that the accessed state may contain unresolved promises that need to be treated differently."]}),"\n",(0,o.jsxs)(n.p,{children:["Addition of ",(0,o.jsx)(n.code,{children:"async/await"})," functionality in ",(0,o.jsx)(n.strong,{children:"v17"})," can lead to dramatic performance drop if not used well. Keep in mind that every ",(0,o.jsx)(n.code,{children:"await"})," in Controller's or Extension's ",(0,o.jsx)(n.code,{children:"load"})," method will delay execution of next ",(0,o.jsx)(n.code,{children:"load"})," method until the asynchronous operation finishes."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"// app/component/gallery/GalleryExtension.js\n\nload() {\n const {\n user: userPromise, // needs to be chained with .then()\n userGroupName,\n } = this.getState();\n\n const galleryPromise = userPromise.then(user => {\n // Calling this.getState() here would still give us unresolved promises.\n return this._galleryService.loadByUserName(user.name);\n });\n\n return {\n gallery: galleryPromise\n };\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1379:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/diagram-extensions-18900886a7c88b68d3d538a161a0170e.png"},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var s=t(3696);const o={},r=s.createContext(o);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cd0a3e0f.423c59d5.js b/assets/js/cd0a3e0f.423c59d5.js deleted file mode 100644 index ff7af94c2..000000000 --- a/assets/js/cd0a3e0f.423c59d5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8369],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>u});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=r.createContext({}),g=function(e){var a=r.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},s=function(e){var a=g(e.components);return r.createElement(o.Provider,{value:a},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},y=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),m=g(t),y=n,u=m["".concat(o,".").concat(y)]||m[y]||d[y]||i;return t?r.createElement(u,l(l({ref:a},s),{},{components:t})):r.createElement(u,l({ref:a},s))}));function u(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=y;var p={};for(var o in a)hasOwnProperty.call(a,o)&&(p[o]=a[o]);p.originalType=e,p[m]="string"==typeof e?e:n,l[1]=p;for(var g=2;g<i;g++)l[g]=t[g];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},7850:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>g});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.StaticRoute",title:"Class: StaticRoute",sidebar_label:"@ima/core.StaticRoute",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.StaticRoute",id:"api/classes/ima_core.StaticRoute",title:"Class: StaticRoute",description:"@ima/core.StaticRoute",source:"@site/../docs/api/classes/ima_core.StaticRoute.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.StaticRoute",permalink:"/api/classes/ima_core.StaticRoute",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.StaticRoute",title:"Class: StaticRoute",sidebar_label:"@ima/core.StaticRoute",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.SessionStorage",permalink:"/api/classes/ima_core.SessionStorage"},next:{title:"@ima/core.Storage",permalink:"/api/classes/ima_core.Storage"}},o={},g=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_hasParameters",id:"_hasparameters",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_matcher",id:"_matcher",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_name",id:"_name",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_options",id:"_options",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_parameterNames",id:"_parameternames",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"_pathExpression",id:"_pathexpression",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_trimmedPathExpression",id:"_trimmedpathexpression",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"_view",id:"_view",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"Methods",id:"methods",level:2},{value:"_checkOptionalParamsOrder",id:"_checkoptionalparamsorder",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_checkParametersOrder",id:"_checkparametersorder",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_cleanOptParamName",id:"_cleanoptparamname",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_cleanUnusedOptionalParams",id:"_cleanunusedoptionalparams",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_compileToRegExp",id:"_compiletoregexp",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_extractParameters",id:"_extractparameters",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"_getClearParamName",id:"_getclearparamname",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_getParameterNames",id:"_getparameternames",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_getParameters",id:"_getparameters",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"_getSubparamPattern",id:"_getsubparampattern",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"_isOptionalParamInPath",id:"_isoptionalparaminpath",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"_isParamOptional",id:"_isparamoptional",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"_isRequiredParamInPath",id:"_isrequiredparaminpath",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"_replaceOptionalParametersInPath",id:"_replaceoptionalparametersinpath",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"_replaceOptionalSubParametersInPath",id:"_replaceoptionalsubparametersinpath",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"_replaceRequiredSubParametersInPath",id:"_replacerequiredsubparametersinpath",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"_substituteOptionalParamInPath",id:"_substituteoptionalparaminpath",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"_substituteRequiredParamInPath",id:"_substituterequiredparaminpath",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"extractParameters",id:"extractparameters",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"getController",id:"getcontroller",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"getName",id:"getname",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"getOptions",id:"getoptions",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"getPathExpression",id:"getpathexpression",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"getTrimmedPath",id:"gettrimmedpath",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"getView",id:"getview",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"isAsync",id:"isasync",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"isControllerResolved",id:"iscontrollerresolved",level:3},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"isViewResolved",id:"isviewresolved",level:3},{value:"Returns",id:"returns-27",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"matches",id:"matches",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"preload",id:"preload",level:3},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"toPath",id:"topath",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"Returns",id:"returns-30",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-40",level:4}],s={toc:g},m="wrapper";function d(e){let{components:a,...t}=e;return(0,n.yg)(m,(0,r.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".StaticRoute"),(0,n.yg)("p",null,"Utility for representing and manipulating a single static route in the\nrouter's configuration using string representation of the path expression\nwith special param fields identified by ",(0,n.yg)("inlineCode",{parentName:"p"},":paramName")," prefix."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"StaticRoute"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new StaticRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),")"),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"A path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":parameterName"),".")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L97"},"packages/core/src/router/StaticRoute.ts:97")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_controller"},"_","controller"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","controller"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The full name of Object Container alias identifying the controller\nassociated with this route."),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"cached")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resolved")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_controller"},"_controller")),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L58"},"packages/core/src/router/AbstractRoute.ts:58")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_hasparameters"},"_","hasParameters"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","hasParameters"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L87"},"packages/core/src/router/StaticRoute.ts:87")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_matcher"},"_","matcher"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","matcher"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"RegExp")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L88"},"packages/core/src/router/StaticRoute.ts:88")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_name"},"_","name"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","name"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The unique name of this route, identifying it among the rest of the\nroutes in the application."),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_name"},"_name")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L48"},"packages/core/src/router/AbstractRoute.ts:48")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_options"},"_","options"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","options"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("p",null,"The route additional options."),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_options"},"_options")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L76"},"packages/core/src/router/AbstractRoute.ts:76")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_parameternames"},"_","parameterNames"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","parameterNames"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L86"},"packages/core/src/router/StaticRoute.ts:86")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pathexpression"},"_","pathExpression"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","pathExpression"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_pathexpression"},"_pathExpression")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L53"},"packages/core/src/router/AbstractRoute.ts:53")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_trimmedpathexpression"},"_","trimmedPathExpression"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","trimmedPathExpression"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L85"},"packages/core/src/router/StaticRoute.ts:85")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_view"},"_","view"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","view"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The full name or Object Container alias identifying the view class\nassociated with this route."),(0,n.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"cached")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resolved")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView")))))),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_view"},"_view")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L67"},"packages/core/src/router/AbstractRoute.ts:67")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_checkoptionalparamsorder"},"_","checkOptionalParamsOrder"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_checkOptionalParamsOrder"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"allMainParams"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Check if all optional params are below required ones"),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"allMainParams")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L275"},"packages/core/src/router/StaticRoute.ts:275")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_checkparametersorder"},"_","checkParametersOrder"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_checkParametersOrder"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"clearedPathExpr"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Check if main parameters have correct order.\nIt means that required param cannot follow optional one."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"clearedPathExpr")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The cleared URL path (removed first and last slash, ...).")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns TRUE if order is correct."),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L301"},"packages/core/src/router/StaticRoute.ts:301")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_cleanoptparamname"},"_","cleanOptParamName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_cleanOptParamName"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"paramName"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,'Returns optional param name without "?"'),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},'Full param name with "?"')))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,'Strict param name without "?"'),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L524"},"packages/core/src/router/StaticRoute.ts:524")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_cleanunusedoptionalparams"},"_","cleanUnusedOptionalParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_cleanUnusedOptionalParams"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Remove unused optional param placeholders in path."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L219"},"packages/core/src/router/StaticRoute.ts:219")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_compiletoregexp"},"_","compileToRegExp"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_compileToRegExp"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"RegExp")),(0,n.yg)("p",null,"Compiles the path expression to a regular expression that can be used\nfor easier matching of URL paths against this route, and extracting the\npath parameter values from the URL path."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The path expression to compile.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"RegExp")),(0,n.yg)("p",null,"The compiled regular expression."),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L402"},"packages/core/src/router/StaticRoute.ts:402")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_extractparameters"},"_","extractParameters"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_extractParameters"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"parameterValues"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,n.yg)("p",null,"Extract parameters from given path."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"parameterValues")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L490"},"packages/core/src/router/StaticRoute.ts:490")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getclearparamname"},"_","getClearParamName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getClearParamName"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"rawParam"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Extract clear parameter name, e.q. '?name' or 'name'"),(0,n.yg)("h4",{id:"parameters-7"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"rawParam")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L255"},"packages/core/src/router/StaticRoute.ts:255")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getparameternames"},"_","getParameterNames"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getParameterNames"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"Extracts the parameter names from the provided path expression."),(0,n.yg)("h4",{id:"parameters-8"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The path expression.")))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"The names of the parameters defined in the provided\npath expression."),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L545"},"packages/core/src/router/StaticRoute.ts:545")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getparameters"},"_","getParameters"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getParameters"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,n.yg)("p",null,"Parses the provided path and extract the in-path parameters. The method\ndecodes the parameters and returns them in a hash object."),(0,n.yg)("h4",{id:"parameters-9"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L472"},"packages/core/src/router/StaticRoute.ts:472")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getsubparampattern"},"_","getSubparamPattern"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getSubparamPattern"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"delimiter"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Get pattern for subparameter."),(0,n.yg)("h4",{id:"parameters-10"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"delimiter")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L266"},"packages/core/src/router/StaticRoute.ts:266")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_isoptionalparaminpath"},"_","isOptionalParamInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_isOptionalParamInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"paramName"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true, if paramName is placed in path."),(0,n.yg)("h4",{id:"parameters-11"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L237"},"packages/core/src/router/StaticRoute.ts:237")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_isparamoptional"},"_","isParamOptional"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_isParamOptional"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"paramName"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Checks if parameter is optional or not."),(0,n.yg)("h4",{id:"parameters-12"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"return true if is optional, otherwise false"),(0,n.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L534"},"packages/core/src/router/StaticRoute.ts:534")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_isrequiredparaminpath"},"_","isRequiredParamInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_isRequiredParamInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"paramName"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true, if paramName is placed in path and it's required."),(0,n.yg)("h4",{id:"parameters-13"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L246"},"packages/core/src/router/StaticRoute.ts:246")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_replaceoptionalparametersinpath"},"_","replaceOptionalParametersInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_replaceOptionalParametersInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"optionalParams"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Convert main optional parameters to capture sequences"),(0,n.yg)("h4",{id:"parameters-14"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"optionalParams")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"List of main optimal parameter expressions")))),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"RegExp pattern."),(0,n.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L319"},"packages/core/src/router/StaticRoute.ts:319")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_replaceoptionalsubparametersinpath"},"_","replaceOptionalSubParametersInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_replaceOptionalSubParametersInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"optionalSubparamsOthers"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"optionalSubparamsLast"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Convert optional subparameters to capture sequences"),(0,n.yg)("h4",{id:"parameters-15"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path (route definition).")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"optionalSubparamsOthers")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"List of all subparam. expressions but last ones")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"optionalSubparamsLast")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"List of last subparam. expressions")))),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"RegExp pattern."),(0,n.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L370"},"packages/core/src/router/StaticRoute.ts:370")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_replacerequiredsubparametersinpath"},"_","replaceRequiredSubParametersInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_replaceRequiredSubParametersInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"clearedPathExpr"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Convert required subparameters to capture sequences"),(0,n.yg)("h4",{id:"parameters-16"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path (route definition).")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"clearedPathExpr")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The original cleared URL path.")))),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"RegExp pattern."),(0,n.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L337"},"packages/core/src/router/StaticRoute.ts:337")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_substituteoptionalparaminpath"},"_","substituteOptionalParamInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_substituteOptionalParamInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"paramName"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"paramValue"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Replace optional param placeholder in path with parameter value."),(0,n.yg)("h4",{id:"parameters-17"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramValue")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-16"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L204"},"packages/core/src/router/StaticRoute.ts:204")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_substituterequiredparaminpath"},"_","substituteRequiredParamInPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_substituteRequiredParamInPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"paramName"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"paramValue"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Replace required parameter placeholder in path with parameter value."),(0,n.yg)("h4",{id:"parameters-18"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"paramValue")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-17"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L190"},"packages/core/src/router/StaticRoute.ts:190")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"extractparameters"},"extractParameters"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"extractParameters"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"baseUrl"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Extracts the parameter values from the provided path. The method\nextracts both the in-path parameters and parses the query, allowing the\nquery parameters to override the in-path parameters."),(0,n.yg)("p",null,"The method returns an empty hash object if the path does not match this\nroute."),(0,n.yg)("h4",{id:"parameters-19"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Currently routed path.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"baseUrl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Currently routed baseUrl.")))),(0,n.yg)("h4",{id:"returns-18"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Map of parameter names to parameter\nvalues."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#extractparameters"},"extractParameters")),(0,n.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L177"},"packages/core/src/router/StaticRoute.ts:177")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getcontroller"},"getController"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getController"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,n.yg)("p",null,"Returns Controller class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported controllers,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."),(0,n.yg)("h4",{id:"returns-19"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,n.yg)("p",null,"The Controller class/alias/constant."),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getcontroller"},"getController")),(0,n.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L153"},"packages/core/src/router/AbstractRoute.ts:153")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getname"},"getName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getName"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the unique identifying name of this route."),(0,n.yg)("h4",{id:"returns-20"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The name of the route, identifying it."),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getname"},"getName")),(0,n.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L132"},"packages/core/src/router/AbstractRoute.ts:132")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getoptions"},"getOptions"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getOptions"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("p",null,"Return route additional options."),(0,n.yg)("h4",{id:"returns-21"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getoptions"},"getOptions")),(0,n.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L210"},"packages/core/src/router/AbstractRoute.ts:210")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getpathexpression"},"getPathExpression"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getPathExpression"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."),(0,n.yg)("h4",{id:"returns-22"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The path expression."),(0,n.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getpathexpression"},"getPathExpression")),(0,n.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L220"},"packages/core/src/router/AbstractRoute.ts:220")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gettrimmedpath"},"getTrimmedPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getTrimmedPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Trims the trailing forward slash from the provided URL path."),(0,n.yg)("h4",{id:"parameters-20"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The path to trim.")))),(0,n.yg)("h4",{id:"returns-23"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Trimmed path."),(0,n.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#gettrimmedpath"},"getTrimmedPath")),(0,n.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L230"},"packages/core/src/router/AbstractRoute.ts:230")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getview"},"getView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getView"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,n.yg)("p",null,"Returns View class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported views,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."),(0,n.yg)("h4",{id:"returns-24"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,n.yg)("p",null,"The View class/alias/constant."),(0,n.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getview"},"getView")),(0,n.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L185"},"packages/core/src/router/AbstractRoute.ts:185")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isasync"},"isAsync"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isAsync"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"module"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Checks if given argument is an async handler."),(0,n.yg)("h4",{id:"parameters-21"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"module")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,n.yg)("h4",{id:"returns-25"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#isasync"},"isAsync")),(0,n.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L139"},"packages/core/src/router/AbstractRoute.ts:139")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"iscontrollerresolved"},"isControllerResolved"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isControllerResolved"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true for resolved controller. This is always true\nfor sync route views."),(0,n.yg)("h4",{id:"returns-26"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#iscontrollerresolved"},"isControllerResolved")),(0,n.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L173"},"packages/core/src/router/AbstractRoute.ts:173")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isviewresolved"},"isViewResolved"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isViewResolved"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true for resolved view. This is always true\nfor sync route views."),(0,n.yg)("h4",{id:"returns-27"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#isviewresolved"},"isViewResolved")),(0,n.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L203"},"packages/core/src/router/AbstractRoute.ts:203")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"matches"},"matches"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"matches"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests whether the provided URL path matches this route. The provided\npath may contain the query."),(0,n.yg)("h4",{id:"parameters-22"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")))),(0,n.yg)("h4",{id:"returns-28"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the provided path matches this route."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#matches"},"matches")),(0,n.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L168"},"packages/core/src/router/StaticRoute.ts:168")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"preload"},"preload"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"preload"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<[",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),"]",">"),(0,n.yg)("p",null,"Preloads dynamically imported view and controller."),(0,n.yg)("h4",{id:"returns-29"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<[",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),"]",">"),(0,n.yg)("p",null,"Promise.All resolving to ","[view, controller]"," tuple."),(0,n.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#preload"},"preload")),(0,n.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L239"},"packages/core/src/router/AbstractRoute.ts:239")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"topath"},"toPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"toPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Creates the URL and query parts of a URL by substituting the route's\nparameter placeholders by the provided parameter value."),(0,n.yg)("p",null,"The extraneous parameters that do not match any of the route's\nplaceholders will be appended as the query string."),(0,n.yg)("h4",{id:"parameters-23"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route parameter values.")))),(0,n.yg)("h4",{id:"returns-30"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Path and, if necessary, query parts of the URL\nrepresenting this route with its parameters replaced by the\nprovided parameter values."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#topath"},"toPath")),(0,n.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/StaticRoute.ts#L132"},"packages/core/src/router/StaticRoute.ts:132")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cd24e9bf.a20d0937.js b/assets/js/cd24e9bf.a20d0937.js deleted file mode 100644 index 23added4c..000000000 --- a/assets/js/cd24e9bf.a20d0937.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2922],{5680:(e,a,t)=>{t.d(a,{xA:()=>d,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=r.createContext({}),p=function(e){var a=r.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},d=function(e){var a=p(e.components);return r.createElement(s.Provider,{value:a},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},y=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),g=p(t),y=n,c=g["".concat(s,".").concat(y)]||g[y]||m[y]||l;return t?r.createElement(c,i(i({ref:a},d),{},{components:t})):r.createElement(c,i({ref:a},d))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var l=t.length,i=new Array(l);i[0]=y;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[g]="string"==typeof e?e:n,i[1]=o;for(var p=2;p<l;p++)i[p]=t[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},6815:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=t(8102),n=(t(6540),t(5680));const l={id:"ima_core.AbstractController",title:"Class: AbstractController<S, R, SS>",sidebar_label:"@ima/core.AbstractController",custom_edit_url:null},i=void 0,o={unversionedId:"api/classes/ima_core.AbstractController",id:"api/classes/ima_core.AbstractController",title:"Class: AbstractController<S, R, SS>",description:"@ima/core.AbstractController",source:"@site/../docs/api/classes/ima_core.AbstractController.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.AbstractController",permalink:"/api/classes/ima_core.AbstractController",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AbstractController",title:"Class: AbstractController<S, R, SS>",sidebar_label:"@ima/core.AbstractController",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.StateEvents",permalink:"/api/enums/ima_core.StateEvents"},next:{title:"@ima/core.AbstractExecution",permalink:"/api/classes/ima_core.AbstractExecution"}},s={},p=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_extensions",id:"_extensions",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"params",id:"params",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"status",id:"status",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"$dependencies",id:"dependencies",level:3},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"$extensions",id:"extensions",level:3},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"$name",id:"name",level:3},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"activate",id:"activate",level:3},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"addExtension",id:"addextension",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"beginStateTransaction",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"cancelStateTransaction",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"commitStateTransaction",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"deactivate",id:"deactivate",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"getExtension",id:"getextension",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"getExtensions",id:"getextensions",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"getRouteParams",id:"getrouteparams",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"load",id:"load",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"setMetaParams",id:"setmetaparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"setPageStateManager",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"setRouteParams",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-26",level:4}],d={toc:p},g="wrapper";function m(e){let{components:a,...t}=e;return(0,n.yg)(g,(0,r.A)({},d,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AbstractController"),(0,n.yg)("p",null,"Basic implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller")," interface, providing the\ndefault implementation of the most of the API."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"S")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"SS")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("inlineCode",{parentName:"td"},"S")," = ",(0,n.yg)("inlineCode",{parentName:"td"},"S"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"AbstractController"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new AbstractController"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"SS"),">","()"),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"S")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"SS")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState"))," = ",(0,n.yg)("inlineCode",{parentName:"td"},"S"))))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L41"},"packages/core/src/controller/AbstractController.ts:41")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_extensions"},"_","extensions"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","extensions"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<keyof ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.OCAliasMap"},(0,n.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Constructor"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">"," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"AbstractConstructor"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">",", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">",">"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L20"},"packages/core/src/controller/AbstractController.ts:20")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pagestatemanager"},"_","pageStateManager"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"_","pageStateManager"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L19"},"packages/core/src/controller/AbstractController.ts:19")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"params"},"params"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"params"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"R")),(0,n.yg)("p",null,"The route parameters extracted from the current route. This field is\nset externally by IMA right before the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init")," or the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#update"},"update")," method is called."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L35"},"packages/core/src/controller/AbstractController.ts:35")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"status"},"status"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"status"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"200")),(0,n.yg)("p",null,"The HTTP response code to send to the client."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L29"},"packages/core/src/controller/AbstractController.ts:29")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#$dependencies"},"$dependencies")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L38"},"packages/core/src/controller/AbstractController.ts:38")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"extensions"},"$extensions"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"$extensions"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"any"),">",">"),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#$extensions"},"$extensions")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L39"},"packages/core/src/controller/AbstractController.ts:39")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"name"},"$name"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"$name"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#$name"},"$name")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L37"},"packages/core/src/controller/AbstractController.ts:37")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"activate"},"activate"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"activate"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Callback for activating the controller in the UI. This is the last\nmethod invoked during controller initialization, called after all the\npromises returned from the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#load"},"load")," method have been\nresolved and the controller has configured the meta manager."),(0,n.yg)("p",null,"The controller may register any React and DOM event listeners in this\nmethod. The controller may start receiving event bus event after this\nmethod completes."),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#activate"},"activate")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L84"},"packages/core/src/controller/Controller.ts:84")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"addextension"},"addExtension"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"addExtension"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"extensionInstance?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Adds the provided extension to this controller. All extensions should be\nadded to the controller before the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init")," method is\ninvoked."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"extension")),(0,n.yg)("td",{parentName:"tr",align:"left"},"keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,n.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">"," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"AbstractConstructor"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">"," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"extensionInstance?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#addextension"},"addExtension")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L95"},"packages/core/src/controller/AbstractController.ts:95")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"beginstatetransaction"},"beginStateTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"beginStateTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,n.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,n.yg)("p",null,"Note that call to ",(0,n.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#beginstatetransaction"},"beginStateTransaction")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L68"},"packages/core/src/controller/AbstractController.ts:68")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"cancelstatetransaction"},"cancelStateTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"cancelStateTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Cancels ongoing state transaction. Uncommitted state changes are lost."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#cancelstatetransaction"},"cancelStateTransaction")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L86"},"packages/core/src/controller/AbstractController.ts:86")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"commitstatetransaction"},"commitStateTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"commitStateTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,n.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#commitstatetransaction"},"commitStateTransaction")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L77"},"packages/core/src/controller/AbstractController.ts:77")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"deactivate"},"deactivate"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"deactivate"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Callback for deactivating the controller in the UI. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."),(0,n.yg)("p",null,"This method is the lifecycle counterpart of the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#activate"},"activate")," method."),(0,n.yg)("p",null,"The controller should deregister listeners registered and release all\nresources obtained in the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#activate"},"activate")," method."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#deactivate"},"deactivate")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L99"},"packages/core/src/controller/Controller.ts:99")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"destroy"},"destroy"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."),(0,n.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init"),"\nmethod."),(0,n.yg)("p",null,"The controller should release all resources obtained in the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init")," method. The controller must release any resources\nthat might not be released automatically when the controller's instance\nis destroyed by the garbage collector."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#destroy"},"destroy")),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L70"},"packages/core/src/controller/Controller.ts:70")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getextension"},"getExtension"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getExtension"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"extension"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">"),(0,n.yg)("p",null,"Returns extension instance defined by it's class constructor\nfrom controller's extension intance map."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"extension")),(0,n.yg)("td",{parentName:"tr",align:"left"},"typeof ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")))))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">"),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getextension"},"getExtension")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L129"},"packages/core/src/controller/AbstractController.ts:129")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getextensions"},"getExtensions"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getExtensions"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">","[]"),(0,n.yg)("p",null,"Returns the controller's extensions."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">","[]"),(0,n.yg)("p",null,"The extensions added to this controller."),(0,n.yg)("h4",{id:"overrides-9"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getextensions"},"getExtensions")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L138"},"packages/core/src/controller/AbstractController.ts:138")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the HTTP status code to send to the client, should the\ncontroller be used at the server-side."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The HTTP status code to send to the client."),(0,n.yg)("h4",{id:"overrides-10"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#gethttpstatus"},"getHttpStatus")),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L166"},"packages/core/src/controller/AbstractController.ts:166")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getrouteparams"},"getRouteParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteParams"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"R")),(0,n.yg)("p",null,"Returns the current route parameters."),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"R")),(0,n.yg)("p",null,"The current route parameters."),(0,n.yg)("h4",{id:"overrides-11"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getrouteparams"},"getRouteParams")),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L152"},"packages/core/src/controller/AbstractController.ts:152")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getstate"},"getState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"SS")),(0,n.yg)("p",null,"Returns the controller's current state."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"SS")),(0,n.yg)("p",null,"The current state of this controller."),(0,n.yg)("h4",{id:"overrides-12"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getstate"},"getState")),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L57"},"packages/core/src/controller/AbstractController.ts:57")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Callback for initializing the controller after the route parameters have\nbeen set on this controller."),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L53"},"packages/core/src/controller/Controller.ts:53")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"load"},"load"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"load"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"Callback the controller uses to request the resources it needs to render\nits view. This method is invoked after the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init"),"\nmethod."),(0,n.yg)("p",null,"The controller should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."),(0,n.yg)("p",null,"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."),(0,n.yg)("p",null,"The IMA will use the object to set the state of the controller."),(0,n.yg)("p",null,"If at the server side, the IMA will wait for all the promises to\nresolve, replaces the promises with the resolved values and sets the\nresulting object as the controller's state."),(0,n.yg)("p",null,"If at the client side, the IMA will first set the controller's state to\nan object containing only the fields of the returned object that were\nnot promises. IMA will then update the controller's state every time a\npromise of the returned object resolves. IMA will update the state by\nadding the resolved resource to the controller's state."),(0,n.yg)("p",null,"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load")),(0,n.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L138"},"packages/core/src/controller/Controller.ts:138")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setmetaparams"},"setMetaParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setMetaParams"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"loadedResources"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"metaManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"router"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"dictionary"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources and the view has been rendered."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"loadedResources")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Intersection"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"Matching"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">",">",">",", ",(0,n.yg)("inlineCode",{parentName:"td"},"Required"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"NonMatching"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">",">",">",">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"A plain object representing a map of resource names to resources loaded by the ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractController#load"},"load")," method. This is the same object as the one passed to the ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractController#setstate"},"setState")," method.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"metaManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.MetaManager"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Meta attributes manager to configure.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"router")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Router"},(0,n.yg)("inlineCode",{parentName:"a"},"Router"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current application router.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dictionary")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dictionary"},(0,n.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current localization dictionary.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,n.yg)("inlineCode",{parentName:"a"},"Settings"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The application settings for the current application environment.")))),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setmetaparams"},"setMetaParams")),(0,n.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L280"},"packages/core/src/controller/Controller.ts:280")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setpagestatemanager"},"setPageStateManager"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setPageStateManager"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageStateManager?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Sets the page state manager. The page state manager manages the\ncontroller's state. The state manager can be set to ",(0,n.yg)("inlineCode",{parentName:"p"},"null")," if this\ncontroller loses the right to modify the state of the current page (e.g.\nthe user has navigated to a different route using a different\ncontroller)."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageStateManager?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current state manager to use.")))),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-13"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setpagestatemanager"},"setPageStateManager")),(0,n.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L159"},"packages/core/src/controller/AbstractController.ts:159")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setrouteparams"},"setRouteParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setRouteParams"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Sets the current route parameters. This method is invoked before the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init")," method."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current route parameters.")))),(0,n.yg)("h4",{id:"returns-16"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-14"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setrouteparams"},"setRouteParams")),(0,n.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L145"},"packages/core/src/controller/AbstractController.ts:145")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setstate"},"setState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"statePatch"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Patches the state of this controller using the provided object by\ncopying the provided patch object fields to the controller's state\nobject."),(0,n.yg)("p",null,"You can use this method to modify the state partially or add new fields\nto the state object."),(0,n.yg)("p",null,"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."),(0,n.yg)("p",null,"Once the promises returned by the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#load"},"load")," method are\nresolved, this method is called with the an object containing the\nresolved values. The field names of the passed object will match the\nfield names in the object returned from the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#load"},"load"),"\nmethod."),(0,n.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"K")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"statePatch")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"K"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,n.yg)("h4",{id:"returns-17"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-15"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setstate"},"setState")),(0,n.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/AbstractController.ts#L48"},"packages/core/src/controller/AbstractController.ts:48")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"update"},"update"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"update"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"prevParams?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"Callback for updating the controller after a route update. This method\nis invoked if the current route has the ",(0,n.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," flag set to ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,n.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option of the current route is a callback and\nreturned ",(0,n.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,n.yg)("p",null,"The method must return an object with the same semantics as the result\nof the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#load"},"load")," method. The controller's state will only\nbe patched by the returned object instead of replacing it completely."),(0,n.yg)("p",null,"The other controller lifecycle callbacks (",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#init"},"init"),",\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#load"},"load"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#activate"},"activate"),",\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractController#deactivate"},"deactivate"),", Controller#deinit) are not call\nin case this method is used."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"prevParams")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Previous route parameters.")))),(0,n.yg)("h4",{id:"returns-18"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#update"},"update")),(0,n.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L164"},"packages/core/src/controller/Controller.ts:164")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cd4295eb.4d00ddb0.js b/assets/js/cd4295eb.4d00ddb0.js deleted file mode 100644 index cd95c3391..000000000 --- a/assets/js/cd4295eb.4d00ddb0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5847],{5680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>d});var a=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),g=p(t),u=i,d=g["".concat(l,".").concat(u)]||g[u]||m[u]||o;return t?a.createElement(d,r(r({ref:n},c),{},{components:t})):a.createElement(d,r({ref:n},c))}));function d(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var o=t.length,r=new Array(o);r[0]=u;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[g]="string"==typeof e?e:i,r[1]=s;for(var p=2;p<o;p++)r[p]=t[p];return a.createElement.apply(null,r)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},1121:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var a=t(8102),i=(t(6540),t(5680));const o={title:"ima.config.js",description:"CLI > Customizing the build through ima.config.js",slug:"ima-config-js"},r=void 0,s={unversionedId:"cli/ima.config.js",id:"cli/ima.config.js",title:"ima.config.js",description:"CLI > Customizing the build through ima.config.js",source:"@site/../docs/cli/ima.config.js.md",sourceDirName:"cli",slug:"/cli/ima-config-js",permalink:"/cli/ima-config-js",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/ima.config.js.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"ima.config.js",description:"CLI > Customizing the build through ima.config.js",slug:"ima-config-js"},sidebar:"docs",previous:{title:"Compiler features",permalink:"/cli/compiler-features"},next:{title:"Additional features",permalink:"/cli/additional-features"}},l={},p=[{value:"Configuration options",id:"configuration-options",level:2},{value:"webpack",id:"webpack",level:3},{value:"swc",id:"swc",level:3},{value:"swcVendor",id:"swcvendor",level:3},{value:"postcss",id:"postcss",level:3},{value:"prepareConfigurations",id:"prepareconfigurations",level:3},{value:"languages",id:"languages",level:3},{value:"jsxRuntime",id:"jsxruntime",level:3},{value:"webpackAliases",id:"webpackaliases",level:3},{value:"sourceMaps",id:"sourcemaps",level:3},{value:"devServer",id:"devserver",level:3},{value:"publicPath",id:"publicpath",level:3},{value:"compress",id:"compress",level:3},{value:"imageInlineSizeLimit",id:"imageinlinesizelimit",level:3},{value:"disableLegacyBuild",id:"disablelegacybuild",level:3},{value:"transformVendorPaths",id:"transformvendorpaths",level:3},{value:"watchOptions",id:"watchoptions",level:3},{value:"experiments",id:"experiments",level:3},{value:"plugins",id:"plugins",level:3}],c={toc:p},g="wrapper";function m(e){let{components:n,...t}=e;return(0,i.yg)(g,(0,a.A)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"To additionally customize the build configuration of IMA.js, you can create a ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file in the root of your project (next to package.json)."),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," is regular JavaScript module that is loaded during the build configuration initialization (in Node.js environment) and ",(0,i.yg)("strong",{parentName:"p"},"it is not included in the final application bundle"),"."),(0,i.yg)("p",null,"An example of ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file can look something like this:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const postcssUnmq = require('postcss-unmq');\nconst { AnalyzePlugin } = require('@ima/cli');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n publicPath: '/public/',\n watchOptions: {\n ignored: /(node_modules|build|.husky|_templates|.git)\\/(?!@ima).*/\n },\n plugins: [\n new AnalyzePlugin()\n ],\n webpack: async (config, ctx) => {\n // Enable webpack infrastructure logging\n if (ctx.command === 'dev') {\n config.infrastructureLogging = {\n level: 'info',\n };\n }\n\n return config;\n },\n postcss: (config, ctx) => {\n config.postcssOptions.plugins.push(postcssUnmq({ width: 540 }));\n\n return config;\n },\n languages: {\n cs: [\n './node_modules/@ima/**/*CS.json',\n './app/**/*CS.json'\n ],\n en: [\n './node_modules/@ima/**/*EN.json',\n './app/**/*EN.json'\n ]\n }\n};\n")),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"Use the ",(0,i.yg)("inlineCode",{parentName:"p"},"@type")," jsdoc annotation to enable ts-types code completions.")),(0,i.yg)("h2",{id:"configuration-options"},"Configuration options"),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," file should export an object with any combination of the following configuration options."),(0,i.yg)("h3",{id:"webpack"},"webpack"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"async function(config, ctx, imaConfig): config"))),(0,i.yg)("p",null,"This is the most advanced and versatile configuration option, allowing you to change the generated webpack configuration directly before it's passed to the compiler. This function is executed last in the whole configuration pipeline, meaning that all default configurations and CLI plugin configurations are already merged into the config value. This allows you to completely customize the final config form."),(0,i.yg)("p",null,"The function receives ",(0,i.yg)("strong",{parentName:"p"},"3 arguments")," and has to always return (mutated) config object:"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"config")," - webpack configuration object (just like the one you usually define in webpack.config.js)."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"ctx")," - current configuration context. As we mentioned in the ",(0,i.yg)("a",{parentName:"li",href:"./compiler-features#server-and-client-bundles"},"compiler features"),", the app builds 3 different bundles. Using ",(0,i.yg)("inlineCode",{parentName:"li"},"ctx.name")," you can find out which configuration you are currently editing. There are many additional values that help you identify current build state. You can use these to further customize the config only in some cases or for certain bundles. For more information take a look at the ",(0,i.yg)("a",{parentName:"li",href:"https://github.com/seznam/ima/blob/packages/cli/src/types.ts#L47"},"argument type"),"."),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("inlineCode",{parentName:"li"},"imaConfig")," - loaded ",(0,i.yg)("inlineCode",{parentName:"li"},"ima.config.js")," file, with defaults.")),(0,i.yg)("p",null,"The following example turns on minification for server bundle for build command:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n webpack: async (config, ctx) => {\n if (ctx.command === 'build' && ctx.name === 'server') {\n config.optimization.minimize = true;\n }\n\n return config;\n },\n};\n")),(0,i.yg)("p",null,":::Note"),(0,i.yg)("p",null,"Since this function can be implemented in ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js")," and also CLI plugins, the resolve order is following ",(0,i.yg)("inlineCode",{parentName:"p"},"default @ima/cli config")," -> ",(0,i.yg)("inlineCode",{parentName:"p"},"CLI plugin configs")," -> ",(0,i.yg)("inlineCode",{parentName:"p"},"ima.config.js"),"."),(0,i.yg)("p",null,":::"),(0,i.yg)("h3",{id:"swc"},"swc"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"async function(swcLoaderOptions, ctx): swcLoaderOptions"))),(0,i.yg)("p",null,"Similarly to ",(0,i.yg)("inlineCode",{parentName:"p"},"webpack"),", this function is executed with the ",(0,i.yg)("inlineCode",{parentName:"p"},"swc-loader")," ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/packages/cli/src/webpack/config.ts#L401"},"default options")," and it's result is then passed to the loader itself. This allows you to customize the swc compiler options in easier and more direct way than you'd have to do when using the ",(0,i.yg)("inlineCode",{parentName:"p"},"webpack")," option."),(0,i.yg)("p",null,"For example, to ",(0,i.yg)("strong",{parentName:"p"},"enable support")," for the ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/zloirock/core-js#stage-3-proposals"},"ECMAScript proposals core-js feature"),", you would do the following:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n swc: async (swcLoaderOptions, ctx) => {\n swcLoaderOptions.env.shippedProposals = true;\n\n return swcLoaderOptions;\n },\n};\n")),(0,i.yg)("h3",{id:"swcvendor"},"swcVendor"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"async function(swcLoaderOptions, ctx): swcLoaderOptions"))),(0,i.yg)("p",null,"Works same as the aforementioned ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#swc"},(0,i.yg)("inlineCode",{parentName:"a"},"swc"))," options, except this config is applied to vendor files that match regular expressions defined in the ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#transformvendorpaths"},(0,i.yg)("inlineCode",{parentName:"a"},"transformVendorPaths"))," settings."),(0,i.yg)("h3",{id:"postcss"},"postcss"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"async function(postCssLoaderOptions, ctx): postCssLoaderOptions"))),(0,i.yg)("p",null,"Lastly, this function is used to customize the ",(0,i.yg)("inlineCode",{parentName:"p"},"postcss-loader")," options. Among the rest you can easily define ",(0,i.yg)("strong",{parentName:"p"},"custom PostCSS plugins")," or completely overwrite the ",(0,i.yg)("a",{parentName:"p",href:"/cli/compiler-features#postcss"},"default set"),":"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const postcssUnmq = require('postcss-unmq');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n swc: async (postCssLoaderOptions, ctx) => {\n postCssLoaderOptions.postcssOptions.plugins.push(\n postcssUnmq({ width: 540 })\n );\n\n return postCssLoaderOptions;\n },\n};\n")),(0,i.yg)("admonition",{type:"info"},(0,i.yg)("p",{parentName:"admonition"},"The webpack configuration intentionally ignores any ",(0,i.yg)("strong",{parentName:"p"},".postcssrc")," configuration files to prevent potential conflicts with multiple config files.")),(0,i.yg)("h3",{id:"prepareconfigurations"},"prepareConfigurations"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"}," async function(configurations: ImaConfigurationContext[], imaConfig: ImaConfig, args: ImaCliArgs): Promise<ImaConfigurationContext[]>"))),(0,i.yg)("p",null,"Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This allows you to override values of context variables like ",(0,i.yg)("inlineCode",{parentName:"p"},"useHMR"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"useTypeScript")," which define\nhow the final webpack config is generated, without the need to customize the config itself."),(0,i.yg)("h3",{id:"languages"},"languages"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"object"))),(0,i.yg)("p",null,(0,i.yg)("strong",{parentName:"p"},"i18n")," language files configuration. The ",(0,i.yg)("inlineCode",{parentName:"p"},"language")," option expects an object with key/value pairs, where key represents the language and value an array of ",(0,i.yg)("a",{parentName:"p",href:"http://messageformat.github.io/messageformat/"},"messageformat")," compliant JSON files. For more information about localization, see the ",(0,i.yg)("a",{parentName:"p",href:"../basic-features/dictionary"},"dictionary")," section."),(0,i.yg)("admonition",{type:"note"},(0,i.yg)("p",{parentName:"admonition"},(0,i.yg)("strong",{parentName:"p"},"Globs")," are fully supported and resolved through ",(0,i.yg)("a",{parentName:"p",href:"https://www.npmjs.com/package/globby"},"globby")," npm package.")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js",metastring:"title=./ima.config.js",title:"./ima.config.js"},"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n languages: {\n cs: [\n './node_modules/@ima/**/*CS.json',\n './node_modules/@cns/**/*CS.json',\n './app/**/*CS.json'\n ],\n en: [\n './node_modules/@ima/**/*EN.json',\n './node_modules/@cns/**/*EN.json',\n './app/**/*EN.json'\n ]\n }\n}\n")),(0,i.yg)("h3",{id:"jsxruntime"},"jsxRuntime"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"'classic' | 'automatic' = 'automatic'"))),(0,i.yg)("p",null,"Use ",(0,i.yg)("inlineCode",{parentName:"p"},"jsxRuntime")," option to enable ",(0,i.yg)("inlineCode",{parentName:"p"},"classic")," or ",(0,i.yg)("inlineCode",{parentName:"p"},"automatic")," mode for jsx transformations. For more information see ",(0,i.yg)("a",{parentName:"p",href:"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html"},"Introducing the New JSX Transform"),"."),(0,i.yg)("h3",{id:"webpackaliases"},"webpackAliases"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"object"))),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"webpackAliases")," options is passed directly to the webpack ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/configuration/resolve/#resolvealias"},"resolve.alias")," configuration. You can use this to define additional path aliases to the already existing ",(0,i.yg)("inlineCode",{parentName:"p"},"app/*")," alias, which points to the ",(0,i.yg)("inlineCode",{parentName:"p"},"./app")," directory."),(0,i.yg)("p",null,"To have the ability to use absolute paths, which are resolved from the ",(0,i.yg)("inlineCode",{parentName:"p"},"./app/components")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"./app/pages")," directory:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"import Home from 'components/home/Home';\nimport DetailView from 'pages/detail/DetailView';\n")),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"webpackAliases")," option configuration could look something like this:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./ima.config.js",title:"./ima.config.js"},"const path = require('path');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n webpackAliases: {\n 'components': path.resolve('./app/components'),\n 'pages': path.resolve('./app/pages'),\n };\n};\n")),(0,i.yg)("h3",{id:"sourcemaps"},"sourceMaps"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"boolean |\xa0string = false"))),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"sourceMaps")," option enables source maps in the production build. Use ",(0,i.yg)("inlineCode",{parentName:"p"},"true")," for ",(0,i.yg)("inlineCode",{parentName:"p"},"'source-map'")," or any other string value compatible with ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/configuration/devtool/#devtool"},"webpack devtool")," option."),(0,i.yg)("h3",{id:"devserver"},"devServer"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"object"))),(0,i.yg)("p",null,"Similarly to the ",(0,i.yg)("a",{parentName:"p",href:"./cli#dev-server-options"},"CLI options"),", you can use the ",(0,i.yg)("inlineCode",{parentName:"p"},"devServer")," option to override defaults for our ",(0,i.yg)("a",{parentName:"p",href:"/cli/advanced-features#dev-server"},"companion dev server"),"."),(0,i.yg)("p",null,"The only thing that's configurable through the ima.config.js ",(0,i.yg)("strong",{parentName:"p"},"only"),", is the ",(0,i.yg)("inlineCode",{parentName:"p"},"writeToDiskFilter")," function. This allows you to force the dev server to write certain files to disk, even if you're serving them from ",(0,i.yg)("a",{parentName:"p",href:"/cli/#%E2%80%93writetodisk"},"memory in the watch mode"),"."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./ima.config.js",title:"./ima.config.js"},"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n devServer: {\n port: 3101,\n hostname: 'localhost',\n publicUrl: 'http://localhost:3101',\n writeToDiskFilter: (filePath) => false,\n // Use to define custom origin for CORS headers on dev server\n origin: 'http://localhost:3001',\n };\n};\n")),(0,i.yg)("admonition",{type:"note"},(0,i.yg)("p",{parentName:"admonition"},"The CLI arguments always take precedence over any other configurations.")),(0,i.yg)("h3",{id:"publicpath"},"publicPath"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"string = '/'"))),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"publicPath")," option is used to specify base path for all assets within the application. (see more at ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/guides/public-path/"},"webpack public path"),")."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"Use this option to change base public path for static served files, for example when uploading static files to CDN."),(0,i.yg)("h4",{parentName:"admonition",id:"runtime-public-path"},"Runtime public path"),(0,i.yg)("p",{parentName:"admonition"},"When you want to ",(0,i.yg)("strong",{parentName:"p"},"change public path during runtime"),", you can use ",(0,i.yg)("inlineCode",{parentName:"p"},"IMA_PUBLIC_PATH")," env variable, when starting the application server. This variable takes preference before the ima config ",(0,i.yg)("inlineCode",{parentName:"p"},"publicPath")," option."),(0,i.yg)("pre",{parentName:"admonition"},(0,i.yg)("code",{parentName:"pre",className:"language-bash"},'IMA_PUBLIC_PATH="https://cdn.basePath/cd_F/" node ./server/server.js\n')),(0,i.yg)("p",{parentName:"admonition"},"Additionally, when used, runner.js injected scripts and styles have defined fallback to local static files, in case the runtime public path assets are not available (CDN is down for example)."),(0,i.yg)("h4",{parentName:"admonition",id:"default-settings"},"Default settings"),(0,i.yg)("p",{parentName:"admonition"},"If you want to serve your static files on a different route (default is ",(0,i.yg)("inlineCode",{parentName:"p"},"/static"),"), customize the ",(0,i.yg)("inlineCode",{parentName:"p"},"staticPath")," option in ",(0,i.yg)("inlineCode",{parentName:"p"},"./server/config/environment.js")," file and change ",(0,i.yg)("inlineCode",{parentName:"p"},"publicPath")," option accordingly:"),(0,i.yg)("pre",{parentName:"admonition"},(0,i.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./server/config/environment.js",title:"./server/config/environment.js"},"module.exports = (() => {\n return {\n prod: {\n $Server: {\n /**\n * The built static files are served on the\n * http://localhost:3001/pro/static base url\n */\n staticPath: '/pro/static',\n }\n }\n }\n});\n")),(0,i.yg)("pre",{parentName:"admonition"},(0,i.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./ima.config.js",title:"./ima.config.js"},"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n publicPath: '/pro/static/',\n};\n"))),(0,i.yg)("h3",{id:"compress"},"compress"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"boolean = true"))),(0,i.yg)("p",null,"Enables brotli and gzip compression for production assets (in build command). Set to false to disable this feature."),(0,i.yg)("h3",{id:"imageinlinesizelimit"},"imageInlineSizeLimit"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"number = 8192"))),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"imageInlineSizeLimit")," configuration option is already described in the ",(0,i.yg)("a",{parentName:"p",href:"./compiler-features#images"},"compiler features")," section. Essentially it's a image size threshold for it's automatic inlining as a base64 string."),(0,i.yg)("h3",{id:"disablelegacybuild"},"disableLegacyBuild"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"boolean"))),(0,i.yg)("p",null,"Set to true to disable building of the ",(0,i.yg)("inlineCode",{parentName:"p"},"client")," bundle (older ECMAScript target)."),(0,i.yg)("p",null,(0,i.yg)("strong",{parentName:"p"},"Don't forget")," to remove ",(0,i.yg)("inlineCode",{parentName:"p"},"script")," sources from the ",(0,i.yg)("inlineCode",{parentName:"p"},"$Source")," option in ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/create-ima-app/template/server/config/environment.js#31"},"app environment")," config"),(0,i.yg)("admonition",{type:"caution"},(0,i.yg)("p",{parentName:"admonition"},"The application will now only execute the modern version of the client bundle (",(0,i.yg)("inlineCode",{parentName:"p"},"client.es"),"), meaning that the it will only work on the latest versions of modern browsers."),(0,i.yg)("p",{parentName:"admonition"},"This can be useful if you're building an app, where you are able to set constrains for the supported browsers (e.g. internal admin page).")),(0,i.yg)("h3",{id:"transformvendorpaths"},"transformVendorPaths"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"{ include?: RegExp[]; exclude?: RegExp[]; }"))),(0,i.yg)("admonition",{type:"caution"},(0,i.yg)("p",{parentName:"admonition"},"This is an advanced feature.")),(0,i.yg)("p",null,"Using this option you can include/exclude array of regular expressions that are matched against file paths of processed vendor files ",(0,i.yg)("em",{parentName:"p"},"(= imported files from node_modules)"),". These files are then processed through ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#swcvendor"},(0,i.yg)("inlineCode",{parentName:"a"},"swc-loader"))," that makes sure to compile their syntax to currently supported target ",(0,i.yg)("em",{parentName:"p"},"(ES9)"),". This transformation is executed only for the ",(0,i.yg)("strong",{parentName:"p"},"legacy client bundle"),"."),(0,i.yg)("p",null,"By default the CLI always matches all files under the ",(0,i.yg)("inlineCode",{parentName:"p"},"@ima")," namespace, since we release our plugins in latest ECMA syntax and they need to be compiled down to older syntaxes with proper core-js polyfills."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"If you use any ",(0,i.yg)("strong",{parentName:"p"},"3rd party")," libraries that you are not sure if they support your currently supported browser environments, add their package names as regular expressions to this array and they will be compiled using swc-loader with proper polyfill injections from the core-js package.")),(0,i.yg)("h3",{id:"watchoptions"},"watchOptions"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"object"))),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"watchOptions")," is an object, passed to the webpack watch compiler. You can customize ",(0,i.yg)("inlineCode",{parentName:"p"},"watchOptions.ignored")," files settings or ",(0,i.yg)("inlineCode",{parentName:"p"},"watchOptions.aggregateTimeout")," if you have any issues with the default values."),(0,i.yg)("p",null,"For more information visit the ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/configuration/watch/#watchoptions"},"webpack documentation"),"."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"If you have any issues with webpack compilation launching multiple times per one file save, try to increase the ",(0,i.yg)("inlineCode",{parentName:"p"},"watchOptions.aggregateTimeout")," number and see if it helps.")),(0,i.yg)("h3",{id:"experiments"},"experiments"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"object"))),(0,i.yg)("p",null,"This is a place where you can enable IMA.js configuration experiments. Don't confuse this with the webpack experiments field, this is used only for our potential future configuration updates or changes, which may be enabled by default in the future (much like webpack does)."),(0,i.yg)("p",null,"Currently there's only one running experiment option ",(0,i.yg)("inlineCode",{parentName:"p"},"experiments.css"),", that uses webpack native CSS support which completely replaces the ",(0,i.yg)("inlineCode",{parentName:"p"},"css-loader")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"mini-css-extract-plugin")," libraries."),(0,i.yg)("h3",{id:"plugins"},"plugins"),(0,i.yg)("blockquote",null,(0,i.yg)("p",{parentName:"blockquote"},(0,i.yg)("inlineCode",{parentName:"p"},"ImaCliPlugin[]"))),(0,i.yg)("p",null,"Array of IMA.js CLI plugin instances. For more information about CLI plugins, see ",(0,i.yg)("a",{parentName:"p",href:"/cli/cli-plugins-api"},"Plugins API")," section."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cd4295eb.da02e526.js b/assets/js/cd4295eb.da02e526.js new file mode 100644 index 000000000..0b80da182 --- /dev/null +++ b/assets/js/cd4295eb.da02e526.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5847],{1732:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"cli/ima.config.js","title":"ima.config.js","description":"CLI > Customizing the build through ima.config.js","source":"@site/../docs/cli/ima.config.js.md","sourceDirName":"cli","slug":"/cli/ima-config-js","permalink":"/cli/ima-config-js","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/ima.config.js.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"ima.config.js","description":"CLI > Customizing the build through ima.config.js","slug":"ima-config-js"},"sidebar":"docs","previous":{"title":"Compiler features","permalink":"/cli/compiler-features"},"next":{"title":"Additional features","permalink":"/cli/additional-features"}}');var o=i(2540),t=i(3023);const c={title:"ima.config.js",description:"CLI > Customizing the build through ima.config.js",slug:"ima-config-js"},r=void 0,a={},l=[{value:"Configuration options",id:"configuration-options",level:2},{value:"webpack",id:"webpack",level:3},{value:"swc",id:"swc",level:3},{value:"swcVendor",id:"swcvendor",level:3},{value:"postcss",id:"postcss",level:3},{value:"prepareConfigurations",id:"prepareconfigurations",level:3},{value:"languages",id:"languages",level:3},{value:"jsxRuntime",id:"jsxruntime",level:3},{value:"webpackAliases",id:"webpackaliases",level:3},{value:"sourceMaps",id:"sourcemaps",level:3},{value:"devServer",id:"devserver",level:3},{value:"publicPath",id:"publicpath",level:3},{value:"Runtime public path",id:"runtime-public-path",level:4},{value:"Default settings",id:"default-settings",level:4},{value:"compress",id:"compress",level:3},{value:"imageInlineSizeLimit",id:"imageinlinesizelimit",level:3},{value:"disableLegacyBuild",id:"disablelegacybuild",level:3},{value:"transformVendorPaths",id:"transformvendorpaths",level:3},{value:"watchOptions",id:"watchoptions",level:3},{value:"experiments",id:"experiments",level:3},{value:"plugins",id:"plugins",level:3}];function d(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",div:"div",em:"em",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["To additionally customize the build configuration of IMA.js, you can create a ",(0,o.jsx)(n.code,{children:"ima.config.js"})," file in the root of your project (next to package.json)."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"ima.config.js"})," is regular JavaScript module that is loaded during the build configuration initialization (in Node.js environment) and ",(0,o.jsx)(n.strong,{children:"it is not included in the final application bundle"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["An example of ",(0,o.jsx)(n.code,{children:"ima.config.js"})," file can look something like this:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const postcssUnmq = require('postcss-unmq');\nconst { AnalyzePlugin } = require('@ima/cli');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n publicPath: '/public/',\n watchOptions: {\n ignored: /(node_modules|build|.husky|_templates|.git)\\/(?!@ima).*/\n },\n plugins: [\n new AnalyzePlugin()\n ],\n webpack: async (config, ctx) => {\n // Enable webpack infrastructure logging\n if (ctx.command === 'dev') {\n config.infrastructureLogging = {\n level: 'info',\n };\n }\n\n return config;\n },\n postcss: (config, ctx) => {\n config.postcssOptions.plugins.push(postcssUnmq({ width: 540 }));\n\n return config;\n },\n languages: {\n cs: [\n './node_modules/@ima/**/*CS.json',\n './app/**/*CS.json'\n ],\n en: [\n './node_modules/@ima/**/*EN.json',\n './app/**/*EN.json'\n ]\n }\n};\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Use the ",(0,o.jsx)(n.code,{children:"@type"})," jsdoc annotation to enable ts-types code completions."]})}),"\n",(0,o.jsx)(n.h2,{id:"configuration-options",children:"Configuration options"}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"ima.config.js"})," file should export an object with any combination of the following configuration options."]}),"\n",(0,o.jsx)(n.h3,{id:"webpack",children:"webpack"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"async function(config, ctx, imaConfig): config"})}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"This is the most advanced and versatile configuration option, allowing you to change the generated webpack configuration directly before it's passed to the compiler. This function is executed last in the whole configuration pipeline, meaning that all default configurations and CLI plugin configurations are already merged into the config value. This allows you to completely customize the final config form."}),"\n",(0,o.jsxs)(n.p,{children:["The function receives ",(0,o.jsx)(n.strong,{children:"3 arguments"})," and has to always return (mutated) config object:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"config"})," - webpack configuration object (just like the one you usually define in webpack.config.js)."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"ctx"})," - current configuration context. As we mentioned in the ",(0,o.jsx)(n.a,{href:"./compiler-features#server-and-client-bundles",children:"compiler features"}),", the app builds 3 different bundles. Using ",(0,o.jsx)(n.code,{children:"ctx.name"})," you can find out which configuration you are currently editing. There are many additional values that help you identify current build state. You can use these to further customize the config only in some cases or for certain bundles. For more information take a look at the ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/packages/cli/src/types.ts#L47",children:"argument type"}),"."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"imaConfig"})," - loaded ",(0,o.jsx)(n.code,{children:"ima.config.js"})," file, with defaults."]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"The following example turns on minification for server bundle for build command:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n webpack: async (config, ctx) => {\n if (ctx.command === 'build' && ctx.name === 'server') {\n config.optimization.minimize = true;\n }\n\n return config;\n },\n};\n"})}),"\n",(0,o.jsx)(n.div,{children:(0,o.jsxs)(n.p,{children:["Since this function can be implemented in ",(0,o.jsx)(n.code,{children:"ima.config.js"})," and also CLI plugins, the resolve order is following ",(0,o.jsx)(n.code,{children:"default @ima/cli config"})," -> ",(0,o.jsx)(n.code,{children:"CLI plugin configs"})," -> ",(0,o.jsx)(n.code,{children:"ima.config.js"}),"."]})}),"\n",(0,o.jsx)(n.h3,{id:"swc",children:"swc"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"async function(swcLoaderOptions, ctx): swcLoaderOptions"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Similarly to ",(0,o.jsx)(n.code,{children:"webpack"}),", this function is executed with the ",(0,o.jsx)(n.code,{children:"swc-loader"})," ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/packages/cli/src/webpack/config.ts#L401",children:"default options"})," and it's result is then passed to the loader itself. This allows you to customize the swc compiler options in easier and more direct way than you'd have to do when using the ",(0,o.jsx)(n.code,{children:"webpack"})," option."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, to ",(0,o.jsx)(n.strong,{children:"enable support"})," for the ",(0,o.jsx)(n.a,{href:"https://github.com/zloirock/core-js#stage-3-proposals",children:"ECMAScript proposals core-js feature"}),", you would do the following:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n swc: async (swcLoaderOptions, ctx) => {\n swcLoaderOptions.env.shippedProposals = true;\n\n return swcLoaderOptions;\n },\n};\n"})}),"\n",(0,o.jsx)(n.h3,{id:"swcvendor",children:"swcVendor"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"async function(swcLoaderOptions, ctx): swcLoaderOptions"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Works same as the aforementioned ",(0,o.jsx)(n.a,{href:"/cli/ima-config-js#swc",children:(0,o.jsx)(n.code,{children:"swc"})})," options, except this config is applied to vendor files that match regular expressions defined in the ",(0,o.jsx)(n.a,{href:"/cli/ima-config-js#transformvendorpaths",children:(0,o.jsx)(n.code,{children:"transformVendorPaths"})})," settings."]}),"\n",(0,o.jsx)(n.h3,{id:"postcss",children:"postcss"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"async function(postCssLoaderOptions, ctx): postCssLoaderOptions"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Lastly, this function is used to customize the ",(0,o.jsx)(n.code,{children:"postcss-loader"})," options. Among the rest you can easily define ",(0,o.jsx)(n.strong,{children:"custom PostCSS plugins"})," or completely overwrite the ",(0,o.jsx)(n.a,{href:"/cli/compiler-features#postcss",children:"default set"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"const postcssUnmq = require('postcss-unmq');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n swc: async (postCssLoaderOptions, ctx) => {\n postCssLoaderOptions.postcssOptions.plugins.push(\n postcssUnmq({ width: 540 })\n );\n\n return postCssLoaderOptions;\n },\n};\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsxs)(n.p,{children:["The webpack configuration intentionally ignores any ",(0,o.jsx)(n.strong,{children:".postcssrc"})," configuration files to prevent potential conflicts with multiple config files."]})}),"\n",(0,o.jsx)(n.h3,{id:"prepareconfigurations",children:"prepareConfigurations"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:" async function(configurations: ImaConfigurationContext[], imaConfig: ImaConfig, args: ImaCliArgs): Promise<ImaConfigurationContext[]>"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This allows you to override values of context variables like ",(0,o.jsx)(n.code,{children:"useHMR"}),", ",(0,o.jsx)(n.code,{children:"useTypeScript"})," which define\nhow the final webpack config is generated, without the need to customize the config itself."]}),"\n",(0,o.jsx)(n.h3,{id:"languages",children:"languages"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"i18n"})," language files configuration. The ",(0,o.jsx)(n.code,{children:"language"})," option expects an object with key/value pairs, where key represents the language and value an array of ",(0,o.jsx)(n.a,{href:"http://messageformat.github.io/messageformat/",children:"messageformat"})," compliant JSON files. For more information about localization, see the ",(0,o.jsx)(n.a,{href:"../basic-features/dictionary",children:"dictionary"})," section."]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Globs"})," are fully supported and resolved through ",(0,o.jsx)(n.a,{href:"https://www.npmjs.com/package/globby",children:"globby"})," npm package."]})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:"title=./ima.config.js",children:"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n languages: {\n cs: [\n './node_modules/@ima/**/*CS.json',\n './node_modules/@cns/**/*CS.json',\n './app/**/*CS.json'\n ],\n en: [\n './node_modules/@ima/**/*EN.json',\n './node_modules/@cns/**/*EN.json',\n './app/**/*EN.json'\n ]\n }\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"jsxruntime",children:"jsxRuntime"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"'classic' | 'automatic' = 'automatic'"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Use ",(0,o.jsx)(n.code,{children:"jsxRuntime"})," option to enable ",(0,o.jsx)(n.code,{children:"classic"})," or ",(0,o.jsx)(n.code,{children:"automatic"})," mode for jsx transformations. For more information see ",(0,o.jsx)(n.a,{href:"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html",children:"Introducing the New JSX Transform"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"webpackaliases",children:"webpackAliases"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"webpackAliases"})," options is passed directly to the webpack ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/configuration/resolve/#resolvealias",children:"resolve.alias"})," configuration. You can use this to define additional path aliases to the already existing ",(0,o.jsx)(n.code,{children:"app/*"})," alias, which points to the ",(0,o.jsx)(n.code,{children:"./app"})," directory."]}),"\n",(0,o.jsxs)(n.p,{children:["To have the ability to use absolute paths, which are resolved from the ",(0,o.jsx)(n.code,{children:"./app/components"})," and ",(0,o.jsx)(n.code,{children:"./app/pages"})," directory:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",children:"import Home from 'components/home/Home';\nimport DetailView from 'pages/detail/DetailView';\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"webpackAliases"})," option configuration could look something like this:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",metastring:"title=./ima.config.js",children:"const path = require('path');\n\n/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n webpackAliases: {\n 'components': path.resolve('./app/components'),\n 'pages': path.resolve('./app/pages'),\n };\n};\n"})}),"\n",(0,o.jsx)(n.h3,{id:"sourcemaps",children:"sourceMaps"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"boolean |\xa0string = false"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"sourceMaps"})," option enables source maps in the production build. Use ",(0,o.jsx)(n.code,{children:"true"})," for ",(0,o.jsx)(n.code,{children:"'source-map'"})," or any other string value compatible with ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/configuration/devtool/#devtool",children:"webpack devtool"})," option."]}),"\n",(0,o.jsx)(n.h3,{id:"devserver",children:"devServer"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Similarly to the ",(0,o.jsx)(n.a,{href:"./cli#dev-server-options",children:"CLI options"}),", you can use the ",(0,o.jsx)(n.code,{children:"devServer"})," option to override defaults for our ",(0,o.jsx)(n.a,{href:"/cli/advanced-features#dev-server",children:"companion dev server"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["The only thing that's configurable through the ima.config.js ",(0,o.jsx)(n.strong,{children:"only"}),", is the ",(0,o.jsx)(n.code,{children:"writeToDiskFilter"})," function. This allows you to force the dev server to write certain files to disk, even if you're serving them from ",(0,o.jsx)(n.a,{href:"/cli/#%E2%80%93writetodisk",children:"memory in the watch mode"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",metastring:"title=./ima.config.js",children:"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n devServer: {\n port: 3101,\n hostname: 'localhost',\n publicUrl: 'http://localhost:3101',\n writeToDiskFilter: (filePath) => false,\n // Use to define custom origin for CORS headers on dev server\n origin: 'http://localhost:3001',\n };\n};\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"The CLI arguments always take precedence over any other configurations."})}),"\n",(0,o.jsx)(n.h3,{id:"publicpath",children:"publicPath"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"string = '/'"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"publicPath"})," option is used to specify base path for all assets within the application. (see more at ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/guides/public-path/",children:"webpack public path"}),")."]}),"\n",(0,o.jsxs)(n.admonition,{type:"tip",children:[(0,o.jsx)(n.p,{children:"Use this option to change base public path for static served files, for example when uploading static files to CDN."}),(0,o.jsx)(n.h4,{id:"runtime-public-path",children:"Runtime public path"}),(0,o.jsxs)(n.p,{children:["When you want to ",(0,o.jsx)(n.strong,{children:"change public path during runtime"}),", you can use ",(0,o.jsx)(n.code,{children:"IMA_PUBLIC_PATH"})," env variable, when starting the application server. This variable takes preference before the ima config ",(0,o.jsx)(n.code,{children:"publicPath"})," option."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:'IMA_PUBLIC_PATH="https://cdn.basePath/cd_F/" node ./server/server.js\n'})}),(0,o.jsx)(n.p,{children:"Additionally, when used, runner.js injected scripts and styles have defined fallback to local static files, in case the runtime public path assets are not available (CDN is down for example)."}),(0,o.jsx)(n.h4,{id:"default-settings",children:"Default settings"}),(0,o.jsxs)(n.p,{children:["If you want to serve your static files on a different route (default is ",(0,o.jsx)(n.code,{children:"/static"}),"), customize the ",(0,o.jsx)(n.code,{children:"staticPath"})," option in ",(0,o.jsx)(n.code,{children:"./server/config/environment.js"})," file and change ",(0,o.jsx)(n.code,{children:"publicPath"})," option accordingly:"]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",metastring:"title=./server/config/environment.js",children:"module.exports = (() => {\n return {\n prod: {\n $Server: {\n /**\n * The built static files are served on the\n * http://localhost:3001/pro/static base url\n */\n staticPath: '/pro/static',\n }\n }\n }\n});\n"})}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-javascript",metastring:"title=./ima.config.js",children:"/**\n * @type import('@ima/cli').ImaConfig\n */\nmodule.exports = {\n publicPath: '/pro/static/',\n};\n"})})]}),"\n",(0,o.jsx)(n.h3,{id:"compress",children:"compress"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"boolean = true"})}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Enables brotli and gzip compression for production assets (in build command). Set to false to disable this feature."}),"\n",(0,o.jsx)(n.h3,{id:"imageinlinesizelimit",children:"imageInlineSizeLimit"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"number = 8192"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"imageInlineSizeLimit"})," configuration option is already described in the ",(0,o.jsx)(n.a,{href:"./compiler-features#images",children:"compiler features"})," section. Essentially it's a image size threshold for it's automatic inlining as a base64 string."]}),"\n",(0,o.jsx)(n.h3,{id:"disablelegacybuild",children:"disableLegacyBuild"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"boolean"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Set to true to disable building of the ",(0,o.jsx)(n.code,{children:"client"})," bundle (older ECMAScript target)."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Don't forget"})," to remove ",(0,o.jsx)(n.code,{children:"script"})," sources from the ",(0,o.jsx)(n.code,{children:"$Source"})," option in ",(0,o.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/next/packages/create-ima-app/template/server/config/environment.js#31",children:"app environment"})," config"]}),"\n",(0,o.jsxs)(n.admonition,{type:"caution",children:[(0,o.jsxs)(n.p,{children:["The application will now only execute the modern version of the client bundle (",(0,o.jsx)(n.code,{children:"client.es"}),"), meaning that the it will only work on the latest versions of modern browsers."]}),(0,o.jsx)(n.p,{children:"This can be useful if you're building an app, where you are able to set constrains for the supported browsers (e.g. internal admin page)."})]}),"\n",(0,o.jsx)(n.h3,{id:"transformvendorpaths",children:"transformVendorPaths"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"{ include?: RegExp[]; exclude?: RegExp[]; }"})}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{type:"caution",children:(0,o.jsx)(n.p,{children:"This is an advanced feature."})}),"\n",(0,o.jsxs)(n.p,{children:["Using this option you can include/exclude array of regular expressions that are matched against file paths of processed vendor files ",(0,o.jsx)(n.em,{children:"(= imported files from node_modules)"}),". These files are then processed through ",(0,o.jsx)(n.a,{href:"/cli/ima-config-js#swcvendor",children:(0,o.jsx)(n.code,{children:"swc-loader"})})," that makes sure to compile their syntax to currently supported target ",(0,o.jsx)(n.em,{children:"(ES9)"}),". This transformation is executed only for the ",(0,o.jsx)(n.strong,{children:"legacy client bundle"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["By default the CLI always matches all files under the ",(0,o.jsx)(n.code,{children:"@ima"})," namespace, since we release our plugins in latest ECMA syntax and they need to be compiled down to older syntaxes with proper core-js polyfills."]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["If you use any ",(0,o.jsx)(n.strong,{children:"3rd party"})," libraries that you are not sure if they support your currently supported browser environments, add their package names as regular expressions to this array and they will be compiled using swc-loader with proper polyfill injections from the core-js package."]})}),"\n",(0,o.jsx)(n.h3,{id:"watchoptions",children:"watchOptions"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"watchOptions"})," is an object, passed to the webpack watch compiler. You can customize ",(0,o.jsx)(n.code,{children:"watchOptions.ignored"})," files settings or ",(0,o.jsx)(n.code,{children:"watchOptions.aggregateTimeout"})," if you have any issues with the default values."]}),"\n",(0,o.jsxs)(n.p,{children:["For more information visit the ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/configuration/watch/#watchoptions",children:"webpack documentation"}),"."]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["If you have any issues with webpack compilation launching multiple times per one file save, try to increase the ",(0,o.jsx)(n.code,{children:"watchOptions.aggregateTimeout"})," number and see if it helps."]})}),"\n",(0,o.jsx)(n.h3,{id:"experiments",children:"experiments"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"object"})}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"This is a place where you can enable IMA.js configuration experiments. Don't confuse this with the webpack experiments field, this is used only for our potential future configuration updates or changes, which may be enabled by default in the future (much like webpack does)."}),"\n",(0,o.jsxs)(n.p,{children:["Currently there's only one running experiment option ",(0,o.jsx)(n.code,{children:"experiments.css"}),", that uses webpack native CSS support which completely replaces the ",(0,o.jsx)(n.code,{children:"css-loader"})," and ",(0,o.jsx)(n.code,{children:"mini-css-extract-plugin"})," libraries."]}),"\n",(0,o.jsx)(n.h3,{id:"plugins",children:"plugins"}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"ImaCliPlugin[]"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Array of IMA.js CLI plugin instances. For more information about CLI plugins, see ",(0,o.jsx)(n.a,{href:"/cli/cli-plugins-api",children:"Plugins API"})," section."]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>r});var s=i(3696);const o={},t=s.createContext(o);function c(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cdea063f.02f23362.js b/assets/js/cdea063f.02f23362.js deleted file mode 100644 index d6ba11cc4..000000000 --- a/assets/js/cdea063f.02f23362.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2497],{5680:(e,n,i)=>{i.d(n,{xA:()=>m,yg:()=>u});var t=i(6540);function r(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function a(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,t)}return i}function o(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?a(Object(i),!0).forEach((function(n){r(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function c(e,n){if(null==e)return{};var i,t,r=function(e,n){if(null==e)return{};var i,t,r={},a=Object.keys(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||(r[i]=e[i]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)i=a[t],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var p=t.createContext({}),l=function(e){var n=t.useContext(p),i=n;return e&&(i="function"==typeof e?e(n):o(o({},n),e)),i},m=function(e){var n=l(e.components);return t.createElement(p.Provider,{value:n},e.children)},s="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},g=t.forwardRef((function(e,n){var i=e.components,r=e.mdxType,a=e.originalType,p=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),s=l(i),g=r,u=s["".concat(p,".").concat(g)]||s[g]||f[g]||a;return i?t.createElement(u,o(o({ref:n},m),{},{components:i})):t.createElement(u,o({ref:n},m))}));function u(e,n){var i=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=i.length,o=new Array(a);o[0]=g;var c={};for(var p in n)hasOwnProperty.call(n,p)&&(c[p]=n[p]);c.originalType=e,c[s]="string"==typeof e?e:r,o[1]=c;for(var l=2;l<a;l++)o[l]=i[l];return t.createElement.apply(null,o)}return t.createElement.apply(null,i)}g.displayName="MDXCreateElement"},3024:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>f,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var t=i(8102),r=(i(6540),i(5680));const a={id:"ima_core.InitImaConfig",title:"Interface: InitImaConfig",sidebar_label:"@ima/core.InitImaConfig",custom_edit_url:null},o=void 0,c={unversionedId:"api/interfaces/ima_core.InitImaConfig",id:"api/interfaces/ima_core.InitImaConfig",title:"Interface: InitImaConfig",description:"@ima/core.InitImaConfig",source:"@site/../docs/api/interfaces/ima_core.InitImaConfig.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.InitImaConfig",permalink:"/api/interfaces/ima_core.InitImaConfig",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.InitImaConfig",title:"Interface: InitImaConfig",sidebar_label:"@ima/core.InitImaConfig",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.InitAppConfig",permalink:"/api/interfaces/ima_core.InitAppConfig"},next:{title:"@ima/core.InitPluginConfig",permalink:"/api/interfaces/ima_core.InitPluginConfig"}},p={},l=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"initBindIma",id:"initbindima",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"initServicesIma",id:"initservicesima",level:3},{value:"Defined in",id:"defined-in-1",level:4}],m={toc:l},s="wrapper";function f(e){let{components:n,...i}=e;return(0,r.yg)(s,(0,t.A)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".InitImaConfig"),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"InitImaConfig"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootConfig"},(0,r.yg)("inlineCode",{parentName:"a"},"BootConfig"))))),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"initbindima"},"initBindIma"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"initBindIma"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initbindfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"InitBindFunction"))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L78"},"packages/core/src/Bootstrap.ts:78")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"initservicesima"},"initServicesIma"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"initServicesIma"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initservicesfunction"},(0,r.yg)("inlineCode",{parentName:"a"},"InitServicesFunction"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L79"},"packages/core/src/Bootstrap.ts:79")))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ce9f7c01.e08a7628.js b/assets/js/ce9f7c01.e08a7628.js new file mode 100644 index 000000000..ce172a199 --- /dev/null +++ b/assets/js/ce9f7c01.e08a7628.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6217],{7667:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/classes/Bootstrap","title":"Class: Bootstrap","description":"Defined in123","source":"@site/../docs/api/@ima/core/classes/Bootstrap.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Bootstrap","permalink":"/api/@ima/core/classes/Bootstrap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Bootstrap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractRouter","permalink":"/api/@ima/core/classes/AbstractRouter"},"next":{"title":"Class: abstract Cache\\\\<V\\\\>","permalink":"/api/@ima/core/classes/Cache"}}');var r=i(2540),c=i(3023);const t={},l="Class: Bootstrap",a={},d=[{value:"Constructors",id:"constructors",level:2},{value:"new Bootstrap()",id:"new-bootstrap",level:3},{value:"Parameters",id:"parameters",level:4},{value:"oc",id:"oc",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_config",id:"_config",level:3},{value:"_oc",id:"_oc",level:3},{value:"Methods",id:"methods",level:2},{value:"_bindDependencies()",id:"_binddependencies",level:3},{value:"Returns",id:"returns-1",level:4},{value:"_bindPluginDependencies()",id:"_bindplugindependencies",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"name",id:"name",level:5},{value:"plugin",id:"plugin",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_initPluginServices()",id:"_initpluginservices",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"plugin",id:"plugin-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_initPluginSettings()",id:"_initpluginsettings",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"name",id:"name-1",level:5},{value:"plugin",id:"plugin-2",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_initRoutes()",id:"_initroutes",level:3},{value:"Returns",id:"returns-5",level:4},{value:"_initServices()",id:"_initservices",level:3},{value:"Returns",id:"returns-6",level:4},{value:"_initSettings()",id:"_initsettings",level:3},{value:"Returns",id:"returns-7",level:4},{value:"initPlugin()",id:"initplugin",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"name",id:"name-2",level:5},{value:"plugin?",id:"plugin-3",level:5},{value:"Returns",id:"returns-8",level:4},{value:"run()",id:"run",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"config",id:"config",level:5},{value:"Returns",id:"returns-9",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"class-bootstrap",children:"Class: Bootstrap"})}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L123",children:"packages/core/src/Bootstrap.ts:123"})]}),"\n",(0,r.jsx)(n.p,{children:"Application bootstrap used to initialize the environment and the application\nitself."}),"\n",(0,r.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(n.h3,{id:"new-bootstrap",children:"new Bootstrap()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"new Bootstrap"}),"(",(0,r.jsx)(n.code,{children:"oc"}),"): ",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,r.jsx)(n.code,{children:"Bootstrap"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L133",children:"packages/core/src/Bootstrap.ts:133"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes the bootstrap."}),"\n",(0,r.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"oc",children:"oc"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,r.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,r.jsx)(n.p,{children:"The application's object container to use\nfor managing dependencies."}),"\n",(0,r.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,r.jsx)(n.code,{children:"Bootstrap"})})}),"\n",(0,r.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(n.h3,{id:"_config",children:"_config"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"protected"})," ",(0,r.jsx)(n.strong,{children:"_config"}),": ",(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,r.jsx)(n.code,{children:"BootConfig"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L125",children:"packages/core/src/Bootstrap.ts:125"})]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_oc",children:"_oc"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"protected"})," ",(0,r.jsx)(n.strong,{children:"_oc"}),": ",(0,r.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,r.jsx)(n.code,{children:"ObjectContainer"})})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L124",children:"packages/core/src/Bootstrap.ts:124"})]}),"\n",(0,r.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(n.h3,{id:"_binddependencies",children:"_bindDependencies()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_bindDependencies"}),"(): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L266",children:"packages/core/src/Bootstrap.ts:266"})]}),"\n",(0,r.jsx)(n.p,{children:"Binds the constants, service providers and class dependencies to the\nobject container."}),"\n",(0,r.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_bindplugindependencies",children:"_bindPluginDependencies()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_bindPluginDependencies"}),"(",(0,r.jsx)(n.code,{children:"name"}),", ",(0,r.jsx)(n.code,{children:"plugin"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L298",children:"packages/core/src/Bootstrap.ts:298"})]}),"\n",(0,r.jsx)(n.p,{children:"Binds the constants, service providers and class dependencies to the\nobject container for dynamically imported plugins."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Plugin name."}),"\n",(0,r.jsx)(n.h5,{id:"plugin",children:"plugin"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(n.code,{children:"InitPluginConfig"})})}),"\n",(0,r.jsx)(n.p,{children:"Plugin interface (object with init functions)."}),"\n",(0,r.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_initpluginservices",children:"_initPluginServices()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_initPluginServices"}),"(",(0,r.jsx)(n.code,{children:"plugin"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L336",children:"packages/core/src/Bootstrap.ts:336"})]}),"\n",(0,r.jsx)(n.p,{children:"Service initialization for the dynamically loaded plugins."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"plugin-1",children:"plugin"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(n.code,{children:"InitPluginConfig"})})}),"\n",(0,r.jsx)(n.p,{children:"Plugin interface (object with init functions)."}),"\n",(0,r.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_initpluginsettings",children:"_initPluginSettings()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_initPluginSettings"}),"(",(0,r.jsx)(n.code,{children:"name"}),", ",(0,r.jsx)(n.code,{children:"plugin"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L230",children:"packages/core/src/Bootstrap.ts:230"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes dynamically loaded plugin settings (if the init\nfunction is provided). The settings are merged into the application\nthe same way as with non-dynamic import, meaning the app setting overrides\nare prioritized over the default plugin settings."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"name-1",children:"name"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Plugin name."}),"\n",(0,r.jsx)(n.h5,{id:"plugin-2",children:"plugin"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(n.code,{children:"InitPluginConfig"})})}),"\n",(0,r.jsx)(n.p,{children:"Plugin interface (object with init functions)."}),"\n",(0,r.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_initroutes",children:"_initRoutes()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_initRoutes"}),"(): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L311",children:"packages/core/src/Bootstrap.ts:311"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes the routes."}),"\n",(0,r.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_initservices",children:"_initServices()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_initServices"}),"(): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L319",children:"packages/core/src/Bootstrap.ts:319"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes the basic application services."}),"\n",(0,r.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"_initsettings",children:"_initSettings()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"_initSettings"}),"(): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L186",children:"packages/core/src/Bootstrap.ts:186"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes the application settings. The method loads the settings for\nall environments and then picks the settings for the current environment."}),"\n",(0,r.jsx)(n.p,{children:"The method also handles using the values in the production environment\nas default values for configuration items in other environments."}),"\n",(0,r.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"initplugin",children:"initPlugin()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"initPlugin"}),"(",(0,r.jsx)(n.code,{children:"name"}),", ",(0,r.jsx)(n.code,{children:"plugin"}),"?): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L169",children:"packages/core/src/Bootstrap.ts:169"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes dynamically loaded plugin. This is explicitly called from\nwithin the Plugin Loader instance."}),"\n",(0,r.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"name-2",children:"name"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.p,{children:"Plugin name."}),"\n",(0,r.jsx)(n.h5,{id:"plugin-3",children:"plugin?"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/InitPluginConfig",children:(0,r.jsx)(n.code,{children:"InitPluginConfig"})})}),"\n",(0,r.jsx)(n.p,{children:"Plugin interface (object with init functions)."}),"\n",(0,r.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"run",children:"run()"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"run"}),"(",(0,r.jsx)(n.code,{children:"config"}),"): ",(0,r.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Defined in: ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L153",children:"packages/core/src/Bootstrap.ts:153"})]}),"\n",(0,r.jsx)(n.p,{children:"Initializes the application by running the bootstrap sequence. The\nsequence initializes the components of the application in the following\norder:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"application settings"}),"\n",(0,r.jsx)(n.li,{children:"constants, service providers and class dependencies configuration"}),"\n",(0,r.jsx)(n.li,{children:"services"}),"\n",(0,r.jsx)(n.li,{children:"UI components"}),"\n",(0,r.jsx)(n.li,{children:"routing"}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,r.jsx)(n.h5,{id:"config",children:"config"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,r.jsx)(n.code,{children:"BootConfig"})})}),"\n",(0,r.jsx)(n.p,{children:"The application environment\nconfiguration for the current environment."}),"\n",(0,r.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"void"})})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>l});var s=i(3696);const r={},c=s.createContext(r);function t(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf9cb426.971f883e.js b/assets/js/cf9cb426.971f883e.js deleted file mode 100644 index 90dfc2f71..000000000 --- a/assets/js/cf9cb426.971f883e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1094],{5680:(e,t,a)=>{a.d(t,{xA:()=>o,yg:()=>N});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),g=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},o=function(e){var t=g(e.components);return n.createElement(d.Provider,{value:t},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),y=g(a),s=r,N=y["".concat(d,".").concat(s)]||y[s]||m[s]||i;return a?n.createElement(N,p(p({ref:t},o),{},{components:a})):n.createElement(N,p({ref:t},o))}));function N(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,p=new Array(i);p[0]=s;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[y]="string"==typeof e?e:r,p[1]=l;for(var g=2;g<i;g++)p[g]=a[g];return n.createElement.apply(null,p)}return n.createElement.apply(null,a)}s.displayName="MDXCreateElement"},4237:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>p,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var n=a(8102),r=(a(6540),a(5680));const i={id:"ima_core.HttpProxy",title:"Class: HttpProxy",sidebar_label:"@ima/core.HttpProxy",custom_edit_url:null},p=void 0,l={unversionedId:"api/classes/ima_core.HttpProxy",id:"api/classes/ima_core.HttpProxy",title:"Class: HttpProxy",description:"@ima/core.HttpProxy",source:"@site/../docs/api/classes/ima_core.HttpProxy.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.HttpProxy",permalink:"/api/classes/ima_core.HttpProxy",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.HttpProxy",title:"Class: HttpProxy",sidebar_label:"@ima/core.HttpProxy",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.HttpAgentImpl",permalink:"/api/classes/ima_core.HttpAgentImpl"},next:{title:"@ima/core.MapStorage",permalink:"/api/classes/ima_core.MapStorage"}},d={},g=[{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_defaultHeaders",id:"_defaultheaders",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_transformer",id:"_transformer",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_window",id:"_window",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"Methods",id:"methods",level:2},{value:"_composeRequestInit",id:"_composerequestinit",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_composeRequestParams",id:"_composerequestparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_composeRequestUrl",id:"_composerequesturl",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_convertObjectToFormData",id:"_convertobjecttoformdata",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_convertObjectToQueryString",id:"_convertobjecttoquerystring",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_createError",id:"_createerror",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_getContentType",id:"_getcontenttype",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_headersToPlainObject",id:"_headerstoplainobject",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_processError",id:"_processerror",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_processResponse",id:"_processresponse",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_shouldRequestHaveBody",id:"_shouldrequesthavebody",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_transformRequestBody",id:"_transformrequestbody",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"clearDefaultHeaders",id:"cleardefaultheaders",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getErrorParams",id:"geterrorparams",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"haveToSetCookiesManually",id:"havetosetcookiesmanually",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"request",id:"request",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"setDefaultHeader",id:"setdefaultheader",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-20",level:4}],o={toc:g},y="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(y,(0,n.A)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".HttpProxy"),(0,r.yg)("p",null,"Middleware proxy between ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent")," implementations and the\n",(0,r.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API"},"Fetch API"),",\nproviding a Promise-oriented API for sending requests."),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new HttpProxy"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"transformer"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"window"),")"),(0,r.yg)("p",null,"Initializes the HTTP proxy."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"transformer")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.UrlTransformer"},(0,r.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"A transformer of URLs to which requests are made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"window")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Helper for manipulating the global object ",(0,r.yg)("inlineCode",{parentName:"td"},"window")," regardless of the client/server-side environment.")))),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L76"},"packages/core/src/http/HttpProxy.ts:76")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_defaultheaders"},"_","defaultHeaders"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","defaultHeaders"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L66"},"packages/core/src/http/HttpProxy.ts:66")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_transformer"},"_","transformer"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","transformer"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.UrlTransformer"},(0,r.yg)("inlineCode",{parentName:"a"},"UrlTransformer"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L64"},"packages/core/src/http/HttpProxy.ts:64")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_window"},"_","window"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","window"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Window"},(0,r.yg)("inlineCode",{parentName:"a"},"Window"))),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L65"},"packages/core/src/http/HttpProxy.ts:65")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_composerequestinit"},"_","composeRequestInit"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_composeRequestInit"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.ImaRequestInit"},(0,r.yg)("inlineCode",{parentName:"a"},"ImaRequestInit"))),(0,r.yg)("p",null,"Composes an init object, which can be used as a second argument of\n",(0,r.yg)("inlineCode",{parentName:"p"},"window.fetch")," method."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to be send with a request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Options provided by the HTTP agent.")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.ImaRequestInit"},(0,r.yg)("inlineCode",{parentName:"a"},"ImaRequestInit"))),(0,r.yg)("p",null,"An ",(0,r.yg)("inlineCode",{parentName:"p"},"ImaRequestInit")," object (extended from ",(0,r.yg)("inlineCode",{parentName:"p"},"RequestInit")," of the Fetch API)."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L459"},"packages/core/src/http/HttpProxy.ts:459")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_composerequestparams"},"_","composeRequestParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_composeRequestParams"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams"))),(0,r.yg)("p",null,"Composes an object representing the HTTP request parameters from the\nprovided arguments."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be sent.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send with the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams"))),(0,r.yg)("p",null,"An object representing the complete request parameters used to create and\nsend the HTTP request."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L433"},"packages/core/src/http/HttpProxy.ts:433")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_composerequesturl"},"_","composeRequestUrl"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_composeRequestUrl"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Transforms the provided URL using the current URL transformer and adds\nthe provided data to the URL's query string."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to prepare for use with the fetch API.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to be attached to the query string.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The transformed URL with the provided data attached to\nits query string."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L540"},"packages/core/src/http/HttpProxy.ts:540")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_convertobjecttoformdata"},"_","convertObjectToFormData"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_convertObjectToFormData"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"object"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"FormData")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"T")),(0,r.yg)("p",null,"Converts given data to FormData object.\nIf FormData object is not supported by the browser the original object is returned."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"Blob"),">")))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"object")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to be converted")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"FormData")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"T")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L631"},"packages/core/src/http/HttpProxy.ts:631")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_convertobjecttoquerystring"},"_","convertObjectToQueryString"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_convertObjectToQueryString"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"object"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Returns query string representation of the data parameter.\n(Returned string does not contain ? at the beginning)"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"boolean"),">")))),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"object")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"T")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The object to be converted")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Query string representation of the given object"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L605"},"packages/core/src/http/HttpProxy.ts:605")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_createerror"},"_","createError"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_createError"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"cause"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"requestParams"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"status"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"responseBody?"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("p",null,"Creates an error that represents a failed HTTP request."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cause")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The error's message.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"requestParams")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"An object representing the complete request parameters used to create and send the HTTP request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"status")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Server's response HTTP status code.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"responseBody")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"null")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The body of the server's response, if any.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("p",null,"The error representing a failed HTTP request."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L401"},"packages/core/src/http/HttpProxy.ts:401")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getcontenttype"},"_","getContentType"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getContentType"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"headers"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Gets a ",(0,r.yg)("inlineCode",{parentName:"p"},"Content-Type")," header value for defined method, data and options."),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to be send with a request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"headers")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"A ",(0,r.yg)("inlineCode",{parentName:"p"},"Content-Type")," header value, null for requests\nwith no body."),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L512"},"packages/core/src/http/HttpProxy.ts:512")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_headerstoplainobject"},"_","headersToPlainObject"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_headersToPlainObject"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"headers"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,r.yg)("p",null,"Converts the provided Fetch API's ",(0,r.yg)("inlineCode",{parentName:"p"},"Headers")," object to a plain object."),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"headers")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Headers")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The headers to convert.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#stringparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"StringParameters"))),(0,r.yg)("p",null,"Converted headers."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L355"},"packages/core/src/http/HttpProxy.ts:355")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_processerror"},"_","processError"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_processError"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"fetchError"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"requestParams"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("p",null,"Processes the provided Fetch API or internal error and creates an error\nto expose to the calling API."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"fetchError")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The internal error to process.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"requestParams")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"An object representing the complete request parameters used to create and send the HTTP request.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("p",null,"The error to provide to the calling API."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L375"},"packages/core/src/http/HttpProxy.ts:375")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_processresponse"},"_","processResponse"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_processResponse"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"requestParams"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"response"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"responseBody"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"Processes the response received from the server."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"requestParams")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpproxyrequestparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyRequestParams"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The original request's parameters.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"response")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Response")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The Fetch API's ",(0,r.yg)("inlineCode",{parentName:"td"},"Response")," object representing the server's response.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"responseBody")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The server's response body.")))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"The server's response along with all related\nmetadata."),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L326"},"packages/core/src/http/HttpProxy.ts:326")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_shouldrequesthavebody"},"_","shouldRequestHaveBody"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_shouldRequestHaveBody"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Checks if a request should have a body (",(0,r.yg)("inlineCode",{parentName:"p"},"GET")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"HEAD")," requests don't\nhave a body)."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to be send with a request.")))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if a request has a body, otherwise ",(0,r.yg)("inlineCode",{parentName:"p"},"false"),"."),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L561"},"packages/core/src/http/HttpProxy.ts:561")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_transformrequestbody"},"_","transformRequestBody"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"_transformRequestBody"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"headers"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"FormData")),(0,r.yg)("p",null,"Formats request body according to request headers."),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to be send with a request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"headers")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"string"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Headers object from options provided by the HTTP agent.")))),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"FormData")),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L581"},"packages/core/src/http/HttpProxy.ts:581")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cleardefaultheaders"},"clearDefaultHeaders"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clearDefaultHeaders"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("p",null,"Clears all defaults headers sent with all requests."),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("p",null,"this"),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L228"},"packages/core/src/http/HttpProxy.ts:228")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"geterrorparams"},"getErrorParams"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getErrorParams"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"status"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"body"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"cause"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpproxyerrorparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyErrorParams")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"Gets an object that describes a failed HTTP request, providing\ninformation about both the failure reported by the server and how the\nrequest has been sent to the server."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method used to make the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request has been made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data sent with the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"status")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP response status code send by the server.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"body")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The body of HTTP error response (detailed information).")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cause")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Error")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The low-level cause error.")))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpproxyerrorparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyErrorParams")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"An object containing both the details of\nthe error and the request that lead to it."),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L251"},"packages/core/src/http/HttpProxy.ts:251")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"havetosetcookiesmanually"},"haveToSetCookiesManually"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"haveToSetCookiesManually"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," if cookies have to be processed manually by setting\n",(0,r.yg)("inlineCode",{parentName:"p"},"Cookie")," HTTP header on requests and parsing the ",(0,r.yg)("inlineCode",{parentName:"p"},"Set-Cookie")," HTTP\nresponse header."),(0,r.yg)("p",null,"The result of this method depends on the current application\nenvironment, the client-side usually handles cookie processing\nautomatically, leading this method returning ",(0,r.yg)("inlineCode",{parentName:"p"},"false"),"."),(0,r.yg)("p",null,"At the client-side, the method tests whether the client has cookies\nenabled (which results in cookies being automatically processed by the\nbrowser), and returns ",(0,r.yg)("inlineCode",{parentName:"p"},"true")," or ",(0,r.yg)("inlineCode",{parentName:"p"},"false")," accordingly."),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if cookies are not processed automatically by\nthe environment and have to be handled manually by parsing\nresponse headers and setting request headers, otherwise ",(0,r.yg)("inlineCode",{parentName:"p"},"false"),"."),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L311"},"packages/core/src/http/HttpProxy.ts:311")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"request"},"request"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"request"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Executes a HTTP request to the specified URL using the specified HTTP\nmethod, carrying the provided data."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to be send to the server. The data will be included as query parameters if the request method is ",(0,r.yg)("inlineCode",{parentName:"td"},"GET")," or ",(0,r.yg)("inlineCode",{parentName:"td"},"HEAD"),", and as a request body for any other request method.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the server\nresponse."),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L109"},"packages/core/src/http/HttpProxy.ts:109")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setdefaultheader"},"setDefaultHeader"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setDefaultHeader"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"header"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("p",null,"Sets the specified default HTTP header. The header will be sent with all\nsubsequent HTTP requests unless reconfigured using this method,\noverridden by request options, or cleared by\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy#cleardefaultheaders"},"clearDefaultHeaders")," method."),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"header")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A header name.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"A header value.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("p",null,"this"),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpProxy.ts#L217"},"packages/core/src/http/HttpProxy.ts:217")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cfd8246b.9867a31b.js b/assets/js/cfd8246b.9867a31b.js new file mode 100644 index 000000000..eb35c2b44 --- /dev/null +++ b/assets/js/cfd8246b.9867a31b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3234],{1516:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>n,metadata:()=>a,toc:()=>p});const a=JSON.parse('{"id":"api/@ima/core/type-aliases/DispatcherListener","title":"Type Alias: DispatcherListener()\\\\<D\\\\>","description":"DispatcherListener\\\\: (data) => void","source":"@site/../docs/api/@ima/core/type-aliases/DispatcherListener.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/DispatcherListener","permalink":"/api/@ima/core/type-aliases/DispatcherListener","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/DispatcherListener.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: DictionaryData","permalink":"/api/@ima/core/type-aliases/DictionaryData"},"next":{"title":"Type Alias: EntryOptions","permalink":"/api/@ima/core/type-aliases/EntryOptions"}}');var r=s(2540),i=s(3023);const n={},c="Type Alias: DispatcherListener()<D>",o={},p=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Parameters",id:"parameters",level:2},{value:"data",id:"data",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"type-alias-dispatcherlistenerd",children:"Type Alias: DispatcherListener()<D>"})}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"DispatcherListener"}),"<",(0,r.jsx)(t.code,{children:"D"}),">: (",(0,r.jsx)(t.code,{children:"data"}),") => ",(0,r.jsx)(t.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Defined in: ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Dispatcher.ts#L11",children:"packages/core/src/event/Dispatcher.ts:11"})]}),"\n",(0,r.jsx)(t.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,r.jsxs)(t.p,{children:["\u2022 ",(0,r.jsx)(t.strong,{children:"D"})]}),"\n",(0,r.jsx)(t.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(t.h3,{id:"data",children:"data"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"D"})}),"\n",(0,r.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"void"})})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>n,x:()=>c});var a=s(3696);const r={},i=a.createContext(r);function n(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cff55af7.e0a70fa1.js b/assets/js/cff55af7.e0a70fa1.js new file mode 100644 index 000000000..8c3955ea2 --- /dev/null +++ b/assets/js/cff55af7.e0a70fa1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9204],{2511:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>c});const d=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/ErrorBoundary","title":"Class: ErrorBoundary","description":"Defined in15","source":"@site/../docs/api/@ima/react-page-renderer/classes/ErrorBoundary.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/ErrorBoundary","permalink":"/api/@ima/react-page-renderer/classes/ErrorBoundary","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/ErrorBoundary.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: BlankManagedRootView\\\\<P, S, SS\\\\>","permalink":"/api/@ima/react-page-renderer/classes/BlankManagedRootView"},"next":{"title":"Class: PageRendererFactory","permalink":"/api/@ima/react-page-renderer/classes/PageRendererFactory"}}');var t=r(2540),s=r(3023);const i={},o="Class: ErrorBoundary",l={},c=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ErrorBoundary()",id:"new-errorboundary",level:3},{value:"Parameters",id:"parameters",level:4},{value:"props",id:"props",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"context",id:"context",level:3},{value:"Example",id:"example",level:4},{value:"See",id:"see",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"props",id:"props-1",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"<del>refs</del>",id:"refs",level:3},{value:"Index Signature",id:"index-signature",level:4},{value:"Deprecated",id:"deprecated",level:4},{value:"See",id:"see-1",level:4},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"state",id:"state",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"contextType?",id:"contexttype",level:3},{value:"Example",id:"example-1",level:4},{value:"See",id:"see-2",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Methods",id:"methods",level:2},{value:"componentDidCatch()",id:"componentdidcatch",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"error",id:"error",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"componentDidMount()",id:"componentdidmount",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"componentDidUpdate()?",id:"componentdidupdate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"prevProps",id:"prevprops",level:5},{value:"prevState",id:"prevstate",level:5},{value:"snapshot?",id:"snapshot",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"<del>componentWillMount()?</del>",id:"componentwillmount",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Deprecated",id:"deprecated-1",level:4},{value:"See",id:"see-3",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"<del>componentWillReceiveProps()?</del>",id:"componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"nextProps",id:"nextprops",level:5},{value:"nextContext",id:"nextcontext",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Deprecated",id:"deprecated-2",level:4},{value:"See",id:"see-4",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"componentWillUnmount()?",id:"componentwillunmount",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"<del>componentWillUpdate()?</del>",id:"componentwillupdate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"nextProps",id:"nextprops-1",level:5},{value:"nextState",id:"nextstate",level:5},{value:"nextContext",id:"nextcontext-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Deprecated",id:"deprecated-3",level:4},{value:"See",id:"see-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"forceUpdate()",id:"forceupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"callback?",id:"callback",level:5},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"getSnapshotBeforeUpdate()?",id:"getsnapshotbeforeupdate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"prevProps",id:"prevprops-1",level:5},{value:"prevState",id:"prevstate-1",level:5},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"render()",id:"render",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"state",id:"state-1",level:5},{value:"callback?",id:"callback-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"shouldComponentUpdate()?",id:"shouldcomponentupdate",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"nextProps",id:"nextprops-2",level:5},{value:"nextState",id:"nextstate-1",level:5},{value:"nextContext",id:"nextcontext-2",level:5},{value:"Returns",id:"returns-12",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"<del>UNSAFE_componentWillMount()?</del>",id:"unsafe_componentwillmount",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Deprecated",id:"deprecated-4",level:4},{value:"See",id:"see-6",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"<del>UNSAFE_componentWillReceiveProps()?</del>",id:"unsafe_componentwillreceiveprops",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"nextProps",id:"nextprops-3",level:5},{value:"nextContext",id:"nextcontext-3",level:5},{value:"Returns",id:"returns-14",level:4},{value:"Deprecated",id:"deprecated-5",level:4},{value:"See",id:"see-7",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"<del>UNSAFE_componentWillUpdate()?</del>",id:"unsafe_componentwillupdate",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"nextProps",id:"nextprops-4",level:5},{value:"nextState",id:"nextstate-2",level:5},{value:"nextContext",id:"nextcontext-4",level:5},{value:"Returns",id:"returns-15",level:4},{value:"Deprecated",id:"deprecated-6",level:4},{value:"See",id:"see-8",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"getDerivedStateFromError()",id:"getderivedstatefromerror",level:3},{value:"Returns",id:"returns-16",level:4},{value:"hasError",id:"haserror",level:5}];function a(e){const n={a:"a",blockquote:"blockquote",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"class-errorboundary",children:"Class: ErrorBoundary"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ErrorBoundary.ts#L15",children:"packages/react-page-renderer/src/component/ErrorBoundary.ts:15"})]}),"\n",(0,t.jsx)(n.p,{children:"Error boundary wrapper which connects the IMA application to the\ndev HMR api and handles error reporting."}),"\n",(0,t.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"PureComponent"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),", ",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(n.h3,{id:"new-errorboundary",children:"new ErrorBoundary()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new ErrorBoundary"}),"(",(0,t.jsx)(n.code,{children:"props"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary",children:(0,t.jsx)(n.code,{children:"ErrorBoundary"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ErrorBoundary.ts#L19",children:"packages/react-page-renderer/src/component/ErrorBoundary.ts:19"})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"props",children:"props"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"})}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary",children:(0,t.jsx)(n.code,{children:"ErrorBoundary"})})}),"\n",(0,t.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent< ErrorBoundaryProps, ErrorBoundaryState >.constructor"})}),"\n",(0,t.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(n.h3,{id:"context",children:"context"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"context"}),": ",(0,t.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1013"}),"\n",(0,t.jsxs)(n.p,{children:["If using the new style context, re-declare this in your class to be the\n",(0,t.jsx)(n.code,{children:"React.ContextType"})," of your ",(0,t.jsx)(n.code,{children:"static contextType"}),".\nShould be used with type annotation or static contextType."]}),"\n",(0,t.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"static contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType<typeof MyContext>\n// For TS 3.7 and above:\ndeclare context: React.ContextType<typeof MyContext>\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#context",children:"React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.context"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"props-1",children:"props"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"readonly"})," ",(0,t.jsx)(n.strong,{children:"props"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1033"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.props"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"refs",children:(0,t.jsx)(n.del,{children:"refs"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"refs"}),": ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1040"}),"\n",(0,t.jsx)(n.h4,{id:"index-signature",children:"Index Signature"}),"\n",(0,t.jsxs)(n.p,{children:["[",(0,t.jsx)(n.code,{children:"key"}),": ",(0,t.jsx)(n.code,{children:"string"}),"]: ",(0,t.jsx)(n.code,{children:"ReactInstance"})]}),"\n",(0,t.jsx)(n.h4,{id:"deprecated",children:"Deprecated"}),"\n",(0,t.jsx)(n.h4,{id:"see-1",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs",children:"Legacy React Docs"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.refs"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"state",children:"state"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"state"}),": ",(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1034"}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.state"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"contexttype",children:"contextType?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"contextType"}),": ",(0,t.jsx)(n.code,{children:"Context"}),"<",(0,t.jsx)(n.code,{children:"any"}),">"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:995"}),"\n",(0,t.jsxs)(n.p,{children:["If set, ",(0,t.jsx)(n.code,{children:"this.context"})," will be set at runtime to the current value of the given Context."]}),"\n",(0,t.jsx)(n.h4,{id:"example-1",children:"Example"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",children:"type MyContext = number\nconst Ctx = React.createContext<MyContext>(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType<typeof Ctx>\n render () {\n return <>My context's value: {this.context}</>;\n }\n}\n"})}),"\n",(0,t.jsx)(n.h4,{id:"see-2",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://react.dev/reference/react/Component#static-contexttype",children:"https://react.dev/reference/react/Component#static-contexttype"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.contextType"})}),"\n",(0,t.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(n.h3,{id:"componentdidcatch",children:"componentDidCatch()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"componentDidCatch"}),"(",(0,t.jsx)(n.code,{children:"error"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ErrorBoundary.ts#L38",children:"packages/react-page-renderer/src/component/ErrorBoundary.ts:38"})]}),"\n",(0,t.jsx)(n.p,{children:"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"error",children:"error"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"Error"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentDidCatch"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidmount",children:"componentDidMount()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"componentDidMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ErrorBoundary.ts#L31",children:"packages/react-page-renderer/src/component/ErrorBoundary.ts:31"})]}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after a component is mounted. Setting state here will trigger re-rendering."}),"\n",(0,t.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentDidMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentdidupdate",children:"componentDidUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentDidUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"snapshot"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1439"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately after updating occurs. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["The snapshot is only present if ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"})," is present and returns non-null."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"snapshot",children:"snapshot?"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentDidUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillmount",children:(0,t.jsx)(n.del,{children:"componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1455"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead; will stop working in React 17"]}),"\n",(0,t.jsx)(n.h4,{id:"see-3",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1486"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-4",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillunmount",children:"componentWillUnmount()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUnmount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1392"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in ",(0,t.jsx)(n.code,{children:"componentDidMount"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillUnmount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"componentwillupdate",children:(0,t.jsx)(n.del,{children:"componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1518"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-1",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-1",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-3",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"}),"\n",(0,t.jsx)(n.h4,{id:"see-5",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.componentWillUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"forceupdate",children:"forceUpdate()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"forceUpdate"}),"(",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1030"}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"callback",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.forceUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"getSnapshotBeforeUpdate"}),"(",(0,t.jsx)(n.code,{children:"prevProps"}),", ",(0,t.jsx)(n.code,{children:"prevState"}),"): ",(0,t.jsx)(n.code,{children:"any"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1433"}),"\n",(0,t.jsxs)(n.p,{children:["Runs before React applies the result of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," to the document, and\nreturns an object to be given to ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/ErrorBoundary#componentdidupdate",children:"componentDidUpdate"}),". Useful for saving\nthings such as scroll position before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"render"})," causes changes to it."]}),"\n",(0,t.jsx)(n.p,{children:"Note: the presence of this method prevents any of the deprecated\nlifecycle events from running."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"prevprops-1",children:"prevProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"prevstate-1",children:"prevState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n",(0,t.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.getSnapshotBeforeUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"render",children:"render()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"render"}),"(): ",(0,t.jsx)(n.code,{children:"undefined"})," | ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"ReactElement"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ErrorBoundary.ts#L45",children:"packages/react-page-renderer/src/component/ErrorBoundary.ts:45"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"undefined"})," | ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"ReactElement"})]}),"\n",(0,t.jsx)(n.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.render"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"setstate",children:"setState()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"setState"}),"<",(0,t.jsx)(n.code,{children:"K"}),">(",(0,t.jsx)(n.code,{children:"state"}),", ",(0,t.jsx)(n.code,{children:"callback"}),"?): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1025"}),"\n",(0,t.jsx)(n.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(n.p,{children:["\u2022 ",(0,t.jsx)(n.strong,{children:"K"})," ",(0,t.jsx)(n.em,{children:"extends"})," ",(0,t.jsx)(n.code,{children:'"hasError"'})]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"state-1",children:"state"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"})," | (",(0,t.jsx)(n.code,{children:"prevState"}),", ",(0,t.jsx)(n.code,{children:"props"}),") => ",(0,t.jsx)(n.code,{children:"null"})," | ",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"})," | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),", ",(0,t.jsx)(n.code,{children:"K"}),"> | ",(0,t.jsx)(n.code,{children:"Pick"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),", ",(0,t.jsx)(n.code,{children:"K"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"callback-1",children:"callback?"}),"\n",(0,t.jsxs)(n.p,{children:["() => ",(0,t.jsx)(n.code,{children:"void"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-12",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.setState"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"shouldcomponentupdate",children:"shouldComponentUpdate()?"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"shouldComponentUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1387"}),"\n",(0,t.jsx)(n.p,{children:"Called to determine whether the change in props and state should trigger a re-render."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Component"})," always returns true.\n",(0,t.jsx)(n.code,{children:"PureComponent"})," implements a shallow comparison on props and state and returns true if any\nprops or states have changed."]}),"\n",(0,t.jsxs)(n.p,{children:["If false is returned, ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),", ",(0,t.jsx)(n.code,{children:"componentWillUpdate"}),"\nand ",(0,t.jsx)(n.code,{children:"componentDidUpdate"})," will not be called."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-2",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-1",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-2",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"boolean"})}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-13",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.shouldComponentUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillmount",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillMount()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillMount"}),"(): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1470"}),"\n",(0,t.jsxs)(n.p,{children:["Called immediately before mounting occurs, and before ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#render",children:"Component.render"}),".\nAvoid introducing any side-effects or subscriptions in this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-4",children:"Deprecated"}),"\n",(0,t.jsxs)(n.p,{children:["16.3, use ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#componentdidmount",children:"componentDidMount"})," or the constructor instead"]}),"\n",(0,t.jsx)(n.h4,{id:"see-6",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-14",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.UNSAFE_componentWillMount"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillreceiveprops",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillReceiveProps()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillReceiveProps"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1504"}),"\n",(0,t.jsx)(n.p,{children:"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes."}),"\n",(0,t.jsxs)(n.p,{children:["Calling ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," generally does not trigger this method."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-3",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-3",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-5",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use static StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-7",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-15",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.UNSAFE_componentWillReceiveProps"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unsafe_componentwillupdate",children:(0,t.jsx)(n.del,{children:"UNSAFE_componentWillUpdate()?"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"optional"})," ",(0,t.jsx)(n.strong,{children:"UNSAFE_componentWillUpdate"}),"(",(0,t.jsx)(n.code,{children:"nextProps"}),", ",(0,t.jsx)(n.code,{children:"nextState"}),", ",(0,t.jsx)(n.code,{children:"nextContext"}),"): ",(0,t.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Defined in: node_modules/@types/react/index.d.ts:1534"}),"\n",(0,t.jsx)(n.p,{children:"Called immediately before rendering when new props or state is received. Not called for the initial render."}),"\n",(0,t.jsxs)(n.p,{children:["Note: You cannot call ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#setstate",children:"Component.setState"})," here."]}),"\n",(0,t.jsx)(n.p,{children:"This method will not stop working in React 17."}),"\n",(0,t.jsxs)(n.p,{children:["Note: the presence of ",(0,t.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent#getsnapshotbeforeupdate",children:"getSnapshotBeforeUpdate"}),"\nor StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps prevents\nthis from being invoked."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"nextprops-4",children:"nextProps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryProps"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextstate-2",children:"nextState"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"Readonly"}),"<",(0,t.jsx)(n.code,{children:"ErrorBoundaryState"}),">"]}),"\n",(0,t.jsx)(n.h5,{id:"nextcontext-4",children:"nextContext"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"void"})}),"\n",(0,t.jsx)(n.h4,{id:"deprecated-6",children:"Deprecated"}),"\n",(0,t.jsx)(n.p,{children:"16.3, use getSnapshotBeforeUpdate instead"}),"\n",(0,t.jsx)(n.h4,{id:"see-8",children:"See"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path",children:"https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path"})}),"\n"]}),"\n",(0,t.jsx)(n.h4,{id:"inherited-from-16",children:"Inherited from"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"PureComponent.UNSAFE_componentWillUpdate"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"getderivedstatefromerror",children:"getDerivedStateFromError()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.strong,{children:"getDerivedStateFromError"}),"(): ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ErrorBoundary.ts#L27",children:"packages/react-page-renderer/src/component/ErrorBoundary.ts:27"})]}),"\n",(0,t.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"object"})}),"\n",(0,t.jsx)(n.h5,{id:"haserror",children:"hasError"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"hasError"}),": ",(0,t.jsx)(n.code,{children:"boolean"})," = ",(0,t.jsx)(n.code,{children:"true"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var d=r(3696);const t={},s=d.createContext(t);function i(e){const n=d.useContext(s);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),d.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0063a96.282b39c1.js b/assets/js/d0063a96.282b39c1.js deleted file mode 100644 index 885f29e25..000000000 --- a/assets/js/d0063a96.282b39c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7084],{5680:(e,t,a)=>{a.d(t,{xA:()=>c,yg:()=>u});var n=a(6540);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var l=n.createContext({}),p=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),m=p(a),d=i,u=m["".concat(l,".").concat(d)]||m[d]||g[d]||o;return a?n.createElement(u,s(s({ref:t},c),{},{components:a})):n.createElement(u,s({ref:t},c))}));function u(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=a.length,s=new Array(o);s[0]=d;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r[m]="string"==typeof e?e:i,s[1]=r;for(var p=2;p<o;p++)s[p]=a[p];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},5990:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var n=a(8102),i=(a(6540),a(5680));const o={title:"Compiler features",description:"CLI > Compiler features"},s=void 0,r={unversionedId:"cli/compiler-features",id:"cli/compiler-features",title:"Compiler features",description:"CLI > Compiler features",source:"@site/../docs/cli/compiler-features.md",sourceDirName:"cli",slug:"/cli/compiler-features",permalink:"/cli/compiler-features",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/compiler-features.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Compiler features",description:"CLI > Compiler features"},sidebar:"docs",previous:{title:"Introduction to @ima/cli",permalink:"/cli/"},next:{title:"ima.config.js",permalink:"/cli/ima-config-js"}},l={},p=[{value:"Server and client bundles",id:"server-and-client-bundles",level:2},{value:"Filesystem Cache",id:"filesystem-cache",level:2},{value:"JavaScript/React",id:"javascriptreact",level:2},{value:"React",id:"react",level:3},{value:"Typescript",id:"typescript",level:2},{value:"CSS/LESS",id:"cssless",level:2},{value:"CSS Modules",id:"css-modules",level:3},{value:"globals.less",id:"globalsless",level:3},{value:"Glob less imports",id:"glob-less-imports",level:3},{value:"PostCSS",id:"postcss",level:3},{value:"Assets",id:"assets",level:2},{value:"Images",id:"images",level:3},{value:"Text files",id:"text-files",level:3},{value:"<code>./app/public</code> folder",id:"apppublic-folder",level:3},{value:"Compression",id:"compression",level:2},{value:"Languages",id:"languages",level:2}],c={toc:p},m="wrapper";function g(e){let{components:t,...a}=e;return(0,i.yg)(m,(0,n.A)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"The IMA.js CLI uses ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/"},"webpack")," behind the scenes to ",(0,i.yg)("strong",{parentName:"p"},"compile"),", ",(0,i.yg)("strong",{parentName:"p"},"minify")," and ",(0,i.yg)("strong",{parentName:"p"},"run")," the application in ",(0,i.yg)("strong",{parentName:"p"},"dev mode"),". It comes pre-configured with some options, plugins and loaders, which are described in the following sections."),(0,i.yg)("h2",{id:"server-and-client-bundles"},"Server and client bundles"),(0,i.yg)("p",null,"The CLI creates 3 separate bundles (",(0,i.yg)("em",{parentName:"p"},"2 in dev mode for performance reasons"),") with their own configurations. One ",(0,i.yg)("inlineCode",{parentName:"p"},"server")," bundle (used in express for SSR) and two client bundles - ",(0,i.yg)("inlineCode",{parentName:"p"},"client")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"client.es"),", where one targets the ",(0,i.yg)("inlineCode",{parentName:"p"},"es2018")," and the other ",(0,i.yg)("inlineCode",{parentName:"p"},"es2022")," version of the javascript."),(0,i.yg)("p",null,"This can be further customized using the ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#disablelegacybuild"},(0,i.yg)("strong",{parentName:"a"},(0,i.yg)("inlineCode",{parentName:"strong"},"disableLegacyBuilt")," option in ",(0,i.yg)("inlineCode",{parentName:"strong"},"ima.config.js"))),"."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"To make the CLI build ",(0,i.yg)("strong",{parentName:"p"},"both es versions")," in dev mode, run it with ",(0,i.yg)("inlineCode",{parentName:"p"},"npx ima dev --legacy")," option."),(0,i.yg)("p",{parentName:"admonition"},"Keep in mind that ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/concepts/hot-module-replacement/"},"hot module replacement (HMR)")," is configured to work only with the latest es version (manual browser reload is required to see any changes on the legacy version).")),(0,i.yg)("h2",{id:"filesystem-cache"},"Filesystem Cache"),(0,i.yg)("p",null,"The webpack ",(0,i.yg)("a",{parentName:"p",href:"https://webpack.js.org/configuration/cache/#cache"},"filesystem cache")," feature is enabled by default to improve consecutive build times in development and production mode."),(0,i.yg)("p",null,"The CLI automatically generates cache key based on used set of CLI options, which somehow affect the produced output. Not all options affect cache key generation, however you may notice that sometimes the build speeds can behave as if there is no filesystem cache. To see which options affect the cache key generation, ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/next/packages/cli/src/webpack/utils.ts#L154"},"take a look at the ",(0,i.yg)("inlineCode",{parentName:"a"},"createCacheKey()")," function"),"."),(0,i.yg)("admonition",{type:"note"},(0,i.yg)("p",{parentName:"admonition"},"Note that each command and bundle maintains it's own set of coexisting cache. To clear the cache, use ",(0,i.yg)("inlineCode",{parentName:"p"},"--clearCache")," option in ",(0,i.yg)("inlineCode",{parentName:"p"},"build")," or ",(0,i.yg)("inlineCode",{parentName:"p"},"dev")," commands.")),(0,i.yg)("h2",{id:"javascriptreact"},"JavaScript/React"),(0,i.yg)("p",null,"To bundle JS files we opted to use ",(0,i.yg)("a",{parentName:"p",href:"https://swc.rs/"},"swc"),", a Rust-based JavaScript compiler. This decision was based on our results from testing and measuring build times, where we saw 2-3 times the speed benefit (depending on the application size) of using swc over babel compiler."),(0,i.yg)("p",null,"By default the application ",(0,i.yg)("strong",{parentName:"p"},"compiles both"),", the ",(0,i.yg)("strong",{parentName:"p"},"application files")," (sourced from ",(0,i.yg)("inlineCode",{parentName:"p"},"./app")," folder) and ",(0,i.yg)("strong",{parentName:"p"},"vendor files")," (sourced from ",(0,i.yg)("inlineCode",{parentName:"p"},"./node_modules")," directory) to make sure that it can run in targeted environments without any issues."),(0,i.yg)("p",null,'The swc compiler is configured to leverage the power of "env" functionality (preset-env in babel), in combination with ',(0,i.yg)("a",{parentName:"p",href:"https://github.com/zloirock/core-js"},"core-js")," to ",(0,i.yg)("strong",{parentName:"p"},"automatically polyfill missing APIs")," that are used throughout the codebase, that the targeted environment doesn't support."),(0,i.yg)("p",null,"This configuration can be easily customized using ",(0,i.yg)("a",{parentName:"p",href:"./ima.config.js#swc"},"swc option in ima.config.js"),"."),(0,i.yg)("admonition",{type:"note"},(0,i.yg)("p",{parentName:"admonition"},"This means that you can write your code ",(0,i.yg)("strong",{parentName:"p"},"using the latest and greatest from the ECMAscript language")," and the swc makes sure to compile these features down to the latest supported syntax or automatically inject core-js polyfills.")),(0,i.yg)("admonition",{type:"warning"},(0,i.yg)("p",{parentName:"admonition"},"Keep in mind that overuse of these may result in larger JS bundles due to the need to inject more core-js polyfills. Also browser APIs like for example ",(0,i.yg)("inlineCode",{parentName:"p"},"AbortController")," or ",(0,i.yg)("inlineCode",{parentName:"p"},"fetch")," are not handled by the core-js and must be included manually. ",(0,i.yg)("a",{parentName:"p",href:"./advanced-features#polyfilljs"},"See polyfills in advanced features section"),".")),(0,i.yg)("h3",{id:"react"},"React"),(0,i.yg)("p",null,"In dev we use the development version of react library (for better debugging) and ",(0,i.yg)("inlineCode",{parentName:"p"},"react-refresh")," for HMR. This is switched to production for production builds. By default the compiler is configured to work with ",(0,i.yg)("a",{parentName:"p",href:"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html"},"automatic")," JSX runtime, so there's no need to import ",(0,i.yg)("inlineCode",{parentName:"p"},"react")," library at top of every jsx file. This can be changed to ",(0,i.yg)("inlineCode",{parentName:"p"},"classic")," in ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#jsxruntime"},"ima.config.js"),"."),(0,i.yg)("h2",{id:"typescript"},"Typescript"),(0,i.yg)("p",null,"From IMA.js v18 we've introduced ",(0,i.yg)("strong",{parentName:"p"},"support for Typescript in your application code"),". To enable it, simply install ",(0,i.yg)("inlineCode",{parentName:"p"},"typescript")," dependency and create ",(0,i.yg)("inlineCode",{parentName:"p"},"tsconfig.json")," file in the root of your project."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"For more information and additional tips about TypeScript usage in IMA.js applications, ",(0,i.yg)("a",{parentName:"p",href:"/basic-features/typescript"},(0,i.yg)("strong",{parentName:"a"},"see the TypeScript section")),".")),(0,i.yg)("h2",{id:"cssless"},"CSS/LESS"),(0,i.yg)("p",null,"There's built in support for CSS and LESS preprocessor. Both of these have the same featureset. To use any CSS you have to import the files anywhere in your application. These imports are then combined and extracted to single ",(0,i.yg)("inlineCode",{parentName:"p"},"app.css")," file."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},(0,i.yg)("inlineCode",{parentName:"p"},"./app/main.js")," is a good place to use for global CSS files, since it is an entry point to IMA.js application and these imports will be included at top of the built ",(0,i.yg)("inlineCode",{parentName:"p"},"app.css")," file.")),(0,i.yg)("h3",{id:"css-modules"},"CSS Modules"),(0,i.yg)("p",null,"Both loaders fully support ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/css-modules/css-modules"},"CSS Modules")," for files with ",(0,i.yg)("inlineCode",{parentName:"p"},"*.modules.css")," or ",(0,i.yg)("inlineCode",{parentName:"p"},"*.modules.less")," postfixes, with ",(0,i.yg)("inlineCode",{parentName:"p"},"local")," as default scoping."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-less",metastring:"title=./app/page/home/home.module.less",title:"./app/page/home/home.module.less"},":global {\n :root: {\n --bg-color: #fff;\n }\n}\n\n.home {\n background: var(--bg-color);\n}\n")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-jsx",metastring:"title=./app/page/home/Home.jsx",title:"./app/page/home/Home.jsx"},"import styles from './home.module.less';\n\nfunction Home() {\n return\n <div className={styles.home}>HomePage</div>\n );\n}\n")),(0,i.yg)("h3",{id:"globalsless"},"globals.less"),(0,i.yg)("p",null,"This file is located at ",(0,i.yg)("inlineCode",{parentName:"p"},"./app/less/globals.less")," and it is automatically imported on top of every other processed LESS file. It allows you to easily share globals across less files."),(0,i.yg)("admonition",{type:"tip"},(0,i.yg)("p",{parentName:"admonition"},"Use this file to import other ",(0,i.yg)("strong",{parentName:"p"},"mixins")," and ",(0,i.yg)("strong",{parentName:"p"},"global variables")," which are then available in all other *.less files automatically, without the need to import them explicitly."),(0,i.yg)("pre",{parentName:"admonition"},(0,i.yg)("code",{parentName:"pre",className:"language-less",metastring:"title=./app/less/globals.less",title:"./app/less/globals.less"},"@import './mixins/*.less';\n\n@global-red: red;\n")),(0,i.yg)("pre",{parentName:"admonition"},(0,i.yg)("code",{parentName:"pre",className:"language-less",metastring:"title=./app/less/app.less",title:"./app/less/app.less"},"body {\n // No direct import of 'globals.less' is needed.\n background: @global-red;\n}\n"))),(0,i.yg)("h3",{id:"glob-less-imports"},"Glob less imports"),(0,i.yg)("p",null,"The ",(0,i.yg)("inlineCode",{parentName:"p"},"less-loader")," uses ",(0,i.yg)("a",{parentName:"p",href:"https://github.com/just-boris/less-plugin-glob"},"less-plugin-glob")," by default in it's configuration. This means that glob imports are fully supported."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-less",metastring:"title=./app/less/app.less",title:"./app/less/app.less"},'@import \'./mixins/*.less\';\n\n/* Non-relative imports are resolved through node resolver. */\n@import "@ima/**/atoms/**/*.less";\n@import "@ima/**/molecules/**/*.less";\n@import "@ima/**/organisms/**/*.less";\n')),(0,i.yg)("h3",{id:"postcss"},"PostCSS"),(0,i.yg)("p",null,"IMA.js has built-in support for ",(0,i.yg)("a",{parentName:"p",href:"https://postcss.org/"},"PostCSS")," during CSS/LESS compilation."),(0,i.yg)("p",null,"Out of the box without any additional configuration, it comes pre-configured with following plugins:"),(0,i.yg)("ol",null,(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("a",{parentName:"li",href:"https://github.com/luisrudge/postcss-flexbugs-fixes#readme"},"postcss-flexbugs-fixes")," - tries to fix all known flexbox issues."),(0,i.yg)("li",{parentName:"ol"},(0,i.yg)("a",{parentName:"li",href:"https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env"},"postcss-preset-env")," - converts modern CSS back into something the old browsers can understand (back to IE11). It comes with: ",(0,i.yg)("inlineCode",{parentName:"li"},"autoprefixer"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"stage 3")," and ",(0,i.yg)("inlineCode",{parentName:"li"},"custom-properties: false")," features.")),(0,i.yg)("p",null,"All these features can be easily customized using ",(0,i.yg)("inlineCode",{parentName:"p"},"postcss")," option in ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js/#postcss"},"ima.config.js"),"."),(0,i.yg)("h2",{id:"assets"},"Assets"),(0,i.yg)("p",null,"All other assets are either ",(0,i.yg)("strong",{parentName:"p"},"inlined")," as ",(0,i.yg)("strong",{parentName:"p"},"base64 encoded string")," or copied to the ",(0,i.yg)("inlineCode",{parentName:"p"},"./build/static/media")," folder, where default import represents assets's public URL."),(0,i.yg)("h3",{id:"images"},"Images"),(0,i.yg)("p",null,"Images (bmp, gif, jpeg, png, webp, svg) are automatically inlined if their size is below ",(0,i.yg)("inlineCode",{parentName:"p"},"imageInlineSizeLimit"),", which can be configured in ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#imageinlinesizelimit"},"ima.config.js"),", with default value of ",(0,i.yg)("strong",{parentName:"p"},"8Kb"),". Images exceeding this size limit are copied to the static media folder and import return's their public URL."),(0,i.yg)("p",null,"To enforce either one of the two modes, you can use ",(0,i.yg)("inlineCode",{parentName:"p"},"?external")," or ",(0,i.yg)("inlineCode",{parentName:"p"},"?inline")," query parameter in the import path:"),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js"},"// This always converts the image to base64 encoded string and inlines it.\nimport InlineImage from './image.png?inline';\n\n// This always returns image public URL, no matter it's size\nimport ImageURL from './image.png?external';\n")),(0,i.yg)("h3",{id:"text-files"},"Text files"),(0,i.yg)("p",null,"When you import one of these text files - csv, txt, html, you receive their contents. Similarly to the images, you can enforce getting their public URL by using the ",(0,i.yg)("inlineCode",{parentName:"p"},"?external")," query parameter."),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-js"},"// Returns file contents in the default import\nimport IndexSource from './index.html';\n\n// Returns the file public URL\nimport IndexURL from './index.html?external';\n")),(0,i.yg)("h3",{id:"apppublic-folder"},(0,i.yg)("inlineCode",{parentName:"h3"},"./app/public")," folder"),(0,i.yg)("p",null,"Everything in this folder is copied to the ",(0,i.yg)("inlineCode",{parentName:"p"},"./build/static/public")," and available through the express static files route (",(0,i.yg)("inlineCode",{parentName:"p"},"http://localhost:3001/static/public/"),")."),(0,i.yg)("h2",{id:"compression"},"Compression"),(0,i.yg)("p",null,"When you built the application bundle, all static assets are additionally compressed using ",(0,i.yg)("inlineCode",{parentName:"p"},"brotli")," and ",(0,i.yg)("inlineCode",{parentName:"p"},"gzip")," compression (with ",(0,i.yg)("inlineCode",{parentName:"p"},".br")," and ",(0,i.yg)("inlineCode",{parentName:"p"},".gz")," extensions respectively). To customize this behavior, take a look at ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#compress"},"ima.config.js")," configuration section."),(0,i.yg)("h2",{id:"languages"},"Languages"),(0,i.yg)("p",null,"The ",(0,i.yg)("a",{parentName:"p",href:"/cli/ima-config-js#languages"},"language files")," are compile using ",(0,i.yg)("a",{parentName:"p",href:"http://messageformat.github.io/messageformat/"},"messageformat")," library."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d0063a96.bb0c8a10.js b/assets/js/d0063a96.bb0c8a10.js new file mode 100644 index 000000000..415d8d58b --- /dev/null +++ b/assets/js/d0063a96.bb0c8a10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7084],{9351:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"cli/compiler-features","title":"Compiler features","description":"CLI > Compiler features","source":"@site/../docs/cli/compiler-features.md","sourceDirName":"cli","slug":"/cli/compiler-features","permalink":"/cli/compiler-features","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/compiler-features.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Compiler features","description":"CLI > Compiler features"},"sidebar":"docs","previous":{"title":"Introduction to @ima/cli","permalink":"/cli/"},"next":{"title":"ima.config.js","permalink":"/cli/ima-config-js"}}');var t=i(2540),o=i(3023);const l={title:"Compiler features",description:"CLI > Compiler features"},r=void 0,c={},a=[{value:"Server and client bundles",id:"server-and-client-bundles",level:2},{value:"Filesystem Cache",id:"filesystem-cache",level:2},{value:"JavaScript/React",id:"javascriptreact",level:2},{value:"React",id:"react",level:3},{value:"Typescript",id:"typescript",level:2},{value:"CSS/LESS",id:"cssless",level:2},{value:"CSS Modules",id:"css-modules",level:3},{value:"globals.less",id:"globalsless",level:3},{value:"Glob less imports",id:"glob-less-imports",level:3},{value:"PostCSS",id:"postcss",level:3},{value:"Assets",id:"assets",level:2},{value:"Images",id:"images",level:3},{value:"Text files",id:"text-files",level:3},{value:"<code>./app/public</code> folder",id:"apppublic-folder",level:3},{value:"Compression",id:"compression",level:2},{value:"Languages",id:"languages",level:2}];function d(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:["The IMA.js CLI uses ",(0,t.jsx)(s.a,{href:"https://webpack.js.org/",children:"webpack"})," behind the scenes to ",(0,t.jsx)(s.strong,{children:"compile"}),", ",(0,t.jsx)(s.strong,{children:"minify"})," and ",(0,t.jsx)(s.strong,{children:"run"})," the application in ",(0,t.jsx)(s.strong,{children:"dev mode"}),". It comes pre-configured with some options, plugins and loaders, which are described in the following sections."]}),"\n",(0,t.jsx)(s.h2,{id:"server-and-client-bundles",children:"Server and client bundles"}),"\n",(0,t.jsxs)(s.p,{children:["The CLI creates 3 separate bundles (",(0,t.jsx)(s.em,{children:"2 in dev mode for performance reasons"}),") with their own configurations. One ",(0,t.jsx)(s.code,{children:"server"})," bundle (used in express for SSR) and two client bundles - ",(0,t.jsx)(s.code,{children:"client"})," and ",(0,t.jsx)(s.code,{children:"client.es"}),", where one targets the ",(0,t.jsx)(s.code,{children:"es2018"})," and the other ",(0,t.jsx)(s.code,{children:"es2022"})," version of the javascript."]}),"\n",(0,t.jsxs)(s.p,{children:["This can be further customized using the ",(0,t.jsx)(s.a,{href:"/cli/ima-config-js#disablelegacybuild",children:(0,t.jsxs)(s.strong,{children:[(0,t.jsx)(s.code,{children:"disableLegacyBuilt"})," option in ",(0,t.jsx)(s.code,{children:"ima.config.js"})]})}),"."]}),"\n",(0,t.jsxs)(s.admonition,{type:"tip",children:[(0,t.jsxs)(s.p,{children:["To make the CLI build ",(0,t.jsx)(s.strong,{children:"both es versions"})," in dev mode, run it with ",(0,t.jsx)(s.code,{children:"npx ima dev --legacy"})," option."]}),(0,t.jsxs)(s.p,{children:["Keep in mind that ",(0,t.jsx)(s.a,{href:"https://webpack.js.org/concepts/hot-module-replacement/",children:"hot module replacement (HMR)"})," is configured to work only with the latest es version (manual browser reload is required to see any changes on the legacy version)."]})]}),"\n",(0,t.jsx)(s.h2,{id:"filesystem-cache",children:"Filesystem Cache"}),"\n",(0,t.jsxs)(s.p,{children:["The webpack ",(0,t.jsx)(s.a,{href:"https://webpack.js.org/configuration/cache/#cache",children:"filesystem cache"})," feature is enabled by default to improve consecutive build times in development and production mode."]}),"\n",(0,t.jsxs)(s.p,{children:["The CLI automatically generates cache key based on used set of CLI options, which somehow affect the produced output. Not all options affect cache key generation, however you may notice that sometimes the build speeds can behave as if there is no filesystem cache. To see which options affect the cache key generation, ",(0,t.jsxs)(s.a,{href:"https://github.com/seznam/ima/blob/next/packages/cli/src/webpack/utils.ts#L154",children:["take a look at the ",(0,t.jsx)(s.code,{children:"createCacheKey()"})," function"]}),"."]}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["Note that each command and bundle maintains it's own set of coexisting cache. To clear the cache, use ",(0,t.jsx)(s.code,{children:"--clearCache"})," option in ",(0,t.jsx)(s.code,{children:"build"})," or ",(0,t.jsx)(s.code,{children:"dev"})," commands."]})}),"\n",(0,t.jsx)(s.h2,{id:"javascriptreact",children:"JavaScript/React"}),"\n",(0,t.jsxs)(s.p,{children:["To bundle JS files we opted to use ",(0,t.jsx)(s.a,{href:"https://swc.rs/",children:"swc"}),", a Rust-based JavaScript compiler. This decision was based on our results from testing and measuring build times, where we saw 2-3 times the speed benefit (depending on the application size) of using swc over babel compiler."]}),"\n",(0,t.jsxs)(s.p,{children:["By default the application ",(0,t.jsx)(s.strong,{children:"compiles both"}),", the ",(0,t.jsx)(s.strong,{children:"application files"})," (sourced from ",(0,t.jsx)(s.code,{children:"./app"})," folder) and ",(0,t.jsx)(s.strong,{children:"vendor files"})," (sourced from ",(0,t.jsx)(s.code,{children:"./node_modules"})," directory) to make sure that it can run in targeted environments without any issues."]}),"\n",(0,t.jsxs)(s.p,{children:['The swc compiler is configured to leverage the power of "env" functionality (preset-env in babel), in combination with ',(0,t.jsx)(s.a,{href:"https://github.com/zloirock/core-js",children:"core-js"})," to ",(0,t.jsx)(s.strong,{children:"automatically polyfill missing APIs"})," that are used throughout the codebase, that the targeted environment doesn't support."]}),"\n",(0,t.jsxs)(s.p,{children:["This configuration can be easily customized using ",(0,t.jsx)(s.a,{href:"./ima.config.js#swc",children:"swc option in ima.config.js"}),"."]}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsxs)(s.p,{children:["This means that you can write your code ",(0,t.jsx)(s.strong,{children:"using the latest and greatest from the ECMAscript language"})," and the swc makes sure to compile these features down to the latest supported syntax or automatically inject core-js polyfills."]})}),"\n",(0,t.jsx)(s.admonition,{type:"warning",children:(0,t.jsxs)(s.p,{children:["Keep in mind that overuse of these may result in larger JS bundles due to the need to inject more core-js polyfills. Also browser APIs like for example ",(0,t.jsx)(s.code,{children:"AbortController"})," or ",(0,t.jsx)(s.code,{children:"fetch"})," are not handled by the core-js and must be included manually. ",(0,t.jsx)(s.a,{href:"./advanced-features#polyfilljs",children:"See polyfills in advanced features section"}),"."]})}),"\n",(0,t.jsx)(s.h3,{id:"react",children:"React"}),"\n",(0,t.jsxs)(s.p,{children:["In dev we use the development version of react library (for better debugging) and ",(0,t.jsx)(s.code,{children:"react-refresh"})," for HMR. This is switched to production for production builds. By default the compiler is configured to work with ",(0,t.jsx)(s.a,{href:"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html",children:"automatic"})," JSX runtime, so there's no need to import ",(0,t.jsx)(s.code,{children:"react"})," library at top of every jsx file. This can be changed to ",(0,t.jsx)(s.code,{children:"classic"})," in ",(0,t.jsx)(s.a,{href:"/cli/ima-config-js#jsxruntime",children:"ima.config.js"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"typescript",children:"Typescript"}),"\n",(0,t.jsxs)(s.p,{children:["From IMA.js v18 we've introduced ",(0,t.jsx)(s.strong,{children:"support for Typescript in your application code"}),". To enable it, simply install ",(0,t.jsx)(s.code,{children:"typescript"})," dependency and create ",(0,t.jsx)(s.code,{children:"tsconfig.json"})," file in the root of your project."]}),"\n",(0,t.jsx)(s.admonition,{type:"tip",children:(0,t.jsxs)(s.p,{children:["For more information and additional tips about TypeScript usage in IMA.js applications, ",(0,t.jsx)(s.a,{href:"/basic-features/typescript",children:(0,t.jsx)(s.strong,{children:"see the TypeScript section"})}),"."]})}),"\n",(0,t.jsx)(s.h2,{id:"cssless",children:"CSS/LESS"}),"\n",(0,t.jsxs)(s.p,{children:["There's built in support for CSS and LESS preprocessor. Both of these have the same featureset. To use any CSS you have to import the files anywhere in your application. These imports are then combined and extracted to single ",(0,t.jsx)(s.code,{children:"app.css"})," file."]}),"\n",(0,t.jsx)(s.admonition,{type:"tip",children:(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"./app/main.js"})," is a good place to use for global CSS files, since it is an entry point to IMA.js application and these imports will be included at top of the built ",(0,t.jsx)(s.code,{children:"app.css"})," file."]})}),"\n",(0,t.jsx)(s.h3,{id:"css-modules",children:"CSS Modules"}),"\n",(0,t.jsxs)(s.p,{children:["Both loaders fully support ",(0,t.jsx)(s.a,{href:"https://github.com/css-modules/css-modules",children:"CSS Modules"})," for files with ",(0,t.jsx)(s.code,{children:"*.modules.css"})," or ",(0,t.jsx)(s.code,{children:"*.modules.less"})," postfixes, with ",(0,t.jsx)(s.code,{children:"local"})," as default scoping."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-less",metastring:"title=./app/page/home/home.module.less",children:":global {\n :root: {\n --bg-color: #fff;\n }\n}\n\n.home {\n background: var(--bg-color);\n}\n"})}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:"title=./app/page/home/Home.jsx",children:"import styles from './home.module.less';\n\nfunction Home() {\n return\n <div className={styles.home}>HomePage</div>\n );\n}\n"})}),"\n",(0,t.jsx)(s.h3,{id:"globalsless",children:"globals.less"}),"\n",(0,t.jsxs)(s.p,{children:["This file is located at ",(0,t.jsx)(s.code,{children:"./app/less/globals.less"})," and it is automatically imported on top of every other processed LESS file. It allows you to easily share globals across less files."]}),"\n",(0,t.jsxs)(s.admonition,{type:"tip",children:[(0,t.jsxs)(s.p,{children:["Use this file to import other ",(0,t.jsx)(s.strong,{children:"mixins"})," and ",(0,t.jsx)(s.strong,{children:"global variables"})," which are then available in all other *.less files automatically, without the need to import them explicitly."]}),(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-less",metastring:"title=./app/less/globals.less",children:"@import './mixins/*.less';\n\n@global-red: red;\n"})}),(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-less",metastring:"title=./app/less/app.less",children:"body {\n // No direct import of 'globals.less' is needed.\n background: @global-red;\n}\n"})})]}),"\n",(0,t.jsx)(s.h3,{id:"glob-less-imports",children:"Glob less imports"}),"\n",(0,t.jsxs)(s.p,{children:["The ",(0,t.jsx)(s.code,{children:"less-loader"})," uses ",(0,t.jsx)(s.a,{href:"https://github.com/just-boris/less-plugin-glob",children:"less-plugin-glob"})," by default in it's configuration. This means that glob imports are fully supported."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-less",metastring:"title=./app/less/app.less",children:'@import \'./mixins/*.less\';\n\n/* Non-relative imports are resolved through node resolver. */\n@import "@ima/**/atoms/**/*.less";\n@import "@ima/**/molecules/**/*.less";\n@import "@ima/**/organisms/**/*.less";\n'})}),"\n",(0,t.jsx)(s.h3,{id:"postcss",children:"PostCSS"}),"\n",(0,t.jsxs)(s.p,{children:["IMA.js has built-in support for ",(0,t.jsx)(s.a,{href:"https://postcss.org/",children:"PostCSS"})," during CSS/LESS compilation."]}),"\n",(0,t.jsx)(s.p,{children:"Out of the box without any additional configuration, it comes pre-configured with following plugins:"}),"\n",(0,t.jsxs)(s.ol,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/luisrudge/postcss-flexbugs-fixes#readme",children:"postcss-flexbugs-fixes"})," - tries to fix all known flexbox issues."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env",children:"postcss-preset-env"})," - converts modern CSS back into something the old browsers can understand (back to IE11). It comes with: ",(0,t.jsx)(s.code,{children:"autoprefixer"}),", ",(0,t.jsx)(s.code,{children:"stage 3"})," and ",(0,t.jsx)(s.code,{children:"custom-properties: false"})," features."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["All these features can be easily customized using ",(0,t.jsx)(s.code,{children:"postcss"})," option in ",(0,t.jsx)(s.a,{href:"./ima.config.js.md/#postcss",children:"ima.config.js"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"assets",children:"Assets"}),"\n",(0,t.jsxs)(s.p,{children:["All other assets are either ",(0,t.jsx)(s.strong,{children:"inlined"})," as ",(0,t.jsx)(s.strong,{children:"base64 encoded string"})," or copied to the ",(0,t.jsx)(s.code,{children:"./build/static/media"})," folder, where default import represents assets's public URL."]}),"\n",(0,t.jsx)(s.h3,{id:"images",children:"Images"}),"\n",(0,t.jsxs)(s.p,{children:["Images (bmp, gif, jpeg, png, webp, svg) are automatically inlined if their size is below ",(0,t.jsx)(s.code,{children:"imageInlineSizeLimit"}),", which can be configured in ",(0,t.jsx)(s.a,{href:"/cli/ima-config-js#imageinlinesizelimit",children:"ima.config.js"}),", with default value of ",(0,t.jsx)(s.strong,{children:"8Kb"}),". Images exceeding this size limit are copied to the static media folder and import return's their public URL."]}),"\n",(0,t.jsxs)(s.p,{children:["To enforce either one of the two modes, you can use ",(0,t.jsx)(s.code,{children:"?external"})," or ",(0,t.jsx)(s.code,{children:"?inline"})," query parameter in the import path:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",children:"// This always converts the image to base64 encoded string and inlines it.\nimport InlineImage from './image.png?inline';\n\n// This always returns image public URL, no matter it's size\nimport ImageURL from './image.png?external';\n"})}),"\n",(0,t.jsx)(s.h3,{id:"text-files",children:"Text files"}),"\n",(0,t.jsxs)(s.p,{children:["When you import one of these text files - csv, txt, html, you receive their contents. Similarly to the images, you can enforce getting their public URL by using the ",(0,t.jsx)(s.code,{children:"?external"})," query parameter."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",children:"// Returns file contents in the default import\nimport IndexSource from './index.html';\n\n// Returns the file public URL\nimport IndexURL from './index.html?external';\n"})}),"\n",(0,t.jsxs)(s.h3,{id:"apppublic-folder",children:[(0,t.jsx)(s.code,{children:"./app/public"})," folder"]}),"\n",(0,t.jsxs)(s.p,{children:["Everything in this folder is copied to the ",(0,t.jsx)(s.code,{children:"./build/static/public"})," and available through the express static files route (",(0,t.jsx)(s.code,{children:"http://localhost:3001/static/public/"}),")."]}),"\n",(0,t.jsx)(s.h2,{id:"compression",children:"Compression"}),"\n",(0,t.jsxs)(s.p,{children:["When you built the application bundle, all static assets are additionally compressed using ",(0,t.jsx)(s.code,{children:"brotli"})," and ",(0,t.jsx)(s.code,{children:"gzip"})," compression (with ",(0,t.jsx)(s.code,{children:".br"})," and ",(0,t.jsx)(s.code,{children:".gz"})," extensions respectively). To customize this behavior, take a look at ",(0,t.jsx)(s.a,{href:"/cli/ima-config-js#compress",children:"ima.config.js"})," configuration section."]}),"\n",(0,t.jsx)(s.h2,{id:"languages",children:"Languages"}),"\n",(0,t.jsxs)(s.p,{children:["The ",(0,t.jsx)(s.a,{href:"/cli/ima-config-js#languages",children:"language files"})," are compile using ",(0,t.jsx)(s.a,{href:"http://messageformat.github.io/messageformat/",children:"messageformat"})," library."]})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,s,i)=>{i.d(s,{R:()=>l,x:()=>r});var n=i(3696);const t={},o=n.createContext(t);function l(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0a2dc9c.c033464c.js b/assets/js/d0a2dc9c.c033464c.js new file mode 100644 index 000000000..5abf69670 --- /dev/null +++ b/assets/js/d0a2dc9c.c033464c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1073],{8664:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"plugins/available-plugins","title":"Existing plugins","description":"Plugins > List of existing plugins","source":"@site/../docs/plugins/available-plugins.md","sourceDirName":"plugins","slug":"/plugins/available-plugins","permalink":"/plugins/available-plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/plugins/available-plugins.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Existing plugins","description":"Plugins > List of existing plugins"},"sidebar":"docs","previous":{"title":"Plugins API","permalink":"/plugins/plugin-api"},"next":{"title":"Introduction","permalink":"/devtools/devtools-introduction"}}');var t=n(2540),r=n(3023);const l={title:"Existing plugins",description:"Plugins > List of existing plugins"},a=void 0,o={},c=[{value:"IMA.js-plugins",id:"imajs-plugins",level:2}];function g(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:["We've already described a way to ",(0,t.jsx)(s.a,{href:"/plugins/plugin-api#plugin-registration",children:"create your own IMA.js plugins"}),"\nthrough a very simple interface. Now we would like to talk about ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins",children:"IMA.js-plugins"})," monorepo that already ",(0,t.jsx)(s.strong,{children:"contains variety of plugins"})," that covers many of the common use cases."]}),"\n",(0,t.jsx)(s.h2,{id:"imajs-plugins",children:"IMA.js-plugins"}),"\n",(0,t.jsxs)(s.p,{children:["Each plugin in ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins",children:"this repository"})," is thoroughly tested and maintained, so it always works with the most up to date IMA.js version. We, here at ",(0,t.jsx)(s.a,{href:"https://www.seznam.cz/",children:"Seznam.cz"})," use it daily in production on many of our projects, so don't worry about using them safely in the production environment."]}),"\n",(0,t.jsxs)(s.p,{children:["Without further ado, let's quickly describe in this compact list ",(0,t.jsx)(s.strong,{children:"what each plugin does and when you would want to use them"}),":"]}),"\n",(0,t.jsx)(s.admonition,{type:"note",children:(0,t.jsx)(s.p,{children:"This list is updated manually, so there can be situations where it doesn't match on 100% what is currently present in the monorepository itself."})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-analytic",children:(0,t.jsx)(s.strong,{children:"plugin-analytic"})})," - Abstract analytic plugin for the IMA.js application. Serves as a base for other analytic plugins."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-analytic-fb-pixel",children:(0,t.jsx)(s.strong,{children:"plugin-analytic-fb-pixel"})})," - Facebook Pixel analytics."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-analytic-google",children:(0,t.jsx)(s.strong,{children:"plugin-analytic-google"})})," - UA and GA4 google analytics."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-halson-rest-client",children:(0,t.jsx)(s.strong,{children:"plugin-halson-rest-client"})})," - HAL+JSON REST API client for IMA applications, based on ",(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-rest-client",children:"@ima/plugin-rest-client"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/cli-plugin-less-constants",children:(0,t.jsx)(s.strong,{children:"plugin-less-constants"})})," - Adds preprocessor which converts theme values defined in the JS file, to their LESS variable counterparts."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-logger",children:(0,t.jsx)(s.strong,{children:"plugin-logger"})})," - A logging tool for IMA.js framework."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-resource-loader",children:(0,t.jsx)(s.strong,{children:"plugin-resource-loader"})})," - Plugin for loading scripts and styles."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-rest-client",children:(0,t.jsx)(s.strong,{children:"plugin-rest-client"})})," - Generic REST API client plugin."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-script-loader",children:(0,t.jsx)(s.strong,{children:"plugin-script-loader"})})," - Plugin for loading 3rd party scripts."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-shared-cache",children:(0,t.jsx)(s.strong,{children:"plugin-shared-cache"})})," - A utility for creating caches that are shared between requests by all IMA.js application instances within the same node.js process."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-managed-component",children:(0,t.jsx)(s.strong,{children:"plugin-managed-component"})})," - Provides an extension to ",(0,t.jsx)(s.code,{children:"AbstractComponent"})," with additional utility."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-select",children:(0,t.jsx)(s.strong,{children:"plugin-select"})})," - Plugin to select extra props from page state to your component."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-self-xss",children:(0,t.jsx)(s.strong,{children:"plugin-self-xss"})})," - This plugin is trying to mitigate Self-XSS security attack by sending simple message into console."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-style-loader",children:(0,t.jsx)(s.strong,{children:"plugin-style-loader"})})," - This is the plugin for loading 3rd party styles for the IMA.js application."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-useragent",children:(0,t.jsx)(s.strong,{children:"plugin-useragent"})})," - Parses useragent from client and server requests."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-xhr",children:(0,t.jsx)(s.strong,{children:"plugin-xhr"})})," - Helper plugin simplifying the usage of the XMLHttpRequest API."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-local-storage",children:(0,t.jsx)(s.strong,{children:"plugin-local-storage"})})," - ",(0,t.jsx)(s.code,{children:"localstorage"})," implementation of ",(0,t.jsx)(s.code,{children:"Storage"})," interface for IMA.js applications."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-testing-integration",children:(0,t.jsx)(s.strong,{children:"plugin-testing-integration"})})," - This is a plugin for integration testing of any IMA.js based application."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-websocket",children:(0,t.jsx)(s.strong,{children:"plugin-websocket"})})," - Allows creating socket server and connected clients can send broadcast message."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-merkur",children:(0,t.jsx)(s.strong,{children:"plugin-merkur"})})," - For easier integrations of ",(0,t.jsx)(s.a,{href:"https://merkur.js.org/",children:"merkur"})," widget to ima application."]}),"\n"]})]})}function p(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(g,{...e})}):g(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>l,x:()=>a});var i=n(3696);const t={},r=i.createContext(t);function l(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d0a2dc9c.ff826943.js b/assets/js/d0a2dc9c.ff826943.js deleted file mode 100644 index 7b91debb3..000000000 --- a/assets/js/d0a2dc9c.ff826943.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1073],{5680:(e,t,a)=>{a.d(t,{xA:()=>o,yg:()=>y});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),g=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},o=function(e){var t=g(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),u=g(a),c=r,y=u["".concat(p,".").concat(c)]||u[c]||m[c]||i;return a?n.createElement(y,s(s({ref:t},o),{},{components:a})):n.createElement(y,s({ref:t},o))}));function y(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,s=new Array(i);s[0]=c;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:r,s[1]=l;for(var g=2;g<i;g++)s[g]=a[g];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}c.displayName="MDXCreateElement"},6469:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var n=a(8102),r=(a(6540),a(5680));const i={title:"Existing plugins",description:"Plugins > List of existing plugins"},s=void 0,l={unversionedId:"plugins/available-plugins",id:"plugins/available-plugins",title:"Existing plugins",description:"Plugins > List of existing plugins",source:"@site/../docs/plugins/available-plugins.md",sourceDirName:"plugins",slug:"/plugins/available-plugins",permalink:"/plugins/available-plugins",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/plugins/available-plugins.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Existing plugins",description:"Plugins > List of existing plugins"},sidebar:"docs",previous:{title:"Plugins API",permalink:"/plugins/plugin-api"},next:{title:"Introduction",permalink:"/devtools/devtools-introduction"}},p={},g=[{value:"IMA.js-plugins",id:"imajs-plugins",level:2}],o={toc:g},u="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(u,(0,n.A)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"We've already described a way to ",(0,r.yg)("a",{parentName:"p",href:"/plugins/plugin-api#plugin-registration"},"create your own IMA.js plugins"),"\nthrough a very simple interface. Now we would like to talk about ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-plugins"},"IMA.js-plugins")," monorepo that already ",(0,r.yg)("strong",{parentName:"p"},"contains variety of plugins")," that covers many of the common use cases."),(0,r.yg)("h2",{id:"imajs-plugins"},"IMA.js-plugins"),(0,r.yg)("p",null,"Each plugin in ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/IMA.js-plugins"},"this repository")," is thoroughly tested and maintained, so it always works with the most up to date IMA.js version. We, here at ",(0,r.yg)("a",{parentName:"p",href:"https://www.seznam.cz/"},"Seznam.cz")," use it daily in production on many of our projects, so don't worry about using them safely in the production environment."),(0,r.yg)("p",null,"Without further ado, let's quickly describe in this compact list ",(0,r.yg)("strong",{parentName:"p"},"what each plugin does and when you would want to use them"),":"),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"This list is updated manually, so there can be situations where it doesn't match on 100% what is currently present in the monorepository itself.")),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-analytic"},(0,r.yg)("strong",{parentName:"a"},"plugin-analytic"))," - Abstract analytic plugin for the IMA.js application. Serves as a base for other analytic plugins."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-analytic-fb-pixel"},(0,r.yg)("strong",{parentName:"a"},"plugin-analytic-fb-pixel"))," - Facebook Pixel analytics."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-analytic-google"},(0,r.yg)("strong",{parentName:"a"},"plugin-analytic-google"))," - UA and GA4 google analytics."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-halson-rest-client"},(0,r.yg)("strong",{parentName:"a"},"plugin-halson-rest-client"))," - HAL+JSON REST API client for IMA applications, based on ",(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-rest-client"},"@ima/plugin-rest-client"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/cli-plugin-less-constants"},(0,r.yg)("strong",{parentName:"a"},"plugin-less-constants"))," - Adds preprocessor which converts theme values defined in the JS file, to their LESS variable counterparts."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-logger"},(0,r.yg)("strong",{parentName:"a"},"plugin-logger"))," - A logging tool for IMA.js framework."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-resource-loader"},(0,r.yg)("strong",{parentName:"a"},"plugin-resource-loader"))," - Plugin for loading scripts and styles."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-rest-client"},(0,r.yg)("strong",{parentName:"a"},"plugin-rest-client"))," - Generic REST API client plugin."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-script-loader"},(0,r.yg)("strong",{parentName:"a"},"plugin-script-loader"))," - Plugin for loading 3rd party scripts."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-shared-cache"},(0,r.yg)("strong",{parentName:"a"},"plugin-shared-cache"))," - A utility for creating caches that are shared between requests by all IMA.js application instances within the same node.js process."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-managed-component"},(0,r.yg)("strong",{parentName:"a"},"plugin-managed-component"))," - Provides an extension to ",(0,r.yg)("inlineCode",{parentName:"li"},"AbstractComponent")," with additional utility."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-select"},(0,r.yg)("strong",{parentName:"a"},"plugin-select"))," - Plugin to select extra props from page state to your component."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-self-xss"},(0,r.yg)("strong",{parentName:"a"},"plugin-self-xss"))," - This plugin is trying to mitigate Self-XSS security attack by sending simple message into console."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-style-loader"},(0,r.yg)("strong",{parentName:"a"},"plugin-style-loader"))," - This is the plugin for loading 3rd party styles for the IMA.js application."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-useragent"},(0,r.yg)("strong",{parentName:"a"},"plugin-useragent"))," - Parses useragent from client and server requests."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-xhr"},(0,r.yg)("strong",{parentName:"a"},"plugin-xhr"))," - Helper plugin simplifying the usage of the XMLHttpRequest API."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-local-storage"},(0,r.yg)("strong",{parentName:"a"},"plugin-local-storage"))," - ",(0,r.yg)("inlineCode",{parentName:"li"},"localstorage")," implementation of ",(0,r.yg)("inlineCode",{parentName:"li"},"Storage")," interface for IMA.js applications."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-testing-integration"},(0,r.yg)("strong",{parentName:"a"},"plugin-testing-integration"))," - This is a plugin for integration testing of any IMA.js based application."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-websocket"},(0,r.yg)("strong",{parentName:"a"},"plugin-websocket"))," - Allows creating socket server and connected clients can send broadcast message."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-plugins/tree/master/packages/plugin-merkur"},(0,r.yg)("strong",{parentName:"a"},"plugin-merkur"))," - For easier integrations of ",(0,r.yg)("a",{parentName:"li",href:"https://merkur.js.org/"},"merkur")," widget to ima application.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d13bdcde.fb0dabad.js b/assets/js/d13bdcde.fb0dabad.js new file mode 100644 index 000000000..f3359ac92 --- /dev/null +++ b/assets/js/d13bdcde.fb0dabad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6563],{1940:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>r,toc:()=>m});const r=JSON.parse('{"id":"api/@ima/core/type-aliases/UnknownPromiseParameters","title":"Type Alias: UnknownPromiseParameters","description":"UnknownPromiseParameters: object","source":"@site/../docs/api/@ima/core/type-aliases/UnknownPromiseParameters.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/UnknownPromiseParameters","permalink":"/api/@ima/core/type-aliases/UnknownPromiseParameters","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/UnknownPromiseParameters.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: UnknownParameters","permalink":"/api/@ima/core/type-aliases/UnknownParameters"},"next":{"title":"Type Alias: WindowEventTargets","permalink":"/api/@ima/core/type-aliases/WindowEventTargets"}}');var a=s(2540),t=s(3023);const i={},o="Type Alias: UnknownPromiseParameters",c={},m=[{value:"Index Signature",id:"index-signature",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"type-alias-unknownpromiseparameters",children:"Type Alias: UnknownPromiseParameters"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"UnknownPromiseParameters"}),": ",(0,a.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L26",children:"packages/core/src/types.ts:26"})]}),"\n",(0,a.jsx)(n.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,a.jsxs)(n.p,{children:["[",(0,a.jsx)(n.code,{children:"key"}),": ",(0,a.jsx)(n.code,{children:"string"}),"]: ",(0,a.jsx)(n.code,{children:"unknown"})]})]})}function l(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>o});var r=s(3696);const a={},t=r.createContext(a);function i(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d15bf737.29dad999.js b/assets/js/d15bf737.29dad999.js new file mode 100644 index 000000000..ae3705158 --- /dev/null +++ b/assets/js/d15bf737.29dad999.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6216],{7517:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>t,toc:()=>u});const t=JSON.parse('{"id":"api/@ima/core/enumerations/RouteNames","title":"Enumeration: RouteNames","description":"Defined in5","source":"@site/../docs/api/@ima/core/enumerations/RouteNames.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/RouteNames","permalink":"/api/@ima/core/enumerations/RouteNames","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/RouteNames.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: RendererTypes","permalink":"/api/@ima/core/enumerations/RendererTypes"},"next":{"title":"Enumeration: RouterEvents","permalink":"/api/@ima/core/enumerations/RouterEvents"}}');var s=r(2540),o=r(3023);const a={},i="Enumeration: RouteNames",c={},u=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"ERROR",id:"error",level:3},{value:"NOT_FOUND",id:"not_found",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"enumeration-routenames",children:"Enumeration: RouteNames"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouteNames.ts#L5",children:"packages/core/src/router/RouteNames.ts:5"})]}),"\n",(0,s.jsx)(n.p,{children:"HTTP status code constants, representing the HTTP status codes recognized\nand processed by this proxy."}),"\n",(0,s.jsx)(n.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,s.jsx)(n.h3,{id:"error",children:"ERROR"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"ERROR"}),": ",(0,s.jsx)(n.code,{children:'"error"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouteNames.ts#L16",children:"packages/core/src/router/RouteNames.ts:16"})]}),"\n",(0,s.jsx)(n.p,{children:"The internal route name used for the error page (the 5XX HTTP status\ncode error page)."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"not_found",children:"NOT_FOUND"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"NOT_FOUND"}),": ",(0,s.jsx)(n.code,{children:'"notFound"'})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/RouteNames.ts#L10",children:"packages/core/src/router/RouteNames.ts:10"})]}),"\n",(0,s.jsx)(n.p,{children:'The internal route name used for the "not found" error page (the 4XX\nHTTP status code error page).'})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>i});var t=r(3696);const s={},o=t.createContext(s);function a(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d3f37276.5183b139.js b/assets/js/d3f37276.5183b139.js deleted file mode 100644 index c9e010629..000000000 --- a/assets/js/d3f37276.5183b139.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[73],{5680:(e,a,n)=>{n.d(a,{xA:()=>d,yg:()=>c});var t=n(6540);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function g(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?i(Object(n),!0).forEach((function(a){r(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function l(e,a){if(null==e)return{};var n,t,r=function(e,a){if(null==e)return{};var n,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=t.createContext({}),o=function(e){var a=t.useContext(p),n=a;return e&&(n="function"==typeof e?e(a):g(g({},a),e)),n},d=function(e){var a=o(e.components);return t.createElement(p.Provider,{value:a},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},y=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),s=o(n),y=r,c=s["".concat(p,".").concat(y)]||s[y]||m[y]||i;return n?t.createElement(c,g(g({ref:a},d),{},{components:n})):t.createElement(c,g({ref:a},d))}));function c(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,g=new Array(i);g[0]=y;var l={};for(var p in a)hasOwnProperty.call(a,p)&&(l[p]=a[p]);l.originalType=e,l[s]="string"==typeof e?e:r,g[1]=l;for(var o=2;o<i;o++)g[o]=n[o];return t.createElement.apply(null,g)}return t.createElement.apply(null,n)}y.displayName="MDXCreateElement"},7809:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>p,contentTitle:()=>g,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var t=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.AbstractPageManager",title:"Class: AbstractPageManager",sidebar_label:"@ima/core.AbstractPageManager",custom_edit_url:null},g=void 0,l={unversionedId:"api/classes/ima_core.AbstractPageManager",id:"api/classes/ima_core.AbstractPageManager",title:"Class: AbstractPageManager",description:"@ima/core.AbstractPageManager",source:"@site/../docs/api/classes/ima_core.AbstractPageManager.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.AbstractPageManager",permalink:"/api/classes/ima_core.AbstractPageManager",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.AbstractPageManager",title:"Class: AbstractPageManager",sidebar_label:"@ima/core.AbstractPageManager",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AbstractExtension",permalink:"/api/classes/ima_core.AbstractExtension"},next:{title:"@ima/core.AbstractRoute",permalink:"/api/classes/ima_core.AbstractRoute"}},p={},o=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_managedPage",id:"_managedpage",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_pageFactory",id:"_pagefactory",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_pageHandlerRegistry",id:"_pagehandlerregistry",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_pageRenderer",id:"_pagerenderer",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"_previousManagedPage",id:"_previousmanagedpage",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"#cancelable",id:"cancelable",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_activateController",id:"_activatecontroller",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_activateExtensions",id:"_activateextensions",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_activatePageSource",id:"_activatepagesource",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_clearComponentState",id:"_clearcomponentstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_constructManagedPageValue",id:"_constructmanagedpagevalue",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_deactivateController",id:"_deactivatecontroller",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_deactivateExtensions",id:"_deactivateextensions",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"_deactivatePageSource",id:"_deactivatepagesource",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_destroyController",id:"_destroycontroller",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_destroyExtensions",id:"_destroyextensions",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"_destroyPageSource",id:"_destroypagesource",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"_getInitialManagedPage",id:"_getinitialmanagedpage",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"_getLoadedControllerState",id:"_getloadedcontrollerstate",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"_getLoadedExtensionsState",id:"_getloadedextensionsstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"_getUpdatedControllerState",id:"_getupdatedcontrollerstate",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"_getUpdatedExtensionsState",id:"_getupdatedextensionsstate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"_hasOnlyUpdate",id:"_hasonlyupdate",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"_initController",id:"_initcontroller",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"_initExtensions",id:"_initextensions",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"_initPageSource",id:"_initpagesource",level:3},{value:"Returns",id:"returns-20",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"_loadPageSource",id:"_loadpagesource",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"_runPostManageHandlers",id:"_runpostmanagehandlers",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"_runPreManageHandlers",id:"_runpremanagehandlers",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"_setRestrictedPageStateManager",id:"_setrestrictedpagestatemanager",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-24",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"_storeManagedPageSnapshot",id:"_storemanagedpagesnapshot",level:3},{value:"Returns",id:"returns-25",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"_stripManagedPageValueForPublic",id:"_stripmanagedpagevalueforpublic",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"_switchToPageStateManager",id:"_switchtopagestatemanager",level:3},{value:"Returns",id:"returns-27",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"_switchToPageStateManagerAfterLoaded",id:"_switchtopagestatemanagerafterloaded",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-28",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"_updatePageSource",id:"_updatepagesource",level:3},{value:"Returns",id:"returns-29",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-30",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"getViewController",id:"getviewcontroller",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-31",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-32",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"manage",id:"manage",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-33",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"postManage",id:"postmanage",level:3},{value:"Returns",id:"returns-34",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"preManage",id:"premanage",level:3},{value:"Returns",id:"returns-35",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-43",level:4}],d={toc:o},s="wrapper";function m(e){let{components:a,...n}=e;return(0,r.yg)(s,(0,t.A)({},d,n,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".AbstractPageManager"),(0,r.yg)("p",null,"Page manager for controller."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"AbstractPageManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientPageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"ClientPageManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerPageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"ServerPageManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ClientPageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"ClientPageManager"))),(0,r.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerPageManager"},(0,r.yg)("inlineCode",{parentName:"a"},"ServerPageManager"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new AbstractPageManager"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"pageFactory"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pageRenderer"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pageStateManager"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"pageHandlerRegistry"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"dispatcher"),")"),(0,r.yg)("p",null,"Initializes the page manager."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageFactory")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Factory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageRenderer")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageRenderer"},(0,r.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current renderer of the page.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageStateManager")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current page state manager.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"pageHandlerRegistry")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Instance of HandlerRegistry that holds a list of pre-manage and post-manage handlers.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},"PageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L95"},"packages/core/src/page/manager/AbstractPageManager.ts:95")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,r.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L81"},"packages/core/src/page/manager/AbstractPageManager.ts:81")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_managedpage"},"_","managedPage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","managedPage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("p",null,"Details of the currently managed page."),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L68"},"packages/core/src/page/manager/AbstractPageManager.ts:68")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagefactory"},"_","pageFactory"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageFactory"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageFactory"},(0,r.yg)("inlineCode",{parentName:"a"},"PageFactory"))),(0,r.yg)("p",null,"Factory used by the page manager to create instances of the\ncontroller for the current route, and decorate the controllers and\npage state managers."),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L63"},"packages/core/src/page/manager/AbstractPageManager.ts:63")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagehandlerregistry"},"_","pageHandlerRegistry"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageHandlerRegistry"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandlerRegistry"},(0,r.yg)("inlineCode",{parentName:"a"},"PageHandlerRegistry"))),(0,r.yg)("p",null,"A registry that holds a list of pre-manage and post-manage handlers."),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L80"},"packages/core/src/page/manager/AbstractPageManager.ts:80")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagerenderer"},"_","pageRenderer"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageRenderer"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageRenderer"},(0,r.yg)("inlineCode",{parentName:"a"},"PageRenderer"))),(0,r.yg)("p",null,"The current renderer of the page."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L72"},"packages/core/src/page/manager/AbstractPageManager.ts:72")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_pagestatemanager"},"_","pageStateManager"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","pageStateManager"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageStateManager"},(0,r.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<{}",">"),(0,r.yg)("p",null,"The current page state manager."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L76"},"packages/core/src/page/manager/AbstractPageManager.ts:76")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_previousmanagedpage"},"_","previousManagedPage"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","previousManagedPage"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("p",null,"Snapshot of the previously managed page before it was replaced with\na new one"),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L57"},"packages/core/src/page/manager/AbstractPageManager.ts:57")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"cancelable"},"#cancelable"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,r.yg)("strong",{parentName:"p"},"#cancelable"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"promise"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"promise")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"T"))))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"T"),">"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L845"},"packages/core/src/page/manager/AbstractPageManager.ts:845")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_activatecontroller"},"_","activateController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_activateController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Activate managed instance of controller."),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L549"},"packages/core/src/page/manager/AbstractPageManager.ts:549")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_activateextensions"},"_","activateExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_activateExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Activate extensions for managed instance of controller."),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L563"},"packages/core/src/page/manager/AbstractPageManager.ts:563")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_activatepagesource"},"_","activatePageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_activatePageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Activate page source so call activate method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L529"},"packages/core/src/page/manager/AbstractPageManager.ts:529")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_clearcomponentstate"},"_","clearComponentState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_clearComponentState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"The method clear state on current rendered component to DOM."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The current route options.")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L753"},"packages/core/src/page/manager/AbstractPageManager.ts:753")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_constructmanagedpagevalue"},"_","constructManagedPageValue"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_constructManagedPageValue"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"route"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"controllerInstance"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"decoratedController"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"viewInstance"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerInstance")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,r.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,r.yg)("inlineCode",{parentName:"a"},"PageState")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"decoratedController")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator"},(0,r.yg)("inlineCode",{parentName:"a"},"ControllerDecorator")),"\\<{}, {}, {}",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"viewInstance")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L245"},"packages/core/src/page/manager/AbstractPageManager.ts:245")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_deactivatecontroller"},"_","deactivateController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_deactivateController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Deactivate last managed instance of controller only If controller was\nactivated."),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L691"},"packages/core/src/page/manager/AbstractPageManager.ts:691")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_deactivateextensions"},"_","deactivateExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_deactivateExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Deactivate extensions for last managed instance of controller only if\nthey were activated."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L702"},"packages/core/src/page/manager/AbstractPageManager.ts:702")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_deactivatepagesource"},"_","deactivatePageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_deactivatePageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Deactivate page source so call deactivate method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L677"},"packages/core/src/page/manager/AbstractPageManager.ts:677")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_destroycontroller"},"_","destroyController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_destroyController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Destroy last managed instance of controller."),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L726"},"packages/core/src/page/manager/AbstractPageManager.ts:726")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_destroyextensions"},"_","destroyExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_destroyExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Destroy extensions for last managed instance of controller."),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L739"},"packages/core/src/page/manager/AbstractPageManager.ts:739")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_destroypagesource"},"_","destroyPageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_destroyPageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Destroy page source so call destroy method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L714"},"packages/core/src/page/manager/AbstractPageManager.ts:714")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getinitialmanagedpage"},"_","getInitialManagedPage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getInitialManagedPage"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("p",null,"Clear value from managed page."),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L302"},"packages/core/src/page/manager/AbstractPageManager.ts:302")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getloadedcontrollerstate"},"_","getLoadedControllerState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getLoadedControllerState"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("p",null,"Load controller state from managed instance of controller."),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L485"},"packages/core/src/page/manager/AbstractPageManager.ts:485")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getloadedextensionsstate"},"_","getLoadedExtensionsState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getLoadedExtensionsState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controllerState?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"Load extensions state from managed instance of controller."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerState?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L501"},"packages/core/src/page/manager/AbstractPageManager.ts:501")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getupdatedcontrollerstate"},"_","getUpdatedControllerState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getUpdatedControllerState"),"(): {} ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("p",null,"Return updated controller state for current page controller."),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,"{} ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<{}",">"),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L621"},"packages/core/src/page/manager/AbstractPageManager.ts:621")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getupdatedextensionsstate"},"_","getUpdatedExtensionsState"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_getUpdatedExtensionsState"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controllerState?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("p",null,"Return updated extensions state for current page controller."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controllerState?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L637"},"packages/core/src/page/manager/AbstractPageManager.ts:637")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_hasonlyupdate"},"_","hasOnlyUpdate"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_hasOnlyUpdate"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Return true if manager has to update last managed controller and view."),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L769"},"packages/core/src/page/manager/AbstractPageManager.ts:769")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_initcontroller"},"_","initController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_initController"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Initializes managed instance of controller with the provided parameters."),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L398"},"packages/core/src/page/manager/AbstractPageManager.ts:398")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_initextensions"},"_","initExtensions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_initExtensions"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Initialize extensions for managed instance of controller with the\nprovided parameters."),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L413"},"packages/core/src/page/manager/AbstractPageManager.ts:413")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_initpagesource"},"_","initPageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_initPageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Initialize page source so call init method on controller and his\nextensions."),(0,r.yg)("h4",{id:"returns-20"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L383"},"packages/core/src/page/manager/AbstractPageManager.ts:383")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_loadpagesource"},"_","loadPageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_loadPageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"Load page source so call load method on controller and his extensions.\nMerge loaded state and render it."),(0,r.yg)("h4",{id:"returns-21"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L443"},"packages/core/src/page/manager/AbstractPageManager.ts:443")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_runpostmanagehandlers"},"_","runPostManageHandlers"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_runPostManageHandlers"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"previousManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"previousManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,r.yg)("h4",{id:"returns-22"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L809"},"packages/core/src/page/manager/AbstractPageManager.ts:809")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_runpremanagehandlers"},"_","runPreManageHandlers"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_runPreManageHandlers"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"actualManagedPage"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"actualManagedPage")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"action")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,r.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,r.yg)("h4",{id:"returns-23"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,r.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L788"},"packages/core/src/page/manager/AbstractPageManager.ts:788")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_setrestrictedpagestatemanager"},"_","setRestrictedPageStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_setRestrictedPageStateManager"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"extensionState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Set page state manager to extension which has restricted rights to set\nglobal state."),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extension")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extensionState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-24"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L342"},"packages/core/src/page/manager/AbstractPageManager.ts:342")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_storemanagedpagesnapshot"},"_","storeManagedPageSnapshot"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_storeManagedPageSnapshot"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Creates a cloned version of currently managed page and stores it in\na helper property.\nSnapshot is used in manager handlers to easily determine differences\nbetween the current and the previous state."),(0,r.yg)("h4",{id:"returns-25"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L281"},"packages/core/src/page/manager/AbstractPageManager.ts:281")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_stripmanagedpagevalueforpublic"},"_","stripManagedPageValueForPublic"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_stripManagedPageValueForPublic"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("p",null,"Removes properties we do not want to propagate outside of the page manager"),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,r.yg)("inlineCode",{parentName:"a"},"ManagedPage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The managed page object to strip down")))),(0,r.yg)("h4",{id:"returns-26"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Object")),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"controller")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteOptions")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"params")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteParams")))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"view")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L332"},"packages/core/src/page/manager/AbstractPageManager.ts:332")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_switchtopagestatemanager"},"_","switchToPageStateManager"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_switchToPageStateManager"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Iterates over extensions of current controller and switches each one to\npageStateManager and clears their partial state."),(0,r.yg)("h4",{id:"returns-27"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L430"},"packages/core/src/page/manager/AbstractPageManager.ts:430")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_switchtopagestatemanagerafterloaded"},"_","switchToPageStateManagerAfterLoaded"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_switchToPageStateManagerAfterLoaded"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"extensionState"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"For defined extension switches to pageStageManager and clears partial state\nafter extension state is loaded."),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extension")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,r.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"extensionState")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-28"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L363"},"packages/core/src/page/manager/AbstractPageManager.ts:363")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_updatepagesource"},"_","updatePageSource"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_updatePageSource"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"Update page source so call update method on controller and his\nextensions. Merge updated state and render it."),(0,r.yg)("h4",{id:"returns-29"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L580"},"packages/core/src/page/manager/AbstractPageManager.ts:580")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"destroy"},"destroy"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,r.yg)("h4",{id:"returns-30"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},"PageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager#destroy"},"destroy")),(0,r.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L232"},"packages/core/src/page/manager/AbstractPageManager.ts:232")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getviewcontroller"},"getViewController"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"getViewController"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"route"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController"))," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteView"))," }",">"),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"route")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,r.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,r.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,r.yg)("h4",{id:"returns-31"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<","{"," ",(0,r.yg)("inlineCode",{parentName:"p"},"controller"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteController"))," ; ",(0,r.yg)("inlineCode",{parentName:"p"},"view"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,r.yg)("inlineCode",{parentName:"a"},"RouteView"))," }",">"),(0,r.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L833"},"packages/core/src/page/manager/AbstractPageManager.ts:833")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"init"},"init"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"init"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Initializes the page manager."),(0,r.yg)("h4",{id:"returns-32"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},"PageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager#init"},"init")),(0,r.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L114"},"packages/core/src/page/manager/AbstractPageManager.ts:114")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"manage"},"manage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"manage"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"\xabdestructured\xbb"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."),(0,r.yg)("p",null,"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"\xabdestructured\xbb")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#manageargs"},(0,r.yg)("inlineCode",{parentName:"a"},"ManageArgs")))))),(0,r.yg)("h4",{id:"returns-33"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagedata"},(0,r.yg)("inlineCode",{parentName:"a"},"PageData")),">"),(0,r.yg)("p",null,"A promise that will resolve to information about the rendered page.\nThe ",(0,r.yg)("inlineCode",{parentName:"p"},"status")," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},"PageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager#manage"},"manage")),(0,r.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L133"},"packages/core/src/page/manager/AbstractPageManager.ts:133")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"postmanage"},"postManage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"postManage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Called by router after currently managed route is resolved."),(0,r.yg)("h4",{id:"returns-34"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},"PageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager#postmanage"},"postManage")),(0,r.yg)("h4",{id:"defined-in-42"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L223"},"packages/core/src/page/manager/AbstractPageManager.ts:223")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"premanage"},"preManage"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"preManage"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("p",null,"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."),(0,r.yg)("h4",{id:"returns-35"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},"PageManager"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager#premanage"},"preManage")),(0,r.yg)("h4",{id:"defined-in-43"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/manager/AbstractPageManager.ts#L123"},"packages/core/src/page/manager/AbstractPageManager.ts:123")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d5dd36e5.a0ae09ca.js b/assets/js/d5dd36e5.a0ae09ca.js deleted file mode 100644 index a485ffe6a..000000000 --- a/assets/js/d5dd36e5.a0ae09ca.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6979],{5680:(e,a,t)=>{t.d(a,{xA:()=>d,yg:()=>y});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=r.createContext({}),p=function(e){var a=r.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},d=function(e){var a=p(e.components);return r.createElement(s.Provider,{value:a},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},c=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),g=p(t),c=n,y=g["".concat(s,".").concat(c)]||g[c]||m[c]||l;return t?r.createElement(y,i(i({ref:a},d),{},{components:t})):r.createElement(y,i({ref:a},d))}));function y(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var l=t.length,i=new Array(l);i[0]=c;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[g]="string"==typeof e?e:n,i[1]=o;for(var p=2;p<l;p++)i[p]=t[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}c.displayName="MDXCreateElement"},4420:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=t(8102),n=(t(6540),t(5680));const l={id:"ima_core.ControllerDecorator",title:"Class: ControllerDecorator<S, R, SS>",sidebar_label:"@ima/core.ControllerDecorator",custom_edit_url:null},i=void 0,o={unversionedId:"api/classes/ima_core.ControllerDecorator",id:"api/classes/ima_core.ControllerDecorator",title:"Class: ControllerDecorator<S, R, SS>",description:"@ima/core.ControllerDecorator",source:"@site/../docs/api/classes/ima_core.ControllerDecorator.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ControllerDecorator",permalink:"/api/classes/ima_core.ControllerDecorator",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ControllerDecorator",title:"Class: ControllerDecorator<S, R, SS>",sidebar_label:"@ima/core.ControllerDecorator",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Controller",permalink:"/api/classes/ima_core.Controller"},next:{title:"@ima/core.CookieStorage",permalink:"/api/classes/ima_core.CookieStorage"}},s={},p=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_dictionary",id:"_dictionary",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_metaManager",id:"_metamanager",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_router",id:"_router",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_settings",id:"_settings",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"$dependencies",id:"dependencies",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"$extensions",id:"extensions",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"$name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"Methods",id:"methods",level:2},{value:"activate",id:"activate",level:3},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"addExtension",id:"addextension",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"beginStateTransaction",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"cancelStateTransaction",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"commitStateTransaction",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"deactivate",id:"deactivate",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"getExtension",id:"getextension",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"getExtensions",id:"getextensions",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"getMetaManager",id:"getmetamanager",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"getRouteParams",id:"getrouteparams",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"getState",id:"getstate",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"load",id:"load",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"setMetaParams",id:"setmetaparams",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"setPageStateManager",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"setRouteParams",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"setState",id:"setstate",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"update",id:"update",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"Defined in",id:"defined-in-28",level:4}],d={toc:p},g="wrapper";function m(e){let{components:a,...t}=e;return(0,n.yg)(g,(0,r.A)({},d,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ControllerDecorator"),(0,n.yg)("p",null,"Decorator for page controllers. The decorator manages references to the meta\nattributes manager and other utilities so these can be easily provided to\nthe decorated page controller when needed."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"S")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"SS")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("inlineCode",{parentName:"td"},"S")," = ",(0,n.yg)("inlineCode",{parentName:"td"},"S"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"ControllerDecorator"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new ControllerDecorator"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"SS"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"metaManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"router"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"dictionary"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings"),")"),(0,n.yg)("p",null,"Initializes the controller decorator."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"S")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))," = {}")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"SS")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState"))," = ",(0,n.yg)("inlineCode",{parentName:"td"},"S"))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"R"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The controller being decorated.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"metaManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.MetaManager"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The meta page attributes manager.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"router")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Router"},(0,n.yg)("inlineCode",{parentName:"a"},"Router"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The application router.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dictionary")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dictionary"},(0,n.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Localization phrases dictionary.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.Settings"},(0,n.yg)("inlineCode",{parentName:"a"},"Settings"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Application settings for the current application environment.")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L54"},"packages/core/src/controller/ControllerDecorator.ts:54")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_controller"},"_","controller"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","controller"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},(0,n.yg)("inlineCode",{parentName:"a"},"Controller")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"R"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"SS"),">"),(0,n.yg)("p",null,"The controller being decorated."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L26"},"packages/core/src/controller/ControllerDecorator.ts:26")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_dictionary"},"_","dictionary"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dictionary"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dictionary"},(0,n.yg)("inlineCode",{parentName:"a"},"Dictionary"))),(0,n.yg)("p",null,"Localization phrases dictionary."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L38"},"packages/core/src/controller/ControllerDecorator.ts:38")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_metamanager"},"_","metaManager"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","metaManager"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,n.yg)("p",null,"The meta page attributes manager."),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L30"},"packages/core/src/controller/ControllerDecorator.ts:30")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_router"},"_","router"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","router"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},(0,n.yg)("inlineCode",{parentName:"a"},"Router"))),(0,n.yg)("p",null,"The application router."),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L34"},"packages/core/src/controller/ControllerDecorator.ts:34")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_settings"},"_","settings"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","settings"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Settings"},(0,n.yg)("inlineCode",{parentName:"a"},"Settings"))),(0,n.yg)("p",null,"Application settings for the current application environment."),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L42"},"packages/core/src/controller/ControllerDecorator.ts:42")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#$dependencies"},"$dependencies")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L44"},"packages/core/src/controller/Controller.ts:44")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"extensions"},"$extensions"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"$extensions"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">",">"),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#$extensions"},"$extensions")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L45"},"packages/core/src/controller/Controller.ts:45")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"name"},"$name"),(0,n.yg)("p",null,"\u25aa ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,n.yg)("strong",{parentName:"p"},"$name"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#$name"},"$name")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/Controller.ts#L43"},"packages/core/src/controller/Controller.ts:43")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"activate"},"activate"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"activate"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Callback for activating the controller in the UI. This is the last\nmethod invoked during controller initialization, called after all the\npromises returned from the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#load"},"load")," method have been\nresolved and the controller has configured the meta manager."),(0,n.yg)("p",null,"The controller may register any React and DOM event listeners in this\nmethod. The controller may start receiving event bus event after this\nmethod completes."),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#activate"},"activate")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L87"},"packages/core/src/controller/ControllerDecorator.ts:87")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"addextension"},"addExtension"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"addExtension"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"extension"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"extensionInstance?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Adds the provided extension to this controller. All extensions should be\nadded to the controller before the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#init"},"init")," method is\ninvoked."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"extension")),(0,n.yg)("td",{parentName:"tr",align:"left"},"keyof ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.OCAliasMap"},(0,n.yg)("inlineCode",{parentName:"a"},"OCAliasMap"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Constructor"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">"," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"AbstractConstructor"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">"," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"extensionInstance?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#addextension"},"addExtension")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L150"},"packages/core/src/controller/ControllerDecorator.ts:150")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"beginstatetransaction"},"beginStateTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"beginStateTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,n.yg)("inlineCode",{parentName:"p"},"setState")," call has no effect on the current state."),(0,n.yg)("p",null,"Note that call to ",(0,n.yg)("inlineCode",{parentName:"p"},"getState")," after the transaction has begun will\nreturn state as it was before the transaction."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#beginstatetransaction"},"beginStateTransaction")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L129"},"packages/core/src/controller/ControllerDecorator.ts:129")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"cancelstatetransaction"},"cancelStateTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"cancelStateTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Cancels ongoing state transaction. Uncommitted state changes are lost."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#cancelstatetransaction"},"cancelStateTransaction")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L143"},"packages/core/src/controller/ControllerDecorator.ts:143")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"commitstatetransaction"},"commitStateTransaction"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"commitStateTransaction"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,n.yg)("inlineCode",{parentName:"p"},"setState")," call."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#commitstatetransaction"},"commitStateTransaction")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L136"},"packages/core/src/controller/ControllerDecorator.ts:136")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"deactivate"},"deactivate"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"deactivate"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Callback for deactivating the controller in the UI. This is the first\nmethod invoked during controller deinitialization. This usually happens\nwhen the user navigates to a different URL."),(0,n.yg)("p",null,"This method is the lifecycle counterpart of the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#activate"},"activate")," method."),(0,n.yg)("p",null,"The controller should deregister listeners registered and release all\nresources obtained in the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#activate"},"activate")," method."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#deactivate"},"deactivate")),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L94"},"packages/core/src/controller/ControllerDecorator.ts:94")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"destroy"},"destroy"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."),(0,n.yg)("p",null,"This method is the lifecycle counterpart of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#init"},"init"),"\nmethod."),(0,n.yg)("p",null,"The controller should release all resources obtained in the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#init"},"init")," method. The controller must release any resources\nthat might not be released automatically when the controller's instance\nis destroyed by the garbage collector."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#destroy"},"destroy")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L80"},"packages/core/src/controller/ControllerDecorator.ts:80")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getextension"},"getExtension"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getExtension"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"extension"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">"),(0,n.yg)("p",null,"Returns extension instance defined by it's class constructor\nfrom controller's extension intance map."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"extension")),(0,n.yg)("td",{parentName:"tr",align:"left"},"typeof ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")))))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#pagestate"},(0,n.yg)("inlineCode",{parentName:"a"},"PageState")),">"),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getextension"},"getExtension")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L164"},"packages/core/src/controller/ControllerDecorator.ts:164")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getextensions"},"getExtensions"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getExtensions"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">","[]"),(0,n.yg)("p",null,"Returns the controller's extensions."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Extension"},(0,n.yg)("inlineCode",{parentName:"a"},"Extension")),"\\<{}, {}, {}",">","[]"),(0,n.yg)("p",null,"The extensions added to this controller."),(0,n.yg)("h4",{id:"overrides-9"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getextensions"},"getExtensions")),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L173"},"packages/core/src/controller/ControllerDecorator.ts:173")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the HTTP status code to send to the client, should the\ncontroller be used at the server-side."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The HTTP status code to send to the client."),(0,n.yg)("h4",{id:"overrides-10"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#gethttpstatus"},"getHttpStatus")),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L214"},"packages/core/src/controller/ControllerDecorator.ts:214")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetamanager"},"getMetaManager"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaManager"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,n.yg)("p",null,"Returns the meta attributes manager configured by the decorated\ncontroller."),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,n.yg)("p",null,"The Meta attributes manager configured by the\ndecorated controller."),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L225"},"packages/core/src/controller/ControllerDecorator.ts:225")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getrouteparams"},"getRouteParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteParams"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"R")),(0,n.yg)("p",null,"Returns the current route parameters."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"R")),(0,n.yg)("p",null,"The current route parameters."),(0,n.yg)("h4",{id:"overrides-11"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getrouteparams"},"getRouteParams")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L200"},"packages/core/src/controller/ControllerDecorator.ts:200")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getstate"},"getState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getState"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"SS")),(0,n.yg)("p",null,"Returns the controller's current state."),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"SS")),(0,n.yg)("p",null,"The current state of this controller."),(0,n.yg)("h4",{id:"overrides-12"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#getstate"},"getState")),(0,n.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L122"},"packages/core/src/controller/ControllerDecorator.ts:122")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Callback for initializing the controller after the route parameters have\nbeen set on this controller."),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"overrides-13"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#init"},"init")),(0,n.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L73"},"packages/core/src/controller/ControllerDecorator.ts:73")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"load"},"load"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"load"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"Callback the controller uses to request the resources it needs to render\nits view. This method is invoked after the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#init"},"init"),"\nmethod."),(0,n.yg)("p",null,"The controller should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."),(0,n.yg)("p",null,"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."),(0,n.yg)("p",null,"The IMA will use the object to set the state of the controller."),(0,n.yg)("p",null,"If at the server side, the IMA will wait for all the promises to\nresolve, replaces the promises with the resolved values and sets the\nresulting object as the controller's state."),(0,n.yg)("p",null,"If at the client side, the IMA will first set the controller's state to\nan object containing only the fields of the returned object that were\nnot promises. IMA will then update the controller's state every time a\npromise of the returned object resolves. IMA will update the state by\nadding the resolved resource to the controller's state."),(0,n.yg)("p",null,"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,n.yg)("h4",{id:"overrides-14"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#load"},"load")),(0,n.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L101"},"packages/core/src/controller/ControllerDecorator.ts:101")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setmetaparams"},"setMetaParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setMetaParams"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"loadedResources"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Callback used to configure the meta attribute manager. The method is\ncalled after the the controller's state has been patched with the all\nloaded resources and the view has been rendered."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"loadedResources")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Intersection"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"Matching"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">",">",">",", ",(0,n.yg)("inlineCode",{parentName:"td"},"Required"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"NonMatching"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"any"),">",">",">",">",">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"A plain object representing a map of resource names to resources loaded by the ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator#load"},"load")," method. This is the same object as the one passed to the ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.ControllerDecorator#setstate"},"setState")," method.")))),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-15"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setmetaparams"},"setMetaParams")),(0,n.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L180"},"packages/core/src/controller/ControllerDecorator.ts:180")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setpagestatemanager"},"setPageStateManager"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setPageStateManager"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageStateManager?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Sets the page state manager. The page state manager manages the\ncontroller's state. The state manager can be set to ",(0,n.yg)("inlineCode",{parentName:"p"},"null")," if this\ncontroller loses the right to modify the state of the current page (e.g.\nthe user has navigated to a different route using a different\ncontroller)."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageStateManager?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageStateManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageStateManager")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"SS"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current state manager to use.")))),(0,n.yg)("h4",{id:"returns-16"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-16"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setpagestatemanager"},"setPageStateManager")),(0,n.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L207"},"packages/core/src/controller/ControllerDecorator.ts:207")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setrouteparams"},"setRouteParams"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setRouteParams"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Sets the current route parameters. This method is invoked before the\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#init"},"init")," method."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current route parameters.")))),(0,n.yg)("h4",{id:"returns-17"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-17"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setrouteparams"},"setRouteParams")),(0,n.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L193"},"packages/core/src/controller/ControllerDecorator.ts:193")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setstate"},"setState"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setState"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"K"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"statePatch"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Patches the state of this controller using the provided object by\ncopying the provided patch object fields to the controller's state\nobject."),(0,n.yg)("p",null,"You can use this method to modify the state partially or add new fields\nto the state object."),(0,n.yg)("p",null,"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."),(0,n.yg)("p",null,"Once the promises returned by the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#load"},"load")," method are\nresolved, this method is called with the an object containing the\nresolved values. The field names of the passed object will match the\nfield names in the object returned from the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#load"},"load"),"\nmethod."),(0,n.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"K")),(0,n.yg)("td",{parentName:"tr",align:"left"},"extends ",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"symbol"))))),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"statePatch")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Pick"),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"S"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"K"),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Patch of the controller's state to apply.")))),(0,n.yg)("h4",{id:"returns-18"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-18"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#setstate"},"setState")),(0,n.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L115"},"packages/core/src/controller/ControllerDecorator.ts:115")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"update"},"update"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"update"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"prevParams?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"Callback for updating the controller after a route update. This method\nis invoked if the current route has the ",(0,n.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," flag set to ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,n.yg)("inlineCode",{parentName:"p"},"onlyUpdate")," option of the current route is a callback and\nreturned ",(0,n.yg)("inlineCode",{parentName:"p"},"true"),"."),(0,n.yg)("p",null,"The method must return an object with the same semantics as the result\nof the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#load"},"load")," method. The controller's state will only\nbe patched by the returned object instead of replacing it completely."),(0,n.yg)("p",null,"The other controller lifecycle callbacks (",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#init"},"init"),",\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#load"},"load"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#activate"},"activate"),",\n",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ControllerDecorator#deactivate"},"deactivate"),", Controller#deinit) are not call\nin case this method is used."),(0,n.yg)("h4",{id:"parameters-7"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"prevParams")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"R")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Previous route parameters.")))),(0,n.yg)("h4",{id:"returns-19"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"S")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"S"),">"),(0,n.yg)("p",null,"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."),(0,n.yg)("h4",{id:"overrides-19"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller"},"Controller"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Controller#update"},"update")),(0,n.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/controller/ControllerDecorator.ts#L108"},"packages/core/src/controller/ControllerDecorator.ts:108")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d6532ee3.91b3447b.js b/assets/js/d6532ee3.91b3447b.js new file mode 100644 index 000000000..c82498a02 --- /dev/null +++ b/assets/js/d6532ee3.91b3447b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6946],{6808:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/EventBusEventHandler","title":"Type Alias: EventBusEventHandler()","description":"EventBusEventHandler: (data?) => void","source":"@site/../docs/api/@ima/core/type-aliases/EventBusEventHandler.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/EventBusEventHandler","permalink":"/api/@ima/core/type-aliases/EventBusEventHandler","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/EventBusEventHandler.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: EntryOptions","permalink":"/api/@ima/core/type-aliases/EntryOptions"},"next":{"title":"Type Alias: EventBusListener()","permalink":"/api/@ima/core/type-aliases/EventBusListener"}}');var a=t(2540),r=t(3023);const i={},c="Type Alias: EventBusEventHandler()",o={},d=[{value:"Parameters",id:"parameters",level:2},{value:"data?",id:"data",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"type-alias-eventbuseventhandler",children:"Type Alias: EventBusEventHandler()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"EventBusEventHandler"}),": (",(0,a.jsx)(n.code,{children:"data"}),"?) => ",(0,a.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L5",children:"packages/core/src/event/EventBus.ts:5"})]}),"\n",(0,a.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(n.h3,{id:"data",children:"data?"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,a.jsx)(n.code,{children:"UnknownParameters"})})}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"void"})})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>c});var s=t(3696);const a={},r=s.createContext(a);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d72b9e96.fd2f3608.js b/assets/js/d72b9e96.fd2f3608.js new file mode 100644 index 000000000..cc1c1f2b3 --- /dev/null +++ b/assets/js/d72b9e96.fd2f3608.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6815],{4935:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/type-aliases/StringParameters","title":"Type Alias: StringParameters","description":"StringParameters: object","source":"@site/../docs/api/@ima/core/type-aliases/StringParameters.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/StringParameters","permalink":"/api/@ima/core/type-aliases/StringParameters","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/StringParameters.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: SerializedData\\\\<V\\\\>","permalink":"/api/@ima/core/type-aliases/SerializedData"},"next":{"title":"Type Alias: UnknownParameters","permalink":"/api/@ima/core/type-aliases/UnknownParameters"}}');var s=a(2540),n=a(3023);const i={},c="Type Alias: StringParameters",o={},l=[{value:"Index Signature",id:"index-signature",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"type-alias-stringparameters",children:"Type Alias: StringParameters"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"StringParameters"}),": ",(0,s.jsx)(t.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L14",children:"packages/core/src/types.ts:14"})]}),"\n",(0,s.jsx)(t.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,s.jsxs)(t.p,{children:["[",(0,s.jsx)(t.code,{children:"key"}),": ",(0,s.jsx)(t.code,{children:"string"}),"]: ",(0,s.jsx)(t.code,{children:"string"})]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>c});var r=a(3696);const s={},n=r.createContext(s);function i(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d74bb0e7.917e82f3.js b/assets/js/d74bb0e7.917e82f3.js new file mode 100644 index 000000000..3931fc394 --- /dev/null +++ b/assets/js/d74bb0e7.917e82f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7868],{1672:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>p});const a=JSON.parse('{"id":"api/@ima/react-page-renderer/interfaces/PageContextType","title":"Interface: PageContextType","description":"Defined in4","source":"@site/../docs/api/@ima/react-page-renderer/interfaces/PageContextType.md","sourceDirName":"api/@ima/react-page-renderer/interfaces","slug":"/api/@ima/react-page-renderer/interfaces/PageContextType","permalink":"/api/@ima/react-page-renderer/interfaces/PageContextType","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/interfaces/PageContextType.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/react-page-renderer","permalink":"/api/@ima/react-page-renderer/globals"},"next":{"title":"Interface: ViewAdapterProps","permalink":"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps"}}');var n=r(2540),s=r(3023);const i={},c="Interface: PageContextType",o={},p=[{value:"Properties",id:"properties",level:2},{value:"$Utils",id:"utils",level:3}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"interface-pagecontexttype",children:"Interface: PageContextType"})}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/PageContext.ts#L4",children:"packages/react-page-renderer/src/PageContext.ts:4"})]}),"\n",(0,n.jsx)(t.h2,{id:"properties",children:"Properties"}),"\n",(0,n.jsx)(t.h3,{id:"utils",children:"$Utils"}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"$Utils"}),": ",(0,n.jsx)(t.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,n.jsx)(t.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/PageContext.ts#L5",children:"packages/react-page-renderer/src/PageContext.ts:5"})]})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>c});var a=r(3696);const n={},s=a.createContext(n);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d7c38c55.f3821852.js b/assets/js/d7c38c55.f3821852.js new file mode 100644 index 000000000..824e2d1a3 --- /dev/null +++ b/assets/js/d7c38c55.f3821852.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8531],{4658:(e,a,i)=>{i.r(a),i.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>p,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/DictionaryData","title":"Type Alias: DictionaryData","description":"DictionaryData: object","source":"@site/../docs/api/@ima/core/type-aliases/DictionaryData.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/DictionaryData","permalink":"/api/@ima/core/type-aliases/DictionaryData","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/DictionaryData.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: DictionaryConfig","permalink":"/api/@ima/core/type-aliases/DictionaryConfig"},"next":{"title":"Type Alias: DispatcherListener()\\\\<D\\\\>","permalink":"/api/@ima/core/type-aliases/DispatcherListener"}}');var n=i(2540),r=i(3023);const c={},s="Type Alias: DictionaryData",o={},l=[{value:"Index Signature",id:"index-signature",level:2}];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"type-alias-dictionarydata",children:"Type Alias: DictionaryData"})}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:[(0,n.jsx)(a.strong,{children:"DictionaryData"}),": ",(0,n.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Defined in: ",(0,n.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L8",children:"packages/core/src/dictionary/Dictionary.ts:8"})]}),"\n",(0,n.jsx)(a.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,n.jsxs)(a.p,{children:["[",(0,n.jsx)(a.code,{children:"key"}),": ",(0,n.jsx)(a.code,{children:"string"}),"]: ",(0,n.jsx)(a.a,{href:"/api/@ima/core/type-aliases/DictionaryData",children:(0,n.jsx)(a.code,{children:"DictionaryData"})})," | ",(0,n.jsx)(a.a,{href:"/api/@ima/core/type-aliases/LocalizationFunction",children:(0,n.jsx)(a.code,{children:"LocalizationFunction"})})]})]})}function p(e={}){const{wrapper:a}={...(0,r.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,a,i)=>{i.d(a,{R:()=>c,x:()=>s});var t=i(3696);const n={},r=t.createContext(n);function c(e){const a=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),t.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d9946c37.35ff5876.js b/assets/js/d9946c37.35ff5876.js new file mode 100644 index 000000000..968893f5d --- /dev/null +++ b/assets/js/d9946c37.35ff5876.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[66],{6272:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>a,toc:()=>r});const a=JSON.parse('{"id":"api/@ima/plugin-cli/type-aliases/Command","title":"Type Alias: Command","description":"Command: \\"dev\\" \\\\| \\"link\\" \\\\| \\"build\\"","source":"@site/../docs/api/@ima/plugin-cli/type-aliases/Command.md","sourceDirName":"api/@ima/plugin-cli/type-aliases","slug":"/api/@ima/plugin-cli/type-aliases/Command","permalink":"/api/@ima/plugin-cli/type-aliases/Command","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/type-aliases/Command.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Source","permalink":"/api/@ima/plugin-cli/interfaces/Source"},"next":{"title":"Type Alias: Plugin()","permalink":"/api/@ima/plugin-cli/type-aliases/Plugin"}}');var t=i(2540),s=i(3023);const c={},o="Type Alias: Command",l={},r=[];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"type-alias-command",children:"Type Alias: Command"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Command"}),": ",(0,t.jsx)(n.code,{children:'"dev"'})," | ",(0,t.jsx)(n.code,{children:'"link"'})," | ",(0,t.jsx)(n.code,{children:'"build"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L16",children:"types.ts:16"})]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>c,x:()=>o});var a=i(3696);const t={},s=a.createContext(t);function c(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d9f67a67.255eec78.js b/assets/js/d9f67a67.255eec78.js deleted file mode 100644 index a110b181c..000000000 --- a/assets/js/d9f67a67.255eec78.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3187],{5680:(e,r,t)=>{t.d(r,{xA:()=>s,yg:()=>m});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=n.createContext({}),d=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},s=function(e){var r=d(e.components);return n.createElement(p.Provider,{value:r},e.children)},g="mdxType",y={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},c=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),g=d(t),c=a,m=g["".concat(p,".").concat(c)]||g[c]||y[c]||i;return t?n.createElement(m,l(l({ref:r},s),{},{components:t})):n.createElement(m,l({ref:r},s))}));function m(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=c;var o={};for(var p in r)hasOwnProperty.call(r,p)&&(o[p]=r[p]);o.originalType=e,o[g]="string"==typeof e?e:a,l[1]=o;for(var d=2;d<i;d++)l[d]=t[d];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}c.displayName="MDXCreateElement"},383:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var n=t(8102),a=(t(6540),t(5680));const i={id:"ima_core.Error",title:"Class: Error",sidebar_label:"@ima/core.Error",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.Error",id:"api/classes/ima_core.Error",title:"Class: Error",description:"@ima/core.Error",source:"@site/../docs/api/classes/ima_core.Error.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Error",permalink:"/api/classes/ima_core.Error",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Error",title:"Class: Error",sidebar_label:"@ima/core.Error",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Entry",permalink:"/api/classes/ima_core.Entry"},next:{title:"@ima/core.EventBus",permalink:"/api/classes/ima_core.EventBus"}},p={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"cause",id:"cause",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"message",id:"message",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"name",id:"name",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"stack",id:"stack",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"prepareStackTrace",id:"preparestacktrace",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"stackTraceLimit",id:"stacktracelimit",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"Methods",id:"methods",level:2},{value:"getHttpStatus",id:"gethttpstatus",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getParams",id:"getparams",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"captureStackTrace",id:"capturestacktrace",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-11",level:4}],s={toc:d},g="wrapper";function y(e){let{components:r,...t}=e;return(0,a.yg)(g,(0,n.A)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Error"),(0,a.yg)("p",null,"The IMA application error extends the native ",(0,a.yg)("inlineCode",{parentName:"p"},"Error")," with additional details\nthat lead to the error and the HTTP status code to send to the client."),(0,a.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"Error")),(0,a.yg)("p",{parentName:"li"},"\u21b3 ",(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"Error"))),(0,a.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,a.yg)("inlineCode",{parentName:"a"},"GenericError"))),(0,a.yg)("p",{parentName:"li"},"\u21b3\u21b3 ",(0,a.yg)("a",{parentName:"p",href:"/api/classes/ima_core.GenericError"},(0,a.yg)("inlineCode",{parentName:"a"},"GenericError"))))),(0,a.yg)("h2",{id:"constructors"},"Constructors"),(0,a.yg)("h3",{id:"constructor"},"constructor"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"new Error"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"message"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"params?"),")"),(0,a.yg)("h4",{id:"parameters"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"message")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"params?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Object"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"params.cause?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,a.yg)("inlineCode",{parentName:"td"},"Error"))))),(0,a.yg)("h4",{id:"overrides"},"Overrides"),(0,a.yg)("p",null,"Error.constructor"),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/Error.ts#L8"},"packages/core/src/error/Error.ts:8")),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"cause"},"cause"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"cause"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"unknown")),(0,a.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,a.yg)("p",null,"Error.cause"),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,"website/node_modules/typescript/lib/lib.es2022.error.d.ts:24"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"message"},"message"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"message"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,a.yg)("p",null,"Error.message"),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1068"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"name"},"name"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"name"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,a.yg)("p",null,"Error.name"),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1067"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"stack"},"stack"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"stack"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")),(0,a.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,a.yg)("p",null,"Error.stack"),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,"website/node_modules/typescript/lib/lib.es5.d.ts:1069"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"preparestacktrace"},"prepareStackTrace"),(0,a.yg)("p",null,"\u25aa ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"prepareStackTrace"),": (",(0,a.yg)("inlineCode",{parentName:"p"},"err"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"Error"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"stackTraces"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"CallSite"),"[]) => ",(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,a.yg)("p",null,"\u25b8 (",(0,a.yg)("inlineCode",{parentName:"p"},"err"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"stackTraces"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("p",null,"Optional override for formatting stack traces"),(0,a.yg)("h5",{id:"parameters-1"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"err")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Error"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"stackTraces")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"CallSite"),"[]")))),(0,a.yg)("h5",{id:"returns"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"any")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://v8.dev/docs/stack-trace-api#customizing-stack-traces"},"https://v8.dev/docs/stack-trace-api#customizing-stack-traces")),(0,a.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,a.yg)("p",null,"Error.prepareStackTrace"),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/node/globals.d.ts:98"),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"stacktracelimit"},"stackTraceLimit"),(0,a.yg)("p",null,"\u25aa ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("strong",{parentName:"p"},"stackTraceLimit"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"number")),(0,a.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,a.yg)("p",null,"Error.stackTraceLimit"),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/node/globals.d.ts:100"),(0,a.yg)("h2",{id:"methods"},"Methods"),(0,a.yg)("h3",{id:"gethttpstatus"},"getHttpStatus"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getHttpStatus"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"number")),(0,a.yg)("p",null,"Returns the HTTP status to send to the client."),(0,a.yg)("p",null,"If the error has occurred at the client-side, the status code is used to\ndetermine the error page to show to the user."),(0,a.yg)("p",null,"This method is a shorthand for the following code snippet:\n",(0,a.yg)("inlineCode",{parentName:"p"},"this.getParams().status || 500"),"."),(0,a.yg)("h4",{id:"returns-1"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"number")),(0,a.yg)("p",null,"The HTTP status to send to the client."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html")),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/Error.ts#L24"},"packages/core/src/error/Error.ts:24")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"getparams"},"getParams"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"getParams"),"(): ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,a.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,a.yg)("p",null,"Returns the error parameters providing additional details about the\nerror. The structure of the returned object is always\nsituation-dependent, but the returned object usually contains the\n",(0,a.yg)("inlineCode",{parentName:"p"},"status: number")," field which represents the HTTP status to send to\nthe client."),(0,a.yg)("h4",{id:"returns-2"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,a.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,a.yg)("p",null,"The route parameters of the route at which\nthe error has occurred."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"See"))),(0,a.yg)("p",null,"Error#getHttpStatus"),(0,a.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/Error.ts#L39"},"packages/core/src/error/Error.ts:39")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"isclienterror"},"isClientError"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"isClientError"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("p",null,"Tests, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding)."),(0,a.yg)("h4",{id:"returns-3"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,a.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/Error.ts#L50"},"packages/core/src/error/Error.ts:50")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"isredirection"},"isRedirection"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("strong",{parentName:"p"},"isRedirection"),"(): ",(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("p",null,"Tests, whether the specified error should lead to a redirect."),(0,a.yg)("h4",{id:"returns-4"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"boolean")),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"true")," if the error should cause a redirect."),(0,a.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/error/Error.ts#L59"},"packages/core/src/error/Error.ts:59")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"capturestacktrace"},"captureStackTrace"),(0,a.yg)("p",null,"\u25b8 ",(0,a.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,a.yg)("strong",{parentName:"p"},"captureStackTrace"),"(",(0,a.yg)("inlineCode",{parentName:"p"},"targetObject"),", ",(0,a.yg)("inlineCode",{parentName:"p"},"constructorOpt?"),"): ",(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("p",null,"Create .stack property on a target object"),(0,a.yg)("h4",{id:"parameters-2"},"Parameters"),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,a.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"targetObject")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"object"))),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"constructorOpt?")),(0,a.yg)("td",{parentName:"tr",align:"left"},(0,a.yg)("inlineCode",{parentName:"td"},"Function"))))),(0,a.yg)("h4",{id:"returns-5"},"Returns"),(0,a.yg)("p",null,(0,a.yg)("inlineCode",{parentName:"p"},"void")),(0,a.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,a.yg)("p",null,"Error.captureStackTrace"),(0,a.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,a.yg)("p",null,"node_modules/@types/node/globals.d.ts:91"))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/da389e98.fdb07932.js b/assets/js/da389e98.fdb07932.js new file mode 100644 index 000000000..92f6cb84d --- /dev/null +++ b/assets/js/da389e98.fdb07932.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8950],{9170:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/core/interfaces/ImaRequestInit","title":"Interface: ImaRequestInit","description":"Defined in26","source":"@site/../docs/api/@ima/core/interfaces/ImaRequestInit.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/ImaRequestInit","permalink":"/api/@ima/core/interfaces/ImaRequestInit","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/ImaRequestInit.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: HttpAgentRequestOptions","permalink":"/api/@ima/core/interfaces/HttpAgentRequestOptions"},"next":{"title":"Interface: InitAppConfig","permalink":"/api/@ima/core/interfaces/InitAppConfig"}}');var d=n(2540),s=n(3023);const t={},l="Interface: ImaRequestInit",c={},o=[{value:"Extends",id:"extends",level:2},{value:"Properties",id:"properties",level:2},{value:"cache?",id:"cache",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"credentials?",id:"credentials",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"headers?",id:"headers",level:3},{value:"Overrides",id:"overrides",level:4},{value:"integrity?",id:"integrity",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"keepalive?",id:"keepalive",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"method?",id:"method",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"mode?",id:"mode",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"priority?",id:"priority",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"redirect?",id:"redirect",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"referrer?",id:"referrer",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"referrerPolicy?",id:"referrerpolicy",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"signal?",id:"signal",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"window?",id:"window",level:3},{value:"Inherited from",id:"inherited-from-11",level:4}];function h(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.header,{children:(0,d.jsx)(i.h1,{id:"interface-imarequestinit",children:"Interface: ImaRequestInit"})}),"\n",(0,d.jsxs)(i.p,{children:["Defined in: ",(0,d.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L26",children:"packages/core/src/http/HttpAgent.ts:26"})]}),"\n",(0,d.jsx)(i.p,{children:"Options for a request sent using the HTTP agent."}),"\n",(0,d.jsx)(i.h2,{id:"extends",children:"Extends"}),"\n",(0,d.jsxs)(i.ul,{children:["\n",(0,d.jsxs)(i.li,{children:[(0,d.jsx)(i.code,{children:"Omit"}),"<",(0,d.jsx)(i.code,{children:"RequestInit"}),", ",(0,d.jsx)(i.code,{children:'"body"'}),">"]}),"\n"]}),"\n",(0,d.jsx)(i.h2,{id:"properties",children:"Properties"}),"\n",(0,d.jsx)(i.h3,{id:"cache",children:"cache?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"cache"}),": ",(0,d.jsx)(i.code,{children:"RequestCache"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1863"}),"\n",(0,d.jsx)(i.p,{children:"Flag that enables caching the HTTP request\n(enabled by default, also applies to requests in progress)."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.cache"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"credentials",children:"credentials?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"credentials"}),": ",(0,d.jsx)(i.code,{children:"RequestCredentials"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1865"}),"\n",(0,d.jsx)(i.p,{children:"A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.credentials"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"headers",children:"headers?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"headers"}),": ",(0,d.jsx)(i.code,{children:"Record"}),"<",(0,d.jsx)(i.code,{children:"string"}),", ",(0,d.jsx)(i.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,d.jsxs)(i.p,{children:["Defined in: ",(0,d.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpAgent.ts#L27",children:"packages/core/src/http/HttpAgent.ts:27"})]}),"\n",(0,d.jsx)(i.p,{children:"Sets the additional request\nheaders (the keys are case-insensitive header names, the values\nare header values)."}),"\n",(0,d.jsx)(i.h4,{id:"overrides",children:"Overrides"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.headers"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"integrity",children:"integrity?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"integrity"}),": ",(0,d.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1869"}),"\n",(0,d.jsx)(i.p,{children:"A cryptographic hash of the resource to be fetched by request. Sets request's integrity."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.integrity"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"keepalive",children:"keepalive?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"keepalive"}),": ",(0,d.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1871"}),"\n",(0,d.jsx)(i.p,{children:"A boolean to set request's keepalive."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.keepalive"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"method",children:"method?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"method"}),": ",(0,d.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1873"}),"\n",(0,d.jsx)(i.p,{children:"A string to set request's method."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.method"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"mode",children:"mode?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"mode"}),": ",(0,d.jsx)(i.code,{children:"RequestMode"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1875"}),"\n",(0,d.jsx)(i.p,{children:"A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.mode"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"priority",children:"priority?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"priority"}),": ",(0,d.jsx)(i.code,{children:"RequestPriority"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1876"}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.priority"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"redirect",children:"redirect?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"redirect"}),": ",(0,d.jsx)(i.code,{children:"RequestRedirect"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1878"}),"\n",(0,d.jsx)(i.p,{children:"A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.redirect"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"referrer",children:"referrer?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"referrer"}),": ",(0,d.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1880"}),"\n",(0,d.jsxs)(i.p,{children:['A string whose value is a same-origin URL, "about',":client","\", or the empty string, to set request's referrer."]}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.referrer"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"referrerpolicy",children:"referrerPolicy?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"referrerPolicy"}),": ",(0,d.jsx)(i.code,{children:"ReferrerPolicy"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1882"}),"\n",(0,d.jsx)(i.p,{children:"A referrer policy to set request's referrerPolicy."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.referrerPolicy"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"signal",children:"signal?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"signal"}),": ",(0,d.jsx)(i.code,{children:"null"})," | ",(0,d.jsx)(i.code,{children:"AbortSignal"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1884"}),"\n",(0,d.jsx)(i.p,{children:"An AbortSignal to set request's signal."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-10",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.signal"})}),"\n",(0,d.jsx)(i.hr,{}),"\n",(0,d.jsx)(i.h3,{id:"window",children:"window?"}),"\n",(0,d.jsxs)(i.blockquote,{children:["\n",(0,d.jsxs)(i.p,{children:[(0,d.jsx)(i.code,{children:"optional"})," ",(0,d.jsx)(i.strong,{children:"window"}),": ",(0,d.jsx)(i.code,{children:"null"})]}),"\n"]}),"\n",(0,d.jsx)(i.p,{children:"Defined in: node_modules/typescript/lib/lib.dom.d.ts:1886"}),"\n",(0,d.jsx)(i.p,{children:"Can only be null. Used to disassociate request from any Window."}),"\n",(0,d.jsx)(i.h4,{id:"inherited-from-11",children:"Inherited from"}),"\n",(0,d.jsx)(i.p,{children:(0,d.jsx)(i.code,{children:"Omit.window"})})]})}function a(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,d.jsx)(i,{...e,children:(0,d.jsx)(h,{...e})}):h(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>t,x:()=>l});var r=n(3696);const d={},s=r.createContext(d);function t(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:t(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/da5c5c21.5762aa12.js b/assets/js/da5c5c21.5762aa12.js deleted file mode 100644 index 8d03edb8c..000000000 --- a/assets/js/da5c5c21.5762aa12.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4821],{5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>h});var a=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=c(n),y=o,h=u["".concat(l,".").concat(y)]||u[y]||d[y]||r;return n?a.createElement(h,s(s({ref:t},p),{},{components:n})):a.createElement(h,s({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,s=new Array(r);s[0]=y;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:o,s[1]=i;for(var c=2;c<r;c++)s[c]=n[c];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}y.displayName="MDXCreateElement"},6185:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(6540),o=n(8017);const r={tabItem:"tabItem_Ymn6"};function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,o.A)(r.tabItem,s),hidden:n},t)}},1253:(e,t,n)=>{n.d(t,{A:()=>N});var a=n(8102),o=n(6540),r=n(8017),s=n(3104),i=n(9519),l=n(7485),c=n(1682),p=n(9466);function u(e){return function(e){return o.Children.map(e,(e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:o}}=e;return{value:t,label:n,attributes:a,default:o}}))}function d(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??u(n);return function(e){const t=(0,c.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function y(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.W6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l.aZ)(r),(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(a.location.search);t.set(r,e),a.replace({...a.location,search:t.toString()})}),[r,a])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,r=d(e),[s,i]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!y({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[l,c]=h({queryString:n,groupId:a}),[u,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,r]=(0,p.Dv)(n);return[a,(0,o.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:a}),g=(()=>{const e=l??u;return y({value:e,tabValues:r})?e:null})();(0,o.useLayoutEffect)((()=>{g&&i(g)}),[g]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!y({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),c(e),m(e)}),[c,m,r]),tabValues:r}}var g=n(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function v(e){let{className:t,block:n,selectedValue:i,selectValue:l,tabValues:c}=e;const p=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.a_)(),d=e=>{const t=e.currentTarget,n=p.indexOf(t),a=c[n].value;a!==i&&(u(t),l(a))},y=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=p.indexOf(e.currentTarget)+1;t=p[n]??p[0];break}case"ArrowLeft":{const n=p.indexOf(e.currentTarget)-1;t=p[n]??p[p.length-1];break}}t?.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t)},c.map((e=>{let{value:t,label:n,attributes:s}=e;return o.createElement("li",(0,a.A)({role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,key:t,ref:e=>p.push(e),onKeyDown:y,onClick:d},s,{className:(0,r.A)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":i===t})}),n??t)})))}function b(e){let{lazy:t,children:n,selectedValue:a}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===a));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},r.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function w(e){const t=m(e);return o.createElement("div",{className:(0,r.A)("tabs-container",f.tabList)},o.createElement(v,(0,a.A)({},e,t)),o.createElement(b,(0,a.A)({},e,t)))}function N(e){const t=(0,g.A)();return o.createElement(w,(0,a.A)({key:String(t)},e))}},2044:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var a=n(8102),o=(n(6540),n(5680)),r=n(1253),s=n(6185);const i={title:"Fetching Data",description:"Tutorial > Fetching Data"},l=void 0,c={unversionedId:"tutorial/fetching-data",id:"tutorial/fetching-data",title:"Fetching Data",description:"Tutorial > Fetching Data",source:"@site/../docs/tutorial/fetching-data.mdx",sourceDirName:"tutorial",slug:"/tutorial/fetching-data",permalink:"/tutorial/fetching-data",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/fetching-data.mdx",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Fetching Data",description:"Tutorial > Fetching Data"},sidebar:"tutorial",previous:{title:"Adding Some State",permalink:"/tutorial/adding-some-state"},next:{title:"Writing Posts",permalink:"/tutorial/writing-posts"}},p={},u=[{value:"Mocking REST API",id:"mocking-rest-api",level:2},{value:"Entity Class",id:"entity-class",level:3},{value:"Factory Class",id:"factory-class",level:3},{value:"Resource Class",id:"resource-class",level:3},{value:"Service class",id:"service-class",level:3},{value:"Dependency injection",id:"dependency-injection",level:2},{value:"Object container & <code>bind.js</code>",id:"object-container--bindjs",level:3},{value:"Using PostServices in HomeController",id:"using-postservices-in-homecontroller",level:3},{value:"Server-side rendering",id:"server-side-rendering",level:2}],d={toc:u},y="wrapper";function h(e){let{components:t,...n}=e;return(0,o.yg)(y,(0,a.A)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,"In ",(0,o.yg)("a",{parentName:"p",href:"./adding-some-state"},"last part")," of this series we tidied up our HomeView component and split our render method\ninto much smaller and manageable components thanks to react. In this part we're going to\nmock the data fetching from server and learn more about IMA.js object container."),(0,o.yg)("h2",{id:"mocking-rest-api"},"Mocking REST API"),(0,o.yg)("p",null,"We won't go into building a REST API server with an actual database storing the\nguestbook posts - that is beyond this tutorial and IMA.js. To give you the idea\nof fetching data from the server, we'll create a simpler alternative."),(0,o.yg)("p",null,"We'll start by creating the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/assets/static/api")," directory and the\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/assets/static/api/posts.json")," file with the following content (",(0,o.yg)("strong",{parentName:"p"},"copied from\nour home controller and modified"),"):"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-json"},'[\n {\n "id": 4,\n "content": "Never mistake motion for action.",\n "author": "Ernest Hemingway"\n },\n {\n "id": 3,\n "content": "Quality means doing it right when no one is looking.",\n "author": "Henry Ford"\n },\n {\n "id": 2,\n "content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",\n "author": "Aristotle"\n },\n {\n "id": 1,\n "content": "Reality is merely an illusion, albeit a very persistent one.",\n "author": "Albert Einstein"\n }\n]\n')),(0,o.yg)("p",null,"Notice how we added the ",(0,o.yg)("inlineCode",{parentName:"p"},"id")," field - as mentioned previously, in a real world\napplication, you should rely on the primary keys provided to you by your\nbackend instead of generating them yourself."),(0,o.yg)("p",null,"Now that we have our data ready, we just need some way to actually fetch it\nfrom the server. To do that, we'll introduce 4 new classes into our project:\nan ",(0,o.yg)("strong",{parentName:"p"},"entity")," class, a ",(0,o.yg)("strong",{parentName:"p"},"factory")," class, a ",(0,o.yg)("strong",{parentName:"p"},"resource")," class, and a ",(0,o.yg)("strong",{parentName:"p"},"service")," class."),(0,o.yg)("h3",{id:"entity-class"},"Entity Class"),(0,o.yg)("p",null,"The ",(0,o.yg)("strong",{parentName:"p"},"entity class")," represents a typed data holder for our data (which is useful\nfor debugging) and allows us to add various computed properties without having\nto modify our API backend."),(0,o.yg)("p",null,"Let's create the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/model")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post")," directories and then a new\nfile ",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostEntity.js")," with the following content:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"export default class PostEntity {\n constructor(data) {\n this.id = data.id;\n\n this.content = data.content;\n\n this.author = data.author;\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import { PostData } from 'app/page/home/HomeController';\n\nexport class PostEntity {\n declare id: number | null;\n declare content: string;\n declare author: string;\n\n constructor(data: PostData) {\n this.id = data.id;\n this.content = data.content;\n this.author = data.content;\n }\n}\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript:")," Before we set the content of the data object to our fields,\nwe have to declare each field with its corresponding type.")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},"We also used ",(0,o.yg)("inlineCode",{parentName:"p"},"PostData")," type, that we already defined in the ",(0,o.yg)("inlineCode",{parentName:"p"},"HomeController"),".\nBut keep in mind that there is no ",(0,o.yg)("inlineCode",{parentName:"p"},"id")," attribute, so you have to add it to the type definition.")))),(0,o.yg)("p",null,"We've just created a new class, exported it, and that's it, no more is currently\nrequired. Our new entity class extracts the data obtained from a data object\n(for example obtained from a deserialized JSON) and sets it to its fields."),(0,o.yg)("h3",{id:"factory-class"},"Factory Class"),(0,o.yg)("p",null,"So, with our entity class ready, let's take a look at the ",(0,o.yg)("strong",{parentName:"p"},"factory")," class. ",(0,o.yg)("strong",{parentName:"p"},"The\nfactory class will be used to create new entities from data objects and arrays\nof data objects")," - but in our case, the latter will suffice for now."),(0,o.yg)("p",null,"Create a new ",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostFactory.js")," file with the following content:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostEntity from './PostEntity';\n\nexport default class PostFactory {\n static get $dependencies() {\n return [];\n }\n\n createList(entities) {\n return entities.map(entityData => new PostEntity(entityData));\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import { PostEntity } from './PostEntity';\nimport { Dependencies } from '@ima/core';\nimport { PostData } from 'app/page/home/HomeController';\n\nexport class PostFactory {\n static $dependencies: Dependencies = [];\n\n createList(entities: PostEntity[]): PostEntity[] {\n return entities.map((entityData: PostData) => new PostEntity(entityData));\n }\n}\n\n")))),(0,o.yg)("p",null,"Our new factory class has just one method named ",(0,o.yg)("inlineCode",{parentName:"p"},"createList()"),". The\nmethod takes an array of data objects and returns an array of post entities."),(0,o.yg)("h3",{id:"resource-class"},"Resource Class"),(0,o.yg)("p",null,"We have our entity and factory, now we need a resource class. ",(0,o.yg)("strong",{parentName:"p"},"The resource\nclass represents our single point of access to a single REST API resource"),"\n(or entity collection, if you will). The sole purpose of a resource class is to\nprovide a relatively low-level API for accessing the REST API resource. Create\na new ",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostResource.js")," file with the following contents:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostFactory from './PostFactory';\n\nexport default class PostResource {\n static get $dependencies() {\n return ['$Http', PostFactory];\n }\n\n constructor(http, factory) {\n this._http = http;\n\n this._factory = factory;\n }\n\n getEntityList() {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then(response => this._factory.createList(response.body));\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import MockHttpAgent from 'app/mock/MockHttpAgent';\nimport { Dependencies } from '@ima/core';\nimport { PostData } from 'app/page/home/HomeController';\nimport { PostEntity } from 'app/model/post/PostEntity';\nimport { PostFactory } from './PostFactory';\n\ntype PostApiGetResponse = {\n body: PostData[];\n};\n\nexport class PostResource {\n static $dependencies: Dependencies = ['$Http', PostFactory];\n\n declare _http: string;\n declare _factory: PostFactory;\n\n constructor(http: string, factory: PostFactory) {\n this._http = http;\n\n this._factory = factory;\n }\n\n getEntityList(): Promise<PostEntity[]> {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then((response: PostApiGetResponse) =>\n this._factory.createList(response.body)\n );\n }\n}\n")))),(0,o.yg)("p",null,"We defined the ",(0,o.yg)("inlineCode",{parentName:"p"},"getEntityList()")," method in our resource class which we'll use\nto fetch the posts from the server. In a real-world application we would use\nconfiguration to set the URL to the resource instead of specifying it like\nthis, but that is beyond the scope of this tutorial."),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"_http.get()")," method returns a new promise that resolves to the response\nobject of a GET HTTP request sent to the specified URL, with the provided query\nparameters (the second parameter currently set to an empty object). The method\nalso automatically parses the JSON in our response body."),(0,o.yg)("p",null,"We then post-process the parsed response data using the Promise's ",(0,o.yg)("inlineCode",{parentName:"p"},"then"),"\ncallback which uses our factory to create an array of post entities."),(0,o.yg)("p",null,"You may have noticed that we have the ",(0,o.yg)("inlineCode",{parentName:"p"},"http")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"factory")," parameters in our\nconstructor. This is how we provide the resource with the HTTP agent provided\nby IMA.js, and our post entity factory. We'll take a look at how to do this\nproperly in a moment."),(0,o.yg)("h3",{id:"service-class"},"Service class"),(0,o.yg)("p",null,"You now may be wondering what is the point of the service class.\nIt isn't that useful in our tutorial, but it would be essential in a bigger application.\nThe ",(0,o.yg)("strong",{parentName:"p"},"resource should handle only sending requests and\nprocessing responses")," without any high-level operations. The ",(0,o.yg)("strong",{parentName:"p"},"service class is\nthere to take care of the high-level stuff"),". For example, should we have a REST\nAPI that provides us with paged access to posts and we would want to fetch all\nposts since a specific one, this would be handled by the service. The service\nwould fetch the necessary pages from the REST API, construct the result and\nresolve to the constructed sequence of post entities."),(0,o.yg)("p",null,"In our case, however, the service will be very plain. Create a new\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/model/post/PostService.js")," file with the following content:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostResource from './PostResource';\n\nexport default class PostService {\n static get $dependencies() {\n return [PostResource];\n }\n\n constructor(resource) {\n this._resource = resource;\n }\n\n getPosts() {\n return this._resource.getEntityList();\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import { Dependencies } from '@ima/core';\nimport { PostEntity } from 'app/model/post/PostEntity';\nimport { PostResource } from './PostResource';\n\nexport class PostService {\n static $dependencies: Dependencies = [PostResource];\n\n declare _resource: PostResource;\n\n constructor(resource: PostResource) {\n this._resource = resource;\n }\n\n getPosts(): Promise<PostEntity[]> {\n return this._resource.getEntityList();\n }\n}\n")))),(0,o.yg)("p",null,"Now that we have our entity, factory, resource and service, you may be thinking\nthat this is a little too much code for something so simple. Well, that depends\non many things. If you can expect mostly uniform data from your REST API with\nlittle modifications required, you may want to use a reflection-powered\nsolution that requires you only to specify a single configuration item (API\nroot URL) and to create entity classes. The solution shown here is more robust\nand flexible, allowing you to make slight adjustments to suit every resource\nyou are working with as required."),(0,o.yg)("h2",{id:"dependency-injection"},"Dependency injection"),(0,o.yg)("p",null,"So how do we actually start using our post service? First we need to wire\neverything up, well we actually already did that. You may have noticed that in most of the\nclasses we used some weird static getter called ",(0,o.yg)("inlineCode",{parentName:"p"},"$dependencies"),", that's how IMA.js built\nin dependency injection works."),(0,o.yg)("p",null,"IMA.js uses internally the Object Container class to handle all dependencies (you can\n",(0,o.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"read more about it in the documentation"),"), but the basic usage is fairly easy.\nEvery class that wants to use DI has to define static getter which returns an array of instances\nwe want to inject to the constructor in the same order as defined in the array itself. Real\nworld example would then look something like this:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import HttpClient from 'http';\nimport PostFactory from './PostFactory';\n\nexport default class PostResource {\n static get $dependencies() {\n return [HttpClient, PostFactory];\n }\n\n constructor(http, factory) {\n // http and factory contains instances of their respective classes\n this._http = http;\n this._factory = factory;\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import HttpClient from 'http';\nimport { PostFactory } from './PostFactory';\n\nexport class PostResource {\n static $dependencies: Dependencies = [HttpClient, PostFactory];\n\n declare _http: HttpClient;\n declare _factory: PostFactory;\n\n constructor(http: HttpClient, factory: PostFactory) {\n // http and factory contains instances of their respective classes\n this._http = http;\n this._factory = factory;\n }\n}\n")))),(0,o.yg)("p",null,"The only condition to have DI working as expected is, that if you want to use any class as a dependency,\n",(0,o.yg)("strong",{parentName:"p"},"it has to define static getter")," ",(0,o.yg)("inlineCode",{parentName:"p"},"$dependencies"),". Even if it does not have any dependencies and returns\nempty array. Otherwise OC will not recognize this as valid class to inject and it won't work."),(0,o.yg)("h3",{id:"object-container--bindjs"},"Object container & ",(0,o.yg)("inlineCode",{parentName:"h3"},"bind.js")),(0,o.yg)("p",null,"Object container offers more functionality than just defining DI in the ",(0,o.yg)("inlineCode",{parentName:"p"},"$dependencies")," method.\nThe ",(0,o.yg)("inlineCode",{parentName:"p"},"app/config/bind.js")," offers full access to our Object container in the ",(0,o.yg)("inlineCode",{parentName:"p"},"init")," method.\nThis allows you to do some pretty amazing stuff. You can create aliases for classes, constants,\ninject dependencies and more."),(0,o.yg)("p",null,"The object container serves mostly the following purposes -\nconfiguring class constructor dependencies, setting default implementing\nclasses of interfaces, creating aliases for classes, global registry of\nvalues and an instance factory and registry."),(0,o.yg)("p",null,"Just like an ordinary ",(0,o.yg)("strong",{parentName:"p"},"dependency injector"),", the Object Container is used to\nspecify the dependencies of our classes, create and retrieve shared instances\nand create new instances on demand."),(0,o.yg)("p",null,"The object container allows us to:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Specify the dependencies")," of a class using the ",(0,o.yg)("inlineCode",{parentName:"li"},"inject()")," method or by\noverriding the ",(0,o.yg)("inlineCode",{parentName:"li"},"$dependencies()")," static getter on the class itself (the\ndependencies will be passed in the constructor)."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Create string aliases")," for our classes using the ",(0,o.yg)("inlineCode",{parentName:"li"},"bind()")," method (like the\n",(0,o.yg)("inlineCode",{parentName:"li"},"$Http")," alias we used to retrieve the HTTP agent provided by IMA.js)."),(0,o.yg)("li",{parentName:"ul"},"Create named ",(0,o.yg)("strong",{parentName:"li"},"object container-global constants")," using the ",(0,o.yg)("inlineCode",{parentName:"li"},"constant()")," method."),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("strong",{parentName:"li"},"Specify the default implementation")," of an ",(0,o.yg)("strong",{parentName:"li"},"interface")," using the ",(0,o.yg)("inlineCode",{parentName:"li"},"provide()"),"\nmethod (this allows us to specify the interface as a dependency and switch\nthe implementation everywhere in our application by changing a single\nconfiguration item).")),(0,o.yg)("p",null,(0,o.yg)("strong",{parentName:"p"},"We can only access the object container in this configuration file"),". After that\nit works behind the scenes, providing dependencies and managing our shared\ninstances as needed. You can find out more about its ",(0,o.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Bootstrap"},"API")," by studying the\n",(0,o.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"documentation")," or the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/master/packages/core/src/ObjectContainer.js"},"source code"),"."),(0,o.yg)("h3",{id:"using-postservices-in-homecontroller"},"Using PostServices in HomeController"),(0,o.yg)("p",null,"Let's take another look at the ",(0,o.yg)("inlineCode",{parentName:"p"},"$Http")," alias among the dependencies of our post\nresource - as already mentioned, this is an instance of the HTTP agent (client)\nprovided by the IMA.js. All utilities and services provided by IMA.js are bound\nto the object container via aliases and have their aliases prefixed with ",(0,o.yg)("inlineCode",{parentName:"p"},"$")," to\nprevent accidental name collisions, but most can be used without having to use\naliases as dependency identifiers by specifying the classes and interfaces\nthemselves as dependencies."),(0,o.yg)("p",null,"Next we modify the dependencies of the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js")," by adding the\n",(0,o.yg)("inlineCode",{parentName:"p"},"PostService")," dependency using the static getter syntax. The resulting code looks\nas follows:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractController } from '@ima/core';\nimport PostService from 'app/model/post/PostService';\n\nexport default class HomeController extends AbstractController {\n static get $dependencies() {\n return [PostService];\n }\n\n constructor(postService) {\n super();\n\n this._postService = postService;\n }\n\n ...\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import {\n AbstractController,\n Dependencies,\n Dictionary,\n LoadedResources,\n MetaManager,\n Router,\n Settings,\n} from '@ima/core';\nimport { PostService } from 'app/model/post/PostService';\n\nexport type PostData = {\n id: number | null;\n content: string;\n author: string;\n};\nexport type HomeControllerState = {\n posts: PostData[];\n};\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n static $dependencies: Dependencies = [PostService];\n\n constructor(postService: PostService) {\n super();\n\n this._postService = postService;\n }\n\n ...\n}\n")))),(0,o.yg)("p",null,"This will push an instance of our post service as the first argument to the\nconstructor of our home page controller. With the post service safely in our\n",(0,o.yg)("inlineCode",{parentName:"p"},"_postService")," field, we can use it to fetch the posts from the server in our ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"return {\n posts: this._postService.getPosts()\n};\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"load(): HomeControllerState {\n return {\n posts: this._postService.getPosts(),\n };\n}\n")))),(0,o.yg)("p",null,"Finally, we can make use of our new post entities in the home controller's view\n(",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.jsx"),"). Let's modify the ",(0,o.yg)("inlineCode",{parentName:"p"},"_renderPosts()")," method to look\nlike this:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},"return this.props.posts.map(post => {\n return <Post key={post.id} content={post.content} author={post.author} />;\n});\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"return posts.map((post: PostData) => (\n <Post key={post.id} content={post.content} author={post.author} />\n));\n")))),(0,o.yg)("p",null,"Notice how we use the ",(0,o.yg)("inlineCode",{parentName:"p"},"post.id")," as the react element key here. Now go ahead,\nrefresh the page and you'll see the posts still there,\nbut this time fetched from the server! Or are they?"),(0,o.yg)("h2",{id:"server-side-rendering"},"Server-side rendering"),(0,o.yg)("p",null,"If you open your browsers's developer tools, you may notice that the network log does\nnot show any request to ",(0,o.yg)("inlineCode",{parentName:"p"},"http://localhost:3001/static/static/public/posts.json"),"."),(0,o.yg)("p",null,'You may remember that IMA.js is an isomorphic JavaScript application stack.\nThis means that our application gets rendered at the server first, then it is\nsent to the client with a serialized state information, and then the\napplication is "reanimated" at the client-side using the state information.'),(0,o.yg)("p",null,"IMA.js caches the requests we make using the HTTP service at the server-side\nand sends the serialized cache to the client. The cache is then deserialized at\nthe client-side, so the request to\n",(0,o.yg)("inlineCode",{parentName:"p"},"http://localhost:3001/static/static/public/posts.json")," we do in our post resource will\nbe resolved from the cache, leading to no additional HTTP request being made."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/da5c5c21.942ad95c.js b/assets/js/da5c5c21.942ad95c.js new file mode 100644 index 000000000..2b4177d4d --- /dev/null +++ b/assets/js/da5c5c21.942ad95c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4821],{3685:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"tutorial/fetching-data","title":"Fetching Data","description":"Tutorial > Fetching Data","source":"@site/../docs/tutorial/fetching-data.mdx","sourceDirName":"tutorial","slug":"/tutorial/fetching-data","permalink":"/tutorial/fetching-data","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/fetching-data.mdx","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Fetching Data","description":"Tutorial > Fetching Data"},"sidebar":"tutorial","previous":{"title":"Adding Some State","permalink":"/tutorial/adding-some-state"},"next":{"title":"Writing Posts","permalink":"/tutorial/writing-posts"}}');var r=n(2540),o=n(3023),a=n(3776),i=n(6052);const c={title:"Fetching Data",description:"Tutorial > Fetching Data"},l=void 0,d={},h=[{value:"Mocking REST API",id:"mocking-rest-api",level:2},{value:"Entity Class",id:"entity-class",level:3},{value:"Factory Class",id:"factory-class",level:3},{value:"Resource Class",id:"resource-class",level:3},{value:"Service class",id:"service-class",level:3},{value:"Dependency injection",id:"dependency-injection",level:2},{value:"Object container & <code>bind.js</code>",id:"object-container--bindjs",level:3},{value:"Using PostServices in HomeController",id:"using-postservices-in-homecontroller",level:3},{value:"Server-side rendering",id:"server-side-rendering",level:2}];function u(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["In ",(0,r.jsx)(t.a,{href:"./adding-some-state",children:"last part"})," of this series we tidied up our HomeView component and split our render method\ninto much smaller and manageable components thanks to react. In this part we're going to\nmock the data fetching from server and learn more about IMA.js object container."]}),"\n",(0,r.jsx)(t.h2,{id:"mocking-rest-api",children:"Mocking REST API"}),"\n",(0,r.jsx)(t.p,{children:"We won't go into building a REST API server with an actual database storing the\nguestbook posts - that is beyond this tutorial and IMA.js. To give you the idea\nof fetching data from the server, we'll create a simpler alternative."}),"\n",(0,r.jsxs)(t.p,{children:["We'll start by creating the ",(0,r.jsx)(t.code,{children:"app/assets/static/api"})," directory and the\n",(0,r.jsx)(t.code,{children:"app/assets/static/api/posts.json"})," file with the following content (",(0,r.jsx)(t.strong,{children:"copied from\nour home controller and modified"}),"):"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:'[\n {\n "id": 4,\n "content": "Never mistake motion for action.",\n "author": "Ernest Hemingway"\n },\n {\n "id": 3,\n "content": "Quality means doing it right when no one is looking.",\n "author": "Henry Ford"\n },\n {\n "id": 2,\n "content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",\n "author": "Aristotle"\n },\n {\n "id": 1,\n "content": "Reality is merely an illusion, albeit a very persistent one.",\n "author": "Albert Einstein"\n }\n]\n'})}),"\n",(0,r.jsxs)(t.p,{children:["Notice how we added the ",(0,r.jsx)(t.code,{children:"id"})," field - as mentioned previously, in a real world\napplication, you should rely on the primary keys provided to you by your\nbackend instead of generating them yourself."]}),"\n",(0,r.jsxs)(t.p,{children:["Now that we have our data ready, we just need some way to actually fetch it\nfrom the server. To do that, we'll introduce 4 new classes into our project:\nan ",(0,r.jsx)(t.strong,{children:"entity"})," class, a ",(0,r.jsx)(t.strong,{children:"factory"})," class, a ",(0,r.jsx)(t.strong,{children:"resource"})," class, and a ",(0,r.jsx)(t.strong,{children:"service"})," class."]}),"\n",(0,r.jsx)(t.h3,{id:"entity-class",children:"Entity Class"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.strong,{children:"entity class"})," represents a typed data holder for our data (which is useful\nfor debugging) and allows us to add various computed properties without having\nto modify our API backend."]}),"\n",(0,r.jsxs)(t.p,{children:["Let's create the ",(0,r.jsx)(t.code,{children:"app/model"})," and ",(0,r.jsx)(t.code,{children:"app/model/post"})," directories and then a new\nfile ",(0,r.jsx)(t.code,{children:"app/model/post/PostEntity.js"})," with the following content:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"export default class PostEntity {\n constructor(data) {\n this.id = data.id;\n\n this.content = data.content;\n\n this.author = data.author;\n }\n}\n"})})}),(0,r.jsxs)(i.A,{value:"TypeScript",children:[(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"import { PostData } from 'app/page/home/HomeController';\n\nexport class PostEntity {\n declare id: number | null;\n declare content: string;\n declare author: string;\n\n constructor(data: PostData) {\n this.id = data.id;\n this.content = data.content;\n this.author = data.content;\n }\n}\n"})}),(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TypeScript:"})," Before we set the content of the data object to our fields,\nwe have to declare each field with its corresponding type."]}),"\n"]}),(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:["We also used ",(0,r.jsx)(t.code,{children:"PostData"})," type, that we already defined in the ",(0,r.jsx)(t.code,{children:"HomeController"}),".\nBut keep in mind that there is no ",(0,r.jsx)(t.code,{children:"id"})," attribute, so you have to add it to the type definition."]}),"\n"]})]})]}),"\n",(0,r.jsx)(t.p,{children:"We've just created a new class, exported it, and that's it, no more is currently\nrequired. Our new entity class extracts the data obtained from a data object\n(for example obtained from a deserialized JSON) and sets it to its fields."}),"\n",(0,r.jsx)(t.h3,{id:"factory-class",children:"Factory Class"}),"\n",(0,r.jsxs)(t.p,{children:["So, with our entity class ready, let's take a look at the ",(0,r.jsx)(t.strong,{children:"factory"})," class. ",(0,r.jsx)(t.strong,{children:"The\nfactory class will be used to create new entities from data objects and arrays\nof data objects"})," - but in our case, the latter will suffice for now."]}),"\n",(0,r.jsxs)(t.p,{children:["Create a new ",(0,r.jsx)(t.code,{children:"app/model/post/PostFactory.js"})," file with the following content:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"import PostEntity from './PostEntity';\n\nexport default class PostFactory {\n static get $dependencies() {\n return [];\n }\n\n createList(entities) {\n return entities.map(entityData => new PostEntity(entityData));\n }\n}\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"import { PostEntity } from './PostEntity';\nimport { Dependencies } from '@ima/core';\nimport { PostData } from 'app/page/home/HomeController';\n\nexport class PostFactory {\n static $dependencies: Dependencies = [];\n\n createList(entities: PostEntity[]): PostEntity[] {\n return entities.map((entityData: PostData) => new PostEntity(entityData));\n }\n}\n\n"})})})]}),"\n",(0,r.jsxs)(t.p,{children:["Our new factory class has just one method named ",(0,r.jsx)(t.code,{children:"createList()"}),". The\nmethod takes an array of data objects and returns an array of post entities."]}),"\n",(0,r.jsx)(t.h3,{id:"resource-class",children:"Resource Class"}),"\n",(0,r.jsxs)(t.p,{children:["We have our entity and factory, now we need a resource class. ",(0,r.jsx)(t.strong,{children:"The resource\nclass represents our single point of access to a single REST API resource"}),"\n(or entity collection, if you will). The sole purpose of a resource class is to\nprovide a relatively low-level API for accessing the REST API resource. Create\na new ",(0,r.jsx)(t.code,{children:"app/model/post/PostResource.js"})," file with the following contents:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"import PostFactory from './PostFactory';\n\nexport default class PostResource {\n static get $dependencies() {\n return ['$Http', PostFactory];\n }\n\n constructor(http, factory) {\n this._http = http;\n\n this._factory = factory;\n }\n\n getEntityList() {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then(response => this._factory.createList(response.body));\n }\n}\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"import MockHttpAgent from 'app/mock/MockHttpAgent';\nimport { Dependencies } from '@ima/core';\nimport { PostData } from 'app/page/home/HomeController';\nimport { PostEntity } from 'app/model/post/PostEntity';\nimport { PostFactory } from './PostFactory';\n\ntype PostApiGetResponse = {\n body: PostData[];\n};\n\nexport class PostResource {\n static $dependencies: Dependencies = ['$Http', PostFactory];\n\n declare _http: string;\n declare _factory: PostFactory;\n\n constructor(http: string, factory: PostFactory) {\n this._http = http;\n\n this._factory = factory;\n }\n\n getEntityList(): Promise<PostEntity[]> {\n return this._http\n .get('http://localhost:3001/static/static/public/posts.json', {})\n .then((response: PostApiGetResponse) =>\n this._factory.createList(response.body)\n );\n }\n}\n"})})})]}),"\n",(0,r.jsxs)(t.p,{children:["We defined the ",(0,r.jsx)(t.code,{children:"getEntityList()"})," method in our resource class which we'll use\nto fetch the posts from the server. In a real-world application we would use\nconfiguration to set the URL to the resource instead of specifying it like\nthis, but that is beyond the scope of this tutorial."]}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"_http.get()"})," method returns a new promise that resolves to the response\nobject of a GET HTTP request sent to the specified URL, with the provided query\nparameters (the second parameter currently set to an empty object). The method\nalso automatically parses the JSON in our response body."]}),"\n",(0,r.jsxs)(t.p,{children:["We then post-process the parsed response data using the Promise's ",(0,r.jsx)(t.code,{children:"then"}),"\ncallback which uses our factory to create an array of post entities."]}),"\n",(0,r.jsxs)(t.p,{children:["You may have noticed that we have the ",(0,r.jsx)(t.code,{children:"http"})," and ",(0,r.jsx)(t.code,{children:"factory"})," parameters in our\nconstructor. This is how we provide the resource with the HTTP agent provided\nby IMA.js, and our post entity factory. We'll take a look at how to do this\nproperly in a moment."]}),"\n",(0,r.jsx)(t.h3,{id:"service-class",children:"Service class"}),"\n",(0,r.jsxs)(t.p,{children:["You now may be wondering what is the point of the service class.\nIt isn't that useful in our tutorial, but it would be essential in a bigger application.\nThe ",(0,r.jsx)(t.strong,{children:"resource should handle only sending requests and\nprocessing responses"})," without any high-level operations. The ",(0,r.jsx)(t.strong,{children:"service class is\nthere to take care of the high-level stuff"}),". For example, should we have a REST\nAPI that provides us with paged access to posts and we would want to fetch all\nposts since a specific one, this would be handled by the service. The service\nwould fetch the necessary pages from the REST API, construct the result and\nresolve to the constructed sequence of post entities."]}),"\n",(0,r.jsxs)(t.p,{children:["In our case, however, the service will be very plain. Create a new\n",(0,r.jsx)(t.code,{children:"app/model/post/PostService.js"})," file with the following content:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"import PostResource from './PostResource';\n\nexport default class PostService {\n static get $dependencies() {\n return [PostResource];\n }\n\n constructor(resource) {\n this._resource = resource;\n }\n\n getPosts() {\n return this._resource.getEntityList();\n }\n}\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"import { Dependencies } from '@ima/core';\nimport { PostEntity } from 'app/model/post/PostEntity';\nimport { PostResource } from './PostResource';\n\nexport class PostService {\n static $dependencies: Dependencies = [PostResource];\n\n declare _resource: PostResource;\n\n constructor(resource: PostResource) {\n this._resource = resource;\n }\n\n getPosts(): Promise<PostEntity[]> {\n return this._resource.getEntityList();\n }\n}\n"})})})]}),"\n",(0,r.jsx)(t.p,{children:"Now that we have our entity, factory, resource and service, you may be thinking\nthat this is a little too much code for something so simple. Well, that depends\non many things. If you can expect mostly uniform data from your REST API with\nlittle modifications required, you may want to use a reflection-powered\nsolution that requires you only to specify a single configuration item (API\nroot URL) and to create entity classes. The solution shown here is more robust\nand flexible, allowing you to make slight adjustments to suit every resource\nyou are working with as required."}),"\n",(0,r.jsx)(t.h2,{id:"dependency-injection",children:"Dependency injection"}),"\n",(0,r.jsxs)(t.p,{children:["So how do we actually start using our post service? First we need to wire\neverything up, well we actually already did that. You may have noticed that in most of the\nclasses we used some weird static getter called ",(0,r.jsx)(t.code,{children:"$dependencies"}),", that's how IMA.js built\nin dependency injection works."]}),"\n",(0,r.jsxs)(t.p,{children:["IMA.js uses internally the Object Container class to handle all dependencies (you can\n",(0,r.jsx)(t.a,{href:"/basic-features/object-container",children:"read more about it in the documentation"}),"), but the basic usage is fairly easy.\nEvery class that wants to use DI has to define static getter which returns an array of instances\nwe want to inject to the constructor in the same order as defined in the array itself. Real\nworld example would then look something like this:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"import HttpClient from 'http';\nimport PostFactory from './PostFactory';\n\nexport default class PostResource {\n static get $dependencies() {\n return [HttpClient, PostFactory];\n }\n\n constructor(http, factory) {\n // http and factory contains instances of their respective classes\n this._http = http;\n this._factory = factory;\n }\n}\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"import HttpClient from 'http';\nimport { PostFactory } from './PostFactory';\n\nexport class PostResource {\n static $dependencies: Dependencies = [HttpClient, PostFactory];\n\n declare _http: HttpClient;\n declare _factory: PostFactory;\n\n constructor(http: HttpClient, factory: PostFactory) {\n // http and factory contains instances of their respective classes\n this._http = http;\n this._factory = factory;\n }\n}\n"})})})]}),"\n",(0,r.jsxs)(t.p,{children:["The only condition to have DI working as expected is, that if you want to use any class as a dependency,\n",(0,r.jsx)(t.strong,{children:"it has to define static getter"})," ",(0,r.jsx)(t.code,{children:"$dependencies"}),". Even if it does not have any dependencies and returns\nempty array. Otherwise OC will not recognize this as valid class to inject and it won't work."]}),"\n",(0,r.jsxs)(t.h3,{id:"object-container--bindjs",children:["Object container & ",(0,r.jsx)(t.code,{children:"bind.js"})]}),"\n",(0,r.jsxs)(t.p,{children:["Object container offers more functionality than just defining DI in the ",(0,r.jsx)(t.code,{children:"$dependencies"})," method.\nThe ",(0,r.jsx)(t.code,{children:"app/config/bind.js"})," offers full access to our Object container in the ",(0,r.jsx)(t.code,{children:"init"})," method.\nThis allows you to do some pretty amazing stuff. You can create aliases for classes, constants,\ninject dependencies and more."]}),"\n",(0,r.jsx)(t.p,{children:"The object container serves mostly the following purposes -\nconfiguring class constructor dependencies, setting default implementing\nclasses of interfaces, creating aliases for classes, global registry of\nvalues and an instance factory and registry."}),"\n",(0,r.jsxs)(t.p,{children:["Just like an ordinary ",(0,r.jsx)(t.strong,{children:"dependency injector"}),", the Object Container is used to\nspecify the dependencies of our classes, create and retrieve shared instances\nand create new instances on demand."]}),"\n",(0,r.jsx)(t.p,{children:"The object container allows us to:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Specify the dependencies"})," of a class using the ",(0,r.jsx)(t.code,{children:"inject()"})," method or by\noverriding the ",(0,r.jsx)(t.code,{children:"$dependencies()"})," static getter on the class itself (the\ndependencies will be passed in the constructor)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Create string aliases"})," for our classes using the ",(0,r.jsx)(t.code,{children:"bind()"})," method (like the\n",(0,r.jsx)(t.code,{children:"$Http"})," alias we used to retrieve the HTTP agent provided by IMA.js)."]}),"\n",(0,r.jsxs)(t.li,{children:["Create named ",(0,r.jsx)(t.strong,{children:"object container-global constants"})," using the ",(0,r.jsx)(t.code,{children:"constant()"})," method."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Specify the default implementation"})," of an ",(0,r.jsx)(t.strong,{children:"interface"})," using the ",(0,r.jsx)(t.code,{children:"provide()"}),"\nmethod (this allows us to specify the interface as a dependency and switch\nthe implementation everywhere in our application by changing a single\nconfiguration item)."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"We can only access the object container in this configuration file"}),". After that\nit works behind the scenes, providing dependencies and managing our shared\ninstances as needed. You can find out more about its ",(0,r.jsx)(t.a,{href:"../api/classes/ima_core.Bootstrap.md",children:"API"})," by studying the\n",(0,r.jsx)(t.a,{href:"/basic-features/object-container",children:"documentation"})," or the ",(0,r.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/master/packages/core/src/ObjectContainer.js",children:"source code"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"using-postservices-in-homecontroller",children:"Using PostServices in HomeController"}),"\n",(0,r.jsxs)(t.p,{children:["Let's take another look at the ",(0,r.jsx)(t.code,{children:"$Http"})," alias among the dependencies of our post\nresource - as already mentioned, this is an instance of the HTTP agent (client)\nprovided by the IMA.js. All utilities and services provided by IMA.js are bound\nto the object container via aliases and have their aliases prefixed with ",(0,r.jsx)(t.code,{children:"$"})," to\nprevent accidental name collisions, but most can be used without having to use\naliases as dependency identifiers by specifying the classes and interfaces\nthemselves as dependencies."]}),"\n",(0,r.jsxs)(t.p,{children:["Next we modify the dependencies of the ",(0,r.jsx)(t.code,{children:"app/page/home/HomeController.js"})," by adding the\n",(0,r.jsx)(t.code,{children:"PostService"})," dependency using the static getter syntax. The resulting code looks\nas follows:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"import { AbstractController } from '@ima/core';\nimport PostService from 'app/model/post/PostService';\n\nexport default class HomeController extends AbstractController {\n static get $dependencies() {\n return [PostService];\n }\n\n constructor(postService) {\n super();\n\n this._postService = postService;\n }\n\n ...\n}\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"import {\n AbstractController,\n Dependencies,\n Dictionary,\n LoadedResources,\n MetaManager,\n Router,\n Settings,\n} from '@ima/core';\nimport { PostService } from 'app/model/post/PostService';\n\nexport type PostData = {\n id: number | null;\n content: string;\n author: string;\n};\nexport type HomeControllerState = {\n posts: PostData[];\n};\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n static $dependencies: Dependencies = [PostService];\n\n constructor(postService: PostService) {\n super();\n\n this._postService = postService;\n }\n\n ...\n}\n"})})})]}),"\n",(0,r.jsxs)(t.p,{children:["This will push an instance of our post service as the first argument to the\nconstructor of our home page controller. With the post service safely in our\n",(0,r.jsx)(t.code,{children:"_postService"})," field, we can use it to fetch the posts from the server in our ",(0,r.jsx)(t.code,{children:"load()"})," method:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",children:"return {\n posts: this._postService.getPosts()\n};\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"load(): HomeControllerState {\n return {\n posts: this._postService.getPosts(),\n };\n}\n"})})})]}),"\n",(0,r.jsxs)(t.p,{children:["Finally, we can make use of our new post entities in the home controller's view\n(",(0,r.jsx)(t.code,{children:"app/page/home/HomeView.jsx"}),"). Let's modify the ",(0,r.jsx)(t.code,{children:"_renderPosts()"})," method to look\nlike this:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",children:"return this.props.posts.map(post => {\n return <Post key={post.id} content={post.content} author={post.author} />;\n});\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-tsx",children:"return posts.map((post: PostData) => (\n <Post key={post.id} content={post.content} author={post.author} />\n));\n"})})})]}),"\n",(0,r.jsxs)(t.p,{children:["Notice how we use the ",(0,r.jsx)(t.code,{children:"post.id"})," as the react element key here. Now go ahead,\nrefresh the page and you'll see the posts still there,\nbut this time fetched from the server! Or are they?"]}),"\n",(0,r.jsx)(t.h2,{id:"server-side-rendering",children:"Server-side rendering"}),"\n",(0,r.jsxs)(t.p,{children:["If you open your browsers's developer tools, you may notice that the network log does\nnot show any request to ",(0,r.jsx)(t.code,{children:"http://localhost:3001/static/static/public/posts.json"}),"."]}),"\n",(0,r.jsx)(t.p,{children:'You may remember that IMA.js is an isomorphic JavaScript application stack.\nThis means that our application gets rendered at the server first, then it is\nsent to the client with a serialized state information, and then the\napplication is "reanimated" at the client-side using the state information.'}),"\n",(0,r.jsxs)(t.p,{children:["IMA.js caches the requests we make using the HTTP service at the server-side\nand sends the serialized cache to the client. The cache is then deserialized at\nthe client-side, so the request to\n",(0,r.jsx)(t.code,{children:"http://localhost:3001/static/static/public/posts.json"})," we do in our post resource will\nbe resolved from the cache, leading to no additional HTTP request being made."]})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},6052:(e,t,n)=>{n.d(t,{A:()=>a});n(3696);var s=n(2689);const r={tabItem:"tabItem_wHwb"};var o=n(2540);function a(e){let{children:t,hidden:n,className:a}=e;return(0,o.jsx)("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,a),hidden:n,children:t})}},3776:(e,t,n)=>{n.d(t,{A:()=>w});var s=n(3696),r=n(2689),o=n(3707),a=n(9519),i=n(3604),c=n(5196),l=n(6229),d=n(8030);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}}))}(n);return function(e){const t=(0,l.XI)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const r=(0,a.W6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c.aZ)(o),(0,s.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(r.location.search);t.set(o,e),r.replace({...r.location,search:t.toString()})}),[o,r])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,o=u(e),[a,c]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:o}))),[l,h]=m({queryString:n,groupId:r}),[f,y]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,o]=(0,d.Dv)(n);return[r,(0,s.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:r}),j=(()=>{const e=l??f;return p({value:e,tabValues:o})?e:null})();(0,i.A)((()=>{j&&c(j)}),[j]);return{selectedValue:a,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),y(e)}),[h,y,o]),tabValues:o}}var y=n(5200);const j={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var g=n(2540);function x(e){let{className:t,block:n,selectedValue:s,selectValue:a,tabValues:i}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,o.a_)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),r=i[n].value;r!==s&&(l(t),a(r))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t),children:i.map((e=>{let{value:t,label:n,attributes:o}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...o,className:(0,r.A)("tabs__item",j.tabItem,o?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:o}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===o));return e?(0,s.cloneElement)(e,{className:(0,r.A)("margin-top--md",e.props.className)}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o})))})}function b(e){const t=f(e);return(0,g.jsxs)("div",{className:(0,r.A)("tabs-container",j.tabList),children:[(0,g.jsx)(x,{...t,...e}),(0,g.jsx)(v,{...t,...e})]})}function w(e){const t=(0,y.A)();return(0,g.jsx)(b,{...e,children:h(e.children)},String(t))}},3023:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(3696);const r={},o=s.createContext(r);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/da71292b.cdea1f9a.js b/assets/js/da71292b.cdea1f9a.js new file mode 100644 index 000000000..ab2033730 --- /dev/null +++ b/assets/js/da71292b.cdea1f9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6925],{5964:(e,c,s)=>{s.r(c),s.d(c,{assets:()=>l,contentTitle:()=>i,default:()=>o,frontMatter:()=>t,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"api/@ima/core/classes/CacheFactory","title":"Class: CacheFactory\\\\<V\\\\>","description":"Defined in7","source":"@site/../docs/api/@ima/core/classes/CacheFactory.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/CacheFactory","permalink":"/api/@ima/core/classes/CacheFactory","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/CacheFactory.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: CacheEntry\\\\<V\\\\>","permalink":"/api/@ima/core/classes/CacheEntry"},"next":{"title":"Class: CacheImpl\\\\<V\\\\>","permalink":"/api/@ima/core/classes/CacheImpl"}}');var a=s(2540),n=s(3023);const t={},i="Class: CacheFactory<V>",l={},h=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new CacheFactory()",id:"new-cachefactory",level:3},{value:"Returns",id:"returns",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"createCacheEntry()",id:"createcacheentry",level:3},{value:"Parameters",id:"parameters",level:4},{value:"value",id:"value",level:5},{value:"ttl",id:"ttl",level:5},{value:"Returns",id:"returns-2",level:4}];function d(e){const c={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.header,{children:(0,a.jsx)(c.h1,{id:"class-cachefactoryv",children:"Class: CacheFactory<V>"})}),"\n",(0,a.jsxs)(c.p,{children:["Defined in: ",(0,a.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheFactory.ts#L7",children:"packages/core/src/cache/CacheFactory.ts:7"})]}),"\n",(0,a.jsxs)(c.p,{children:["Factory for creating instances of ",(0,a.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:"CacheEntry"}),"."]}),"\n",(0,a.jsx)(c.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,a.jsxs)(c.p,{children:["\u2022 ",(0,a.jsx)(c.strong,{children:"V"})]}),"\n",(0,a.jsx)(c.h2,{id:"constructors",children:"Constructors"}),"\n",(0,a.jsx)(c.h3,{id:"new-cachefactory",children:"new CacheFactory()"}),"\n",(0,a.jsxs)(c.blockquote,{children:["\n",(0,a.jsxs)(c.p,{children:[(0,a.jsx)(c.strong,{children:"new CacheFactory"}),"<",(0,a.jsx)(c.code,{children:"V"}),">(): ",(0,a.jsx)(c.a,{href:"/api/@ima/core/classes/CacheFactory",children:(0,a.jsx)(c.code,{children:"CacheFactory"})}),"<",(0,a.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,a.jsx)(c.h4,{id:"returns",children:"Returns"}),"\n",(0,a.jsxs)(c.p,{children:[(0,a.jsx)(c.a,{href:"/api/@ima/core/classes/CacheFactory",children:(0,a.jsx)(c.code,{children:"CacheFactory"})}),"<",(0,a.jsx)(c.code,{children:"V"}),">"]}),"\n",(0,a.jsx)(c.h2,{id:"accessors",children:"Accessors"}),"\n",(0,a.jsx)(c.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,a.jsx)(c.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,a.jsxs)(c.blockquote,{children:["\n",(0,a.jsxs)(c.p,{children:[(0,a.jsx)(c.strong,{children:"get"})," ",(0,a.jsx)(c.code,{children:"static"})," ",(0,a.jsx)(c.strong,{children:"$dependencies"}),"(): ",(0,a.jsx)(c.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,a.jsx)(c.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,a.jsxs)(c.p,{children:["Defined in: ",(0,a.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheFactory.ts#L8",children:"packages/core/src/cache/CacheFactory.ts:8"})]}),"\n",(0,a.jsx)(c.h5,{id:"returns-1",children:"Returns"}),"\n",(0,a.jsx)(c.p,{children:(0,a.jsx)(c.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,a.jsx)(c.code,{children:"Dependencies"})})}),"\n",(0,a.jsx)(c.h2,{id:"methods",children:"Methods"}),"\n",(0,a.jsx)(c.h3,{id:"createcacheentry",children:"createCacheEntry()"}),"\n",(0,a.jsxs)(c.blockquote,{children:["\n",(0,a.jsxs)(c.p,{children:[(0,a.jsx)(c.strong,{children:"createCacheEntry"}),"(",(0,a.jsx)(c.code,{children:"value"}),", ",(0,a.jsx)(c.code,{children:"ttl"}),"): ",(0,a.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:(0,a.jsx)(c.code,{children:"CacheEntry"})}),"<",(0,a.jsx)(c.code,{children:"V"}),">"]}),"\n"]}),"\n",(0,a.jsxs)(c.p,{children:["Defined in: ",(0,a.jsx)(c.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheFactory.ts#L21",children:"packages/core/src/cache/CacheFactory.ts:21"})]}),"\n",(0,a.jsxs)(c.p,{children:["Create a new instance of ",(0,a.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:"CacheEntry"})," with value and ttl."]}),"\n",(0,a.jsx)(c.h4,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(c.h5,{id:"value",children:"value"}),"\n",(0,a.jsx)(c.p,{children:(0,a.jsx)(c.code,{children:"V"})}),"\n",(0,a.jsx)(c.p,{children:"The cache entry value."}),"\n",(0,a.jsx)(c.h5,{id:"ttl",children:"ttl"}),"\n",(0,a.jsx)(c.p,{children:"Cache entry time to live in milliseconds. The\nentry will expire after the specified amount of milliseconds."}),"\n",(0,a.jsxs)(c.p,{children:[(0,a.jsx)(c.code,{children:"string"})," | ",(0,a.jsx)(c.code,{children:"number"})]}),"\n",(0,a.jsx)(c.h4,{id:"returns-2",children:"Returns"}),"\n",(0,a.jsxs)(c.p,{children:[(0,a.jsx)(c.a,{href:"/api/@ima/core/classes/CacheEntry",children:(0,a.jsx)(c.code,{children:"CacheEntry"})}),"<",(0,a.jsx)(c.code,{children:"V"}),">"]}),"\n",(0,a.jsx)(c.p,{children:"The created cache entry."})]})}function o(e={}){const{wrapper:c}={...(0,n.R)(),...e.components};return c?(0,a.jsx)(c,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,c,s)=>{s.d(c,{R:()=>t,x:()=>i});var r=s(3696);const a={},n=r.createContext(a);function t(e){const c=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(c):{...c,...e}}),[c,e])}function i(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),r.createElement(n.Provider,{value:c},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/da721fe9.cf862303.js b/assets/js/da721fe9.cf862303.js new file mode 100644 index 000000000..b8b4d40de --- /dev/null +++ b/assets/js/da721fe9.cf862303.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3206],{4437:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>f,frontMatter:()=>c,metadata:()=>i,toc:()=>p});const i=JSON.parse('{"id":"api/@ima/core/interfaces/DictionaryMap","title":"Interface: DictionaryMap","description":"Defined in14","source":"@site/../docs/api/@ima/core/interfaces/DictionaryMap.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/DictionaryMap","permalink":"/api/@ima/core/interfaces/DictionaryMap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/DictionaryMap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: BootServices","permalink":"/api/@ima/core/interfaces/BootServices"},"next":{"title":"Interface: DispatcherEventsMap","permalink":"/api/@ima/core/interfaces/DispatcherEventsMap"}}');var n=a(2540),r=a(3023);const c={},o="Interface: DictionaryMap",s={},p=[];function d(e){const t={a:"a",h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"interface-dictionarymap",children:"Interface: DictionaryMap"})}),"\n",(0,n.jsxs)(t.p,{children:["Defined in: ",(0,n.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L14",children:"packages/core/src/dictionary/Dictionary.ts:14"})]})]})}function f(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>c,x:()=>o});var i=a(3696);const n={},r=i.createContext(n);function c(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db366989.2a3d9fbc.js b/assets/js/db366989.2a3d9fbc.js new file mode 100644 index 000000000..55cb292d5 --- /dev/null +++ b/assets/js/db366989.2a3d9fbc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[828],{4989:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/interfaces/AppEnvironment","title":"Interface: AppEnvironment","description":"Defined in116","source":"@site/../docs/api/@ima/core/interfaces/AppEnvironment.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/AppEnvironment","permalink":"/api/@ima/core/interfaces/AppEnvironment","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/AppEnvironment.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/core","permalink":"/api/@ima/core/globals"},"next":{"title":"Interface: BootConfig","permalink":"/api/@ima/core/interfaces/BootConfig"}}');var i=r(2540),c=r(3023);const t={},o="Interface: AppEnvironment",a={},d=[{value:"Properties",id:"properties",level:2},{value:"dev?",id:"dev",level:3},{value:"prod",id:"prod",level:3},{value:"regression?",id:"regression",level:3},{value:"test?",id:"test",level:3}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"interface-appenvironment",children:"Interface: AppEnvironment"})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L116",children:"packages/core/src/boot.ts:116"})]}),"\n",(0,i.jsx)(n.p,{children:"App Environment structure, used in ./server/config/environment.js"}),"\n",(0,i.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"dev",children:"dev?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"dev"}),": ",(0,i.jsx)(n.code,{children:"PartialObjectDeep"}),"<",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,i.jsx)(n.code,{children:"Environment"})}),", {}>"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L118",children:"packages/core/src/boot.ts:118"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"prod",children:"prod"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"prod"}),": ",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,i.jsx)(n.code,{children:"Environment"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L117",children:"packages/core/src/boot.ts:117"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"regression",children:"regression?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"regression"}),": ",(0,i.jsx)(n.code,{children:"PartialObjectDeep"}),"<",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,i.jsx)(n.code,{children:"Environment"})}),", {}>"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L120",children:"packages/core/src/boot.ts:120"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"test",children:"test?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"test"}),": ",(0,i.jsx)(n.code,{children:"PartialObjectDeep"}),"<",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/Environment",children:(0,i.jsx)(n.code,{children:"Environment"})}),", {}>"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L119",children:"packages/core/src/boot.ts:119"})]})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>o});var s=r(3696);const i={},c=s.createContext(i);function t(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db691710.f4acc010.js b/assets/js/db691710.f4acc010.js new file mode 100644 index 000000000..8f553ab97 --- /dev/null +++ b/assets/js/db691710.f4acc010.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9417],{2112:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/WindowEventTargetsMap","title":"Type Alias: WindowEventTargetsMap\\\\<E\\\\>","description":"WindowEventTargetsMap\\\\ E extends globalThis.Window ? WindowEventMap E extends SVGSVGElement ? SVGSVGElementEventMap E extends HTMLMediaElement ? HTMLMediaElementEventMap HTMLElementEventMap & WindowCustomEventsMap","source":"@site/../docs/api/@ima/core/type-aliases/WindowEventTargetsMap.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/WindowEventTargetsMap","permalink":"/api/@ima/core/type-aliases/WindowEventTargetsMap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/WindowEventTargetsMap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: WindowEventTargets","permalink":"/api/@ima/core/type-aliases/WindowEventTargets"},"next":{"title":"Variable: ns","permalink":"/api/@ima/core/variables/ns"}}');var i=t(2540),a=t(3023);const d={},r="Type Alias: WindowEventTargetsMap<E>",c={},o=[{value:"Type Parameters",id:"type-parameters",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"type-alias-windoweventtargetsmape",children:"Type Alias: WindowEventTargetsMap<E>"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"WindowEventTargetsMap"}),"<",(0,i.jsx)(n.code,{children:"E"}),">: ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"Document"})," ? ",(0,i.jsx)(n.code,{children:"DocumentEventMap"})," : ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"globalThis.Window"})," ? ",(0,i.jsx)(n.code,{children:"WindowEventMap"})," : ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"HTMLBodyElement"})," ? ",(0,i.jsx)(n.code,{children:"HTMLBodyElementEventMap"})," : ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"SVGSVGElement"})," ? ",(0,i.jsx)(n.code,{children:"SVGSVGElementEventMap"})," : ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"SVGElement"})," ? ",(0,i.jsx)(n.code,{children:"SVGElementEventMap"})," : ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"HTMLMediaElement"})," ? ",(0,i.jsx)(n.code,{children:"HTMLMediaElementEventMap"})," : ",(0,i.jsx)(n.code,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"HTMLVideoElement"})," ? ",(0,i.jsx)(n.code,{children:"HTMLVideoElementEventMap"})," : ",(0,i.jsx)(n.code,{children:"HTMLElementEventMap"})," & ",(0,i.jsx)(n.a,{href:"/api/@ima/core/interfaces/WindowCustomEventsMap",children:(0,i.jsx)(n.code,{children:"WindowCustomEventsMap"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L13",children:"packages/core/src/window/Window.ts:13"})]}),"\n",(0,i.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/WindowEventTargets",children:(0,i.jsx)(n.code,{children:"WindowEventTargets"})})]})]})}function p(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>d,x:()=>r});var s=t(3696);const i={},a=s.createContext(i);function d(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/db94485c.a4ab1b6d.js b/assets/js/db94485c.a4ab1b6d.js deleted file mode 100644 index e598c2e66..000000000 --- a/assets/js/db94485c.a4ab1b6d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1670],{5680:(e,a,n)=>{n.d(a,{xA:()=>s,yg:()=>c});var r=n(6540);function t(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?i(Object(n),!0).forEach((function(a){t(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function g(e,a){if(null==e)return{};var n,r,t=function(e,a){if(null==e)return{};var n,r,t={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],a.indexOf(n)>=0||(t[n]=e[n]);return t}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}var d=r.createContext({}),p=function(e){var a=r.useContext(d),n=a;return e&&(n="function"==typeof e?e(a):l(l({},a),e)),n},s=function(e){var a=p(e.components);return r.createElement(d.Provider,{value:a},e.children)},o="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var n=e.components,t=e.mdxType,i=e.originalType,d=e.parentName,s=g(e,["components","mdxType","originalType","parentName"]),o=p(n),m=t,c=o["".concat(d,".").concat(m)]||o[m]||y[m]||i;return n?r.createElement(c,l(l({ref:a},s),{},{components:n})):r.createElement(c,l({ref:a},s))}));function c(e,a){var n=arguments,t=a&&a.mdxType;if("string"==typeof e||t){var i=n.length,l=new Array(i);l[0]=m;var g={};for(var d in a)hasOwnProperty.call(a,d)&&(g[d]=a[d]);g.originalType=e,g[o]="string"==typeof e?e:t,l[1]=g;for(var p=2;p<i;p++)l[p]=n[p];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},7495:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>d,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>p});var r=n(8102),t=(n(6540),n(5680));const i={id:"ima_core.PageHandlerRegistry",title:"Class: PageHandlerRegistry",sidebar_label:"@ima/core.PageHandlerRegistry",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.PageHandlerRegistry",id:"api/classes/ima_core.PageHandlerRegistry",title:"Class: PageHandlerRegistry",description:"@ima/core.PageHandlerRegistry",source:"@site/../docs/api/classes/ima_core.PageHandlerRegistry.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.PageHandlerRegistry",permalink:"/api/classes/ima_core.PageHandlerRegistry",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.PageHandlerRegistry",title:"Class: PageHandlerRegistry",sidebar_label:"@ima/core.PageHandlerRegistry",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.PageHandler",permalink:"/api/classes/ima_core.PageHandler"},next:{title:"@ima/core.PageManager",permalink:"/api/classes/ima_core.PageManager"}},d={},p=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_pageHandlers",id:"_pagehandlers",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_postManageHandlers",id:"_postmanagehandlers",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_preManageHandlers",id:"_premanagehandlers",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"ExecutionMethod",id:"executionmethod",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Methods",id:"methods",level:2},{value:"destroy",id:"destroy",level:3},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"handlePostManagedState",id:"handlepostmanagedstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"handlePreManagedState",id:"handlepremanagedstate",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-8",level:4}],s={toc:p},o="wrapper";function y(e){let{components:a,...n}=e;return(0,t.yg)(o,(0,r.A)({},s,n,{components:a,mdxType:"MDXLayout"}),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".PageHandlerRegistry"),(0,t.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,t.yg)("ul",null,(0,t.yg)("li",{parentName:"ul"},(0,t.yg)("p",{parentName:"li"},(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},(0,t.yg)("inlineCode",{parentName:"a"},"PageHandler"))),(0,t.yg)("p",{parentName:"li"},"\u21b3 ",(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"PageHandlerRegistry"))))),(0,t.yg)("h2",{id:"constructors"},"Constructors"),(0,t.yg)("h3",{id:"constructor"},"constructor"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("strong",{parentName:"p"},"new PageHandlerRegistry"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"...pageHandlers"),")"),(0,t.yg)("p",null,"Creates an instance of HandlerRegistry and creates ",(0,t.yg)("inlineCode",{parentName:"p"},"SerialBatch"),"\ninstance for pre-handlers and post-handlers."),(0,t.yg)("h4",{id:"parameters"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"...pageHandlers")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageHandler"},(0,t.yg)("inlineCode",{parentName:"a"},"PageHandler")),"[]")))),(0,t.yg)("p",null,(0,t.yg)("strong",{parentName:"p"},(0,t.yg)("inlineCode",{parentName:"strong"},"Memberof"))),(0,t.yg)("p",null,"HandlerRegistry"),(0,t.yg)("h4",{id:"overrides"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#constructor"},"constructor")),(0,t.yg)("h4",{id:"defined-in"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L19"},"packages/core/src/page/handler/PageHandlerRegistry.ts:19")),(0,t.yg)("h2",{id:"properties"},"Properties"),(0,t.yg)("h3",{id:"_pagehandlers"},"_","pageHandlers"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("strong",{parentName:"p"},"_","pageHandlers"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},(0,t.yg)("inlineCode",{parentName:"a"},"PageHandler")),"[]"),(0,t.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L8"},"packages/core/src/page/handler/PageHandlerRegistry.ts:8")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_postmanagehandlers"},"_","postManageHandlers"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"_","postManageHandlers"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},(0,t.yg)("inlineCode",{parentName:"a"},"Execution"))),(0,t.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L10"},"packages/core/src/page/handler/PageHandlerRegistry.ts:10")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"_premanagehandlers"},"_","preManageHandlers"),(0,t.yg)("p",null,"\u2022 ",(0,t.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,t.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,t.yg)("strong",{parentName:"p"},"_","preManageHandlers"),": ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Execution"},(0,t.yg)("inlineCode",{parentName:"a"},"Execution"))),(0,t.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L9"},"packages/core/src/page/handler/PageHandlerRegistry.ts:9")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"executionmethod"},"ExecutionMethod"),(0,t.yg)("p",null,"\u25aa ",(0,t.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,t.yg)("strong",{parentName:"p"},"ExecutionMethod"),": typeof ",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.SerialBatch"},(0,t.yg)("inlineCode",{parentName:"a"},"SerialBatch"))," = ",(0,t.yg)("inlineCode",{parentName:"p"},"SerialBatch")),(0,t.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L12"},"packages/core/src/page/handler/PageHandlerRegistry.ts:12")),(0,t.yg)("h2",{id:"methods"},"Methods"),(0,t.yg)("h3",{id:"destroy"},"destroy"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"destroy"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."),(0,t.yg)("h4",{id:"returns"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-1"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#destroy"},"destroy")),(0,t.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L87"},"packages/core/src/page/handler/PageHandlerRegistry.ts:87")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"handlepostmanagedstate"},"handlePostManagedState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"handlePostManagedState"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"previousManagedPage"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("p",null,"Executes the post-manage handlers with given arguments"),(0,t.yg)("h4",{id:"parameters-1"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"managedPage")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"previousManagedPage")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"action")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,t.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,t.yg)("h4",{id:"returns-1"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"overrides-2"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#handlepostmanagedstate"},"handlePostManagedState")),(0,t.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L72"},"packages/core/src/page/handler/PageHandlerRegistry.ts:72")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"handlepremanagedstate"},"handlePreManagedState"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"handlePreManagedState"),"(",(0,t.yg)("inlineCode",{parentName:"p"},"managedPage"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"nextManagedPage"),", ",(0,t.yg)("inlineCode",{parentName:"p"},"action"),"): ",(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("p",null,"Executes the pre-manage handlers with given arguments"),(0,t.yg)("h4",{id:"parameters-2"},"Parameters"),(0,t.yg)("table",null,(0,t.yg)("thead",{parentName:"table"},(0,t.yg)("tr",{parentName:"thead"},(0,t.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,t.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,t.yg)("tbody",{parentName:"table"},(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"managedPage")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"nextManagedPage")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/modules/ima_core#managedpage"},(0,t.yg)("inlineCode",{parentName:"a"},"ManagedPage")))),(0,t.yg)("tr",{parentName:"tbody"},(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("inlineCode",{parentName:"td"},"action")),(0,t.yg)("td",{parentName:"tr",align:"left"},(0,t.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.PageAction"},(0,t.yg)("inlineCode",{parentName:"a"},"PageAction")))))),(0,t.yg)("h4",{id:"returns-2"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,t.yg)("inlineCode",{parentName:"p"},"unknown"),">"),(0,t.yg)("h4",{id:"overrides-3"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#handlepremanagedstate"},"handlePreManagedState")),(0,t.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L53"},"packages/core/src/page/handler/PageHandlerRegistry.ts:53")),(0,t.yg)("hr",null),(0,t.yg)("h3",{id:"init"},"init"),(0,t.yg)("p",null,"\u25b8 ",(0,t.yg)("strong",{parentName:"p"},"init"),"(): ",(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("p",null,"Initializes the page handler."),(0,t.yg)("h4",{id:"returns-3"},"Returns"),(0,t.yg)("p",null,(0,t.yg)("inlineCode",{parentName:"p"},"void")),(0,t.yg)("h4",{id:"overrides-4"},"Overrides"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler"},"PageHandler"),".",(0,t.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageHandler#init"},"init")),(0,t.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,t.yg)("p",null,(0,t.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/page/handler/PageHandlerRegistry.ts#L28"},"packages/core/src/page/handler/PageHandlerRegistry.ts:28")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dc4d3b05.9f3a641b.js b/assets/js/dc4d3b05.9f3a641b.js new file mode 100644 index 000000000..89957954f --- /dev/null +++ b/assets/js/dc4d3b05.9f3a641b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7166],{6920:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>d,contentTitle:()=>a,default:()=>o,frontMatter:()=>l,metadata:()=>n,toc:()=>t});const n=JSON.parse('{"id":"api/@ima/core/classes/ObservableImpl","title":"Class: ObservableImpl","description":"Defined in22","source":"@site/../docs/api/@ima/core/classes/ObservableImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ObservableImpl","permalink":"/api/@ima/core/classes/ObservableImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ObservableImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Observable","permalink":"/api/@ima/core/classes/Observable"},"next":{"title":"Class: PageFactory","permalink":"/api/@ima/core/classes/PageFactory"}}');var i=r(2540),c=r(3023);const l={},a="Class: ObservableImpl",d={},t=[{value:"Remarks",id:"remarks",level:2},{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ObservableImpl()",id:"new-observableimpl",level:3},{value:"Parameters",id:"parameters",level:4},{value:"dispatcher",id:"dispatcher",level:5},{value:"settings?",id:"settings",level:5},{value:"maxHistoryLength",id:"maxhistorylength",level:6},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_activityHistory",id:"_activityhistory",level:3},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"_observers",id:"_observers",level:3},{value:"_persistentEvents",id:"_persistentevents",level:3},{value:"_settings",id:"_settings",level:3},{value:"$dependencies",id:"dependencies",level:3},{value:"Methods",id:"methods",level:2},{value:"_handleDispatcherEvent()",id:"_handledispatcherevent",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"event",id:"event",level:5},{value:"data",id:"data",level:5},{value:"Returns",id:"returns-1",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"registerPersistenEvent()",id:"registerpersistenevent",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"event",id:"event-1",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"subscribe()",id:"subscribe",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"event",id:"event-2",level:5},{value:"observer",id:"observer",level:5},{value:"scope?",id:"scope",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"unsubscribe()",id:"unsubscribe",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"event",id:"event-3",level:5},{value:"observer",id:"observer-1",level:5},{value:"scope?",id:"scope-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-observableimpl",children:"Class: ObservableImpl"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L22",children:"packages/core/src/event/ObservableImpl.ts:22"})]}),"\n",(0,i.jsx)(s.p,{children:"An Observable is a class that manages event listeners and allows distributing\nevents to the registered listeners. It maintains a history of events and supports\npersistent events that are not cleared during route changes."}),"\n",(0,i.jsx)(s.h2,{id:"remarks",children:"Remarks"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"The Observable class relies on a Dispatcher to handle the actual event distribution."}),"\n",(0,i.jsx)(s.li,{children:"It maintains a history of events, which can be limited by a maximum history length."}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-observableimpl",children:"new ObservableImpl()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new ObservableImpl"}),"(",(0,i.jsx)(s.code,{children:"dispatcher"}),", ",(0,i.jsx)(s.code,{children:"settings"}),"?): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L40",children:"packages/core/src/event/ObservableImpl.ts:40"})]}),"\n",(0,i.jsx)(s.p,{children:"Creates an instance of Observable."}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})})}),"\n",(0,i.jsx)(s.p,{children:"The dispatcher responsible for managing event listeners."}),"\n",(0,i.jsx)(s.h5,{id:"settings",children:"settings?"}),"\n",(0,i.jsx)(s.p,{children:"Optional settings for the Observable instance."}),"\n",(0,i.jsx)(s.h6,{id:"maxhistorylength",children:"maxHistoryLength"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"number"})}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#constructors",children:(0,i.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(s.h3,{id:"_activityhistory",children:"_activityHistory"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_activityHistory"}),": ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.code,{children:"string"}),", ",(0,i.jsx)(s.code,{children:"unknown"}),"[]>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L25",children:"packages/core/src/event/ObservableImpl.ts:25"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_dispatcher"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,i.jsx)(s.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L23",children:"packages/core/src/event/ObservableImpl.ts:23"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_observers",children:"_observers"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_observers"}),": ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.code,{children:"string"}),", ",(0,i.jsx)(s.code,{children:"Map"}),"<",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">, ",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"unknown"}),">>>"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L24",children:"packages/core/src/event/ObservableImpl.ts:24"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_persistentevents",children:"_persistentEvents"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_persistentEvents"}),": ",(0,i.jsx)(s.code,{children:"Set"}),"<",(0,i.jsx)(s.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L26",children:"packages/core/src/event/ObservableImpl.ts:26"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"_settings",children:"_settings"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"protected"})," ",(0,i.jsx)(s.strong,{children:"_settings"}),": ",(0,i.jsx)(s.code,{children:"undefined"})," | { ",(0,i.jsx)(s.code,{children:"maxHistoryLength"}),": ",(0,i.jsx)(s.code,{children:"number"}),"; }"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L27",children:"packages/core/src/event/ObservableImpl.ts:27"})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),": ",(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(s.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L29",children:"packages/core/src/event/ObservableImpl.ts:29"})]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"_handledispatcherevent",children:"_handleDispatcherEvent()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"_handleDispatcherEvent"}),"(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"data"}),"): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L148",children:"packages/core/src/event/ObservableImpl.ts:148"})]}),"\n",(0,i.jsxs)(s.p,{children:["Handles dispatcher events by updating the activity history and notifying observers.\nIt also resets the activity history for non-persistent events on ",(0,i.jsx)(s.code,{children:"BEFORE_HANDLE_ROUTE"})," ecvent."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event being dispatched."}),"\n",(0,i.jsx)(s.h5,{id:"data",children:"data"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"any"})}),"\n",(0,i.jsx)(s.p,{children:"The data associated with the event."}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L72",children:"packages/core/src/event/ObservableImpl.ts:72"})]}),"\n",(0,i.jsx)(s.p,{children:"Clears all persistent events, observers, and activity history from the observable."}),"\n",(0,i.jsx)(s.p,{children:"This method will remove all stored events, registered observers, and any recorded\nactivity history, effectively resetting the observable to its initial state."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#clear",children:(0,i.jsx)(s.code,{children:"clear"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"destroy",children:"destroy()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"destroy"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L62",children:"packages/core/src/event/ObservableImpl.ts:62"})]}),"\n",(0,i.jsx)(s.p,{children:"Destroys the observable by clearing its internal state and removing all event listeners."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#destroy",children:(0,i.jsx)(s.code,{children:"destroy"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L52",children:"packages/core/src/event/ObservableImpl.ts:52"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes the observable."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#init",children:(0,i.jsx)(s.code,{children:"init"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"registerpersistenevent",children:"registerPersistenEvent()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"registerPersistenEvent"}),"(",(0,i.jsx)(s.code,{children:"event"}),"): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L83",children:"packages/core/src/event/ObservableImpl.ts:83"})]}),"\n",(0,i.jsxs)(s.p,{children:["Registers an event as persistent, meaning its history won't be cleared upon calling the ",(0,i.jsx)(s.code,{children:"clear"})," method (route change)."]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-1",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#registerpersistenevent",children:(0,i.jsx)(s.code,{children:"registerPersistenEvent"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subscribe",children:"subscribe()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"subscribe"}),"(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"observer"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L92",children:"packages/core/src/event/ObservableImpl.ts:92"})]}),"\n",(0,i.jsx)(s.p,{children:"Subscribes an observer to a specific event. When the event is dispatched,\nthe observer will be notified and executed within the provided scope.\nIf the event has already occurred, the observer will be immediately\ninvoked with the historical data."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-2",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The event to subscribe to."}),"\n",(0,i.jsx)(s.h5,{id:"observer",children:"observer"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The observer function to be called when the event is\ndispatched."}),"\n",(0,i.jsx)(s.h5,{id:"scope",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsx)(s.p,{children:"The scope in which the observer function should be executed.\nThis is optional."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#subscribe",children:(0,i.jsx)(s.code,{children:"subscribe"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"unsubscribe",children:"unsubscribe()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"unsubscribe"}),"(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"observer"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/ObservableImpl.ts#L119",children:"packages/core/src/event/ObservableImpl.ts:119"})]}),"\n",(0,i.jsx)(s.p,{children:"Unsubscribes an observer from a specific event."}),"\n",(0,i.jsx)(s.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-3",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The event name or key from the DispatcherEventsMap."}),"\n",(0,i.jsx)(s.h5,{id:"observer-1",children:"observer"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The observer (listener) to be unsubscribed."}),"\n",(0,i.jsx)(s.h5,{id:"scope-1",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsx)(s.p,{children:"Optional scope to be used for the observer."}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n",(0,i.jsx)(s.p,{children:"The current instance for chaining."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable#unsubscribe",children:(0,i.jsx)(s.code,{children:"unsubscribe"})})]})]})}function o(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>l,x:()=>a});var n=r(3696);const i={},c=n.createContext(i);function l(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc583b00.3f3c8bb6.js b/assets/js/dc583b00.3f3c8bb6.js new file mode 100644 index 000000000..38ded7cb6 --- /dev/null +++ b/assets/js/dc583b00.3f3c8bb6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[528],{816:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>c,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"api/@ima/react-page-renderer/interfaces/ViewAdapterProps","title":"Interface: ViewAdapterProps","description":"Defined in8","source":"@site/../docs/api/@ima/react-page-renderer/interfaces/ViewAdapterProps.md","sourceDirName":"api/@ima/react-page-renderer/interfaces","slug":"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps","permalink":"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/interfaces/ViewAdapterProps.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: PageContextType","permalink":"/api/@ima/react-page-renderer/interfaces/PageContextType"},"next":{"title":"Interface: useComponentType","permalink":"/api/@ima/react-page-renderer/interfaces/useComponentType"}}');var t=n(2540),s=n(3023);const c={},i="Interface: ViewAdapterProps",d={},o=[{value:"Properties",id:"properties",level:2},{value:"$Utils",id:"utils",level:3},{value:"managedRootView",id:"managedrootview",level:3},{value:"pageView?",id:"pageview",level:3},{value:"refCallback()?",id:"refcallback",level:3},{value:"Returns",id:"returns",level:4},{value:"state",id:"state",level:3}];function p(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"interface-viewadapterprops",children:"Interface: ViewAdapterProps"})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L8",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:8"})]}),"\n",(0,t.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(r.h3,{id:"utils",children:"$Utils"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"$Utils"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/Utils",children:(0,t.jsx)(r.code,{children:"Utils"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L9",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:9"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"managedrootview",children:"managedRootView"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"managedRootView"}),": ",(0,t.jsx)(r.code,{children:"ComponentType"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L10",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:10"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"pageview",children:"pageView?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"pageView"}),": ",(0,t.jsx)(r.code,{children:"ComponentType"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L11",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:11"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"refcallback",children:"refCallback()?"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"optional"})," ",(0,t.jsx)(r.strong,{children:"refCallback"}),": () => ",(0,t.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L12",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:12"})]}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"void"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"state",children:"state"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"state"}),": ",(0,t.jsx)(r.code,{children:"State"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/component/ViewAdapter.ts#L13",children:"packages/react-page-renderer/src/component/ViewAdapter.ts:13"})]})]})}function l(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>c,x:()=>i});var a=n(3696);const t={},s=a.createContext(t);function c(e){const r=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dc7901fe.ff7fbb4c.js b/assets/js/dc7901fe.ff7fbb4c.js deleted file mode 100644 index 7ad4a30fd..000000000 --- a/assets/js/dc7901fe.ff7fbb4c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[854],{5680:(e,a,t)=>{t.d(a,{xA:()=>o,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function g(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=r.createContext({}),s=function(e){var a=r.useContext(p),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},o=function(e){var a=s(e.components);return r.createElement(p.Provider,{value:a},e.children)},d="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,o=g(e,["components","mdxType","originalType","parentName"]),d=s(t),m=n,c=d["".concat(p,".").concat(m)]||d[m]||y[m]||i;return t?r.createElement(c,l(l({ref:a},o),{},{components:t})):r.createElement(c,l({ref:a},o))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=m;var g={};for(var p in a)hasOwnProperty.call(a,p)&&(g[p]=a[p]);g.originalType=e,g[d]="string"==typeof e?e:n,l[1]=g;for(var s=2;s<i;s++)l[s]=t[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5438:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>y,frontMatter:()=>i,metadata:()=>g,toc:()=>s});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.WeakMapStorage",title:"Class: WeakMapStorage<V>",sidebar_label:"@ima/core.WeakMapStorage",custom_edit_url:null},l=void 0,g={unversionedId:"api/classes/ima_core.WeakMapStorage",id:"api/classes/ima_core.WeakMapStorage",title:"Class: WeakMapStorage<V>",description:"@ima/core.WeakMapStorage",source:"@site/../docs/api/classes/ima_core.WeakMapStorage.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.WeakMapStorage",permalink:"/api/classes/ima_core.WeakMapStorage",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.WeakMapStorage",title:"Class: WeakMapStorage<V>",sidebar_label:"@ima/core.WeakMapStorage",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.UrlTransformer",permalink:"/api/classes/ima_core.UrlTransformer"},next:{title:"@ima/core.Window",permalink:"/api/classes/ima_core.Window"}},p={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_entryTtl",id:"_entryttl",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_storage",id:"_storage",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Methods",id:"methods",level:2},{value:"_discardExpiredEntries",id:"_discardexpiredentries",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"init",id:"init",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"keys",id:"keys",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"size",id:"size",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-11",level:4}],o={toc:s},d="wrapper";function y(e){let{components:a,...t}=e;return(0,n.yg)(d,(0,r.A)({},o,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".WeakMapStorage"),(0,n.yg)("p",null,"A specialization of the ",(0,n.yg)("inlineCode",{parentName:"p"},"link MapStorage")," storage mimicking the native\n",(0,n.yg)("inlineCode",{parentName:"p"},"WeakMap")," using its internal garbage collector used once the size of\nthe storage reaches the configured threshold."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"object"))))),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},(0,n.yg)("inlineCode",{parentName:"a"},"Storage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"WeakMapStorage"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new WeakMapStorage"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,n.yg)("inlineCode",{parentName:"p"},"config"),")"),(0,n.yg)("p",null,"Initializes the storage."),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"object"))))),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Weak map storage configuration. The fields have the following meaning: - entryTtl The time-to-live of a storage entry in milliseconds.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.entryTtl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L26"},"packages/core/src/storage/WeakMapStorage.ts:26")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_entryttl"},"_","entryTtl"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","entryTtl"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The time-to-live of a storage entry in milliseconds."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L12"},"packages/core/src/storage/WeakMapStorage.ts:12")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_storage"},"_","storage"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"_","storage"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"WeakRef"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">",">"),(0,n.yg)("p",null,"The internal storage of entries."),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L17"},"packages/core/src/storage/WeakMapStorage.ts:17")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"_discardexpiredentries"},"_","discardExpiredEntries"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_discardExpiredEntries"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Deletes all expired entries from this storage."),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L101"},"packages/core/src/storage/WeakMapStorage.ts:101")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"clear"},"clear"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Clears the storage of all entries."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#clear"},"clear")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L74"},"packages/core/src/storage/WeakMapStorage.ts:74")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"delete"},"delete"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"delete"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Deletes the entry identified by the specified key from this storage."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#delete"},"delete")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L67"},"packages/core/src/storage/WeakMapStorage.ts:67")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"get"},"get"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"get"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"Retrieves the value of the entry identified by the specified . The\nmethod returns ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," if the entry does not exists."),(0,n.yg)("p",null,"Entries set to the ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," value can be tested for existence\nusing the ",(0,n.yg)("inlineCode",{parentName:"p"},"link has")," method."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"V")),(0,n.yg)("p",null,"The value of the storage entry."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#get"},"get")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L44"},"packages/core/src/storage/WeakMapStorage.ts:44")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"has"},"has"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"has"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns ",(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the entry identified by the specified key exists\nin this storage."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the storage entry exists."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#has"},"has")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L35"},"packages/core/src/storage/WeakMapStorage.ts:35")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This method is used to finalize the initialization of the storage after\nthe dependencies provided through the constructor have been prepared for\nuse."),(0,n.yg)("p",null,"This method must be invoked only once and it must be the first method\ninvoked on this instance."),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#init"},"init")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/Storage.ts#L17"},"packages/core/src/storage/Storage.ts:17")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"keys"},"keys"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"keys"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"Returns an iterator for traversing the keys in this storage. The order\nin which the keys are traversed is undefined."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Iterable"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,n.yg)("p",null,"An iterator for traversing the keys in this\nstorage. The iterator also implements the iterable protocol,\nreturning itself as its own iterator, allowing it to be used in\na ",(0,n.yg)("inlineCode",{parentName:"p"},"for..of")," loop."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#keys"},"keys")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L83"},"packages/core/src/storage/WeakMapStorage.ts:83")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"set"},"set"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"set"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Sets the storage entry identified by the specified key to the provided\nvalue. The method creates the entry if it does not exist already."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"key")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The key identifying the storage entry.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The storage entry value.")))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.WeakMapStorage"},(0,n.yg)("inlineCode",{parentName:"a"},"WeakMapStorage")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"This storage."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#set"},"set")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L57"},"packages/core/src/storage/WeakMapStorage.ts:57")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"size"},"size"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"size"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"Returns the number of entries in this storage."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("p",null,"The number of entries in this storage."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage"},"Storage"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Storage#size"},"size")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/storage/WeakMapStorage.ts#L92"},"packages/core/src/storage/WeakMapStorage.ts:92")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dc79edcf.4ca258f8.js b/assets/js/dc79edcf.4ca258f8.js new file mode 100644 index 000000000..800df752c --- /dev/null +++ b/assets/js/dc79edcf.4ca258f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1460],{9059:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/link","title":"Function: link()","description":"link(component, name, params): string","source":"@site/../docs/api/@ima/react-page-renderer/functions/link.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/link","permalink":"/api/@ima/react-page-renderer/functions/link","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/link.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: getUtils()","permalink":"/api/@ima/react-page-renderer/functions/getUtils"},"next":{"title":"Function: listen()","permalink":"/api/@ima/react-page-renderer/functions/listen"}}');var a=r(2540),s=r(3023);const i={},c="Function: link()",o={},d=[{value:"Parameters",id:"parameters",level:2},{value:"component",id:"component",level:3},{value:"name",id:"name",level:3},{value:"params",id:"params",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"function-link",children:"Function: link()"})}),"\n",(0,a.jsxs)(n.blockquote,{children:["\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"link"}),"(",(0,a.jsx)(n.code,{children:"component"}),", ",(0,a.jsx)(n.code,{children:"name"}),", ",(0,a.jsx)(n.code,{children:"params"}),"): ",(0,a.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["Defined in: ",(0,a.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L68",children:"packages/react-page-renderer/src/componentHelpers.ts:68"})]}),"\n",(0,a.jsxs)(n.p,{children:["Generates an absolute URL using the provided route name (see the\n",(0,a.jsx)("code",{children:"app/config/routes.js"})," file). The provided parameters will\nreplace the placeholders in the route pattern, while the extraneous\nparameters will be appended to the generated URL's query string."]}),"\n",(0,a.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(n.h3,{id:"component",children:"component"}),"\n",(0,a.jsx)(n.p,{children:"The component\nrequiring the generating of the URL."}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,a.jsx)(n.code,{children:"AbstractComponent"})})," | ",(0,a.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,a.jsx)(n.code,{children:"AbstractPureComponent"})})]}),"\n",(0,a.jsx)(n.h3,{id:"name",children:"name"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"string"})}),"\n",(0,a.jsx)(n.p,{children:"The route name."}),"\n",(0,a.jsx)(n.h3,{id:"params",children:"params"}),"\n",(0,a.jsx)(n.p,{children:"Router parameters and\nextraneous parameters to add to the URL as a query string."}),"\n",(0,a.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"string"})}),"\n",(0,a.jsx)(n.p,{children:"The generated URL."})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>c});var t=r(3696);const a={},s=t.createContext(a);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dd0dae3b.31ae8a38.js b/assets/js/dd0dae3b.31ae8a38.js new file mode 100644 index 000000000..314a91a5d --- /dev/null +++ b/assets/js/dd0dae3b.31ae8a38.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3878],{1679:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"api/@ima/core/classes/Window","title":"Class: abstract Window","description":"Defined in36","source":"@site/../docs/api/@ima/core/classes/Window.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Window","permalink":"/api/@ima/core/classes/Window","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Window.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: WeakMapStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/WeakMapStorage"},"next":{"title":"Enumeration: ActionTypes","permalink":"/api/@ima/core/enumerations/ActionTypes"}}');var i=s(2540),d=s(3023);const t={},c="Class: abstract Window",l={},h=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Window()",id:"new-window",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"bindEventListener()",id:"bindeventlistener",level:3},{value:"Call Signature",id:"call-signature",level:4},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Parameters",id:"parameters",level:5},{value:"eventTarget",id:"eventtarget",level:6},{value:"event",id:"event",level:6},{value:"listener",id:"listener",level:6},{value:"options?",id:"options",level:6},{value:"scope?",id:"scope",level:6},{value:"Returns",id:"returns-1",level:5},{value:"Call Signature",id:"call-signature-1",level:4},{value:"Type Parameters",id:"type-parameters-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"eventTarget",id:"eventtarget-1",level:6},{value:"event",id:"event-1",level:6},{value:"listener",id:"listener-1",level:6},{value:"options?",id:"options-1",level:6},{value:"scope?",id:"scope-1",level:6},{value:"Returns",id:"returns-2",level:5},{value:"createCustomEvent()",id:"createcustomevent",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"name",id:"name",level:5},{value:"options",id:"options-2",level:5},{value:"Returns",id:"returns-3",level:4},{value:"See",id:"see",level:4},{value:"getBody()",id:"getbody",level:3},{value:"Returns",id:"returns-4",level:4},{value:"getDocument()",id:"getdocument",level:3},{value:"Returns",id:"returns-5",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-6",level:4},{value:"getElementById()",id:"getelementbyid",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"id",id:"id",level:5},{value:"Returns",id:"returns-7",level:4},{value:"getHistoryState()",id:"gethistorystate",level:3},{value:"Returns",id:"returns-8",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-9",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-10",level:4},{value:"getScrollX()",id:"getscrollx",level:3},{value:"Returns",id:"returns-11",level:4},{value:"getScrollY()",id:"getscrolly",level:3},{value:"Returns",id:"returns-12",level:4},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-13",level:4},{value:"getWindow()",id:"getwindow",level:3},{value:"Returns",id:"returns-14",level:4},{value:"hasSessionStorage()",id:"hassessionstorage",level:3},{value:"Returns",id:"returns-15",level:4},{value:"isClient()",id:"isclient",level:3},{value:"Returns",id:"returns-16",level:4},{value:"isCookieEnabled()",id:"iscookieenabled",level:3},{value:"Returns",id:"returns-17",level:4},{value:"pushState()",id:"pushstate",level:3},{value:"Type Parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"state",id:"state",level:5},{value:"title",id:"title",level:5},{value:"url?",id:"url",level:5},{value:"Returns",id:"returns-18",level:4},{value:"querySelector()",id:"queryselector",level:3},{value:"Type Parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"selector",id:"selector",level:5},{value:"Returns",id:"returns-19",level:4},{value:"querySelectorAll()",id:"queryselectorall",level:3},{value:"Type Parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"selector",id:"selector-1",level:5},{value:"Returns",id:"returns-20",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"url",id:"url-1",level:5},{value:"Returns",id:"returns-21",level:4},{value:"replaceState()",id:"replacestate",level:3},{value:"Type Parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"state",id:"state-1",level:5},{value:"title",id:"title-1",level:5},{value:"url?",id:"url-2",level:5},{value:"Returns",id:"returns-22",level:4},{value:"scrollTo()",id:"scrollto",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"x",id:"x",level:5},{value:"y",id:"y",level:5},{value:"Returns",id:"returns-23",level:4},{value:"setTitle()",id:"settitle",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"title",id:"title-2",level:5},{value:"Returns",id:"returns-24",level:4},{value:"unbindEventListener()",id:"unbindeventlistener",level:3},{value:"Call Signature",id:"call-signature-2",level:4},{value:"Type Parameters",id:"type-parameters-7",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"eventTarget",id:"eventtarget-2",level:6},{value:"event",id:"event-2",level:6},{value:"listener",id:"listener-2",level:6},{value:"options?",id:"options-3",level:6},{value:"scope?",id:"scope-2",level:6},{value:"Returns",id:"returns-25",level:5},{value:"Call Signature",id:"call-signature-3",level:4},{value:"Type Parameters",id:"type-parameters-8",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"eventTarget",id:"eventtarget-3",level:6},{value:"event",id:"event-3",level:6},{value:"listener",id:"listener-3",level:6},{value:"options?",id:"options-4",level:6},{value:"scope?",id:"scope-3",level:6},{value:"Returns",id:"returns-26",level:5}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsxs)(n.h1,{id:"class-abstract-window",children:["Class: ",(0,i.jsx)(n.code,{children:"abstract"})," Window"]})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L36",children:"packages/core/src/window/Window.ts:36"})]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:"Window"})," interface defines various utility API for easier\ncross-environment usage of various low-level client-side JavaScript APIs\navailable through various global objects."]}),"\n",(0,i.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/ClientWindow",children:(0,i.jsx)(n.code,{children:"ClientWindow"})})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/ServerWindow",children:(0,i.jsx)(n.code,{children:"ServerWindow"})})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(n.h3,{id:"new-window",children:"new Window()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"new Window"}),"(): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(n.code,{children:"Window"})})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(n.code,{children:"Window"})})}),"\n",(0,i.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(n.h3,{id:"bindeventlistener",children:"bindEventListener()"}),"\n",(0,i.jsx)(n.h4,{id:"call-signature",children:"Call Signature"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"bindEventListener"}),"<",(0,i.jsx)(n.code,{children:"T"}),", ",(0,i.jsx)(n.code,{children:"K"}),", ",(0,i.jsx)(n.code,{children:"S"}),">(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"event"}),", ",(0,i.jsx)(n.code,{children:"listener"}),", ",(0,i.jsx)(n.code,{children:"options"}),"?, ",(0,i.jsx)(n.code,{children:"scope"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L310",children:"packages/core/src/window/Window.ts:310"})]}),"\n",(0,i.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."}),"\n",(0,i.jsxs)(n.p,{children:["Registering the same event listener for the same event on the same event\ntarget with the same ",(0,i.jsx)(n.code,{children:"useCapture"})," flag value repeatedly has no\neffect."]}),"\n",(0,i.jsx)(n.h5,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/WindowEventTargets",children:(0,i.jsx)(n.code,{children:"WindowEventTargets"})})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"K"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"string"})," | ",(0,i.jsx)(n.code,{children:"number"})," | ",(0,i.jsx)(n.code,{children:"symbol"})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"S"})," = ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h6,{id:"eventtarget",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"T"})}),"\n",(0,i.jsx)(n.p,{children:"The event target."}),"\n",(0,i.jsx)(n.h6,{id:"event",children:"event"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"K"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event."}),"\n",(0,i.jsx)(n.h6,{id:"listener",children:"listener"}),"\n",(0,i.jsxs)(n.p,{children:["(",(0,i.jsx)(n.code,{children:"event"}),") => ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.p,{children:"The event listener."}),"\n",(0,i.jsx)(n.h6,{id:"options",children:"options?"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"boolean"})," | ",(0,i.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,i.jsx)(n.h6,{id:"scope",children:"scope?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"S"})}),"\n",(0,i.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"call-signature-1",children:"Call Signature"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"bindEventListener"}),"<",(0,i.jsx)(n.code,{children:"T"}),", ",(0,i.jsx)(n.code,{children:"E"}),", ",(0,i.jsx)(n.code,{children:"S"}),">(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"event"}),", ",(0,i.jsx)(n.code,{children:"listener"}),", ",(0,i.jsx)(n.code,{children:"options"}),"?, ",(0,i.jsx)(n.code,{children:"scope"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L321",children:"packages/core/src/window/Window.ts:321"})]}),"\n",(0,i.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."}),"\n",(0,i.jsxs)(n.p,{children:["Registering the same event listener for the same event on the same event\ntarget with the same ",(0,i.jsx)(n.code,{children:"useCapture"})," flag value repeatedly has no\neffect."]}),"\n",(0,i.jsx)(n.h5,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"EventTarget"})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"Event"})," = ",(0,i.jsx)(n.code,{children:"Event"})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"S"})," = ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(n.h6,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"T"})}),"\n",(0,i.jsx)(n.p,{children:"The event target."}),"\n",(0,i.jsx)(n.h6,{id:"event-1",children:"event"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event."}),"\n",(0,i.jsx)(n.h6,{id:"listener-1",children:"listener"}),"\n",(0,i.jsxs)(n.p,{children:["(",(0,i.jsx)(n.code,{children:"event"}),") => ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.p,{children:"The event listener."}),"\n",(0,i.jsx)(n.h6,{id:"options-1",children:"options?"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"boolean"})," | ",(0,i.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,i.jsx)(n.h6,{id:"scope-1",children:"scope?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"S"})}),"\n",(0,i.jsx)(n.h5,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"createcustomevent",children:"createCustomEvent()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"createCustomEvent"}),"<",(0,i.jsx)(n.code,{children:"T"}),">(",(0,i.jsx)(n.code,{children:"name"}),", ",(0,i.jsx)(n.code,{children:"options"}),"): ",(0,i.jsx)(n.code,{children:"CustomEvent"}),"<",(0,i.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L265",children:"packages/core/src/window/Window.ts:265"})]}),"\n",(0,i.jsx)(n.p,{children:"Create new instance of CustomEvent of the specified name and using the\nprovided options."}),"\n",(0,i.jsx)(n.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"Custom event's name (sometimes referred to as the\nevent's type)."}),"\n",(0,i.jsx)(n.h5,{id:"options-2",children:"options"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"CustomEventInit"}),"<",(0,i.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"The custom event's options."}),"\n",(0,i.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"CustomEvent"}),"<",(0,i.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"The created custom event."}),"\n",(0,i.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent",children:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getbody",children:"getBody()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getBody"}),"(): ",(0,i.jsx)(n.code,{children:"undefined"})," | ",(0,i.jsx)(n.code,{children:"HTMLElement"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L168",children:"packages/core/src/window/Window.ts:168"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns the document's body element. The method returns\n",(0,i.jsx)(n.code,{children:"undefined"})," if invoked at the server-side."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"undefined"})," | ",(0,i.jsx)(n.code,{children:"HTMLElement"})]}),"\n",(0,i.jsxs)(n.p,{children:["The document's body element, or\n",(0,i.jsx)(n.code,{children:"undefined"})," if invoked at the server side."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getdocument",children:"getDocument()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getDocument"}),"(): ",(0,i.jsx)(n.code,{children:"undefined"})," | ",(0,i.jsx)(n.code,{children:"Document"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L94",children:"packages/core/src/window/Window.ts:94"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns the native ",(0,i.jsx)(n.code,{children:"document"})," object representing any web page loaded\nin the browser and serves as an entry point into the web page's content\nwhich is the DOM tree at the client-side. The method returns ",(0,i.jsx)(n.code,{children:"undefined"}),"\nif used at the server-side."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"undefined"})," | ",(0,i.jsx)(n.code,{children:"Document"})]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"document"})," object at the\nclient-side, or ",(0,i.jsx)(n.code,{children:"undefined"})," at the server-side."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getDomain"}),"(): ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L134",children:"packages/core/src/window/Window.ts:134"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns the domain of the current document's URL as\n",(0,i.jsx)(n.code,{children:"${protocol}://${host}"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The current domain."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getelementbyid",children:"getElementById()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getElementById"}),"(",(0,i.jsx)(n.code,{children:"id"}),"): ",(0,i.jsx)(n.code,{children:"null"})," | ",(0,i.jsx)(n.code,{children:"HTMLElement"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L179",children:"packages/core/src/window/Window.ts:179"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns the HTML element with the specified ",(0,i.jsx)(n.code,{children:"id"})," attribute value."]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"id",children:"id"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsxs)(n.p,{children:["The value of the ",(0,i.jsx)(n.code,{children:"id"})," attribute to look for."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"null"})," | ",(0,i.jsx)(n.code,{children:"HTMLElement"})]}),"\n",(0,i.jsxs)(n.p,{children:["The element with the specified id, or\n",(0,i.jsx)(n.code,{children:"null"})," if no such element exists."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"gethistorystate",children:"getHistoryState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getHistoryState"}),"(): ",(0,i.jsx)(n.code,{children:"any"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L188",children:"packages/core/src/window/Window.ts:188"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the history state."}),"\n",(0,i.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"any"})}),"\n",(0,i.jsx)(n.p,{children:"The current history state"}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"gethost",children:"getHost()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getHost"}),"(): ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L141",children:"packages/core/src/window/Window.ts:141"})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The current host."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getpath",children:"getPath()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getPath"}),"(): ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L150",children:"packages/core/src/window/Window.ts:150"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the path part of the current URL, including the query string."}),"\n",(0,i.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The path and query string parts of the current URL."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getscrollx",children:"getScrollX()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getScrollX"}),"(): ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L104",children:"packages/core/src/window/Window.ts:104"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the number of pixels the viewport is scrolled horizontally."}),"\n",(0,i.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"number"})}),"\n",(0,i.jsx)(n.p,{children:"The number of pixels the viewport is scrolled\nhorizontally."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getscrolly",children:"getScrollY()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getScrollY"}),"(): ",(0,i.jsx)(n.code,{children:"number"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L114",children:"packages/core/src/window/Window.ts:114"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the number of pixels the document is scrolled vertically."}),"\n",(0,i.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"number"})}),"\n",(0,i.jsx)(n.p,{children:"The number of pixels the document is scrolled\nvertically."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getUrl"}),"(): ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L157",children:"packages/core/src/window/Window.ts:157"})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The current document's URL."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getwindow",children:"getWindow()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getWindow"}),"(): ",(0,i.jsx)(n.code,{children:"undefined"})," | ",(0,i.jsx)(n.code,{children:"Window"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L81",children:"packages/core/src/window/Window.ts:81"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns the native ",(0,i.jsx)(n.code,{children:"window"})," object representing the global context\nat the client-side. The method returns ",(0,i.jsx)(n.code,{children:"undefined"})," if used at the\nserver-side."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"undefined"})," | ",(0,i.jsx)(n.code,{children:"Window"})]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"window"})," object at the\nclient-side, or ",(0,i.jsx)(n.code,{children:"undefined"})," at the server-side."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"hassessionstorage",children:"hasSessionStorage()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"hasSessionStorage"}),"(): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L60",children:"packages/core/src/window/Window.ts:60"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns ",(0,i.jsx)(n.code,{children:"true"})," if the session storage is supported."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"true"})," if the session storage is supported."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"isclient",children:"isClient()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"isClient"}),"(): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L40",children:"packages/core/src/window/Window.ts:40"})]}),"\n",(0,i.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"true"})," if invoked at the client side."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"iscookieenabled",children:"isCookieEnabled()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"isCookieEnabled"}),"(): ",(0,i.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L51",children:"packages/core/src/window/Window.ts:51"})]}),"\n",(0,i.jsxs)(n.p,{children:["Returns ",(0,i.jsx)(n.code,{children:"true"})," if the cookies are set and processed with every\nHTTP request and response automatically by the environment."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"boolean"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"true"})," if cookies are handled automatically by\nthe environment."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"pushstate",children:"pushState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"pushState"}),"<",(0,i.jsx)(n.code,{children:"T"}),">(",(0,i.jsx)(n.code,{children:"state"}),", ",(0,i.jsx)(n.code,{children:"title"}),", ",(0,i.jsx)(n.code,{children:"url"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L237",children:"packages/core/src/window/Window.ts:237"})]}),"\n",(0,i.jsx)(n.p,{children:"Pushes a new state to the browser history. The method has no effect if\nthe current browser does not support the history API (IE9)."}),"\n",(0,i.jsx)(n.h4,{id:"type-parameters-3",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"state",children:"state"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"T"})}),"\n",(0,i.jsx)(n.p,{children:"A state object associated with the\nhistory item, preferably representing the page state."}),"\n",(0,i.jsx)(n.h5,{id:"title",children:"title"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The page title related to the state. Note that\nthis parameter is ignored by some browsers."}),"\n",(0,i.jsx)(n.h5,{id:"url",children:"url?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The new URL at which the state is available."}),"\n",(0,i.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"queryselector",children:"querySelector()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"querySelector"}),"<",(0,i.jsx)(n.code,{children:"E"}),">(",(0,i.jsx)(n.code,{children:"selector"}),"): ",(0,i.jsx)(n.code,{children:"null"})," | ",(0,i.jsx)(n.code,{children:"E"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L199",children:"packages/core/src/window/Window.ts:199"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the first element matching the specified CSS 3 selector."}),"\n",(0,i.jsx)(n.h4,{id:"type-parameters-4",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"Element"})," = ",(0,i.jsx)(n.code,{children:"Element"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"selector",children:"selector"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The CSS selector."}),"\n",(0,i.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"null"})," | ",(0,i.jsx)(n.code,{children:"E"})]}),"\n",(0,i.jsxs)(n.p,{children:["The first element matching the CSS selector or\n",(0,i.jsx)(n.code,{children:"null"})," if no such element exists."]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"queryselectorall",children:"querySelectorAll()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"querySelectorAll"}),"<",(0,i.jsx)(n.code,{children:"E"}),">(",(0,i.jsx)(n.code,{children:"selector"}),"): ",(0,i.jsx)(n.code,{children:"NodeListOf"}),"<",(0,i.jsx)(n.code,{children:"E"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L211",children:"packages/core/src/window/Window.ts:211"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns a node list of all elements matching the specified CSS 3\nselector."}),"\n",(0,i.jsx)(n.h4,{id:"type-parameters-5",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"Element"})," = ",(0,i.jsx)(n.code,{children:"Element"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"selector-1",children:"selector"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The CSS selector."}),"\n",(0,i.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"NodeListOf"}),"<",(0,i.jsx)(n.code,{children:"E"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"A node list containing all elements matching the\nspecified CSS selector."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"redirect"}),"(",(0,i.jsx)(n.code,{children:"url"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L223",children:"packages/core/src/window/Window.ts:223"})]}),"\n",(0,i.jsx)(n.p,{children:"Performs a hard redirect (discarding the current JavaScript state) to\nthe specified URL."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"url-1",children:"url"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The URL to which the browser will be redirected."}),"\n",(0,i.jsx)(n.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"replacestate",children:"replaceState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"replaceState"}),"<",(0,i.jsx)(n.code,{children:"T"}),">(",(0,i.jsx)(n.code,{children:"state"}),", ",(0,i.jsx)(n.code,{children:"title"}),", ",(0,i.jsx)(n.code,{children:"url"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L251",children:"packages/core/src/window/Window.ts:251"})]}),"\n",(0,i.jsx)(n.p,{children:"Replaces the current history entry. The method has no effect if the\ncurrent browser does not support the history API (IE9)."}),"\n",(0,i.jsx)(n.h4,{id:"type-parameters-6",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"state-1",children:"state"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"T"})}),"\n",(0,i.jsx)(n.p,{children:"A state object associated with the\nhistory item, preferably representing the page state."}),"\n",(0,i.jsx)(n.h5,{id:"title-1",children:"title"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The page title related to the state. Note that\nthis parameter is ignored by some browsers."}),"\n",(0,i.jsx)(n.h5,{id:"url-2",children:"url?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The new URL at which the state is available."}),"\n",(0,i.jsx)(n.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"scrollto",children:"scrollTo()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"scrollTo"}),"(",(0,i.jsx)(n.code,{children:"x"}),", ",(0,i.jsx)(n.code,{children:"y"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L124",children:"packages/core/src/window/Window.ts:124"})]}),"\n",(0,i.jsx)(n.p,{children:"Scrolls the viewport to the specified location (if possible)."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"x",children:"x"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"number"})}),"\n",(0,i.jsx)(n.p,{children:"Horizontal scroll offset in pixels."}),"\n",(0,i.jsx)(n.h5,{id:"y",children:"y"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"number"})}),"\n",(0,i.jsx)(n.p,{children:"Vertical scroll offset in pixels."}),"\n",(0,i.jsx)(n.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"settitle",children:"setTitle()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"setTitle"}),"(",(0,i.jsx)(n.code,{children:"title"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L69",children:"packages/core/src/window/Window.ts:69"})]}),"\n",(0,i.jsx)(n.p,{children:"Sets the new page title of the document."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"title-2",children:"title"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The new page title."}),"\n",(0,i.jsx)(n.h4,{id:"returns-24",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"unbindeventlistener",children:"unbindEventListener()"}),"\n",(0,i.jsx)(n.h4,{id:"call-signature-2",children:"Call Signature"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"unbindEventListener"}),"<",(0,i.jsx)(n.code,{children:"T"}),", ",(0,i.jsx)(n.code,{children:"K"}),", ",(0,i.jsx)(n.code,{children:"S"}),">(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"event"}),", ",(0,i.jsx)(n.code,{children:"listener"}),", ",(0,i.jsx)(n.code,{children:"options"}),"?, ",(0,i.jsx)(n.code,{children:"scope"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L345",children:"packages/core/src/window/Window.ts:345"})]}),"\n",(0,i.jsx)(n.p,{children:"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."}),"\n",(0,i.jsx)(n.p,{children:"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."}),"\n",(0,i.jsx)(n.h5,{id:"type-parameters-7",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/WindowEventTargets",children:(0,i.jsx)(n.code,{children:"WindowEventTargets"})})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"K"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"string"})," | ",(0,i.jsx)(n.code,{children:"number"})," | ",(0,i.jsx)(n.code,{children:"symbol"})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"S"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-11",children:"Parameters"}),"\n",(0,i.jsx)(n.h6,{id:"eventtarget-2",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"T"})}),"\n",(0,i.jsx)(n.p,{children:"The event target."}),"\n",(0,i.jsx)(n.h6,{id:"event-2",children:"event"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"K"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event."}),"\n",(0,i.jsx)(n.h6,{id:"listener-2",children:"listener"}),"\n",(0,i.jsxs)(n.p,{children:["(",(0,i.jsx)(n.code,{children:"event"}),") => ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.p,{children:"The event listener."}),"\n",(0,i.jsx)(n.h6,{id:"options-3",children:"options?"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"useCapture"})," flag value that was used when the\nlistener was registered, or provide capture option through object options."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"boolean"})," | ",(0,i.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,i.jsx)(n.h6,{id:"scope-2",children:"scope?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"S"})}),"\n",(0,i.jsx)(n.h5,{id:"returns-25",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.h4,{id:"call-signature-3",children:"Call Signature"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"unbindEventListener"}),"<",(0,i.jsx)(n.code,{children:"T"}),", ",(0,i.jsx)(n.code,{children:"E"}),", ",(0,i.jsx)(n.code,{children:"S"}),">(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"event"}),", ",(0,i.jsx)(n.code,{children:"listener"}),", ",(0,i.jsx)(n.code,{children:"options"}),"?, ",(0,i.jsx)(n.code,{children:"scope"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L356",children:"packages/core/src/window/Window.ts:356"})]}),"\n",(0,i.jsx)(n.p,{children:"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."}),"\n",(0,i.jsx)(n.p,{children:"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."}),"\n",(0,i.jsx)(n.h5,{id:"type-parameters-8",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"T"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"EventTarget"})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"E"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"Event"})," = ",(0,i.jsx)(n.code,{children:"Event"})]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"S"})," = ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h5,{id:"parameters-12",children:"Parameters"}),"\n",(0,i.jsx)(n.h6,{id:"eventtarget-3",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"T"})}),"\n",(0,i.jsx)(n.p,{children:"The event target."}),"\n",(0,i.jsx)(n.h6,{id:"event-3",children:"event"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event."}),"\n",(0,i.jsx)(n.h6,{id:"listener-3",children:"listener"}),"\n",(0,i.jsxs)(n.p,{children:["(",(0,i.jsx)(n.code,{children:"event"}),") => ",(0,i.jsx)(n.code,{children:"void"})]}),"\n",(0,i.jsx)(n.p,{children:"The event listener."}),"\n",(0,i.jsx)(n.h6,{id:"options-4",children:"options?"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"useCapture"})," flag value that was used when the\nlistener was registered, or provide capture option through object options."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"boolean"})," | ",(0,i.jsx)(n.code,{children:"EventListenerOptions"})]}),"\n",(0,i.jsx)(n.h6,{id:"scope-3",children:"scope?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"S"})}),"\n",(0,i.jsx)(n.h5,{id:"returns-26",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})})]})}function a(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>c});var r=s(3696);const i={},d=r.createContext(i);function t(e){const n=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/de246b9b.7997cff0.js b/assets/js/de246b9b.7997cff0.js new file mode 100644 index 000000000..59559be58 --- /dev/null +++ b/assets/js/de246b9b.7997cff0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3549],{3154:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/AbstractPageManager","title":"Class: abstract AbstractPageManager","description":"Defined in52","source":"@site/../docs/api/@ima/core/classes/AbstractPageManager.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/AbstractPageManager","permalink":"/api/@ima/core/classes/AbstractPageManager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/AbstractPageManager.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract AbstractExtension\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/AbstractExtension"},"next":{"title":"Class: abstract AbstractRoute\\\\<T\\\\>","permalink":"/api/@ima/core/classes/AbstractRoute"}}');var s=r(2540),c=r(3023);const i={},t="Class: abstract AbstractPageManager",d={},l=[{value:"Extends",id:"extends",level:2},{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractPageManager()",id:"new-abstractpagemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageFactory",id:"pagefactory",level:5},{value:"pageRenderer",id:"pagerenderer",level:5},{value:"pageStateManager",id:"pagestatemanager",level:5},{value:"pageHandlerRegistry",id:"pagehandlerregistry",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"_managedPage",id:"_managedpage",level:3},{value:"_pageFactory",id:"_pagefactory",level:3},{value:"_pageHandlerRegistry",id:"_pagehandlerregistry",level:3},{value:"_pageRenderer",id:"_pagerenderer",level:3},{value:"_pageStateManager",id:"_pagestatemanager",level:3},{value:"_previousManagedPage",id:"_previousmanagedpage",level:3},{value:"Methods",id:"methods",level:2},{value:"_activateController()",id:"_activatecontroller",level:3},{value:"Returns",id:"returns-1",level:4},{value:"_activateExtensions()",id:"_activateextensions",level:3},{value:"Returns",id:"returns-2",level:4},{value:"_activatePageSource()",id:"_activatepagesource",level:3},{value:"Returns",id:"returns-3",level:4},{value:"_clearComponentState()",id:"_clearcomponentstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_constructManagedPageValue()",id:"_constructmanagedpagevalue",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"controller",id:"controller",level:5},{value:"view",id:"view",level:5},{value:"route",id:"route",level:5},{value:"options",id:"options-1",level:5},{value:"params",id:"params",level:5},{value:"controllerInstance",id:"controllerinstance",level:5},{value:"decoratedController",id:"decoratedcontroller",level:5},{value:"viewInstance",id:"viewinstance",level:5},{value:"Returns",id:"returns-5",level:4},{value:"_deactivateController()",id:"_deactivatecontroller",level:3},{value:"Returns",id:"returns-6",level:4},{value:"_deactivateExtensions()",id:"_deactivateextensions",level:3},{value:"Returns",id:"returns-7",level:4},{value:"_deactivatePageSource()",id:"_deactivatepagesource",level:3},{value:"Returns",id:"returns-8",level:4},{value:"_destroyController()",id:"_destroycontroller",level:3},{value:"Returns",id:"returns-9",level:4},{value:"_destroyExtensions()",id:"_destroyextensions",level:3},{value:"Returns",id:"returns-10",level:4},{value:"_destroyPageSource()",id:"_destroypagesource",level:3},{value:"Returns",id:"returns-11",level:4},{value:"_getInitialManagedPage()",id:"_getinitialmanagedpage",level:3},{value:"Returns",id:"returns-12",level:4},{value:"_getLoadedControllerState()",id:"_getloadedcontrollerstate",level:3},{value:"Returns",id:"returns-13",level:4},{value:"_getLoadedExtensionsState()",id:"_getloadedextensionsstate",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"controllerState?",id:"controllerstate",level:5},{value:"Returns",id:"returns-14",level:4},{value:"_getUpdatedControllerState()",id:"_getupdatedcontrollerstate",level:3},{value:"Returns",id:"returns-15",level:4},{value:"_getUpdatedExtensionsState()",id:"_getupdatedextensionsstate",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"controllerState?",id:"controllerstate-1",level:5},{value:"Returns",id:"returns-16",level:4},{value:"_hasOnlyUpdate()",id:"_hasonlyupdate",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"controller",id:"controller-1",level:5},{value:"view",id:"view-1",level:5},{value:"options",id:"options-2",level:5},{value:"Returns",id:"returns-17",level:4},{value:"_initController()",id:"_initcontroller",level:3},{value:"Returns",id:"returns-18",level:4},{value:"_initExtensions()",id:"_initextensions",level:3},{value:"Returns",id:"returns-19",level:4},{value:"_initPageSource()",id:"_initpagesource",level:3},{value:"Returns",id:"returns-20",level:4},{value:"_loadPageSource()",id:"_loadpagesource",level:3},{value:"Returns",id:"returns-21",level:4},{value:"_runPostManageHandlers()",id:"_runpostmanagehandlers",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"previousManagedPage",id:"previousmanagedpage",level:5},{value:"action",id:"action",level:5},{value:"Returns",id:"returns-22",level:4},{value:"_runPreManageHandlers()",id:"_runpremanagehandlers",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"actualManagedPage",id:"actualmanagedpage",level:5},{value:"action",id:"action-1",level:5},{value:"Returns",id:"returns-23",level:4},{value:"_setRestrictedPageStateManager()",id:"_setrestrictedpagestatemanager",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"extension",id:"extension",level:5},{value:"extensionState",id:"extensionstate",level:5},{value:"Returns",id:"returns-24",level:4},{value:"_storeManagedPageSnapshot()",id:"_storemanagedpagesnapshot",level:3},{value:"Returns",id:"returns-25",level:4},{value:"_stripManagedPageValueForPublic()",id:"_stripmanagedpagevalueforpublic",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-26",level:4},{value:"controller",id:"controller-2",level:5},{value:"options",id:"options-3",level:5},{value:"params",id:"params-1",level:5},{value:"route",id:"route-1",level:5},{value:"view",id:"view-2",level:5},{value:"_switchToPageStateManager()",id:"_switchtopagestatemanager",level:3},{value:"Returns",id:"returns-27",level:4},{value:"_switchToPageStateManagerAfterLoaded()",id:"_switchtopagestatemanagerafterloaded",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"extension",id:"extension-1",level:5},{value:"extensionState",id:"extensionstate-1",level:5},{value:"Returns",id:"returns-28",level:4},{value:"_updatePageSource()",id:"_updatepagesource",level:3},{value:"Returns",id:"returns-29",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-30",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getViewController()",id:"getviewcontroller",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"route",id:"route-2",level:5},{value:"Returns",id:"returns-31",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-32",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"manage()",id:"manage",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"__namedParameters",id:"__namedparameters",level:5},{value:"Returns",id:"returns-33",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"postManage()",id:"postmanage",level:3},{value:"Returns",id:"returns-34",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"preManage()",id:"premanage",level:3},{value:"Returns",id:"returns-35",level:4},{value:"Overrides",id:"overrides-5",level:4}];function o(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsxs)(a.h1,{id:"class-abstract-abstractpagemanager",children:["Class: ",(0,s.jsx)(a.code,{children:"abstract"})," AbstractPageManager"]})}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L52",children:"packages/core/src/page/manager/AbstractPageManager.ts:52"})]}),"\n",(0,s.jsx)(a.p,{children:"Page manager for controller."}),"\n",(0,s.jsx)(a.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})})}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/ClientPageManager",children:(0,s.jsx)(a.code,{children:"ClientPageManager"})})}),"\n",(0,s.jsx)(a.li,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/ServerPageManager",children:(0,s.jsx)(a.code,{children:"ServerPageManager"})})}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(a.h3,{id:"new-abstractpagemanager",children:"new AbstractPageManager()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"new AbstractPageManager"}),"(",(0,s.jsx)(a.code,{children:"pageFactory"}),", ",(0,s.jsx)(a.code,{children:"pageRenderer"}),", ",(0,s.jsx)(a.code,{children:"pageStateManager"}),", ",(0,s.jsx)(a.code,{children:"pageHandlerRegistry"}),", ",(0,s.jsx)(a.code,{children:"dispatcher"}),"): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(a.code,{children:"AbstractPageManager"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L95",children:"packages/core/src/page/manager/AbstractPageManager.ts:95"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes the page manager."}),"\n",(0,s.jsx)(a.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"pagefactory",children:"pageFactory"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(a.code,{children:"PageFactory"})})}),"\n",(0,s.jsx)(a.p,{children:"Factory used by the page manager to\ncreate instances of the controller for the current route, and\ndecorate the controllers and page state managers."}),"\n",(0,s.jsx)(a.h5,{id:"pagerenderer",children:"pageRenderer"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,s.jsx)(a.code,{children:"PageRenderer"})})}),"\n",(0,s.jsx)(a.p,{children:"The current renderer of the page."}),"\n",(0,s.jsx)(a.h5,{id:"pagestatemanager",children:"pageStateManager"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(a.code,{children:"PageStateManager"})})}),"\n",(0,s.jsx)(a.p,{children:"The current page state\nmanager."}),"\n",(0,s.jsx)(a.h5,{id:"pagehandlerregistry",children:"pageHandlerRegistry"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(a.code,{children:"PageHandlerRegistry"})})}),"\n",(0,s.jsx)(a.p,{children:"Instance of HandlerRegistry that\nholds a list of pre-manage and post-manage handlers."}),"\n",(0,s.jsx)(a.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(a.code,{children:"Dispatcher"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(a.code,{children:"AbstractPageManager"})})}),"\n",(0,s.jsx)(a.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager#constructors",children:(0,s.jsx)(a.code,{children:"constructor"})})]}),"\n",(0,s.jsx)(a.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(a.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_dispatcher"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(a.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L81",children:"packages/core/src/page/manager/AbstractPageManager.ts:81"})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_managedpage",children:"_managedPage"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_managedPage"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L68",children:"packages/core/src/page/manager/AbstractPageManager.ts:68"})]}),"\n",(0,s.jsx)(a.p,{children:"Details of the currently managed page."}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_pagefactory",children:"_pageFactory"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_pageFactory"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageFactory",children:(0,s.jsx)(a.code,{children:"PageFactory"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L63",children:"packages/core/src/page/manager/AbstractPageManager.ts:63"})]}),"\n",(0,s.jsx)(a.p,{children:"Factory used by the page manager to create instances of the\ncontroller for the current route, and decorate the controllers and\npage state managers."}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_pagehandlerregistry",children:"_pageHandlerRegistry"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_pageHandlerRegistry"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageHandlerRegistry",children:(0,s.jsx)(a.code,{children:"PageHandlerRegistry"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L80",children:"packages/core/src/page/manager/AbstractPageManager.ts:80"})]}),"\n",(0,s.jsx)(a.p,{children:"A registry that holds a list of pre-manage and post-manage handlers."}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_pagerenderer",children:"_pageRenderer"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_pageRenderer"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageRenderer",children:(0,s.jsx)(a.code,{children:"PageRenderer"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L72",children:"packages/core/src/page/manager/AbstractPageManager.ts:72"})]}),"\n",(0,s.jsx)(a.p,{children:"The current renderer of the page."}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_pagestatemanager",children:"_pageStateManager"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_pageStateManager"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,s.jsx)(a.code,{children:"PageStateManager"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L76",children:"packages/core/src/page/manager/AbstractPageManager.ts:76"})]}),"\n",(0,s.jsx)(a.p,{children:"The current page state manager."}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_previousmanagedpage",children:"_previousManagedPage"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_previousManagedPage"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L57",children:"packages/core/src/page/manager/AbstractPageManager.ts:57"})]}),"\n",(0,s.jsx)(a.p,{children:"Snapshot of the previously managed page before it was replaced with\na new one"}),"\n",(0,s.jsx)(a.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(a.h3,{id:"_activatecontroller",children:"_activateController()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_activateController"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L549",children:"packages/core/src/page/manager/AbstractPageManager.ts:549"})]}),"\n",(0,s.jsx)(a.p,{children:"Activate managed instance of controller."}),"\n",(0,s.jsx)(a.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_activateextensions",children:"_activateExtensions()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_activateExtensions"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L563",children:"packages/core/src/page/manager/AbstractPageManager.ts:563"})]}),"\n",(0,s.jsx)(a.p,{children:"Activate extensions for managed instance of controller."}),"\n",(0,s.jsx)(a.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_activatepagesource",children:"_activatePageSource()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_activatePageSource"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L529",children:"packages/core/src/page/manager/AbstractPageManager.ts:529"})]}),"\n",(0,s.jsx)(a.p,{children:"Activate page source so call activate method on controller and his\nextensions."}),"\n",(0,s.jsx)(a.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_clearcomponentstate",children:"_clearComponentState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"_clearComponentState"}),"(",(0,s.jsx)(a.code,{children:"options"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L753",children:"packages/core/src/page/manager/AbstractPageManager.ts:753"})]}),"\n",(0,s.jsx)(a.p,{children:"The method clear state on current rendered component to DOM."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"options",children:"options"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(a.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(a.p,{children:"The current route options."}),"\n",(0,s.jsx)(a.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_constructmanagedpagevalue",children:"_constructManagedPageValue()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_constructManagedPageValue"}),"(",(0,s.jsx)(a.code,{children:"controller"}),", ",(0,s.jsx)(a.code,{children:"view"}),", ",(0,s.jsx)(a.code,{children:"route"}),", ",(0,s.jsx)(a.code,{children:"options"}),", ",(0,s.jsx)(a.code,{children:"params"}),", ",(0,s.jsx)(a.code,{children:"controllerInstance"}),", ",(0,s.jsx)(a.code,{children:"decoratedController"}),", ",(0,s.jsx)(a.code,{children:"viewInstance"}),"): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L245",children:"packages/core/src/page/manager/AbstractPageManager.ts:245"})]}),"\n",(0,s.jsx)(a.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"controller",children:"controller"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(a.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(a.h5,{id:"view",children:"view"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"unknown"})}),"\n",(0,s.jsx)(a.h5,{id:"route",children:"route"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(a.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(a.code,{children:"string"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(a.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,s.jsx)(a.h5,{id:"options-1",children:"options"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(a.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(a.h5,{id:"params",children:"params"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})})}),"\n",(0,s.jsx)(a.h5,{id:"controllerinstance",children:"controllerInstance"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(a.code,{children:"Controller"})}),"<",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,s.jsx)(a.code,{children:"PageState"})}),", ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})}),", ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,s.jsx)(a.code,{children:"PageState"})}),">"]}),"\n",(0,s.jsx)(a.h5,{id:"decoratedcontroller",children:"decoratedController"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,s.jsx)(a.code,{children:"ControllerDecorator"})})}),"\n",(0,s.jsx)(a.h5,{id:"viewinstance",children:"viewInstance"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"unknown"})}),"\n",(0,s.jsx)(a.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_deactivatecontroller",children:"_deactivateController()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_deactivateController"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L691",children:"packages/core/src/page/manager/AbstractPageManager.ts:691"})]}),"\n",(0,s.jsx)(a.p,{children:"Deactivate last managed instance of controller only If controller was\nactivated."}),"\n",(0,s.jsx)(a.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_deactivateextensions",children:"_deactivateExtensions()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_deactivateExtensions"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L702",children:"packages/core/src/page/manager/AbstractPageManager.ts:702"})]}),"\n",(0,s.jsx)(a.p,{children:"Deactivate extensions for last managed instance of controller only if\nthey were activated."}),"\n",(0,s.jsx)(a.h4,{id:"returns-7",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_deactivatepagesource",children:"_deactivatePageSource()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_deactivatePageSource"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L677",children:"packages/core/src/page/manager/AbstractPageManager.ts:677"})]}),"\n",(0,s.jsx)(a.p,{children:"Deactivate page source so call deactivate method on controller and his\nextensions."}),"\n",(0,s.jsx)(a.h4,{id:"returns-8",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_destroycontroller",children:"_destroyController()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_destroyController"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L726",children:"packages/core/src/page/manager/AbstractPageManager.ts:726"})]}),"\n",(0,s.jsx)(a.p,{children:"Destroy last managed instance of controller."}),"\n",(0,s.jsx)(a.h4,{id:"returns-9",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_destroyextensions",children:"_destroyExtensions()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_destroyExtensions"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L739",children:"packages/core/src/page/manager/AbstractPageManager.ts:739"})]}),"\n",(0,s.jsx)(a.p,{children:"Destroy extensions for last managed instance of controller."}),"\n",(0,s.jsx)(a.h4,{id:"returns-10",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_destroypagesource",children:"_destroyPageSource()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_destroyPageSource"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L714",children:"packages/core/src/page/manager/AbstractPageManager.ts:714"})]}),"\n",(0,s.jsx)(a.p,{children:"Destroy page source so call destroy method on controller and his\nextensions."}),"\n",(0,s.jsx)(a.h4,{id:"returns-11",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_getinitialmanagedpage",children:"_getInitialManagedPage()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_getInitialManagedPage"}),"(): ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L302",children:"packages/core/src/page/manager/AbstractPageManager.ts:302"})]}),"\n",(0,s.jsx)(a.p,{children:"Clear value from managed page."}),"\n",(0,s.jsx)(a.h4,{id:"returns-12",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_getloadedcontrollerstate",children:"_getLoadedControllerState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_getLoadedControllerState"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L485",children:"packages/core/src/page/manager/AbstractPageManager.ts:485"})]}),"\n",(0,s.jsx)(a.p,{children:"Load controller state from managed instance of controller."}),"\n",(0,s.jsx)(a.h4,{id:"returns-13",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<{}>"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_getloadedextensionsstate",children:"_getLoadedExtensionsState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_getLoadedExtensionsState"}),"(",(0,s.jsx)(a.code,{children:"controllerState"}),"?): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L501",children:"packages/core/src/page/manager/AbstractPageManager.ts:501"})]}),"\n",(0,s.jsx)(a.p,{children:"Load extensions state from managed instance of controller."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"controllerstate",children:"controllerState?"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-14",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_getupdatedcontrollerstate",children:"_getUpdatedControllerState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_getUpdatedControllerState"}),"(): {} | ",(0,s.jsx)(a.code,{children:"Promise"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L621",children:"packages/core/src/page/manager/AbstractPageManager.ts:621"})]}),"\n",(0,s.jsx)(a.p,{children:"Return updated controller state for current page controller."}),"\n",(0,s.jsx)(a.h4,{id:"returns-15",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:["{} | ",(0,s.jsx)(a.code,{children:"Promise"}),"<{}>"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_getupdatedextensionsstate",children:"_getUpdatedExtensionsState()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_getUpdatedExtensionsState"}),"(",(0,s.jsx)(a.code,{children:"controllerState"}),"?): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L637",children:"packages/core/src/page/manager/AbstractPageManager.ts:637"})]}),"\n",(0,s.jsx)(a.p,{children:"Return updated extensions state for current page controller."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"controllerstate-1",children:"controllerState?"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-16",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_hasonlyupdate",children:"_hasOnlyUpdate()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_hasOnlyUpdate"}),"(",(0,s.jsx)(a.code,{children:"controller"}),", ",(0,s.jsx)(a.code,{children:"view"}),", ",(0,s.jsx)(a.code,{children:"options"}),"): ",(0,s.jsx)(a.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L769",children:"packages/core/src/page/manager/AbstractPageManager.ts:769"})]}),"\n",(0,s.jsx)(a.p,{children:"Return true if manager has to update last managed controller and view."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"controller-1",children:"controller"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(a.code,{children:"RouteController"})})}),"\n",(0,s.jsx)(a.h5,{id:"view-1",children:"view"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"unknown"})}),"\n",(0,s.jsx)(a.h5,{id:"options-2",children:"options"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(a.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-17",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"boolean"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_initcontroller",children:"_initController()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_initController"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L398",children:"packages/core/src/page/manager/AbstractPageManager.ts:398"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes managed instance of controller with the provided parameters."}),"\n",(0,s.jsx)(a.h4,{id:"returns-18",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_initextensions",children:"_initExtensions()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_initExtensions"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L413",children:"packages/core/src/page/manager/AbstractPageManager.ts:413"})]}),"\n",(0,s.jsx)(a.p,{children:"Initialize extensions for managed instance of controller with the\nprovided parameters."}),"\n",(0,s.jsx)(a.h4,{id:"returns-19",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_initpagesource",children:"_initPageSource()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_initPageSource"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L383",children:"packages/core/src/page/manager/AbstractPageManager.ts:383"})]}),"\n",(0,s.jsx)(a.p,{children:"Initialize page source so call init method on controller and his\nextensions."}),"\n",(0,s.jsx)(a.h4,{id:"returns-20",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_loadpagesource",children:"_loadPageSource()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_loadPageSource"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(a.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L443",children:"packages/core/src/page/manager/AbstractPageManager.ts:443"})]}),"\n",(0,s.jsx)(a.p,{children:"Load page source so call load method on controller and his extensions.\nMerge loaded state and render it."}),"\n",(0,s.jsx)(a.h4,{id:"returns-21",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(a.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_runpostmanagehandlers",children:"_runPostManageHandlers()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_runPostManageHandlers"}),"(",(0,s.jsx)(a.code,{children:"previousManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L809",children:"packages/core/src/page/manager/AbstractPageManager.ts:809"})]}),"\n",(0,s.jsx)(a.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"previousmanagedpage",children:"previousManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.h5,{id:"action",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-22",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_runpremanagehandlers",children:"_runPreManageHandlers()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_runPreManageHandlers"}),"(",(0,s.jsx)(a.code,{children:"actualManagedPage"}),", ",(0,s.jsx)(a.code,{children:"action"}),"): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L788",children:"packages/core/src/page/manager/AbstractPageManager.ts:788"})]}),"\n",(0,s.jsx)(a.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"actualmanagedpage",children:"actualManagedPage"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.h5,{id:"action-1",children:"action"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/PageAction",children:(0,s.jsx)(a.code,{children:"PageAction"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-23",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_setrestrictedpagestatemanager",children:"_setRestrictedPageStateManager()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"_setRestrictedPageStateManager"}),"(",(0,s.jsx)(a.code,{children:"extension"}),", ",(0,s.jsx)(a.code,{children:"extensionState"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L342",children:"packages/core/src/page/manager/AbstractPageManager.ts:342"})]}),"\n",(0,s.jsx)(a.p,{children:"Set page state manager to extension which has restricted rights to set\nglobal state."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"extension",children:"extension"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(a.code,{children:"Extension"})})}),"\n",(0,s.jsx)(a.h5,{id:"extensionstate",children:"extensionState"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-24",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_storemanagedpagesnapshot",children:"_storeManagedPageSnapshot()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_storeManagedPageSnapshot"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L281",children:"packages/core/src/page/manager/AbstractPageManager.ts:281"})]}),"\n",(0,s.jsx)(a.p,{children:"Creates a cloned version of currently managed page and stores it in\na helper property.\nSnapshot is used in manager handlers to easily determine differences\nbetween the current and the previous state."}),"\n",(0,s.jsx)(a.h4,{id:"returns-25",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_stripmanagedpagevalueforpublic",children:"_stripManagedPageValueForPublic()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_stripManagedPageValueForPublic"}),"(",(0,s.jsx)(a.code,{children:"value"}),"): ",(0,s.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L332",children:"packages/core/src/page/manager/AbstractPageManager.ts:332"})]}),"\n",(0,s.jsx)(a.p,{children:"Removes properties we do not want to propagate outside of the page manager"}),"\n",(0,s.jsx)(a.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"value",children:"value"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManagedPage",children:(0,s.jsx)(a.code,{children:"ManagedPage"})})}),"\n",(0,s.jsx)(a.p,{children:"The managed page object to strip down"}),"\n",(0,s.jsx)(a.h4,{id:"returns-26",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"object"})}),"\n",(0,s.jsx)(a.h5,{id:"controller-2",children:"controller"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"controller"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(a.code,{children:"RouteController"})})]}),"\n"]}),"\n",(0,s.jsx)(a.h5,{id:"options-3",children:"options"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"options"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(a.code,{children:"RouteOptions"})})]}),"\n"]}),"\n",(0,s.jsx)(a.h5,{id:"params-1",children:"params"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"params"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,s.jsx)(a.code,{children:"RouteParams"})})]}),"\n"]}),"\n",(0,s.jsx)(a.h5,{id:"route-1",children:"route"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"route"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(a.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(a.code,{children:"string"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(a.code,{children:"RoutePathExpression"})}),">"]}),"\n"]}),"\n",(0,s.jsx)(a.h5,{id:"view-2",children:"view"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"view"}),": ",(0,s.jsx)(a.code,{children:"unknown"})]}),"\n"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_switchtopagestatemanager",children:"_switchToPageStateManager()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_switchToPageStateManager"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L430",children:"packages/core/src/page/manager/AbstractPageManager.ts:430"})]}),"\n",(0,s.jsx)(a.p,{children:"Iterates over extensions of current controller and switches each one to\npageStateManager and clears their partial state."}),"\n",(0,s.jsx)(a.h4,{id:"returns-27",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_switchtopagestatemanagerafterloaded",children:"_switchToPageStateManagerAfterLoaded()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"_switchToPageStateManagerAfterLoaded"}),"(",(0,s.jsx)(a.code,{children:"extension"}),", ",(0,s.jsx)(a.code,{children:"extensionState"}),"): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L363",children:"packages/core/src/page/manager/AbstractPageManager.ts:363"})]}),"\n",(0,s.jsx)(a.p,{children:"For defined extension switches to pageStageManager and clears partial state\nafter extension state is loaded."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"extension-1",children:"extension"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/Extension",children:(0,s.jsx)(a.code,{children:"Extension"})})}),"\n",(0,s.jsx)(a.h5,{id:"extensionstate-1",children:"extensionState"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(a.code,{children:"UnknownParameters"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-28",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"_updatepagesource",children:"_updatePageSource()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"_updatePageSource"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(a.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L580",children:"packages/core/src/page/manager/AbstractPageManager.ts:580"})]}),"\n",(0,s.jsx)(a.p,{children:"Update page source so call update method on controller and his\nextensions. Merge updated state and render it."}),"\n",(0,s.jsx)(a.h4,{id:"returns-29",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(a.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"destroy"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L232",children:"packages/core/src/page/manager/AbstractPageManager.ts:232"})]}),"\n",(0,s.jsx)(a.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(a.h4,{id:"returns-30",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager#destroy",children:(0,s.jsx)(a.code,{children:"destroy"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"getviewcontroller",children:"getViewController()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"protected"})," ",(0,s.jsx)(a.strong,{children:"getViewController"}),"(",(0,s.jsx)(a.code,{children:"route"}),"): ",(0,s.jsx)(a.code,{children:"Promise"}),"<{ ",(0,s.jsx)(a.code,{children:"controller"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(a.code,{children:"RouteController"})}),"; ",(0,s.jsx)(a.code,{children:"view"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,s.jsx)(a.code,{children:"RouteView"})}),"; }>"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L833",children:"packages/core/src/page/manager/AbstractPageManager.ts:833"})]}),"\n",(0,s.jsx)(a.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"route-2",children:"route"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/AbstractRoute",children:(0,s.jsx)(a.code,{children:"AbstractRoute"})}),"<",(0,s.jsx)(a.code,{children:"string"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RoutePathExpression",children:(0,s.jsx)(a.code,{children:"RoutePathExpression"})}),">"]}),"\n",(0,s.jsx)(a.h4,{id:"returns-31",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<{ ",(0,s.jsx)(a.code,{children:"controller"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteController",children:(0,s.jsx)(a.code,{children:"RouteController"})}),"; ",(0,s.jsx)(a.code,{children:"view"}),": ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/RouteView",children:(0,s.jsx)(a.code,{children:"RouteView"})}),"; }>"]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"init"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L114",children:"packages/core/src/page/manager/AbstractPageManager.ts:114"})]}),"\n",(0,s.jsx)(a.p,{children:"Initializes the page manager."}),"\n",(0,s.jsx)(a.h4,{id:"returns-32",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager#init",children:(0,s.jsx)(a.code,{children:"init"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"manage",children:"manage()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"manage"}),"(",(0,s.jsx)(a.code,{children:"__namedParameters"}),"): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(a.code,{children:"PageData"})}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L133",children:"packages/core/src/page/manager/AbstractPageManager.ts:133"})]}),"\n",(0,s.jsx)(a.p,{children:"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."}),"\n",(0,s.jsx)(a.p,{children:"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."}),"\n",(0,s.jsx)(a.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsx)(a.h5,{id:"__namedparameters",children:"__namedParameters"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/ManageArgs",children:(0,s.jsx)(a.code,{children:"ManageArgs"})})}),"\n",(0,s.jsx)(a.h4,{id:"returns-33",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"})," | ",(0,s.jsx)(a.a,{href:"/api/@ima/core/type-aliases/PageData",children:(0,s.jsx)(a.code,{children:"PageData"})}),">"]}),"\n",(0,s.jsxs)(a.p,{children:["A promise that will resolve to information about the rendered page.\nThe ",(0,s.jsx)(a.code,{children:"status"})," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."]}),"\n",(0,s.jsx)(a.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager#manage",children:(0,s.jsx)(a.code,{children:"manage"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"postmanage",children:"postManage()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"postManage"}),"(): ",(0,s.jsx)(a.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L223",children:"packages/core/src/page/manager/AbstractPageManager.ts:223"})]}),"\n",(0,s.jsx)(a.p,{children:"Called by router after currently managed route is resolved."}),"\n",(0,s.jsx)(a.h4,{id:"returns-34",children:"Returns"}),"\n",(0,s.jsx)(a.p,{children:(0,s.jsx)(a.code,{children:"void"})}),"\n",(0,s.jsx)(a.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager#postmanage",children:(0,s.jsx)(a.code,{children:"postManage"})})]}),"\n",(0,s.jsx)(a.hr,{}),"\n",(0,s.jsx)(a.h3,{id:"premanage",children:"preManage()"}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.strong,{children:"preManage"}),"(): ",(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/AbstractPageManager.ts#L123",children:"packages/core/src/page/manager/AbstractPageManager.ts:123"})]}),"\n",(0,s.jsx)(a.p,{children:"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."}),"\n",(0,s.jsx)(a.h4,{id:"returns-35",children:"Returns"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"Promise"}),"<",(0,s.jsx)(a.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(a.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(a.code,{children:"PageManager"})}),".",(0,s.jsx)(a.a,{href:"/api/@ima/core/classes/PageManager#premanage",children:(0,s.jsx)(a.code,{children:"preManage"})})]})]})}function h(e={}){const{wrapper:a}={...(0,c.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3023:(e,a,r)=>{r.d(a,{R:()=>i,x:()=>t});var n=r(3696);const s={},c=n.createContext(s);function i(e){const a=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function t(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(c.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/de443fde.2fe8567b.js b/assets/js/de443fde.2fe8567b.js new file mode 100644 index 000000000..3b7a228bd --- /dev/null +++ b/assets/js/de443fde.2fe8567b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3812],{7783:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"api/@ima/core/type-aliases/SerializedCacheEntry","title":"Type Alias: SerializedCacheEntry\\\\<V\\\\>","description":"SerializedCacheEntry\\\\: object","source":"@site/../docs/api/@ima/core/type-aliases/SerializedCacheEntry.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/SerializedCacheEntry","permalink":"/api/@ima/core/type-aliases/SerializedCacheEntry","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/SerializedCacheEntry.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: RouterMiddleware()","permalink":"/api/@ima/core/type-aliases/RouterMiddleware"},"next":{"title":"Type Alias: SerializedData\\\\<V\\\\>","permalink":"/api/@ima/core/type-aliases/SerializedData"}}');var i=t(2540),n=t(3023);const s={},c="Type Alias: SerializedCacheEntry<V>",l={},o=[{value:"Type Parameters",id:"type-parameters",level:2},{value:"Type declaration",id:"type-declaration",level:2},{value:"ttl",id:"ttl",level:3},{value:"value",id:"value",level:3}];function d(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.header,{children:(0,i.jsx)(a.h1,{id:"type-alias-serializedcacheentryv",children:"Type Alias: SerializedCacheEntry<V>"})}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.strong,{children:"SerializedCacheEntry"}),"<",(0,i.jsx)(a.code,{children:"V"}),">: ",(0,i.jsx)(a.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(a.p,{children:["Defined in: ",(0,i.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/cache/CacheEntry.ts#L1",children:"packages/core/src/cache/CacheEntry.ts:1"})]}),"\n",(0,i.jsx)(a.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(a.p,{children:["\u2022 ",(0,i.jsx)(a.strong,{children:"V"})]}),"\n",(0,i.jsx)(a.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,i.jsx)(a.h3,{id:"ttl",children:"ttl"}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.strong,{children:"ttl"}),": ",(0,i.jsx)(a.code,{children:"number"})," | ",(0,i.jsx)(a.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsx)(a.h3,{id:"value",children:"value"}),"\n",(0,i.jsxs)(a.blockquote,{children:["\n",(0,i.jsxs)(a.p,{children:[(0,i.jsx)(a.strong,{children:"value"}),": ",(0,i.jsx)(a.code,{children:"V"})]}),"\n"]})]})}function h(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>s,x:()=>c});var r=t(3696);const i={},n=r.createContext(i);function s(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/de6b82fb.412cd450.js b/assets/js/de6b82fb.412cd450.js new file mode 100644 index 000000000..49669c493 --- /dev/null +++ b/assets/js/de6b82fb.412cd450.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4140],{4715:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/classes/PageManager","title":"Class: abstract PageManager","description":"Defined in16","source":"@site/../docs/api/@ima/core/classes/PageManager.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/PageManager","permalink":"/api/@ima/core/classes/PageManager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/PageManager.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageHandlerRegistry","permalink":"/api/@ima/core/classes/PageHandlerRegistry"},"next":{"title":"Class: PageMetaHandler","permalink":"/api/@ima/core/classes/PageMetaHandler"}}');var s=a(2540),i=a(3023);const c={},t="Class: abstract PageManager",d={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new PageManager()",id:"new-pagemanager",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-1",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-2",level:4},{value:"manage()",id:"manage",level:3},{value:"Parameters",id:"parameters",level:4},{value:"args",id:"args",level:5},{value:"Returns",id:"returns-3",level:4},{value:"postManage()",id:"postmanage",level:3},{value:"Returns",id:"returns-4",level:4},{value:"preManage()",id:"premanage",level:3},{value:"Returns",id:"returns-5",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsxs)(n.h1,{id:"class-abstract-pagemanager",children:["Class: ",(0,s.jsx)(n.code,{children:"abstract"})," PageManager"]})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L16",children:"packages/core/src/page/manager/PageManager.ts:16"})]}),"\n",(0,s.jsx)(n.p,{children:"The page manager is a utility for managing the current controller and its\nview."}),"\n",(0,s.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/AbstractPageManager",children:(0,s.jsx)(n.code,{children:"AbstractPageManager"})})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(n.h3,{id:"new-pagemanager",children:"new PageManager()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"new PageManager"}),"(): ",(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(n.code,{children:"PageManager"})})]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/PageManager",children:(0,s.jsx)(n.code,{children:"PageManager"})})}),"\n",(0,s.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(n.h3,{id:"destroy",children:"destroy()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"destroy"}),"(): ",(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L68",children:"packages/core/src/page/manager/PageManager.ts:68"})]}),"\n",(0,s.jsx)(n.p,{children:"Finalization callback, called when the page manager is being discarded.\nThis usually happens when the page is hot-reloaded at the client side."}),"\n",(0,s.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"unknown"}),">"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"init",children:"init()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"init"}),"(): ",(0,s.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L20",children:"packages/core/src/page/manager/PageManager.ts:20"})]}),"\n",(0,s.jsx)(n.p,{children:"Initializes the page manager."}),"\n",(0,s.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"void"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"manage",children:"manage()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"manage"}),"(",(0,s.jsx)(n.code,{children:"args"}),"): ",(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L53",children:"packages/core/src/page/manager/PageManager.ts:53"})]}),"\n",(0,s.jsx)(n.p,{children:"Starts to manage the provided controller and its view. The manager\nstops the management of any previously managed controller and view."}),"\n",(0,s.jsx)(n.p,{children:"The controller and view will be initialized and rendered either into the\nUI (at the client-side) or to the response to send to the client (at the\nserver-side)."}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h5,{id:"args",children:"args"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/type-aliases/ManageArgs",children:(0,s.jsx)(n.code,{children:"ManageArgs"})})}),"\n",(0,s.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"unknown"}),">"]}),"\n",(0,s.jsxs)(n.p,{children:["A promise that will resolve to information about the rendered page.\nThe ",(0,s.jsx)(n.code,{children:"status"})," will contain the HTTP status code to send to the\nclient (at the server side) or determine the type of error page\nto navigate to (at the client side)."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"postmanage",children:"postManage()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"postManage"}),"(): ",(0,s.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L60",children:"packages/core/src/page/manager/PageManager.ts:60"})]}),"\n",(0,s.jsx)(n.p,{children:"Called by router after currently managed route is resolved."}),"\n",(0,s.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"void"})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"premanage",children:"preManage()"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"preManage"}),"(): ",(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/page/manager/PageManager.ts#L30",children:"packages/core/src/page/manager/PageManager.ts:30"})]}),"\n",(0,s.jsx)(n.p,{children:"Pre manage handler, should be called and awaited before tryint to handle\nnew route handler. This pre manage takes care of canceling any currently\nexecuted route handlers and returns promise which is resolved when previous\npage finished loading (even if it got canceled)."}),"\n",(0,s.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"Promise"}),"<",(0,s.jsx)(n.code,{children:"void"}),">"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3023:(e,n,a)=>{a.d(n,{R:()=>c,x:()=>t});var r=a(3696);const s={},i=r.createContext(s);function c(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/deb892ed.0651c018.js b/assets/js/deb892ed.0651c018.js deleted file mode 100644 index 0f7f8065d..000000000 --- a/assets/js/deb892ed.0651c018.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[470],{5680:(e,t,r)=>{r.d(t,{xA:()=>u,yg:()=>g});var n=r(6540);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var p=n.createContext({}),l=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,p=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=l(r),y=i,g=s["".concat(p,".").concat(y)]||s[y]||m[y]||a;return r?n.createElement(g,o(o({ref:t},u),{},{components:r})):n.createElement(g,o({ref:t},u))}));function g(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=y;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c[s]="string"==typeof e?e:i,o[1]=c;for(var l=2;l<a;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},3854:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var n=r(8102),i=(r(6540),r(5680));const a={id:"ima_core.RouteAction",title:"Interface: RouteAction",sidebar_label:"@ima/core.RouteAction",custom_edit_url:null},o=void 0,c={unversionedId:"api/interfaces/ima_core.RouteAction",id:"api/interfaces/ima_core.RouteAction",title:"Interface: RouteAction",description:"@ima/core.RouteAction",source:"@site/../docs/api/interfaces/ima_core.RouteAction.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.RouteAction",permalink:"/api/interfaces/ima_core.RouteAction",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.RouteAction",title:"Interface: RouteAction",sidebar_label:"@ima/core.RouteAction",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Resources",permalink:"/api/interfaces/ima_core.Resources"},next:{title:"@ima/core.RouteFactoryOptions",permalink:"/api/interfaces/ima_core.RouteFactoryOptions"}},p={},l=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"event",id:"event",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"type",id:"type",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"url",id:"url",level:3},{value:"Defined in",id:"defined-in-2",level:4}],u={toc:l},s="wrapper";function m(e){let{components:t,...r}=e;return(0,i.yg)(s,(0,n.A)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".RouteAction"),(0,i.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},(0,i.yg)("inlineCode",{parentName:"strong"},"RouteAction"))),(0,i.yg)("p",{parentName:"li"},"\u21b3 ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.PageAction"},(0,i.yg)("inlineCode",{parentName:"a"},"PageAction"))),(0,i.yg)("p",{parentName:"li"},"\u21b3 ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.PageAction"},(0,i.yg)("inlineCode",{parentName:"a"},"PageAction"))))),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"event"},"event"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"event"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"Event")),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L19"},"packages/core/src/router/Router.ts:19")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"type"},"type"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"type"),": ",(0,i.yg)("a",{parentName:"p",href:"/api/enums/ima_core.ActionTypes"},(0,i.yg)("inlineCode",{parentName:"a"},"ActionTypes"))),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L18"},"packages/core/src/router/Router.ts:18")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"url"},"url"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"url"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/Router.ts#L20"},"packages/core/src/router/Router.ts:20")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/df55d336.247395c1.js b/assets/js/df55d336.247395c1.js new file mode 100644 index 000000000..65693b585 --- /dev/null +++ b/assets/js/df55d336.247395c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[763],{7653:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/ExecutionJob","title":"Type Alias: ExecutionJob()","description":"ExecutionJob: (...args) => Promise\\\\ \\\\| unknown","source":"@site/../docs/api/@ima/core/type-aliases/ExecutionJob.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/ExecutionJob","permalink":"/api/@ima/core/type-aliases/ExecutionJob","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/ExecutionJob.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: EventBusOptions","permalink":"/api/@ima/core/type-aliases/EventBusOptions"},"next":{"title":"Type Alias: GenericErrorParams","permalink":"/api/@ima/core/type-aliases/GenericErrorParams"}}');var i=s(2540),r=s(3023);const o={},a="Type Alias: ExecutionJob()",c={},l=[{value:"Parameters",id:"parameters",level:2},{value:"args",id:"args",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"type-alias-executionjob",children:"Type Alias: ExecutionJob()"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"ExecutionJob"}),": (...",(0,i.jsx)(n.code,{children:"args"}),") => ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"unknown"}),"> | ",(0,i.jsx)(n.code,{children:"unknown"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/Execution.ts#L1",children:"packages/core/src/execution/Execution.ts:1"})]}),"\n",(0,i.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h3,{id:"args",children:"args"}),"\n",(0,i.jsxs)(n.p,{children:["...",(0,i.jsx)(n.code,{children:"unknown"}),"[]"]}),"\n",(0,i.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"unknown"}),"> | ",(0,i.jsx)(n.code,{children:"unknown"})]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var t=s(3696);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dfd43dc8.e6b9fc6c.js b/assets/js/dfd43dc8.e6b9fc6c.js new file mode 100644 index 000000000..9ed163f46 --- /dev/null +++ b/assets/js/dfd43dc8.e6b9fc6c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5465],{2516:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"api/@ima/plugin-cli/interfaces/Context","title":"Interface: Context","description":"Defined in71","source":"@site/../docs/api/@ima/plugin-cli/interfaces/Context.md","sourceDirName":"api/@ima/plugin-cli/interfaces","slug":"/api/@ima/plugin-cli/interfaces/Context","permalink":"/api/@ima/plugin-cli/interfaces/Context","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/plugin-cli/interfaces/Context.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"@ima/plugin-cli","permalink":"/api/@ima/plugin-cli/globals"},"next":{"title":"Interface: ImaPluginConfig","permalink":"/api/@ima/plugin-cli/interfaces/ImaPluginConfig"}}');var s=i(2540),c=i(3023);const r={},a="Interface: Context",l={},o=[{value:"Properties",id:"properties",level:2},{value:"command",id:"command",level:3},{value:"config",id:"config",level:3},{value:"cwd",id:"cwd",level:3},{value:"inputDir",id:"inputdir",level:3}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"interface-context",children:"Interface: Context"})}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L71",children:"types.ts:71"})]}),"\n",(0,s.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(n.h3,{id:"command",children:"command"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"command"}),": ",(0,s.jsx)(n.a,{href:"/api/@ima/plugin-cli/type-aliases/Command",children:(0,s.jsx)(n.code,{children:"Command"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L72",children:"types.ts:72"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"config",children:"config"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"config"}),": ",(0,s.jsx)(n.a,{href:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",children:(0,s.jsx)(n.code,{children:"ImaPluginConfig"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L74",children:"types.ts:74"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"cwd",children:"cwd"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"cwd"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L73",children:"types.ts:73"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"inputdir",children:"inputDir"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"inputDir"}),": ",(0,s.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/plugin-cli/src/types.ts#L75",children:"types.ts:75"})]})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>a});var t=i(3696);const s={},c=t.createContext(s);function r(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e02467ce.fe266eaa.js b/assets/js/e02467ce.fe266eaa.js new file mode 100644 index 000000000..4a4cf724f --- /dev/null +++ b/assets/js/e02467ce.fe266eaa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7327],{2206:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>o,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"api/@ima/core/classes/Observable","title":"Class: abstract Observable","description":"Defined in8","source":"@site/../docs/api/@ima/core/classes/Observable.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Observable","permalink":"/api/@ima/core/classes/Observable","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Observable.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ObjectContainer","permalink":"/api/@ima/core/classes/ObjectContainer"},"next":{"title":"Class: ObservableImpl","permalink":"/api/@ima/core/classes/ObservableImpl"}}');var i=r(2540),c=r(3023);const a={},t="Class: abstract Observable",l={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Observable()",id:"new-observable",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-1",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-2",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-3",level:4},{value:"registerPersistenEvent()",id:"registerpersistenevent",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"event",id:"event",level:5},{value:"Returns",id:"returns-4",level:4},{value:"subscribe()",id:"subscribe",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"event",id:"event-1",level:5},{value:"observer",id:"observer",level:5},{value:"scope?",id:"scope",level:5},{value:"Returns",id:"returns-5",level:4},{value:"unsubscribe()",id:"unsubscribe",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"event",id:"event-2",level:5},{value:"observer",id:"observer-1",level:5},{value:"scope?",id:"scope-1",level:5},{value:"Returns",id:"returns-6",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsxs)(s.h1,{id:"class-abstract-observable",children:["Class: ",(0,i.jsx)(s.code,{children:"abstract"})," Observable"]})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L8",children:"packages/core/src/event/Observable.ts:8"})]}),"\n",(0,i.jsx)(s.p,{children:"An Observable is a class that manages event listeners and allows distributing\nevents to the registered listeners. It maintains a history of events and supports\npersistent events that are not cleared during route changes."}),"\n",(0,i.jsx)(s.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ObservableImpl",children:(0,i.jsx)(s.code,{children:"ObservableImpl"})})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-observable",children:"new Observable()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new Observable"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})]}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"clear",children:"clear()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"clear"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L35",children:"packages/core/src/event/Observable.ts:35"})]}),"\n",(0,i.jsx)(s.p,{children:"Clears all persistent events, observers, and activity history from the observable."}),"\n",(0,i.jsx)(s.p,{children:"This method will remove all stored events, registered observers, and any recorded\nactivity history, effectively resetting the observable to its initial state."}),"\n",(0,i.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"destroy",children:"destroy()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"destroy"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L23",children:"packages/core/src/event/Observable.ts:23"})]}),"\n",(0,i.jsx)(s.p,{children:"Destroys the observable by clearing its internal state and removing all event listeners."}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"init"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L14",children:"packages/core/src/event/Observable.ts:14"})]}),"\n",(0,i.jsx)(s.p,{children:"Initializes the observable."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Observable",children:(0,i.jsx)(s.code,{children:"Observable"})})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"registerpersistenevent",children:"registerPersistenEvent()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"registerPersistenEvent"}),"<",(0,i.jsx)(s.code,{children:"E"}),">(",(0,i.jsx)(s.code,{children:"event"}),"): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L45",children:"packages/core/src/event/Observable.ts:45"})]}),"\n",(0,i.jsxs)(s.p,{children:["Registers an event as persistent, meaning its history won't be cleared upon calling the ",(0,i.jsx)(s.code,{children:"clear"})," method (route change)."]}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"E"})," ",(0,i.jsx)(s.em,{children:"extends"})," keyof ",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,i.jsx)(s.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"E"})}),"\n",(0,i.jsx)(s.p,{children:"The name of the event to be registered as persistent. This can be a key from the DispatcherEventsMap or any string."}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"subscribe",children:"subscribe()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"subscribe"}),"<",(0,i.jsx)(s.code,{children:"E"}),">(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"observer"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L63",children:"packages/core/src/event/Observable.ts:63"})]}),"\n",(0,i.jsx)(s.p,{children:"Subscribes an observer to a specific event. When the event is dispatched,\nthe observer will be notified and executed within the provided scope.\nIf the event has already occurred, the observer will be immediately\ninvoked with the historical data."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"E"})," ",(0,i.jsx)(s.em,{children:"extends"})," keyof ",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,i.jsx)(s.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-1",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"E"})}),"\n",(0,i.jsx)(s.p,{children:"The event to subscribe to."}),"\n",(0,i.jsx)(s.h5,{id:"observer",children:"observer"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The observer function to be called when the event is\ndispatched."}),"\n",(0,i.jsx)(s.h5,{id:"scope",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsx)(s.p,{children:"The scope in which the observer function should be executed.\nThis is optional."}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"The instance of the Observable for chaining."}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"unsubscribe",children:"unsubscribe()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"unsubscribe"}),"<",(0,i.jsx)(s.code,{children:"E"}),">(",(0,i.jsx)(s.code,{children:"event"}),", ",(0,i.jsx)(s.code,{children:"observer"}),", ",(0,i.jsx)(s.code,{children:"scope"}),"?): ",(0,i.jsx)(s.code,{children:"this"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/Observable.ts#L80",children:"packages/core/src/event/Observable.ts:80"})]}),"\n",(0,i.jsx)(s.p,{children:"Unsubscribes an observer from a specific event."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"E"})," ",(0,i.jsx)(s.em,{children:"extends"})," keyof ",(0,i.jsx)(s.a,{href:"/api/@ima/core/interfaces/DispatcherEventsMap",children:(0,i.jsx)(s.code,{children:"DispatcherEventsMap"})})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"event-2",children:"event"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"E"})}),"\n",(0,i.jsx)(s.p,{children:"The event name or key from the DispatcherEventsMap."}),"\n",(0,i.jsx)(s.h5,{id:"observer-1",children:"observer"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DispatcherListener",children:(0,i.jsx)(s.code,{children:"DispatcherListener"})}),"<",(0,i.jsx)(s.code,{children:"any"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The observer (listener) to be unsubscribed."}),"\n",(0,i.jsx)(s.h5,{id:"scope-1",children:"scope?"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"unknown"})}),"\n",(0,i.jsx)(s.p,{children:"Optional scope to be used for the observer."}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"this"})}),"\n",(0,i.jsx)(s.p,{children:"The current instance for chaining."})]})}function o(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>a,x:()=>t});var n=r(3696);const i={},c=n.createContext(i);function a(e){const s=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e05bec59.b3660929.js b/assets/js/e05bec59.b3660929.js new file mode 100644 index 000000000..5a2423cd3 --- /dev/null +++ b/assets/js/e05bec59.b3660929.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3215],{7597:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api/@ima/core/classes/ObjectContainer","title":"Class: ObjectContainer","description":"Defined in61","source":"@site/../docs/api/@ima/core/classes/ObjectContainer.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ObjectContainer","permalink":"/api/@ima/core/classes/ObjectContainer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ObjectContainer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: Namespace","permalink":"/api/@ima/core/classes/Namespace"},"next":{"title":"Class: abstract Observable","permalink":"/api/@ima/core/classes/Observable"}}');var c=s(2540),i=s(3023);const t={},a="Class: ObjectContainer",d={},l=[{value:"Constructors",id:"constructors",level:2},{value:"new ObjectContainer()",id:"new-objectcontainer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"namespace",id:"namespace",level:5},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"_createEntry()",id:"_createentry",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"classConstructor",id:"classconstructor",level:5},{value:"dependencies?",id:"dependencies",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_createInstanceFromEntry()",id:"_createinstancefromentry",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"entry",id:"entry",level:5},{value:"dependencies",id:"dependencies-1",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_getEntry()",id:"_getentry",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"name",id:"name",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Throws",id:"throws",level:4},{value:"_getEntryFromClassConstructor()",id:"_getentryfromclassconstructor",level:3},{value:"Type Parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"classConstructor",id:"classconstructor-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_getEntryFromConstant()",id:"_getentryfromconstant",level:3},{value:"Type Parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-5",level:4},{value:"compositionName",id:"compositionname",level:5},{value:"Returns",id:"returns-5",level:4},{value:"_getEntryFromNamespace()",id:"_getentryfromnamespace",level:3},{value:"Type Parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"path",id:"path",level:5},{value:"Returns",id:"returns-6",level:4},{value:"_isOptional()",id:"_isoptional",level:3},{value:"Type Parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"name",id:"name-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"_isSpread()",id:"_isspread",level:3},{value:"Type Parameters",id:"type-parameters-7",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"name",id:"name-2",level:5},{value:"Returns",id:"returns-8",level:4},{value:"_updateEntryValues()",id:"_updateentryvalues",level:3},{value:"Type Parameters",id:"type-parameters-8",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"entry",id:"entry-1",level:5},{value:"classConstructor",id:"classconstructor-2",level:5},{value:"dependencies",id:"dependencies-2",level:5},{value:"Returns",id:"returns-9",level:4},{value:"bind()",id:"bind",level:3},{value:"Type Parameters",id:"type-parameters-9",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"name",id:"name-3",level:5},{value:"classConstructor",id:"classconstructor-3",level:5},{value:"dependencies?",id:"dependencies-3",level:5},{value:"Returns",id:"returns-10",level:4},{value:"clear()",id:"clear",level:3},{value:"Returns",id:"returns-11",level:4},{value:"constant()",id:"constant",level:3},{value:"Type Parameters",id:"type-parameters-10",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"name",id:"name-4",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-12",level:4},{value:"create()",id:"create",level:3},{value:"Type Parameters",id:"type-parameters-11",level:4},{value:"Parameters",id:"parameters-12",level:4},{value:"name",id:"name-5",level:5},{value:"dependencies",id:"dependencies-4",level:5},{value:"Returns",id:"returns-13",level:4},{value:"get()",id:"get",level:3},{value:"Type Parameters",id:"type-parameters-12",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"name",id:"name-6",level:5},{value:"Returns",id:"returns-14",level:4},{value:"getConstructorOf()",id:"getconstructorof",level:3},{value:"Type Parameters",id:"type-parameters-13",level:4},{value:"Parameters",id:"parameters-14",level:4},{value:"name",id:"name-7",level:5},{value:"Returns",id:"returns-15",level:4},{value:"has()",id:"has",level:3},{value:"Type Parameters",id:"type-parameters-14",level:4},{value:"Parameters",id:"parameters-15",level:4},{value:"name",id:"name-8",level:5},{value:"Returns",id:"returns-16",level:4},{value:"inject()",id:"inject",level:3},{value:"Type Parameters",id:"type-parameters-15",level:4},{value:"Parameters",id:"parameters-16",level:4},{value:"classConstructor",id:"classconstructor-4",level:5},{value:"dependencies",id:"dependencies-5",level:5},{value:"Returns",id:"returns-17",level:4},{value:"provide()",id:"provide",level:3},{value:"Type Parameters",id:"type-parameters-16",level:4},{value:"Parameters",id:"parameters-17",level:4},{value:"interfaceConstructor",id:"interfaceconstructor",level:5},{value:"implementationConstructor",id:"implementationconstructor",level:5},{value:"dependencies?",id:"dependencies-6",level:5},{value:"Returns",id:"returns-18",level:4},{value:"setBindingState()",id:"setbindingstate",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"bindingState",id:"bindingstate",level:5},{value:"bindingPluginName?",id:"bindingpluginname",level:5},{value:"Returns",id:"returns-19",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"class-objectcontainer",children:"Class: ObjectContainer"})}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L61",children:"packages/core/src/oc/ObjectContainer.ts:61"})]}),"\n",(0,c.jsx)(n.p,{children:"The Object Container is an enhanced dependency injector with support for\naliases and constants, and allowing to reference classes in the application\nnamespace by specifying their fully qualified names."}),"\n",(0,c.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,c.jsx)(n.h3,{id:"new-objectcontainer",children:"new ObjectContainer()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"new ObjectContainer"}),"(",(0,c.jsx)(n.code,{children:"namespace"}),"): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,c.jsx)(n.code,{children:"ObjectContainer"})})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L91",children:"packages/core/src/oc/ObjectContainer.ts:91"})]}),"\n",(0,c.jsx)(n.p,{children:"Initializes the object container."}),"\n",(0,c.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"namespace",children:"namespace"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,c.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,c.jsx)(n.p,{children:"The namespace container, used to\naccess classes and values using their fully qualified names."}),"\n",(0,c.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,c.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,c.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,c.jsx)(n.h3,{id:"_createentry",children:"_createEntry()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_createEntry"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"classConstructor"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"?, ",(0,c.jsx)(n.code,{children:"options"}),"?): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L648",children:"packages/core/src/oc/ObjectContainer.ts:648"})]}),"\n",(0,c.jsx)(n.p,{children:"Creates a new entry for the provided class or factory function, the\nprovided dependencies and entry options."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"classconstructor",children:"classConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"EntryConstructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The\nclass constructor or factory function."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies",children:"dependencies?"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor or factory function."}),"\n",(0,c.jsx)(n.h5,{id:"options",children:"options?"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EntryOptions",children:(0,c.jsx)(n.code,{children:"EntryOptions"})})}),"\n",(0,c.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"Created instance or generated value."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_createinstancefromentry",children:"_createInstanceFromEntry()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_createInstanceFromEntry"}),"<",(0,c.jsx)(n.code,{children:"T"}),", ",(0,c.jsx)(n.code,{children:"E"}),">(",(0,c.jsx)(n.code,{children:"entry"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"): ",(0,c.jsx)(n.code,{children:"T"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L687",children:"packages/core/src/oc/ObjectContainer.ts:687"})]}),"\n",(0,c.jsx)(n.p,{children:"Creates a new instance of the class or retrieves the value generated by\nthe factory function represented by the provided entry, passing in the\nprovided dependencies."}),"\n",(0,c.jsx)(n.p,{children:"The method uses the dependencies specified by the entry if no custom\ndependencies are provided."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"E"})," ",(0,c.jsx)(n.em,{children:"extends"})," ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"entry",children:"entry"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"E"})}),"\n",(0,c.jsx)(n.p,{children:"The entry representing the class that should\nhave its instance created or factory faction to use to create a\nvalue."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies-1",children:"dependencies"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[] = ",(0,c.jsx)(n.code,{children:"[]"})]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor or factory function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"T"})}),"\n",(0,c.jsx)(n.p,{children:"Created instance or generated value."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_getentry",children:"_getEntry()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_getEntry"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),"): ",(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L536",children:"packages/core/src/oc/ObjectContainer.ts:536"})]}),"\n",(0,c.jsx)(n.p,{children:"Retrieves the entry for the specified constant, alias, class or factory\nfunction, interface, or fully qualified namespace path (the method\nchecks these in this order in case of a name clash)."}),"\n",(0,c.jsx)(n.p,{children:"The method retrieves an existing entry even if a qualified namespace\npath is provided (if the target class or interface has been configured\nin this object container)."}),"\n",(0,c.jsxs)(n.p,{children:["The method throws an ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Error",children:"Error"})," if no such constant, alias,\nregistry, interface implementation is known to this object container and\nthe provided identifier is not a valid namespace path specifying an\nexisting class, interface or value."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name",children:"name"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/Dependency",children:(0,c.jsx)(n.code,{children:"Dependency"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"Name of a constant or alias,\nfactory function, class or interface constructor, or a fully\nqualified namespace path."}),"\n",(0,c.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The retrieved entry."}),"\n",(0,c.jsx)(n.h4,{id:"throws",children:"Throws"}),"\n",(0,c.jsx)(n.p,{children:"If no such constant, alias, registry, interface\nimplementation is known to this object container."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_getentryfromclassconstructor",children:"_getEntryFromClassConstructor()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_getEntryFromClassConstructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"classConstructor"}),"): ",(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L842",children:"packages/core/src/oc/ObjectContainer.ts:842"})]}),"\n",(0,c.jsx)(n.p,{children:"Retrieves the class denoted by the provided class constructor."}),"\n",(0,c.jsxs)(n.p,{children:["The method then checks whether there are defined ",(0,c.jsx)(n.code,{children:"$dependencies"}),"\nproperty for class. Then the class is registered to this object\ncontainer."]}),"\n",(0,c.jsxs)(n.p,{children:["The method returns the entry for the class if the specified class\ndoes not have defined ",(0,c.jsx)(n.code,{children:"$dependencies"})," property return\n",(0,c.jsx)(n.code,{children:"null"}),"."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-3",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"classconstructor-1",children:"classConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,c.jsx)(n.code,{children:"OCInjectable"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsxs)(n.p,{children:["An entry representing the value at the specified\nclassConstructor. The method returns ",(0,c.jsx)(n.code,{children:"null"}),"\nif the specified classConstructor does not have defined\n",(0,c.jsx)(n.code,{children:"$dependencies"}),"."]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_getentryfromconstant",children:"_getEntryFromConstant()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_getEntryFromConstant"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"compositionName"}),"): ",(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<() => ",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L748",children:"packages/core/src/oc/ObjectContainer.ts:748"})]}),"\n",(0,c.jsx)(n.p,{children:"Retrieves the constant value denoted by the provided fully qualified\ncomposition name."}),"\n",(0,c.jsxs)(n.p,{children:["The method returns the entry for the constant if the constant is registered\nwith this object container, otherwise return ",(0,c.jsx)(n.code,{children:"null"}),"."]}),"\n",(0,c.jsxs)(n.p,{children:["Finally, if the constant composition name does not resolve to value,\nthe method return ",(0,c.jsx)(n.code,{children:"null"}),"."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-4",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"compositionname",children:"compositionName"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"string"})}),"\n",(0,c.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<() => ",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsxs)(n.p,{children:["An entry representing the value at the specified\ncomposition name in the constants. The method returns ",(0,c.jsx)(n.code,{children:"null"}),"\nif the specified composition name does not exist in the constants."]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_getentryfromnamespace",children:"_getEntryFromNamespace()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_getEntryFromNamespace"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"path"}),"): ",(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L804",children:"packages/core/src/oc/ObjectContainer.ts:804"})]}),"\n",(0,c.jsx)(n.p,{children:"Retrieves the class denoted by the provided fully qualified name within\nthe application namespace."}),"\n",(0,c.jsx)(n.p,{children:'The method then checks whether there are dependencies configured for the\nclass, no matter whether the class is an implementation class or an\n"interface" class.'}),"\n",(0,c.jsx)(n.p,{children:"The method returns the entry for the class if the class is registered\nwith this object container, otherwise an unregistered entry is created\nand returned."}),"\n",(0,c.jsx)(n.p,{children:"Finally, if the namespace path does not resolve to a class, the method\nreturn an unregistered entry resolved to the value denoted by the\nnamespace path."}),"\n",(0,c.jsxs)(n.p,{children:["Alternatively, if a constructor function is passed in instead of a\nnamespace path, the method returns ",(0,c.jsx)(n.code,{children:"null"}),"."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-5",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"path",children:"path"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"string"})}),"\n",(0,c.jsx)(n.p,{children:"Namespace path pointing to\na class or a value in the application namespace, or a constructor\nfunction."}),"\n",(0,c.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsxs)(n.p,{children:["An entry representing the value or class at the\nspecified path in the namespace. The method returns ",(0,c.jsx)(n.code,{children:"null"}),"\nif the specified path does not exist in the namespace."]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_isoptional",children:"_isOptional()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_isOptional"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),"): ",(0,c.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L594",children:"packages/core/src/oc/ObjectContainer.ts:594"})]}),"\n",(0,c.jsx)(n.p,{children:"Checks whether the name is marked as optional."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-6",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-1",children:"name"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/Dependency",children:(0,c.jsx)(n.code,{children:"Dependency"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"Name of a constant or alias,\nfactory function, class or interface constructor, or a fully\nqualified namespace path."}),"\n",(0,c.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"boolean"})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_isspread",children:"_isSpread()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_isSpread"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),"): ",(0,c.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L608",children:"packages/core/src/oc/ObjectContainer.ts:608"})]}),"\n",(0,c.jsx)(n.p,{children:"Checks whether the name is marked as spread."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-7",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-2",children:"name"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/Dependency",children:(0,c.jsx)(n.code,{children:"Dependency"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"Name of a constant or alias,\nfactory function, class or interface constructor, or a fully\nqualified namespace path."}),"\n",(0,c.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"boolean"})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"_updateentryvalues",children:"_updateEntryValues()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"_updateEntryValues"}),"<",(0,c.jsx)(n.code,{children:"T"}),", ",(0,c.jsx)(n.code,{children:"E"}),">(",(0,c.jsx)(n.code,{children:"entry"}),", ",(0,c.jsx)(n.code,{children:"classConstructor"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"): ",(0,c.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L627",children:"packages/core/src/oc/ObjectContainer.ts:627"})]}),"\n",(0,c.jsx)(n.p,{children:"The method update classConstructor and dependencies for defined entry.\nThe entry throw Error for constants and if you try override dependencies\nmore than once."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-8",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"E"})," ",(0,c.jsx)(n.em,{children:"extends"})," ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/Entry",children:(0,c.jsx)(n.code,{children:"Entry"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"entry-1",children:"entry"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"E"})}),"\n",(0,c.jsx)(n.p,{children:"The entry representing the class that should\nhave its instance created or factory faction to use to create a\nvalue."}),"\n",(0,c.jsx)(n.h5,{id:"classconstructor-2",children:"classConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,c.jsx)(n.code,{children:"OCInjectable"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The\nclass constructor or factory function."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies-2",children:"dependencies"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor or factory function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"void"})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"bind",children:"bind()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"bind"}),"<",(0,c.jsx)(n.code,{children:"T"}),", ",(0,c.jsx)(n.code,{children:"C"}),">(",(0,c.jsx)(n.code,{children:"name"}),", ",(0,c.jsx)(n.code,{children:"classConstructor"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"?): ",(0,c.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L115",children:"packages/core/src/oc/ObjectContainer.ts:115"})]}),"\n",(0,c.jsx)(n.p,{children:"Binds the specified class or factory function and dependencies to the\nspecified alias. Binding a class or factory function to an alias allows\nthe class or function to be specified as a dependency by specifying the\nalias and creating new instances by referring to the class or function\nby the alias."}),"\n",(0,c.jsx)(n.p,{children:"Also note that the same class or function may be bound to several\naliases and each may use different dependencies."}),"\n",(0,c.jsx)(n.p,{children:"The alias will use the default dependencies bound for the class if no\ndependencies are provided."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-9",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})," ",(0,c.jsx)(n.em,{children:"extends"})," keyof ",(0,c.jsx)(n.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,c.jsx)(n.code,{children:"OCAliasMap"})})]}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"C"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-3",children:"name"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"T"})}),"\n",(0,c.jsx)(n.p,{children:"Alias name."}),"\n",(0,c.jsx)(n.h5,{id:"classconstructor-3",children:"classConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,c.jsx)(n.code,{children:"OCInjectable"})}),"<",(0,c.jsx)(n.code,{children:"C"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The\nclass constructor or a factory function."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies-3",children:"dependencies?"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor or factory function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"this"})}),"\n",(0,c.jsx)(n.p,{children:"This object container."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"clear",children:"clear()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"clear"}),"(): ",(0,c.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L486",children:"packages/core/src/oc/ObjectContainer.ts:486"})]}),"\n",(0,c.jsx)(n.p,{children:"Clears all entries from this object container and resets the locking\nmechanism of this object container."}),"\n",(0,c.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"this"})}),"\n",(0,c.jsx)(n.p,{children:"This object container."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"constant",children:"constant()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"constant"}),"<",(0,c.jsx)(n.code,{children:"T"}),", ",(0,c.jsx)(n.code,{children:"V"}),">(",(0,c.jsx)(n.code,{children:"name"}),", ",(0,c.jsx)(n.code,{children:"value"}),"): ",(0,c.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L201",children:"packages/core/src/oc/ObjectContainer.ts:201"})]}),"\n",(0,c.jsxs)(n.p,{children:["Defines a new constant registered with this object container. Note that\nthis is the only way of passing ",(0,c.jsx)(n.code,{children:"string"})," values to constructors\nbecause the object container treats strings as class, interface, alias\nor constant names."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-10",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})," ",(0,c.jsx)(n.em,{children:"extends"})," keyof ",(0,c.jsx)(n.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,c.jsx)(n.code,{children:"OCAliasMap"})})]}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"V"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-4",children:"name"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"T"})}),"\n",(0,c.jsx)(n.p,{children:"The constant name."}),"\n",(0,c.jsx)(n.h5,{id:"value",children:"value"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"V"})}),"\n",(0,c.jsx)(n.p,{children:"The constant value."}),"\n",(0,c.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"this"})}),"\n",(0,c.jsx)(n.p,{children:"This object container."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"create",children:"create()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"create"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstance",children:(0,c.jsx)(n.code,{children:"OCInstance"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L464",children:"packages/core/src/oc/ObjectContainer.ts:464"})]}),"\n",(0,c.jsx)(n.p,{children:"Creates a new instance of the class or retrieves the value generated by\nthe factory function identified by the provided name, class, interface,\nor factory function, passing in the provided dependencies."}),"\n",(0,c.jsx)(n.p,{children:"The method uses the dependencies specified when the class, interface or\nfactory function has been registered with the object container if no\ncustom dependencies are provided."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-11",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})," ",(0,c.jsx)(n.em,{children:"extends"})," ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstanceConstrain",children:(0,c.jsx)(n.code,{children:"OCInstanceConstrain"})}),"<",(0,c.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-5",children:"name"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"T"})}),"\n",(0,c.jsx)(n.p,{children:"The name\nof the alias, class, interface, or the class, interface or a\nfactory function to use."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies-4",children:"dependencies"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[] = ",(0,c.jsx)(n.code,{children:"[]"})]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor or factory function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstance",children:(0,c.jsx)(n.code,{children:"OCInstance"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"Created instance or generated value."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"get",children:"get()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"get"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),"): ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstance",children:(0,c.jsx)(n.code,{children:"OCInstance"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L401",children:"packages/core/src/oc/ObjectContainer.ts:401"})]}),"\n",(0,c.jsx)(n.p,{children:"Retrieves the shared instance or value of the specified constant, alias,\nclass or factory function, interface, or fully qualified namespace path\n(the method checks these in this order in case of a name clash)."}),"\n",(0,c.jsx)(n.p,{children:"The instance or value is created lazily the first time it is requested."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-12",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})," ",(0,c.jsx)(n.em,{children:"extends"})," ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstanceConstrain",children:(0,c.jsx)(n.code,{children:"OCInstanceConstrain"})}),"<",(0,c.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-6",children:"name"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"T"})}),"\n",(0,c.jsx)(n.p,{children:"The name\nof the alias, class, interface, or the class, interface or a\nfactory function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInstance",children:(0,c.jsx)(n.code,{children:"OCInstance"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The shared instance or value."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"getconstructorof",children:"getConstructorOf()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"getConstructorOf"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),"): ",(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.code,{children:"Constructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L419",children:"packages/core/src/oc/ObjectContainer.ts:419"})]}),"\n",(0,c.jsx)(n.p,{children:"Returns the class constructor function of the specified class."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-13",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})," ",(0,c.jsx)(n.em,{children:"extends"})," keyof OCAliasMap | ",(0,c.jsx)(n.code,{children:"Constructor"}),"<",(0,c.jsx)(n.code,{children:"any"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-7",children:"name"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"T"})}),"\n",(0,c.jsx)(n.p,{children:"The name by which the class\nis registered with this object container."}),"\n",(0,c.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"null"})," | ",(0,c.jsx)(n.code,{children:"Constructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The constructor function."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"has",children:"has()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"has"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"name"}),"): ",(0,c.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L439",children:"packages/core/src/oc/ObjectContainer.ts:439"})]}),"\n",(0,c.jsxs)(n.p,{children:["Returns ",(0,c.jsx)(n.code,{children:"true"})," if the specified object, class or resource is\nregistered with this object container."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-14",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"name-8",children:"name"}),"\n",(0,c.jsx)(n.p,{children:"The resource name."}),"\n",(0,c.jsxs)(n.p,{children:["keyof OCAliasMap | ",(0,c.jsx)(n.a,{href:"/api/@ima/core/type-aliases/OCInjectable",children:(0,c.jsx)(n.code,{children:"OCInjectable"})}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"boolean"})}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"true"})," if the specified object, class or\nresource is registered with this object container."]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"inject",children:"inject()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"inject"}),"<",(0,c.jsx)(n.code,{children:"T"}),">(",(0,c.jsx)(n.code,{children:"classConstructor"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"): ",(0,c.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L245",children:"packages/core/src/oc/ObjectContainer.ts:245"})]}),"\n",(0,c.jsx)(n.p,{children:"Configures the object loader with the specified default dependencies for\nthe specified class."}),"\n",(0,c.jsx)(n.p,{children:"New instances of the class created by this object container will receive\nthe provided dependencies into constructor unless custom dependencies\nare provided."}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-15",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"classconstructor-4",children:"classConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"Constructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The class constructor."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies-5",children:"dependencies"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"this"})}),"\n",(0,c.jsx)(n.p,{children:"This object container."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"provide",children:"provide()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"provide"}),"<",(0,c.jsx)(n.code,{children:"T"}),", ",(0,c.jsx)(n.code,{children:"I"}),">(",(0,c.jsx)(n.code,{children:"interfaceConstructor"}),", ",(0,c.jsx)(n.code,{children:"implementationConstructor"}),", ",(0,c.jsx)(n.code,{children:"dependencies"}),"?): ",(0,c.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L320",children:"packages/core/src/oc/ObjectContainer.ts:320"})]}),"\n",(0,c.jsx)(n.p,{children:"Configures the default implementation of the specified interface to use\nwhen an implementation provider of the specified interface is requested\nfrom this object container."}),"\n",(0,c.jsxs)(n.p,{children:["The implementation constructor will obtain the provided default\ndependencies or the dependencies provided to the ",(0,c.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer#create",children:"()"}),"\nmethod."]}),"\n",(0,c.jsx)(n.h4,{id:"type-parameters-16",children:"Type Parameters"}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"T"})]}),"\n",(0,c.jsxs)(n.p,{children:["\u2022 ",(0,c.jsx)(n.strong,{children:"I"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"interfaceconstructor",children:"interfaceConstructor"}),"\n",(0,c.jsx)(n.p,{children:"The constructor\nof the interface representing the service."}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"Constructor"}),"<",(0,c.jsx)(n.code,{children:"I"}),"> | ",(0,c.jsx)(n.code,{children:"AbstractConstructor"}),"<",(0,c.jsx)(n.code,{children:"I"}),">"]}),"\n",(0,c.jsx)(n.h5,{id:"implementationconstructor",children:"implementationConstructor"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"Constructor"}),"<",(0,c.jsx)(n.code,{children:"T"}),">"]}),"\n",(0,c.jsx)(n.p,{children:"The constructor of the class implementing the service interface."}),"\n",(0,c.jsx)(n.h5,{id:"dependencies-6",children:"dependencies?"}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"any"}),"[]"]}),"\n",(0,c.jsx)(n.p,{children:"The dependencies to pass into the\nconstructor function."}),"\n",(0,c.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"this"})}),"\n",(0,c.jsx)(n.p,{children:"This object container."}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h3,{id:"setbindingstate",children:"setBindingState()"}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"setBindingState"}),"(",(0,c.jsx)(n.code,{children:"bindingState"}),", ",(0,c.jsx)(n.code,{children:"bindingPluginName"}),"?): ",(0,c.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,c.jsxs)(n.p,{children:["Defined in: ",(0,c.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L494",children:"packages/core/src/oc/ObjectContainer.ts:494"})]}),"\n",(0,c.jsx)(n.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,c.jsx)(n.h5,{id:"bindingstate",children:"bindingState"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/api/@ima/core/enumerations/BindingState",children:(0,c.jsx)(n.code,{children:"BindingState"})})}),"\n",(0,c.jsx)(n.h5,{id:"bindingpluginname",children:"bindingPluginName?"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"string"})}),"\n",(0,c.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.code,{children:"void"})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>a});var r=s(3696);const c={},i=r.createContext(c);function t(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:t(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e06953e7.9439d835.js b/assets/js/e06953e7.9439d835.js deleted file mode 100644 index d21874605..000000000 --- a/assets/js/e06953e7.9439d835.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7303],{5680:(e,n,t)=>{t.d(n,{xA:()=>u,yg:()=>g});var r=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var o=r.createContext({}),c=function(e){var n=r.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=c(e.components);return r.createElement(o.Provider,{value:n},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),s=c(t),d=i,g=s["".concat(o,".").concat(d)]||s[d]||m[d]||a;return t?r.createElement(g,l(l({ref:n},u),{},{components:t})):r.createElement(g,l({ref:n},u))}));function g(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,l=new Array(a);l[0]=d;var p={};for(var o in n)hasOwnProperty.call(n,o)&&(p[o]=n[o]);p.originalType=e,p[s]="string"==typeof e?e:i,l[1]=p;for(var c=2;c<a;c++)l[c]=t[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},4831:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>a,metadata:()=>p,toc:()=>c});var r=t(8102),i=(t(6540),t(5680));const a={id:"ima_plugin_cli.Source",title:"Interface: Source",sidebar_label:"@ima/plugin-cli.Source",custom_edit_url:null},l=void 0,p={unversionedId:"api/interfaces/ima_plugin_cli.Source",id:"api/interfaces/ima_plugin_cli.Source",title:"Interface: Source",description:"@ima/plugin-cli.Source",source:"@site/../docs/api/interfaces/ima_plugin_cli.Source.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_plugin_cli.Source",permalink:"/api/interfaces/ima_plugin_cli.Source",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_plugin_cli.Source",title:"Interface: Source",sidebar_label:"@ima/plugin-cli.Source",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/plugin-cli.PipeContext",permalink:"/api/interfaces/ima_plugin_cli.PipeContext"},next:{title:"@ima/react-page-renderer.PageContextType",permalink:"/api/interfaces/ima_react_page_renderer.PageContextType"}},o={},c=[{value:"Properties",id:"properties",level:2},{value:"code",id:"code",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"fileName",id:"filename",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"map",id:"map",level:3},{value:"Defined in",id:"defined-in-2",level:4}],u={toc:c},s="wrapper";function m(e){let{components:n,...t}=e;return(0,i.yg)(s,(0,r.A)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_plugin_cli"},"@ima/plugin-cli"),".Source"),(0,i.yg)("h2",{id:"properties"},"Properties"),(0,i.yg)("h3",{id:"code"},"code"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"code"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L91"},"types.ts:91")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"filename"},"fileName"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("strong",{parentName:"p"},"fileName"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L90"},"types.ts:90")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"map"},"map"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,i.yg)("strong",{parentName:"p"},"map"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/plugin-cli/src/types.ts#L92"},"types.ts:92")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e19de693.87cbb1d0.js b/assets/js/e19de693.87cbb1d0.js deleted file mode 100644 index c27e68730..000000000 --- a/assets/js/e19de693.87cbb1d0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[4671],{5680:(e,i,n)=>{n.d(i,{xA:()=>g,yg:()=>f});var t=n(6540);function a(e,i,n){return i in e?Object.defineProperty(e,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[i]=n,e}function r(e,i){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);i&&(t=t.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,t)}return n}function o(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?r(Object(n),!0).forEach((function(i){a(e,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))}))}return e}function p(e,i){if(null==e)return{};var n,t,a=function(e,i){if(null==e)return{};var n,t,a={},r=Object.keys(e);for(t=0;t<r.length;t++)n=r[t],i.indexOf(n)>=0||(a[n]=e[n]);return a}(e,i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)n=r[t],i.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=t.createContext({}),l=function(e){var i=t.useContext(s),n=i;return e&&(n="function"==typeof e?e(i):o(o({},i),e)),n},g=function(e){var i=l(e.components);return t.createElement(s.Provider,{value:i},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var i=e.children;return t.createElement(t.Fragment,{},i)}},d=t.forwardRef((function(e,i){var n=e.components,a=e.mdxType,r=e.originalType,s=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),c=l(n),d=a,f=c["".concat(s,".").concat(d)]||c[d]||m[d]||r;return n?t.createElement(f,o(o({ref:i},g),{},{components:n})):t.createElement(f,o({ref:i},g))}));function f(e,i){var n=arguments,a=i&&i.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=d;var p={};for(var s in i)hasOwnProperty.call(i,s)&&(p[s]=i[s]);p.originalType=e,p[c]="string"==typeof e?e:a,o[1]=p;for(var l=2;l<r;l++)o[l]=n[l];return t.createElement.apply(null,o)}return t.createElement.apply(null,n)}d.displayName="MDXCreateElement"},5963:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>r,metadata:()=>p,toc:()=>l});var t=n(8102),a=(n(6540),n(5680));const r={id:"ima_core.BootConfig",title:"Interface: BootConfig",sidebar_label:"@ima/core.BootConfig",custom_edit_url:null},o=void 0,p={unversionedId:"api/interfaces/ima_core.BootConfig",id:"api/interfaces/ima_core.BootConfig",title:"Interface: BootConfig",description:"@ima/core.BootConfig",source:"@site/../docs/api/interfaces/ima_core.BootConfig.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.BootConfig",permalink:"/api/interfaces/ima_core.BootConfig",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.BootConfig",title:"Interface: BootConfig",sidebar_label:"@ima/core.BootConfig",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.AppEnvironment",permalink:"/api/interfaces/ima_core.AppEnvironment"},next:{title:"@ima/core.BootServices",permalink:"/api/interfaces/ima_core.BootServices"}},s={},l=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Properties",id:"properties",level:2},{value:"bind",id:"bind",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"initBindApp",id:"initbindapp",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"initBindIma",id:"initbindima",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"initRoutes",id:"initroutes",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"initServicesApp",id:"initservicesapp",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"initServicesIma",id:"initservicesima",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"initSettings",id:"initsettings",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"plugins",id:"plugins",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"routes",id:"routes",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"services",id:"services",level:3},{value:"Defined in",id:"defined-in-9",level:4},{value:"settings",id:"settings",level:3},{value:"Defined in",id:"defined-in-10",level:4}],g={toc:l},c="wrapper";function m(e){let{components:i,...n}=e;return(0,a.yg)(c,(0,t.A)({},g,n,{components:i,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".BootConfig"),(0,a.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig"},(0,a.yg)("inlineCode",{parentName:"a"},"InitImaConfig")))),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig"},(0,a.yg)("inlineCode",{parentName:"a"},"InitAppConfig"))),(0,a.yg)("p",{parentName:"li"},"\u21b3 ",(0,a.yg)("strong",{parentName:"p"},(0,a.yg)("inlineCode",{parentName:"strong"},"BootConfig"))))),(0,a.yg)("h2",{id:"properties"},"Properties"),(0,a.yg)("h3",{id:"bind"},"bind"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"bind"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Settings"},(0,a.yg)("inlineCode",{parentName:"a"},"Settings"))," & ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#bootsettings"},(0,a.yg)("inlineCode",{parentName:"a"},"BootSettings"))),(0,a.yg)("h4",{id:"defined-in"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L113"},"packages/core/src/Bootstrap.ts:113")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"initbindapp"},"initBindApp"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"initBindApp"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initbindfunction"},(0,a.yg)("inlineCode",{parentName:"a"},"InitBindFunction"))),(0,a.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig"},"InitAppConfig"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig#initbindapp"},"initBindApp")),(0,a.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L71"},"packages/core/src/Bootstrap.ts:71")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"initbindima"},"initBindIma"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"initBindIma"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initbindfunction"},(0,a.yg)("inlineCode",{parentName:"a"},"InitBindFunction"))),(0,a.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig"},"InitImaConfig"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig#initbindima"},"initBindIma")),(0,a.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L78"},"packages/core/src/Bootstrap.ts:78")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"initroutes"},"initRoutes"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"initRoutes"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initroutesfunction"},(0,a.yg)("inlineCode",{parentName:"a"},"InitRoutesFunction"))),(0,a.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig"},"InitAppConfig"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig#initroutes"},"initRoutes")),(0,a.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L72"},"packages/core/src/Bootstrap.ts:72")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"initservicesapp"},"initServicesApp"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"initServicesApp"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initservicesfunction"},(0,a.yg)("inlineCode",{parentName:"a"},"InitServicesFunction"))),(0,a.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig"},"InitAppConfig"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig#initservicesapp"},"initServicesApp")),(0,a.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L73"},"packages/core/src/Bootstrap.ts:73")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"initservicesima"},"initServicesIma"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"initServicesIma"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initservicesfunction"},(0,a.yg)("inlineCode",{parentName:"a"},"InitServicesFunction"))),(0,a.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig"},"InitImaConfig"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitImaConfig#initservicesima"},"initServicesIma")),(0,a.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L79"},"packages/core/src/Bootstrap.ts:79")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"initsettings"},"initSettings"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"initSettings"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#initsettingsfunction"},(0,a.yg)("inlineCode",{parentName:"a"},"InitSettingsFunction"))),(0,a.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig"},"InitAppConfig"),".",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitAppConfig#initsettings"},"initSettings")),(0,a.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L74"},"packages/core/src/Bootstrap.ts:74")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"plugins"},"plugins"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"plugins"),": ","{"," ",(0,a.yg)("inlineCode",{parentName:"p"},"name"),": ",(0,a.yg)("inlineCode",{parentName:"p"},"string")," ; ",(0,a.yg)("inlineCode",{parentName:"p"},"plugin"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.InitPluginConfig"},(0,a.yg)("inlineCode",{parentName:"a"},"InitPluginConfig"))," }[]"),(0,a.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L114"},"packages/core/src/Bootstrap.ts:114")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"routes"},"routes"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,a.yg)("strong",{parentName:"p"},"routes"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,a.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,a.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L112"},"packages/core/src/Bootstrap.ts:112")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"services"},"services"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"services"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.BootServices"},(0,a.yg)("inlineCode",{parentName:"a"},"BootServices"))),(0,a.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L115"},"packages/core/src/Bootstrap.ts:115")),(0,a.yg)("hr",null),(0,a.yg)("h3",{id:"settings"},"settings"),(0,a.yg)("p",null,"\u2022 ",(0,a.yg)("strong",{parentName:"p"},"settings"),": ",(0,a.yg)("a",{parentName:"p",href:"/api/modules/ima_core#bootsettings"},(0,a.yg)("inlineCode",{parentName:"a"},"BootSettings"))),(0,a.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,a.yg)("p",null,(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/Bootstrap.ts#L116"},"packages/core/src/Bootstrap.ts:116")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e25ffe8c.52d007cc.js b/assets/js/e25ffe8c.52d007cc.js deleted file mode 100644 index 87b20c4f3..000000000 --- a/assets/js/e25ffe8c.52d007cc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6807],{5680:(e,t,r)=>{r.d(t,{xA:()=>l,yg:()=>y});var n=r(6540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),d=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=d(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),u=d(r),f=a,y=u["".concat(s,".").concat(f)]||u[f]||p[f]||o;return r?n.createElement(y,c(c({ref:t},l),{},{components:r})):n.createElement(y,c({ref:t},l))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[u]="string"==typeof e?e:a,c[1]=i;for(var d=2;d<o;d++)c[d]=r[d];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},2175:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var n=r(8102),a=(r(6540),r(5680));const o={title:"Advanced Features",description:"CLI > Advanced CLI techniques and other features"},c="Error-overlay",i={unversionedId:"cli/advanced-features",id:"cli/advanced-features",title:"Advanced Features",description:"CLI > Advanced CLI techniques and other features",source:"@site/../docs/cli/advanced-features.md",sourceDirName:"cli",slug:"/cli/advanced-features",permalink:"/cli/advanced-features",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/cli/advanced-features.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Advanced Features",description:"CLI > Advanced CLI techniques and other features"}},s={},d=[],l={toc:d},u="wrapper";function p(e){let{components:t,...r}=e;return(0,a.yg)(u,(0,n.A)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"error-overlay"},"Error-overlay"),(0,a.yg)("h1",{id:"filesystem-cache"},"filesystem cache"),(0,a.yg)("h1",{id:"polyfilljs"},"polyfill.js"),(0,a.yg)("h1",{id:"generaterunnerplugin"},"GenerateRunnerPlugin"),(0,a.yg)("h1",{id:"dynamic-imports"},"dynamic imports"),(0,a.yg)("h1",{id:"dev-server"},"dev server"))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e25ffe8c.c5f78782.js b/assets/js/e25ffe8c.c5f78782.js new file mode 100644 index 000000000..c7bde8b2f --- /dev/null +++ b/assets/js/e25ffe8c.c5f78782.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6807],{6552:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>d,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"cli/advanced-features","title":"Advanced Features","description":"CLI > Advanced CLI techniques and other features","source":"@site/../docs/cli/advanced-features.md","sourceDirName":"cli","slug":"/cli/advanced-features","permalink":"/cli/advanced-features","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/cli/advanced-features.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Advanced Features","description":"CLI > Advanced CLI techniques and other features"}}');var s=n(2540),a=n(3023);const c={title:"Advanced Features",description:"CLI > Advanced CLI techniques and other features"},d="Error-overlay",i={},o=[];function l(e){const t={h1:"h1",header:"header",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"error-overlay",children:"Error-overlay"})}),"\n",(0,s.jsx)(t.h1,{id:"filesystem-cache",children:"filesystem cache"}),"\n",(0,s.jsx)(t.h1,{id:"polyfilljs",children:"polyfill.js"}),"\n",(0,s.jsx)(t.h1,{id:"generaterunnerplugin",children:"GenerateRunnerPlugin"}),"\n",(0,s.jsx)(t.h1,{id:"dynamic-imports",children:"dynamic imports"}),"\n",(0,s.jsx)(t.h1,{id:"dev-server",children:"dev server"})]})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>d});var r=n(3696);const s={},a=r.createContext(s);function c(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e28793d2.2561cb40.js b/assets/js/e28793d2.2561cb40.js deleted file mode 100644 index a0fde7311..000000000 --- a/assets/js/e28793d2.2561cb40.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6711],{5680:(e,a,t)=>{t.d(a,{xA:()=>g,yg:()=>h});var n=t(6540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var d=n.createContext({}),s=function(e){var a=n.useContext(d),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},g=function(e){var a=s(e.components);return n.createElement(d.Provider,{value:a},e.children)},y="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},o=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,g=p(e,["components","mdxType","originalType","parentName"]),y=s(t),o=r,h=y["".concat(d,".").concat(o)]||y[o]||c[o]||i;return t?n.createElement(h,l(l({ref:a},g),{},{components:t})):n.createElement(h,l({ref:a},g))}));function h(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=o;var p={};for(var d in a)hasOwnProperty.call(a,d)&&(p[d]=a[d]);p.originalType=e,p[y]="string"==typeof e?e:r,l[1]=p;for(var s=2;s<i;s++)l[s]=t[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}o.displayName="MDXCreateElement"},5891:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>s});var n=t(8102),r=(t(6540),t(5680));const i={id:"ima_core.Cache",title:"Class: Cache<V>",sidebar_label:"@ima/core.Cache",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.Cache",id:"api/classes/ima_core.Cache",title:"Class: Cache<V>",description:"@ima/core.Cache",source:"@site/../docs/api/classes/ima_core.Cache.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.Cache",permalink:"/api/classes/ima_core.Cache",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.Cache",title:"Class: Cache<V>",sidebar_label:"@ima/core.Cache",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.Bootstrap",permalink:"/api/classes/ima_core.Bootstrap"},next:{title:"@ima/core.CacheEntry",permalink:"/api/classes/ima_core.CacheEntry"}},d={},s=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Methods",id:"methods",level:2},{value:"clear",id:"clear",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"delete",id:"delete",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"deserialize",id:"deserialize",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"disable",id:"disable",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"enable",id:"enable",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"get",id:"get",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"has",id:"has",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"serialize",id:"serialize",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"set",id:"set",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-8",level:4}],g={toc:s},y="wrapper";function c(e){let{components:a,...t}=e;return(0,r.yg)(y,(0,n.A)({},g,t,{components:a,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".Cache"),(0,r.yg)("p",null,"The cache provides a temporary storage for expirable information. The\nprimary use of a cache is caching information obtained via costly means\n(CPU-heavy computation or networking) to speed up the application's\nperformance when the same information needs to be retrieved multiple times."),(0,r.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Cache"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheImpl"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"CacheImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new Cache"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","()"),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"clear"},"clear"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clear"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Clears the cache by deleting all entries."),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L15"},"packages/core/src/cache/Cache.ts:15")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"delete"},"delete"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"delete"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Deletes the specified cache entry. The method has no effect if the entry\ndoes not exist."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L69"},"packages/core/src/cache/Cache.ts:69")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"deserialize"},"deserialize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"deserialize"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"serializedData"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Loads the provided serialized cache data into this cache. Entries\npresent in this cache but not specified in the provided data will remain\nin this cache intact."),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"serializedData")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#serializeddata"},(0,r.yg)("inlineCode",{parentName:"a"},"SerializedData")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"V"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"An object representing the state of the cache to load, obtained by parsing the JSON string returned by the ",(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Cache#serialize"},"serialize")," method.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L118"},"packages/core/src/cache/Cache.ts:118")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"disable"},"disable"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"disable"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Disables the cache, preventing the retrieval of any cached entries and\nreporting all cache entries as non-existing. Disabling the cache does\nnot however prevent modifying the existing or creating new cache\nentries."),(0,r.yg)("p",null,"Disabling the cache also clears all of its current entries."),(0,r.yg)("p",null,"The method has no effect if the cache is already disabled."),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L83"},"packages/core/src/cache/Cache.ts:83")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"enable"},"enable"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"enable"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Enables the cache, allowing the retrieval of cache entries."),(0,r.yg)("p",null,"The method has no effect if the cache is already enabled."),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L92"},"packages/core/src/cache/Cache.ts:92")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"Returns the value of the entry identified by the specified key."),(0,r.yg)("p",null,"The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if the specified entry does not exist, has\nalready expired, or the cache is currently disabled."),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"The value of the specified cache entry, or ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if the entry\nis not available."),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L43"},"packages/core/src/cache/Cache.ts:43")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"has"},"has"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"has"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,"Tests whether the cache contains a fresh entry for the specified key. A\ncache entry is fresh if the has not expired its TTL (time to live)."),(0,r.yg)("p",null,"The method always returns ",(0,r.yg)("inlineCode",{parentName:"p"},"false")," if the cache is currently disabled."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"true")," if the cache is enabled, the entry exists and has\nnot expired yet."),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L29"},"packages/core/src/cache/Cache.ts:29")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"serialize"},"serialize"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"serialize"),"(): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Exports the state of this cache to an HTML-safe JSON string. The data\nobtained by parsing the result of this method are compatible with the\n",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache#deserialize"},"deserialize")," method."),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"A JSON string containing an object representing of the\ncurrent state of this cache."),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L104"},"packages/core/src/cache/Cache.ts:104")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"set"},"set"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"set"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"key"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"ttl?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets the cache entry identified by the specified key to the provided\nvalue. The entry is created if it does not exist yet."),(0,r.yg)("p",null,"The method has no effect if the cache is currently disabled."),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"key")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The identifier of the cache entry.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cache entry value.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"ttl?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"td"},"number")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds. Use ",(0,r.yg)("inlineCode",{parentName:"td"},"null")," or omit the parameter to use the default TTL of this cache.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/Cache.ts#L59"},"packages/core/src/cache/Cache.ts:59")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e329cf1d.c835630b.js b/assets/js/e329cf1d.c835630b.js new file mode 100644 index 000000000..d3c18e313 --- /dev/null +++ b/assets/js/e329cf1d.c835630b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9208],{4046:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>E,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","title":"Variable: COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE","description":"const COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE: RegExp[]","source":"@site/../docs/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE.md","sourceDirName":"api/@ima/dev-utils/variables","slug":"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","permalink":"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ParsedErrorData","permalink":"/api/@ima/dev-utils/type-aliases/ParsedErrorData"},"next":{"title":"Variable: RE\\\\_SOURCE\\\\_MAPPING\\\\_URL","permalink":"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL"}}');var s=t(2540),i=t(3023);const n={},o="Variable: COMPILE_ERROR_NEEDLES_RE",E={},c=[];function l(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"variable-compile_error_needles_re",children:"Variable: COMPILE_ERROR_NEEDLES_RE"})}),"\n",(0,s.jsxs)(a.blockquote,{children:["\n",(0,s.jsxs)(a.p,{children:[(0,s.jsx)(a.code,{children:"const"})," ",(0,s.jsx)(a.strong,{children:"COMPILE_ERROR_NEEDLES_RE"}),": ",(0,s.jsx)(a.code,{children:"RegExp"}),"[]"]}),"\n"]}),"\n",(0,s.jsxs)(a.p,{children:["Defined in: ",(0,s.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/compileErrorParser.ts#L11",children:"compileErrorParser.ts:11"})]})]})}function d(e={}){const{wrapper:a}={...(0,i.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>n,x:()=>o});var r=t(3696);const s={},i=r.createContext(s);function n(e){const a=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),r.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e5d5c0ae.045a9682.js b/assets/js/e5d5c0ae.045a9682.js new file mode 100644 index 000000000..3d0dcbd02 --- /dev/null +++ b/assets/js/e5d5c0ae.045a9682.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8943],{7929:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/UnknownParameters","title":"Type Alias: UnknownParameters","description":"UnknownParameters: object","source":"@site/../docs/api/@ima/core/type-aliases/UnknownParameters.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/UnknownParameters","permalink":"/api/@ima/core/type-aliases/UnknownParameters","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/UnknownParameters.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: StringParameters","permalink":"/api/@ima/core/type-aliases/StringParameters"},"next":{"title":"Type Alias: UnknownPromiseParameters","permalink":"/api/@ima/core/type-aliases/UnknownPromiseParameters"}}');var t=a(2540),r=a(3023);const i={},o="Type Alias: UnknownParameters",c={},l=[{value:"Index Signature",id:"index-signature",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"type-alias-unknownparameters",children:"Type Alias: UnknownParameters"})}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"UnknownParameters"}),": ",(0,t.jsx)(n.code,{children:"object"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/types.ts#L18",children:"packages/core/src/types.ts:18"})]}),"\n",(0,t.jsx)(n.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,t.jsxs)(n.p,{children:["[",(0,t.jsx)(n.code,{children:"key"}),": ",(0,t.jsx)(n.code,{children:"string"}),"]: ",(0,t.jsx)(n.code,{children:"unknown"})]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},3023:(e,n,a)=>{a.d(n,{R:()=>i,x:()=>o});var s=a(3696);const t={},r=s.createContext(t);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e80bbda2.24239089.js b/assets/js/e80bbda2.24239089.js new file mode 100644 index 000000000..ffb11393d --- /dev/null +++ b/assets/js/e80bbda2.24239089.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2297],{7445:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/enumerations/ActionTypes","title":"Enumeration: ActionTypes","description":"Defined in4","source":"@site/../docs/api/@ima/core/enumerations/ActionTypes.md","sourceDirName":"api/@ima/core/enumerations","slug":"/api/@ima/core/enumerations/ActionTypes","permalink":"/api/@ima/core/enumerations/ActionTypes","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/enumerations/ActionTypes.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Window","permalink":"/api/@ima/core/classes/Window"},"next":{"title":"Enumeration: BindingState","permalink":"/api/@ima/core/enumerations/BindingState"}}');var t=r(2540),c=r(3023);const i={},o="Enumeration: ActionTypes",a={},d=[{value:"Enumeration Members",id:"enumeration-members",level:2},{value:"CLICK",id:"click",level:3},{value:"ERROR",id:"error",level:3},{value:"POP_STATE",id:"pop_state",level:3},{value:"REDIRECT",id:"redirect",level:3}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"enumeration-actiontypes",children:"Enumeration: ActionTypes"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ActionTypes.ts#L4",children:"packages/core/src/router/ActionTypes.ts:4"})]}),"\n",(0,t.jsx)(n.p,{children:"Name of actions that can trigger routing"}),"\n",(0,t.jsx)(n.h2,{id:"enumeration-members",children:"Enumeration Members"}),"\n",(0,t.jsx)(n.h3,{id:"click",children:"CLICK"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"CLICK"}),": ",(0,t.jsx)(n.code,{children:'"click"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ActionTypes.ts#L6",children:"packages/core/src/router/ActionTypes.ts:6"})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"error",children:"ERROR"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"ERROR"}),": ",(0,t.jsx)(n.code,{children:'"error"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ActionTypes.ts#L8",children:"packages/core/src/router/ActionTypes.ts:8"})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"pop_state",children:"POP_STATE"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"POP_STATE"}),": ",(0,t.jsx)(n.code,{children:'"popstate"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ActionTypes.ts#L7",children:"packages/core/src/router/ActionTypes.ts:7"})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"redirect",children:"REDIRECT"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"REDIRECT"}),": ",(0,t.jsx)(n.code,{children:'"redirect"'})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/ActionTypes.ts#L5",children:"packages/core/src/router/ActionTypes.ts:5"})]})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},3023:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var s=r(3696);const t={},c=s.createContext(t);function i(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9289eb0.8671b602.js b/assets/js/e9289eb0.8671b602.js new file mode 100644 index 000000000..8dbde2d2a --- /dev/null +++ b/assets/js/e9289eb0.8671b602.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3775],{4609:(e,s,c)=>{c.r(s),c.d(s,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"api/@ima/core/classes/AbstractExecution","title":"Class: abstract AbstractExecution","description":"Defined in10","source":"@site/../docs/api/@ima/core/classes/AbstractExecution.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/AbstractExecution","permalink":"/api/@ima/core/classes/AbstractExecution","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/AbstractExecution.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: AbstractController\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/AbstractController"},"next":{"title":"Class: abstract AbstractExtension\\\\<S, R, SS\\\\>","permalink":"/api/@ima/core/classes/AbstractExtension"}}');var r=c(2540),i=c(3023);const t={},a="Class: abstract AbstractExecution",d={},o=[{value:"Extends",id:"extends",level:2},{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new AbstractExecution()",id:"new-abstractexecution",level:3},{value:"Parameters",id:"parameters",level:4},{value:"jobs",id:"jobs",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_jobs",id:"_jobs",level:3},{value:"Methods",id:"methods",level:2},{value:"_validateJob()",id:"_validatejob",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"job",id:"job",level:5},{value:"Returns",id:"returns-1",level:4},{value:"append()",id:"append",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"jobs",id:"jobs-1",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"execute()",id:"execute",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"args",id:"args",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsxs)(s.h1,{id:"class-abstract-abstractexecution",children:["Class: ",(0,r.jsx)(s.code,{children:"abstract"})," AbstractExecution"]})}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L10",children:"packages/core/src/execution/AbstractExecution.ts:10"})]}),"\n",(0,r.jsxs)(s.p,{children:["Basic implementation of the ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution",children:"Execution"})," interface. Provides the basic\nfunctionality for appending and validating jobs."]}),"\n",(0,r.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution",children:(0,r.jsx)(s.code,{children:"Execution"})})}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/SerialBatch",children:(0,r.jsx)(s.code,{children:"SerialBatch"})})}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(s.h3,{id:"new-abstractexecution",children:"new AbstractExecution()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"new AbstractExecution"}),"(",(0,r.jsx)(s.code,{children:"jobs"}),"): ",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,r.jsx)(s.code,{children:"AbstractExecution"})})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L13",children:"packages/core/src/execution/AbstractExecution.ts:13"})]}),"\n",(0,r.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"jobs",children:"jobs"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,r.jsx)(s.code,{children:"ExecutionJob"})}),"[] = ",(0,r.jsx)(s.code,{children:"[]"})]}),"\n",(0,r.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/AbstractExecution",children:(0,r.jsx)(s.code,{children:"AbstractExecution"})})}),"\n",(0,r.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution",children:(0,r.jsx)(s.code,{children:"Execution"})}),".",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution#constructors",children:(0,r.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,r.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,r.jsx)(s.h3,{id:"_jobs",children:"_jobs"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"protected"})," ",(0,r.jsx)(s.strong,{children:"_jobs"}),": ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,r.jsx)(s.code,{children:"ExecutionJob"})}),"[]"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L11",children:"packages/core/src/execution/AbstractExecution.ts:11"})]}),"\n",(0,r.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(s.h3,{id:"_validatejob",children:"_validateJob()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"_validateJob"}),"(",(0,r.jsx)(s.code,{children:"job"}),"): ",(0,r.jsx)(s.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L44",children:"packages/core/src/execution/AbstractExecution.ts:44"})]}),"\n",(0,r.jsxs)(s.p,{children:["Return ",(0,r.jsx)(s.code,{children:"true"})," if the given job can be executed"]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"job",children:"job"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,r.jsx)(s.code,{children:"ExecutionJob"})})}),"\n",(0,r.jsx)(s.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"boolean"})}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"append",children:"append()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"append"}),"(",(0,r.jsx)(s.code,{children:"jobs"}),"): ",(0,r.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L22",children:"packages/core/src/execution/AbstractExecution.ts:22"})]}),"\n",(0,r.jsx)(s.p,{children:"Adds a new job to be executed. The job is appended at the end of the\nlist of current jobs therefore is executed last."}),"\n",(0,r.jsx)(s.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"jobs-1",children:"jobs"}),"\n",(0,r.jsx)(s.p,{children:"The jobs to be executed."}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,r.jsx)(s.code,{children:"ExecutionJob"})})," | ",(0,r.jsx)(s.a,{href:"/api/@ima/core/type-aliases/ExecutionJob",children:(0,r.jsx)(s.code,{children:"ExecutionJob"})}),"[]"]}),"\n",(0,r.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"void"})}),"\n",(0,r.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution",children:(0,r.jsx)(s.code,{children:"Execution"})}),".",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution#append",children:(0,r.jsx)(s.code,{children:"append"})})]}),"\n",(0,r.jsx)(s.hr,{}),"\n",(0,r.jsx)(s.h3,{id:"execute",children:"execute()"}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"execute"}),"(...",(0,r.jsx)(s.code,{children:"args"}),"): ",(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Defined in: ",(0,r.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/execution/AbstractExecution.ts#L33",children:"packages/core/src/execution/AbstractExecution.ts:33"})]}),"\n",(0,r.jsxs)(s.p,{children:["Start executing collected jobs. In the end a ",(0,r.jsx)(s.code,{children:"Promise"})," is returned\nwith a resulting value. On the returned ",(0,r.jsx)(s.code,{children:"Promise"})," a ",(0,r.jsx)(s.code,{children:"catch"}),"\nmethod can be called to prevent any unwanted interruption."]}),"\n",(0,r.jsx)(s.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(s.h5,{id:"args",children:"args"}),"\n",(0,r.jsxs)(s.p,{children:["...",(0,r.jsx)(s.code,{children:"unknown"}),"[]"]}),"\n",(0,r.jsx)(s.p,{children:"Arguments to be passed when executing jobs"}),"\n",(0,r.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.code,{children:"unknown"}),">"]}),"\n",(0,r.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution",children:(0,r.jsx)(s.code,{children:"Execution"})}),".",(0,r.jsx)(s.a,{href:"/api/@ima/core/classes/Execution#execute",children:(0,r.jsx)(s.code,{children:"execute"})})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3023:(e,s,c)=>{c.d(s,{R:()=>t,x:()=>a});var n=c(3696);const r={},i=n.createContext(r);function t(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9e6b51f.0185a494.js b/assets/js/e9e6b51f.0185a494.js new file mode 100644 index 000000000..6684db5be --- /dev/null +++ b/assets/js/e9e6b51f.0185a494.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5117],{6305:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>o,frontMatter:()=>i,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/classes/HttpProxy","title":"Class: HttpProxy","description":"Defined in63","source":"@site/../docs/api/@ima/core/classes/HttpProxy.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/HttpProxy","permalink":"/api/@ima/core/classes/HttpProxy","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/HttpProxy.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: HttpAgentImpl","permalink":"/api/@ima/core/classes/HttpAgentImpl"},"next":{"title":"Class: MapStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/MapStorage"}}');var t=s(2540),d=s(3023);const i={},a="Class: HttpProxy",c={},l=[{value:"Constructors",id:"constructors",level:2},{value:"new HttpProxy()",id:"new-httpproxy",level:3},{value:"Parameters",id:"parameters",level:4},{value:"transformer",id:"transformer",level:5},{value:"window",id:"window",level:5},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"_defaultHeaders",id:"_defaultheaders",level:3},{value:"_transformer",id:"_transformer",level:3},{value:"_window",id:"_window",level:3},{value:"Methods",id:"methods",level:2},{value:"_composeRequestInit()",id:"_composerequestinit",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"method",id:"method",level:5},{value:"data",id:"data",level:5},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-1",level:4},{value:"_composeRequestParams()",id:"_composerequestparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"method",id:"method-1",level:5},{value:"url",id:"url",level:5},{value:"data",id:"data-1",level:5},{value:"options",id:"options-1",level:5},{value:"Returns",id:"returns-2",level:4},{value:"_composeRequestUrl()",id:"_composerequesturl",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"url",id:"url-1",level:5},{value:"data",id:"data-2",level:5},{value:"Returns",id:"returns-3",level:4},{value:"_createError()",id:"_createerror",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"cause",id:"cause",level:5},{value:"requestParams",id:"requestparams",level:5},{value:"status",id:"status",level:5},{value:"responseBody",id:"responsebody",level:5},{value:"Returns",id:"returns-4",level:4},{value:"_getContentType()",id:"_getcontenttype",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"method",id:"method-2",level:5},{value:"data",id:"data-3",level:5},{value:"headers",id:"headers",level:5},{value:"Returns",id:"returns-5",level:4},{value:"_headersToPlainObject()",id:"_headerstoplainobject",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"headers",id:"headers-1",level:5},{value:"Returns",id:"returns-6",level:4},{value:"_processError()",id:"_processerror",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"fetchError",id:"fetcherror",level:5},{value:"requestParams",id:"requestparams-1",level:5},{value:"Returns",id:"returns-7",level:4},{value:"_processResponse()",id:"_processresponse",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"requestParams",id:"requestparams-2",level:5},{value:"response",id:"response",level:5},{value:"responseBody",id:"responsebody-1",level:5},{value:"Returns",id:"returns-8",level:4},{value:"_shouldRequestHaveBody()",id:"_shouldrequesthavebody",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"method",id:"method-3",level:5},{value:"data",id:"data-4",level:5},{value:"Returns",id:"returns-9",level:4},{value:"clearDefaultHeaders()",id:"cleardefaultheaders",level:3},{value:"Returns",id:"returns-10",level:4},{value:"getErrorParams()",id:"geterrorparams",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"method",id:"method-4",level:5},{value:"url",id:"url-2",level:5},{value:"data",id:"data-5",level:5},{value:"options",id:"options-2",level:5},{value:"status",id:"status-1",level:5},{value:"body",id:"body",level:5},{value:"cause",id:"cause-1",level:5},{value:"Returns",id:"returns-11",level:4},{value:"haveToSetCookiesManually()",id:"havetosetcookiesmanually",level:3},{value:"Returns",id:"returns-12",level:4},{value:"request()",id:"request",level:3},{value:"Type Parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"method",id:"method-5",level:5},{value:"url",id:"url-3",level:5},{value:"data",id:"data-6",level:5},{value:"options",id:"options-3",level:5},{value:"Returns",id:"returns-13",level:4},{value:"setDefaultHeader()",id:"setdefaultheader",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"header",id:"header",level:5},{value:"value",id:"value",level:5},{value:"Returns",id:"returns-14",level:4}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",p:"p",strong:"strong",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"class-httpproxy",children:"Class: HttpProxy"})}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L63",children:"packages/core/src/http/HttpProxy.ts:63"})]}),"\n",(0,t.jsxs)(r.p,{children:["Middleware proxy between ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/HttpAgent",children:"HttpAgent"})," implementations and the\n",(0,t.jsx)(r.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API",children:"Fetch API"}),",\nproviding a Promise-oriented API for sending requests."]}),"\n",(0,t.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(r.h3,{id:"new-httpproxy",children:"new HttpProxy()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"new HttpProxy"}),"(",(0,t.jsx)(r.code,{children:"transformer"}),", ",(0,t.jsx)(r.code,{children:"window"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/HttpProxy",children:(0,t.jsx)(r.code,{children:"HttpProxy"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L76",children:"packages/core/src/http/HttpProxy.ts:76"})]}),"\n",(0,t.jsx)(r.p,{children:"Initializes the HTTP proxy."}),"\n",(0,t.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"transformer",children:"transformer"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,t.jsx)(r.code,{children:"UrlTransformer"})})}),"\n",(0,t.jsx)(r.p,{children:"A transformer of URLs to which\nrequests are made."}),"\n",(0,t.jsx)(r.h5,{id:"window",children:"window"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Window",children:(0,t.jsx)(r.code,{children:"Window"})})}),"\n",(0,t.jsxs)(r.p,{children:["Helper for manipulating the global object ",(0,t.jsx)(r.code,{children:"window"}),"\nregardless of the client/server-side environment."]}),"\n",(0,t.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/HttpProxy",children:(0,t.jsx)(r.code,{children:"HttpProxy"})})}),"\n",(0,t.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,t.jsx)(r.h3,{id:"_defaultheaders",children:"_defaultHeaders"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_defaultHeaders"}),": ",(0,t.jsx)(r.code,{children:"Map"}),"<",(0,t.jsx)(r.code,{children:"string"}),", ",(0,t.jsx)(r.code,{children:"string"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L66",children:"packages/core/src/http/HttpProxy.ts:66"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_transformer",children:"_transformer"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_transformer"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/UrlTransformer",children:(0,t.jsx)(r.code,{children:"UrlTransformer"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L64",children:"packages/core/src/http/HttpProxy.ts:64"})]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_window",children:"_window"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"protected"})," ",(0,t.jsx)(r.strong,{children:"_window"}),": ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/Window",children:(0,t.jsx)(r.code,{children:"Window"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L65",children:"packages/core/src/http/HttpProxy.ts:65"})]}),"\n",(0,t.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(r.h3,{id:"_composerequestinit",children:"_composeRequestInit()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_composeRequestInit"}),"(",(0,t.jsx)(r.code,{children:"method"}),", ",(0,t.jsx)(r.code,{children:"data"}),", ",(0,t.jsx)(r.code,{children:"options"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/ImaRequestInit",children:(0,t.jsx)(r.code,{children:"ImaRequestInit"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L459",children:"packages/core/src/http/HttpProxy.ts:459"})]}),"\n",(0,t.jsxs)(r.p,{children:["Composes an init object, which can be used as a second argument of\n",(0,t.jsx)(r.code,{children:"window.fetch"})," method."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"method",children:"method"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP method to use."}),"\n",(0,t.jsx)(r.h5,{id:"data",children:"data"}),"\n",(0,t.jsx)(r.p,{children:"The data to\nbe send with a request."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(r.h5,{id:"options",children:"options"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(r.code,{children:"HttpAgentRequestOptions"})})}),"\n",(0,t.jsx)(r.p,{children:"Options provided by the HTTP\nagent."}),"\n",(0,t.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/ImaRequestInit",children:(0,t.jsx)(r.code,{children:"ImaRequestInit"})})}),"\n",(0,t.jsxs)(r.p,{children:["An ",(0,t.jsx)(r.code,{children:"ImaRequestInit"})," object (extended from ",(0,t.jsx)(r.code,{children:"RequestInit"})," of the Fetch API)."]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_composerequestparams",children:"_composeRequestParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_composeRequestParams"}),"(",(0,t.jsx)(r.code,{children:"method"}),", ",(0,t.jsx)(r.code,{children:"url"}),", ",(0,t.jsx)(r.code,{children:"data"}),", ",(0,t.jsx)(r.code,{children:"options"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,t.jsx)(r.code,{children:"HttpProxyRequestParams"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L433",children:"packages/core/src/http/HttpProxy.ts:433"})]}),"\n",(0,t.jsx)(r.p,{children:"Composes an object representing the HTTP request parameters from the\nprovided arguments."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"method-1",children:"method"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP method to use."}),"\n",(0,t.jsx)(r.h5,{id:"url",children:"url"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The URL to which the request should be sent."}),"\n",(0,t.jsx)(r.h5,{id:"data-1",children:"data"}),"\n",(0,t.jsx)(r.p,{children:"The data to\nsend with the request."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(r.h5,{id:"options-1",children:"options"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(r.code,{children:"HttpAgentRequestOptions"})})}),"\n",(0,t.jsx)(r.p,{children:"Optional request options."}),"\n",(0,t.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,t.jsx)(r.code,{children:"HttpProxyRequestParams"})})}),"\n",(0,t.jsx)(r.p,{children:"An object representing the complete request parameters used to create and\nsend the HTTP request."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_composerequesturl",children:"_composeRequestUrl()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_composeRequestUrl"}),"(",(0,t.jsx)(r.code,{children:"url"}),", ",(0,t.jsx)(r.code,{children:"data"}),"): ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L540",children:"packages/core/src/http/HttpProxy.ts:540"})]}),"\n",(0,t.jsx)(r.p,{children:"Transforms the provided URL using the current URL transformer and adds\nthe provided data to the URL's query string."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"url-1",children:"url"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The URL to prepare for use with the fetch API."}),"\n",(0,t.jsx)(r.h5,{id:"data-2",children:"data"}),"\n",(0,t.jsx)(r.p,{children:"The data to be attached to the query string."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,t.jsx)(r.code,{children:"StringParameters"})})]}),"\n",(0,t.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The transformed URL with the provided data attached to\nits query string."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_createerror",children:"_createError()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_createError"}),"(",(0,t.jsx)(r.code,{children:"cause"}),", ",(0,t.jsx)(r.code,{children:"requestParams"}),", ",(0,t.jsx)(r.code,{children:"status"}),", ",(0,t.jsx)(r.code,{children:"responseBody"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(r.code,{children:"GenericError"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L401",children:"packages/core/src/http/HttpProxy.ts:401"})]}),"\n",(0,t.jsx)(r.p,{children:"Creates an error that represents a failed HTTP request."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"cause",children:"cause"}),"\n",(0,t.jsx)(r.p,{children:"The error's message."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Error"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(r.code,{children:"GenericError"})})]}),"\n",(0,t.jsx)(r.h5,{id:"requestparams",children:"requestParams"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,t.jsx)(r.code,{children:"HttpProxyRequestParams"})})}),"\n",(0,t.jsx)(r.p,{children:"An object representing the\ncomplete request parameters used to create and send the HTTP\nrequest."}),"\n",(0,t.jsx)(r.h5,{id:"status",children:"status"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"number"})}),"\n",(0,t.jsx)(r.p,{children:"Server's response HTTP status code."}),"\n",(0,t.jsx)(r.h5,{id:"responsebody",children:"responseBody"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"unknown"})," = ",(0,t.jsx)(r.code,{children:"null"})]}),"\n",(0,t.jsx)(r.p,{children:"The body of the server's response, if any."}),"\n",(0,t.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(r.code,{children:"GenericError"})})}),"\n",(0,t.jsx)(r.p,{children:"The error representing a failed HTTP request."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_getcontenttype",children:"_getContentType()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_getContentType"}),"(",(0,t.jsx)(r.code,{children:"method"}),", ",(0,t.jsx)(r.code,{children:"data"}),", ",(0,t.jsx)(r.code,{children:"headers"}),"): ",(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L512",children:"packages/core/src/http/HttpProxy.ts:512"})]}),"\n",(0,t.jsxs)(r.p,{children:["Gets a ",(0,t.jsx)(r.code,{children:"Content-Type"})," header value for defined method, data and options."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"method-2",children:"method"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP method to use."}),"\n",(0,t.jsx)(r.h5,{id:"data-3",children:"data"}),"\n",(0,t.jsx)(r.p,{children:"The data to\nbe send with a request."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(r.h5,{id:"headers",children:"headers"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Record"}),"<",(0,t.jsx)(r.code,{children:"string"}),", ",(0,t.jsx)(r.code,{children:"string"}),">"]}),"\n",(0,t.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"null"})," | ",(0,t.jsx)(r.code,{children:"string"})]}),"\n",(0,t.jsxs)(r.p,{children:["A ",(0,t.jsx)(r.code,{children:"Content-Type"})," header value, null for requests\nwith no body."]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_headerstoplainobject",children:"_headersToPlainObject()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_headersToPlainObject"}),"(",(0,t.jsx)(r.code,{children:"headers"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,t.jsx)(r.code,{children:"StringParameters"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L355",children:"packages/core/src/http/HttpProxy.ts:355"})]}),"\n",(0,t.jsxs)(r.p,{children:["Converts the provided Fetch API's ",(0,t.jsx)(r.code,{children:"Headers"})," object to a plain object."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"headers-1",children:"headers"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"Headers"})}),"\n",(0,t.jsx)(r.p,{children:"The headers to convert."}),"\n",(0,t.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/StringParameters",children:(0,t.jsx)(r.code,{children:"StringParameters"})})}),"\n",(0,t.jsx)(r.p,{children:"Converted headers."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_processerror",children:"_processError()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_processError"}),"(",(0,t.jsx)(r.code,{children:"fetchError"}),", ",(0,t.jsx)(r.code,{children:"requestParams"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(r.code,{children:"GenericError"})})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L375",children:"packages/core/src/http/HttpProxy.ts:375"})]}),"\n",(0,t.jsx)(r.p,{children:"Processes the provided Fetch API or internal error and creates an error\nto expose to the calling API."}),"\n",(0,t.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"fetcherror",children:"fetchError"}),"\n",(0,t.jsx)(r.p,{children:"The internal error to process."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Error"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(r.code,{children:"GenericError"})})]}),"\n",(0,t.jsx)(r.h5,{id:"requestparams-1",children:"requestParams"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,t.jsx)(r.code,{children:"HttpProxyRequestParams"})})}),"\n",(0,t.jsx)(r.p,{children:"An object representing the\ncomplete request parameters used to create and send the HTTP\nrequest."}),"\n",(0,t.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/GenericError",children:(0,t.jsx)(r.code,{children:"GenericError"})})}),"\n",(0,t.jsx)(r.p,{children:"The error to provide to the calling API."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_processresponse",children:"_processResponse()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_processResponse"}),"<",(0,t.jsx)(r.code,{children:"B"}),">(",(0,t.jsx)(r.code,{children:"requestParams"}),", ",(0,t.jsx)(r.code,{children:"response"}),", ",(0,t.jsx)(r.code,{children:"responseBody"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(r.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(r.code,{children:"B"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L326",children:"packages/core/src/http/HttpProxy.ts:326"})]}),"\n",(0,t.jsx)(r.p,{children:"Processes the response received from the server."}),"\n",(0,t.jsx)(r.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"B"})]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"requestparams-2",children:"requestParams"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyRequestParams",children:(0,t.jsx)(r.code,{children:"HttpProxyRequestParams"})})}),"\n",(0,t.jsx)(r.p,{children:"The original request's\nparameters."}),"\n",(0,t.jsx)(r.h5,{id:"response",children:"response"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"Response"})}),"\n",(0,t.jsxs)(r.p,{children:["The Fetch API's ",(0,t.jsx)(r.code,{children:"Response"})," object representing\nthe server's response."]}),"\n",(0,t.jsx)(r.h5,{id:"responsebody-1",children:"responseBody"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"B"})}),"\n",(0,t.jsx)(r.p,{children:"The server's response body."}),"\n",(0,t.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(r.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(r.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"The server's response along with all related\nmetadata."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"_shouldrequesthavebody",children:"_shouldRequestHaveBody()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"_shouldRequestHaveBody"}),"(",(0,t.jsx)(r.code,{children:"method"}),", ",(0,t.jsx)(r.code,{children:"data"}),"): ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L561",children:"packages/core/src/http/HttpProxy.ts:561"})]}),"\n",(0,t.jsxs)(r.p,{children:["Checks if a request should have a body (",(0,t.jsx)(r.code,{children:"GET"})," and ",(0,t.jsx)(r.code,{children:"HEAD"})," requests don't\nhave a body)."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"method-3",children:"method"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP method."}),"\n",(0,t.jsx)(r.h5,{id:"data-4",children:"data"}),"\n",(0,t.jsx)(r.p,{children:"The data to\nbe send with a request."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"boolean"})}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"true"})," if a request has a body, otherwise ",(0,t.jsx)(r.code,{children:"false"}),"."]}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"cleardefaultheaders",children:"clearDefaultHeaders()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"clearDefaultHeaders"}),"(): ",(0,t.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L228",children:"packages/core/src/http/HttpProxy.ts:228"})]}),"\n",(0,t.jsx)(r.p,{children:"Clears all defaults headers sent with all requests."}),"\n",(0,t.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"this"})}),"\n",(0,t.jsx)(r.p,{children:"this"}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"geterrorparams",children:"getErrorParams()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"getErrorParams"}),"<",(0,t.jsx)(r.code,{children:"B"}),">(",(0,t.jsx)(r.code,{children:"method"}),", ",(0,t.jsx)(r.code,{children:"url"}),", ",(0,t.jsx)(r.code,{children:"data"}),", ",(0,t.jsx)(r.code,{children:"options"}),", ",(0,t.jsx)(r.code,{children:"status"}),", ",(0,t.jsx)(r.code,{children:"body"}),", ",(0,t.jsx)(r.code,{children:"cause"}),"): ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyErrorParams",children:(0,t.jsx)(r.code,{children:"HttpProxyErrorParams"})}),"<",(0,t.jsx)(r.code,{children:"B"}),">"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L251",children:"packages/core/src/http/HttpProxy.ts:251"})]}),"\n",(0,t.jsx)(r.p,{children:"Gets an object that describes a failed HTTP request, providing\ninformation about both the failure reported by the server and how the\nrequest has been sent to the server."}),"\n",(0,t.jsx)(r.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"B"})," = ",(0,t.jsx)(r.code,{children:"unknown"})]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"method-4",children:"method"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP method used to make the request."}),"\n",(0,t.jsx)(r.h5,{id:"url-2",children:"url"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The URL to which the request has been made."}),"\n",(0,t.jsx)(r.h5,{id:"data-5",children:"data"}),"\n",(0,t.jsx)(r.p,{children:"The data sent\nwith the request."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(r.h5,{id:"options-2",children:"options"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(r.code,{children:"HttpAgentRequestOptions"})})}),"\n",(0,t.jsx)(r.p,{children:"Optional request options."}),"\n",(0,t.jsx)(r.h5,{id:"status-1",children:"status"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"number"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP response status code send by the server."}),"\n",(0,t.jsx)(r.h5,{id:"body",children:"body"}),"\n",(0,t.jsx)(r.p,{children:"The body of HTTP error response (detailed\ninformation)."}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.code,{children:"B"})]}),"\n",(0,t.jsx)(r.h5,{id:"cause-1",children:"cause"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"Error"})}),"\n",(0,t.jsx)(r.p,{children:"The low-level cause error."}),"\n",(0,t.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpProxyErrorParams",children:(0,t.jsx)(r.code,{children:"HttpProxyErrorParams"})}),"<",(0,t.jsx)(r.code,{children:"B"}),">"]}),"\n",(0,t.jsx)(r.p,{children:"An object containing both the details of\nthe error and the request that lead to it."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"havetosetcookiesmanually",children:"haveToSetCookiesManually()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"haveToSetCookiesManually"}),"(): ",(0,t.jsx)(r.code,{children:"boolean"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L311",children:"packages/core/src/http/HttpProxy.ts:311"})]}),"\n",(0,t.jsxs)(r.p,{children:["Returns ",(0,t.jsx)(r.code,{children:"true"})," if cookies have to be processed manually by setting\n",(0,t.jsx)(r.code,{children:"Cookie"})," HTTP header on requests and parsing the ",(0,t.jsx)(r.code,{children:"Set-Cookie"})," HTTP\nresponse header."]}),"\n",(0,t.jsxs)(r.p,{children:["The result of this method depends on the current application\nenvironment, the client-side usually handles cookie processing\nautomatically, leading this method returning ",(0,t.jsx)(r.code,{children:"false"}),"."]}),"\n",(0,t.jsxs)(r.p,{children:["At the client-side, the method tests whether the client has cookies\nenabled (which results in cookies being automatically processed by the\nbrowser), and returns ",(0,t.jsx)(r.code,{children:"true"})," or ",(0,t.jsx)(r.code,{children:"false"})," accordingly."]}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"true"})," if cookies are not processed automatically by\nthe environment and have to be handled manually by parsing\nresponse headers and setting request headers, otherwise ",(0,t.jsx)(r.code,{children:"false"}),"."]}),"\n",(0,t.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"boolean"})}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"request",children:"request()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"request"}),"<",(0,t.jsx)(r.code,{children:"B"}),">(",(0,t.jsx)(r.code,{children:"method"}),", ",(0,t.jsx)(r.code,{children:"url"}),", ",(0,t.jsx)(r.code,{children:"data"}),", ",(0,t.jsx)(r.code,{children:"options"}),"): ",(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(r.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(r.code,{children:"B"}),">>"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L109",children:"packages/core/src/http/HttpProxy.ts:109"})]}),"\n",(0,t.jsx)(r.p,{children:"Executes a HTTP request to the specified URL using the specified HTTP\nmethod, carrying the provided data."}),"\n",(0,t.jsx)(r.h4,{id:"type-parameters-2",children:"Type Parameters"}),"\n",(0,t.jsxs)(r.p,{children:["\u2022 ",(0,t.jsx)(r.strong,{children:"B"})]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"method-5",children:"method"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The HTTP method to use."}),"\n",(0,t.jsx)(r.h5,{id:"url-3",children:"url"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"The URL to which the request should be made."}),"\n",(0,t.jsx)(r.h5,{id:"data-6",children:"data"}),"\n",(0,t.jsxs)(r.p,{children:["The data to\nbe send to the server. The data will be included as query\nparameters if the request method is ",(0,t.jsx)(r.code,{children:"GET"})," or ",(0,t.jsx)(r.code,{children:"HEAD"}),", and as\na request body for any other request method."]}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"undefined"})," | ",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,t.jsx)(r.code,{children:"UnknownParameters"})})]}),"\n",(0,t.jsx)(r.h5,{id:"options-3",children:"options"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.a,{href:"/api/@ima/core/interfaces/HttpAgentRequestOptions",children:(0,t.jsx)(r.code,{children:"HttpAgentRequestOptions"})})}),"\n",(0,t.jsx)(r.p,{children:"Optional request options."}),"\n",(0,t.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"Promise"}),"<",(0,t.jsx)(r.a,{href:"/api/@ima/core/type-aliases/HttpAgentResponse",children:(0,t.jsx)(r.code,{children:"HttpAgentResponse"})}),"<",(0,t.jsx)(r.code,{children:"B"}),">>"]}),"\n",(0,t.jsx)(r.p,{children:"A promise that resolves to the server\nresponse."}),"\n",(0,t.jsx)(r.hr,{}),"\n",(0,t.jsx)(r.h3,{id:"setdefaultheader",children:"setDefaultHeader()"}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"setDefaultHeader"}),"(",(0,t.jsx)(r.code,{children:"header"}),", ",(0,t.jsx)(r.code,{children:"value"}),"): ",(0,t.jsx)(r.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["Defined in: ",(0,t.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/http/HttpProxy.ts#L217",children:"packages/core/src/http/HttpProxy.ts:217"})]}),"\n",(0,t.jsxs)(r.p,{children:["Sets the specified default HTTP header. The header will be sent with all\nsubsequent HTTP requests unless reconfigured using this method,\noverridden by request options, or cleared by\n",(0,t.jsx)(r.a,{href:"/api/@ima/core/classes/HttpProxy#cleardefaultheaders",children:"HttpProxy#clearDefaultHeaders"})," method."]}),"\n",(0,t.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,t.jsx)(r.h5,{id:"header",children:"header"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"A header name."}),"\n",(0,t.jsx)(r.h5,{id:"value",children:"value"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.p,{children:"A header value."}),"\n",(0,t.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"this"})}),"\n",(0,t.jsx)(r.p,{children:"this"})]})}function o(e={}){const{wrapper:r}={...(0,d.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>a});var n=s(3696);const t={},d=n.createContext(t);function i(e){const r=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(d.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/eb04481e.45f9c2bc.js b/assets/js/eb04481e.45f9c2bc.js deleted file mode 100644 index fbf2c93b1..000000000 --- a/assets/js/eb04481e.45f9c2bc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6632],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>g});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function c(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?c(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function l(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},c=Object.keys(e);for(r=0;r<c.length;r++)t=c[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)t=c[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=r.createContext({}),p=function(e){var a=r.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},s=function(e){var a=p(e.components);return r.createElement(o.Provider,{value:a},e.children)},y="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},m=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,c=e.originalType,o=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),y=p(t),m=n,g=y["".concat(o,".").concat(m)]||y[m]||d[m]||c;return t?r.createElement(g,i(i({ref:a},s),{},{components:t})):r.createElement(g,i({ref:a},s))}));function g(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var c=t.length,i=new Array(c);i[0]=m;var l={};for(var o in a)hasOwnProperty.call(a,o)&&(l[o]=a[o]);l.originalType=e,l[y]="string"==typeof e?e:n,i[1]=l;for(var p=2;p<c;p++)i[p]=t[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}m.displayName="MDXCreateElement"},2929:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>l,toc:()=>p});var r=t(8102),n=(t(6540),t(5680));const c={id:"ima_core.CacheFactory",title:"Class: CacheFactory<V>",sidebar_label:"@ima/core.CacheFactory",custom_edit_url:null},i=void 0,l={unversionedId:"api/classes/ima_core.CacheFactory",id:"api/classes/ima_core.CacheFactory",title:"Class: CacheFactory<V>",description:"@ima/core.CacheFactory",source:"@site/../docs/api/classes/ima_core.CacheFactory.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.CacheFactory",permalink:"/api/classes/ima_core.CacheFactory",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.CacheFactory",title:"Class: CacheFactory<V>",sidebar_label:"@ima/core.CacheFactory",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.CacheEntry",permalink:"/api/classes/ima_core.CacheEntry"},next:{title:"@ima/core.CacheImpl",permalink:"/api/classes/ima_core.CacheImpl"}},o={},p=[{value:"Type parameters",id:"type-parameters",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Methods",id:"methods",level:2},{value:"createCacheEntry",id:"createcacheentry",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-1",level:4}],s={toc:p},y="wrapper";function d(e){let{components:a,...t}=e;return(0,n.yg)(y,(0,r.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".CacheFactory"),(0,n.yg)("p",null,"Factory for creating instances of ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheEntry"},"CacheEntry"),"."),(0,n.yg)("h2",{id:"type-parameters"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new CacheFactory"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">","()"),(0,n.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V"))))),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheFactory.ts#L8"},"packages/core/src/cache/CacheFactory.ts:8")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"createcacheentry"},"createCacheEntry"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"createCacheEntry"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"value"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"ttl"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheEntry"},(0,n.yg)("inlineCode",{parentName:"a"},"CacheEntry")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"Create a new instance of ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheEntry"},"CacheEntry")," with value and ttl."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"value")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"V")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The cache entry value.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"ttl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Cache entry time to live in milliseconds. The entry will expire after the specified amount of milliseconds.")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CacheEntry"},(0,n.yg)("inlineCode",{parentName:"a"},"CacheEntry")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"V"),">"),(0,n.yg)("p",null,"The created cache entry."),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/cache/CacheFactory.ts#L21"},"packages/core/src/cache/CacheFactory.ts:21")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ebba7519.dffe1492.js b/assets/js/ebba7519.dffe1492.js new file mode 100644 index 000000000..d7c2b87d8 --- /dev/null +++ b/assets/js/ebba7519.dffe1492.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5019],{6595:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/dev-utils/functions/parseError","title":"Function: parseError()","description":"parseError(error, type?): Promise\\\\","source":"@site/../docs/api/@ima/dev-utils/functions/parseError.md","sourceDirName":"api/@ima/dev-utils/functions","slug":"/api/@ima/dev-utils/functions/parseError","permalink":"/api/@ima/dev-utils/functions/parseError","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/functions/parseError.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: parseCompileError()","permalink":"/api/@ima/dev-utils/functions/parseCompileError"},"next":{"title":"Function: printTime()","permalink":"/api/@ima/dev-utils/functions/printTime"}}');var i=n(2540),s=n(3023);const o={},a="Function: parseError()",c={},d=[{value:"Parameters",id:"parameters",level:2},{value:"error",id:"error",level:3},{value:"type?",id:"type",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"function-parseerror",children:"Function: parseError()"})}),"\n",(0,i.jsxs)(r.blockquote,{children:["\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.strong,{children:"parseError"}),"(",(0,i.jsx)(r.code,{children:"error"}),", ",(0,i.jsx)(r.code,{children:"type"}),"?): ",(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/dev-utils/type-aliases/ParsedErrorData",children:(0,i.jsx)(r.code,{children:"ParsedErrorData"})}),">"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["Defined in: ",(0,i.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/cliUtils.ts#L124",children:"cliUtils.ts:124"})]}),"\n",(0,i.jsx)(r.p,{children:"Formats provided error object into readable format including\nthe errored source code fragment with line highlight. Works\nwith runtime and compile errors while trying to show all\nrelevant information that can be extracted from provided object."}),"\n",(0,i.jsx)(r.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(r.h3,{id:"error",children:"error"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"StatsError"})," | ",(0,i.jsx)(r.code,{children:"Error"})]}),"\n",(0,i.jsx)(r.h3,{id:"type",children:"type?"}),"\n",(0,i.jsx)(r.p,{children:"Error type (affects error parsing)."}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:'"compile"'})," | ",(0,i.jsx)(r.code,{children:'"runtime"'})]}),"\n",(0,i.jsx)(r.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"Promise"}),"<",(0,i.jsx)(r.a,{href:"/api/@ima/dev-utils/type-aliases/ParsedErrorData",children:(0,i.jsx)(r.code,{children:"ParsedErrorData"})}),">"]}),"\n",(0,i.jsx)(r.p,{children:"Formatted error output."})]})}function p(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>o,x:()=>a});var t=n(3696);const i={},s=t.createContext(i);function o(e){const r=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ec3413e1.d6970f16.js b/assets/js/ec3413e1.d6970f16.js deleted file mode 100644 index d92c78f45..000000000 --- a/assets/js/ec3413e1.d6970f16.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5100],{5680:(e,a,t)=>{t.d(a,{xA:()=>s,yg:()=>c});var r=t(6540);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var g=r.createContext({}),m=function(e){var a=r.useContext(g),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},s=function(e){var a=m(e.components);return r.createElement(g.Provider,{value:a},e.children)},o="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},y=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,g=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),o=m(t),y=n,c=o["".concat(g,".").concat(y)]||o[y]||d[y]||i;return t?r.createElement(c,l(l({ref:a},s),{},{components:t})):r.createElement(c,l({ref:a},s))}));function c(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=y;var p={};for(var g in a)hasOwnProperty.call(a,g)&&(p[g]=a[g]);p.originalType=e,p[o]="string"==typeof e?e:n,l[1]=p;for(var m=2;m<i;m++)l[m]=t[m];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},8995:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>g,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>m});var r=t(8102),n=(t(6540),t(5680));const i={id:"ima_core.MetaManagerImpl",title:"Class: MetaManagerImpl",sidebar_label:"@ima/core.MetaManagerImpl",custom_edit_url:null},l=void 0,p={unversionedId:"api/classes/ima_core.MetaManagerImpl",id:"api/classes/ima_core.MetaManagerImpl",title:"Class: MetaManagerImpl",description:"@ima/core.MetaManagerImpl",source:"@site/../docs/api/classes/ima_core.MetaManagerImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.MetaManagerImpl",permalink:"/api/classes/ima_core.MetaManagerImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.MetaManagerImpl",title:"Class: MetaManagerImpl",sidebar_label:"@ima/core.MetaManagerImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.MetaManager",permalink:"/api/classes/ima_core.MetaManager"},next:{title:"@ima/core.Namespace",permalink:"/api/classes/ima_core.Namespace"}},g={},m=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_link",id:"_link",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_metaName",id:"_metaname",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_metaProperty",id:"_metaproperty",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_title",id:"_title",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods",level:2},{value:"clearMetaAttributes",id:"clearmetaattributes",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getLink",id:"getlink",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getLinks",id:"getlinks",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getLinksIterator",id:"getlinksiterator",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getMetaName",id:"getmetaname",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getMetaNames",id:"getmetanames",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getMetaNamesIterator",id:"getmetanamesiterator",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"getMetaProperties",id:"getmetaproperties",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"getMetaPropertiesIterator",id:"getmetapropertiesiterator",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"getMetaProperty",id:"getmetaproperty",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"getTitle",id:"gettitle",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"setLink",id:"setlink",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"setMetaName",id:"setmetaname",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"setMetaProperty",id:"setmetaproperty",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"setTitle",id:"settitle",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"Defined in",id:"defined-in-20",level:4}],s={toc:m},o="wrapper";function d(e){let{components:a,...t}=e;return(0,n.yg)(o,(0,r.A)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".MetaManagerImpl"),(0,n.yg)("p",null,"Default implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager")," interface."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManager"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"MetaManagerImpl"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new MetaManagerImpl"),"()"),(0,n.yg)("p",null,"Initializes the meta page attributes manager."),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L24"},"packages/core/src/meta/MetaManagerImpl.ts:24")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_link"},"_","link"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","link"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"href"'),">",">"),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L15"},"packages/core/src/meta/MetaManagerImpl.ts:15")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_metaname"},"_","metaName"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","metaName"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">",">"),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L13"},"packages/core/src/meta/MetaManagerImpl.ts:13")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_metaproperty"},"_","metaProperty"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","metaProperty"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">",">"),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L14"},"packages/core/src/meta/MetaManagerImpl.ts:14")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_title"},"_","title"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","title"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L12"},"packages/core/src/meta/MetaManagerImpl.ts:12")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"never"),"[]"),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L17"},"packages/core/src/meta/MetaManagerImpl.ts:17")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"clearmetaattributes"},"clearMetaAttributes"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"clearMetaAttributes"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Resets the stored meta names, properties and links."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#clearmetaattributes"},"clearMetaAttributes")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L166"},"packages/core/src/meta/MetaManagerImpl.ts:166")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getlink"},"getLink"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getLink"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"relation"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"href"'),">"),(0,n.yg)("p",null,"Return the reference to the specified related linked document. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"relation")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The relation of the link target to the current page.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"href"'),">"),(0,n.yg)("p",null,"The reference to the location of the related document,\ne.g. a URL."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getlink"},"getLink")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L145"},"packages/core/src/meta/MetaManagerImpl.ts:145")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getlinks"},"getLinks"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getLinks"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"Returns the relations of the currently set related documents linked to\nthe current page."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getlinks"},"getLinks")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L152"},"packages/core/src/meta/MetaManagerImpl.ts:152")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getlinksiterator"},"getLinksIterator"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getLinksIterator"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"href"'),">","]",">"),(0,n.yg)("p",null,"Return ","[key, value]"," pairs of currently set links."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"href"'),">","]",">"),(0,n.yg)("p",null,"[key, value]"," pairs of currently set links."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getlinksiterator"},"getLinksIterator")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L159"},"packages/core/src/meta/MetaManagerImpl.ts:159")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetaname"},"getMetaName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaName"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,n.yg)("p",null,"Returns the value of the specified named meta information property. The\nmethod returns an empty string for missing meta information (to make the\nreturned value React-friendly)."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The name of the named meta information property.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,n.yg)("p",null,"The value of the generic meta information, or an empty string."),(0,n.yg)("h4",{id:"overrides-5"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getmetaname"},"getMetaName")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L76"},"packages/core/src/meta/MetaManagerImpl.ts:76")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetanames"},"getMetaNames"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaNames"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"Returns the names of the currently specified named meta information\nproperties."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"The names of the currently specified named meta\ninformation properties."),(0,n.yg)("h4",{id:"overrides-6"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getmetanames"},"getMetaNames")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L83"},"packages/core/src/meta/MetaManagerImpl.ts:83")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetanamesiterator"},"getMetaNamesIterator"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaNamesIterator"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,n.yg)("p",null,"Return ","[key, value]"," pairs of named meta information."),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,n.yg)("p",null,"[key, value]"," pairs of named meta information."),(0,n.yg)("h4",{id:"overrides-7"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getmetanamesiterator"},"getMetaNamesIterator")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L90"},"packages/core/src/meta/MetaManagerImpl.ts:90")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetaproperties"},"getMetaProperties"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaProperties"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"Returns the names of the currently specified specialized meta\ninformation properties."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string"),"[]"),(0,n.yg)("p",null,"The names of the currently specified specialized meta\ninformation properties."),(0,n.yg)("h4",{id:"overrides-8"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getmetaproperties"},"getMetaProperties")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L120"},"packages/core/src/meta/MetaManagerImpl.ts:120")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetapropertiesiterator"},"getMetaPropertiesIterator"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaPropertiesIterator"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,n.yg)("p",null,"Return ","[key, value]"," pairs of meta information properties."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"IterableIterator"),"\\<[",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">","]",">"),(0,n.yg)("p",null,"[key, value]"," pairs of meta information properties."),(0,n.yg)("h4",{id:"overrides-9"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getmetapropertiesiterator"},"getMetaPropertiesIterator")),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L127"},"packages/core/src/meta/MetaManagerImpl.ts:127")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getmetaproperty"},"getMetaProperty"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getMetaProperty"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"property"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,n.yg)("p",null,"Returns the value of the specified specialized meta information\nproperty. The method returns an empty string for missing meta\ninformation (to make the returned value React-friendly)."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"property")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#metamanagerrecord"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerRecord")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},'"content"'),">"),(0,n.yg)("p",null,"The value of the specified meta information, or an\nempty string."),(0,n.yg)("h4",{id:"overrides-10"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#getmetaproperty"},"getMetaProperty")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L112"},"packages/core/src/meta/MetaManagerImpl.ts:112")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gettitle"},"getTitle"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getTitle"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the page title. The method returns an empty string if no page\ntitle has been set yet."),(0,n.yg)("p",null,"Note that the page title is cached internally by the meta manager and\nmay therefore differ from the current document title if it has been\nmodified by a 3rd party code."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current page title."),(0,n.yg)("h4",{id:"overrides-11"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#gettitle"},"getTitle")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L60"},"packages/core/src/meta/MetaManagerImpl.ts:60")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setlink"},"setLink"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setLink"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"relation"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"href"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"attr?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,"Sets the specified specialized link information."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"relation")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The relation of the link target to the current page.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"href")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaValue"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The reference to the location of the related document, e.g. a URL.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"attr?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metaattributes"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Parram"))),(0,n.yg)("p",null,"attr Additional optional link attributes."),(0,n.yg)("h4",{id:"overrides-12"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#setlink"},"setLink")),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L136"},"packages/core/src/meta/MetaManagerImpl.ts:136")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setmetaname"},"setMetaName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setMetaName"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"content"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"attr?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,"Set the specified named meta information property."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Meta information property name, for example ",(0,n.yg)("inlineCode",{parentName:"td"},"keywords"),".")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"content")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaValue"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The meta information content.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"attr?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metaattributes"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Parram"))),(0,n.yg)("p",null,"attr Additional optional meta attributes."),(0,n.yg)("h4",{id:"overrides-13"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#setmetaname"},"setMetaName")),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L67"},"packages/core/src/meta/MetaManagerImpl.ts:67")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"setmetaproperty"},"setMetaProperty"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setMetaProperty"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"property"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"content"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"attr?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,"Sets the specified specialized meta information property."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"property")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The value of the meta information property.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"content")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metavalue"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaValue"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"attr?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#metaattributes"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaAttributes"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Parram"))),(0,n.yg)("p",null,"attr Additional optional meta attributes."),(0,n.yg)("h4",{id:"overrides-14"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#setmetaproperty"},"setMetaProperty")),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L99"},"packages/core/src/meta/MetaManagerImpl.ts:99")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"settitle"},"setTitle"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"setTitle"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"title"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("p",null,"Sets the page title."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"title")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The new page title.")))),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManagerImpl"},(0,n.yg)("inlineCode",{parentName:"a"},"MetaManagerImpl"))),(0,n.yg)("h4",{id:"overrides-15"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager"},"MetaManager"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.MetaManager#settitle"},"setTitle")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/meta/MetaManagerImpl.ts#L51"},"packages/core/src/meta/MetaManagerImpl.ts:51")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ecde905a.216a218a.js b/assets/js/ecde905a.216a218a.js deleted file mode 100644 index 53bd3390f..000000000 --- a/assets/js/ecde905a.216a218a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8799],{5680:(e,a,t)=>{t.d(a,{xA:()=>p,yg:()=>N});var n=t(6540);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?r(Object(t),!0).forEach((function(a){i(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function g(e,a){if(null==e)return{};var t,n,i=function(e,a){if(null==e)return{};var t,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)t=r[n],a.indexOf(t)>=0||(i[t]=e[t]);return i}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)t=r[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var d=n.createContext({}),o=function(e){var a=n.useContext(d),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},p=function(e){var a=o(e.components);return n.createElement(d.Provider,{value:a},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},s=n.forwardRef((function(e,a){var t=e.components,i=e.mdxType,r=e.originalType,d=e.parentName,p=g(e,["components","mdxType","originalType","parentName"]),m=o(t),s=i,N=m["".concat(d,".").concat(s)]||m[s]||y[s]||r;return t?n.createElement(N,l(l({ref:a},p),{},{components:t})):n.createElement(N,l({ref:a},p))}));function N(e,a){var t=arguments,i=a&&a.mdxType;if("string"==typeof e||i){var r=t.length,l=new Array(r);l[0]=s;var g={};for(var d in a)hasOwnProperty.call(a,d)&&(g[d]=a[d]);g.originalType=e,g[m]="string"==typeof e?e:i,l[1]=g;for(var o=2;o<r;o++)l[o]=t[o];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}s.displayName="MDXCreateElement"},8493:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>l,default:()=>y,frontMatter:()=>r,metadata:()=>g,toc:()=>o});var n=t(8102),i=(t(6540),t(5680));const r={id:"ima_cli",title:"Module: @ima/cli",sidebar_label:"@ima/cli",sidebar_position:0,custom_edit_url:null},l=void 0,g={unversionedId:"api/modules/ima_cli",id:"api/modules/ima_cli",title:"Module: @ima/cli",description:"Interfaces",source:"@site/../docs/api/modules/ima_cli.md",sourceDirName:"api/modules",slug:"/api/modules/ima_cli",permalink:"/api/modules/ima_cli",draft:!1,editUrl:null,tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"ima_cli",title:"Module: @ima/cli",sidebar_label:"@ima/cli",sidebar_position:0,custom_edit_url:null},sidebar:"api",previous:{title:"Table of Contents",permalink:"/api/"},next:{title:"@ima/core",permalink:"/api/modules/ima_core"}},d={},o=[{value:"Interfaces",id:"interfaces",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"ImaCliCommand",id:"imaclicommand",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"ImaConfig",id:"imaconfig",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"Variables",id:"variables",level:2},{value:"IMA_CONF_FILENAME",id:"ima_conf_filename",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"Functions",id:"functions",level:2},{value:"compileLanguages",id:"compilelanguages",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"createCacheKey",id:"createcachekey",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"createDevServerConfig",id:"createdevserverconfig",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"createWebpackConfig",id:"createwebpackconfig",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"findRules",id:"findrules",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getCurrentCoreJsVersion",id:"getcurrentcorejsversion",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getLanguageEntryPoints",id:"getlanguageentrypoints",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"resolveEnvironment",id:"resolveenvironment",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"resolveImaConfig",id:"resolveimaconfig",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"runImaPluginsHook",id:"runimapluginshook",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-12",level:4}],p={toc:o},m="wrapper";function y(e){let{components:a,...t}=e;return(0,i.yg)(m,(0,n.A)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,i.yg)("h2",{id:"interfaces"},"Interfaces"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("a",{parentName:"li",href:"/api/interfaces/ima_cli.ImaCliArgs"},"ImaCliArgs")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("a",{parentName:"li",href:"/api/interfaces/ima_cli.ImaCliPlugin"},"ImaCliPlugin")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("a",{parentName:"li",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},"ImaConfigurationContext"))),(0,i.yg)("h2",{id:"type-aliases"},"Type Aliases"),(0,i.yg)("h3",{id:"imaclicommand"},"ImaCliCommand"),(0,i.yg)("p",null,"\u01ac ",(0,i.yg)("strong",{parentName:"p"},"ImaCliCommand"),": ",(0,i.yg)("inlineCode",{parentName:"p"},'"build"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},'"dev"')),(0,i.yg)("p",null,"Ima CLI commands."),(0,i.yg)("h4",{id:"defined-in"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L25"},"types.ts:25")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"imaconfig"},"ImaConfig"),(0,i.yg)("p",null,"\u01ac ",(0,i.yg)("strong",{parentName:"p"},"ImaConfig"),": ",(0,i.yg)("inlineCode",{parentName:"p"},"Object")),(0,i.yg)("p",null,"Ima config options. Some of these options can be overridden using Args, which takes precedence.\nThese are parsed from optional ima.config.js that can be defined in the root of the IMA.js project."),(0,i.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"compress")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"boolean")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Enable brotli and gzip compression for production assets ","[default=true]",".")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"cssBrowsersTarget")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Browserslist configuration string for postcss-preset-env.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"devServer?")),(0,i.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,i.yg)("inlineCode",{parentName:"td"},"hostname?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,i.yg)("inlineCode",{parentName:"td"},"origin?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,i.yg)("inlineCode",{parentName:"td"},"port?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"number")," ; ",(0,i.yg)("inlineCode",{parentName:"td"},"publicUrl?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"string")," ; ",(0,i.yg)("inlineCode",{parentName:"td"},"writeToDiskFilter?"),": (",(0,i.yg)("inlineCode",{parentName:"td"},"filePath"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"boolean")," }"),(0,i.yg)("td",{parentName:"tr",align:"left"},"HMR dev server settings.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"devServer.hostname?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"devServer.origin?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Optional custom ima app origin (defaults to http://localhost:","[environment.$Server.port]",") this is used for CORS configuration.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"devServer.port?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"number")),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"devServer.publicUrl?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"devServer.writeToDiskFilter?")),(0,i.yg)("td",{parentName:"tr",align:"left"},"(",(0,i.yg)("inlineCode",{parentName:"td"},"filePath"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"string"),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"boolean")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Custom filtr for files which should be always written to disk, even if we're serving static files from memory. This is used for example to always save runner.js to disk, since it's used on server-side too.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"disableLegacyBuild?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"boolean")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Disables build of 'client' legacy bundle.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"experiments?")),(0,i.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,i.yg)("inlineCode",{parentName:"td"},"css?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"boolean")," }"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Experimental configurations which can be enabled individually on specific applications. Some of these may find a way to default configuration in future versions of IMA.js.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"experiments.css?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"boolean")),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imageInlineSizeLimit")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"number")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Threshold to inline image resources as base64 automatically ","[default=8192]")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"jsxRuntime?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},'"classic"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"automatic"')),(0,i.yg)("td",{parentName:"tr",align:"left"},"Set custom jsxRuntime, the default is 'automatic'.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"languages")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"string"),"[]",">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Supported languages with glob paths of the files with translations")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"plugins?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliPlugin"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliPlugin")),"[]"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Optional IMA cli plugins that can be used to easily extend webpack config and cli with additional features.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"postcss")),(0,i.yg)("td",{parentName:"tr",align:"left"},"(",(0,i.yg)("inlineCode",{parentName:"td"},"config"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"unknown"),">",", ",(0,i.yg)("inlineCode",{parentName:"td"},"ctx"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"unknown"),">",">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Function which receives postcss-loader config and current context, this can be used to customize existing default postcss config or completely replace it with a custom one.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"publicPath")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Webpack assets public path ","[default='']")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"sourceMaps?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"boolean")," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"inline-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"inline-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"inline-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval-nosources-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval-nosources-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"eval-nosources-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"inline-nosources-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"inline-nosources-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"inline-nosources-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"nosources-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"nosources-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"nosources-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"hidden-nosources-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"hidden-nosources-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"hidden-nosources-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"hidden-cheap-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"hidden-cheap-module-source-map"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"hidden-source-map"')),(0,i.yg)("td",{parentName:"tr",align:"left"},"Set to true (or any preset from ",(0,i.yg)("a",{parentName:"td",href:"https://webpack.js.org/configuration/devtool/#devtool"},"https://webpack.js.org/configuration/devtool/#devtool"),") to enable source maps for production build. (dev/watch tasks always generate source maps to work properly with error overlay).")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"swc")),(0,i.yg)("td",{parentName:"tr",align:"left"},"(",(0,i.yg)("inlineCode",{parentName:"td"},"config"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"unknown"),">",", ",(0,i.yg)("inlineCode",{parentName:"td"},"ctx"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"unknown"),">",">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Function which receives default app swc-loader config and current context, this can be used for additional customization or returning completely different config.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"swcVendor")),(0,i.yg)("td",{parentName:"tr",align:"left"},"(",(0,i.yg)("inlineCode",{parentName:"td"},"config"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"unknown"),">",", ",(0,i.yg)("inlineCode",{parentName:"td"},"ctx"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"unknown"),">",">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Function which receives default vendor swc-loader config and current context, this can be used for additional customization of vendor processed files.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"transformVendorPaths?")),(0,i.yg)("td",{parentName:"tr",align:"left"},"{"," ",(0,i.yg)("inlineCode",{parentName:"td"},"exclude?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"RegExp"),"[] ; ",(0,i.yg)("inlineCode",{parentName:"td"},"include?"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"RegExp"),"[] }"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Advanced functionality allowing you to include/exclude custom vendor paths that go through swc loader (configured using swcVendor function). Use this if you're using dependencies that don't meet the lowest supported ES version target (ES9 by default). all packages in ",(0,i.yg)("strong",{parentName:"td"},(0,i.yg)("inlineCode",{parentName:"strong"},"Ima"))," namespace are included by default.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"transformVendorPaths.exclude?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"RegExp"),"[]"),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"transformVendorPaths.include?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"RegExp"),"[]"),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"watchOptions")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Watching"),"[",(0,i.yg)("inlineCode",{parentName:"td"},'"watchOptions"'),"]"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Custom options passed to webpack watch api interface. For more information see: ",(0,i.yg)("a",{parentName:"td",href:"https://webpack.js.org/configuration/watch/#watchoptions"},"https://webpack.js.org/configuration/watch/#watchoptions"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"webpack?")),(0,i.yg)("td",{parentName:"tr",align:"left"},"(",(0,i.yg)("inlineCode",{parentName:"td"},"config"),": ",(0,i.yg)("inlineCode",{parentName:"td"},"Configuration"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"ctx"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),", ",(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"Configuration"),">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Webpack callback function can be used to completely customize default webpack config before it's run.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"webpackAliases?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"ResolveOptions"),"[",(0,i.yg)("inlineCode",{parentName:"td"},'"alias"'),"]"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Optional custom webpack aliases")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"prepareConfigurations?")),(0,i.yg)("td",{parentName:"tr",align:"left"},"(",(0,i.yg)("inlineCode",{parentName:"td"},"configurations"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),"[], ",(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")),", ",(0,i.yg)("inlineCode",{parentName:"td"},"args"),": ",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs")),") => ",(0,i.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")),"[]",">"),(0,i.yg)("td",{parentName:"tr",align:"left"},"Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This is usefull when you need to overrite configuration contexts for values that are not editable anywhere else (like output folders).")))),(0,i.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/types.ts#L139"},"types.ts:139")),(0,i.yg)("h2",{id:"variables"},"Variables"),(0,i.yg)("h3",{id:"ima_conf_filename"},"IMA","_","CONF","_","FILENAME"),(0,i.yg)("p",null,"\u2022 ",(0,i.yg)("inlineCode",{parentName:"p"},"Const")," ",(0,i.yg)("strong",{parentName:"p"},"IMA","_","CONF","_","FILENAME"),": ",(0,i.yg)("inlineCode",{parentName:"p"},'"ima.config.js"')),(0,i.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L14"},"webpack/utils.ts:14")),(0,i.yg)("h2",{id:"functions"},"Functions"),(0,i.yg)("h3",{id:"compilelanguages"},"compileLanguages"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"compileLanguages"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"rootDir"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"watch?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Compile language files defined in imaConfig."),(0,i.yg)("h4",{id:"parameters"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"undefined")),(0,i.yg)("td",{parentName:"tr",align:"left"},"ima.config.js file contents.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"rootDir")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"undefined")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Current compilation root directory.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"watch")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"boolean")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"false")),(0,i.yg)("td",{parentName:"tr",align:"left"},"When set to true, it creates chokidar instances which watch language files for changes and trigger recompilation.")))),(0,i.yg)("h4",{id:"returns"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/languages.ts#L203"},"webpack/languages.ts:203")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"createcachekey"},"createCacheKey"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"createCacheKey"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"ctx"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"additionalData?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("p",null,"Creates hash representing current webpack environment."),(0,i.yg)("h4",{id:"parameters-1"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"ctx")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Current configuration context.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"ima configuration")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"additionalData")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Object")),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,i.yg)("h4",{id:"returns-1"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"string")),(0,i.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L167"},"webpack/utils.ts:167")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"createdevserverconfig"},"createDevServerConfig"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"createDevServerConfig"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"\xabdestructured\xbb"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Object")),(0,i.yg)("p",null,"Creates hmr dev server configuration from provided contexts\nand arguments with this priority args -> ctx -> imaConfig -> ","[defaults]","."),(0,i.yg)("h4",{id:"parameters-2"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"\xabdestructured\xbb")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Object"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},"\u203a\xa0",(0,i.yg)("inlineCode",{parentName:"td"},"args?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs")))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},"\u203a\xa0",(0,i.yg)("inlineCode",{parentName:"td"},"ctx?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaConfigurationContext"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfigurationContext")))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},"\u203a\xa0",(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")))))),(0,i.yg)("h4",{id:"returns-2"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Object")),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"hostname")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"port")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"number"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"publicUrl")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string"))))),(0,i.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L122"},"webpack/utils.ts:122")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"createwebpackconfig"},"createWebpackConfig"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"createWebpackConfig"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"args"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"Configuration"),"[]",">"),(0,i.yg)("p",null,"Creates webpack configurations contexts from current config and cli args.\nAdditionally it applies all existing configuration overrides from cli plugins\nand app overrides in this order cli -> plugins -> app."),(0,i.yg)("h4",{id:"parameters-3"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"args")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Parsed CLI and build arguments.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Loaded ima config.")))),(0,i.yg)("h4",{id:"returns-3"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"Configuration"),"[]",">"),(0,i.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L453"},"webpack/utils.ts:453")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"findrules"},"findRules"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"findRules"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"testString"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"loader?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"RuleSetRule"),"[] ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"RuleSetUseItem"),"[]"),(0,i.yg)("p",null,"Helper for finding rules with given loader in webpack config."),(0,i.yg)("h4",{id:"parameters-4"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"config")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Configuration"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"testString")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string"))),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"loader?")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string"))))),(0,i.yg)("h4",{id:"returns-4"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"RuleSetRule"),"[] ","|"," ",(0,i.yg)("inlineCode",{parentName:"p"},"RuleSetUseItem"),"[]"),(0,i.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L20"},"webpack/utils.ts:20")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"getcurrentcorejsversion"},"getCurrentCoreJsVersion"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"getCurrentCoreJsVersion"),"(): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,i.yg)("p",null,"Extracts major.minor version string of currently resolved\ncore-js from node_modules."),(0,i.yg)("h4",{id:"returns-5"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,i.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L538"},"webpack/utils.ts:538")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"getlanguageentrypoints"},"getLanguageEntryPoints"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"getLanguageEntryPoints"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"languages"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"rootDir"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"useHMR?"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,i.yg)("p",null,"Returns entry points to use in webpack configurations. These then lead to\nmessageformat compiled modules while also containing some additional runtime code."),(0,i.yg)("h4",{id:"parameters-5"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"languages")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"td"},"string"),"[]",">"),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"undefined")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Languages object from ima config.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"rootDir")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"undefined")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Current compilation root directory.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"useHMR")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"boolean")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"false")),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,i.yg)("h4",{id:"returns-6"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Record"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"string"),">"),(0,i.yg)("p",null,"Object with webpack entry points."),(0,i.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/languages.ts#L64"},"webpack/languages.ts:64")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"resolveenvironment"},"resolveEnvironment"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"resolveEnvironment"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"rootDir?"),"): ",(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,i.yg)("inlineCode",{parentName:"a"},"Environment"))),(0,i.yg)("p",null,"Loads application IMA.js environment from server/config/environment.js"),(0,i.yg)("h4",{id:"parameters-6"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"rootDir")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"string")),(0,i.yg)("td",{parentName:"tr",align:"left"},"Application root directory")))),(0,i.yg)("h4",{id:"returns-7"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.Environment"},(0,i.yg)("inlineCode",{parentName:"a"},"Environment"))),(0,i.yg)("p",null,"Loaded environment"),(0,i.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L90"},"webpack/utils.ts:90")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"resolveimaconfig"},"resolveImaConfig"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"resolveImaConfig"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"args"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")),">"),(0,i.yg)("p",null,"Resolves ima.config.js from rootDir base path with DEFAULTS."),(0,i.yg)("h4",{id:"parameters-7"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"args")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"CLI args.")))),(0,i.yg)("h4",{id:"returns-8"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("a",{parentName:"p",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig")),">"),(0,i.yg)("p",null,"Ima config or empty object."),(0,i.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L229"},"webpack/utils.ts:229")),(0,i.yg)("hr",null),(0,i.yg)("h3",{id:"runimapluginshook"},"runImaPluginsHook"),(0,i.yg)("p",null,"\u25b8 ",(0,i.yg)("strong",{parentName:"p"},"runImaPluginsHook"),"(",(0,i.yg)("inlineCode",{parentName:"p"},"args"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"imaConfig"),", ",(0,i.yg)("inlineCode",{parentName:"p"},"hook"),"): ",(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("p",null,"Runs one of optional ima plugin hooks defined on existing plugins."),(0,i.yg)("h4",{id:"parameters-8"},"Parameters"),(0,i.yg)("table",null,(0,i.yg)("thead",{parentName:"table"},(0,i.yg)("tr",{parentName:"thead"},(0,i.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,i.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,i.yg)("tbody",{parentName:"table"},(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"args")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/interfaces/ima_cli.ImaCliArgs"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaCliArgs"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Parsed CLI and build arguments.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"imaConfig")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("a",{parentName:"td",href:"/api/modules/ima_cli#imaconfig"},(0,i.yg)("inlineCode",{parentName:"a"},"ImaConfig"))),(0,i.yg)("td",{parentName:"tr",align:"left"},"Loaded ima config.")),(0,i.yg)("tr",{parentName:"tbody"},(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},"hook")),(0,i.yg)("td",{parentName:"tr",align:"left"},(0,i.yg)("inlineCode",{parentName:"td"},'"preProcess"')," ","|"," ",(0,i.yg)("inlineCode",{parentName:"td"},'"postProcess"')),(0,i.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,i.yg)("h4",{id:"returns-9"},"Returns"),(0,i.yg)("p",null,(0,i.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,i.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,i.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,i.yg)("p",null,(0,i.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/cli/src/webpack/utils.ts#L331"},"webpack/utils.ts:331")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f0633975.36dae0c5.js b/assets/js/f0633975.36dae0c5.js new file mode 100644 index 000000000..9a9569937 --- /dev/null +++ b/assets/js/f0633975.36dae0c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[5588],{7432:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/type-aliases/InitRoutesFunction","title":"Type Alias: InitRoutesFunction()","description":"InitRoutesFunction: (ns, oc, routes, router) => void","source":"@site/../docs/api/@ima/core/type-aliases/InitRoutesFunction.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/InitRoutesFunction","permalink":"/api/@ima/core/type-aliases/InitRoutesFunction","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/InitRoutesFunction.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: InitBindFunction()","permalink":"/api/@ima/core/type-aliases/InitBindFunction"},"next":{"title":"Type Alias: InitServicesFunction()","permalink":"/api/@ima/core/type-aliases/InitServicesFunction"}}');var i=s(2540),r=s(3023);const o={},c="Type Alias: InitRoutesFunction()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"ns",id:"ns",level:3},{value:"oc",id:"oc",level:3},{value:"routes",id:"routes",level:3},{value:"router",id:"router",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"type-alias-initroutesfunction",children:"Type Alias: InitRoutesFunction()"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"InitRoutesFunction"}),": (",(0,i.jsx)(n.code,{children:"ns"}),", ",(0,i.jsx)(n.code,{children:"oc"}),", ",(0,i.jsx)(n.code,{children:"routes"}),", ",(0,i.jsx)(n.code,{children:"router"}),") => ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L23",children:"packages/core/src/Bootstrap.ts:23"})]}),"\n",(0,i.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h3,{id:"ns",children:"ns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Namespace",children:(0,i.jsx)(n.code,{children:"Namespace"})})}),"\n",(0,i.jsx)(n.h3,{id:"oc",children:"oc"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,i.jsx)(n.code,{children:"ObjectContainer"})})}),"\n",(0,i.jsx)(n.h3,{id:"routes",children:"routes"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,i.jsx)(n.code,{children:"UnknownParameters"})})," | ",(0,i.jsx)(n.code,{children:"undefined"})]}),"\n",(0,i.jsx)(n.h3,{id:"router",children:"router"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Router",children:(0,i.jsx)(n.code,{children:"Router"})})}),"\n",(0,i.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>c});var t=s(3696);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f20b9f24.ba134031.js b/assets/js/f20b9f24.ba134031.js deleted file mode 100644 index 6d5a8b849..000000000 --- a/assets/js/f20b9f24.ba134031.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[442],{5680:(e,t,a)=>{a.d(t,{xA:()=>g,yg:()=>u});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),s=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},g=function(e){var t=s(e.components);return r.createElement(p.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),d=s(a),y=n,u=d["".concat(p,".").concat(y)]||d[y]||m[y]||i;return a?r.createElement(u,l(l({ref:t},g),{},{components:a})):r.createElement(u,l({ref:t},g))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=y;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[d]="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}y.displayName="MDXCreateElement"},6947:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.DynamicRoute",title:"Class: DynamicRoute",sidebar_label:"@ima/core.DynamicRoute",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.DynamicRoute",id:"api/classes/ima_core.DynamicRoute",title:"Class: DynamicRoute",description:"@ima/core.DynamicRoute",source:"@site/../docs/api/classes/ima_core.DynamicRoute.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.DynamicRoute",permalink:"/api/classes/ima_core.DynamicRoute",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.DynamicRoute",title:"Class: DynamicRoute",sidebar_label:"@ima/core.DynamicRoute",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.DispatcherImpl",permalink:"/api/classes/ima_core.DispatcherImpl"},next:{title:"@ima/core.Entry",permalink:"/api/classes/ima_core.Entry"}},p={},s=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_controller",id:"_controller",level:3},{value:"Type declaration",id:"type-declaration",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-1",level:4},{value:"_name",id:"_name",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-2",level:4},{value:"_options",id:"_options",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_pathExpression",id:"_pathexpression",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_view",id:"_view",level:3},{value:"Type declaration",id:"type-declaration-1",level:4},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"Methods",id:"methods",level:2},{value:"extractParameters",id:"extractparameters",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"getController",id:"getcontroller",level:3},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"getName",id:"getname",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"getOptions",id:"getoptions",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"getPathExpression",id:"getpathexpression",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"getTrimmedPath",id:"gettrimmedpath",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"getView",id:"getview",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"isAsync",id:"isasync",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"isControllerResolved",id:"iscontrollerresolved",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"isViewResolved",id:"isviewresolved",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"matches",id:"matches",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"preload",id:"preload",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"toPath",id:"topath",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-18",level:4}],g={toc:s},d="wrapper";function m(e){let{components:t,...a}=e;return(0,n.yg)(d,(0,r.A)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".DynamicRoute"),(0,n.yg)("p",null,"Utility for representing and manipulating a single dynamic route in the\nrouter's configuration. Dynamic route is defined by regExp used for route\nmatching and overrides for toPath and extractParameters functions to generate\nand put together valid path."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"DynamicRoute"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new DynamicRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),")"),(0,n.yg)("p",null,"Initializes the route."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Path expression used in route matching, to generate valid path with provided params and parsing params from current path.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/DynamicRoute.ts#L58"},"packages/core/src/router/DynamicRoute.ts:58")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"_controller"},"_","controller"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","controller"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The full name of Object Container alias identifying the controller\nassociated with this route."),(0,n.yg)("h4",{id:"type-declaration"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"cached")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController")))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resolved")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"boolean"))))),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_controller"},"_controller")),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L58"},"packages/core/src/router/AbstractRoute.ts:58")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_name"},"_","name"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","name"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The unique name of this route, identifying it among the rest of the\nroutes in the application."),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_name"},"_name")),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L48"},"packages/core/src/router/AbstractRoute.ts:48")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_options"},"_","options"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","options"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("p",null,"The route additional options."),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_options"},"_options")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L76"},"packages/core/src/router/AbstractRoute.ts:76")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pathexpression"},"_","pathExpression"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","pathExpression"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression"))),(0,n.yg)("p",null,"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_pathexpression"},"_pathExpression")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L53"},"packages/core/src/router/AbstractRoute.ts:53")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_view"},"_","view"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","view"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The full name or Object Container alias identifying the view class\nassociated with this route."),(0,n.yg)("h4",{id:"type-declaration-1"},"Type declaration"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"cached")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"null")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"resolved")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"boolean"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView")))))),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#_view"},"_view")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L67"},"packages/core/src/router/AbstractRoute.ts:67")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"extractparameters"},"extractParameters"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"extractParameters"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"baseUrl"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("p",null,"Extracts the parameter values from the provided path. The method\nextracts both the in-path parameters and parses the query, allowing the\nquery parameters to override the in-path parameters."),(0,n.yg)("p",null,"The method returns an empty hash object if the path does not match this\nroute."),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Currently routed path.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"baseUrl")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Currently routed baseUrl.")))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("p",null,"Map of parameter names to parameter\nvalues."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#extractparameters"},"extractParameters")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/DynamicRoute.ts#L112"},"packages/core/src/router/DynamicRoute.ts:112")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getcontroller"},"getController"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getController"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,n.yg)("p",null,"Returns Controller class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported controllers,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),">"),(0,n.yg)("p",null,"The Controller class/alias/constant."),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getcontroller"},"getController")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L153"},"packages/core/src/router/AbstractRoute.ts:153")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getname"},"getName"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getName"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the unique identifying name of this route."),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The name of the route, identifying it."),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getname"},"getName")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L132"},"packages/core/src/router/AbstractRoute.ts:132")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getoptions"},"getOptions"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getOptions"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("p",null,"Return route additional options."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteFactoryOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactoryOptions"))),(0,n.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getoptions"},"getOptions")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L210"},"packages/core/src/router/AbstractRoute.ts:210")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getpathexpression"},"getPathExpression"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getPathExpression"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression"))),(0,n.yg)("p",null,"Path expression used in route matching, to generate valid path with\nprovided params and parsing params from current path."),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression"))),(0,n.yg)("p",null,"The path expression."),(0,n.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getpathexpression"},"getPathExpression")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L220"},"packages/core/src/router/AbstractRoute.ts:220")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gettrimmedpath"},"getTrimmedPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getTrimmedPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Trims the trailing forward slash from the provided URL path."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The path to trim.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Trimmed path."),(0,n.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#gettrimmedpath"},"getTrimmedPath")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L230"},"packages/core/src/router/AbstractRoute.ts:230")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getview"},"getView"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getView"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,n.yg)("p",null,"Returns View class/alias/constant associated with this route.\nInternally caches async calls for dynamically imported views,\nmeaning that once they're loaded, you get the same promise for\nsubsequent calls."),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView"))," ","|"," ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),">"),(0,n.yg)("p",null,"The View class/alias/constant."),(0,n.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#getview"},"getView")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L185"},"packages/core/src/router/AbstractRoute.ts:185")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isasync"},"isAsync"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isAsync"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"module"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Checks if given argument is an async handler."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"module")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#isasync"},"isAsync")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L139"},"packages/core/src/router/AbstractRoute.ts:139")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"iscontrollerresolved"},"isControllerResolved"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isControllerResolved"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true for resolved controller. This is always true\nfor sync route views."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#iscontrollerresolved"},"isControllerResolved")),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L173"},"packages/core/src/router/AbstractRoute.ts:173")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isviewresolved"},"isViewResolved"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isViewResolved"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Returns true for resolved view. This is always true\nfor sync route views."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#isviewresolved"},"isViewResolved")),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L203"},"packages/core/src/router/AbstractRoute.ts:203")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"matches"},"matches"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"matches"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests whether the provided URL path matches this route. The provided\npath may contain the query."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")))),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the provided path matches this route."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#matches"},"matches")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/DynamicRoute.ts#L105"},"packages/core/src/router/DynamicRoute.ts:105")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"preload"},"preload"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"preload"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<[",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),"]",">"),(0,n.yg)("p",null,"Preloads dynamically imported view and controller."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<[",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteController")),", ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routeview"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteView")),"]",">"),(0,n.yg)("p",null,"Promise.All resolving to ","[view, controller]"," tuple."),(0,n.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#preload"},"preload")),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRoute.ts#L239"},"packages/core/src/router/AbstractRoute.ts:239")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"topath"},"toPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"toPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Creates the URL and query parts of a URL by substituting the route's\nparameter placeholders by the provided parameter value."),(0,n.yg)("p",null,"The extraneous parameters that do not match any of the route's\nplaceholders will be appended as the query string."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route parameter values.")))),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Path and, if necessary, query parts of the URL\nrepresenting this route with its parameters replaced by the\nprovided parameter values."),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},"AbstractRoute"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute#topath"},"toPath")),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/DynamicRoute.ts#L98"},"packages/core/src/router/DynamicRoute.ts:98")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f219100a.4b513d79.js b/assets/js/f219100a.4b513d79.js deleted file mode 100644 index cc93fd08f..000000000 --- a/assets/js/f219100a.4b513d79.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6263],{5680:(e,t,n)=>{n.d(t,{xA:()=>c,yg:()=>m});var a=n(6540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),s=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},c=function(e){var t=s(e.components);return a.createElement(l.Provider,{value:t},e.children)},g="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),g=s(n),u=r,m=g["".concat(l,".").concat(u)]||g[u]||d[u]||i;return n?a.createElement(m,p(p({ref:t},c),{},{components:n})):a.createElement(m,p({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,p=new Array(i);p[0]=u;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[g]="string"==typeof e?e:r,p[1]=o;for(var s=2;s<i;s++)p[s]=n[s];return a.createElement.apply(null,p)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},1721:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>p,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=n(8102),r=(n(6540),n(5680));const i={id:"ima_core.HttpAgentRequestOptions",title:"Interface: HttpAgentRequestOptions",sidebar_label:"@ima/core.HttpAgentRequestOptions",custom_edit_url:null},p=void 0,o={unversionedId:"api/interfaces/ima_core.HttpAgentRequestOptions",id:"api/interfaces/ima_core.HttpAgentRequestOptions",title:"Interface: HttpAgentRequestOptions",description:"@ima/core.HttpAgentRequestOptions",source:"@site/../docs/api/interfaces/ima_core.HttpAgentRequestOptions.md",sourceDirName:"api/interfaces",slug:"/api/interfaces/ima_core.HttpAgentRequestOptions",permalink:"/api/interfaces/ima_core.HttpAgentRequestOptions",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.HttpAgentRequestOptions",title:"Interface: HttpAgentRequestOptions",sidebar_label:"@ima/core.HttpAgentRequestOptions",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.GlobalImaObject",permalink:"/api/interfaces/ima_core.GlobalImaObject"},next:{title:"@ima/core.ImaRequestInit",permalink:"/api/interfaces/ima_core.ImaRequestInit"}},l={},s=[{value:"Properties",id:"properties",level:2},{value:"abortController",id:"abortcontroller",level:3},{value:"Defined in",id:"defined-in",level:4},{value:"cache",id:"cache",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"fetchOptions",id:"fetchoptions",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"keepSensitiveHeaders",id:"keepsensitiveheaders",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"postProcessors",id:"postprocessors",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"repeatRequest",id:"repeatrequest",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"responseType",id:"responsetype",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"timeout",id:"timeout",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"ttl",id:"ttl",level:3},{value:"Defined in",id:"defined-in-8",level:4},{value:"validateCookies",id:"validatecookies",level:3},{value:"Defined in",id:"defined-in-9",level:4}],c={toc:s},g="wrapper";function d(e){let{components:t,...n}=e;return(0,r.yg)(g,(0,a.A)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".HttpAgentRequestOptions"),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"abortcontroller"},"abortController"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"abortController"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"AbortController")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L40"},"packages/core/src/http/HttpAgent.ts:40")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cache"},"cache"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"cache"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L35"},"packages/core/src/http/HttpAgent.ts:35")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"fetchoptions"},"fetchOptions"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"fetchOptions"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.ImaRequestInit"},(0,r.yg)("inlineCode",{parentName:"a"},"ImaRequestInit"))),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L34"},"packages/core/src/http/HttpAgent.ts:34")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"keepsensitiveheaders"},"keepSensitiveHeaders"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"keepSensitiveHeaders"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L41"},"packages/core/src/http/HttpAgent.ts:41")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"postprocessors"},"postProcessors"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"postProcessors"),": \\<B",">","(",(0,r.yg)("inlineCode",{parentName:"p"},"response"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",") => ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","[]"),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L37"},"packages/core/src/http/HttpAgent.ts:37")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"repeatrequest"},"repeatRequest"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"repeatRequest"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L33"},"packages/core/src/http/HttpAgent.ts:33")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"responsetype"},"responseType"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"responseType"),": ",(0,r.yg)("inlineCode",{parentName:"p"},'"json"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"blob"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"text"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"arrayBuffer"')," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},'"formData"')),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L36"},"packages/core/src/http/HttpAgent.ts:36")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"timeout"},"timeout"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"timeout"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L31"},"packages/core/src/http/HttpAgent.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"ttl"},"ttl"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"ttl"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"number")),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L32"},"packages/core/src/http/HttpAgent.ts:32")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"validatecookies"},"validateCookies"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Optional")," ",(0,r.yg)("strong",{parentName:"p"},"validateCookies"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"boolean")),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgent.ts#L42"},"packages/core/src/http/HttpAgent.ts:42")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f2953143.35918498.js b/assets/js/f2953143.35918498.js new file mode 100644 index 000000000..e986a2a00 --- /dev/null +++ b/assets/js/f2953143.35918498.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7546],{2554:(e,a,s)=>{s.r(a),s.d(a,{assets:()=>o,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/variables/ns","title":"Variable: ns","description":"const ns: Namespace","source":"@site/../docs/api/@ima/core/variables/ns.md","sourceDirName":"api/@ima/core/variables","slug":"/api/@ima/core/variables/ns","permalink":"/api/@ima/core/variables/ns","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/variables/ns.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: WindowEventTargetsMap\\\\<E\\\\>","permalink":"/api/@ima/core/type-aliases/WindowEventTargetsMap"},"next":{"title":"Variable: pluginLoader","permalink":"/api/@ima/core/variables/pluginLoader"}}');var r=s(2540),t=s(3023);const i={},c="Variable: ns",o={},l=[];function p(e){const a={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.header,{children:(0,r.jsx)(a.h1,{id:"variable-ns",children:"Variable: ns"})}),"\n",(0,r.jsxs)(a.blockquote,{children:["\n",(0,r.jsxs)(a.p,{children:[(0,r.jsx)(a.code,{children:"const"})," ",(0,r.jsx)(a.strong,{children:"ns"}),": ",(0,r.jsx)(a.a,{href:"/api/@ima/core/classes/Namespace",children:(0,r.jsx)(a.code,{children:"Namespace"})})]}),"\n"]}),"\n",(0,r.jsxs)(a.p,{children:["Defined in: ",(0,r.jsx)(a.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Namespace.ts#L123",children:"packages/core/src/Namespace.ts:123"})]})]})}function d(e={}){const{wrapper:a}={...(0,t.R)(),...e.components};return a?(0,r.jsx)(a,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},3023:(e,a,s)=>{s.d(a,{R:()=>i,x:()=>c});var n=s(3696);const r={},t=n.createContext(r);function i(e){const a=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(t.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2aee5d1.77d7f177.js b/assets/js/f2aee5d1.77d7f177.js new file mode 100644 index 000000000..78e34fa1e --- /dev/null +++ b/assets/js/f2aee5d1.77d7f177.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9102],{8632:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"api/@ima/core/classes/Dictionary","title":"Class: abstract Dictionary","description":"Defined in21","source":"@site/../docs/api/@ima/core/classes/Dictionary.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Dictionary","permalink":"/api/@ima/core/classes/Dictionary","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Dictionary.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: CookieStorage","permalink":"/api/@ima/core/classes/CookieStorage"},"next":{"title":"Class: abstract Dispatcher","permalink":"/api/@ima/core/classes/Dispatcher"}}');var r=n(2540),a=n(3023);const c={},t="Class: abstract Dictionary",l={},d=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Dictionary()",id:"new-dictionary",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"get()",id:"get",level:3},{value:"Parameters",id:"parameters",level:4},{value:"key",id:"key",level:5},{value:"parameters?",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:4},{value:"getLanguage()",id:"getlanguage",level:3},{value:"Returns",id:"returns-2",level:4},{value:"has()",id:"has",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"key",id:"key-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"init()",id:"init",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"config",id:"config",level:5},{value:"Returns",id:"returns-4",level:4}];function o(e){const i={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsxs)(i.h1,{id:"class-abstract-dictionary",children:["Class: ",(0,r.jsx)(i.code,{children:"abstract"})," Dictionary"]})}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L21",children:"packages/core/src/dictionary/Dictionary.ts:21"})]}),"\n",(0,r.jsx)(i.p,{children:"The Dictionary is a manager and preprocessor of localization phrases for a\nsingle language. The format of the localization phrases depends on the\nimplementation of this interface."}),"\n",(0,r.jsx)(i.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"/api/@ima/core/classes/MessageFormatDictionary",children:(0,r.jsx)(i.code,{children:"MessageFormatDictionary"})})}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(i.h3,{id:"new-dictionary",children:"new Dictionary()"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"new Dictionary"}),"(): ",(0,r.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,r.jsx)(i.code,{children:"Dictionary"})})]}),"\n"]}),"\n",(0,r.jsx)(i.h4,{id:"returns",children:"Returns"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/core/classes/Dictionary",children:(0,r.jsx)(i.code,{children:"Dictionary"})})}),"\n",(0,r.jsx)(i.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(i.h3,{id:"get",children:"get()"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"get"}),"(",(0,r.jsx)(i.code,{children:"key"}),", ",(0,r.jsx)(i.code,{children:"parameters"}),"?): ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L59",children:"packages/core/src/dictionary/Dictionary.ts:59"})]}),"\n",(0,r.jsx)(i.p,{children:"Retrieves the localization phrase identified by the specified key,\nevaluates the phrase's placeholder expressions using the provided\nparameters and returns the result."}),"\n",(0,r.jsx)(i.h4,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"key",children:"key"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"never"})}),"\n",(0,r.jsx)(i.p,{children:"The key identifying the localization phrase."}),"\n",(0,r.jsx)(i.h5,{id:"parameters-1",children:"parameters?"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/ObjectParameters",children:(0,r.jsx)(i.code,{children:"ObjectParameters"})})}),"\n",(0,r.jsx)(i.p,{children:"The\nmap of parameter names to the parameter values to use.\nDefaults to an empty plain object."}),"\n",(0,r.jsx)(i.h4,{id:"returns-1",children:"Returns"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.p,{children:"The specified localization phrase with its placeholders\nevaluated using the provided parameters."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"getlanguage",children:"getLanguage()"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"getLanguage"}),"(): ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L43",children:"packages/core/src/dictionary/Dictionary.ts:43"})]}),"\n",(0,r.jsx)(i.p,{children:"Returns the ISO 639-1 language code of the language this dictionary was\ninitialized with."}),"\n",(0,r.jsx)(i.h4,{id:"returns-2",children:"Returns"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.p,{children:"The language code representing the language of the\nlocalization phrases in this dictionary."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"has",children:"has()"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"has"}),"(",(0,r.jsx)(i.code,{children:"key"}),"): ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L71",children:"packages/core/src/dictionary/Dictionary.ts:71"})]}),"\n",(0,r.jsx)(i.p,{children:"Tests whether the specified localization phrase exists in the\ndictionary."}),"\n",(0,r.jsx)(i.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"key-1",children:"key"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsxs)(i.p,{children:["The key identifying the localization phrase.\n@return",(0,r.jsx)(i.code,{children:"true"})," if the key exists and denotes a single\nlocalization phrase, otherwise ",(0,r.jsx)(i.code,{children:"false"}),"."]}),"\n",(0,r.jsx)(i.h4,{id:"returns-3",children:"Returns"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"boolean"})}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h3,{id:"init",children:"init()"}),"\n",(0,r.jsxs)(i.blockquote,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"init"}),"(",(0,r.jsx)(i.code,{children:"config"}),"): ",(0,r.jsx)(i.code,{children:"void"})]}),"\n"]}),"\n",(0,r.jsxs)(i.p,{children:["Defined in: ",(0,r.jsx)(i.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/dictionary/Dictionary.ts#L32",children:"packages/core/src/dictionary/Dictionary.ts:32"})]}),"\n",(0,r.jsx)(i.p,{children:"Initializes this dictionary with the provided language and localization\nphrases."}),"\n",(0,r.jsx)(i.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,r.jsx)(i.h5,{id:"config",children:"config"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.a,{href:"/api/@ima/core/type-aliases/DictionaryConfig",children:(0,r.jsx)(i.code,{children:"DictionaryConfig"})})}),"\n",(0,r.jsx)(i.p,{children:"The dictionary configuration."}),"\n",(0,r.jsx)(i.h4,{id:"returns-4",children:"Returns"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"void"})})]})}function h(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},3023:(e,i,n)=>{n.d(i,{R:()=>c,x:()=>t});var s=n(3696);const r={},a=s.createContext(r);function c(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2d0b182.9d7544a5.js b/assets/js/f2d0b182.9d7544a5.js new file mode 100644 index 000000000..8434b1b7a --- /dev/null +++ b/assets/js/f2d0b182.9d7544a5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1238],{3505:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"migration/migration-0.16.0","title":"Migration 0.16.0","description":"Migration > Migration to version 0.16.0","source":"@site/../docs/migration/migration-0.16.0.md","sourceDirName":"migration","slug":"/migration/migration-0.16.0","permalink":"/migration/migration-0.16.0","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-0.16.0.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Migration 0.16.0","description":"Migration > Migration to version 0.16.0"},"sidebar":"docs","previous":{"title":"Migration 0.15.0","permalink":"/migration/migration-0.15.0"},"next":{"title":"Migration 17.0.0","permalink":"/migration/migration-17.0.0"}}');var r=i(2540),t=i(3023);const o={title:"Migration 0.16.0",description:"Migration > Migration to version 0.16.0"},d=void 0,c={},l=[{value:"Changes in dependencies",id:"changes-in-dependencies",level:2},{value:"Migration guide",id:"migration-guide",level:2},{value:"Other changes",id:"other-changes",level:2},{value:"New Features",id:"new-features",level:2}];function a(e){const n={a:"a",code:"code",del:"del",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Upgrading from version 15 should be pretty straightforward and your application should work with no to minimal changes required."}),"\n",(0,r.jsx)(n.h2,{id:"changes-in-dependencies",children:"Changes in dependencies"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"babel-eslint"}),": ",(0,r.jsx)(n.code,{children:"8.2.2"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"10.0.1"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"enzyme"}),": ",(0,r.jsx)(n.code,{children:"3.7.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"3.8.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"enzyme-adapter-react-16"}),": ",(0,r.jsx)(n.code,{children:"1.1.1"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"1.7.1"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"eslint"}),": ",(0,r.jsx)(n.code,{children:"4.19.1"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"5.11.1"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"eslint-config-prettier"}),": ",(0,r.jsx)(n.code,{children:"2.9.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"3.3.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"eslint-plugin-jasmine"}),": ",(0,r.jsx)(n.code,{children:"2.9.3"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"2.10.1"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"eslint-plugin-jest"}),": ",(0,r.jsx)(n.code,{children:"21.15.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"22.1.2"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"eslint-plugin-prettier"}),": ",(0,r.jsx)(n.code,{children:"2.6.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"3.0.1"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"eslint-plugin-react"}),": ",(0,r.jsx)(n.code,{children:"7.7.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"7.12.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"ima-gulp-tasks"}),": ",(0,r.jsx)(n.code,{children:"0.15.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"^0.16.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"jest"}),": ",(0,r.jsx)(n.code,{children:"22.4.3"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"23.6.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"express-http-proxy"}),": ",(0,r.jsx)(n.code,{children:"1.1.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"1.5.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"helmet"}),": ",(0,r.jsx)(n.code,{children:"3.12.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"3.15.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"ima"}),": ",(0,r.jsx)(n.code,{children:"0.15.1"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"0.16.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"ima-server"}),": ",(0,r.jsx)(n.code,{children:"0.15.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"0.16.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"method-override"}),": ",(0,r.jsx)(n.code,{children:"2.3.10"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"3.0.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"multer"}),": ",(0,r.jsx)(n.code,{children:"1.3.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"1.4.1"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"react"}),": ",(0,r.jsx)(n.code,{children:"16.2.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"16.7.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"react-dom"}),": ",(0,r.jsx)(n.code,{children:"16.2.0"}),"\xa0\xa0\u2192\xa0\xa0",(0,r.jsx)(n.code,{children:"16.7.0"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"enzyme-to-json"}),": ",(0,r.jsx)(n.code,{children:"^3.3.5"})," ",(0,r.jsx)(n.em,{children:"(new)"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.del,{children:(0,r.jsx)(n.strong,{children:"jest-serializer-enzyme"})})," ",(0,r.jsx)(n.em,{children:"(removed)"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.del,{children:(0,r.jsx)(n.strong,{children:"react-test-renderer"})})," ",(0,r.jsx)(n.em,{children:"(removed)"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"migration-guide",children:"Migration guide"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Use of ",(0,r.jsx)(n.strong,{children:"regular expressions"})," in ",(0,r.jsx)(n.code,{children:"serveSPA.blacklist"}),". If you've been using array of strings, you need to change the syntax to use regular expressions instead:"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:"/* app/environment.js */\n{\n ...\n- blackList: ['Googlebot', 'SeznamBot'],\n+ blackList: userAgent => (new RegExp('Googlebot|SeznamBot', 'g')).test(userAgent),\n ...\n}\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Added new mandatory parameter ",(0,r.jsx)(n.code,{children:"action"})," to ",(0,r.jsx)(n.code,{children:"route()"})," method in ",(0,r.jsx)(n.strong,{children:"Router"})," of a type ",(0,r.jsx)(n.code,{children:"{ type: string, event: Event|null, url: string|null }"}),", where ",(0,r.jsx)(n.code,{children:"type"})," attribute can take one of these values: ",(0,r.jsx)(n.code,{children:"const { REDIRECT, CLICK, POP_STATE, ERROR } = ActionTypes"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"/* ima/Router/ClientRouter.js */\nroute(\n path,\n options = {},\n { event = null, type = ActionTypes.REDIRECT, url = null } = {}\n)\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Http options withCredentials is set to false by default. You must check your HTTP CORS requests and you must set withCredentials to true for sending Cookie header."}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"New serializer settings in Jest"}),", to configure it first add path to a newly created file ",(0,r.jsx)(n.code,{children:"jest.setup.js"})," (located in the root directory) into ",(0,r.jsx)(n.code,{children:"setupFiles"})," array in ",(0,r.jsx)(n.code,{children:"jest.config.json"}),". After that add new ",(0,r.jsx)(n.code,{children:"snapshotSerializers"})," field with ",(0,r.jsx)(n.code,{children:'["enzyme-to-json/serializer"]'})," value, that handles module loading, which converts Enzyme wrappers into format compatible with Jest snapshots."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'/* jest.config.json */\n"setupFiles": [\n "ima/test.js",\n "ima/polyfill/imaLoader.js",\n "ima/polyfill/imaRunner.js",\n+ "<rootDir>/jest.setup.js"\n],\n+ snapshotSerializers": ["enzyme-to-json/serializer"]\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"/* jest.setup.js */\nconst enzyme = require('enzyme');\nconst Adapter = require('enzyme-adapter-react-16');\n\nenzyme.configure({ adapter: new Adapter() });\n"})}),"\n",(0,r.jsx)(n.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"IMA.js-helpers"})," - removed ",(0,r.jsx)(n.code,{children:"throttle"})," and ",(0,r.jsx)(n.code,{children:"debounce"})," functions. You can replace ",(0,r.jsx)(n.code,{children:"throttle"})," with ",(0,r.jsx)(n.code,{children:"throttle"})," method available in ",(0,r.jsx)(n.strong,{children:"UIComponentHelper"})," in ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-ui-atoms/blob/master/src/Visibility.js#L91",children:"IMA.js-ui-atoms"})," package. ",(0,r.jsx)(n.a,{href:"https://github.com/seznam/IMA.js-helpers/commit/73843d03cd46e79b6d3bd2f03df71d74fe89466c",children:"73843d0"})]}),"\n",(0,r.jsxs)(n.li,{children:["Updated to ",(0,r.jsx)(n.strong,{children:"React 16.7"}),", which along with new context API and other features introduced deprecation of ",(0,r.jsx)(n.code,{children:"componentWillMount"}),", ",(0,r.jsx)(n.code,{children:"componentWillReceiveProps"})," and ",(0,r.jsx)(n.code,{children:"componentWillUpdate"})," lifecycle methods."]}),"\n",(0,r.jsxs)(n.li,{children:["Upgraded to ",(0,r.jsx)(n.strong,{children:"Babel 7"})," and latest ",(0,r.jsx)(n.strong,{children:"ESLint 5"}),", which may result on some changes specific to your application."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"new-features",children:"New Features"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Most notable new feature is the introduction of ",(0,r.jsx)(n.strong,{children:"PageManagerHandlers"})," which adds the possibility to customize actions like saving and restoring scroll positions, setting browser's address bar URL etc. For more information visit the ",(0,r.jsx)(n.a,{href:"/basic-features/page-manager#intervene-into-the-process",children:"documentation"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},3023:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>d});var s=i(3696);const r={},t=s.createContext(r);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2d0b182.a7cf9b40.js b/assets/js/f2d0b182.a7cf9b40.js deleted file mode 100644 index 19f21ea10..000000000 --- a/assets/js/f2d0b182.a7cf9b40.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1238],{5680:(e,n,t)=>{t.d(n,{xA:()=>s,yg:()=>u});var a=t(6540);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var g=a.createContext({}),p=function(e){var n=a.useContext(g),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},s=function(e){var n=p(e.components);return a.createElement(g.Provider,{value:n},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,g=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),m=p(t),d=i,u=m["".concat(g,".").concat(d)]||m[d]||y[d]||r;return t?a.createElement(u,l(l({ref:n},s),{},{components:t})):a.createElement(u,l({ref:n},s))}));function u(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,l=new Array(r);l[0]=d;var o={};for(var g in n)hasOwnProperty.call(n,g)&&(o[g]=n[g]);o.originalType=e,o[m]="string"==typeof e?e:i,l[1]=o;for(var p=2;p<r;p++)l[p]=t[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},4684:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>g,contentTitle:()=>l,default:()=>y,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var a=t(8102),i=(t(6540),t(5680));const r={title:"Migration 0.16.0",description:"Migration > Migration to version 0.16.0"},l=void 0,o={unversionedId:"migration/migration-0.16.0",id:"migration/migration-0.16.0",title:"Migration 0.16.0",description:"Migration > Migration to version 0.16.0",source:"@site/../docs/migration/migration-0.16.0.md",sourceDirName:"migration",slug:"/migration/migration-0.16.0",permalink:"/migration/migration-0.16.0",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/migration/migration-0.16.0.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Migration 0.16.0",description:"Migration > Migration to version 0.16.0"},sidebar:"docs",previous:{title:"Migration 0.15.0",permalink:"/migration/migration-0.15.0"},next:{title:"Migration 17.0.0",permalink:"/migration/migration-17.0.0"}},g={},p=[{value:"Changes in dependencies",id:"changes-in-dependencies",level:2},{value:"Migration guide",id:"migration-guide",level:2},{value:"Other changes",id:"other-changes",level:2},{value:"New Features",id:"new-features",level:2}],s={toc:p},m="wrapper";function y(e){let{components:n,...t}=e;return(0,i.yg)(m,(0,a.A)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,i.yg)("p",null,"Upgrading from version 15 should be pretty straightforward and your application should work with no to minimal changes required."),(0,i.yg)("h2",{id:"changes-in-dependencies"},"Changes in dependencies"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"babel-eslint"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"8.2.2"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"10.0.1")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"enzyme"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"3.7.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"3.8.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"enzyme-adapter-react-16"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"1.1.1"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"1.7.1")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"eslint"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"4.19.1"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"5.11.1")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"eslint-config-prettier"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"2.9.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"3.3.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"eslint-plugin-jasmine"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"2.9.3"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"2.10.1")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"eslint-plugin-jest"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"21.15.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"22.1.2")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"eslint-plugin-prettier"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"2.6.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"3.0.1")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"eslint-plugin-react"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"7.7.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"7.12.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"ima-gulp-tasks"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"0.15.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"^0.16.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"jest"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"22.4.3"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"23.6.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"express-http-proxy"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"1.1.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"1.5.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"helmet"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"3.12.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"3.15.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"ima"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"0.15.1"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"0.16.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"ima-server"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"0.15.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"0.16.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"method-override"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"2.3.10"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"3.0.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"multer"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"1.3.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"1.4.1")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"react"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"16.2.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"16.7.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"react-dom"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"16.2.0"),"\xa0","\xa0","\u2192","\xa0","\xa0",(0,i.yg)("inlineCode",{parentName:"li"},"16.7.0")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"enzyme-to-json"),": ",(0,i.yg)("inlineCode",{parentName:"li"},"^3.3.5")," ",(0,i.yg)("em",{parentName:"li"},"(new)")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("del",{parentName:"li"},(0,i.yg)("strong",{parentName:"del"},"jest-serializer-enzyme"))," ",(0,i.yg)("em",{parentName:"li"},"(removed)")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("del",{parentName:"li"},(0,i.yg)("strong",{parentName:"del"},"react-test-renderer"))," ",(0,i.yg)("em",{parentName:"li"},"(removed)"))),(0,i.yg)("h2",{id:"migration-guide"},"Migration guide"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},"Use of ",(0,i.yg)("strong",{parentName:"li"},"regular expressions")," in ",(0,i.yg)("inlineCode",{parentName:"li"},"serveSPA.blacklist"),". If you've been using array of strings, you need to change the syntax to use regular expressions instead:")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-diff"},"/* app/environment.js */\n{\n ...\n- blackList: ['Googlebot', 'SeznamBot'],\n+ blackList: userAgent => (new RegExp('Googlebot|SeznamBot', 'g')).test(userAgent),\n ...\n}\n")),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},"Added new mandatory parameter ",(0,i.yg)("inlineCode",{parentName:"li"},"action")," to ",(0,i.yg)("inlineCode",{parentName:"li"},"route()")," method in ",(0,i.yg)("strong",{parentName:"li"},"Router")," of a type ",(0,i.yg)("inlineCode",{parentName:"li"},"{ type: string, event: Event|null, url: string|null }"),", where ",(0,i.yg)("inlineCode",{parentName:"li"},"type")," attribute can take one of these values: ",(0,i.yg)("inlineCode",{parentName:"li"},"const { REDIRECT, CLICK, POP_STATE, ERROR } = ActionTypes"),".")),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"/* ima/Router/ClientRouter.js */\nroute(\n path,\n options = {},\n { event = null, type = ActionTypes.REDIRECT, url = null } = {}\n)\n")),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},"Http options withCredentials is set to false by default. You must check your HTTP CORS requests and you must set withCredentials to true for sending Cookie header.")),(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("p",{parentName:"li"},(0,i.yg)("strong",{parentName:"p"},"New serializer settings in Jest"),", to configure it first add path to a newly created file ",(0,i.yg)("inlineCode",{parentName:"p"},"jest.setup.js")," (located in the root directory) into ",(0,i.yg)("inlineCode",{parentName:"p"},"setupFiles")," array in ",(0,i.yg)("inlineCode",{parentName:"p"},"jest.config.json"),". After that add new ",(0,i.yg)("inlineCode",{parentName:"p"},"snapshotSerializers")," field with ",(0,i.yg)("inlineCode",{parentName:"p"},'["enzyme-to-json/serializer"]')," value, that handles module loading, which converts Enzyme wrappers into format compatible with Jest snapshots."))),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-diff"},'/* jest.config.json */\n"setupFiles": [\n "ima/test.js",\n "ima/polyfill/imaLoader.js",\n "ima/polyfill/imaRunner.js",\n+ "<rootDir>/jest.setup.js"\n],\n+ snapshotSerializers": ["enzyme-to-json/serializer"]\n')),(0,i.yg)("pre",null,(0,i.yg)("code",{parentName:"pre",className:"language-javascript"},"/* jest.setup.js */\nconst enzyme = require('enzyme');\nconst Adapter = require('enzyme-adapter-react-16');\n\nenzyme.configure({ adapter: new Adapter() });\n")),(0,i.yg)("h2",{id:"other-changes"},"Other changes"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},(0,i.yg)("strong",{parentName:"li"},"IMA.js-helpers")," - removed ",(0,i.yg)("inlineCode",{parentName:"li"},"throttle")," and ",(0,i.yg)("inlineCode",{parentName:"li"},"debounce")," functions. You can replace ",(0,i.yg)("inlineCode",{parentName:"li"},"throttle")," with ",(0,i.yg)("inlineCode",{parentName:"li"},"throttle")," method available in ",(0,i.yg)("strong",{parentName:"li"},"UIComponentHelper")," in ",(0,i.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-ui-atoms/blob/master/src/Visibility.js#L91"},"IMA.js-ui-atoms")," package. ",(0,i.yg)("a",{parentName:"li",href:"https://github.com/seznam/IMA.js-helpers/commit/73843d03cd46e79b6d3bd2f03df71d74fe89466c"},"73843d0")),(0,i.yg)("li",{parentName:"ul"},"Updated to ",(0,i.yg)("strong",{parentName:"li"},"React 16.7"),", which along with new context API and other features introduced deprecation of ",(0,i.yg)("inlineCode",{parentName:"li"},"componentWillMount"),", ",(0,i.yg)("inlineCode",{parentName:"li"},"componentWillReceiveProps")," and ",(0,i.yg)("inlineCode",{parentName:"li"},"componentWillUpdate")," lifecycle methods."),(0,i.yg)("li",{parentName:"ul"},"Upgraded to ",(0,i.yg)("strong",{parentName:"li"},"Babel 7")," and latest ",(0,i.yg)("strong",{parentName:"li"},"ESLint 5"),", which may result on some changes specific to your application.")),(0,i.yg)("h2",{id:"new-features"},"New Features"),(0,i.yg)("ul",null,(0,i.yg)("li",{parentName:"ul"},"Most notable new feature is the introduction of ",(0,i.yg)("strong",{parentName:"li"},"PageManagerHandlers")," which adds the possibility to customize actions like saving and restoring scroll positions, setting browser's address bar URL etc. For more information visit the ",(0,i.yg)("a",{parentName:"li",href:"/basic-features/page-manager#intervene-into-the-process"},"documentation"),".")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f33aa945.84bd15d6.js b/assets/js/f33aa945.84bd15d6.js new file mode 100644 index 000000000..d07539e49 --- /dev/null +++ b/assets/js/f33aa945.84bd15d6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2785],{165:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>h});const o=JSON.parse('{"id":"tutorial/adding-some-state","title":"Adding Some State","description":"Tutorial > Adding Some State","source":"@site/../docs/tutorial/adding-some-state.mdx","sourceDirName":"tutorial","slug":"/tutorial/adding-some-state","permalink":"/tutorial/adding-some-state","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/adding-some-state.mdx","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Adding Some State","description":"Tutorial > Adding Some State"},"sidebar":"tutorial","previous":{"title":"Static View","permalink":"/tutorial/static-view"},"next":{"title":"Fetching Data","permalink":"/tutorial/fetching-data"}}');var r=t(2540),s=t(3023),a=t(3776),i=t(6052);const l={title:"Adding Some State",description:"Tutorial > Adding Some State"},c=void 0,d={},h=[{value:"Controller & error handling",id:"controller--error-handling",level:2},{value:"Fetching posts",id:"fetching-posts",level:2},{value:"Splitting the render method",id:"splitting-the-render-method",level:3},{value:"Creating new components",id:"creating-new-components",level:2},{value:"Notes on communication between controllers and views",id:"notes-on-communication-between-controllers-and-views",level:2},{value:"Passing state",id:"passing-state",level:3},{value:"Emitting events using the EventBus",id:"emitting-events-using-the-eventbus",level:3},{value:"Emitting events using the Dispatcher",id:"emitting-events-using-the-dispatcher",level:3}];function p(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["In ",(0,r.jsx)(n.a,{href:"/tutorial/static-view",children:"previous section"})," of the tutorial, we prepared basic markup and custom styling\nthanks to the ",(0,r.jsx)(n.a,{href:"https://getbootstrap.com/",children:"Bootstrap CSS library"}),".\nIn this section, we're going to add some functionality to our application."]}),"\n",(0,r.jsx)(n.h2,{id:"controller--error-handling",children:"Controller & error handling"}),"\n",(0,r.jsx)(n.p,{children:"Our guestbook may look nice, but it is kind of boring since the posts are static\nand we cannot add new posts. So let's take care of this."}),"\n",(0,r.jsxs)(n.p,{children:["To begin, we'll render posts from data that we'll store as the state of our page\ncontroller. Open the ",(0,r.jsx)(n.code,{children:"app/page/home/HomeController.js"})," file and you'll see a class declaration."]}),"\n",(0,r.jsx)(n.p,{children:"You can notice that by default, our bootstrapped application includes some pre-defined\nmethods along with very long JSDoc comments. Feel free to read through these comments\nbut to make this tutorial simpler, we're going to replace contents of this file with following code:"}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"import { AbstractController } from '@ima/core';\n\nexport class HomeController extends AbstractController {\n static get $dependencies() {\n return [];\n }\n\n constructor() {\n super();\n }\n\n load() {\n return {};\n }\n\n setMetaParams(loadedResources, metaManager, router, dictionary, settings) {\n metaManager.setTitle('Guestbook');\n }\n}\n"})})}),(0,r.jsxs)(i.A,{value:"TypeScript",children:[(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"import {\n AbstractController,\n Dependencies,\n Dictionary,\n LoadedResources,\n MetaManager,\n Router,\n Settings,\n} from '@ima/core';\n\nexport type PostData = {\n content: string;\n author: string;\n};\nexport type HomeControllerState = {\n posts: PostData[];\n};\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n static $dependencies: Dependencies = [];\n\n constructor() {\n super();\n }\n\n load(): HomeControllerState<HomeControllerState> {\n return {};\n }\n\n setMetaParams(\n loadedResources: LoadedResources,\n metaManager: MetaManager,\n router: Router,\n dictionary: Dictionary,\n settings: Settings\n ): void {\n metaManager.setTitle('Guestbook');\n }\n}\n"})}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"TypeScript:"})," As you can see, the TypeScript code is a lot more complex.\nThe main reason is adding types ",(0,r.jsx)(n.code,{children:"PostData"})," and ",(0,r.jsx)(n.code,{children:"HomeControllerState"})," that we will use later in this course."]}),"\n"]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"AbstractController"})," class defines some methods which are executed\nin different parts of it's lifecycle, you can ",(0,r.jsx)(n.a,{href:"/basic-features/controller-lifecycle",children:"read more about this in the documentation"}),"\nOne of the main methods you're going to use frequently is the ",(0,r.jsx)(n.code,{children:"load()"})," method."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"load()"})," method is called automatically\nby IMA.js when the controller is being initialized. It returns a hash object - a plain\nJavaScript object representing a map of keys and values - representing the initial\nstate of the page. The values in the returned object may be\n",(0,r.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",children:"promises"})," or scalar values.\nThe IMA.js will wait for all promises to resolve before rendering the page,\nallowing us to fetch any data we may need from the server."]}),"\n",(0,r.jsx)(n.p,{children:"Once all promises are resolved, IMA.js sets the controller's view state to the\nhash object with promises replaced by the values the promises resolved to."}),"\n",(0,r.jsxs)(n.p,{children:["In case that a promise gets rejected, we may want to display a specific error\npage. It is recommended to reject the load promises using IMA.js'\n",(0,r.jsx)(n.code,{children:"GenericError"})," (located in the module ",(0,r.jsx)(n.code,{children:"@ima/error/GenericError"}),"), which\nallows you to specify the HTTP status code representing the error type,\nresulting in the appropriate error page being displayed. An example usage\nof the ",(0,r.jsx)(n.code,{children:"load()"})," method is show below:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"load() {\n return {\n ourPageData: fetchUsefulData(params).catch((error) => {\n // Note: the fetchUsefulData() should already return a promise\n // rejected by GenericError in case an error occurs, so we would not\n // have to do this in our every controller using a function like\n // this one.\n\n if (error.name === 'NotFoundError') {\n throw new GenericError('No such records exist', {\n cause: error,\n params: params,\n status: 404 // The 404 HTTP status stands for \"Not Found\"\n });\n } else {\n throw new GenericError('Cannot retrieve data', {\n cause: error,\n params: params,\n status: 500 // The 500 HTTP status stands for \"Internal Server Error\"\n });\n }\n })\n };\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Now you may be tempted to simply extend the native ",(0,r.jsx)(n.code,{children:"Error"})," class (or one of its\nsiblings). The problem with that is that all browsers do not generate stack\ntraces for custom errors extending the native ones (unless you are using a\nbrowser that has already implemented error sub-classing). The ",(0,r.jsx)(n.code,{children:"GenericError"}),"\ntakes care of this for us and also allows you\nto create custom error classes by extending the ",(0,r.jsx)(n.code,{children:"GenericError"})," class while still\nhaving access to stack traces of your errors."]}),"\n",(0,r.jsx)(n.h2,{id:"fetching-posts",children:"Fetching posts"}),"\n",(0,r.jsxs)(n.p,{children:["But let's refocus on the ",(0,r.jsx)(n.code,{children:"load()"})," method in our controller. For now, we'll\nspecify our data statically and take care of fetching the data from the server in\na later point in this tutorial. Replace the contents of the ",(0,r.jsx)(n.code,{children:"load()"})," method with\nthe following code:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"return {\n posts: [\n {\n content: 'Never mistake motion for action.',\n author: 'Ernest Hemingway'\n },\n {\n content: 'Quality means doing it right when no one is looking.',\n author: 'Henry Ford'\n },\n {\n content:\n 'We are what we repeatedly do. Excellence, then, is not an act, but a habit.',\n author: 'Aristotle'\n },\n {\n content:\n 'Reality is merely an illusion, albeit a very persistent one.',\n author: 'Albert Einstein'\n }\n ]\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["As you may have noticed, we used JSON-compatible code in case of ",(0,r.jsx)(n.code,{children:"posts"})," - this\nwill come in handy later when we'll introduce fetching the data from the\nserver and move the structure to an external JSON file."]}),"\n",(0,r.jsx)(n.h3,{id:"splitting-the-render-method",children:"Splitting the render method"}),"\n",(0,r.jsxs)(n.p,{children:["Let's return to our view in the ",(0,r.jsx)(n.code,{children:"app/page/home/HomeView.jsx"})," file. Replace the\n",(0,r.jsx)(n.code,{children:"render()"})," method with the following code snippet:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'render() {\n return (\n <div className="l-home container">\n <h1>Guestbook</h1>\n <div className="posting-form card">\n <form action="" method="post">\n <h5 className="card-header">Add a post</h5>\n <div className="card-body">\n <div className="form-group">\n <label htmlFor="postForm-name">Name:</label>\n <input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n placeholder="Your name"\n />\n </div>\n <div className="form-group">\n <label htmlFor="postForm-content">Post:</label>\n <textarea\n id="postForm-content"\n className="form-control"\n name="content"\n placeholder="What would you like to tell us?"\n />\n </div>\n </div>\n <div className="card-footer">\n <button type="submit" className="btn btn btn-outline-primary">\n Submit\n <div className="ripple-wrapper" />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className="posts">\n <h2>Posts</h2>\n {this._renderPosts()}\n </div>\n </div>\n );\n}\n\n_renderPosts() {\n const { posts } = this.props;\n\n return posts.map((post, index) => (\n <div className="post card card-default" key={index}>\n <div className="card-body">{post.content}</div>\n <div className="post-author card-footer">{post.author}</div>\n </div>\n ));\n}\n'})})}),(0,r.jsxs)(i.A,{value:"TypeScript",children:[(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"import './homeView.less';\nimport { PostData } from 'app/page/home/HomeController';\nimport { usePageContext } from '@ima/react-page-renderer';\n\ntype HomeViewProps = {\n posts: PostData[];\n};\n\nexport function HomeView({ posts }: HomeViewProps) {\n const _pageContext = usePageContext();\n\n const _renderPosts = () => {\n return posts.map((post: PostData, index) => (\n <div className='post card card-default' key={index}>\n <div className='card-body'>{post.content}</div>\n <div className='post-author card-footer'>{post.author}</div>\n </div>\n ));\n };\n\n return (\n <div className='l-home container'>\n <h1>Guestbook</h1>\n\n <div className='posting-form card'>\n <form action='' method='post'>\n <h5 className='card-header'>Add a post</h5>\n <div className='card-body'>\n <div className='form-group'>\n <label htmlFor='postForm-name'>Name:</label>\n <input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n placeholder='Your name'\n />\n </div>\n <div className='form-group'>\n <label htmlFor='postForm-content'>Post:</label>\n <textarea\n id='postForm-content'\n className='form-control'\n name='content'\n placeholder='What would you like to tell us?'\n />\n </div>\n </div>\n <div className='card-footer'>\n <button type='submit' className='btn btn btn-outline-primary'>\n Submit\n <div className='ripple-wrapper' />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className='posts'>\n <h2>Posts</h2>\n {_renderPosts()}\n </div>\n </div>\n );\n}\n"})}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["**TypeScript: ** New type ",(0,r.jsx)(n.code,{children:"HomeViewProps"})," has been used to correctly accept typed props in our ",(0,r.jsx)(n.code,{children:"HomeView"}),"."]}),"\n"]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["We have replaced the old sequence of\n",(0,r.jsx)(n.code,{children:"<div className='post card card-default'>"})," tags with the\n",(0,r.jsx)(n.code,{children:"{this._renderPosts()}"})," expression, which tells React to insert the return\nvalue of our new ",(0,r.jsx)(n.code,{children:"_renderPosts()"})," method."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"_renderPosts()"})," method traverses the array of posts available as\n",(0,r.jsx)(n.code,{children:"this.props.posts"})," (",(0,r.jsx)(n.code,{children:"this.props"})," refers to the page controller's state in\npage views) and creates a new array containing the rendered posts. Notice\nthat we are using ",(0,r.jsx)(n.code,{children:"props"})," instead of ",(0,r.jsx)(n.code,{children:"state"})," in our view because we are\nreferencing external data, not the internal state of our view component."]}),"\n",(0,r.jsxs)(n.p,{children:["The structure of the UI representing a post has had its static content\nreplaced with the ",(0,r.jsx)(n.code,{children:"{post.content}"})," and ",(0,r.jsx)(n.code,{children:"{post.author}"})," expressions injecting\nthe content and the author of the post, and we have added a new ",(0,r.jsx)(n.code,{children:"key={index}"}),"\nattribute (technically, it is a React element property, but we'll use the XML\nterminology in this tutorial). The ",(0,r.jsx)(n.code,{children:"key"})," attribute is required by React to help\nit identify parts of the DOM, therefore its value must be unique within the\ncontext and represent a relationship between the DOM fragment and the data.\nHere we set it to the index of the current post in the ",(0,r.jsx)(n.code,{children:"posts"})," array."]}),"\n",(0,r.jsx)(n.p,{children:"In practice you should not use array indexes as keys because shifting or\nmodifying the contents of the array will result in using the same keys for\ndifferent items in each rendering, which will result in a strange and quirky\nbehavior, especially for components with their own state. It is best to use\nunique identifiers, such as the primary key of the record provided by the\ndatabase."}),"\n",(0,r.jsx)(n.p,{children:"Since we do not have the posts stored in an actual database, we're going to\nhelp ourselves in a different way, but we'll address that later in this\ntutorial."}),"\n",(0,r.jsx)(n.h2,{id:"creating-new-components",children:"Creating new components"}),"\n",(0,r.jsx)(n.p,{children:"Now the view looks better, but it's still not perfect, because the view still\nfeels bulky. To fix that, we start by moving the post rendering to a new\ncomponent."}),"\n",(0,r.jsxs)(n.p,{children:["Create the ",(0,r.jsx)(n.code,{children:"app/component/post"})," directory and the ",(0,r.jsx)(n.code,{children:"app/component/post/Post.jsx"}),"\nand ",(0,r.jsx)(n.code,{children:"app/component/post/post.less"})," files."]}),"\n",(0,r.jsxs)(n.p,{children:["Put the following code into the ",(0,r.jsx)(n.code,{children:"Post.jsx"})," file:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"import { AbstractComponent } from '@ima/react-page-renderer';\nimport React from 'react';\nimport './post.less';\n\n\nexport default class Post extends AbstractComponent {\n render() {\n const { content, author } = this.props;\n\n return (\n <div className=\"post card card-default\">\n <div className=\"card-body\">{content}</div>\n <div className=\"post-author card-footer\">{author}</div>\n </div>\n );\n }\n}\n"})})}),(0,r.jsxs)(i.A,{value:"TypeScript",children:[(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"import './post.less';\n\ntype PostProps = {\n content: string;\n author: string;\n};\n\nexport function Post({ content, author }: PostProps) {\n return (\n <div className='post card card-default'>\n <div className='card-body'>{content}</div>\n <div className='post-author card-footer'>{author}</div>\n </div>\n );\n}\n"})}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["**TypeScript: ** With ",(0,r.jsx)(n.code,{children:"PostProps"})," type, in TypeScript we can directly destructure the props in the function\nparameters and use their single attributes in the return function."]}),"\n"]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["In this component we access the post content and author name in our ",(0,r.jsx)(n.code,{children:"render()"}),"\nmethod using the ",(0,r.jsx)(n.code,{children:"this.props"})," object, which contains a hash object of\nproperties passed to the React component by whatever code is using it."]}),"\n",(0,r.jsxs)(n.p,{children:["To use our new component, we need to update the ",(0,r.jsx)(n.code,{children:"_renderPosts()"})," method in the\n",(0,r.jsx)(n.code,{children:"app/page/home/HomeView.jsx"})," file to the following code:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"return posts.map((post, index) => {\n return <Post key={index} content={post.content} author={post.author} />;\n});\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"return posts.map((post: PostData, index) => (\n <Post key={index} content={post.content} author={post.author} />\n));\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["...and import the ",(0,r.jsx)(n.code,{children:"Post"})," component by adding the following import to the\nbeginning of the file:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"import Post from 'app/component/post/Post';\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"import { Post } from 'app/component/post/Post';\n"})})})]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": You can notice that so far we ",(0,r.jsx)(n.strong,{children:"haven't used relative imports"})," when importing\nour custom JS modules from inside of the app directory structure. This is\nbecause IMA.js adds the ",(0,r.jsx)(n.code,{children:"app"})," directory to the ",(0,r.jsx)(n.strong,{children:"lookup path"}),". This means that\nyou can refer to any file inside ",(0,r.jsx)(n.code,{children:"app"})," directory through an absolute path,\nwhich makes most of the imports much cleaner."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["To finish the creation of the post component, we need to move the related\nstyles from ",(0,r.jsx)(n.code,{children:"app/page/home/homeView.less"})," to ",(0,r.jsx)(n.code,{children:"app/component/post/post.less"}),".\nMove the following code to the ",(0,r.jsx)(n.code,{children:"post.less"})," file:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-scss",children:".post-author {\n text-align: @post-author-alignment;\n font-style: italic;\n font-size: 85%;\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:['We can further improve our page view structure by refactoring-out the\n"new post" form to a separate component. Create the ',(0,r.jsx)(n.code,{children:"app/component/postingForm"}),"\ndirectory and the ",(0,r.jsx)(n.code,{children:"app/component/postingForm/PostingForm.jsx"})," file. Then, put the\nfollowing code into the ",(0,r.jsx)(n.code,{children:"app/component/postingForm/PostingForm.jsx"})," file:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import { AbstractComponent } from \'@ima/react-page-renderer\';\nimport React from \'react\';\n\nexport default class PostingForm extends AbstractComponent {\n render() {\n return (\n <div className="posting-form card">\n <form action="" method="post">\n <h5 className="card-header">Add a post</h5>\n <div className="card-body">\n <div className="form-group">\n <label htmlFor="postForm-name">Name:</label>\n <input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n placeholder="Your name"\n />\n </div>\n <div className="form-group">\n <label htmlFor="postForm-content">Post:</label>\n <textarea\n id="postForm-content"\n className="form-control"\n name="content"\n placeholder="What would you like to tell us?"\n />\n </div>\n </div>\n <div className="card-footer">\n <button type="submit" className="btn btn btn-outline-primary">\n Submit\n <div className="ripple-wrapper" />\n </button>\n </div>\n </form>\n </div>\n );\n }\n}\n'})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"export function PostingForm() {\n return (\n <div className='posting-form card'>\n <form action='' method='post'>\n <h5 className='card-header'>Add a post</h5>\n <div className='card-body'>\n <div className='form-group'>\n <label htmlFor='postForm-name'>Name:</label>\n <input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n placeholder='Your name'\n />\n </div>\n <div className='form-group'>\n <label htmlFor='postForm-content'>Post:</label>\n <textarea\n id='postForm-content'\n className='form-control'\n name='content'\n placeholder='What would you like to tell us?'\n />\n </div>\n </div>\n <div className='card-footer'>\n <button type='submit' className='btn btn btn-outline-primary'>\n Submit\n <div className='ripple-wrapper' />\n </button>\n </div>\n </form>\n </div>\n );\n}\n"})})})]}),"\n",(0,r.jsx)(n.p,{children:"Nothing new here, we just extracted the code from home controller's view and\nput it into a new React component."}),"\n",(0,r.jsxs)(n.p,{children:["Now update the ",(0,r.jsx)(n.code,{children:"render()"})," method in the home controller's view:"]}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'return (\n <div className="l-home container">\n <h1>Guestbook</h1>\n <PostingForm />\n\n <hr />\n\n <div className="posts">\n <h2>Posts</h2>\n {this._renderPosts()}\n </div>\n </div>\n);\n'})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"return (\n <div className='l-home container'>\n <h1>Guestbook</h1>\n <PostingForm />\n\n <hr />\n\n <div className='posts'>\n <h2>Posts</h2>\n {_renderPosts()}\n </div>\n </div>\n);\n"})})})]}),"\n",(0,r.jsx)(n.p,{children:"To finish up, import the posting form component:"}),"\n",(0,r.jsxs)(a.A,{children:[(0,r.jsx)(i.A,{value:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:"import PostingForm from 'app/component/postingForm/PostingForm';\n"})})}),(0,r.jsx)(i.A,{value:"TypeScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"import { PostingForm } from 'app/component/postingForm/PostingForm';\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["So far we've been ",(0,r.jsx)(n.strong,{children:"only refactoring our code and moving few bits around"})," to make it cleaner.\nWhen you refresh the page, you should see the same page as you ended up with after the end of\nthe previous tutorial."]}),"\n",(0,r.jsxs)(n.p,{children:["Now that our code looks much cleaner, we can look into fetching the guestbook\nposts from the server. However, if you'd like to linger a little longer and\nlearn more how the controller and view communicate by passing state, check out\nthe following optional section ",(0,r.jsx)(n.a,{href:"#notes-on-communication-between-controllers-and-views",children:"Notes on communication between controllers and\nviews"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"notes-on-communication-between-controllers-and-views",children:"Notes on communication between controllers and views"}),"\n",(0,r.jsx)(n.p,{children:"There are three ways the controllers and views communicate:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"By passing state from the controller to the view \u2013"})," this is the most\ncommon way of passing information."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"By emitting DOM events"})," from the view and listening for them in the controller\nor parent components (using the ",(0,r.jsx)(n.code,{children:"EventBus"}),") \u2013 this is\nthe most common way of notifying the controller or a parent UI component of\nthe user's actions in the view."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:'By emitting "global" events'})," in the controller and / or view and listening for\nthem in the controller and / or view (using the ",(0,r.jsx)(n.code,{children:"Dispatcher"}),")\n\u2013 this is used only in very specific situations, like when the UI\nneeds to be notified about an external event captured by the controller and\nupdating the state is not practical."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"passing-state",children:"Passing state"}),"\n",(0,r.jsxs)(n.p,{children:["The controller creates the initial state of the page by returning a hash object\nof values and promises from its ",(0,r.jsx)(n.code,{children:"load()"})," method. The IMA.js then waits for all\nthe promises to resolve at the server, pass the resulting values as properties\nto the page view component, and renders the page to send it to the client."]}),"\n",(0,r.jsxs)(n.p,{children:['The situation is a little more complicated at the client-side however. When the\npage is being "re-animated" after being rendered at the server-side, the IMA.js\nuses the controller\'s ',(0,r.jsx)(n.code,{children:"load()"})," method and the returned object in the same way,\nthough the promises are usually resolved immediately using the data in the\ncache sent to the client along with the rendered page."]}),"\n",(0,r.jsx)(n.p,{children:"When the user navigates between pages, however, the IMA.js does not wait for\nall promises to resolve before rendering the new view. The IMA.js registers\ncallbacks on all returned promises, and whenever one of the promises resolves,\nIMA.js pushes the currently resolved fragment of the page state to the view."}),"\n",(0,r.jsx)(n.p,{children:"On one hand, this allows you to display content as it loads (providing it is\ndecoupled) while displaying loading indicators where the content is not\navailable yet. On the other hand, this does require you to add more logic to\nyour view, checking whether the data is available or not, and displaying\nloading indicators where the data is not available yet."}),"\n",(0,r.jsx)(n.h3,{id:"emitting-events-using-the-eventbus",children:"Emitting events using the EventBus"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"EventBus"})," API allows your UI components to emit custom DOM\nevents that naturally propagate through the DOM tree representing the tree of\nyour UI components."]}),"\n",(0,r.jsx)(n.p,{children:"This is usually used to notify the parent components of user interaction with\ncustom controls in your UI, or to notify the page controller itself."}),"\n",(0,r.jsx)(n.p,{children:"The custom events may have any name and carry arbitrary data that are not\nrestricted to JSON-serializable values."}),"\n",(0,r.jsx)(n.p,{children:"Furthermore, the controllers can easily listen for the events dispatched using\nthe EventBus (unless the propagation of the event is stopped by a component\nhalf the way) by declaring event listener methods."}),"\n",(0,r.jsxs)(n.p,{children:["An event listener method is a method of a controller named by the first-letter\ncapitalized event name with the ",(0,r.jsx)(n.code,{children:"on"})," prefix, for example the ",(0,r.jsx)(n.code,{children:"formSubmitted"}),"\nevent can be listened for by defining the ",(0,r.jsx)(n.code,{children:"onFormSubmitted()"})," method on your\ncontroller."]}),"\n",(0,r.jsx)(n.p,{children:"The first argument passed into the controller's event listener method will be\nthe event data, not the event object itself, as manipulating the event object\nonce it reaches the controller is pointless."}),"\n",(0,r.jsx)(n.h3,{id:"emitting-events-using-the-dispatcher",children:"Emitting events using the Dispatcher"}),"\n",(0,r.jsxs)(n.p,{children:["The obvious limitation of the ",(0,r.jsx)(n.code,{children:"EventBus"})," API is that it only allows\nto create events that propagate up the tree of the UI components. The common\nway to propagate event in other directions, or to other parts of the UI, or\nfrom the controller to the UI is using the ",(0,r.jsx)(n.code,{children:"Dispatcher"})," API."]}),"\n",(0,r.jsx)(n.p,{children:"The Dispatcher allows any UI component and controller to register and\nderegister event listeners for arbitrarily named events and fire these events\nwith arbitrary data."}),"\n",(0,r.jsx)(n.p,{children:"The events propagate directly to the registered event listeners with no way to\nstop their propagation."}),"\n",(0,r.jsx)(n.p,{children:"Note that events distributed using the Dispatcher are useful only in very\nspecific use-cases, so the Dispatcher logs a warning to the console if there\nare no listeners registered for the fired event in order to notify you of\npossible typos in event names."}),"\n",(0,r.jsxs)(n.p,{children:["As always, you can learn more about ",(0,r.jsx)(n.code,{children:"EventBus"})," and ",(0,r.jsx)(n.code,{children:"Dispatcher"})," ",(0,r.jsx)(n.a,{href:"/basic-features/events",children:"in the documentation"})]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},6052:(e,n,t)=>{t.d(n,{A:()=>a});t(3696);var o=t(2689);const r={tabItem:"tabItem_wHwb"};var s=t(2540);function a(e){let{children:n,hidden:t,className:a}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,o.A)(r.tabItem,a),hidden:t,children:n})}},3776:(e,n,t)=>{t.d(n,{A:()=>w});var o=t(3696),r=t(2689),s=t(3707),a=t(9519),i=t(3604),l=t(5196),c=t(6229),d=t(8030);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:t}=e;return(0,o.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:t,attributes:o,default:r}}=e;return{value:n,label:t,attributes:o,default:r}}))}(t);return function(e){const n=(0,c.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function u(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,a.W6)(),s=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,l.aZ)(s),(0,o.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(r.location.search);n.set(s,e),r.replace({...r.location,search:n.toString()})}),[s,r])]}function g(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,s=p(e),[a,l]=(0,o.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!u({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const o=t.find((e=>e.default))??t[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:n,tabValues:s}))),[c,h]=m({queryString:t,groupId:r}),[g,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,s]=(0,d.Dv)(t);return[r,(0,o.useCallback)((e=>{t&&s.set(e)}),[t,s])]}({groupId:r}),v=(()=>{const e=c??g;return u({value:e,tabValues:s})?e:null})();(0,i.A)((()=>{v&&l(v)}),[v]);return{selectedValue:a,selectValue:(0,o.useCallback)((e=>{if(!u({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),f(e)}),[h,f,s]),tabValues:s}}var f=t(5200);const v={tabList:"tabList_J5MA",tabItem:"tabItem_l0OV"};var x=t(2540);function j(e){let{className:n,block:t,selectedValue:o,selectValue:a,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.a_)(),d=e=>{const n=e.currentTarget,t=l.indexOf(n),r=i[t].value;r!==o&&(c(n),a(r))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:o===n?0:-1,"aria-selected":o===n,ref:e=>{l.push(e)},onKeyDown:h,onClick:d,...s,className:(0,r.A)("tabs__item",v.tabItem,s?.className,{"tabs__item--active":o===n}),children:t??n},n)}))})}function b(e){let{lazy:n,children:t,selectedValue:s}=e;const a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===s));return e?(0,o.cloneElement)(e,{className:(0,r.A)("margin-top--md",e.props.className)}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function y(e){const n=g(e);return(0,x.jsxs)("div",{className:(0,r.A)("tabs-container",v.tabList),children:[(0,x.jsx)(j,{...n,...e}),(0,x.jsx)(b,{...n,...e})]})}function w(e){const n=(0,f.A)();return(0,x.jsx)(y,{...e,children:h(e.children)},String(n))}},3023:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var o=t(3696);const r={},s=o.createContext(r);function a(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f33aa945.f0467635.js b/assets/js/f33aa945.f0467635.js deleted file mode 100644 index 2b1594254..000000000 --- a/assets/js/f33aa945.f0467635.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2785],{5680:(e,t,n)=>{n.d(t,{xA:()=>c,yg:()=>h});var a=n(6540);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=a.createContext({}),p=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=p(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),d=p(n),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return n?a.createElement(h,s(s({ref:t},c),{},{components:n})):a.createElement(h,s({ref:t},c))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,s=new Array(r);s[0]=u;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[d]="string"==typeof e?e:o,s[1]=i;for(var p=2;p<r;p++)s[p]=n[p];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},6185:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(6540),o=n(8017);const r={tabItem:"tabItem_Ymn6"};function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,o.A)(r.tabItem,s),hidden:n},t)}},1253:(e,t,n)=>{n.d(t,{A:()=>N});var a=n(8102),o=n(6540),r=n(8017),s=n(3104),i=n(9519),l=n(7485),p=n(1682),c=n(9466);function d(e){return function(e){return o.Children.map(e,(e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:o}}=e;return{value:t,label:n,attributes:a,default:o}}))}function m(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??d(n);return function(e){const t=(0,p.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.W6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l.aZ)(r),(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(a.location.search);t.set(r,e),a.replace({...a.location,search:t.toString()})}),[r,a])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,r=m(e),[s,i]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[l,p]=h({queryString:n,groupId:a}),[d,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,r]=(0,c.Dv)(n);return[a,(0,o.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:a}),y=(()=>{const e=l??d;return u({value:e,tabValues:r})?e:null})();(0,o.useLayoutEffect)((()=>{y&&i(y)}),[y]);return{selectedValue:s,selectValue:(0,o.useCallback)((e=>{if(!u({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),p(e),g(e)}),[p,g,r]),tabValues:r}}var y=n(2303);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function v(e){let{className:t,block:n,selectedValue:i,selectValue:l,tabValues:p}=e;const c=[],{blockElementScrollPositionUntilNextRender:d}=(0,s.a_)(),m=e=>{const t=e.currentTarget,n=c.indexOf(t),a=p[n].value;a!==i&&(d(t),l(a))},u=e=>{let t=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t)},p.map((e=>{let{value:t,label:n,attributes:s}=e;return o.createElement("li",(0,a.A)({role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,key:t,ref:e=>c.push(e),onKeyDown:u,onClick:m},s,{className:(0,r.A)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":i===t})}),n??t)})))}function b(e){let{lazy:t,children:n,selectedValue:a}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===a));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},r.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function w(e){const t=g(e);return o.createElement("div",{className:(0,r.A)("tabs-container",f.tabList)},o.createElement(v,(0,a.A)({},e,t)),o.createElement(b,(0,a.A)({},e,t)))}function N(e){const t=(0,y.A)();return o.createElement(w,(0,a.A)({key:String(t)},e))}},8777:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>p,toc:()=>d});var a=n(8102),o=(n(6540),n(5680)),r=n(1253),s=n(6185);const i={title:"Adding Some State",description:"Tutorial > Adding Some State"},l=void 0,p={unversionedId:"tutorial/adding-some-state",id:"tutorial/adding-some-state",title:"Adding Some State",description:"Tutorial > Adding Some State",source:"@site/../docs/tutorial/adding-some-state.mdx",sourceDirName:"tutorial",slug:"/tutorial/adding-some-state",permalink:"/tutorial/adding-some-state",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/tutorial/adding-some-state.mdx",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Adding Some State",description:"Tutorial > Adding Some State"},sidebar:"tutorial",previous:{title:"Static View",permalink:"/tutorial/static-view"},next:{title:"Fetching Data",permalink:"/tutorial/fetching-data"}},c={},d=[{value:"Controller & error handling",id:"controller--error-handling",level:2},{value:"Fetching posts",id:"fetching-posts",level:2},{value:"Splitting the render method",id:"splitting-the-render-method",level:3},{value:"Creating new components",id:"creating-new-components",level:2},{value:"Notes on communication between controllers and views",id:"notes-on-communication-between-controllers-and-views",level:2},{value:"Passing state",id:"passing-state",level:3},{value:"Emitting events using the EventBus",id:"emitting-events-using-the-eventbus",level:3},{value:"Emitting events using the Dispatcher",id:"emitting-events-using-the-dispatcher",level:3}],m={toc:d},u="wrapper";function h(e){let{components:t,...n}=e;return(0,o.yg)(u,(0,a.A)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("p",null,"In ",(0,o.yg)("a",{parentName:"p",href:"/tutorial/static-view"},"previous section")," of the tutorial, we prepared basic markup and custom styling\nthanks to the ",(0,o.yg)("a",{parentName:"p",href:"https://getbootstrap.com/"},"Bootstrap CSS library"),".\nIn this section, we're going to add some functionality to our application."),(0,o.yg)("h2",{id:"controller--error-handling"},"Controller & error handling"),(0,o.yg)("p",null,"Our guestbook may look nice, but it is kind of boring since the posts are static\nand we cannot add new posts. So let's take care of this."),(0,o.yg)("p",null,"To begin, we'll render posts from data that we'll store as the state of our page\ncontroller. Open the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeController.js")," file and you'll see a class declaration."),(0,o.yg)("p",null,"You can notice that by default, our bootstrapped application includes some pre-defined\nmethods along with very long JSDoc comments. Feel free to read through these comments\nbut to make this tutorial simpler, we're going to replace contents of this file with following code:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import { AbstractController } from '@ima/core';\n\nexport class HomeController extends AbstractController {\n static get $dependencies() {\n return [];\n }\n\n constructor() {\n super();\n }\n\n load() {\n return {};\n }\n\n setMetaParams(loadedResources, metaManager, router, dictionary, settings) {\n metaManager.setTitle('Guestbook');\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import {\n AbstractController,\n Dependencies,\n Dictionary,\n LoadedResources,\n MetaManager,\n Router,\n Settings,\n} from '@ima/core';\n\nexport type PostData = {\n content: string;\n author: string;\n};\nexport type HomeControllerState = {\n posts: PostData[];\n};\n\nexport class HomeController extends AbstractController<HomeControllerState> {\n static $dependencies: Dependencies = [];\n\n constructor() {\n super();\n }\n\n load(): HomeControllerState<HomeControllerState> {\n return {};\n }\n\n setMetaParams(\n loadedResources: LoadedResources,\n metaManager: MetaManager,\n router: Router,\n dictionary: Dictionary,\n settings: Settings\n ): void {\n metaManager.setTitle('Guestbook');\n }\n}\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript:")," As you can see, the TypeScript code is a lot more complex.\nThe main reason is adding types ",(0,o.yg)("inlineCode",{parentName:"p"},"PostData")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"HomeControllerState")," that we will use later in this course.")))),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"AbstractController")," class defines some methods which are executed\nin different parts of it's lifecycle, you can ",(0,o.yg)("a",{parentName:"p",href:"/basic-features/controller-lifecycle"},"read more about this in the documentation"),"\nOne of the main methods you're going to use frequently is the ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method."),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method is called automatically\nby IMA.js when the controller is being initialized. It returns a hash object - a plain\nJavaScript object representing a map of keys and values - representing the initial\nstate of the page. The values in the returned object may be\n",(0,o.yg)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise"},"promises")," or scalar values.\nThe IMA.js will wait for all promises to resolve before rendering the page,\nallowing us to fetch any data we may need from the server."),(0,o.yg)("p",null,"Once all promises are resolved, IMA.js sets the controller's view state to the\nhash object with promises replaced by the values the promises resolved to."),(0,o.yg)("p",null,"In case that a promise gets rejected, we may want to display a specific error\npage. It is recommended to reject the load promises using IMA.js'\n",(0,o.yg)("inlineCode",{parentName:"p"},"GenericError")," (located in the module ",(0,o.yg)("inlineCode",{parentName:"p"},"@ima/error/GenericError"),"), which\nallows you to specify the HTTP status code representing the error type,\nresulting in the appropriate error page being displayed. An example usage\nof the ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method is show below:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"load() {\n return {\n ourPageData: fetchUsefulData(params).catch((error) => {\n // Note: the fetchUsefulData() should already return a promise\n // rejected by GenericError in case an error occurs, so we would not\n // have to do this in our every controller using a function like\n // this one.\n\n if (error.name === 'NotFoundError') {\n throw new GenericError('No such records exist', {\n cause: error,\n params: params,\n status: 404 // The 404 HTTP status stands for \"Not Found\"\n });\n } else {\n throw new GenericError('Cannot retrieve data', {\n cause: error,\n params: params,\n status: 500 // The 500 HTTP status stands for \"Internal Server Error\"\n });\n }\n })\n };\n}\n")),(0,o.yg)("p",null,"Now you may be tempted to simply extend the native ",(0,o.yg)("inlineCode",{parentName:"p"},"Error")," class (or one of its\nsiblings). The problem with that is that all browsers do not generate stack\ntraces for custom errors extending the native ones (unless you are using a\nbrowser that has already implemented error sub-classing). The ",(0,o.yg)("inlineCode",{parentName:"p"},"GenericError"),"\ntakes care of this for us and also allows you\nto create custom error classes by extending the ",(0,o.yg)("inlineCode",{parentName:"p"},"GenericError")," class while still\nhaving access to stack traces of your errors."),(0,o.yg)("h2",{id:"fetching-posts"},"Fetching posts"),(0,o.yg)("p",null,"But let's refocus on the ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method in our controller. For now, we'll\nspecify our data statically and take care of fetching the data from the server in\na later point in this tutorial. Replace the contents of the ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method with\nthe following code:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"return {\n posts: [\n {\n content: 'Never mistake motion for action.',\n author: 'Ernest Hemingway'\n },\n {\n content: 'Quality means doing it right when no one is looking.',\n author: 'Henry Ford'\n },\n {\n content:\n 'We are what we repeatedly do. Excellence, then, is not an act, but a habit.',\n author: 'Aristotle'\n },\n {\n content:\n 'Reality is merely an illusion, albeit a very persistent one.',\n author: 'Albert Einstein'\n }\n ]\n};\n")),(0,o.yg)("p",null,"As you may have noticed, we used JSON-compatible code in case of ",(0,o.yg)("inlineCode",{parentName:"p"},"posts")," - this\nwill come in handy later when we'll introduce fetching the data from the\nserver and move the structure to an external JSON file."),(0,o.yg)("h3",{id:"splitting-the-render-method"},"Splitting the render method"),(0,o.yg)("p",null,"Let's return to our view in the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.jsx")," file. Replace the\n",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method with the following code snippet:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},'render() {\n return (\n <div className="l-home container">\n <h1>Guestbook</h1>\n <div className="posting-form card">\n <form action="" method="post">\n <h5 className="card-header">Add a post</h5>\n <div className="card-body">\n <div className="form-group">\n <label htmlFor="postForm-name">Name:</label>\n <input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n placeholder="Your name"\n />\n </div>\n <div className="form-group">\n <label htmlFor="postForm-content">Post:</label>\n <textarea\n id="postForm-content"\n className="form-control"\n name="content"\n placeholder="What would you like to tell us?"\n />\n </div>\n </div>\n <div className="card-footer">\n <button type="submit" className="btn btn btn-outline-primary">\n Submit\n <div className="ripple-wrapper" />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className="posts">\n <h2>Posts</h2>\n {this._renderPosts()}\n </div>\n </div>\n );\n}\n\n_renderPosts() {\n const { posts } = this.props;\n\n return posts.map((post, index) => (\n <div className="post card card-default" key={index}>\n <div className="card-body">{post.content}</div>\n <div className="post-author card-footer">{post.author}</div>\n </div>\n ));\n}\n'))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"import './homeView.less';\nimport { PostData } from 'app/page/home/HomeController';\nimport { usePageContext } from '@ima/react-page-renderer';\n\ntype HomeViewProps = {\n posts: PostData[];\n};\n\nexport function HomeView({ posts }: HomeViewProps) {\n const _pageContext = usePageContext();\n\n const _renderPosts = () => {\n return posts.map((post: PostData, index) => (\n <div className='post card card-default' key={index}>\n <div className='card-body'>{post.content}</div>\n <div className='post-author card-footer'>{post.author}</div>\n </div>\n ));\n };\n\n return (\n <div className='l-home container'>\n <h1>Guestbook</h1>\n\n <div className='posting-form card'>\n <form action='' method='post'>\n <h5 className='card-header'>Add a post</h5>\n <div className='card-body'>\n <div className='form-group'>\n <label htmlFor='postForm-name'>Name:</label>\n <input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n placeholder='Your name'\n />\n </div>\n <div className='form-group'>\n <label htmlFor='postForm-content'>Post:</label>\n <textarea\n id='postForm-content'\n className='form-control'\n name='content'\n placeholder='What would you like to tell us?'\n />\n </div>\n </div>\n <div className='card-footer'>\n <button type='submit' className='btn btn btn-outline-primary'>\n Submit\n <div className='ripple-wrapper' />\n </button>\n </div>\n </form>\n </div>\n <hr />\n <div className='posts'>\n <h2>Posts</h2>\n {_renderPosts()}\n </div>\n </div>\n );\n}\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript: ")," New type ",(0,o.yg)("inlineCode",{parentName:"p"},"HomeViewProps")," has been used to correctly accept typed props in our ",(0,o.yg)("inlineCode",{parentName:"p"},"HomeView"),".")))),(0,o.yg)("p",null,"We have replaced the old sequence of\n",(0,o.yg)("inlineCode",{parentName:"p"},"<div className='post card card-default'>")," tags with the\n",(0,o.yg)("inlineCode",{parentName:"p"},"{this._renderPosts()}")," expression, which tells React to insert the return\nvalue of our new ",(0,o.yg)("inlineCode",{parentName:"p"},"_renderPosts()")," method."),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"_renderPosts()")," method traverses the array of posts available as\n",(0,o.yg)("inlineCode",{parentName:"p"},"this.props.posts")," (",(0,o.yg)("inlineCode",{parentName:"p"},"this.props")," refers to the page controller's state in\npage views) and creates a new array containing the rendered posts. Notice\nthat we are using ",(0,o.yg)("inlineCode",{parentName:"p"},"props")," instead of ",(0,o.yg)("inlineCode",{parentName:"p"},"state")," in our view because we are\nreferencing external data, not the internal state of our view component."),(0,o.yg)("p",null,"The structure of the UI representing a post has had its static content\nreplaced with the ",(0,o.yg)("inlineCode",{parentName:"p"},"{post.content}")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"{post.author}")," expressions injecting\nthe content and the author of the post, and we have added a new ",(0,o.yg)("inlineCode",{parentName:"p"},"key={index}"),"\nattribute (technically, it is a React element property, but we'll use the XML\nterminology in this tutorial). The ",(0,o.yg)("inlineCode",{parentName:"p"},"key")," attribute is required by React to help\nit identify parts of the DOM, therefore its value must be unique within the\ncontext and represent a relationship between the DOM fragment and the data.\nHere we set it to the index of the current post in the ",(0,o.yg)("inlineCode",{parentName:"p"},"posts")," array."),(0,o.yg)("p",null,"In practice you should not use array indexes as keys because shifting or\nmodifying the contents of the array will result in using the same keys for\ndifferent items in each rendering, which will result in a strange and quirky\nbehavior, especially for components with their own state. It is best to use\nunique identifiers, such as the primary key of the record provided by the\ndatabase."),(0,o.yg)("p",null,"Since we do not have the posts stored in an actual database, we're going to\nhelp ourselves in a different way, but we'll address that later in this\ntutorial."),(0,o.yg)("h2",{id:"creating-new-components"},"Creating new components"),(0,o.yg)("p",null,"Now the view looks better, but it's still not perfect, because the view still\nfeels bulky. To fix that, we start by moving the post rendering to a new\ncomponent."),(0,o.yg)("p",null,"Create the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/post")," directory and the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/post/Post.jsx"),"\nand ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/post/post.less")," files."),(0,o.yg)("p",null,"Put the following code into the ",(0,o.yg)("inlineCode",{parentName:"p"},"Post.jsx")," file:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},"import { AbstractComponent } from '@ima/react-page-renderer';\nimport React from 'react';\nimport './post.less';\n\n\nexport default class Post extends AbstractComponent {\n render() {\n const { content, author } = this.props;\n\n return (\n <div className=\"post card card-default\">\n <div className=\"card-body\">{content}</div>\n <div className=\"post-author card-footer\">{author}</div>\n </div>\n );\n }\n}\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"import './post.less';\n\ntype PostProps = {\n content: string;\n author: string;\n};\n\nexport function Post({ content, author }: PostProps) {\n return (\n <div className='post card card-default'>\n <div className='card-body'>{content}</div>\n <div className='post-author card-footer'>{author}</div>\n </div>\n );\n}\n")),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"TypeScript: ")," With ",(0,o.yg)("inlineCode",{parentName:"p"},"PostProps")," type, in TypeScript we can directly destructure the props in the function\nparameters and use their single attributes in the return function.")))),(0,o.yg)("p",null,"In this component we access the post content and author name in our ",(0,o.yg)("inlineCode",{parentName:"p"},"render()"),"\nmethod using the ",(0,o.yg)("inlineCode",{parentName:"p"},"this.props")," object, which contains a hash object of\nproperties passed to the React component by whatever code is using it."),(0,o.yg)("p",null,"To use our new component, we need to update the ",(0,o.yg)("inlineCode",{parentName:"p"},"_renderPosts()")," method in the\n",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/HomeView.jsx")," file to the following code:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},"return posts.map((post, index) => {\n return <Post key={index} content={post.content} author={post.author} />;\n});\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"return posts.map((post: PostData, index) => (\n <Post key={index} content={post.content} author={post.author} />\n));\n")))),(0,o.yg)("p",null,"...and import the ",(0,o.yg)("inlineCode",{parentName:"p"},"Post")," component by adding the following import to the\nbeginning of the file:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import Post from 'app/component/post/Post';\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-typescript"},"import { Post } from 'app/component/post/Post';\n")))),(0,o.yg)("blockquote",null,(0,o.yg)("p",{parentName:"blockquote"},(0,o.yg)("strong",{parentName:"p"},"Note"),": You can notice that so far we ",(0,o.yg)("strong",{parentName:"p"},"haven't used relative imports")," when importing\nour custom JS modules from inside of the app directory structure. This is\nbecause IMA.js adds the ",(0,o.yg)("inlineCode",{parentName:"p"},"app")," directory to the ",(0,o.yg)("strong",{parentName:"p"},"lookup path"),". This means that\nyou can refer to any file inside ",(0,o.yg)("inlineCode",{parentName:"p"},"app")," directory through an absolute path,\nwhich makes most of the imports much cleaner.")),(0,o.yg)("p",null,"To finish the creation of the post component, we need to move the related\nstyles from ",(0,o.yg)("inlineCode",{parentName:"p"},"app/page/home/homeView.less")," to ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/post/post.less"),".\nMove the following code to the ",(0,o.yg)("inlineCode",{parentName:"p"},"post.less")," file:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-scss"},".post-author {\n text-align: @post-author-alignment;\n font-style: italic;\n font-size: 85%;\n}\n")),(0,o.yg)("p",null,'We can further improve our page view structure by refactoring-out the\n"new post" form to a separate component. Create the ',(0,o.yg)("inlineCode",{parentName:"p"},"app/component/postingForm"),"\ndirectory and the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/postingForm/PostingForm.jsx")," file. Then, put the\nfollowing code into the ",(0,o.yg)("inlineCode",{parentName:"p"},"app/component/postingForm/PostingForm.jsx")," file:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},'import { AbstractComponent } from \'@ima/react-page-renderer\';\nimport React from \'react\';\n\nexport default class PostingForm extends AbstractComponent {\n render() {\n return (\n <div className="posting-form card">\n <form action="" method="post">\n <h5 className="card-header">Add a post</h5>\n <div className="card-body">\n <div className="form-group">\n <label htmlFor="postForm-name">Name:</label>\n <input\n id="postForm-name"\n className="form-control"\n type="text"\n name="author"\n placeholder="Your name"\n />\n </div>\n <div className="form-group">\n <label htmlFor="postForm-content">Post:</label>\n <textarea\n id="postForm-content"\n className="form-control"\n name="content"\n placeholder="What would you like to tell us?"\n />\n </div>\n </div>\n <div className="card-footer">\n <button type="submit" className="btn btn btn-outline-primary">\n Submit\n <div className="ripple-wrapper" />\n </button>\n </div>\n </form>\n </div>\n );\n }\n}\n'))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"export function PostingForm() {\n return (\n <div className='posting-form card'>\n <form action='' method='post'>\n <h5 className='card-header'>Add a post</h5>\n <div className='card-body'>\n <div className='form-group'>\n <label htmlFor='postForm-name'>Name:</label>\n <input\n id='postForm-name'\n className='form-control'\n type='text'\n name='author'\n placeholder='Your name'\n />\n </div>\n <div className='form-group'>\n <label htmlFor='postForm-content'>Post:</label>\n <textarea\n id='postForm-content'\n className='form-control'\n name='content'\n placeholder='What would you like to tell us?'\n />\n </div>\n </div>\n <div className='card-footer'>\n <button type='submit' className='btn btn btn-outline-primary'>\n Submit\n <div className='ripple-wrapper' />\n </button>\n </div>\n </form>\n </div>\n );\n}\n")))),(0,o.yg)("p",null,"Nothing new here, we just extracted the code from home controller's view and\nput it into a new React component."),(0,o.yg)("p",null,"Now update the ",(0,o.yg)("inlineCode",{parentName:"p"},"render()")," method in the home controller's view:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-jsx"},'return (\n <div className="l-home container">\n <h1>Guestbook</h1>\n <PostingForm />\n\n <hr />\n\n <div className="posts">\n <h2>Posts</h2>\n {this._renderPosts()}\n </div>\n </div>\n);\n'))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"return (\n <div className='l-home container'>\n <h1>Guestbook</h1>\n <PostingForm />\n\n <hr />\n\n <div className='posts'>\n <h2>Posts</h2>\n {_renderPosts()}\n </div>\n </div>\n);\n")))),(0,o.yg)("p",null,"To finish up, import the posting form component:"),(0,o.yg)(r.A,{mdxType:"Tabs"},(0,o.yg)(s.A,{value:"JavaScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-javascript"},"import PostingForm from 'app/component/postingForm/PostingForm';\n"))),(0,o.yg)(s.A,{value:"TypeScript",mdxType:"TabItem"},(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-tsx"},"import { PostingForm } from 'app/component/postingForm/PostingForm';\n")))),(0,o.yg)("p",null,"So far we've been ",(0,o.yg)("strong",{parentName:"p"},"only refactoring our code and moving few bits around")," to make it cleaner.\nWhen you refresh the page, you should see the same page as you ended up with after the end of\nthe previous tutorial."),(0,o.yg)("p",null,"Now that our code looks much cleaner, we can look into fetching the guestbook\nposts from the server. However, if you'd like to linger a little longer and\nlearn more how the controller and view communicate by passing state, check out\nthe following optional section ",(0,o.yg)("a",{parentName:"p",href:"#notes-on-communication-between-controllers-and-views"},"Notes on communication between controllers and\nviews"),"."),(0,o.yg)("h2",{id:"notes-on-communication-between-controllers-and-views"},"Notes on communication between controllers and views"),(0,o.yg)("p",null,"There are three ways the controllers and views communicate:"),(0,o.yg)("ol",null,(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("strong",{parentName:"li"},"By passing state from the controller to the view ","\u2013")," this is the most\ncommon way of passing information."),(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("strong",{parentName:"li"},"By emitting DOM events")," from the view and listening for them in the controller\nor parent components (using the ",(0,o.yg)("inlineCode",{parentName:"li"},"EventBus"),") ","\u2013"," this is\nthe most common way of notifying the controller or a parent UI component of\nthe user's actions in the view."),(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("strong",{parentName:"li"},'By emitting "global" events')," in the controller and / or view and listening for\nthem in the controller and / or view (using the ",(0,o.yg)("inlineCode",{parentName:"li"},"Dispatcher"),")\n","\u2013"," this is used only in very specific situations, like when the UI\nneeds to be notified about an external event captured by the controller and\nupdating the state is not practical.")),(0,o.yg)("h3",{id:"passing-state"},"Passing state"),(0,o.yg)("p",null,"The controller creates the initial state of the page by returning a hash object\nof values and promises from its ",(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method. The IMA.js then waits for all\nthe promises to resolve at the server, pass the resulting values as properties\nto the page view component, and renders the page to send it to the client."),(0,o.yg)("p",null,'The situation is a little more complicated at the client-side however. When the\npage is being "re-animated" after being rendered at the server-side, the IMA.js\nuses the controller\'s ',(0,o.yg)("inlineCode",{parentName:"p"},"load()")," method and the returned object in the same way,\nthough the promises are usually resolved immediately using the data in the\ncache sent to the client along with the rendered page."),(0,o.yg)("p",null,"When the user navigates between pages, however, the IMA.js does not wait for\nall promises to resolve before rendering the new view. The IMA.js registers\ncallbacks on all returned promises, and whenever one of the promises resolves,\nIMA.js pushes the currently resolved fragment of the page state to the view."),(0,o.yg)("p",null,"On one hand, this allows you to display content as it loads (providing it is\ndecoupled) while displaying loading indicators where the content is not\navailable yet. On the other hand, this does require you to add more logic to\nyour view, checking whether the data is available or not, and displaying\nloading indicators where the data is not available yet."),(0,o.yg)("h3",{id:"emitting-events-using-the-eventbus"},"Emitting events using the EventBus"),(0,o.yg)("p",null,"The ",(0,o.yg)("inlineCode",{parentName:"p"},"EventBus")," API allows your UI components to emit custom DOM\nevents that naturally propagate through the DOM tree representing the tree of\nyour UI components."),(0,o.yg)("p",null,"This is usually used to notify the parent components of user interaction with\ncustom controls in your UI, or to notify the page controller itself."),(0,o.yg)("p",null,"The custom events may have any name and carry arbitrary data that are not\nrestricted to JSON-serializable values."),(0,o.yg)("p",null,"Furthermore, the controllers can easily listen for the events dispatched using\nthe EventBus (unless the propagation of the event is stopped by a component\nhalf the way) by declaring event listener methods."),(0,o.yg)("p",null,"An event listener method is a method of a controller named by the first-letter\ncapitalized event name with the ",(0,o.yg)("inlineCode",{parentName:"p"},"on")," prefix, for example the ",(0,o.yg)("inlineCode",{parentName:"p"},"formSubmitted"),"\nevent can be listened for by defining the ",(0,o.yg)("inlineCode",{parentName:"p"},"onFormSubmitted()")," method on your\ncontroller."),(0,o.yg)("p",null,"The first argument passed into the controller's event listener method will be\nthe event data, not the event object itself, as manipulating the event object\nonce it reaches the controller is pointless."),(0,o.yg)("h3",{id:"emitting-events-using-the-dispatcher"},"Emitting events using the Dispatcher"),(0,o.yg)("p",null,"The obvious limitation of the ",(0,o.yg)("inlineCode",{parentName:"p"},"EventBus")," API is that it only allows\nto create events that propagate up the tree of the UI components. The common\nway to propagate event in other directions, or to other parts of the UI, or\nfrom the controller to the UI is using the ",(0,o.yg)("inlineCode",{parentName:"p"},"Dispatcher")," API."),(0,o.yg)("p",null,"The Dispatcher allows any UI component and controller to register and\nderegister event listeners for arbitrarily named events and fire these events\nwith arbitrary data."),(0,o.yg)("p",null,"The events propagate directly to the registered event listeners with no way to\nstop their propagation."),(0,o.yg)("p",null,"Note that events distributed using the Dispatcher are useful only in very\nspecific use-cases, so the Dispatcher logs a warning to the console if there\nare no listeners registered for the fired event in order to notify you of\npossible typos in event names."),(0,o.yg)("p",null,"As always, you can learn more about ",(0,o.yg)("inlineCode",{parentName:"p"},"EventBus")," and ",(0,o.yg)("inlineCode",{parentName:"p"},"Dispatcher")," ",(0,o.yg)("a",{parentName:"p",href:"/basic-features/events"},"in the documentation")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f3847fe3.7f68174a.js b/assets/js/f3847fe3.7f68174a.js new file mode 100644 index 000000000..2d303d77a --- /dev/null +++ b/assets/js/f3847fe3.7f68174a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6737],{9078:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"api/@ima/core/interfaces/WindowCustomEventsMap","title":"Interface: WindowCustomEventsMap","description":"Defined in1","source":"@site/../docs/api/@ima/core/interfaces/WindowCustomEventsMap.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/WindowCustomEventsMap","permalink":"/api/@ima/core/interfaces/WindowCustomEventsMap","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/WindowCustomEventsMap.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: Utils","permalink":"/api/@ima/core/interfaces/Utils"},"next":{"title":"Type Alias: AnyParameters","permalink":"/api/@ima/core/type-aliases/AnyParameters"}}');var s=n(2540),i=n(3023);const r={},o="Interface: WindowCustomEventsMap",c={},d=[];function p(e){const t={a:"a",h1:"h1",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"interface-windowcustomeventsmap",children:"Interface: WindowCustomEventsMap"})}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/Window.ts#L1",children:"packages/core/src/window/Window.ts:1"})]})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var a=n(3696);const s={},i=a.createContext(s);function r(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f3b1218a.02e5a40b.js b/assets/js/f3b1218a.02e5a40b.js new file mode 100644 index 000000000..8808569cc --- /dev/null +++ b/assets/js/f3b1218a.02e5a40b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[663],{9184:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"api/@ima/core/type-aliases/RouteView","title":"Type Alias: RouteView","description":"RouteView: keyof OCAliasMap \\\\| Constructor\\\\ \\\\| AbstractConstructor\\\\ \\\\| (...args) => any","source":"@site/../docs/api/@ima/core/type-aliases/RouteView.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/RouteView","permalink":"/api/@ima/core/type-aliases/RouteView","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/RouteView.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: RoutePathExpression","permalink":"/api/@ima/core/type-aliases/RoutePathExpression"},"next":{"title":"Type Alias: RouterMiddleware()","permalink":"/api/@ima/core/type-aliases/RouterMiddleware"}}');var o=s(2540),r=s(3023);const i={},n="Type Alias: RouteView",c={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"type-alias-routeview",children:"Type Alias: RouteView"})}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"RouteView"}),": keyof ",(0,o.jsx)(t.a,{href:"/api/@ima/core/interfaces/OCAliasMap",children:(0,o.jsx)(t.code,{children:"OCAliasMap"})})," | ",(0,o.jsx)(t.code,{children:"Constructor"}),"<",(0,o.jsx)(t.code,{children:"any"}),"> | ",(0,o.jsx)(t.code,{children:"AbstractConstructor"}),"<",(0,o.jsx)(t.code,{children:"any"}),"> | (...",(0,o.jsx)(t.code,{children:"args"}),") => ",(0,o.jsx)(t.code,{children:"any"})]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Defined in: ",(0,o.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/router/AbstractRoute.ts#L20",children:"packages/core/src/router/AbstractRoute.ts:20"})]})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>n});var a=s(3696);const o={},r=a.createContext(o);function i(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f3bc0fbd.1a5d3afd.js b/assets/js/f3bc0fbd.1a5d3afd.js deleted file mode 100644 index 489af6c51..000000000 --- a/assets/js/f3bc0fbd.1a5d3afd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1607],{5680:(e,t,a)=>{a.d(t,{xA:()=>s,yg:()=>h});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?p(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):p(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},p=Object.keys(e);for(n=0;n<p.length;n++)a=p[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(n=0;n<p.length;n++)a=p[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var g=n.createContext({}),d=function(e){var t=n.useContext(g),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=d(e.components);return n.createElement(g.Provider,{value:t},e.children)},o="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,p=e.originalType,g=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),o=d(a),y=r,h=o["".concat(g,".").concat(y)]||o[y]||m[y]||p;return a?n.createElement(h,i(i({ref:t},s),{},{components:a})):n.createElement(h,i({ref:t},s))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var p=a.length,i=new Array(p);i[0]=y;var l={};for(var g in t)hasOwnProperty.call(t,g)&&(l[g]=t[g]);l.originalType=e,l[o]="string"==typeof e?e:r,i[1]=l;for(var d=2;d<p;d++)i[d]=a[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},4454:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>g,contentTitle:()=>i,default:()=>m,frontMatter:()=>p,metadata:()=>l,toc:()=>d});var n=a(8102),r=(a(6540),a(5680));const p={id:"ima_core.HttpAgentImpl",title:"Class: HttpAgentImpl",sidebar_label:"@ima/core.HttpAgentImpl",custom_edit_url:null},i=void 0,l={unversionedId:"api/classes/ima_core.HttpAgentImpl",id:"api/classes/ima_core.HttpAgentImpl",title:"Class: HttpAgentImpl",description:"@ima/core.HttpAgentImpl",source:"@site/../docs/api/classes/ima_core.HttpAgentImpl.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.HttpAgentImpl",permalink:"/api/classes/ima_core.HttpAgentImpl",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.HttpAgentImpl",title:"Class: HttpAgentImpl",sidebar_label:"@ima/core.HttpAgentImpl",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.HttpAgent",permalink:"/api/classes/ima_core.HttpAgent"},next:{title:"@ima/core.HttpProxy",permalink:"/api/classes/ima_core.HttpProxy"}},g={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"_Helper",id:"_helper",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"_cache",id:"_cache",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_cacheOptions",id:"_cacheoptions",level:3},{value:"Defined in",id:"defined-in-3",level:4},{value:"_cookie",id:"_cookie",level:3},{value:"Defined in",id:"defined-in-4",level:4},{value:"_defaultRequestOptions",id:"_defaultrequestoptions",level:3},{value:"Defined in",id:"defined-in-5",level:4},{value:"_internalCacheOfPromises",id:"_internalcacheofpromises",level:3},{value:"Defined in",id:"defined-in-6",level:4},{value:"_proxy",id:"_proxy",level:3},{value:"Defined in",id:"defined-in-7",level:4},{value:"Methods",id:"methods",level:2},{value:"_cleanResponse",id:"_cleanresponse",level:3},{value:"Type parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_clone",id:"_clone",level:3},{value:"Type parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_getCacheKeySuffix",id:"_getcachekeysuffix",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_getCachedData",id:"_getcacheddata",level:3},{value:"Type parameters",id:"type-parameters-2",level:4},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-3",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_prepareOptions",id:"_prepareoptions",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_proxyRejected",id:"_proxyrejected",level:3},{value:"Type parameters",id:"type-parameters-3",level:4},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_proxyResolved",id:"_proxyresolved",level:3},{value:"Type parameters",id:"type-parameters-4",level:4},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"_request",id:"_request",level:3},{value:"Type parameters",id:"type-parameters-5",level:4},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"_requestWithCheckCache",id:"_requestwithcheckcache",level:3},{value:"Type parameters",id:"type-parameters-6",level:4},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-8",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_saveAgentResponseToCache",id:"_saveagentresponsetocache",level:3},{value:"Type parameters",id:"type-parameters-7",level:4},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-9",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_setCookiesFromResponse",id:"_setcookiesfromresponse",level:3},{value:"Type parameters",id:"type-parameters-8",level:4},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"clearDefaultHeaders",id:"cleardefaultheaders",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"delete",id:"delete",level:3},{value:"Type parameters",id:"type-parameters-9",level:4},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"get",id:"get",level:3},{value:"Type parameters",id:"type-parameters-10",level:4},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"getCacheKey",id:"getcachekey",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"invalidateCache",id:"invalidatecache",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"patch",id:"patch",level:3},{value:"Type parameters",id:"type-parameters-11",level:4},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"post",id:"post",level:3},{value:"Type parameters",id:"type-parameters-12",level:4},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"put",id:"put",level:3},{value:"Type parameters",id:"type-parameters-13",level:4},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"setDefaultHeader",id:"setdefaultheader",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"Defined in",id:"defined-in-27",level:4}],s={toc:d},o="wrapper";function m(e){let{components:t,...a}=e;return(0,r.yg)(o,(0,n.A)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".HttpAgentImpl"),(0,r.yg)("p",null,"Implementation of the ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent")," interface with internal caching\nof completed and ongoing HTTP requests and cookie storage."),(0,r.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgent"))),(0,r.yg)("p",{parentName:"li"},"\u21b3 ",(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"HttpAgentImpl"))))),(0,r.yg)("h2",{id:"constructors"},"Constructors"),(0,r.yg)("h3",{id:"constructor"},"constructor"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("strong",{parentName:"p"},"new HttpAgentImpl"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"proxy"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"cache"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"cookie"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"config"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"Helper"),")"),(0,r.yg)("p",null,"Initializes the HTTP handler."),(0,r.yg)("h4",{id:"parameters"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"proxy")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The low-level HTTP proxy for sending the HTTP requests.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cache")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Cache"},(0,r.yg)("inlineCode",{parentName:"a"},"Cache")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"unknown"),">",">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Cache to use for caching ongoing and completed requests.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"cookie")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The cookie storage to use internally.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"config")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"HttpAgentImplConfig")),(0,r.yg)("td",{parentName:"tr",align:"left"},"Configuration of the HTTP handler for the current application environment, specifying the various default request option values and cache option values.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Helper")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"__module")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The IMA.js helper methods.")))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"http\n .get('url', { data: data }, {\n ttl: 2000,\n repeatRequest: 1,\n withCredentials: true,\n timeout: 2000,\n accept: 'application/json',\n language: 'en'\n })\n .then((response) => {\n //resolve\n }\n .catch((error) => {\n //catch\n });\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},(0,r.yg)("inlineCode",{parentName:"strong"},"Example"))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"http\n .setDefaultHeader('Accept-Language', 'en')\n .clearDefaultHeaders();\n")),(0,r.yg)("h4",{id:"overrides"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#constructor"},"constructor")),(0,r.yg)("h4",{id:"defined-in"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L69"},"packages/core/src/http/HttpAgentImpl.ts:69")),(0,r.yg)("h2",{id:"properties"},"Properties"),(0,r.yg)("h3",{id:"_helper"},"_","Helper"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","Helper"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"__module")),(0,r.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L33"},"packages/core/src/http/HttpAgentImpl.ts:33")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_cache"},"_","cache"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","cache"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Cache"},(0,r.yg)("inlineCode",{parentName:"a"},"Cache")),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"unknown"),">",">"),(0,r.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L29"},"packages/core/src/http/HttpAgentImpl.ts:29")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_cacheoptions"},"_","cacheOptions"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","cacheOptions"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"HttpAgentImplCacheOptions")),(0,r.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L31"},"packages/core/src/http/HttpAgentImpl.ts:31")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_cookie"},"_","cookie"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","cookie"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.CookieStorage"},(0,r.yg)("inlineCode",{parentName:"a"},"CookieStorage"))),(0,r.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L30"},"packages/core/src/http/HttpAgentImpl.ts:30")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_defaultrequestoptions"},"_","defaultRequestOptions"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","defaultRequestOptions"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L32"},"packages/core/src/http/HttpAgentImpl.ts:32")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_internalcacheofpromises"},"_","internalCacheOfPromises"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","internalCacheOfPromises"),": ",(0,r.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"any"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"any"),">"),(0,r.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L34"},"packages/core/src/http/HttpAgentImpl.ts:34")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_proxy"},"_","proxy"),(0,r.yg)("p",null,"\u2022 ",(0,r.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,r.yg)("strong",{parentName:"p"},"_","proxy"),": ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpProxy"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxy"))),(0,r.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L28"},"packages/core/src/http/HttpAgentImpl.ts:28")),(0,r.yg)("h2",{id:"methods"},"Methods"),(0,r.yg)("h3",{id:"_cleanresponse"},"_","cleanResponse"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_cleanResponse"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"response"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"Cleans cache response from data (abort controller, postProcessors), that cannot be persisted,\nbefore saving the data to the cache."),(0,r.yg)("h4",{id:"type-parameters"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-1"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"response")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"B"),">")))),(0,r.yg)("h4",{id:"returns"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L542"},"packages/core/src/http/HttpAgentImpl.ts:542")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_clone"},"_","clone"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_clone"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"V"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"Attempts to clone the provided value, if possible. Values that cannot be\ncloned (e.g. promises) will be simply returned."),(0,r.yg)("h4",{id:"type-parameters-1"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V"))))),(0,r.yg)("h4",{id:"parameters-2"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"V")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The value to clone.")))),(0,r.yg)("h4",{id:"returns-1"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"V")),(0,r.yg)("p",null,"The created clone, or the provided value if the value cannot be\ncloned."),(0,r.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L221"},"packages/core/src/http/HttpAgentImpl.ts:221")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getcachekeysuffix"},"_","getCacheKeySuffix"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getCacheKeySuffix"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates cache key suffix for an HTTP request to the specified URL with\nthe specified data."),(0,r.yg)("h4",{id:"parameters-3"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method used by the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request is sent.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data sent with the request.")))),(0,r.yg)("h4",{id:"returns-2"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The suffix of a cache key to use for a request to the\nspecified URL, carrying the specified data."),(0,r.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L478"},"packages/core/src/http/HttpAgentImpl.ts:478")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_getcacheddata"},"_","getCachedData"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_getCachedData"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Tests whether an ongoing or completed HTTP request for the specified URL\nand data is present in the internal cache and, if it is, the method\nreturns a promise that resolves to the response body parsed as JSON."),(0,r.yg)("p",null,"The method returns ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if no such request is present in the\ncache."),(0,r.yg)("h4",{id:"type-parameters-2"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-4"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method used by the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request was made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data sent to the server with the request.")))),(0,r.yg)("h4",{id:"returns-3"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"null")," ","|"," ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that will resolve to the\nserver response with the body parsed as JSON, or ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," if\nno such request is present in the cache."),(0,r.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L278"},"packages/core/src/http/HttpAgentImpl.ts:278")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_prepareoptions"},"_","prepareOptions"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_prepareOptions"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("p",null,"Prepares the provided request options object by filling in missing\noptions with default values and adding extra options used internally."),(0,r.yg)("h4",{id:"parameters-5"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,r.yg)("h4",{id:"returns-4"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("p",null,"Request options with set filled-in\ndefault values for missing fields, and extra options used\ninternally."),(0,r.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L435"},"packages/core/src/http/HttpAgentImpl.ts:435")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_proxyrejected"},"_","proxyRejected"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_proxyRejected"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"error"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Handles rejection of the HTTP request by the HTTP proxy. The method\ntests whether there are any remaining tries for the request, and if\nthere are any, it attempts re-send the request."),(0,r.yg)("p",null,"The method rejects the internal request promise if there are no tries\nleft."),(0,r.yg)("h4",{id:"type-parameters-3"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-6"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"error")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/classes/ima_core.GenericError"},(0,r.yg)("inlineCode",{parentName:"a"},"GenericError")),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpproxyerrorparams"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpProxyErrorParams")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The error provided by the HttpProxy, carrying the error parameters, such as the request url, data, method, options and other useful data.")))),(0,r.yg)("h4",{id:"returns-5"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that will either resolve to a\nserver's response (with the body parsed as JSON) if there are\nany tries left and the re-tried request succeeds, or rejects\nwith an error containing details of the cause of the request's\nfailure."),(0,r.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L398"},"packages/core/src/http/HttpAgentImpl.ts:398")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_proxyresolved"},"_","proxyResolved"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_proxyResolved"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"response"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"Handles successful completion of an HTTP request by the HTTP proxy."),(0,r.yg)("p",null,"The method also updates the internal cookie storage with the cookies\nreceived from the server."),(0,r.yg)("h4",{id:"type-parameters-4"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-7"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"response")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"B"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Server response.")))),(0,r.yg)("h4",{id:"returns-6"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">"),(0,r.yg)("p",null,"The post-processed server response."),(0,r.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L343"},"packages/core/src/http/HttpAgentImpl.ts:343")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_request"},"_","request"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_request"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends a new HTTP request using the specified method to the specified\nurl. The request will carry the provided data as query parameters if the\nHTTP method is GET, but the data will be sent as request body for any\nother request method."),(0,r.yg)("h4",{id:"type-parameters-5"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-8"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"HTTP method to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request is sent.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data sent with the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-7"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the response\nwith the body parsed as JSON."),(0,r.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L314"},"packages/core/src/http/HttpAgentImpl.ts:314")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_requestwithcheckcache"},"_","requestWithCheckCache"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_requestWithCheckCache"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Check cache and if data isn\u2019t available then make real request."),(0,r.yg)("h4",{id:"type-parameters-6"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-9"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method to use.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be sent.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send with the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-8"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the response\nwith body parsed as JSON."),(0,r.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L243"},"packages/core/src/http/HttpAgentImpl.ts:243")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_saveagentresponsetocache"},"_","saveAgentResponseToCache"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_saveAgentResponseToCache"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"agentResponse"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Saves the server response to the cache to be used as the result of the\nnext request of the same properties."),(0,r.yg)("h4",{id:"type-parameters-7"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-10"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"agentResponse")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"B"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The response of the server.")))),(0,r.yg)("h4",{id:"returns-9"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L524"},"packages/core/src/http/HttpAgentImpl.ts:524")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"_setcookiesfromresponse"},"_","setCookiesFromResponse"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"_setCookiesFromResponse"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"agentResponse"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Sets all cookies from the ",(0,r.yg)("inlineCode",{parentName:"p"},"Set-Cookie")," response header to the\ncookie storage."),(0,r.yg)("h4",{id:"type-parameters-8"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B"))))),(0,r.yg)("h4",{id:"parameters-11"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"agentResponse")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"td"},"B"),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"The response of the server.")))),(0,r.yg)("h4",{id:"returns-10"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L501"},"packages/core/src/http/HttpAgentImpl.ts:501")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"cleardefaultheaders"},"clearDefaultHeaders"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"clearDefaultHeaders"),"(): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgentImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentImpl"))),(0,r.yg)("p",null,"Clears all configured default headers."),(0,r.yg)("h4",{id:"returns-11"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgentImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentImpl"))),(0,r.yg)("p",null,"This HTTP agent."),(0,r.yg)("h4",{id:"overrides-1"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#cleardefaultheaders"},"clearDefaultHeaders")),(0,r.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L207"},"packages/core/src/http/HttpAgentImpl.ts:207")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"delete"},"delete"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"delete"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP DELETE request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-9"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-12"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-12"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"overrides-2"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#delete"},"delete")),(0,r.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L164"},"packages/core/src/http/HttpAgentImpl.ts:164")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"get"},"get"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"get"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP GET request to the specified URL, sending the provided\ndata as query parameters."),(0,r.yg)("h4",{id:"type-parameters-10"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-13"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as query parameters.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-13"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"overrides-3"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#get"},"get")),(0,r.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L105"},"packages/core/src/http/HttpAgentImpl.ts:105")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"getcachekey"},"getCacheKey"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"getCacheKey"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"Generates a cache key to use for identifying a request to the specified\nURL using the specified HTTP method, submitting the provided data."),(0,r.yg)("h4",{id:"parameters-14"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The HTTP method used by the request.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request is sent.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data associated with the request. These can be either the query parameters or request body data.")))),(0,r.yg)("h4",{id:"returns-14"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"string")),(0,r.yg)("p",null,"The key to use for identifying such a request in the\ncache."),(0,r.yg)("h4",{id:"overrides-4"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#getcachekey"},"getCacheKey")),(0,r.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L180"},"packages/core/src/http/HttpAgentImpl.ts:180")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"invalidatecache"},"invalidateCache"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"invalidateCache"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"method"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("p",null,"Method invalidate cache for given params"),(0,r.yg)("h4",{id:"parameters-15"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"method")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters")))))),(0,r.yg)("h4",{id:"returns-15"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"void")),(0,r.yg)("h4",{id:"overrides-5"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#invalidatecache"},"invalidateCache")),(0,r.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L189"},"packages/core/src/http/HttpAgentImpl.ts:189")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"patch"},"patch"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"patch"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP PATCH request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-11"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-16"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-16"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"overrides-6"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#patch"},"patch")),(0,r.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L148"},"packages/core/src/http/HttpAgentImpl.ts:148")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"post"},"post"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"post"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP POST request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-12"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-17"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-17"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"overrides-7"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#post"},"post")),(0,r.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L116"},"packages/core/src/http/HttpAgentImpl.ts:116")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"put"},"put"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"put"),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">","(",(0,r.yg)("inlineCode",{parentName:"p"},"url"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"data?"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"Sends an HTTP PUT request to the specified URL, sending the provided\ndata as the request body. If an object is provided as the request data,\nthe data will be JSON-encoded. Sending other primitive non-string values\nas the request body is not supported."),(0,r.yg)("h4",{id:"type-parameters-13"},"Type parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"B")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"unknown"))))),(0,r.yg)("h4",{id:"parameters-18"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"url")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The URL to which the request should be made.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"data?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("a",{parentName:"td",href:"/api/modules/ima_core#unknownparameters"},(0,r.yg)("inlineCode",{parentName:"a"},"UnknownParameters"))),(0,r.yg)("td",{parentName:"tr",align:"left"},"The data to send to the server as the request body.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"options?")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,r.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.HttpAgentRequestOptions"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentRequestOptions")),">"),(0,r.yg)("td",{parentName:"tr",align:"left"},"Optional request options.")))),(0,r.yg)("h4",{id:"returns-18"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,r.yg)("a",{parentName:"p",href:"/api/modules/ima_core#httpagentresponse"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentResponse")),"\\<",(0,r.yg)("inlineCode",{parentName:"p"},"B"),">",">"),(0,r.yg)("p",null,"A promise that resolves to the\nresponse."),(0,r.yg)("h4",{id:"overrides-8"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#put"},"put")),(0,r.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L132"},"packages/core/src/http/HttpAgentImpl.ts:132")),(0,r.yg)("hr",null),(0,r.yg)("h3",{id:"setdefaultheader"},"setDefaultHeader"),(0,r.yg)("p",null,"\u25b8 ",(0,r.yg)("strong",{parentName:"p"},"setDefaultHeader"),"(",(0,r.yg)("inlineCode",{parentName:"p"},"header"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"value"),"): ",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgentImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentImpl"))),(0,r.yg)("p",null,"Sets the specified header to be sent with every subsequent HTTP request,\nunless explicitly overridden by request options."),(0,r.yg)("h4",{id:"parameters-19"},"Parameters"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,r.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"header")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The name of the header.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"value")),(0,r.yg)("td",{parentName:"tr",align:"left"},(0,r.yg)("inlineCode",{parentName:"td"},"string")),(0,r.yg)("td",{parentName:"tr",align:"left"},"The header value. To provide multiple values, separate them with commas (see ",(0,r.yg)("a",{parentName:"td",href:"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2"},"http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2"),").")))),(0,r.yg)("h4",{id:"returns-19"},"Returns"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgentImpl"},(0,r.yg)("inlineCode",{parentName:"a"},"HttpAgentImpl"))),(0,r.yg)("p",null,"This HTTP agent."),(0,r.yg)("h4",{id:"overrides-9"},"Overrides"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent"},"HttpAgent"),".",(0,r.yg)("a",{parentName:"p",href:"/api/classes/ima_core.HttpAgent#setdefaultheader"},"setDefaultHeader")),(0,r.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/http/HttpAgentImpl.ts#L198"},"packages/core/src/http/HttpAgentImpl.ts:198")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f42f2945.b8bc33ac.js b/assets/js/f42f2945.b8bc33ac.js deleted file mode 100644 index 06320e703..000000000 --- a/assets/js/f42f2945.b8bc33ac.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8955],{7429:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/devtools-options-hooks-2fdd2fd693c5d19a2fa51324203dfb48.png"},4881:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/devtools-options-presets-56585f5bb82b8f0ae6ae7a76eab8fc76.png"},9818:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/devtools-options-97fb2793e7e2266935451949a7cc0b28.png"},5680:(e,t,n)=>{n.d(t,{xA:()=>d,yg:()=>y});var o=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,o,a=function(e,t){if(null==e)return{};var n,o,a={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=o.createContext({}),p=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=p(e.components);return o.createElement(s.Provider,{value:t},e.children)},c="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),c=p(n),u=a,y=c["".concat(s,".").concat(u)]||c[u]||g[u]||r;return n?o.createElement(y,i(i({ref:t},d),{},{components:n})):o.createElement(y,i({ref:t},d))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,i=new Array(r);i[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:a,i[1]=l;for(var p=2;p<r;p++)i[p]=n[p];return o.createElement.apply(null,i)}return o.createElement.apply(null,n)}u.displayName="MDXCreateElement"},9665:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>g,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var o=n(8102),a=(n(6540),n(5680));const r={title:"Options",description:"Devtools > Available options and customization"},i=void 0,l={unversionedId:"devtools/devtools-options",id:"devtools/devtools-options",title:"Options",description:"Devtools > Available options and customization",source:"@site/../docs/devtools/devtools-options.md",sourceDirName:"devtools",slug:"/devtools/devtools-options",permalink:"/devtools/devtools-options",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/devtools/devtools-options.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Options",description:"Devtools > Available options and customization"},sidebar:"docs",previous:{title:"UI & Controls",permalink:"/devtools/devtools-ui"},next:{title:"Migration 0.14.0",permalink:"/migration/migration-0.14.0"}},s={},p=[{value:"Quick UI overview",id:"quick-ui-overview",level:2},{value:"Presets modal window",id:"presets-modal-window",level:3},{value:"Hooks",id:"hooks",level:2},{value:"Available API",id:"available-api",level:3},{value:"1. <code>aop(target, pattern)</code>",id:"1-aoptarget-pattern",level:4},{value:"2. <code>createHook(name, regular, callback)</code>",id:"2-createhookname-regular-callback",level:4},{value:"3. <code>emit(identifier, meta, options, overrides = {})</code>",id:"3-emitidentifier-meta-options-overrides--",level:4},{value:"4. <code>importIMAClass(path, module);</code>",id:"4-importimaclasspath-module",level:4},{value:"Message colors",id:"message-colors",level:3},{value:"Conclusion",id:"conclusion",level:2}],d={toc:p},c="wrapper";function g(e){let{components:t,...r}=e;return(0,a.yg)(c,(0,o.A)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,(0,a.yg)("img",{src:n(9818).A,width:"1017",height:"701"})),(0,a.yg)("p",null,"As we've already talked about in ",(0,a.yg)("a",{parentName:"p",href:"./devtools-introduction"},"the introduction section"),", the devtools\nuse special devtools script which defines which parts of IMA.js application should send messages about\ntheir activity to the IMA.js devtool panel. This code can be easily customized through the extension's options page."),(0,a.yg)("p",null,"You can get to this page either by clicking on ",(0,a.yg)("strong",{parentName:"p"},"Settings button")," in the devtool panel itself (",(0,a.yg)("em",{parentName:"p"},'hidden behind the\n"three dots" menu button'),') or by mouse-right clicking on the extension icon in chrome toolbar\nand choosing the "Options" button.'),(0,a.yg)("h2",{id:"quick-ui-overview"},"Quick UI overview"),(0,a.yg)("p",null,"Main concept of the options is that you can create multiple ",(0,a.yg)("strong",{parentName:"p"},"presets"),", where each preset contains a set of ",(0,a.yg)("strong",{parentName:"p"},"hooks")," -\nthese are snippets of JavaScript code, that define which parts of IMA.js app should be wrapped in previously mentioned\n",(0,a.yg)("a",{parentName:"p",href:"/devtools/devtools-introduction#devtools-script"},"proxies"),"."),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("strong",{parentName:"p"},"Note:")," Don't forget to always save your changes after doing any changes, otherwise the changes won't propagate.")),(0,a.yg)("h3",{id:"presets-modal-window"},"Presets modal window"),(0,a.yg)("p",null,"You can create multiple presets or edit existing ones by clicking on the ",(0,a.yg)("strong",{parentName:"p"},'"Load or Create Preset"')," button, where\nyou're presented with Presets modal window. Selected presets are ",(0,a.yg)("strong",{parentName:"p"},"marked bold"),"."),(0,a.yg)("p",null,(0,a.yg)("img",{src:n(4881).A,width:"801",height:"258"})),(0,a.yg)("p",null,"Notice that there's already a ",(0,a.yg)("strong",{parentName:"p"},"Default")," preset, which is not editable (but can be copied!). This preset\nis read-only and you can't edit it directly. This is so in the future we can safely update the default detection script\nwithout a need to worry about breaking your own code."),(0,a.yg)("p",null,"To create new preset or edit the default one, start by creating a blank preset by clicking on the ",(0,a.yg)("strong",{parentName:"p"},'"Create Preset"'),"\nbutton, or copy exiting one using the duplicate icon."),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("strong",{parentName:"p"},"Note:")," Changes to the presets are saved after closing the modal window.")),(0,a.yg)("h2",{id:"hooks"},"Hooks"),(0,a.yg)("p",null,(0,a.yg)("img",{src:n(7429).A,width:"917",height:"866"})),(0,a.yg)("p",null,"Each hook can be individually ",(0,a.yg)("strong",{parentName:"p"},"enabled/disabled")," and has it's own name, description and code. First three are pretty\nself explanatory so we'll talk mostly about the ",(0,a.yg)("strong",{parentName:"p"},"code")," and available API."),(0,a.yg)("p",null,"First thing you need to understand is, that all hooks that are enabled, in whole active preset are concatenated and\nbasically copy & pasted into the devtools code, so they're part of the devtools code itself. This means that if you\nhave any error in any hook, ",(0,a.yg)("strong",{parentName:"p"},"it can prevent the extension from working correctly"),". To minimize the size of the extension\nbundle and for the simplicity sake we don't include any syntax validation in the UI, so please keep mind on that."),(0,a.yg)("blockquote",null,(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("strong",{parentName:"p"},"Note:")," As this code is injected to every web page with IMA.js present, you can use chrome devtools and it's debugger\nto debug and fix any potential issues with your hook's code.")),(0,a.yg)("h3",{id:"available-api"},"Available API"),(0,a.yg)("p",null,"There are mainly ",(0,a.yg)("strong",{parentName:"p"},"three functions")," that you can (and probably will) use in your hooks:"),(0,a.yg)("h4",{id:"1-aoptarget-pattern"},"1. ",(0,a.yg)("inlineCode",{parentName:"h4"},"aop(target, pattern)")),(0,a.yg)("p",null,"This is the main hooks function, which defines which ",(0,a.yg)("inlineCode",{parentName:"p"},"target")," should be wrapped in what proxy, defined by ",(0,a.yg)("inlineCode",{parentName:"p"},"pattern"),"."),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"target")," ",(0,a.yg)("strong",{parentName:"li"},"{Class}")," - JavaScript class/object constructor that is wrapped in proxy."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"pattern")," ",(0,a.yg)("strong",{parentName:"li"},"{object}")," - result of ",(0,a.yg)("inlineCode",{parentName:"li"},"createHook")," function.")),(0,a.yg)("h4",{id:"2-createhookname-regular-callback"},"2. ",(0,a.yg)("inlineCode",{parentName:"h4"},"createHook(name, regular, callback)")),(0,a.yg)("p",null,"Helper function that defines proxies on methods that match ",(0,a.yg)("inlineCode",{parentName:"p"},"regular")," regular expression. It's essentially used\nin the ",(0,a.yg)("strong",{parentName:"p"},"second argument")," of ",(0,a.yg)("inlineCode",{parentName:"p"},"aop()")," function."),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"name")," ",(0,a.yg)("strong",{parentName:"li"},"{hookName}")," - defines when the proxy content should be executed (e.g. event message sent to devtools)."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"regular")," ",(0,a.yg)("strong",{parentName:"li"},"{(string","|","function","|","RegExp)}")," - string or regexp that defines method names which should be wrapped in\nproxy or a function that returns true for given metadata."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"callback")," ",(0,a.yg)("strong",{parentName:"li"},"{function}")," - callback that is executed, when proxy is called. Receives ",(0,a.yg)("inlineCode",{parentName:"li"},"meta")," object as an argument.")),(0,a.yg)("p",null,"Where ",(0,a.yg)("inlineCode",{parentName:"p"},"hookName")," is defined as:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"const hookName = Object.freeze({\n beforeMethod: 'beforeMethod',\n afterMethod: 'afterMethod',\n aroundMethod: 'aroundMethod',\n beforeGetter: 'beforeGetter',\n afterGetter: 'afterGetter',\n aroundGetter: 'aroundGetter',\n beforeSetter: 'beforeSetter',\n afterSetter: 'afterSetter',\n aroundSetter: 'aroundSetter'\n});\n")),(0,a.yg)("h4",{id:"3-emitidentifier-meta-options-overrides--"},"3. ",(0,a.yg)("inlineCode",{parentName:"h4"},"emit(identifier, meta, options, overrides = {})")),(0,a.yg)("p",null,"Helper function that sends passed in data to the devtools panel, while doing some pre-processing so the data\ncan be displayed properly. It is used ",(0,a.yg)("strong",{parentName:"p"},"at the end of ",(0,a.yg)("inlineCode",{parentName:"strong"},"createHook")," callback function"),"."),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"identifier")," ",(0,a.yg)("strong",{parentName:"li"},"{string}")," - name identifying sent message displayed in devtool panel.\nBy default it corresponds to the name of the wrapped class, but it can be overridden in the ",(0,a.yg)("inlineCode",{parentName:"li"},"options"),"."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"meta")," ",(0,a.yg)("strong",{parentName:"li"},"{object}")," - metadata describing received event. They're automatically created as a callback parameter\nin the ",(0,a.yg)("inlineCode",{parentName:"li"},"createHook")," function."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"options")," ",(0,a.yg)("strong",{parentName:"li"},"{object}")," - additional options passed into the event payload. Currently only ",(0,a.yg)("inlineCode",{parentName:"li"},"{ color: 'color' }")," is supported\n(for available colors, see below)."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"overrides")," ",(0,a.yg)("strong",{parentName:"li"},"{object}")," - optional object with overrides, that is merged with the ",(0,a.yg)("inlineCode",{parentName:"li"},"meta")," sent in second argument.")),(0,a.yg)("h4",{id:"4-importimaclasspath-module"},"4. ",(0,a.yg)("inlineCode",{parentName:"h4"},"importIMAClass(path, module);")),(0,a.yg)("p",null,"Utility function, used to import modules from ",(0,a.yg)("inlineCode",{parentName:"p"},"$IMA.Loader.modules"),", that can be used in creating your own\ncustom hooks."),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"path")," ",(0,a.yg)("strong",{parentName:"li"},"{string}")," - corresponds to absolute path to application's class from the ",(0,a.yg)("inlineCode",{parentName:"li"},"/app")," directory. Or a package name\nin case of npm package."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"module")," ",(0,a.yg)("strong",{parentName:"li"},"{?string}")," - used for named exports, can be left blank in case of default exports.")),(0,a.yg)("h3",{id:"message-colors"},"Message colors"),(0,a.yg)("p",null,"Currently there are 13 colors (we're using the ",(0,a.yg)("a",{parentName:"p",href:"https://yeun.github.io/open-color/"},"Open Color")," color scheme),\nthat you can use to differentiate each hook with:"),(0,a.yg)("table",{class:"table is-bordered"},(0,a.yg)("thead",null,(0,a.yg)("tr",null,(0,a.yg)("th",null,"Name"),(0,a.yg)("th",null,"Color"))),(0,a.yg)("tbody",null)),(0,a.yg)("h2",{id:"conclusion"},"Conclusion"),(0,a.yg)("p",null,"You should by ok with the ",(0,a.yg)("strong",{parentName:"p"},"default preset")," for most cases but in case you head into defining a custom one, here are\nsome notes on this matter."),(0,a.yg)("p",null,"Defining ",(0,a.yg)("strong",{parentName:"p"},"custom hooks")," requires some more knowledge into the devtools that you can get by studying the devtool script to see how things work. We suggest to start by customizing the default set, changing few rules or splitting\nexisting hooks into more smaller ones, before heading in and defining whole new preset."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f42f2945.d24af2e1.js b/assets/js/f42f2945.d24af2e1.js new file mode 100644 index 000000000..230223bf7 --- /dev/null +++ b/assets/js/f42f2945.d24af2e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8955],{4182:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"devtools/devtools-options","title":"Options","description":"Devtools > Available options and customization","source":"@site/../docs/devtools/devtools-options.md","sourceDirName":"devtools","slug":"/devtools/devtools-options","permalink":"/devtools/devtools-options","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/devtools/devtools-options.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Options","description":"Devtools > Available options and customization"},"sidebar":"docs","previous":{"title":"UI & Controls","permalink":"/devtools/devtools-ui"},"next":{"title":"Migration 0.14.0","permalink":"/migration/migration-0.14.0"}}');var s=n(2540),i=n(3023);const r={title:"Options",description:"Devtools > Available options and customization"},a=void 0,d={},l=[{value:"Quick UI overview",id:"quick-ui-overview",level:2},{value:"Presets modal window",id:"presets-modal-window",level:3},{value:"Hooks",id:"hooks",level:2},{value:"Available API",id:"available-api",level:3},{value:"1. <code>aop(target, pattern)</code>",id:"1-aoptarget-pattern",level:4},{value:"2. <code>createHook(name, regular, callback)</code>",id:"2-createhookname-regular-callback",level:4},{value:"3. <code>emit(identifier, meta, options, overrides = {})</code>",id:"3-emitidentifier-meta-options-overrides--",level:4},{value:"4. <code>importIMAClass(path, module);</code>",id:"4-importimaclasspath-module",level:4},{value:"Message colors",id:"message-colors",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const t={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(9818).A+"",width:"1017",height:"701"})}),"\n",(0,s.jsxs)(t.p,{children:["As we've already talked about in ",(0,s.jsx)(t.a,{href:"./devtools-introduction",children:"the introduction section"}),", the devtools\nuse special devtools script which defines which parts of IMA.js application should send messages about\ntheir activity to the IMA.js devtool panel. This code can be easily customized through the extension's options page."]}),"\n",(0,s.jsxs)(t.p,{children:["You can get to this page either by clicking on ",(0,s.jsx)(t.strong,{children:"Settings button"})," in the devtool panel itself (",(0,s.jsx)(t.em,{children:'hidden behind the\n"three dots" menu button'}),') or by mouse-right clicking on the extension icon in chrome toolbar\nand choosing the "Options" button.']}),"\n",(0,s.jsx)(t.h2,{id:"quick-ui-overview",children:"Quick UI overview"}),"\n",(0,s.jsxs)(t.p,{children:["Main concept of the options is that you can create multiple ",(0,s.jsx)(t.strong,{children:"presets"}),", where each preset contains a set of ",(0,s.jsx)(t.strong,{children:"hooks"})," -\nthese are snippets of JavaScript code, that define which parts of IMA.js app should be wrapped in previously mentioned\n",(0,s.jsx)(t.a,{href:"/devtools/devtools-introduction#devtools-script",children:"proxies"}),"."]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Note:"})," Don't forget to always save your changes after doing any changes, otherwise the changes won't propagate."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"presets-modal-window",children:"Presets modal window"}),"\n",(0,s.jsxs)(t.p,{children:["You can create multiple presets or edit existing ones by clicking on the ",(0,s.jsx)(t.strong,{children:'"Load or Create Preset"'})," button, where\nyou're presented with Presets modal window. Selected presets are ",(0,s.jsx)(t.strong,{children:"marked bold"}),"."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(4881).A+"",width:"801",height:"258"})}),"\n",(0,s.jsxs)(t.p,{children:["Notice that there's already a ",(0,s.jsx)(t.strong,{children:"Default"})," preset, which is not editable (but can be copied!). This preset\nis read-only and you can't edit it directly. This is so in the future we can safely update the default detection script\nwithout a need to worry about breaking your own code."]}),"\n",(0,s.jsxs)(t.p,{children:["To create new preset or edit the default one, start by creating a blank preset by clicking on the ",(0,s.jsx)(t.strong,{children:'"Create Preset"'}),"\nbutton, or copy exiting one using the duplicate icon."]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Note:"})," Changes to the presets are saved after closing the modal window."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"hooks",children:"Hooks"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(7429).A+"",width:"917",height:"866"})}),"\n",(0,s.jsxs)(t.p,{children:["Each hook can be individually ",(0,s.jsx)(t.strong,{children:"enabled/disabled"})," and has it's own name, description and code. First three are pretty\nself explanatory so we'll talk mostly about the ",(0,s.jsx)(t.strong,{children:"code"})," and available API."]}),"\n",(0,s.jsxs)(t.p,{children:["First thing you need to understand is, that all hooks that are enabled, in whole active preset are concatenated and\nbasically copy & pasted into the devtools code, so they're part of the devtools code itself. This means that if you\nhave any error in any hook, ",(0,s.jsx)(t.strong,{children:"it can prevent the extension from working correctly"}),". To minimize the size of the extension\nbundle and for the simplicity sake we don't include any syntax validation in the UI, so please keep mind on that."]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Note:"})," As this code is injected to every web page with IMA.js present, you can use chrome devtools and it's debugger\nto debug and fix any potential issues with your hook's code."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"available-api",children:"Available API"}),"\n",(0,s.jsxs)(t.p,{children:["There are mainly ",(0,s.jsx)(t.strong,{children:"three functions"})," that you can (and probably will) use in your hooks:"]}),"\n",(0,s.jsxs)(t.h4,{id:"1-aoptarget-pattern",children:["1. ",(0,s.jsx)(t.code,{children:"aop(target, pattern)"})]}),"\n",(0,s.jsxs)(t.p,{children:["This is the main hooks function, which defines which ",(0,s.jsx)(t.code,{children:"target"})," should be wrapped in what proxy, defined by ",(0,s.jsx)(t.code,{children:"pattern"}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"target"})," ",(0,s.jsx)(t.strong,{children:"{Class}"})," - JavaScript @/object constructor that is wrapped in proxy."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"pattern"})," ",(0,s.jsx)(t.strong,{children:"{object}"})," - result of ",(0,s.jsx)(t.code,{children:"createHook"})," function."]}),"\n"]}),"\n",(0,s.jsxs)(t.h4,{id:"2-createhookname-regular-callback",children:["2. ",(0,s.jsx)(t.code,{children:"createHook(name, regular, callback)"})]}),"\n",(0,s.jsxs)(t.p,{children:["Helper function that defines proxies on methods that match ",(0,s.jsx)(t.code,{children:"regular"})," regular expression. It's essentially used\nin the ",(0,s.jsx)(t.strong,{children:"second argument"})," of ",(0,s.jsx)(t.code,{children:"aop()"})," function."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"name"})," ",(0,s.jsx)(t.strong,{children:"{hookName}"})," - defines when the proxy content should be executed (e.g. event message sent to devtools)."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"regular"})," ",(0,s.jsx)(t.strong,{children:"{(string|function|RegExp)}"})," - string or regexp that defines method names which should be wrapped in\nproxy or a function that returns true for given metadata."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"callback"})," ",(0,s.jsx)(t.strong,{children:"{function}"})," - callback that is executed, when proxy is called. Receives ",(0,s.jsx)(t.code,{children:"meta"})," object as an argument."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Where ",(0,s.jsx)(t.code,{children:"hookName"})," is defined as:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-javascript",children:"const hookName = Object.freeze({\n beforeMethod: 'beforeMethod',\n afterMethod: 'afterMethod',\n aroundMethod: 'aroundMethod',\n beforeGetter: 'beforeGetter',\n afterGetter: 'afterGetter',\n aroundGetter: 'aroundGetter',\n beforeSetter: 'beforeSetter',\n afterSetter: 'afterSetter',\n aroundSetter: 'aroundSetter'\n});\n"})}),"\n",(0,s.jsxs)(t.h4,{id:"3-emitidentifier-meta-options-overrides--",children:["3. ",(0,s.jsx)(t.code,{children:"emit(identifier, meta, options, overrides = {})"})]}),"\n",(0,s.jsxs)(t.p,{children:["Helper function that sends passed in data to the devtools panel, while doing some pre-processing so the data\ncan be displayed properly. It is used ",(0,s.jsxs)(t.strong,{children:["at the end of ",(0,s.jsx)(t.code,{children:"createHook"})," callback function"]}),"."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"identifier"})," ",(0,s.jsx)(t.strong,{children:"{string}"})," - name identifying sent message displayed in devtool panel.\nBy default it corresponds to the name of the wrapped class, but it can be overridden in the ",(0,s.jsx)(t.code,{children:"options"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"meta"})," ",(0,s.jsx)(t.strong,{children:"{object}"})," - metadata describing received event. They're automatically created as a callback parameter\nin the ",(0,s.jsx)(t.code,{children:"createHook"})," function."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"options"})," ",(0,s.jsx)(t.strong,{children:"{object}"})," - additional options passed into the event payload. Currently only ",(0,s.jsx)(t.code,{children:"{ color: 'color' }"})," is supported\n(for available colors, see below)."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"overrides"})," ",(0,s.jsx)(t.strong,{children:"{object}"})," - optional object with overrides, that is merged with the ",(0,s.jsx)(t.code,{children:"meta"})," sent in second argument."]}),"\n"]}),"\n",(0,s.jsxs)(t.h4,{id:"4-importimaclasspath-module",children:["4. ",(0,s.jsx)(t.code,{children:"importIMAClass(path, module);"})]}),"\n",(0,s.jsxs)(t.p,{children:["Utility function, used to import modules from ",(0,s.jsx)(t.code,{children:"$IMA.Loader.modules"}),", that can be used in creating your own\ncustom hooks."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"path"})," ",(0,s.jsx)(t.strong,{children:"{string}"})," - corresponds to absolute path to application's class from the ",(0,s.jsx)(t.code,{children:"/app"})," directory. Or a package name\nin case of npm package."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"module"})," ",(0,s.jsx)(t.strong,{children:"{?string}"})," - used for named exports, can be left blank in case of default exports."]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"message-colors",children:"Message colors"}),"\n",(0,s.jsxs)(t.p,{children:["Currently there are 13 colors (we're using the ",(0,s.jsx)(t.a,{href:"https://yeun.github.io/open-color/",children:"Open Color"})," color scheme),\nthat you can use to differentiate each hook with:"]}),"\n",(0,s.jsxs)("table",{class:"table is-bordered",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Name"}),(0,s.jsx)("th",{children:"Color"})]})}),(0,s.jsx)("tbody",{})]}),"\n",(0,s.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsxs)(t.p,{children:["You should by ok with the ",(0,s.jsx)(t.strong,{children:"default preset"})," for most cases but in case you head into defining a custom one, here are\nsome notes on this matter."]}),"\n",(0,s.jsxs)(t.p,{children:["Defining ",(0,s.jsx)(t.strong,{children:"custom hooks"})," requires some more knowledge into the devtools that you can get by studying the devtool script to see how things work. We suggest to start by customizing the default set, changing few rules or splitting\nexisting hooks into more smaller ones, before heading in and defining whole new preset."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},7429:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/devtools-options-hooks-2fdd2fd693c5d19a2fa51324203dfb48.png"},4881:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/devtools-options-presets-56585f5bb82b8f0ae6ae7a76eab8fc76.png"},9818:(e,t,n)=>{n.d(t,{A:()=>o});const o=n.p+"assets/images/devtools-options-97fb2793e7e2266935451949a7cc0b28.png"},3023:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var o=n(3696);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f462a191.09e56eb4.js b/assets/js/f462a191.09e56eb4.js new file mode 100644 index 000000000..e7131c00c --- /dev/null +++ b/assets/js/f462a191.09e56eb4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6493],{3080:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>l});const c=JSON.parse('{"id":"api/@ima/core/type-aliases/OCInjectable","title":"Type Alias: OCInjectable\\\\<T\\\\>","description":"OCInjectable\\\\: Constructor\\\\ & WithDependencies \\\\| AbstractConstructor\\\\ & Partial\\\\ \\\\| Function & object & Partial\\\\","source":"@site/../docs/api/@ima/core/type-aliases/OCInjectable.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/OCInjectable","permalink":"/api/@ima/core/type-aliases/OCInjectable","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/OCInjectable.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: NativeListener()","permalink":"/api/@ima/core/type-aliases/NativeListener"},"next":{"title":"Type Alias: OCInstance\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/OCInstance"}}');var s=n(2540),a=n(3023);const i={},r="Type Alias: OCInjectable<T>",o={},l=[{value:"Type Parameters",id:"type-parameters",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"type-alias-ocinjectablet",children:"Type Alias: OCInjectable<T>"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"OCInjectable"}),"<",(0,s.jsx)(t.code,{children:"T"}),">: ",(0,s.jsx)(t.code,{children:"Constructor"}),"<",(0,s.jsx)(t.code,{children:"T"}),"> & ",(0,s.jsx)(t.code,{children:"WithDependencies"})," | ",(0,s.jsx)(t.code,{children:"AbstractConstructor"}),"<",(0,s.jsx)(t.code,{children:"T"}),"> & ",(0,s.jsx)(t.code,{children:"Partial"}),"<",(0,s.jsx)(t.code,{children:"WithDependencies"}),"> | ",(0,s.jsx)(t.code,{children:"Function"})," & ",(0,s.jsx)(t.code,{children:"object"})," & ",(0,s.jsx)(t.code,{children:"Partial"}),"<",(0,s.jsx)(t.code,{children:"WithDependencies"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Defined in: ",(0,s.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/oc/ObjectContainer.ts#L18",children:"packages/core/src/oc/ObjectContainer.ts:18"})]}),"\n",(0,s.jsx)(t.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,s.jsxs)(t.p,{children:["\u2022 ",(0,s.jsx)(t.strong,{children:"T"})]})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var c=n(3696);const s={},a=c.createContext(s);function i(e){const t=c.useContext(a);return c.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),c.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f4795e20.14189363.js b/assets/js/f4795e20.14189363.js deleted file mode 100644 index 20a47f258..000000000 --- a/assets/js/f4795e20.14189363.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9157],{5680:(e,t,a)=>{a.d(t,{xA:()=>s,yg:()=>y});var r=a(6540);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),d=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),g=d(a),u=n,y=g["".concat(p,".").concat(u)]||g[u]||m[u]||i;return a?r.createElement(y,l(l({ref:t},s),{},{components:a})):r.createElement(y,l({ref:t},s))}));function y(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=u;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[g]="string"==typeof e?e:n,l[1]=o;for(var d=2;d<i;d++)l[d]=a[d];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},8599:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=a(8102),n=(a(6540),a(5680));const i={id:"ima_core.ServerRouter",title:"Class: ServerRouter",sidebar_label:"@ima/core.ServerRouter",custom_edit_url:null},l=void 0,o={unversionedId:"api/classes/ima_core.ServerRouter",id:"api/classes/ima_core.ServerRouter",title:"Class: ServerRouter",description:"@ima/core.ServerRouter",source:"@site/../docs/api/classes/ima_core.ServerRouter.md",sourceDirName:"api/classes",slug:"/api/classes/ima_core.ServerRouter",permalink:"/api/classes/ima_core.ServerRouter",draft:!1,editUrl:null,tags:[],version:"current",frontMatter:{id:"ima_core.ServerRouter",title:"Class: ServerRouter",sidebar_label:"@ima/core.ServerRouter",custom_edit_url:null},sidebar:"api",previous:{title:"@ima/core.ServerPageManager",permalink:"/api/classes/ima_core.ServerPageManager"},next:{title:"@ima/core.ServerWindow",permalink:"/api/classes/ima_core.ServerWindow"}},p={},d=[{value:"Hierarchy",id:"hierarchy",level:2},{value:"Constructors",id:"constructors",level:2},{value:"constructor",id:"constructor",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Defined in",id:"defined-in",level:4},{value:"Properties",id:"properties",level:2},{value:"#request",id:"request",level:3},{value:"Defined in",id:"defined-in-1",level:4},{value:"#response",id:"response",level:3},{value:"Defined in",id:"defined-in-2",level:4},{value:"_currentMiddlewareId",id:"_currentmiddlewareid",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"Defined in",id:"defined-in-3",level:4},{value:"_currentlyRoutedPath",id:"_currentlyroutedpath",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"Defined in",id:"defined-in-4",level:4},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"Defined in",id:"defined-in-5",level:4},{value:"_factory",id:"_factory",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"Defined in",id:"defined-in-6",level:4},{value:"_host",id:"_host",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"Defined in",id:"defined-in-7",level:4},{value:"_isSPARouted",id:"_issparouted",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Defined in",id:"defined-in-8",level:4},{value:"_languagePartPath",id:"_languagepartpath",level:3},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"Defined in",id:"defined-in-9",level:4},{value:"_middlewareTimeout",id:"_middlewaretimeout",level:3},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"Defined in",id:"defined-in-10",level:4},{value:"_pageManager",id:"_pagemanager",level:3},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"Defined in",id:"defined-in-11",level:4},{value:"_protocol",id:"_protocol",level:3},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"Defined in",id:"defined-in-12",level:4},{value:"_root",id:"_root",level:3},{value:"Inherited from",id:"inherited-from-10",level:4},{value:"Defined in",id:"defined-in-13",level:4},{value:"_routeHandlers",id:"_routehandlers",level:3},{value:"Inherited from",id:"inherited-from-11",level:4},{value:"Defined in",id:"defined-in-14",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Returns",id:"returns",level:4},{value:"Defined in",id:"defined-in-15",level:4},{value:"Methods",id:"methods",level:2},{value:"#addParamsFromOriginalRoute",id:"addparamsfromoriginalroute",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-12",level:4},{value:"Defined in",id:"defined-in-16",level:4},{value:"_extractRoutePath",id:"_extractroutepath",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-13",level:4},{value:"Defined in",id:"defined-in-17",level:4},{value:"_getCurrentlyRoutedPath",id:"_getcurrentlyroutedpath",level:3},{value:"Returns",id:"returns-3",level:4},{value:"Inherited from",id:"inherited-from-14",level:4},{value:"Defined in",id:"defined-in-18",level:4},{value:"_getMiddlewaresForRoute",id:"_getmiddlewaresforroute",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-15",level:4},{value:"Defined in",id:"defined-in-19",level:4},{value:"_handle",id:"_handle",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-5",level:4},{value:"Inherited from",id:"inherited-from-16",level:4},{value:"Defined in",id:"defined-in-20",level:4},{value:"_runMiddlewares",id:"_runmiddlewares",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-6",level:4},{value:"Inherited from",id:"inherited-from-17",level:4},{value:"Defined in",id:"defined-in-21",level:4},{value:"add",id:"add",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-7",level:4},{value:"Inherited from",id:"inherited-from-18",level:4},{value:"Defined in",id:"defined-in-22",level:4},{value:"getBaseUrl",id:"getbaseurl",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherited from",id:"inherited-from-19",level:4},{value:"Defined in",id:"defined-in-23",level:4},{value:"getCurrentRouteInfo",id:"getcurrentrouteinfo",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Inherited from",id:"inherited-from-20",level:4},{value:"Defined in",id:"defined-in-24",level:4},{value:"getDomain",id:"getdomain",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Inherited from",id:"inherited-from-21",level:4},{value:"Defined in",id:"defined-in-25",level:4},{value:"getHost",id:"gethost",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Inherited from",id:"inherited-from-22",level:4},{value:"Defined in",id:"defined-in-26",level:4},{value:"getPath",id:"getpath",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"Defined in",id:"defined-in-27",level:4},{value:"getProtocol",id:"getprotocol",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Inherited from",id:"inherited-from-23",level:4},{value:"Defined in",id:"defined-in-28",level:4},{value:"getRouteHandler",id:"getroutehandler",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Inherited from",id:"inherited-from-24",level:4},{value:"Defined in",id:"defined-in-29",level:4},{value:"getRouteHandlers",id:"getroutehandlers",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Inherited from",id:"inherited-from-25",level:4},{value:"Defined in",id:"defined-in-30",level:4},{value:"getRouteHandlersByPath",id:"getroutehandlersbypath",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-16",level:4},{value:"Inherited from",id:"inherited-from-26",level:4},{value:"Defined in",id:"defined-in-31",level:4},{value:"getUrl",id:"geturl",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Inherited from",id:"inherited-from-27",level:4},{value:"Defined in",id:"defined-in-32",level:4},{value:"handleError",id:"handleerror",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-18",level:4},{value:"Inherited from",id:"inherited-from-28",level:4},{value:"Defined in",id:"defined-in-33",level:4},{value:"handleNotFound",id:"handlenotfound",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-19",level:4},{value:"Inherited from",id:"inherited-from-29",level:4},{value:"Defined in",id:"defined-in-34",level:4},{value:"init",id:"init",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-20",level:4},{value:"Inherited from",id:"inherited-from-30",level:4},{value:"Defined in",id:"defined-in-35",level:4},{value:"isClientError",id:"isclienterror",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-21",level:4},{value:"Inherited from",id:"inherited-from-31",level:4},{value:"Defined in",id:"defined-in-36",level:4},{value:"isRedirection",id:"isredirection",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-22",level:4},{value:"Inherited from",id:"inherited-from-32",level:4},{value:"Defined in",id:"defined-in-37",level:4},{value:"link",id:"link",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-23",level:4},{value:"Inherited from",id:"inherited-from-33",level:4},{value:"Defined in",id:"defined-in-38",level:4},{value:"listen",id:"listen",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"Defined in",id:"defined-in-39",level:4},{value:"redirect",id:"redirect",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"Defined in",id:"defined-in-40",level:4},{value:"remove",id:"remove",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-26",level:4},{value:"Inherited from",id:"inherited-from-34",level:4},{value:"Defined in",id:"defined-in-41",level:4},{value:"route",id:"route",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-27",level:4},{value:"Inherited from",id:"inherited-from-35",level:4},{value:"Defined in",id:"defined-in-42",level:4},{value:"unlisten",id:"unlisten",level:3},{value:"Returns",id:"returns-28",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"Defined in",id:"defined-in-43",level:4},{value:"use",id:"use",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-29",level:4},{value:"Inherited from",id:"inherited-from-36",level:4},{value:"Defined in",id:"defined-in-44",level:4}],s={toc:d},g="wrapper";function m(e){let{components:t,...a}=e;return(0,n.yg)(g,(0,r.A)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core"},"@ima/core"),".ServerRouter"),(0,n.yg)("p",null,"The server-side implementation of the ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Router"},"Router")," interface."),(0,n.yg)("h2",{id:"hierarchy"},"Hierarchy"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRouter"))),(0,n.yg)("p",{parentName:"li"},"\u21b3 ",(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"ServerRouter"))))),(0,n.yg)("h2",{id:"constructors"},"Constructors"),(0,n.yg)("h3",{id:"constructor"},"constructor"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("strong",{parentName:"p"},"new ServerRouter"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"pageManager"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"factory"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"dispatcher"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"request"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"response"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"settings"),")"),(0,n.yg)("p",null,"Initializes the router."),(0,n.yg)("h4",{id:"parameters"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pageManager")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.PageManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current page manager.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"factory")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.RouteFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The router factory used to create routes.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"dispatcher")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Dispatcher fires events to app.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"request")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Request"},(0,n.yg)("inlineCode",{parentName:"a"},"Request"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current HTTP request.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"response")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Response"},(0,n.yg)("inlineCode",{parentName:"a"},"Response"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The current HTTP response.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"settings")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," ","|"," ","{"," ",(0,n.yg)("inlineCode",{parentName:"td"},"isSPARouted?"),": (",(0,n.yg)("inlineCode",{parentName:"td"},"url"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"td"},"action?"),": ",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,n.yg)("inlineCode",{parentName:"td"},"boolean")," ; ",(0,n.yg)("inlineCode",{parentName:"td"},"middlewareTimeout?"),": ",(0,n.yg)("inlineCode",{parentName:"td"},"number")," }"),(0,n.yg)("td",{parentName:"tr",align:"left"},"$Router settings.")))),(0,n.yg)("h4",{id:"overrides"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#constructor"},"constructor")),(0,n.yg)("h4",{id:"defined-in"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L42"},"packages/core/src/router/ServerRouter.ts:42")),(0,n.yg)("h2",{id:"properties"},"Properties"),(0,n.yg)("h3",{id:"request"},"#request"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#request"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Request"},(0,n.yg)("inlineCode",{parentName:"a"},"Request"))),(0,n.yg)("h4",{id:"defined-in-1"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L18"},"packages/core/src/router/ServerRouter.ts:18")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"response"},"#response"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#response"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Response"},(0,n.yg)("inlineCode",{parentName:"a"},"Response"))),(0,n.yg)("h4",{id:"defined-in-2"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L19"},"packages/core/src/router/ServerRouter.ts:19")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_currentmiddlewareid"},"_","currentMiddlewareId"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","currentMiddlewareId"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"0")),(0,n.yg)("p",null,"Middleware ID counter which is used to auto-generate unique middleware\nnames when adding them to routeHandlers map."),(0,n.yg)("h4",{id:"inherited-from"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_currentmiddlewareid"},"_currentMiddlewareId")),(0,n.yg)("h4",{id:"defined-in-3"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L92"},"packages/core/src/router/AbstractRouter.ts:92")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_currentlyroutedpath"},"_","currentlyRoutedPath"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","currentlyRoutedPath"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("h4",{id:"inherited-from-1"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_currentlyroutedpath"},"_currentlyRoutedPath")),(0,n.yg)("h4",{id:"defined-in-4"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L93"},"packages/core/src/router/AbstractRouter.ts:93")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_dispatcher"},"_","dispatcher"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","dispatcher"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.Dispatcher"},(0,n.yg)("inlineCode",{parentName:"a"},"Dispatcher"))),(0,n.yg)("p",null,"Dispatcher fires events to app."),(0,n.yg)("h4",{id:"inherited-from-2"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_dispatcher"},"_dispatcher")),(0,n.yg)("h4",{id:"defined-in-5"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L62"},"packages/core/src/router/AbstractRouter.ts:62")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_factory"},"_","factory"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","factory"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.RouteFactory"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteFactory"))),(0,n.yg)("p",null,"Factory for routes."),(0,n.yg)("h4",{id:"inherited-from-3"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_factory"},"_factory")),(0,n.yg)("h4",{id:"defined-in-6"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L58"},"packages/core/src/router/AbstractRouter.ts:58")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_host"},"_","host"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","host"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The application's host."),(0,n.yg)("h4",{id:"inherited-from-4"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_host"},"_host")),(0,n.yg)("h4",{id:"defined-in-7"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L71"},"packages/core/src/router/AbstractRouter.ts:71")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_issparouted"},"_","isSPARouted"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","isSPARouted"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," (",(0,n.yg)("inlineCode",{parentName:"p"},"url"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction")),") => ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("h4",{id:"inherited-from-5"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_issparouted"},"_isSPARouted")),(0,n.yg)("h4",{id:"defined-in-8"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L95"},"packages/core/src/router/AbstractRouter.ts:95")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_languagepartpath"},"_","languagePartPath"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","languagePartPath"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The URL path fragment used as a suffix to the ",(0,n.yg)("inlineCode",{parentName:"p"},"_root")," field\nthat specifies the current language."),(0,n.yg)("h4",{id:"inherited-from-6"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_languagepartpath"},"_languagePartPath")),(0,n.yg)("h4",{id:"defined-in-9"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L80"},"packages/core/src/router/AbstractRouter.ts:80")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_middlewaretimeout"},"_","middlewareTimeout"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","middlewareTimeout"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"number")),(0,n.yg)("h4",{id:"inherited-from-7"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_middlewaretimeout"},"_middlewareTimeout")),(0,n.yg)("h4",{id:"defined-in-10"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L94"},"packages/core/src/router/AbstractRouter.ts:94")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_pagemanager"},"_","pageManager"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","pageManager"),": ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.PageManager"},(0,n.yg)("inlineCode",{parentName:"a"},"PageManager"))),(0,n.yg)("p",null,"The page manager handling UI rendering, and transitions between\npages if at the client side."),(0,n.yg)("h4",{id:"inherited-from-8"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_pagemanager"},"_pageManager")),(0,n.yg)("h4",{id:"defined-in-11"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L54"},"packages/core/src/router/AbstractRouter.ts:54")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_protocol"},"_","protocol"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","protocol"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The current protocol used to access the application, terminated by a\ncolon (for example ",(0,n.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,n.yg)("h4",{id:"inherited-from-9"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_protocol"},"_protocol")),(0,n.yg)("h4",{id:"defined-in-12"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L67"},"packages/core/src/router/AbstractRouter.ts:67")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_root"},"_","root"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","root"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"string")," = ",(0,n.yg)("inlineCode",{parentName:"p"},"''")),(0,n.yg)("p",null,"The URL path pointing to the application's root."),(0,n.yg)("h4",{id:"inherited-from-10"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_root"},"_root")),(0,n.yg)("h4",{id:"defined-in-13"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L75"},"packages/core/src/router/AbstractRouter.ts:75")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_routehandlers"},"_","routeHandlers"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_","routeHandlers"),": ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("p",null,"Storage of all known routes and middlewares. The key are their names."),(0,n.yg)("h4",{id:"inherited-from-11"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_routehandlers"},"_routeHandlers")),(0,n.yg)("h4",{id:"defined-in-14"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L84"},"packages/core/src/router/AbstractRouter.ts:84")),(0,n.yg)("h2",{id:"accessors"},"Accessors"),(0,n.yg)("h3",{id:"dependencies"},"$dependencies"),(0,n.yg)("p",null,"\u2022 ",(0,n.yg)("inlineCode",{parentName:"p"},"Static")," ",(0,n.yg)("inlineCode",{parentName:"p"},"get")," ",(0,n.yg)("strong",{parentName:"p"},"$dependencies"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"returns"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#dependencies"},(0,n.yg)("inlineCode",{parentName:"a"},"Dependencies"))),(0,n.yg)("h4",{id:"defined-in-15"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L21"},"packages/core/src/router/ServerRouter.ts:21")),(0,n.yg)("h2",{id:"methods"},"Methods"),(0,n.yg)("h3",{id:"addparamsfromoriginalroute"},"#addParamsFromOriginalRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Private")," ",(0,n.yg)("strong",{parentName:"p"},"#addParamsFromOriginalRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Obtains original route that was handled before not-found / error route\nand assigns its params to current params"),(0,n.yg)("h4",{id:"parameters-1"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Route params for not-found or error page")))),(0,n.yg)("h4",{id:"returns-1"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Provided params merged with params\nfrom original route"),(0,n.yg)("h4",{id:"inherited-from-12"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter##addparamsfromoriginalroute"},"#addParamsFromOriginalRoute")),(0,n.yg)("h4",{id:"defined-in-16"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L733"},"packages/core/src/router/AbstractRouter.ts:733")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_extractroutepath"},"_","extractRoutePath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("inlineCode",{parentName:"p"},"Protected")," ",(0,n.yg)("strong",{parentName:"p"},"_extractRoutePath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Strips the URL path part that points to the application's root (base\nURL) from the provided path."),(0,n.yg)("h4",{id:"parameters-2"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Relative or absolute URL path.")))),(0,n.yg)("h4",{id:"returns-2"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"URL path relative to the application's base URL."),(0,n.yg)("h4",{id:"inherited-from-13"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_extractroutepath"},"_extractRoutePath")),(0,n.yg)("h4",{id:"defined-in-17"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L526"},"packages/core/src/router/AbstractRouter.ts:526")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getcurrentlyroutedpath"},"_","getCurrentlyRoutedPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getCurrentlyRoutedPath"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns path that is stored in private property when a ",(0,n.yg)("inlineCode",{parentName:"p"},"route"),"\nmethod is called."),(0,n.yg)("h4",{id:"returns-3"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("h4",{id:"inherited-from-14"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_getcurrentlyroutedpath"},"_getCurrentlyRoutedPath")),(0,n.yg)("h4",{id:"defined-in-18"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L664"},"packages/core/src/router/AbstractRouter.ts:664")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_getmiddlewaresforroute"},"_","getMiddlewaresForRoute"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_getMiddlewaresForRoute"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeName"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("p",null,"Returns middlewares preceding given route name."),(0,n.yg)("h4",{id:"parameters-3"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))))),(0,n.yg)("h4",{id:"returns-4"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("h4",{id:"inherited-from-15"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_getmiddlewaresforroute"},"_getMiddlewaresForRoute")),(0,n.yg)("h4",{id:"defined-in-19"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L642"},"packages/core/src/router/AbstractRouter.ts:642")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_handle"},"_","handle"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_handle"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"route"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"Handles the provided route and parameters by initializing the route's\ncontroller and rendering its state via the route's view."),(0,n.yg)("p",null,"The result is then sent to the client if used at the server side, or\ndisplayed if used as the client side."),(0,n.yg)("h4",{id:"parameters-4"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route that should have its associated controller rendered via the associated view.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")))),(0,n.yg)("h4",{id:"returns-5"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise that resolves when the\npage is rendered and the result is sent to the client, or\ndisplayed if used at the client side."),(0,n.yg)("h4",{id:"inherited-from-16"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_handle"},"_handle")),(0,n.yg)("h4",{id:"defined-in-20"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L549"},"packages/core/src/router/AbstractRouter.ts:549")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"_runmiddlewares"},"_","runMiddlewares"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"_runMiddlewares"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"middlewares"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("p",null,"Runs provided middlewares in sequence."),(0,n.yg)("h4",{id:"parameters-5"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middlewares")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Array of middlewares.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Router params that can be mutated by middlewares.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-6"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void"),">"),(0,n.yg)("h4",{id:"inherited-from-17"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#_runmiddlewares"},"_runMiddlewares")),(0,n.yg)("h4",{id:"defined-in-21"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L677"},"packages/core/src/router/AbstractRouter.ts:677")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"add"},"add"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"add"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"pathExpression"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"controller"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"view"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"Adds a new route to router."),(0,n.yg)("h4",{id:"parameters-6"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of this route, identifying it among the rest of the routes in the application.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"pathExpression")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"A path expression specifying the URL path part matching this route (must not contain a query string), optionally containing named parameter placeholders specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":parameterName"),". The name of the parameter is terminated by a forward slash (",(0,n.yg)("inlineCode",{parentName:"td"},"/"),") or the end of the path expression string. The path expression may also contain optional parameters, which are specified as ",(0,n.yg)("inlineCode",{parentName:"td"},":?parameterName"),". It is recommended to specify the optional parameters at the end of the path expression.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"controller")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncroutecontroller"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteController"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name of Object Container alias identifying the controller associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"view")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#asyncrouteview"},(0,n.yg)("inlineCode",{parentName:"a"},"AsyncRouteView"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The full name or Object Container alias identifying the view class associated with this route.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"Additional route options, specified how the navigation to the route will be handled. The ",(0,n.yg)("inlineCode",{parentName:"td"},"onlyUpdate")," can be either a flag signalling whether the current controller and view instances should be kept if they match the ones used by the previous route; or a callback function that will receive the previous controller and view identifiers used in the previously matching route, and returns a ",(0,n.yg)("inlineCode",{parentName:"td"},"boolean")," representing the value of the flag. This flag is disabled by default. The ",(0,n.yg)("inlineCode",{parentName:"td"},"autoScroll")," flag signals whether the page should be scrolled to the top when the navigation takes place. This flag is enabled by default.")))),(0,n.yg)("h4",{id:"returns-7"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a route with the same name already exists."),(0,n.yg)("h4",{id:"inherited-from-18"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#add"},"add")),(0,n.yg)("h4",{id:"defined-in-22"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L167"},"packages/core/src/router/AbstractRouter.ts:167")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getbaseurl"},"getBaseUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getBaseUrl"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the application's absolute base URL, pointing to the public root\nof the application."),(0,n.yg)("h4",{id:"returns-8"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The application's base URL."),(0,n.yg)("h4",{id:"inherited-from-19"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getbaseurl"},"getBaseUrl")),(0,n.yg)("h4",{id:"defined-in-23"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L243"},"packages/core/src/router/AbstractRouter.ts:243")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getcurrentrouteinfo"},"getCurrentRouteInfo"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getCurrentRouteInfo"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the information about the currently active route."),(0,n.yg)("h4",{id:"returns-9"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams")),"\\<{}",">")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string"))),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a route is not define for current path."),(0,n.yg)("h4",{id:"inherited-from-20"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getcurrentrouteinfo"},"getCurrentRouteInfo")),(0,n.yg)("h4",{id:"defined-in-24"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L271"},"packages/core/src/router/AbstractRouter.ts:271")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getdomain"},"getDomain"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getDomain"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the application's domain in the following form\n",(0,n.yg)("inlineCode",{parentName:"p"},"${protocol}//${host}"),"."),(0,n.yg)("h4",{id:"returns-10"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application's domain."),(0,n.yg)("h4",{id:"inherited-from-21"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getdomain"},"getDomain")),(0,n.yg)("h4",{id:"defined-in-25"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L250"},"packages/core/src/router/AbstractRouter.ts:250")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"gethost"},"getHost"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getHost"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns application's host (domain and, if necessary, the port number)."),(0,n.yg)("h4",{id:"returns-11"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application's host."),(0,n.yg)("h4",{id:"inherited-from-22"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#gethost"},"getHost")),(0,n.yg)("h4",{id:"defined-in-26"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L257"},"packages/core/src/router/AbstractRouter.ts:257")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getpath"},"getPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getPath"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current path part of the current URL, including the query\nstring (if any)."),(0,n.yg)("h4",{id:"returns-12"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The path and query parts of the current URL."),(0,n.yg)("h4",{id:"overrides-1"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getpath"},"getPath")),(0,n.yg)("h4",{id:"defined-in-27"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L59"},"packages/core/src/router/ServerRouter.ts:59")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getprotocol"},"getProtocol"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getProtocol"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current protocol used to access the application, terminated\nby a colon (for example ",(0,n.yg)("inlineCode",{parentName:"p"},"https:"),")."),(0,n.yg)("h4",{id:"returns-13"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current application protocol used to access the\napplication."),(0,n.yg)("h4",{id:"inherited-from-23"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getprotocol"},"getProtocol")),(0,n.yg)("h4",{id:"defined-in-28"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L264"},"packages/core/src/router/AbstractRouter.ts:264")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandler"},"getRouteHandler"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandler"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("p",null,"Returns specified handler from registered route handlers."),(0,n.yg)("h4",{id:"parameters-7"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route's unique name.")))),(0,n.yg)("h4",{id:"returns-14"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"undefined")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("p",null,"Route with given name or undefined."),(0,n.yg)("h4",{id:"inherited-from-24"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getroutehandler"},"getRouteHandler")),(0,n.yg)("h4",{id:"defined-in-29"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L220"},"packages/core/src/router/AbstractRouter.ts:220")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandlers"},"getRouteHandlers"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandlers"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("h4",{id:"returns-15"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Map"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string"),", ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">"," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),">"),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Inherit Doc"))),(0,n.yg)("h4",{id:"inherited-from-25"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getroutehandlers"},"getRouteHandlers")),(0,n.yg)("h4",{id:"defined-in-30"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L297"},"packages/core/src/router/AbstractRouter.ts:297")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"getroutehandlersbypath"},"getRouteHandlersByPath"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getRouteHandlersByPath"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"Returns the route matching the provided URL path part (the path may\ncontain a query) and all middlewares preceding this route definition."),(0,n.yg)("h4",{id:"parameters-8"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path.")))),(0,n.yg)("h4",{id:"returns-16"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Object")),(0,n.yg)("p",null,"The route\nmatching the path and middlewares preceding it or ",(0,n.yg)("inlineCode",{parentName:"p"},"{}"),"\n(empty object) if no such route exists."),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middlewares")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware")),"[]")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"route?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.AbstractRoute"},(0,n.yg)("inlineCode",{parentName:"a"},"AbstractRoute")),"\\<",(0,n.yg)("inlineCode",{parentName:"td"},"string")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routepathexpression"},(0,n.yg)("inlineCode",{parentName:"a"},"RoutePathExpression")),">")))),(0,n.yg)("h4",{id:"inherited-from-26"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#getroutehandlersbypath"},"getRouteHandlersByPath")),(0,n.yg)("h4",{id:"defined-in-31"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L615"},"packages/core/src/router/AbstractRouter.ts:615")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"geturl"},"getUrl"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"getUrl"),"(): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Returns the current absolute URL (including protocol, host, query, etc)."),(0,n.yg)("h4",{id:"returns-17"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"The current absolute URL."),(0,n.yg)("h4",{id:"inherited-from-27"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#geturl"},"getUrl")),(0,n.yg)("h4",{id:"defined-in-32"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L236"},"packages/core/src/router/AbstractRouter.ts:236")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handleerror"},"handleError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"handleError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,'Handles an internal server error by responding with the appropriate\n"internal server error" error page.'),(0,n.yg)("h4",{id:"parameters-9"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-18"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved when the error\nhas been handled and the response has been sent to the client,\nor displayed if used at the client side."),(0,n.yg)("h4",{id:"inherited-from-28"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#handleerror"},"handleError")),(0,n.yg)("h4",{id:"defined-in-33"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L402"},"packages/core/src/router/AbstractRouter.ts:402")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"handlenotfound"},"handleNotFound"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"handleNotFound"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"params"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,'Handles a "not found" error by responding with the appropriate "not\nfound" error page.'),(0,n.yg)("h4",{id:"parameters-10"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameters extracted from the current URL path and query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-19"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,n.yg)("h4",{id:"inherited-from-29"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#handlenotfound"},"handleNotFound")),(0,n.yg)("h4",{id:"defined-in-34"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L454"},"packages/core/src/router/AbstractRouter.ts:454")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"init"},"init"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"init"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"config"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Initializes the router with the provided configuration."),(0,n.yg)("h4",{id:"parameters-11"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Object")),(0,n.yg)("td",{parentName:"tr",align:"left"},"Router configuration. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Protocol")," field must be the current protocol used to access the application, terminated by a colon (for example ",(0,n.yg)("inlineCode",{parentName:"td"},"https:"),"). The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Root")," field must specify the URL path pointing to the application's root. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$LanguagePartPath")," field must be the URL path fragment used as a suffix to the ",(0,n.yg)("inlineCode",{parentName:"td"},"$Root")," field that specifies the current language. The ",(0,n.yg)("inlineCode",{parentName:"td"},"$Host")," field must be the application's domain (and the port number if other than the default is used) in the following form: ",(0,n.yg)("inlineCode",{parentName:"td"},"${protocol}//${host}"),".")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Host")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$LanguagePartPath?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Protocol?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"config.$Root?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"-")))),(0,n.yg)("h4",{id:"returns-20"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"inherited-from-30"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#init"},"init")),(0,n.yg)("h4",{id:"defined-in-35"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L151"},"packages/core/src/router/AbstractRouter.ts:151")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isclienterror"},"isClientError"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isClientError"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, if possible, whether the specified error was caused by the\nclient's action (for example wrong URL or request encoding) or by a\nfailure at the server side."),(0,n.yg)("h4",{id:"parameters-12"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"reason")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,n.yg)("h4",{id:"returns-21"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nclient."),(0,n.yg)("h4",{id:"inherited-from-31"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#isclienterror"},"isClientError")),(0,n.yg)("h4",{id:"defined-in-36"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L507"},"packages/core/src/router/AbstractRouter.ts:507")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"isredirection"},"isRedirection"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"isRedirection"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"reason"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,"Tests, if possible, whether the specified error lead to redirection."),(0,n.yg)("h4",{id:"parameters-13"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"reason")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Error")," ","|"," ",(0,n.yg)("a",{parentName:"td",href:"/api/classes/ima_core.Error"},(0,n.yg)("inlineCode",{parentName:"a"},"Error"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The encountered error.")))),(0,n.yg)("h4",{id:"returns-22"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"boolean")),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"true")," if the error was caused the action of the\nredirection."),(0,n.yg)("h4",{id:"inherited-from-32"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#isredirection"},"isRedirection")),(0,n.yg)("h4",{id:"defined-in-37"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L514"},"packages/core/src/router/AbstractRouter.ts:514")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"link"},"link"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"link"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"routeName"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"params"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"Generates an absolute URL (including protocol, domain, etc) for the\nspecified route by substituting the route's parameter placeholders with\nthe provided parameter values."),(0,n.yg)("h4",{id:"parameters-14"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"routeName")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The unique name of the route, identifying the route to use.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"params")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routeparams"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteParams"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Parameter values for the route's parameter placeholders. Extraneous parameters will be added as URL query.")))),(0,n.yg)("h4",{id:"returns-23"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"string")),(0,n.yg)("p",null,"An absolute URL for the specified route and parameters."),(0,n.yg)("h4",{id:"inherited-from-33"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#link"},"link")),(0,n.yg)("h4",{id:"defined-in-38"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L338"},"packages/core/src/router/AbstractRouter.ts:338")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"listen"},"listen"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"listen"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,'Registers event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,n.yg)("p",null,"The router will start processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,n.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,n.yg)("p",null,"The effects of this method can be reverted with ",(0,n.yg)("inlineCode",{parentName:"p"},"unlisten"),". This\nmethod has no effect at the server side."),(0,n.yg)("h4",{id:"returns-24"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-2"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#listen"},"listen")),(0,n.yg)("h4",{id:"defined-in-39"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L66"},"packages/core/src/router/ServerRouter.ts:66")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"redirect"},"redirect"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"redirect"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"url?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("p",null,"Redirects the client to the specified location."),(0,n.yg)("p",null,"At the server side the method results in responding to the client with a\nredirect HTTP status code and the ",(0,n.yg)("inlineCode",{parentName:"p"},"Location")," header."),(0,n.yg)("p",null,"At the client side the method updates the current URL by manipulating\nthe browser history (if the target URL is at the same domain and\nprotocol as the current one) or performs a hard redirect (if the target\nURL points to a different protocol or domain)."),(0,n.yg)("p",null,"The method will result in the router handling the new URL and routing\nthe client to the related page if the URL is set at the client side and\npoints to the same domain and protocol."),(0,n.yg)("h4",{id:"parameters-15"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Default value"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"url")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"'/'")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL to which the client should be redirected.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"undefined")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")))),(0,n.yg)("h4",{id:"returns-25"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"void")),(0,n.yg)("h4",{id:"overrides-3"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#redirect"},"redirect")),(0,n.yg)("h4",{id:"defined-in-40"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L80"},"packages/core/src/router/ServerRouter.ts:80")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"remove"},"remove"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"remove"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"name"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"Removes the specified route from the router's known routes."),(0,n.yg)("h4",{id:"parameters-16"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"name")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The route's unique name, identifying the route to remove.")))),(0,n.yg)("h4",{id:"returns-26"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"inherited-from-34"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#remove"},"remove")),(0,n.yg)("h4",{id:"defined-in-41"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L211"},"packages/core/src/router/AbstractRouter.ts:211")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"route"},"route"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"route"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"path"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"options?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"action?"),", ",(0,n.yg)("inlineCode",{parentName:"p"},"locals?"),"): ",(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"Routes the application to the route matching the providing path, renders\nthe route page and sends the result to the client."),(0,n.yg)("h4",{id:"parameters-17"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"path")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"string")),(0,n.yg)("td",{parentName:"tr",align:"left"},"The URL path part received from the client, with optional query.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"options?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"Partial"),"\\<",(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteOptions"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteOptions")),">"),(0,n.yg)("td",{parentName:"tr",align:"left"},"The options overrides route options defined in the ",(0,n.yg)("inlineCode",{parentName:"td"},"routes.js")," configuration file.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"action?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteAction"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteAction"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"An action object describing what triggered this routing.")),(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"locals?")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/interfaces/ima_core.RouteLocals"},(0,n.yg)("inlineCode",{parentName:"a"},"RouteLocals"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"The locals param is used to pass local data between middlewares.")))),(0,n.yg)("h4",{id:"returns-27"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("inlineCode",{parentName:"p"},"Promise"),"\\<",(0,n.yg)("inlineCode",{parentName:"p"},"void")," ","|"," ",(0,n.yg)("a",{parentName:"p",href:"/api/modules/ima_core#unknownparameters"},(0,n.yg)("inlineCode",{parentName:"a"},"UnknownParameters")),">"),(0,n.yg)("p",null,"A promise resolved\nwhen the error has been handled and the response has been sent\nto the client, or displayed if used at the client side."),(0,n.yg)("h4",{id:"inherited-from-35"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#route"},"route")),(0,n.yg)("h4",{id:"defined-in-42"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L363"},"packages/core/src/router/AbstractRouter.ts:363")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"unlisten"},"unlisten"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"unlisten"),"(): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,'Unregisters event listeners at the client side window object allowing the\nrouter to capture user\'s history (history pop state - going "back") and\npage (clicking links) navigation.'),(0,n.yg)("p",null,"The router will stop processing the navigation internally, handling the\nuser's navigation to display the page related to the URL resulting from\nthe user's action."),(0,n.yg)("p",null,"Note that the router will not prevent forms from being submitted to the\nserver."),(0,n.yg)("p",null,"The effects of this method can be reverted with ",(0,n.yg)("inlineCode",{parentName:"p"},"unlisten"),". This method has no effect\nat the server side."),(0,n.yg)("h4",{id:"returns-28"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("h4",{id:"overrides-4"},"Overrides"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#unlisten"},"unlisten")),(0,n.yg)("h4",{id:"defined-in-43"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/ServerRouter.ts#L73"},"packages/core/src/router/ServerRouter.ts:73")),(0,n.yg)("hr",null),(0,n.yg)("h3",{id:"use"},"use"),(0,n.yg)("p",null,"\u25b8 ",(0,n.yg)("strong",{parentName:"p"},"use"),"(",(0,n.yg)("inlineCode",{parentName:"p"},"middleware"),"): ",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"Adds a new middleware to router."),(0,n.yg)("h4",{id:"parameters-18"},"Parameters"),(0,n.yg)("table",null,(0,n.yg)("thead",{parentName:"table"},(0,n.yg)("tr",{parentName:"thead"},(0,n.yg)("th",{parentName:"tr",align:"left"},"Name"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Type"),(0,n.yg)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.yg)("tbody",{parentName:"table"},(0,n.yg)("tr",{parentName:"tbody"},(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("inlineCode",{parentName:"td"},"middleware")),(0,n.yg)("td",{parentName:"tr",align:"left"},(0,n.yg)("a",{parentName:"td",href:"/api/modules/ima_core#routermiddleware"},(0,n.yg)("inlineCode",{parentName:"a"},"RouterMiddleware"))),(0,n.yg)("td",{parentName:"tr",align:"left"},"Middleware function accepting routeParams as a first argument, which can be mutated and ",(0,n.yg)("inlineCode",{parentName:"td"},"locals")," object as second argument. This can be used to pass data between middlewares.")))),(0,n.yg)("h4",{id:"returns-29"},"Returns"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.ServerRouter"},(0,n.yg)("inlineCode",{parentName:"a"},"ServerRouter"))),(0,n.yg)("p",null,"This router."),(0,n.yg)("p",null,(0,n.yg)("strong",{parentName:"p"},(0,n.yg)("inlineCode",{parentName:"strong"},"Throws"))),(0,n.yg)("p",null,"Thrown if a middleware with the same name already exists."),(0,n.yg)("h4",{id:"inherited-from-36"},"Inherited from"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter"},"AbstractRouter"),".",(0,n.yg)("a",{parentName:"p",href:"/api/classes/ima_core.AbstractRouter#use"},"use")),(0,n.yg)("h4",{id:"defined-in-44"},"Defined in"),(0,n.yg)("p",null,(0,n.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/86f3672/packages/core/src/router/AbstractRouter.ts#L199"},"packages/core/src/router/AbstractRouter.ts:199")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f4d80e61.7a720b83.js b/assets/js/f4d80e61.7a720b83.js new file mode 100644 index 000000000..fdaf4a267 --- /dev/null +++ b/assets/js/f4d80e61.7a720b83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6207],{9689:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/classes/Extension","title":"Class: abstract Extension\\\\<S, R, SS\\\\>","description":"Defined in21","source":"@site/../docs/api/@ima/core/classes/Extension.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/Extension","permalink":"/api/@ima/core/classes/Extension","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/Extension.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Execution","permalink":"/api/@ima/core/classes/Execution"},"next":{"title":"Class: GenericError\\\\<T\\\\>","permalink":"/api/@ima/core/classes/GenericError"}}');var i=s(2540),r=s(3023);const a={},c="Class: abstract Extension<S, R, SS>",d={},l=[{value:"Extended by",id:"extended-by",level:2},{value:"Type Parameters",id:"type-parameters",level:2},{value:"Indexable",id:"indexable",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new Extension()",id:"new-extension",level:3},{value:"Returns",id:"returns",level:4},{value:"Properties",id:"properties",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"$name?",id:"name",level:3},{value:"Methods",id:"methods",level:2},{value:"activate()",id:"activate",level:3},{value:"Returns",id:"returns-1",level:4},{value:"beginStateTransaction()",id:"beginstatetransaction",level:3},{value:"Returns",id:"returns-2",level:4},{value:"cancelStateTransaction()",id:"cancelstatetransaction",level:3},{value:"Returns",id:"returns-3",level:4},{value:"clearPartialState()",id:"clearpartialstate",level:3},{value:"Returns",id:"returns-4",level:4},{value:"commitStateTransaction()",id:"commitstatetransaction",level:3},{value:"Returns",id:"returns-5",level:4},{value:"deactivate()",id:"deactivate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"destroy()",id:"destroy",level:3},{value:"Returns",id:"returns-7",level:4},{value:"getAllowedStateKeys()",id:"getallowedstatekeys",level:3},{value:"Returns",id:"returns-8",level:4},{value:"getPartialState()",id:"getpartialstate",level:3},{value:"Returns",id:"returns-9",level:4},{value:"getRouteParams()",id:"getrouteparams",level:3},{value:"Returns",id:"returns-10",level:4},{value:"getState()",id:"getstate",level:3},{value:"Returns",id:"returns-11",level:4},{value:"init()",id:"init",level:3},{value:"Returns",id:"returns-12",level:4},{value:"load()",id:"load",level:3},{value:"Returns",id:"returns-13",level:4},{value:"setPageStateManager()",id:"setpagestatemanager",level:3},{value:"Parameters",id:"parameters",level:4},{value:"pageStateManager?",id:"pagestatemanager",level:5},{value:"Returns",id:"returns-14",level:4},{value:"setPartialState()",id:"setpartialstate",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"partialStatePatch",id:"partialstatepatch",level:5},{value:"Returns",id:"returns-15",level:4},{value:"setRouteParams()",id:"setrouteparams",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"params",id:"params",level:5},{value:"Returns",id:"returns-16",level:4},{value:"setState()",id:"setstate",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-3",level:4},{value:"statePatch",id:"statepatch",level:5},{value:"Returns",id:"returns-17",level:4},{value:"switchToPartialState()",id:"switchtopartialstate",level:3},{value:"Returns",id:"returns-18",level:4},{value:"switchToStateManager()",id:"switchtostatemanager",level:3},{value:"Returns",id:"returns-19",level:4},{value:"update()",id:"update",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"prevParams",id:"prevparams",level:5},{value:"Returns",id:"returns-20",level:4}];function o(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsxs)(n.h1,{id:"class-abstract-extensions-r-ss",children:["Class: ",(0,i.jsx)(n.code,{children:"abstract"})," Extension<S, R, SS>"]})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L21",children:"packages/core/src/extension/Extension.ts:21"})]}),"\n",(0,i.jsx)(n.p,{children:"Extensions provide means of extending the page controllers with additional\nmanaged state and logic."}),"\n",(0,i.jsxs)(n.p,{children:["An extension has access to the current route parameters, specify the\nresources to load when the page is loading or being updated, may intercept\nevent bus events and modify the state of the page just like an ordinary\ncontroller, except that the modifications are restricted to the state fields\nwhich the extension explicitly specifies using its\n",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#getallowedstatekeys",children:"Extension#getAllowedStateKeys"})," method."]}),"\n",(0,i.jsx)(n.p,{children:"All extensions to be used on a page must be added to the current controller\nbefore the controller is initialized. After that, the extensions will go\nthrough the same lifecycle as the controller."}),"\n",(0,i.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/AbstractExtension",children:(0,i.jsx)(n.code,{children:"AbstractExtension"})})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"S"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/PageState",children:(0,i.jsx)(n.code,{children:"PageState"})})," = {}"]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"R"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/RouteParams",children:(0,i.jsx)(n.code,{children:"RouteParams"})})," = {}"]}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"SS"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"S"})," = ",(0,i.jsx)(n.code,{children:"S"})]}),"\n",(0,i.jsx)(n.h2,{id:"indexable",children:"Indexable"}),"\n",(0,i.jsxs)(n.p,{children:["[",(0,i.jsx)(n.code,{children:"key"}),": ",(0,i.jsx)(n.code,{children:"string"})," | ",(0,i.jsx)(n.code,{children:"number"})," | ",(0,i.jsx)(n.code,{children:"symbol"}),"]: ",(0,i.jsx)(n.code,{children:"any"})]}),"\n",(0,i.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(n.h3,{id:"new-extension",children:"new Extension()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"new Extension"}),"<",(0,i.jsx)(n.code,{children:"S"}),", ",(0,i.jsx)(n.code,{children:"R"}),", ",(0,i.jsx)(n.code,{children:"SS"}),">(): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension",children:(0,i.jsx)(n.code,{children:"Extension"})}),"<",(0,i.jsx)(n.code,{children:"R"}),", ",(0,i.jsx)(n.code,{children:"SS"}),">"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension",children:(0,i.jsx)(n.code,{children:"Extension"})}),"<",(0,i.jsx)(n.code,{children:"R"}),", ",(0,i.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,i.jsx)(n.h2,{id:"properties",children:"Properties"}),"\n",(0,i.jsx)(n.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"static"})," ",(0,i.jsx)(n.strong,{children:"$dependencies"}),": ",(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/Dependencies",children:(0,i.jsx)(n.code,{children:"Dependencies"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L27",children:"packages/core/src/extension/Extension.ts:27"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"name",children:"$name?"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"static"})," ",(0,i.jsx)(n.code,{children:"optional"})," ",(0,i.jsx)(n.strong,{children:"$name"}),": ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L26",children:"packages/core/src/extension/Extension.ts:26"})]}),"\n",(0,i.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(n.h3,{id:"activate",children:"activate()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"activate"}),"(): ",(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L66",children:"packages/core/src/extension/Extension.ts:66"})]}),"\n",(0,i.jsxs)(n.p,{children:["Callback for activating the extension in the UI. This is the last\nmethod invoked during controller (and extensions) initialization, called\nafter all the promises returned from the ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#load",children:"Extension#load"})," method have\nbeen resolved and the controller has configured the meta manager."]}),"\n",(0,i.jsx)(n.p,{children:"The extension may register any React and DOM event listeners in this\nmethod. The extension may start receiving event bus event after this\nmethod completes."}),"\n",(0,i.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"beginstatetransaction",children:"beginStateTransaction()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"beginStateTransaction"}),"(): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L173",children:"packages/core/src/extension/Extension.ts:173"})]}),"\n",(0,i.jsxs)(n.p,{children:["Starts queueing state patches off the controller state. While the transaction\nis active every ",(0,i.jsx)(n.code,{children:"setState"})," call has no effect on the current state."]}),"\n",(0,i.jsxs)(n.p,{children:["Note that call to ",(0,i.jsx)(n.code,{children:"getState"})," after the transaction has begun will\nreturn state as it was before the transaction."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"cancelstatetransaction",children:"cancelStateTransaction()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"cancelStateTransaction"}),"(): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L188",children:"packages/core/src/extension/Extension.ts:188"})]}),"\n",(0,i.jsx)(n.p,{children:"Cancels ongoing state transaction. Uncommitted state changes are lost."}),"\n",(0,i.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"clearpartialstate",children:"clearPartialState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"clearPartialState"}),"(): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L215",children:"packages/core/src/extension/Extension.ts:215"})]}),"\n",(0,i.jsx)(n.p,{children:"Clears the current partial state of the extension and sets it value to empty object."}),"\n",(0,i.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"commitstatetransaction",children:"commitStateTransaction()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"commitStateTransaction"}),"(): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L181",children:"packages/core/src/extension/Extension.ts:181"})]}),"\n",(0,i.jsxs)(n.p,{children:["Applies queued state patches to the controller state. All patches are squashed\nand applied with one ",(0,i.jsx)(n.code,{children:"setState"})," call."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"deactivate",children:"deactivate()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"deactivate"}),"(): ",(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L81",children:"packages/core/src/extension/Extension.ts:81"})]}),"\n",(0,i.jsx)(n.p,{children:"Callback for deactivating the extension in the UI. This is the first\nmethod invoked during extension deinitialization. This usually happens\nwhen the user navigates to a different URL."}),"\n",(0,i.jsxs)(n.p,{children:["This method is the lifecycle counterpart of the ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#activate",children:"Extension#activate"}),"\nmethod."]}),"\n",(0,i.jsxs)(n.p,{children:["The extension should deregister listeners registered and release all\nresources obtained in the ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#activate",children:"Extension#activate"})," method."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"destroy",children:"destroy()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"destroy"}),"(): ",(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L52",children:"packages/core/src/extension/Extension.ts:52"})]}),"\n",(0,i.jsx)(n.p,{children:"Finalization callback, called when the controller is being discarded by\nthe application. This usually happens when the user navigates to a\ndifferent URL."}),"\n",(0,i.jsxs)(n.p,{children:["This method is the lifecycle counterpart of the ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"}),"\nmethod."]}),"\n",(0,i.jsxs)(n.p,{children:["The extension should release all resources obtained in the\n",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"})," method. The extension must release any resources\nthat might not be released automatically when the extensions's instance\nis destroyed by the garbage collector."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getallowedstatekeys",children:"getAllowedStateKeys()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getAllowedStateKeys"}),"(): keyof ",(0,i.jsx)(n.code,{children:"S"}),"[]"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L269",children:"packages/core/src/extension/Extension.ts:269"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the names of the state fields that may be manipulated by this\nextension. Manipulations of other fields of the state will be ignored."}),"\n",(0,i.jsx)(n.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:["keyof ",(0,i.jsx)(n.code,{children:"S"}),"[]"]}),"\n",(0,i.jsx)(n.p,{children:"The names of the state fields that may be manipulated\nby this extension."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getpartialstate",children:"getPartialState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getPartialState"}),"(): ",(0,i.jsx)(n.code,{children:"Partial"}),"<",(0,i.jsx)(n.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L208",children:"packages/core/src/extension/Extension.ts:208"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the current partial state of the extension."}),"\n",(0,i.jsx)(n.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Partial"}),"<",(0,i.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"The current partial state of the extension."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getrouteparams",children:"getRouteParams()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getRouteParams"}),"(): ",(0,i.jsx)(n.code,{children:"R"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L258",children:"packages/core/src/extension/Extension.ts:258"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the current route parameters."}),"\n",(0,i.jsx)(n.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"R"})}),"\n",(0,i.jsx)(n.p,{children:"The current route parameters."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"getstate",children:"getState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"getState"}),"(): ",(0,i.jsx)(n.code,{children:"SS"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L162",children:"packages/core/src/extension/Extension.ts:162"})]}),"\n",(0,i.jsx)(n.p,{children:"Returns the current state of the controller using this extension."}),"\n",(0,i.jsx)(n.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"SS"})}),"\n",(0,i.jsx)(n.p,{children:"The current state of the controller."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"init",children:"init()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"init"}),"(): ",(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L35",children:"packages/core/src/extension/Extension.ts:35"})]}),"\n",(0,i.jsx)(n.p,{children:"Callback for initializing the controller extension after the route\nparameters have been set on this extension."}),"\n",(0,i.jsx)(n.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"void"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"void"}),">"]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"load",children:"load()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"load"}),"(): ",(0,i.jsx)(n.code,{children:"S"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L110",children:"packages/core/src/extension/Extension.ts:110"})]}),"\n",(0,i.jsxs)(n.p,{children:["Callback the extension uses to request the resources it needs to render\nits related parts of the view. This method is invoked after the\n",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"})," method."]}),"\n",(0,i.jsx)(n.p,{children:"The extension should request all resources it needs in this method, and\nrepresent each resource request as a promise that will resolve once the\nresource is ready for use (these can be data fetched over HTTP(S),\ndatabase connections, etc)."}),"\n",(0,i.jsx)(n.p,{children:"The method must return a plain flat object. The field names of the\nobject identify the resources being fetched and prepared, each value\nmust be either the resource (e.g. view configuration or a value\nretrieved synchronously) or a Promise that will resolve to the resource."}),"\n",(0,i.jsx)(n.p,{children:"The IMA will use the object to set the state of the controller."}),"\n",(0,i.jsx)(n.p,{children:"Any returned promise that gets rejected will redirect the application to\nthe error page. The error page that will be used depends on the status\ncode of the error."}),"\n",(0,i.jsx)(n.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"S"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"setpagestatemanager",children:"setPageStateManager()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"setPageStateManager"}),"(",(0,i.jsx)(n.code,{children:"pageStateManager"}),"?): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L225",children:"packages/core/src/extension/Extension.ts:225"})]}),"\n",(0,i.jsx)(n.p,{children:"Sets the state manager used to manage the controller's state.."}),"\n",(0,i.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"pagestatemanager",children:"pageStateManager?"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/PageStateManager",children:(0,i.jsx)(n.code,{children:"PageStateManager"})}),"<",(0,i.jsx)(n.code,{children:"SS"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"The current state manager to\nuse."}),"\n",(0,i.jsx)(n.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"setpartialstate",children:"setPartialState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"setPartialState"}),"(",(0,i.jsx)(n.code,{children:"partialStatePatch"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L199",children:"packages/core/src/extension/Extension.ts:199"})]}),"\n",(0,i.jsx)(n.p,{children:"Patches the partial state of the extension. The extension is able\nduring its load and update phase receive state from active controller\nusing this extension and from previously loaded/updated extensions."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"partialstatepatch",children:"partialStatePatch"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"S"})}),"\n",(0,i.jsx)(n.p,{children:"Patch of the controller's state to apply."}),"\n",(0,i.jsx)(n.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"setrouteparams",children:"setRouteParams()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"setRouteParams"}),"(",(0,i.jsx)(n.code,{children:"params"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L249",children:"packages/core/src/extension/Extension.ts:249"})]}),"\n",(0,i.jsxs)(n.p,{children:["Sets the current route parameters. This method is invoked before the\n",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"})," method."]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"params",children:"params"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"R"})}),"\n",(0,i.jsx)(n.p,{children:"The current route parameters."}),"\n",(0,i.jsx)(n.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"setstate",children:"setState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"setState"}),"<",(0,i.jsx)(n.code,{children:"K"}),">(",(0,i.jsx)(n.code,{children:"statePatch"}),"): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L153",children:"packages/core/src/extension/Extension.ts:153"})]}),"\n",(0,i.jsx)(n.p,{children:"Patches the state of the controller using this extension by using the\nprovided object by copying the provided patch object fields to the\ncontroller's state object."}),"\n",(0,i.jsx)(n.p,{children:"Note that the state is not patched recursively but by replacing the\nvalues of the top-level fields of the state object."}),"\n",(0,i.jsxs)(n.p,{children:["Note that the extension may modify only the fields of the state that it\nhas specified by its ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#getallowedstatekeys",children:"Extension#getAllowedStateKeys"})," method."]}),"\n",(0,i.jsx)(n.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,i.jsxs)(n.p,{children:["\u2022 ",(0,i.jsx)(n.strong,{children:"K"})," ",(0,i.jsx)(n.em,{children:"extends"})," ",(0,i.jsx)(n.code,{children:"string"})," | ",(0,i.jsx)(n.code,{children:"number"})," | ",(0,i.jsx)(n.code,{children:"symbol"})]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"statepatch",children:"statePatch"}),"\n",(0,i.jsx)(n.p,{children:"Patch of the controller's state to apply."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"null"})," | ",(0,i.jsx)(n.code,{children:"S"})," | ",(0,i.jsx)(n.code,{children:"Pick"}),"<",(0,i.jsx)(n.code,{children:"S"}),", ",(0,i.jsx)(n.code,{children:"K"}),">"]}),"\n",(0,i.jsx)(n.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"switchtopartialstate",children:"switchToPartialState()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"switchToPartialState"}),"(): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L239",children:"packages/core/src/extension/Extension.ts:239"})]}),"\n",(0,i.jsx)(n.p,{children:"Disables using PageStateManager for getting state."}),"\n",(0,i.jsx)(n.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"switchtostatemanager",children:"switchToStateManager()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"switchToStateManager"}),"(): ",(0,i.jsx)(n.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L232",children:"packages/core/src/extension/Extension.ts:232"})]}),"\n",(0,i.jsx)(n.p,{children:"Enables using PageStateManager for getting state."}),"\n",(0,i.jsx)(n.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"void"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"update",children:"update()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"update"}),"(",(0,i.jsx)(n.code,{children:"prevParams"}),"): ",(0,i.jsx)(n.code,{children:"S"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"S"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/extension/Extension.ts#L136",children:"packages/core/src/extension/Extension.ts:136"})]}),"\n",(0,i.jsxs)(n.p,{children:["Callback for updating the extension after a route update. This method\nis invoked if the current route has the ",(0,i.jsx)(n.code,{children:"onlyUpdate"})," flag set to ",(0,i.jsx)(n.code,{children:"true"})," and\nthe current controller and view match those used by the previously active\nroute, or, the ",(0,i.jsx)(n.code,{children:"onlyUpdate"})," option of the current route is a callback and\nreturned ",(0,i.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["The method must return an object with the same semantics as the result\nof the ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#load",children:"Extension#load"})," method. The controller's state will then be\npatched by the returned object."]}),"\n",(0,i.jsxs)(n.p,{children:["The other extension lifecycle callbacks (",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#init",children:"Extension#init"}),",\n",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#load",children:"Extension#load"}),", ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#activate",children:"Extension#activate"}),",\n",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/Extension#deactivate",children:"Extension#deactivate"}),", Extension#deinit) are not call in\ncase this method is used."]}),"\n",(0,i.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"prevparams",children:"prevParams"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"R"})," = ",(0,i.jsx)(n.code,{children:"..."})]}),"\n",(0,i.jsx)(n.p,{children:"Previous route\nparameters."}),"\n",(0,i.jsx)(n.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"S"})," | ",(0,i.jsx)(n.code,{children:"Promise"}),"<",(0,i.jsx)(n.code,{children:"S"}),">"]}),"\n",(0,i.jsx)(n.p,{children:"A map object of promises resolved when all resources the controller\nrequires are ready. The resolved values will be pushed to the\ncontroller's state."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>c});var t=s(3696);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f4da79e9.206e8e2c.js b/assets/js/f4da79e9.206e8e2c.js new file mode 100644 index 000000000..f771d1f42 --- /dev/null +++ b/assets/js/f4da79e9.206e8e2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1090],{4855:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>o,frontMatter:()=>l,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"api/@ima/core/classes/EventBusImpl","title":"Class: EventBusImpl","description":"Defined in27","source":"@site/../docs/api/@ima/core/classes/EventBusImpl.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/EventBusImpl","permalink":"/api/@ima/core/classes/EventBusImpl","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/EventBusImpl.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract EventBus","permalink":"/api/@ima/core/classes/EventBus"},"next":{"title":"Class: abstract Execution","permalink":"/api/@ima/core/classes/Execution"}}');var t=s(2540),r=s(3023);const l={},d="Class: EventBusImpl",c={},a=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new EventBusImpl()",id:"new-eventbusimpl",level:3},{value:"Parameters",id:"parameters",level:4},{value:"window",id:"window",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"fire()",id:"fire",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"eventName",id:"eventname",level:5},{value:"data",id:"data",level:5},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Throws",id:"throws",level:4},{value:"See",id:"see",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"listen()",id:"listen",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"eventTarget",id:"eventtarget-1",level:5},{value:"eventName",id:"eventname-1",level:5},{value:"listener",id:"listener",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"listenAll()",id:"listenall",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"eventTarget",id:"eventtarget-2",level:5},{value:"listener",id:"listener-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"eventTarget",id:"eventtarget-3",level:5},{value:"eventName",id:"eventname-2",level:5},{value:"listener",id:"listener-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"unlistenAll()",id:"unlistenall",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"eventTarget",id:"eventtarget-4",level:5},{value:"listener",id:"listener-3",level:5},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-5",level:4}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"class-eventbusimpl",children:"Class: EventBusImpl"})}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L27",children:"packages/core/src/event/EventBusImpl.ts:27"})]}),"\n",(0,t.jsx)(n.p,{children:"Helper for custom events."}),"\n",(0,t.jsx)(n.p,{children:"It offers public methods for firing custom events and two methods for\ncatching events (e.g. inside view components)."}),"\n",(0,t.jsx)(n.h2,{id:"extends",children:"Extends"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,t.jsx)(n.h3,{id:"new-eventbusimpl",children:"new EventBusImpl()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"new EventBusImpl"}),"(",(0,t.jsx)(n.code,{children:"window"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L54",children:"packages/core/src/event/EventBusImpl.ts:54"})]}),"\n",(0,t.jsx)(n.p,{children:"Initializes the custom event helper."}),"\n",(0,t.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"window",children:"window"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,t.jsx)(n.code,{children:"Window"})})}),"\n",(0,t.jsx)(n.p,{children:"The IMA window helper."}),"\n",(0,t.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})}),"\n",(0,t.jsx)(n.h4,{id:"overrides",children:"Overrides"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})}),".",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus#constructors",children:(0,t.jsx)(n.code,{children:"constructor"})})]}),"\n",(0,t.jsx)(n.h2,{id:"accessors",children:"Accessors"}),"\n",(0,t.jsx)(n.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,t.jsx)(n.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"get"})," ",(0,t.jsx)(n.code,{children:"static"})," ",(0,t.jsx)(n.strong,{children:"$dependencies"}),"(): ",(0,t.jsx)(n.em,{children:"typeof"})," ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,t.jsx)(n.code,{children:"Window"})}),"[]"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L45",children:"packages/core/src/event/EventBusImpl.ts:45"})]}),"\n",(0,t.jsx)(n.h5,{id:"returns-1",children:"Returns"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.em,{children:"typeof"})," ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/Window",children:(0,t.jsx)(n.code,{children:"Window"})}),"[]"]}),"\n",(0,t.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,t.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"fire"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"data"}),", ",(0,t.jsx)(n.code,{children:"options"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L66",children:"packages/core/src/event/EventBusImpl.ts:66"})]}),"\n",(0,t.jsx)(n.p,{children:"Fires a new custom event of the specified name, carrying the provided\ndata."}),"\n",(0,t.jsx)(n.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,t.jsxs)(n.p,{children:["Note that the default options are\n",(0,t.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),", which is different from the\ndefault values used in the native custom events\n(",(0,t.jsx)(n.code,{children:"{ bubbles: false, cancelable: false }"}),")."]}),"\n",(0,t.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the event\nwill be dispatched (e.g. element/document/window)."}),"\n",(0,t.jsx)(n.h5,{id:"eventname",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event to fire."}),"\n",(0,t.jsx)(n.h5,{id:"data",children:"data"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"any"})}),"\n",(0,t.jsx)(n.p,{children:"The data to pass to the event listeners."}),"\n",(0,t.jsx)(n.h5,{id:"options",children:"options"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusOptions",children:(0,t.jsx)(n.code,{children:"EventBusOptions"})})," = ",(0,t.jsx)(n.code,{children:"{}"})]}),"\n",(0,t.jsxs)(n.p,{children:["The\noverride of the default options passed to the constructor of the\ncustom event fired by this event bus.\nThe default options passed to the custom event constructor are\n",(0,t.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),"."]}),"\n",(0,t.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})}),"\n",(0,t.jsx)(n.p,{children:"This custom event bus."}),"\n",(0,t.jsx)(n.h4,{id:"throws",children:"Throws"}),"\n",(0,t.jsx)(n.p,{children:"Thrown if the provided event target cannot be used to\nfire the event."}),"\n",(0,t.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event",children:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"})}),"\n",(0,t.jsx)(n.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})}),".",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus#fire",children:(0,t.jsx)(n.code,{children:"fire"})})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"listen",children:"listen()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"listen"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L127",children:"packages/core/src/event/EventBusImpl.ts:127"})]}),"\n",(0,t.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specific\ncustom event is fired by the same implementation of the event bus and\npasses through the specified event target."}),"\n",(0,t.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."}),"\n",(0,t.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the listener\nshould listen for the specified event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-1",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event to listen for."}),"\n",(0,t.jsx)(n.h5,{id:"listener",children:"listener"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,t.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,t.jsx)(n.p,{children:"The event listener to\nregister."}),"\n",(0,t.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})}),"\n",(0,t.jsx)(n.p,{children:"This event bus."}),"\n",(0,t.jsx)(n.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})}),".",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus#listen",children:(0,t.jsx)(n.code,{children:"listen"})})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"listenall",children:"listenAll()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"listenAll"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.code,{children:"this"})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L99",children:"packages/core/src/event/EventBusImpl.ts:99"})]}),"\n",(0,t.jsx)(n.p,{children:"Registers the provided event listener to be executed when any custom\nevent is fired using the same implementation of the event bus and passes\nthrough the specified event target."}),"\n",(0,t.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."}),"\n",(0,t.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-2",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the listener\nshould listen for all event bus events."}),"\n",(0,t.jsx)(n.h5,{id:"listener-1",children:"listener"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,t.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,t.jsx)(n.p,{children:"The event listener to\nregister."}),"\n",(0,t.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"this"})}),"\n",(0,t.jsx)(n.p,{children:"This event bus."}),"\n",(0,t.jsx)(n.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})}),".",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus#listenall",children:(0,t.jsx)(n.code,{children:"listenAll"})})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"unlisten"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"eventName"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L222",children:"packages/core/src/event/EventBusImpl.ts:222"})]}),"\n",(0,t.jsx)(n.p,{children:"Removes the provided event listener from the set of event listeners\nexecuted when the specified custom event fired by the same\nimplementation passes through the specified event target."}),"\n",(0,t.jsx)(n.p,{children:"The method has no effect if the listener is not registered for the\nspecified event at the specified event target."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-3",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the listener\nis listening for the event."}),"\n",(0,t.jsx)(n.h5,{id:"eventname-2",children:"eventName"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.p,{children:"The name of the event listened for."}),"\n",(0,t.jsx)(n.h5,{id:"listener-2",children:"listener"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,t.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,t.jsx)(n.p,{children:"The event listener to\nderegister."}),"\n",(0,t.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})}),"\n",(0,t.jsx)(n.p,{children:"This event bus."}),"\n",(0,t.jsx)(n.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})}),".",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus#unlisten",children:(0,t.jsx)(n.code,{children:"unlisten"})})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h3,{id:"unlistenall",children:"unlistenAll()"}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"unlistenAll"}),"(",(0,t.jsx)(n.code,{children:"eventTarget"}),", ",(0,t.jsx)(n.code,{children:"listener"}),"): ",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Defined in: ",(0,t.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBusImpl.ts#L181",children:"packages/core/src/event/EventBusImpl.ts:181"})]}),"\n",(0,t.jsx)(n.p,{children:"Removes the provided event listener from the set of event listeners\nexecuted when the any custom event fired by the same implementation\npasses through the specified event target."}),"\n",(0,t.jsx)(n.p,{children:"The method has no effect if the listener is not registered at the\nspecified event target."}),"\n",(0,t.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,t.jsx)(n.h5,{id:"eventtarget-4",children:"eventTarget"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,t.jsx)(n.p,{children:"The event target at which the event\nlistener listens for events."}),"\n",(0,t.jsx)(n.h5,{id:"listener-3",children:"listener"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,t.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,t.jsx)(n.p,{children:"The event listener to\nderegister."}),"\n",(0,t.jsx)(n.h4,{id:"returns-6",children:"Returns"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,t.jsx)(n.code,{children:"EventBusImpl"})})}),"\n",(0,t.jsx)(n.p,{children:"This event bus."}),"\n",(0,t.jsx)(n.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,t.jsx)(n.code,{children:"EventBus"})}),".",(0,t.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus#unlistenall",children:(0,t.jsx)(n.code,{children:"unlistenAll"})})]})]})}function o(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>d});var i=s(3696);const t={},r=i.createContext(t);function l(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f644150e.e9552f73.js b/assets/js/f644150e.e9552f73.js new file mode 100644 index 000000000..074fa753c --- /dev/null +++ b/assets/js/f644150e.e9552f73.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7948],{7119:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>a,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/functions/bootClientApp","title":"Function: bootClientApp()","description":"bootClientApp(app, bootConfig): object","source":"@site/../docs/api/@ima/core/functions/bootClientApp.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/bootClientApp","permalink":"/api/@ima/core/functions/bootClientApp","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/bootClientApp.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Enumeration: StateEvents","permalink":"/api/@ima/core/enumerations/StateEvents"},"next":{"title":"Function: createImaApp()","permalink":"/api/@ima/core/functions/createImaApp"}}');var i=n(2540),c=n(3023);const r={},s="Function: bootClientApp()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"app",id:"app",level:3},{value:"bootstrap",id:"bootstrap",level:4},{value:"oc",id:"oc",level:4},{value:"bootConfig",id:"bootconfig",level:3},{value:"Returns",id:"returns",level:2},{value:"bootstrap",id:"bootstrap-1",level:3},{value:"oc",id:"oc-1",level:3}];function p(e){const o={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",strong:"strong",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.header,{children:(0,i.jsx)(o.h1,{id:"function-bootclientapp",children:"Function: bootClientApp()"})}),"\n",(0,i.jsxs)(o.blockquote,{children:["\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.strong,{children:"bootClientApp"}),"(",(0,i.jsx)(o.code,{children:"app"}),", ",(0,i.jsx)(o.code,{children:"bootConfig"}),"): ",(0,i.jsx)(o.code,{children:"object"})]}),"\n"]}),"\n",(0,i.jsxs)(o.p,{children:["Defined in: ",(0,i.jsx)(o.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L254",children:"packages/core/src/boot.ts:254"})]}),"\n",(0,i.jsx)(o.h2,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(o.h3,{id:"app",children:"app"}),"\n",(0,i.jsx)(o.h4,{id:"bootstrap",children:"bootstrap"}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,i.jsx)(o.code,{children:"Bootstrap"})})}),"\n",(0,i.jsx)(o.h4,{id:"oc",children:"oc"}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,i.jsx)(o.code,{children:"ObjectContainer"})})}),"\n",(0,i.jsx)(o.h3,{id:"bootconfig",children:"bootConfig"}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,i.jsx)(o.code,{children:"BootConfig"})})}),"\n",(0,i.jsx)(o.h2,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(o.p,{children:(0,i.jsx)(o.code,{children:"object"})}),"\n",(0,i.jsx)(o.h3,{id:"bootstrap-1",children:"bootstrap"}),"\n",(0,i.jsxs)(o.blockquote,{children:["\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.strong,{children:"bootstrap"}),": ",(0,i.jsx)(o.a,{href:"/api/@ima/core/classes/Bootstrap",children:(0,i.jsx)(o.code,{children:"Bootstrap"})})]}),"\n"]}),"\n",(0,i.jsx)(o.h3,{id:"oc-1",children:"oc"}),"\n",(0,i.jsxs)(o.blockquote,{children:["\n",(0,i.jsxs)(o.p,{children:[(0,i.jsx)(o.strong,{children:"oc"}),": ",(0,i.jsx)(o.a,{href:"/api/@ima/core/classes/ObjectContainer",children:(0,i.jsx)(o.code,{children:"ObjectContainer"})})]}),"\n"]})]})}function d(e={}){const{wrapper:o}={...(0,c.R)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},3023:(e,o,n)=>{n.d(o,{R:()=>r,x:()=>s});var t=n(3696);const i={},c=t.createContext(i);function r(e){const o=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function s(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(c.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f747c071.174a8247.js b/assets/js/f747c071.174a8247.js new file mode 100644 index 000000000..5e14385ff --- /dev/null +++ b/assets/js/f747c071.174a8247.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[376],{4097:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"basic-features/error-handling","title":"Error Handling","description":"Basic features > Errors","source":"@site/../docs/basic-features/error-handling.md","sourceDirName":"basic-features","slug":"/basic-features/error-handling","permalink":"/basic-features/error-handling","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/error-handling.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Error Handling","description":"Basic features > Errors"},"sidebar":"docs","previous":{"title":"Dictionary","permalink":"/basic-features/dictionary"},"next":{"title":"TypeScript","permalink":"/basic-features/typescript"}}');var s=t(2540),o=t(3023);const i={title:"Error Handling",description:"Basic features > Errors"},a=void 0,c={},d=[{value:"GenericError",id:"genericerror",level:2}];function l(e){const r={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.p,{children:"This sections focuses on client and server-side error handling during development and in production."}),"\n",(0,s.jsx)(r.h2,{id:"genericerror",children:"GenericError"}),"\n",(0,s.jsxs)(r.p,{children:["Represents custom error class that poses a structure for http errors. This ",(0,s.jsx)(r.strong,{children:"should be preferred way"})," of throwing custom errors as it adds an ability to define http status code with additional custom params. To create such error you need to import ",(0,s.jsx)(r.strong,{children:"GenericError"})," from ",(0,s.jsx)(r.code,{children:"@ima/core"})," and instantiate it:"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-javascript",children:"import { GenericError } from '@ima/core';\n\nthrow new GenericError(\n 'Something went wrong.',\n { status: 500, custom: 'param' } // error parameters\n);\n"})}),"\n",(0,s.jsx)(r.p,{children:"GenericError instance has 2 methods:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:[(0,s.jsx)(r.code,{children:"getParams()"})," - Returns params argument (2nd argument) provided to the constructor."]}),"\n",(0,s.jsxs)(r.li,{children:[(0,s.jsx)(r.code,{children:"getHttpStatus()"})," - Returns ",(0,s.jsx)(r.code,{children:"status"})," property from the params."]}),"\n"]})]})}function u(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,r,t)=>{t.d(r,{R:()=>i,x:()=>a});var n=t(3696);const s={},o=n.createContext(s);function i(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f747c071.f71bc630.js b/assets/js/f747c071.f71bc630.js deleted file mode 100644 index fe087e98d..000000000 --- a/assets/js/f747c071.f71bc630.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[376],{5680:(e,r,t)=>{t.d(r,{xA:()=>p,yg:()=>f});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function s(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),l=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=l(e.components);return n.createElement(c.Provider,{value:r},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(t),m=a,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||o;return t?n.createElement(f,i(i({ref:r},p),{},{components:t})):n.createElement(f,i({ref:r},p))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=m;var s={};for(var c in r)hasOwnProperty.call(r,c)&&(s[c]=r[c]);s.originalType=e,s[u]="string"==typeof e?e:a,i[1]=s;for(var l=2;l<o;l++)i[l]=t[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},1631:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=t(8102),a=(t(6540),t(5680));const o={title:"Error Handling",description:"Basic features > Errors"},i=void 0,s={unversionedId:"basic-features/error-handling",id:"basic-features/error-handling",title:"Error Handling",description:"Basic features > Errors",source:"@site/../docs/basic-features/error-handling.md",sourceDirName:"basic-features",slug:"/basic-features/error-handling",permalink:"/basic-features/error-handling",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/error-handling.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Error Handling",description:"Basic features > Errors"},sidebar:"docs",previous:{title:"Dictionary",permalink:"/basic-features/dictionary"},next:{title:"TypeScript",permalink:"/basic-features/typescript"}},c={},l=[{value:"GenericError",id:"genericerror",level:2}],p={toc:l},u="wrapper";function d(e){let{components:r,...t}=e;return(0,a.yg)(u,(0,n.A)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"This sections focuses on client and server-side error handling during development and in production."),(0,a.yg)("h2",{id:"genericerror"},"GenericError"),(0,a.yg)("p",null,"Represents custom error class that poses a structure for http errors. This ",(0,a.yg)("strong",{parentName:"p"},"should be preferred way")," of throwing custom errors as it adds an ability to define http status code with additional custom params. To create such error you need to import ",(0,a.yg)("strong",{parentName:"p"},"GenericError")," from ",(0,a.yg)("inlineCode",{parentName:"p"},"@ima/core")," and instantiate it:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"import { GenericError } from '@ima/core';\n\nthrow new GenericError(\n 'Something went wrong.',\n { status: 500, custom: 'param' } // error parameters\n);\n")),(0,a.yg)("p",null,"GenericError instance has 2 methods:"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"getParams()")," - Returns params argument (2nd argument) provided to the constructor."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("inlineCode",{parentName:"li"},"getHttpStatus()")," - Returns ",(0,a.yg)("inlineCode",{parentName:"li"},"status")," property from the params.")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f872beed.e789275c.js b/assets/js/f872beed.e789275c.js new file mode 100644 index 000000000..19d2a401f --- /dev/null +++ b/assets/js/f872beed.e789275c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1554],{5702:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>R,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","title":"Variable: RE\\\\_SOURCE\\\\_MAPPING\\\\_URL","description":"const RE\\\\_SOURCE\\\\_MAPPING\\\\_URL: RegExp","source":"@site/../docs/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL.md","sourceDirName":"api/@ima/dev-utils/variables","slug":"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","permalink":"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Variable: COMPILE\\\\_ERROR\\\\_NEEDLES\\\\_RE","permalink":"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE"},"next":{"title":"Variable: RE\\\\_VALID\\\\_FRAME\\\\_CHROME","permalink":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME"}}');var i=a(2540),n=a(3023);const r={},c="Variable: RE_SOURCE_MAPPING_URL",o={},l=[];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"variable-re_source_mapping_url",children:"Variable: RE_SOURCE_MAPPING_URL"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"const"})," ",(0,i.jsx)(t.strong,{children:"RE_SOURCE_MAPPING_URL"}),": ",(0,i.jsx)(t.code,{children:"RegExp"})]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Defined in: ",(0,i.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/dev-utils/src/helpers.ts#L10",children:"helpers.ts:10"})]}),"\n",(0,i.jsx)(t.p,{children:"Used to extract source mapping url injected at the end\nof a file with generated source maps (in separate file)."})]})}function R(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3023:(e,t,a)=>{a.d(t,{R:()=>r,x:()=>c});var s=a(3696);const i={},n=s.createContext(i);function r(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8a31429.e3874f1b.js b/assets/js/f8a31429.e3874f1b.js new file mode 100644 index 000000000..4698fa4bc --- /dev/null +++ b/assets/js/f8a31429.e3874f1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[2809],{7880:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>o,contentTitle:()=>l,default:()=>a,frontMatter:()=>c,metadata:()=>n,toc:()=>t});const n=JSON.parse('{"id":"api/@ima/core/classes/ServerWindow","title":"Class: ServerWindow","description":"Defined in10","source":"@site/../docs/api/@ima/core/classes/ServerWindow.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/ServerWindow","permalink":"/api/@ima/core/classes/ServerWindow","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/ServerWindow.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: ServerRouter","permalink":"/api/@ima/core/classes/ServerRouter"},"next":{"title":"Class: SessionMapStorage\\\\<V\\\\>","permalink":"/api/@ima/core/classes/SessionMapStorage"}}');var i=r(2540),d=r(3023);const c={},l="Class: ServerWindow",o={},t=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ServerWindow()",id:"new-serverwindow",level:3},{value:"Returns",id:"returns",level:4},{value:"Inherited from",id:"inherited-from",level:4},{value:"Accessors",id:"accessors",level:2},{value:"$dependencies",id:"dependencies",level:3},{value:"Get Signature",id:"get-signature",level:4},{value:"Returns",id:"returns-1",level:5},{value:"Methods",id:"methods",level:2},{value:"bindEventListener()",id:"bindeventlistener",level:3},{value:"Returns",id:"returns-2",level:4},{value:"Overrides",id:"overrides",level:4},{value:"createCustomEvent()",id:"createcustomevent",level:3},{value:"Type Parameters",id:"type-parameters",level:4},{value:"Parameters",id:"parameters",level:4},{value:"name",id:"name",level:5},{value:"options",id:"options",level:5},{value:"Returns",id:"returns-3",level:4},{value:"See",id:"see",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"getBody()",id:"getbody",level:3},{value:"Returns",id:"returns-4",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"getDocument()",id:"getdocument",level:3},{value:"Returns",id:"returns-5",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"getDomain()",id:"getdomain",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Overrides",id:"overrides-4",level:4},{value:"getElementById()",id:"getelementbyid",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Overrides",id:"overrides-5",level:4},{value:"getHistoryState()",id:"gethistorystate",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Overrides",id:"overrides-6",level:4},{value:"getHost()",id:"gethost",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Overrides",id:"overrides-7",level:4},{value:"getPath()",id:"getpath",level:3},{value:"Returns",id:"returns-10",level:4},{value:"Overrides",id:"overrides-8",level:4},{value:"getScrollX()",id:"getscrollx",level:3},{value:"Returns",id:"returns-11",level:4},{value:"Overrides",id:"overrides-9",level:4},{value:"getScrollY()",id:"getscrolly",level:3},{value:"Returns",id:"returns-12",level:4},{value:"Overrides",id:"overrides-10",level:4},{value:"getUrl()",id:"geturl",level:3},{value:"Returns",id:"returns-13",level:4},{value:"Overrides",id:"overrides-11",level:4},{value:"getWindow()",id:"getwindow",level:3},{value:"Returns",id:"returns-14",level:4},{value:"Overrides",id:"overrides-12",level:4},{value:"hasSessionStorage()",id:"hassessionstorage",level:3},{value:"Returns",id:"returns-15",level:4},{value:"Overrides",id:"overrides-13",level:4},{value:"isClient()",id:"isclient",level:3},{value:"Returns",id:"returns-16",level:4},{value:"Overrides",id:"overrides-14",level:4},{value:"isCookieEnabled()",id:"iscookieenabled",level:3},{value:"Returns",id:"returns-17",level:4},{value:"Overrides",id:"overrides-15",level:4},{value:"pushState()",id:"pushstate",level:3},{value:"Returns",id:"returns-18",level:4},{value:"Overrides",id:"overrides-16",level:4},{value:"querySelector()",id:"queryselector",level:3},{value:"Returns",id:"returns-19",level:4},{value:"Overrides",id:"overrides-17",level:4},{value:"querySelectorAll()",id:"queryselectorall",level:3},{value:"Type Parameters",id:"type-parameters-1",level:4},{value:"Parameters",id:"parameters-1",level:4},{value:"selector",id:"selector",level:5},{value:"Returns",id:"returns-20",level:4},{value:"Overrides",id:"overrides-18",level:4},{value:"redirect()",id:"redirect",level:3},{value:"Returns",id:"returns-21",level:4},{value:"Overrides",id:"overrides-19",level:4},{value:"replaceState()",id:"replacestate",level:3},{value:"Returns",id:"returns-22",level:4},{value:"Overrides",id:"overrides-20",level:4},{value:"scrollTo()",id:"scrollto",level:3},{value:"Returns",id:"returns-23",level:4},{value:"Overrides",id:"overrides-21",level:4},{value:"setTitle()",id:"settitle",level:3},{value:"Returns",id:"returns-24",level:4},{value:"Overrides",id:"overrides-22",level:4},{value:"unbindEventListener()",id:"unbindeventlistener",level:3},{value:"Returns",id:"returns-25",level:4},{value:"Overrides",id:"overrides-23",level:4}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"class-serverwindow",children:"Class: ServerWindow"})}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L10",children:"packages/core/src/window/ServerWindow.ts:10"})]}),"\n",(0,i.jsxs)(s.p,{children:["Server-side implementation of the ",(0,i.jsx)(s.code,{children:"Window"})," utility API."]}),"\n",(0,i.jsx)(s.h2,{id:"extends",children:"Extends"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})})}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(s.h3,{id:"new-serverwindow",children:"new ServerWindow()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"new ServerWindow"}),"(): ",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ServerWindow",children:(0,i.jsx)(s.code,{children:"ServerWindow"})})]}),"\n"]}),"\n",(0,i.jsx)(s.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/ServerWindow",children:(0,i.jsx)(s.code,{children:"ServerWindow"})})}),"\n",(0,i.jsx)(s.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#constructors",children:(0,i.jsx)(s.code,{children:"constructor"})})]}),"\n",(0,i.jsx)(s.h2,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsx)(s.h3,{id:"dependencies",children:"$dependencies"}),"\n",(0,i.jsx)(s.h4,{id:"get-signature",children:"Get Signature"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"get"})," ",(0,i.jsx)(s.code,{children:"static"})," ",(0,i.jsx)(s.strong,{children:"$dependencies"}),"(): ",(0,i.jsx)(s.code,{children:"never"}),"[]"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L11",children:"packages/core/src/window/ServerWindow.ts:11"})]}),"\n",(0,i.jsx)(s.h5,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"never"}),"[]"]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(s.h3,{id:"bindeventlistener",children:"bindEventListener()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"bindEventListener"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L194",children:"packages/core/src/window/ServerWindow.ts:194"})]}),"\n",(0,i.jsx)(s.p,{children:"Registers the provided event listener to be executed when the specified\nevent occurs on the specified event target."}),"\n",(0,i.jsxs)(s.p,{children:["Registering the same event listener for the same event on the same event\ntarget with the same ",(0,i.jsx)(s.code,{children:"useCapture"})," flag value repeatedly has no\neffect."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#bindeventlistener",children:(0,i.jsx)(s.code,{children:"bindEventListener"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"createcustomevent",children:"createCustomEvent()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"createCustomEvent"}),"<",(0,i.jsx)(s.code,{children:"T"}),">(",(0,i.jsx)(s.code,{children:"name"}),", ",(0,i.jsx)(s.code,{children:"options"}),"): ",(0,i.jsx)(s.code,{children:"CustomEvent"}),"<",(0,i.jsx)(s.code,{children:"T"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L179",children:"packages/core/src/window/ServerWindow.ts:179"})]}),"\n",(0,i.jsx)(s.p,{children:"Create new instance of CustomEvent of the specified name and using the\nprovided options."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"T"})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"name",children:"name"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"Custom event's name (sometimes referred to as the\nevent's type)."}),"\n",(0,i.jsx)(s.h5,{id:"options",children:"options"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"CustomEventInit"}),"<",(0,i.jsx)(s.code,{children:"T"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The custom event's options."}),"\n",(0,i.jsx)(s.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"CustomEvent"}),"<",(0,i.jsx)(s.code,{children:"T"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"The created custom event."}),"\n",(0,i.jsx)(s.h4,{id:"see",children:"See"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent",children:"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#createcustomevent",children:(0,i.jsx)(s.code,{children:"createCustomEvent"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getbody",children:"getBody()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getBody"}),"(): ",(0,i.jsx)(s.code,{children:"undefined"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L109",children:"packages/core/src/window/ServerWindow.ts:109"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns the document's body element. The method returns\n",(0,i.jsx)(s.code,{children:"undefined"})," if invoked at the server-side."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"undefined"})}),"\n",(0,i.jsxs)(s.p,{children:["The document's body element, or\n",(0,i.jsx)(s.code,{children:"undefined"})," if invoked at the server side."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getbody",children:(0,i.jsx)(s.code,{children:"getBody"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getdocument",children:"getDocument()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getDocument"}),"(): ",(0,i.jsx)(s.code,{children:"undefined"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L53",children:"packages/core/src/window/ServerWindow.ts:53"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns the native ",(0,i.jsx)(s.code,{children:"document"})," object representing any web page loaded\nin the browser and serves as an entry point into the web page's content\nwhich is the DOM tree at the client-side. The method returns ",(0,i.jsx)(s.code,{children:"undefined"}),"\nif used at the server-side."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"undefined"})}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"document"})," object at the\nclient-side, or ",(0,i.jsx)(s.code,{children:"undefined"})," at the server-side."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getdocument",children:(0,i.jsx)(s.code,{children:"getDocument"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getdomain",children:"getDomain()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getDomain"}),"(): ",(0,i.jsx)(s.code,{children:'""'})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L81",children:"packages/core/src/window/ServerWindow.ts:81"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns the domain of the current document's URL as\n",(0,i.jsx)(s.code,{children:"${protocol}://${host}"}),"."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-6",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:'""'})}),"\n",(0,i.jsx)(s.p,{children:"The current domain."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getdomain",children:(0,i.jsx)(s.code,{children:"getDomain"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getelementbyid",children:"getElementById()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getElementById"}),"(): ",(0,i.jsx)(s.code,{children:"null"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L116",children:"packages/core/src/window/ServerWindow.ts:116"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns the HTML element with the specified ",(0,i.jsx)(s.code,{children:"id"})," attribute value."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-7",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"null"})}),"\n",(0,i.jsxs)(s.p,{children:["The element with the specified id, or\n",(0,i.jsx)(s.code,{children:"null"})," if no such element exists."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-5",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getelementbyid",children:(0,i.jsx)(s.code,{children:"getElementById"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"gethistorystate",children:"getHistoryState()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getHistoryState"}),"(): ",(0,i.jsx)(s.code,{children:"undefined"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L123",children:"packages/core/src/window/ServerWindow.ts:123"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the history state."}),"\n",(0,i.jsx)(s.h4,{id:"returns-8",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"undefined"})}),"\n",(0,i.jsx)(s.p,{children:"The current history state"}),"\n",(0,i.jsx)(s.h4,{id:"overrides-6",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#gethistorystate",children:(0,i.jsx)(s.code,{children:"getHistoryState"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"gethost",children:"getHost()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getHost"}),"(): ",(0,i.jsx)(s.code,{children:'""'})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L88",children:"packages/core/src/window/ServerWindow.ts:88"})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-9",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:'""'})}),"\n",(0,i.jsx)(s.p,{children:"The current host."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-7",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#gethost",children:(0,i.jsx)(s.code,{children:"getHost"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getpath",children:"getPath()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getPath"}),"(): ",(0,i.jsx)(s.code,{children:'""'})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L95",children:"packages/core/src/window/ServerWindow.ts:95"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the path part of the current URL, including the query string."}),"\n",(0,i.jsx)(s.h4,{id:"returns-10",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:'""'})}),"\n",(0,i.jsx)(s.p,{children:"The path and query string parts of the current URL."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-8",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getpath",children:(0,i.jsx)(s.code,{children:"getPath"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getscrollx",children:"getScrollX()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getScrollX"}),"(): ",(0,i.jsx)(s.code,{children:"0"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L60",children:"packages/core/src/window/ServerWindow.ts:60"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the number of pixels the viewport is scrolled horizontally."}),"\n",(0,i.jsx)(s.h4,{id:"returns-11",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"0"})}),"\n",(0,i.jsx)(s.p,{children:"The number of pixels the viewport is scrolled\nhorizontally."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-9",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getscrollx",children:(0,i.jsx)(s.code,{children:"getScrollX"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getscrolly",children:"getScrollY()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getScrollY"}),"(): ",(0,i.jsx)(s.code,{children:"0"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L67",children:"packages/core/src/window/ServerWindow.ts:67"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the number of pixels the document is scrolled vertically."}),"\n",(0,i.jsx)(s.h4,{id:"returns-12",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"0"})}),"\n",(0,i.jsx)(s.p,{children:"The number of pixels the document is scrolled\nvertically."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-10",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getscrolly",children:(0,i.jsx)(s.code,{children:"getScrollY"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"geturl",children:"getUrl()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getUrl"}),"(): ",(0,i.jsx)(s.code,{children:'""'})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L102",children:"packages/core/src/window/ServerWindow.ts:102"})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-13",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:'""'})}),"\n",(0,i.jsx)(s.p,{children:"The current document's URL."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-11",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#geturl",children:(0,i.jsx)(s.code,{children:"getUrl"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"getwindow",children:"getWindow()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"getWindow"}),"(): ",(0,i.jsx)(s.code,{children:"undefined"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L46",children:"packages/core/src/window/ServerWindow.ts:46"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns the native ",(0,i.jsx)(s.code,{children:"window"})," object representing the global context\nat the client-side. The method returns ",(0,i.jsx)(s.code,{children:"undefined"})," if used at the\nserver-side."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-14",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"undefined"})}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"window"})," object at the\nclient-side, or ",(0,i.jsx)(s.code,{children:"undefined"})," at the server-side."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-12",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#getwindow",children:(0,i.jsx)(s.code,{children:"getWindow"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"hassessionstorage",children:"hasSessionStorage()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"hasSessionStorage"}),"(): ",(0,i.jsx)(s.code,{children:"false"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L32",children:"packages/core/src/window/ServerWindow.ts:32"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns ",(0,i.jsx)(s.code,{children:"true"})," if the session storage is supported."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-15",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"false"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if the session storage is supported."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-13",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#hassessionstorage",children:(0,i.jsx)(s.code,{children:"hasSessionStorage"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"isclient",children:"isClient()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"isClient"}),"(): ",(0,i.jsx)(s.code,{children:"false"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L18",children:"packages/core/src/window/ServerWindow.ts:18"})]}),"\n",(0,i.jsx)(s.h4,{id:"returns-16",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"false"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if invoked at the client side."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-14",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#isclient",children:(0,i.jsx)(s.code,{children:"isClient"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"iscookieenabled",children:"isCookieEnabled()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"isCookieEnabled"}),"(): ",(0,i.jsx)(s.code,{children:"false"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L25",children:"packages/core/src/window/ServerWindow.ts:25"})]}),"\n",(0,i.jsxs)(s.p,{children:["Returns ",(0,i.jsx)(s.code,{children:"true"})," if the cookies are set and processed with every\nHTTP request and response automatically by the environment."]}),"\n",(0,i.jsx)(s.h4,{id:"returns-17",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"false"})}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"true"})," if cookies are handled automatically by\nthe environment."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-15",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#iscookieenabled",children:(0,i.jsx)(s.code,{children:"isCookieEnabled"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"pushstate",children:"pushState()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"pushState"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L165",children:"packages/core/src/window/ServerWindow.ts:165"})]}),"\n",(0,i.jsx)(s.p,{children:"Pushes a new state to the browser history. The method has no effect if\nthe current browser does not support the history API (IE9)."}),"\n",(0,i.jsx)(s.h4,{id:"returns-18",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-16",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#pushstate",children:(0,i.jsx)(s.code,{children:"pushState"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"queryselector",children:"querySelector()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"querySelector"}),"(): ",(0,i.jsx)(s.code,{children:"null"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L130",children:"packages/core/src/window/ServerWindow.ts:130"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns the first element matching the specified CSS 3 selector."}),"\n",(0,i.jsx)(s.h4,{id:"returns-19",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"null"})}),"\n",(0,i.jsxs)(s.p,{children:["The first element matching the CSS selector or\n",(0,i.jsx)(s.code,{children:"null"})," if no such element exists."]}),"\n",(0,i.jsx)(s.h4,{id:"overrides-17",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#queryselector",children:(0,i.jsx)(s.code,{children:"querySelector"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"queryselectorall",children:"querySelectorAll()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"querySelectorAll"}),"<",(0,i.jsx)(s.code,{children:"E"}),">(",(0,i.jsx)(s.code,{children:"selector"}),"): ",(0,i.jsx)(s.code,{children:"NodeListOf"}),"<",(0,i.jsx)(s.code,{children:"E"}),">"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L137",children:"packages/core/src/window/ServerWindow.ts:137"})]}),"\n",(0,i.jsx)(s.p,{children:"Returns a node list of all elements matching the specified CSS 3\nselector."}),"\n",(0,i.jsx)(s.h4,{id:"type-parameters-1",children:"Type Parameters"}),"\n",(0,i.jsxs)(s.p,{children:["\u2022 ",(0,i.jsx)(s.strong,{children:"E"})," ",(0,i.jsx)(s.em,{children:"extends"})," ",(0,i.jsx)(s.code,{children:"Element"})," = ",(0,i.jsx)(s.code,{children:"Element"})]}),"\n",(0,i.jsx)(s.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(s.h5,{id:"selector",children:"selector"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"string"})}),"\n",(0,i.jsx)(s.p,{children:"The CSS selector."}),"\n",(0,i.jsx)(s.h4,{id:"returns-20",children:"Returns"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.code,{children:"NodeListOf"}),"<",(0,i.jsx)(s.code,{children:"E"}),">"]}),"\n",(0,i.jsx)(s.p,{children:"A node list containing all elements matching the\nspecified CSS selector."}),"\n",(0,i.jsx)(s.h4,{id:"overrides-18",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#queryselectorall",children:(0,i.jsx)(s.code,{children:"querySelectorAll"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"redirect",children:"redirect()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"redirect"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L158",children:"packages/core/src/window/ServerWindow.ts:158"})]}),"\n",(0,i.jsx)(s.p,{children:"Performs a hard redirect (discarding the current JavaScript state) to\nthe specified URL."}),"\n",(0,i.jsx)(s.h4,{id:"returns-21",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-19",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#redirect",children:(0,i.jsx)(s.code,{children:"redirect"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"replacestate",children:"replaceState()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"replaceState"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L172",children:"packages/core/src/window/ServerWindow.ts:172"})]}),"\n",(0,i.jsx)(s.p,{children:"Replaces the current history entry. The method has no effect if the\ncurrent browser does not support the history API (IE9)."}),"\n",(0,i.jsx)(s.h4,{id:"returns-22",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-20",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#replacestate",children:(0,i.jsx)(s.code,{children:"replaceState"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"scrollto",children:"scrollTo()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"scrollTo"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L74",children:"packages/core/src/window/ServerWindow.ts:74"})]}),"\n",(0,i.jsx)(s.p,{children:"Scrolls the viewport to the specified location (if possible)."}),"\n",(0,i.jsx)(s.h4,{id:"returns-23",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-21",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#scrollto",children:(0,i.jsx)(s.code,{children:"scrollTo"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"settitle",children:"setTitle()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"setTitle"}),"(): ",(0,i.jsx)(s.code,{children:"never"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L39",children:"packages/core/src/window/ServerWindow.ts:39"})]}),"\n",(0,i.jsx)(s.p,{children:"Sets the new page title of the document."}),"\n",(0,i.jsx)(s.h4,{id:"returns-24",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"never"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-22",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#settitle",children:(0,i.jsx)(s.code,{children:"setTitle"})})]}),"\n",(0,i.jsx)(s.hr,{}),"\n",(0,i.jsx)(s.h3,{id:"unbindeventlistener",children:"unbindEventListener()"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"unbindEventListener"}),"(): ",(0,i.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Defined in: ",(0,i.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/window/ServerWindow.ts#L201",children:"packages/core/src/window/ServerWindow.ts:201"})]}),"\n",(0,i.jsx)(s.p,{children:"Deregister the provided event listener, so it will no longer we\nexecuted when the specified event occurs on the specified event target."}),"\n",(0,i.jsx)(s.p,{children:"The method has no effect if the provided event listener is not\nregistered to be executed at the specified event."}),"\n",(0,i.jsx)(s.h4,{id:"returns-25",children:"Returns"}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.code,{children:"void"})}),"\n",(0,i.jsx)(s.h4,{id:"overrides-23",children:"Overrides"}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window",children:(0,i.jsx)(s.code,{children:"Window"})}),".",(0,i.jsx)(s.a,{href:"/api/@ima/core/classes/Window#unbindeventlistener",children:(0,i.jsx)(s.code,{children:"unbindEventListener"})})]})]})}function a(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>c,x:()=>l});var n=r(3696);const i={},d=n.createContext(i);function c(e){const s=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fb8d9da6.265416dc.js b/assets/js/fb8d9da6.265416dc.js new file mode 100644 index 000000000..8c2402292 --- /dev/null +++ b/assets/js/fb8d9da6.265416dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[9637],{1978:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"api/@ima/core/interfaces/Manifest","title":"Interface: Manifest","description":"Defined in28","source":"@site/../docs/api/@ima/core/interfaces/Manifest.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/Manifest","permalink":"/api/@ima/core/interfaces/Manifest","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/Manifest.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: InitPluginConfig","permalink":"/api/@ima/core/interfaces/InitPluginConfig"},"next":{"title":"Interface: ManifestAsset","permalink":"/api/@ima/core/interfaces/ManifestAsset"}}');var c=n(2540),i=n(3023);const r={},a="Interface: Manifest",o={},d=[{value:"Properties",id:"properties",level:2},{value:"assets",id:"assets",level:3},{value:"assetsByCompiler",id:"assetsbycompiler",level:3},{value:"publicPath",id:"publicpath",level:3}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.header,{children:(0,c.jsx)(s.h1,{id:"interface-manifest",children:"Interface: Manifest"})}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L28",children:"packages/core/src/boot.ts:28"})]}),"\n",(0,c.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(s.h3,{id:"assets",children:"assets"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"assets"}),": ",(0,c.jsx)(s.code,{children:"Record"}),"<",(0,c.jsx)(s.code,{children:"string"}),", ",(0,c.jsx)(s.a,{href:"/api/@ima/core/interfaces/ManifestAsset",children:(0,c.jsx)(s.code,{children:"ManifestAsset"})}),">"]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L29",children:"packages/core/src/boot.ts:29"})]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h3,{id:"assetsbycompiler",children:"assetsByCompiler"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"assetsByCompiler"}),": ",(0,c.jsx)(s.code,{children:"Record"}),"<",(0,c.jsx)(s.code,{children:'"server"'})," | ",(0,c.jsx)(s.code,{children:'"client"'})," | ",(0,c.jsx)(s.code,{children:'"client.es"'}),", ",(0,c.jsx)(s.code,{children:"Record"}),"<",(0,c.jsx)(s.code,{children:"string"}),", ",(0,c.jsx)(s.a,{href:"/api/@ima/core/interfaces/ManifestAsset",children:(0,c.jsx)(s.code,{children:"ManifestAsset"})}),">>"]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L30",children:"packages/core/src/boot.ts:30"})]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h3,{id:"publicpath",children:"publicPath"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"publicPath"}),": ",(0,c.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L34",children:"packages/core/src/boot.ts:34"})]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(l,{...e})}):l(e)}},3023:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>a});var t=n(3696);const c={},i=t.createContext(c);function r(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbe0eb09.5a05ec60.js b/assets/js/fbe0eb09.5a05ec60.js new file mode 100644 index 000000000..803e0ff6d --- /dev/null +++ b/assets/js/fbe0eb09.5a05ec60.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3872],{9149:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"api/@ima/core/functions/getClientBootConfig","title":"Function: getClientBootConfig()","description":"getClientBootConfig(initialAppConfigFunctions): BootConfig","source":"@site/../docs/api/@ima/core/functions/getClientBootConfig.md","sourceDirName":"api/@ima/core/functions","slug":"/api/@ima/core/functions/getClientBootConfig","permalink":"/api/@ima/core/functions/getClientBootConfig","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/functions/getClientBootConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: createImaApp()","permalink":"/api/@ima/core/functions/createImaApp"},"next":{"title":"Function: getInitialImaConfigFunctions()","permalink":"/api/@ima/core/functions/getInitialImaConfigFunctions"}}');var o=i(2540),c=i(3023);const r={},s="Function: getClientBootConfig()",a={},l=[{value:"Parameters",id:"parameters",level:2},{value:"initialAppConfigFunctions",id:"initialappconfigfunctions",level:3},{value:"Returns",id:"returns",level:2}];function f(n){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,c.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"function-getclientbootconfig",children:"Function: getClientBootConfig()"})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.strong,{children:"getClientBootConfig"}),"(",(0,o.jsx)(e.code,{children:"initialAppConfigFunctions"}),"): ",(0,o.jsx)(e.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,o.jsx)(e.code,{children:"BootConfig"})})]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["Defined in: ",(0,o.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/boot.ts#L190",children:"packages/core/src/boot.ts:190"})]}),"\n",(0,o.jsx)(e.h2,{id:"parameters",children:"Parameters"}),"\n",(0,o.jsx)(e.h3,{id:"initialappconfigfunctions",children:"initialAppConfigFunctions"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"/api/@ima/core/interfaces/InitAppConfig",children:(0,o.jsx)(e.code,{children:"InitAppConfig"})})}),"\n",(0,o.jsx)(e.h2,{id:"returns",children:"Returns"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.a,{href:"/api/@ima/core/interfaces/BootConfig",children:(0,o.jsx)(e.code,{children:"BootConfig"})})})]})}function p(n={}){const{wrapper:e}={...(0,c.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(f,{...n})}):f(n)}},3023:(n,e,i)=>{i.d(e,{R:()=>r,x:()=>s});var t=i(3696);const o={},c=t.createContext(o);function r(n){const e=t.useContext(c);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function s(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:r(n.components),t.createElement(c.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/fc5d92fc.e96db0c6.js b/assets/js/fc5d92fc.e96db0c6.js new file mode 100644 index 000000000..4c3f23393 --- /dev/null +++ b/assets/js/fc5d92fc.e96db0c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6873],{1569:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"api/@ima/react-page-renderer/functions/fire","title":"Function: fire()","description":"fire(component, eventTarget, eventName, data): EventBus","source":"@site/../docs/api/@ima/react-page-renderer/functions/fire.md","sourceDirName":"api/@ima/react-page-renderer/functions","slug":"/api/@ima/react-page-renderer/functions/fire","permalink":"/api/@ima/react-page-renderer/functions/fire","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/functions/fire.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Function: defaultCssClasses()","permalink":"/api/@ima/react-page-renderer/functions/defaultCssClasses"},"next":{"title":"Function: getUtils()","permalink":"/api/@ima/react-page-renderer/functions/getUtils"}}');var s=t(2540),a=t(3023);const c={},i="Function: fire()",o={},d=[{value:"Parameters",id:"parameters",level:2},{value:"component",id:"component",level:3},{value:"eventTarget",id:"eventtarget",level:3},{value:"eventName",id:"eventname",level:3},{value:"data",id:"data",level:3},{value:"Returns",id:"returns",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-fire",children:"Function: fire()"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"fire"}),"(",(0,s.jsx)(n.code,{children:"component"}),", ",(0,s.jsx)(n.code,{children:"eventTarget"}),", ",(0,s.jsx)(n.code,{children:"eventName"}),", ",(0,s.jsx)(n.code,{children:"data"}),"): ",(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Defined in: ",(0,s.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/componentHelpers.ts#L147",children:"packages/react-page-renderer/src/componentHelpers.ts:147"})]}),"\n",(0,s.jsx)(n.p,{children:"Creates and sends a new IMA.js DOM custom event from the provided component."}),"\n",(0,s.jsx)(n.h2,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(n.h3,{id:"component",children:"component"}),"\n",(0,s.jsx)(n.p,{children:"The component\nat which's root element the event will originate."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractComponent",children:(0,s.jsx)(n.code,{children:"AbstractComponent"})})," | ",(0,s.jsx)(n.a,{href:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",children:(0,s.jsx)(n.code,{children:"AbstractPureComponent"})})]}),"\n",(0,s.jsx)(n.h3,{id:"eventtarget",children:"eventTarget"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,s.jsx)(n.h3,{id:"eventname",children:"eventName"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"string"})}),"\n",(0,s.jsx)(n.p,{children:"The name of the event."}),"\n",(0,s.jsx)(n.h3,{id:"data",children:"data"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"unknown"})," = ",(0,s.jsx)(n.code,{children:"null"})]}),"\n",(0,s.jsx)(n.p,{children:"Data to send within the event."}),"\n",(0,s.jsx)(n.h2,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,s.jsx)(n.code,{children:"EventBus"})})})]})}function p(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3023:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>i});var r=t(3696);const s={},a=r.createContext(s);function c(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fc65f0be.0c11cfca.js b/assets/js/fc65f0be.0c11cfca.js new file mode 100644 index 000000000..3009afdb4 --- /dev/null +++ b/assets/js/fc65f0be.0c11cfca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1956],{6629:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"basic-features/seo-and-meta-manager","title":"SEO & Meta Manager","description":"Basic features > SEO & Meta Manager","source":"@site/../docs/basic-features/seo-and-meta-manager.md","sourceDirName":"basic-features","slug":"/basic-features/seo-and-meta-manager","permalink":"/basic-features/seo-and-meta-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/seo-and-meta-manager.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"SEO & Meta Manager","description":"Basic features > SEO & Meta Manager"},"sidebar":"docs","previous":{"title":"Page State","permalink":"/basic-features/page-state"},"next":{"title":"Dictionary","permalink":"/basic-features/dictionary"}}');var r=n(2540),s=n(3023);const i={title:"SEO & Meta Manager",description:"Basic features > SEO & Meta Manager"},o=void 0,l={},d=[{value:"Managing meta tags",id:"managing-meta-tags",level:2},{value:"setTitle()",id:"settitle",level:3},{value:"setMetaName()",id:"setmetaname",level:3},{value:"setMetaProperty()",id:"setmetaproperty",level:3},{value:"setLink()",id:"setlink",level:3},{value:"Meta value getters",id:"meta-value-getters",level:2},{value:"Rendering meta tags",id:"rendering-meta-tags",level:2},{value:"Rendering on server using the <code>#{meta}</code> content variable",id:"rendering-on-server-using-the-meta-content-variable",level:3},{value:"Rendering on client using <code>PageMetaHandler</code>",id:"rendering-on-client-using-pagemetahandler",level:3},{value:"Global meta tags",id:"global-meta-tags",level:3}];function c(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["If you've read the ",(0,r.jsx)(t.a,{href:"./controller-lifecycle",children:"Controller lifecycle"})," page you've\nprobably come along the ",(0,r.jsx)(t.a,{href:"/basic-features/controller-lifecycle#setmetaparams-serverclient",children:(0,r.jsx)(t.code,{children:"setMetaParams"})}),"\nmethod. This method is dedicated to set meta information for a specific\npage and you are provided with everything you need ",(0,r.jsx)(t.em,{children:"(current state, MetaManager,\nrouter, dictionary and settings)"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Meta manager offers many methods to work with document meta data. From ",(0,r.jsx)(t.code,{children:"#{meta}"})," content variable, to methods for managing ",(0,r.jsx)(t.strong,{children:"title"})," and other ",(0,r.jsx)(t.strong,{children:"meta"})," tags collections."]}),"\n",(0,r.jsx)(t.h2,{id:"managing-meta-tags",children:"Managing meta tags"}),"\n",(0,r.jsxs)(t.p,{children:["As mentioned above, all meta management is done in ",(0,r.jsx)(t.code,{children:"setMetaParams"})," method in ",(0,r.jsx)(t.strong,{children:"route controller"}),". Using ",(0,r.jsx)(t.code,{children:"metaManager"})," and provied setters for ",(0,r.jsx)(t.strong,{children:"title"}),", ",(0,r.jsx)(t.strong,{children:"meta name"}),", ",(0,r.jsx)(t.strong,{children:"meta properties"})," and ",(0,r.jsx)(t.strong,{children:"link"})," collections, you can manage contents of your meta tags easily with the help of additional arguments that provide everything you need (current state, MetaManager, router, dictionary and settings)."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-javascript",metastring:"title=./app/page/order/OrderController.js",children:"setMetaParams(loadedResources, metaManager, router, dictionary, settings) {\n const { order } = loadedResources;\n\n metaManager.setTitle(`Order #${order.id} - ${settings.general.appTitle}`);\n metaManager.setMetaName(\n 'description',\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'\n );\n\n metaManager.setMetaProperty('og:image', order.thumbnailUrl);\n\n const orderDetailLink = router.link('order-detail', {\n orderId: order.id\n });\n\n metaManager.setLink('canonical', orderDetailLink);\n}\n"})}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"undefined"})," and ",(0,r.jsx)(t.code,{children:"null"})," values are filtered out when rendering meta tags. If you still want to render meta tags with empty values, use empty strings ",(0,r.jsx)(t.code,{children:"''"}),"."]})}),"\n",(0,r.jsx)(t.h3,{id:"settitle",children:"setTitle()"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"(title: string) => MetaManager"})}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"Use to set document title."}),"\n",(0,r.jsx)(t.h3,{id:"setmetaname",children:"setMetaName()"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"(name: string, content: MetaValue, attr?: MetaAttributes) => MetaManager"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Sets the information to be used in ",(0,r.jsx)(t.code,{children:'<meta name="..." content="..." />'}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"setmetaproperty",children:"setMetaProperty()"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"(name: string, property: MetaValue, attr?: MetaAttributes) => MetaManager"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["These methods are similar to the two above except that these are used for ",(0,r.jsx)(t.code,{children:'<meta property="..." content="..." />'}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"setlink",children:"setLink()"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"(relation: string, href: MetaValue, attr?: MetaAttributes) => MetaManager"})}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["Adds information to the MetaManager to be later used in ",(0,r.jsx)(t.code,{children:'<link rel="..." href="..." />'})," tag."]}),"\n",(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsx)(t.p,{children:"All 3 methods defined above also supports additional optional attributes. This is an object of key-value pairs representing additional meta tag attributes that are used in certain situations."}),(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"\nmetaManager.setMetaProperty('og:image', order.thumbnailUrl, {\n size: 'large',\n authorUrl: 'https://mysite.com'\n});\n\n"})})]}),"\n",(0,r.jsx)(t.h2,{id:"meta-value-getters",children:"Meta value getters"}),"\n",(0,r.jsx)(t.p,{children:"Each setter has corresponding getter returning and object with key-value pairs representing the meta tag values. Additionally you can use key and value iterator methods."}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.code,{children:"getTitle()"})}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"getMetaName()"}),", ",(0,r.jsx)(t.code,{children:"getMetaNames()"}),", ",(0,r.jsx)(t.code,{children:"getMetaNamesIterator()"})]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"getMetaProperty()"}),", ",(0,r.jsx)(t.code,{children:"setMetaProperties()"}),", ",(0,r.jsx)(t.code,{children:"setMetaPropertiesIterator()"})]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"getLink()"}),", ",(0,r.jsx)(t.code,{children:"getLinks()"}),", ",(0,r.jsx)(t.code,{children:"getLinksIterator()"})]}),"\n"]}),"\n",(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsx)(t.p,{children:"Since the getter methods return object with key-value attributes where their names correspond to the html tag attribute name, you can use following shortcuts to render (these include optional attributes):"}),(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",children:"<meta\n property=\"og:image\"\n {...this.props.metaManager.getMetaProperty('og:image')}\n/>\n<meta\n link=\"canonical\"\n {...this.props.metaManager.getLink('canonical')}\n/>\n"})})]}),"\n",(0,r.jsx)(t.h2,{id:"rendering-meta-tags",children:"Rendering meta tags"}),"\n",(0,r.jsx)(t.p,{children:"Meta tags are handled differently on server an client, see following sections for more information on this matter."}),"\n",(0,r.jsxs)(t.h3,{id:"rendering-on-server-using-the-meta-content-variable",children:["Rendering on server using the ",(0,r.jsx)(t.code,{children:"#{meta}"})," content variable"]}),"\n",(0,r.jsxs)(t.p,{children:["While you can manually render meta tags in the document view using ",(0,r.jsx)(t.code,{children:"metaManger"})," and any of the provided getter methods or iterators, we also render these tags automatically into ",(0,r.jsx)(t.code,{children:"#{meta}"})," content variable."]}),"\n",(0,r.jsxs)(t.p,{children:["You can then use this content variable in ",(0,r.jsx)(t.code,{children:"DocumentView"})," to easily render whole meta collection (including ",(0,r.jsx)(t.strong,{children:"document title"}),") matching meta information set for current controller in ",(0,r.jsx)(t.code,{children:"setMetaParams"})," method."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",children:"<head>\n // highlight-next-line\n {'#{meta}'}\n {'#{styles}'}\n {'#{revivalSettings}'}\n {'#{runner}'}\n</head>\n"})}),"\n",(0,r.jsx)(t.admonition,{type:"note",children:(0,r.jsxs)(t.p,{children:["While you can also use this content variable in ",(0,r.jsx)(t.code,{children:"spa.ejs"}),", it will always be empty, since client rendering is handled separately. See the ",(0,r.jsx)(t.a,{href:"#rendering-on-client-using-pagemetahandler",children:"next section"})," for more information."]})}),"\n",(0,r.jsxs)(t.h3,{id:"rendering-on-client-using-pagemetahandler",children:["Rendering on client using ",(0,r.jsx)(t.code,{children:"PageMetaHandler"})]}),"\n",(0,r.jsxs)(t.p,{children:["You may have noticed that the server-side rendered meta tags have ",(0,r.jsx)(t.code,{children:"data-ima-meta"})," data attribute. This ",(0,r.jsx)(t.strong,{children:"serves as an identification for meta tags that are handled by IMA.js"})," (both on server and client). These also correspond to the values you have set using ",(0,r.jsx)(t.code,{children:"metaManager"})," setters."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-html",children:'<meta data-ima-meta name="twitter:title" content="IMA.js">\n'})}),"\n",(0,r.jsxs)(t.p,{children:["While navigating between pages in SPA, the meta tags are** updated automatically** using ",(0,r.jsx)(t.code,{children:"PageMetaHandler"}),". This manager always ",(0,r.jsx)(t.strong,{children:"removes old meta tags"})," identified by the data attribute, before rendering new ones. And since ",(0,r.jsx)(t.code,{children:"metaManager"})," clears it's meta collection between routes, this means that each page renders only those tags that are set in ",(0,r.jsx)(t.code,{children:"metaManager"})," in current page controller using ",(0,r.jsx)(t.code,{children:"setMetaParams"})," method."]}),"\n",(0,r.jsx)(t.h3,{id:"global-meta-tags",children:"Global meta tags"}),"\n",(0,r.jsxs)(t.p,{children:['Now that you know how IMA.js handles meta tag updates between routes, you may ask yourself a question "how to handle global meta tags like ',(0,r.jsx)(t.code,{children:"viewport"}),", ",(0,r.jsx)(t.code,{children:"charset"}),' etc.?"']}),"\n",(0,r.jsxs)(t.p,{children:["The solution is pretty simple - just define them in ",(0,r.jsx)(t.code,{children:"DocumentView"})," and ",(0,r.jsx)(t.code,{children:"spa.ejs"})," templates, tags that don't have ",(0,r.jsx)(t.code,{children:"data-ima-meta"})," attribute are not touched at all by the ",(0,r.jsx)(t.code,{children:"PageMetaHandler"}),"."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",children:"<head>\n // highlight-next-line\n <meta charSet='utf-8' />\n // highlight-next-line\n <meta httpEquiv='X-UA-Compatible' content='IE=edge' />\n // highlight-next-line\n <meta name='viewport' content='width=device-width, initial-scale=1' />\n</head>\n"})}),"\n",(0,r.jsxs)(t.p,{children:["Alternative solution is to always set these values in every page controller you have. For this you can use helpers or create custom ",(0,r.jsx)(t.code,{children:"AbstractController"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>o});var a=n(3696);const r={},s=a.createContext(r);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fc65f0be.a22dfaa4.js b/assets/js/fc65f0be.a22dfaa4.js deleted file mode 100644 index 778a95493..000000000 --- a/assets/js/fc65f0be.a22dfaa4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1956],{5680:(e,t,a)=>{a.d(t,{xA:()=>m,yg:()=>c});var n=a(6540);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),g=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},m=function(e){var t=g(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),p=g(a),u=r,c=p["".concat(s,".").concat(u)]||p[u]||d[u]||i;return a?n.createElement(c,o(o({ref:t},m),{},{components:a})):n.createElement(c,o({ref:t},m))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var g=2;g<i;g++)o[g]=a[g];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},7216:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var n=a(8102),r=(a(6540),a(5680));const i={title:"SEO & Meta Manager",description:"Basic features > SEO & Meta Manager"},o=void 0,l={unversionedId:"basic-features/seo-and-meta-manager",id:"basic-features/seo-and-meta-manager",title:"SEO & Meta Manager",description:"Basic features > SEO & Meta Manager",source:"@site/../docs/basic-features/seo-and-meta-manager.md",sourceDirName:"basic-features",slug:"/basic-features/seo-and-meta-manager",permalink:"/basic-features/seo-and-meta-manager",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/basic-features/seo-and-meta-manager.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"SEO & Meta Manager",description:"Basic features > SEO & Meta Manager"},sidebar:"docs",previous:{title:"Page State",permalink:"/basic-features/page-state"},next:{title:"Dictionary",permalink:"/basic-features/dictionary"}},s={},g=[{value:"Managing meta tags",id:"managing-meta-tags",level:2},{value:"setTitle()",id:"settitle",level:3},{value:"setMetaName()",id:"setmetaname",level:3},{value:"setMetaProperty()",id:"setmetaproperty",level:3},{value:"setLink()",id:"setlink",level:3},{value:"Meta value getters",id:"meta-value-getters",level:2},{value:"Rendering meta tags",id:"rendering-meta-tags",level:2},{value:"Rendering on server using the <code>#{meta}</code> content variable",id:"rendering-on-server-using-the-meta-content-variable",level:3},{value:"Rendering on client using <code>PageMetaHandler</code>",id:"rendering-on-client-using-pagemetahandler",level:3},{value:"Global meta tags",id:"global-meta-tags",level:3}],m={toc:g},p="wrapper";function d(e){let{components:t,...a}=e;return(0,r.yg)(p,(0,n.A)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"If you've read the ",(0,r.yg)("a",{parentName:"p",href:"./controller-lifecycle"},"Controller lifecycle")," page you've\nprobably come along the ",(0,r.yg)("a",{parentName:"p",href:"/basic-features/controller-lifecycle#setmetaparams-serverclient"},(0,r.yg)("inlineCode",{parentName:"a"},"setMetaParams")),"\nmethod. This method is dedicated to set meta information for a specific\npage and you are provided with everything you need ",(0,r.yg)("em",{parentName:"p"},"(current state, MetaManager,\nrouter, dictionary and settings)"),"."),(0,r.yg)("p",null,"Meta manager offers many methods to work with document meta data. From ",(0,r.yg)("inlineCode",{parentName:"p"},"#{meta}")," content variable, to methods for managing ",(0,r.yg)("strong",{parentName:"p"},"title")," and other ",(0,r.yg)("strong",{parentName:"p"},"meta")," tags collections."),(0,r.yg)("h2",{id:"managing-meta-tags"},"Managing meta tags"),(0,r.yg)("p",null,"As mentioned above, all meta management is done in ",(0,r.yg)("inlineCode",{parentName:"p"},"setMetaParams")," method in ",(0,r.yg)("strong",{parentName:"p"},"route controller"),". Using ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManager")," and provied setters for ",(0,r.yg)("strong",{parentName:"p"},"title"),", ",(0,r.yg)("strong",{parentName:"p"},"meta name"),", ",(0,r.yg)("strong",{parentName:"p"},"meta properties")," and ",(0,r.yg)("strong",{parentName:"p"},"link")," collections, you can manage contents of your meta tags easily with the help of additional arguments that provide everything you need (current state, MetaManager, router, dictionary and settings)."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-javascript",metastring:"title=./app/page/order/OrderController.js",title:"./app/page/order/OrderController.js"},"setMetaParams(loadedResources, metaManager, router, dictionary, settings) {\n const { order } = loadedResources;\n\n metaManager.setTitle(`Order #${order.id} - ${settings.general.appTitle}`);\n metaManager.setMetaName(\n 'description',\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'\n );\n\n metaManager.setMetaProperty('og:image', order.thumbnailUrl);\n\n const orderDetailLink = router.link('order-detail', {\n orderId: order.id\n });\n\n metaManager.setLink('canonical', orderDetailLink);\n}\n")),(0,r.yg)("admonition",{type:"info"},(0,r.yg)("p",{parentName:"admonition"},(0,r.yg)("inlineCode",{parentName:"p"},"undefined")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"null")," values are filtered out when rendering meta tags. If you still want to render meta tags with empty values, use empty strings ",(0,r.yg)("inlineCode",{parentName:"p"},"''"),".")),(0,r.yg)("h3",{id:"settitle"},"setTitle()"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("inlineCode",{parentName:"p"},"(title: string) => MetaManager"))),(0,r.yg)("p",null,"Use to set document title."),(0,r.yg)("h3",{id:"setmetaname"},"setMetaName()"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("inlineCode",{parentName:"p"},"(name: string, content: MetaValue, attr?: MetaAttributes) => MetaManager"))),(0,r.yg)("p",null,"Sets the information to be used in ",(0,r.yg)("inlineCode",{parentName:"p"},'<meta name="..." content="..." />'),"."),(0,r.yg)("h3",{id:"setmetaproperty"},"setMetaProperty()"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("inlineCode",{parentName:"p"},"(name: string, property: MetaValue, attr?: MetaAttributes) => MetaManager"))),(0,r.yg)("p",null,"These methods are similar to the two above except that these are used for ",(0,r.yg)("inlineCode",{parentName:"p"},'<meta property="..." content="..." />'),"."),(0,r.yg)("h3",{id:"setlink"},"setLink()"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},(0,r.yg)("inlineCode",{parentName:"p"},"(relation: string, href: MetaValue, attr?: MetaAttributes) => MetaManager"))),(0,r.yg)("p",null,"Adds information to the MetaManager to be later used in ",(0,r.yg)("inlineCode",{parentName:"p"},'<link rel="..." href="..." />')," tag."),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"All 3 methods defined above also supports additional optional attributes. This is an object of key-value pairs representing additional meta tag attributes that are used in certain situations."),(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-js"},"\nmetaManager.setMetaProperty('og:image', order.thumbnailUrl, {\n size: 'large',\n authorUrl: 'https://mysite.com'\n});\n\n"))),(0,r.yg)("h2",{id:"meta-value-getters"},"Meta value getters"),(0,r.yg)("p",null,"Each setter has corresponding getter returning and object with key-value pairs representing the meta tag values. Additionally you can use key and value iterator methods."),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"getTitle()")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"getMetaName()"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"getMetaNames()"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"getMetaNamesIterator()")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"getMetaProperty()"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"setMetaProperties()"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"setMetaPropertiesIterator()")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"getLink()"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"getLinks()"),", ",(0,r.yg)("inlineCode",{parentName:"li"},"getLinksIterator()"))),(0,r.yg)("admonition",{type:"tip"},(0,r.yg)("p",{parentName:"admonition"},"Since the getter methods return object with key-value attributes where their names correspond to the html tag attribute name, you can use following shortcuts to render (these include optional attributes):"),(0,r.yg)("pre",{parentName:"admonition"},(0,r.yg)("code",{parentName:"pre",className:"language-jsx"},"<meta\n property=\"og:image\"\n {...this.props.metaManager.getMetaProperty('og:image')}\n/>\n<meta\n link=\"canonical\"\n {...this.props.metaManager.getLink('canonical')}\n/>\n"))),(0,r.yg)("h2",{id:"rendering-meta-tags"},"Rendering meta tags"),(0,r.yg)("p",null,"Meta tags are handled differently on server an client, see following sections for more information on this matter."),(0,r.yg)("h3",{id:"rendering-on-server-using-the-meta-content-variable"},"Rendering on server using the ",(0,r.yg)("inlineCode",{parentName:"h3"},"#{meta}")," content variable"),(0,r.yg)("p",null,"While you can manually render meta tags in the document view using ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManger")," and any of the provided getter methods or iterators, we also render these tags automatically into ",(0,r.yg)("inlineCode",{parentName:"p"},"#{meta}")," content variable."),(0,r.yg)("p",null,"You can then use this content variable in ",(0,r.yg)("inlineCode",{parentName:"p"},"DocumentView")," to easily render whole meta collection (including ",(0,r.yg)("strong",{parentName:"p"},"document title"),") matching meta information set for current controller in ",(0,r.yg)("inlineCode",{parentName:"p"},"setMetaParams")," method."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",title:"./app/document/DocumentView.jsx"},"<head>\n // highlight-next-line\n {'#{meta}'}\n {'#{styles}'}\n {'#{revivalSettings}'}\n {'#{runner}'}\n</head>\n")),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"While you can also use this content variable in ",(0,r.yg)("inlineCode",{parentName:"p"},"spa.ejs"),", it will always be empty, since client rendering is handled separately. See the ",(0,r.yg)("a",{parentName:"p",href:"#rendering-on-client-using-pagemetahandler"},"next section")," for more information.")),(0,r.yg)("h3",{id:"rendering-on-client-using-pagemetahandler"},"Rendering on client using ",(0,r.yg)("inlineCode",{parentName:"h3"},"PageMetaHandler")),(0,r.yg)("p",null,"You may have noticed that the server-side rendered meta tags have ",(0,r.yg)("inlineCode",{parentName:"p"},"data-ima-meta")," data attribute. This ",(0,r.yg)("strong",{parentName:"p"},"serves as an identification for meta tags that are handled by IMA.js")," (both on server and client). These also correspond to the values you have set using ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManager")," setters."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-html"},'<meta data-ima-meta name="twitter:title" content="IMA.js">\n')),(0,r.yg)("p",null,"While navigating between pages in SPA, the meta tags are",(0,r.yg)("strong",{parentName:"p"}," updated automatically")," using ",(0,r.yg)("inlineCode",{parentName:"p"},"PageMetaHandler"),". This manager always ",(0,r.yg)("strong",{parentName:"p"},"removes old meta tags")," identified by the data attribute, before rendering new ones. And since ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManager")," clears it's meta collection between routes, this means that each page renders only those tags that are set in ",(0,r.yg)("inlineCode",{parentName:"p"},"metaManager")," in current page controller using ",(0,r.yg)("inlineCode",{parentName:"p"},"setMetaParams")," method."),(0,r.yg)("h3",{id:"global-meta-tags"},"Global meta tags"),(0,r.yg)("p",null,'Now that you know how IMA.js handles meta tag updates between routes, you may ask yourself a question "how to handle global meta tags like ',(0,r.yg)("inlineCode",{parentName:"p"},"viewport"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"charset"),' etc.?"'),(0,r.yg)("p",null,"The solution is pretty simple - just define them in ",(0,r.yg)("inlineCode",{parentName:"p"},"DocumentView")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"spa.ejs")," templates, tags that don't have ",(0,r.yg)("inlineCode",{parentName:"p"},"data-ima-meta")," attribute are not touched at all by the ",(0,r.yg)("inlineCode",{parentName:"p"},"PageMetaHandler"),"."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-jsx",metastring:"title=./app/document/DocumentView.jsx",title:"./app/document/DocumentView.jsx"},"<head>\n // highlight-next-line\n <meta charSet='utf-8' />\n // highlight-next-line\n <meta httpEquiv='X-UA-Compatible' content='IE=edge' />\n // highlight-next-line\n <meta name='viewport' content='width=device-width, initial-scale=1' />\n</head>\n")),(0,r.yg)("p",null,"Alternative solution is to always set these values in every page controller you have. For this you can use helpers or create custom ",(0,r.yg)("inlineCode",{parentName:"p"},"AbstractController"),"."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fc738ad7.776d1185.js b/assets/js/fc738ad7.776d1185.js new file mode 100644 index 000000000..5c550bbad --- /dev/null +++ b/assets/js/fc738ad7.776d1185.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6034],{6990:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>t,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/type-aliases/GenericErrorParams","title":"Type Alias: GenericErrorParams","description":"GenericErrorParams: object","source":"@site/../docs/api/@ima/core/type-aliases/GenericErrorParams.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/GenericErrorParams","permalink":"/api/@ima/core/type-aliases/GenericErrorParams","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/GenericErrorParams.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: ExecutionJob()","permalink":"/api/@ima/core/type-aliases/ExecutionJob"},"next":{"title":"Type Alias: HttpAgentResponse\\\\<B\\\\>","permalink":"/api/@ima/core/type-aliases/HttpAgentResponse"}}');var a=s(2540),i=s(3023);const t={},c="Type Alias: GenericErrorParams",o={},l=[{value:"Type declaration",id:"type-declaration",level:2},{value:"Index Signature",id:"index-signature",level:2},{value:"cause?",id:"cause",level:3},{value:"status?",id:"status",level:3}];function d(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.header,{children:(0,a.jsx)(r.h1,{id:"type-alias-genericerrorparams",children:"Type Alias: GenericErrorParams"})}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"GenericErrorParams"}),": ",(0,a.jsx)(r.code,{children:"object"})]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Defined in: ",(0,a.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/error/GenericError.ts#L3",children:"packages/core/src/error/GenericError.ts:3"})]}),"\n",(0,a.jsx)(r.h2,{id:"type-declaration",children:"Type declaration"}),"\n",(0,a.jsx)(r.h2,{id:"index-signature",children:"Index Signature"}),"\n",(0,a.jsxs)(r.p,{children:["[",(0,a.jsx)(r.code,{children:"key"}),": ",(0,a.jsx)(r.code,{children:"string"}),"]: ",(0,a.jsx)(r.code,{children:"unknown"})]}),"\n",(0,a.jsx)(r.h3,{id:"cause",children:"cause?"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"optional"})," ",(0,a.jsx)(r.strong,{children:"cause"}),": ",(0,a.jsx)(r.code,{children:"Error"})," | ",(0,a.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,a.jsx)(r.h3,{id:"status",children:"status?"}),"\n",(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.code,{children:"optional"})," ",(0,a.jsx)(r.strong,{children:"status"}),": ",(0,a.jsx)(r.code,{children:"number"})]}),"\n"]})]})}function p(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,r,s)=>{s.d(r,{R:()=>t,x:()=>c});var n=s(3696);const a={},i=n.createContext(a);function t(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fcb7ea42.aa9f626d.js b/assets/js/fcb7ea42.aa9f626d.js new file mode 100644 index 000000000..31a7daa6b --- /dev/null +++ b/assets/js/fcb7ea42.aa9f626d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3355],{2779:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"api/@ima/core/type-aliases/NativeListener","title":"Type Alias: NativeListener()","description":"NativeListener: (event) => unknown","source":"@site/../docs/api/@ima/core/type-aliases/NativeListener.md","sourceDirName":"api/@ima/core/type-aliases","slug":"/api/@ima/core/type-aliases/NativeListener","permalink":"/api/@ima/core/type-aliases/NativeListener","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/type-aliases/NativeListener.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Type Alias: MetaValue","permalink":"/api/@ima/core/type-aliases/MetaValue"},"next":{"title":"Type Alias: OCInjectable\\\\<T\\\\>","permalink":"/api/@ima/core/type-aliases/OCInjectable"}}');var a=n(2540),i=n(3023);const r={},c="Type Alias: NativeListener()",o={},l=[{value:"Parameters",id:"parameters",level:2},{value:"event",id:"event",level:3},{value:"Returns",id:"returns",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"type-alias-nativelistener",children:"Type Alias: NativeListener()"})}),"\n",(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"NativeListener"}),": (",(0,a.jsx)(t.code,{children:"event"}),") => ",(0,a.jsx)(t.code,{children:"unknown"})]}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Defined in: ",(0,a.jsx)(t.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L7",children:"packages/core/src/event/EventBus.ts:7"})]}),"\n",(0,a.jsx)(t.h2,{id:"parameters",children:"Parameters"}),"\n",(0,a.jsx)(t.h3,{id:"event",children:"event"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"CustomEvent"})," | ",(0,a.jsx)(t.code,{children:"Event"})]}),"\n",(0,a.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.code,{children:"unknown"})})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var s=n(3696);const a={},i=s.createContext(a);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fe1eb9bc.1e1eaad7.js b/assets/js/fe1eb9bc.1e1eaad7.js deleted file mode 100644 index c0c8e60b2..000000000 --- a/assets/js/fe1eb9bc.1e1eaad7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1820],{5680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>m});var i=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,i,a=function(e,n){if(null==e)return{};var t,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=i.createContext({}),s=function(e){var n=i.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},c=function(e){var n=s(e.components);return i.createElement(l.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},g=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(t),g=a,m=u["".concat(l,".").concat(g)]||u[g]||d[g]||r;return t?i.createElement(m,o(o({ref:n},c),{},{components:t})):i.createElement(m,o({ref:n},c))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,o=new Array(r);o[0]=g;var p={};for(var l in n)hasOwnProperty.call(n,l)&&(p[l]=n[l]);p.originalType=e,p[u]="string"==typeof e?e:a,o[1]=p;for(var s=2;s<r;s++)o[s]=t[s];return i.createElement.apply(null,o)}return i.createElement.apply(null,t)}g.displayName="MDXCreateElement"},6103:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>p,toc:()=>s});var i=t(8102),a=(t(6540),t(5680));const r={title:"Configuration options",description:"Introduction > IMA.js application configuration options"},o=void 0,p={unversionedId:"introduction/configuration",id:"introduction/configuration",title:"Configuration options",description:"Introduction > IMA.js application configuration options",source:"@site/../docs/introduction/configuration.md",sourceDirName:"introduction",slug:"/introduction/configuration",permalink:"/introduction/configuration",draft:!1,editUrl:"https://github.com/seznam/ima/tree/master/docs/../docs/introduction/configuration.md",tags:[],version:"current",lastUpdatedBy:"Jan \u0160ime\u010dek",lastUpdatedAt:1738153160,formattedLastUpdatedAt:"Jan 29, 2025",frontMatter:{title:"Configuration options",description:"Introduction > IMA.js application configuration options"},sidebar:"docs",previous:{title:"Getting Started with IMA.js",permalink:"/introduction/getting-started"},next:{title:"Controller lifecycle",permalink:"/basic-features/controller-lifecycle"}},l={},s=[{value:"Build and environment configuration",id:"build-and-environment-configuration",level:2},{value:"Application configuration",id:"application-configuration",level:2}],c={toc:s},u="wrapper";function d(e){let{components:n,...t}=e;return(0,a.yg)(u,(0,i.A)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"IMA.js offers many ways to configure and customize your application to your needs.\nHere's a list describing all possible configuration files and what they do."),(0,a.yg)("h2",{id:"build-and-environment-configuration"},"Build and environment configuration"),(0,a.yg)("admonition",{type:"info"},(0,a.yg)("p",{parentName:"admonition"},"Environment configuration is resolved on server and passed to the client settings under ",(0,a.yg)("inlineCode",{parentName:"p"},"config")," param.")),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"gulpConfig.js")," contains configuration for the gulp tasks we use to build and\nrun your application.")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"app/main.js")," is the bootstrap of your application. You don't need to concern\nyourself with this file usually.")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"app/build.js")," specifies which JavaScript, JSX, Less CSS and language files\nyour application consists of and should be included in your built\napplication."),(0,a.yg)("pre",{parentName:"li"},(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"let js = ['./app/!(assets|gulp)/**/!(*Spec).{js,jsx}'];\n\nlet less = [\n './app/assets/less/**/*.less',\n './app/component/**/*.less',\n './app/page/**/*.less'\n];\n\nlet languages = {\n en: ['./app/**/*EN.json']\n};\n")),(0,a.yg)("blockquote",{parentName:"li"},(0,a.yg)("p",{parentName:"blockquote"},(0,a.yg)("strong",{parentName:"p"},"Note:")," Files can be specified by a filename expansion as you can see\nabove.")),(0,a.yg)("p",{parentName:"li"},"The file also specifies the 3rd party vendor libraries to link as ES2015\nmodules in your application, separated into three groups: common (shared),\nserver-side and client-side."),(0,a.yg)("pre",{parentName:"li"},(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"let vendors = {\n common: ['ima'],\n\n server: [],\n\n client: []\n};\n")),(0,a.yg)("p",{parentName:"li"},"Last thing configured in the ",(0,a.yg)("inlineCode",{parentName:"p"},"app/build.js")," file is a list of compiled\nJavaScript and CSS files that should be specified in the main html markup."),(0,a.yg)("pre",{parentName:"li"},(0,a.yg)("code",{parentName:"pre",className:"language-javascript"},"let bundle = {\n js: ['...'],\n es: ['...'],\n css: ['...']\n};\n"))),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"app/environment.js")," configures the server-side environment. Note that the\n",(0,a.yg)("inlineCode",{parentName:"p"},"dev")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"test")," environment configuration automatically inherits values from\nthe ",(0,a.yg)("inlineCode",{parentName:"p"},"prod")," environment (except for the ",(0,a.yg)("inlineCode",{parentName:"p"},"$Language")," which has to be configured\nindividually). This configuration is well described in the comments so see\n",(0,a.yg)("a",{parentName:"p",href:"https://github.com/seznam/ima/blob/master/packages/create-ima-app/examples/hello/environment.js"},"the file"),"\nfor full reference."))),(0,a.yg)("h2",{id:"application-configuration"},"Application configuration"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"app/config/services.js")," by default this file specifies how the fatal\napplication errors should be handled at the client side. Also provides a way\nto configure other application-wide settings or 3rd party libraries\n(analytics, etc.).")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"app/config/routes.js")," configures your router, mapping routes to the\ncontrollers and views in your application. For more information see the\n",(0,a.yg)("a",{parentName:"p",href:"/basic-features/routing/introduction"},"Routing")," page.")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},(0,a.yg)("inlineCode",{parentName:"p"},"app/config/settings.js")," configures your application and IMA.js services. You\ncan freely extend the configuration as you like except for the properties\nprefixed by dollar sign ",(0,a.yg)("inlineCode",{parentName:"p"},"$"),".\nNote that, again, the ",(0,a.yg)("inlineCode",{parentName:"p"},"dev")," and ",(0,a.yg)("inlineCode",{parentName:"p"},"test")," environment configuration\nautomatically inherits values from the ",(0,a.yg)("inlineCode",{parentName:"p"},"prod")," environment.")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},"and finally, the ",(0,a.yg)("inlineCode",{parentName:"p"},"app/config/bind.js")," configures the\n",(0,a.yg)("a",{parentName:"p",href:"/basic-features/object-container"},"Object container"),"."))),(0,a.yg)("p",null,"All of these files are necessary and must remain in their locations."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fe1eb9bc.c394522c.js b/assets/js/fe1eb9bc.c394522c.js new file mode 100644 index 000000000..4a99b9bfe --- /dev/null +++ b/assets/js/fe1eb9bc.c394522c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[1820],{8880:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"introduction/configuration","title":"Configuration options","description":"Introduction > IMA.js application configuration options","source":"@site/../docs/introduction/configuration.md","sourceDirName":"introduction","slug":"/introduction/configuration","permalink":"/introduction/configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/introduction/configuration.md","tags":[],"version":"current","lastUpdatedBy":"Jan \u0160ime\u010dek","lastUpdatedAt":1738746161000,"frontMatter":{"title":"Configuration options","description":"Introduction > IMA.js application configuration options"},"sidebar":"docs","previous":{"title":"Getting Started with IMA.js","permalink":"/introduction/getting-started"},"next":{"title":"Controller lifecycle","permalink":"/basic-features/controller-lifecycle"}}');var t=i(2540),s=i(3023);const r={title:"Configuration options",description:"Introduction > IMA.js application configuration options"},a=void 0,c={},l=[{value:"Build and environment configuration",id:"build-and-environment-configuration",level:2},{value:"Application configuration",id:"application-configuration",level:2}];function d(n){const e={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"IMA.js offers many ways to configure and customize your application to your needs.\nHere's a list describing all possible configuration files and what they do."}),"\n",(0,t.jsx)(e.h2,{id:"build-and-environment-configuration",children:"Build and environment configuration"}),"\n",(0,t.jsx)(e.admonition,{type:"info",children:(0,t.jsxs)(e.p,{children:["Environment configuration is resolved on server and passed to the client settings under ",(0,t.jsx)(e.code,{children:"config"})," param."]})}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"gulpConfig.js"})," contains configuration for the gulp tasks we use to build and\nrun your application."]}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"app/main.js"})," is the bootstrap of your application. You don't need to concern\nyourself with this file usually."]}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"app/build.js"})," specifies which JavaScript, JSX, Less CSS and language files\nyour application consists of and should be included in your built\napplication."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-javascript",children:"let js = ['./app/!(assets|gulp)/**/!(*Spec).{js,jsx}'];\n\nlet less = [\n './app/assets/less/**/*.less',\n './app/component/**/*.less',\n './app/page/**/*.less'\n];\n\nlet languages = {\n en: ['./app/**/*EN.json']\n};\n"})}),"\n",(0,t.jsxs)(e.blockquote,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"Note:"})," Files can be specified by a filename expansion as you can see\nabove."]}),"\n"]}),"\n",(0,t.jsx)(e.p,{children:"The file also specifies the 3rd party vendor libraries to link as ES2015\nmodules in your application, separated into three groups: common (shared),\nserver-side and client-side."}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-javascript",children:"let vendors = {\n common: ['ima'],\n\n server: [],\n\n client: []\n};\n"})}),"\n",(0,t.jsxs)(e.p,{children:["Last thing configured in the ",(0,t.jsx)(e.code,{children:"app/build.js"})," file is a list of compiled\nJavaScript and CSS files that should be specified in the main html markup."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-javascript",children:"let bundle = {\n js: ['...'],\n es: ['...'],\n css: ['...']\n};\n"})}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"app/environment.js"})," configures the server-side environment. Note that the\n",(0,t.jsx)(e.code,{children:"dev"})," and ",(0,t.jsx)(e.code,{children:"test"})," environment configuration automatically inherits values from\nthe ",(0,t.jsx)(e.code,{children:"prod"})," environment (except for the ",(0,t.jsx)(e.code,{children:"$Language"})," which has to be configured\nindividually). This configuration is well described in the comments so see\n",(0,t.jsx)(e.a,{href:"https://github.com/seznam/ima/blob/master/packages/create-ima-app/examples/hello/environment.js",children:"the file"}),"\nfor full reference."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(e.h2,{id:"application-configuration",children:"Application configuration"}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"app/config/services.js"})," by default this file specifies how the fatal\napplication errors should be handled at the client side. Also provides a way\nto configure other application-wide settings or 3rd party libraries\n(analytics, etc.)."]}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"app/config/routes.js"})," configures your router, mapping routes to the\ncontrollers and views in your application. For more information see the\n",(0,t.jsx)(e.a,{href:"/basic-features/routing/introduction",children:"Routing"})," page."]}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:"app/config/settings.js"})," configures your application and IMA.js services. You\ncan freely extend the configuration as you like except for the properties\nprefixed by dollar sign ",(0,t.jsx)(e.code,{children:"$"}),".\nNote that, again, the ",(0,t.jsx)(e.code,{children:"dev"})," and ",(0,t.jsx)(e.code,{children:"test"})," environment configuration\nautomatically inherits values from the ",(0,t.jsx)(e.code,{children:"prod"})," environment."]}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:["and finally, the ",(0,t.jsx)(e.code,{children:"app/config/bind.js"})," configures the\n",(0,t.jsx)(e.a,{href:"/basic-features/object-container",children:"Object container"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(e.p,{children:"All of these files are necessary and must remain in their locations."})]})}function p(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}},3023:(n,e,i)=>{i.d(e,{R:()=>r,x:()=>a});var o=i(3696);const t={},s=o.createContext(t);function r(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:r(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/fe637ad5.4859c512.js b/assets/js/fe637ad5.4859c512.js new file mode 100644 index 000000000..05fa1bd76 --- /dev/null +++ b/assets/js/fe637ad5.4859c512.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[7224],{1659:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"api/@ima/core/interfaces/BootServices","title":"Interface: BootServices","description":"Defined in97","source":"@site/../docs/api/@ima/core/interfaces/BootServices.md","sourceDirName":"api/@ima/core/interfaces","slug":"/api/@ima/core/interfaces/BootServices","permalink":"/api/@ima/core/interfaces/BootServices","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/interfaces/BootServices.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Interface: BootConfig","permalink":"/api/@ima/core/interfaces/BootConfig"},"next":{"title":"Interface: DictionaryMap","permalink":"/api/@ima/core/interfaces/DictionaryMap"}}');var c=r(2540),t=r(3023);const o={},i="Interface: BootServices",a={},l=[{value:"Properties",id:"properties",level:2},{value:"$IMA",id:"ima",level:3},{value:"dictionary",id:"dictionary",level:3},{value:"request",id:"request",level:3},{value:"response",id:"response",level:3},{value:"router",id:"router",level:3},{value:"$Host",id:"host",level:4},{value:"$LanguagePartPath",id:"languagepartpath",level:4},{value:"$Path",id:"path",level:4},{value:"$Protocol",id:"protocol",level:4},{value:"$Root",id:"root",level:4}];function d(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.header,{children:(0,c.jsx)(s.h1,{id:"interface-bootservices",children:"Interface: BootServices"})}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L97",children:"packages/core/src/Bootstrap.ts:97"})]}),"\n",(0,c.jsx)(s.h2,{id:"properties",children:"Properties"}),"\n",(0,c.jsx)(s.h3,{id:"ima",children:"$IMA"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"$IMA"}),": ",(0,c.jsx)(s.a,{href:"/api/@ima/core/interfaces/GlobalImaObject",children:(0,c.jsx)(s.code,{children:"GlobalImaObject"})})]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L100",children:"packages/core/src/Bootstrap.ts:100"})]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h3,{id:"dictionary",children:"dictionary"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"dictionary"}),": ",(0,c.jsx)(s.a,{href:"/api/@ima/core/type-aliases/DictionaryConfig",children:(0,c.jsx)(s.code,{children:"DictionaryConfig"})})]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L101",children:"packages/core/src/Bootstrap.ts:101"})]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h3,{id:"request",children:"request"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"request"}),": ",(0,c.jsx)(s.code,{children:"null"})," | ",(0,c.jsx)(s.code,{children:"Request"})]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L99",children:"packages/core/src/Bootstrap.ts:99"})]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h3,{id:"response",children:"response"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"response"}),": ",(0,c.jsx)(s.code,{children:"null"})," | ",(0,c.jsx)(s.code,{children:"Response"})]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L98",children:"packages/core/src/Bootstrap.ts:98"})]}),"\n",(0,c.jsx)(s.hr,{}),"\n",(0,c.jsx)(s.h3,{id:"router",children:"router"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"router"}),": ",(0,c.jsx)(s.code,{children:"object"})]}),"\n"]}),"\n",(0,c.jsxs)(s.p,{children:["Defined in: ",(0,c.jsx)(s.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/Bootstrap.ts#L102",children:"packages/core/src/Bootstrap.ts:102"})]}),"\n",(0,c.jsx)(s.h4,{id:"host",children:"$Host"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"$Host"}),": ",(0,c.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsx)(s.h4,{id:"languagepartpath",children:"$LanguagePartPath"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"$LanguagePartPath"}),": ",(0,c.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsx)(s.h4,{id:"path",children:"$Path"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"$Path"}),": ",(0,c.jsx)(s.code,{children:"string"})]}),"\n"]}),"\n",(0,c.jsx)(s.h4,{id:"protocol",children:"$Protocol"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"$Protocol"}),": ",(0,c.jsx)(s.code,{children:'"http:"'})," | ",(0,c.jsx)(s.code,{children:'"https:"'})]}),"\n"]}),"\n",(0,c.jsx)(s.h4,{id:"root",children:"$Root"}),"\n",(0,c.jsxs)(s.blockquote,{children:["\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.strong,{children:"$Root"}),": ",(0,c.jsx)(s.code,{children:"string"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},3023:(e,s,r)=>{r.d(s,{R:()=>o,x:()=>i});var n=r(3696);const c={},t=n.createContext(c);function o(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:o(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff164e89.408e18cf.js b/assets/js/ff164e89.408e18cf.js new file mode 100644 index 000000000..e15883ee0 --- /dev/null +++ b/assets/js/ff164e89.408e18cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[6797],{5499:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>t,contentTitle:()=>a,default:()=>o,frontMatter:()=>c,metadata:()=>d,toc:()=>l});const d=JSON.parse('{"id":"api/@ima/react-page-renderer/classes/ServerPageRenderer","title":"Class: ServerPageRenderer","description":"Defined in22","source":"@site/../docs/api/@ima/react-page-renderer/classes/ServerPageRenderer.md","sourceDirName":"api/@ima/react-page-renderer/classes","slug":"/api/@ima/react-page-renderer/classes/ServerPageRenderer","permalink":"/api/@ima/react-page-renderer/classes/ServerPageRenderer","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/react-page-renderer/classes/ServerPageRenderer.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: PageRendererFactory","permalink":"/api/@ima/react-page-renderer/classes/PageRendererFactory"},"next":{"title":"Class: ViewAdapter","permalink":"/api/@ima/react-page-renderer/classes/ViewAdapter"}}');var s=n(2540),i=n(3023);const c={},a="Class: ServerPageRenderer",t={},l=[{value:"Extends",id:"extends",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new ServerPageRenderer()",id:"new-serverpagerenderer",level:3},{value:"Parameters",id:"parameters",level:4},{value:"factory",id:"factory",level:5},{value:"helpers",id:"helpers",level:5},{value:"dispatcher",id:"dispatcher",level:5},{value:"settings",id:"settings",level:5},{value:"Returns",id:"returns",level:4},{value:"Overrides",id:"overrides",level:4},{value:"Properties",id:"properties",level:2},{value:"_dispatcher",id:"_dispatcher",level:3},{value:"Inherited from",id:"inherited-from",level:4},{value:"_factory",id:"_factory",level:3},{value:"Inherited from",id:"inherited-from-1",level:4},{value:"_helpers",id:"_helpers",level:3},{value:"Inherited from",id:"inherited-from-2",level:4},{value:"_settings",id:"_settings",level:3},{value:"Inherited from",id:"inherited-from-3",level:4},{value:"_viewAdapter?",id:"_viewadapter",level:3},{value:"Inherited from",id:"inherited-from-4",level:4},{value:"_viewAdapterProps",id:"_viewadapterprops",level:3},{value:"Inherited from",id:"inherited-from-5",level:4},{value:"Methods",id:"methods",level:2},{value:"_generateViewAdapterProps()",id:"_generateviewadapterprops",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"managedRootView",id:"managedrootview",level:5},{value:"pageView",id:"pageview",level:5},{value:"state",id:"state",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Inherited from",id:"inherited-from-6",level:4},{value:"_getDocumentView()",id:"_getdocumentview",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"routeOptions",id:"routeoptions",level:5},{value:"Returns",id:"returns-2",level:4},{value:"Inherited from",id:"inherited-from-7",level:4},{value:"_getViewAdapterElement()",id:"_getviewadapterelement",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"props",id:"props",level:5},{value:"Returns",id:"returns-3",level:4},{value:"Inherit Doc",id:"inherit-doc",level:4},{value:"Inherited from",id:"inherited-from-8",level:4},{value:"_prepareViewAdapter()",id:"_prepareviewadapter",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"controller",id:"controller",level:5},{value:"pageView",id:"pageview-1",level:5},{value:"routeOptions",id:"routeoptions-1",level:5},{value:"Returns",id:"returns-4",level:4},{value:"Inherited from",id:"inherited-from-9",level:4},{value:"mount()",id:"mount",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"controller",id:"controller-1",level:5},{value:"pageView",id:"pageview-2",level:5},{value:"pageResources",id:"pageresources",level:5},{value:"routeOptions",id:"routeoptions-2",level:5},{value:"Returns",id:"returns-5",level:4},{value:"Inherit Doc",id:"inherit-doc-1",level:4},{value:"Overrides",id:"overrides-1",level:4},{value:"setState()",id:"setstate",level:3},{value:"Returns",id:"returns-6",level:4},{value:"Inherit Doc",id:"inherit-doc-2",level:4},{value:"Overrides",id:"overrides-2",level:4},{value:"unmount()",id:"unmount",level:3},{value:"Returns",id:"returns-7",level:4},{value:"Inherit Doc",id:"inherit-doc-3",level:4},{value:"Overrides",id:"overrides-3",level:4},{value:"update()",id:"update",level:3},{value:"Returns",id:"returns-8",level:4},{value:"Inherit Doc",id:"inherit-doc-4",level:4},{value:"Overrides",id:"overrides-4",level:4}];function h(e){const r={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"class-serverpagerenderer",children:"Class: ServerPageRenderer"})}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L22",children:"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:22"})]}),"\n",(0,s.jsx)(r.p,{children:"Server-side page renderer. The renderer renders the page into the HTML\nmarkup and sends it to the client."}),"\n",(0,s.jsx)(r.h2,{id:"extends",children:"Extends"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer"})}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsx)(r.h3,{id:"new-serverpagerenderer",children:"new ServerPageRenderer()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"new ServerPageRenderer"}),"(",(0,s.jsx)(r.code,{children:"factory"}),", ",(0,s.jsx)(r.code,{children:"helpers"}),", ",(0,s.jsx)(r.code,{children:"dispatcher"}),", ",(0,s.jsx)(r.code,{children:"settings"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/ServerPageRenderer",children:(0,s.jsx)(r.code,{children:"ServerPageRenderer"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L34",children:"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:34"})]}),"\n",(0,s.jsx)(r.p,{children:"Initializes the server-side page renderer."}),"\n",(0,s.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"factory",children:"factory"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/PageRendererFactory",children:(0,s.jsx)(r.code,{children:"PageRendererFactory"})})}),"\n",(0,s.jsx)(r.p,{children:"Factory for receive $Utils to view."}),"\n",(0,s.jsx)(r.h5,{id:"helpers",children:"helpers"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"__module"})}),"\n",(0,s.jsx)(r.p,{children:"The IMA.js helper methods."}),"\n",(0,s.jsx)(r.h5,{id:"dispatcher",children:"dispatcher"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(r.code,{children:"Dispatcher"})})}),"\n",(0,s.jsx)(r.p,{children:"Dispatcher fires events to app."}),"\n",(0,s.jsx)(r.h5,{id:"settings",children:"settings"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,s.jsx)(r.code,{children:"Settings"})})}),"\n",(0,s.jsx)(r.p,{children:"Application setting for the current\napplication environment."}),"\n",(0,s.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/ServerPageRenderer",children:(0,s.jsx)(r.code,{children:"ServerPageRenderer"})})}),"\n",(0,s.jsx)(r.h4,{id:"overrides",children:"Overrides"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer.constructor"})}),"\n",(0,s.jsx)(r.h2,{id:"properties",children:"Properties"}),"\n",(0,s.jsx)(r.h3,{id:"_dispatcher",children:"_dispatcher"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_dispatcher"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Dispatcher",children:(0,s.jsx)(r.code,{children:"Dispatcher"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L37",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:37"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._dispatcher"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_factory",children:"_factory"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_factory"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/react-page-renderer/classes/PageRendererFactory",children:(0,s.jsx)(r.code,{children:"PageRendererFactory"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L38",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:38"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-1",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._factory"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_helpers",children:"_helpers"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_helpers"}),": ",(0,s.jsx)(r.code,{children:"__module"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L39",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:39"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-2",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._helpers"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_settings",children:"_settings"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_settings"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/Settings",children:(0,s.jsx)(r.code,{children:"Settings"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L40",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:40"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-3",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._settings"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_viewadapter",children:"_viewAdapter?"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.code,{children:"optional"})," ",(0,s.jsx)(r.strong,{children:"_viewAdapter"}),": ",(0,s.jsx)(r.code,{children:"ComponentType"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L41",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:41"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-4",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._viewAdapter"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_viewadapterprops",children:"_viewAdapterProps"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_viewAdapterProps"}),": ",(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})," = ",(0,s.jsx)(r.code,{children:"{}"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L42",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:42"})]}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-5",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._viewAdapterProps"})}),"\n",(0,s.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,s.jsx)(r.h3,{id:"_generateviewadapterprops",children:"_generateViewAdapterProps()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_generateViewAdapterProps"}),"(",(0,s.jsx)(r.code,{children:"managedRootView"}),", ",(0,s.jsx)(r.code,{children:"pageView"}),", ",(0,s.jsx)(r.code,{children:"state"}),"): ",(0,s.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,s.jsx)(r.code,{children:"ViewAdapterProps"})})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L128",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:128"})]}),"\n",(0,s.jsx)(r.p,{children:"Generate properties for view from state."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"managedrootview",children:"managedRootView"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,s.jsx)(r.h5,{id:"pageview",children:"pageView"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,s.jsx)(r.h5,{id:"state",children:"state"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownParameters",children:(0,s.jsx)(r.code,{children:"UnknownParameters"})})," = ",(0,s.jsx)(r.code,{children:"{}"})]}),"\n",(0,s.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",children:(0,s.jsx)(r.code,{children:"ViewAdapterProps"})})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-6",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._generateViewAdapterProps"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getdocumentview",children:"_getDocumentView()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_getDocumentView"}),"(",(0,s.jsx)(r.code,{children:"routeOptions"}),"): ",(0,s.jsx)(r.code,{children:"ComponentType"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L176",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:176"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns the class constructor of the specified document view component."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"routeoptions",children:"routeOptions"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.p,{children:"The current route options."}),"\n",(0,s.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,s.jsx)(r.p,{children:"The constructor of the document view component."}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-7",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._getDocumentView"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_getviewadapterelement",children:"_getViewAdapterElement()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"_getViewAdapterElement"}),"(",(0,s.jsx)(r.code,{children:"props"}),"): ",(0,s.jsx)(r.code,{children:"undefined"})," | ",(0,s.jsx)(r.code,{children:"ReactElement"}),"<{}>"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L115",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:115"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"props",children:"props"}),"\n",(0,s.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"undefined"})," | ",(0,s.jsx)(r.code,{children:"ReactElement"}),"<{}>"]}),"\n",(0,s.jsx)(r.h4,{id:"inherit-doc",children:"Inherit Doc"}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-8",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._getViewAdapterElement"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"_prepareviewadapter",children:"_prepareViewAdapter()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"protected"})," ",(0,s.jsx)(r.strong,{children:"_prepareViewAdapter"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"pageView"}),", ",(0,s.jsx)(r.code,{children:"routeOptions"}),"): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts#L148",children:"packages/react-page-renderer/src/renderer/AbstractPageRenderer.ts:148"})]}),"\n",(0,s.jsx)(r.p,{children:"Returns wrapped page view component with managed root view and view adapter."}),"\n",(0,s.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/Controller",children:(0,s.jsx)(r.code,{children:"Controller"})})}),"\n",(0,s.jsx)(r.h5,{id:"pageview-1",children:"pageView"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"ComponentType"})}),"\n",(0,s.jsx)(r.h5,{id:"routeoptions-1",children:"routeOptions"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.p,{children:"The current route options."}),"\n",(0,s.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherited-from-9",children:"Inherited from"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer._prepareViewAdapter"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"mount",children:"mount()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"mount"}),"(",(0,s.jsx)(r.code,{children:"controller"}),", ",(0,s.jsx)(r.code,{children:"pageView"}),", ",(0,s.jsx)(r.code,{children:"pageResources"}),", ",(0,s.jsx)(r.code,{children:"routeOptions"}),"): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.code,{children:"PageData"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L46",children:"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:46"})]}),"\n",(0,s.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsx)(r.h5,{id:"controller-1",children:"controller"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/classes/ControllerDecorator",children:(0,s.jsx)(r.code,{children:"ControllerDecorator"})})}),"\n",(0,s.jsx)(r.h5,{id:"pageview-2",children:"pageView"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"ComponentType"}),"<{}>"]}),"\n",(0,s.jsx)(r.h5,{id:"pageresources",children:"pageResources"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/type-aliases/UnknownPromiseParameters",children:(0,s.jsx)(r.code,{children:"UnknownPromiseParameters"})})}),"\n",(0,s.jsx)(r.h5,{id:"routeoptions-2",children:"routeOptions"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"/api/@ima/core/interfaces/RouteOptions",children:(0,s.jsx)(r.code,{children:"RouteOptions"})})}),"\n",(0,s.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"})," | ",(0,s.jsx)(r.code,{children:"PageData"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherit-doc-1",children:"Inherit Doc"}),"\n",(0,s.jsx)(r.h4,{id:"overrides-1",children:"Overrides"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer.mount"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"setstate",children:"setState()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"setState"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L72",children:"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:72"})]}),"\n",(0,s.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"void"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherit-doc-2",children:"Inherit Doc"}),"\n",(0,s.jsx)(r.h4,{id:"overrides-2",children:"Overrides"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer.setState"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"unmount",children:"unmount()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"unmount"}),"(): ",(0,s.jsx)(r.code,{children:"void"})]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L88",children:"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:88"})]}),"\n",(0,s.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"void"})}),"\n",(0,s.jsx)(r.h4,{id:"inherit-doc-3",children:"Inherit Doc"}),"\n",(0,s.jsx)(r.h4,{id:"overrides-3",children:"Overrides"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer.unmount"})}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.h3,{id:"update",children:"update()"}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"update"}),"(): ",(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"never"}),">"]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Defined in: ",(0,s.jsx)(r.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/react-page-renderer/src/renderer/ServerPageRenderer.ts#L79",children:"packages/react-page-renderer/src/renderer/ServerPageRenderer.ts:79"})]}),"\n",(0,s.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"Promise"}),"<",(0,s.jsx)(r.code,{children:"never"}),">"]}),"\n",(0,s.jsx)(r.h4,{id:"inherit-doc-4",children:"Inherit Doc"}),"\n",(0,s.jsx)(r.h4,{id:"overrides-4",children:"Overrides"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"AbstractPageRenderer.update"})})]})}function o(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3023:(e,r,n)=>{n.d(r,{R:()=>c,x:()=>a});var d=n(3696);const s={},i=d.createContext(s);function c(e){const r=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),d.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff313a9b.2edb2b6a.js b/assets/js/ff313a9b.2edb2b6a.js new file mode 100644 index 000000000..05acbc9ee --- /dev/null +++ b/assets/js/ff313a9b.2edb2b6a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[3081],{937:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>o,frontMatter:()=>l,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"api/@ima/core/classes/EventBus","title":"Class: abstract EventBus","description":"Defined in28","source":"@site/../docs/api/@ima/core/classes/EventBus.md","sourceDirName":"api/@ima/core/classes","slug":"/api/@ima/core/classes/EventBus","permalink":"/api/@ima/core/classes/EventBus","draft":false,"unlisted":false,"editUrl":"https://github.com/seznam/ima/tree/master/docs/../docs/api/@ima/core/classes/EventBus.md","tags":[],"version":"current","frontMatter":{},"sidebar":"api","previous":{"title":"Class: abstract Error","permalink":"/api/@ima/core/classes/Error"},"next":{"title":"Class: EventBusImpl","permalink":"/api/@ima/core/classes/EventBusImpl"}}');var i=s(2540),r=s(3023);const l={},c="Class: abstract EventBus",d={},a=[{value:"Extended by",id:"extended-by",level:2},{value:"Constructors",id:"constructors",level:2},{value:"new EventBus()",id:"new-eventbus",level:3},{value:"Returns",id:"returns",level:4},{value:"Methods",id:"methods",level:2},{value:"fire()",id:"fire",level:3},{value:"Parameters",id:"parameters",level:4},{value:"eventTarget",id:"eventtarget",level:5},{value:"eventName",id:"eventname",level:5},{value:"data?",id:"data",level:5},{value:"options?",id:"options",level:5},{value:"Returns",id:"returns-1",level:4},{value:"Throws",id:"throws",level:4},{value:"See",id:"see",level:4},{value:"listen()",id:"listen",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"eventTarget",id:"eventtarget-1",level:5},{value:"eventName",id:"eventname-1",level:5},{value:"listener",id:"listener",level:5},{value:"Returns",id:"returns-2",level:4},{value:"listenAll()",id:"listenall",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"eventTarget",id:"eventtarget-2",level:5},{value:"listener",id:"listener-1",level:5},{value:"Returns",id:"returns-3",level:4},{value:"unlisten()",id:"unlisten",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"eventTarget",id:"eventtarget-3",level:5},{value:"eventName",id:"eventname-2",level:5},{value:"listener",id:"listener-2",level:5},{value:"Returns",id:"returns-4",level:4},{value:"unlistenAll()",id:"unlistenall",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"eventTarget",id:"eventtarget-4",level:5},{value:"listener",id:"listener-3",level:5},{value:"Returns",id:"returns-5",level:4}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsxs)(n.h1,{id:"class-abstract-eventbus",children:["Class: ",(0,i.jsx)(n.code,{children:"abstract"})," EventBus"]})}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L28",children:"packages/core/src/event/EventBus.ts:28"})]}),"\n",(0,i.jsx)(n.p,{children:"Utility for sending and intercepting wrapped custom DOM events on the DOM or\npropagating them to the current controller."}),"\n",(0,i.jsx)(n.p,{children:"As with native events, the event fired by this event bus always propagate up\nthe DOM tree until they reach the window."}),"\n",(0,i.jsx)(n.p,{children:"Note that the events fired by this event bus are wrapped in custom DOM\nevents which always bear an obscure name set by the implementation of this\ninterface, preventing custom event name collisions, and allowing observation\nand capture of all fired events. The actual event name is always consistent\nby the implementation."}),"\n",(0,i.jsx)(n.h2,{id:"extended-by",children:"Extended by"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBusImpl",children:(0,i.jsx)(n.code,{children:"EventBusImpl"})})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsx)(n.h3,{id:"new-eventbus",children:"new EventBus()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"new EventBus"}),"(): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"returns",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})}),"\n",(0,i.jsx)(n.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsx)(n.h3,{id:"fire",children:"fire()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"fire"}),"(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"eventName"}),", ",(0,i.jsx)(n.code,{children:"data"}),"?, ",(0,i.jsx)(n.code,{children:"options"}),"?): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L56",children:"packages/core/src/event/EventBus.ts:56"})]}),"\n",(0,i.jsx)(n.p,{children:"Fires a new custom event of the specified name, carrying the provided\ndata."}),"\n",(0,i.jsx)(n.p,{children:"Note that this method does not prevent the event listeners to modify the\ndata in any way. The order in which the event listeners will be executed\nis unspecified and should not be relied upon."}),"\n",(0,i.jsxs)(n.p,{children:["Note that the default options are\n",(0,i.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),", which is different from the\ndefault values used in the native custom events\n(",(0,i.jsx)(n.code,{children:"{ bubbles: false, cancelable: false }"}),")."]}),"\n",(0,i.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"eventtarget",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,i.jsx)(n.p,{children:"The event target at which the event\nwill be dispatched (e.g. element/document/window)."}),"\n",(0,i.jsx)(n.h5,{id:"eventname",children:"eventName"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event to fire."}),"\n",(0,i.jsx)(n.h5,{id:"data",children:"data?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"any"})}),"\n",(0,i.jsx)(n.p,{children:"The data to pass to the event listeners."}),"\n",(0,i.jsx)(n.h5,{id:"options",children:"options?"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusOptions",children:(0,i.jsx)(n.code,{children:"EventBusOptions"})})}),"\n",(0,i.jsxs)(n.p,{children:["The\noverride of the default options passed to the constructor of the\ncustom event fired by this event bus.\nThe default options passed to the custom event constructor are\n",(0,i.jsx)(n.code,{children:"{ bubbles: true, cancelable: true }"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"returns-1",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})}),"\n",(0,i.jsx)(n.p,{children:"This custom event bus."}),"\n",(0,i.jsx)(n.h4,{id:"throws",children:"Throws"}),"\n",(0,i.jsx)(n.p,{children:"Thrown if the provided event target cannot be used to\nfire the event."}),"\n",(0,i.jsx)(n.h4,{id:"see",children:"See"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event",children:"https://developer.mozilla.org/en-US/docs/Web/API/Event/Event"})}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"listen",children:"listen()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"listen"}),"(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"eventName"}),", ",(0,i.jsx)(n.code,{children:"listener"}),"): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L104",children:"packages/core/src/event/EventBus.ts:104"})]}),"\n",(0,i.jsx)(n.p,{children:"Registers the provided event listener to be executed when the specific\ncustom event is fired by the same implementation of the event bus and\npasses through the specified event target."}),"\n",(0,i.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."}),"\n",(0,i.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"eventtarget-1",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,i.jsx)(n.p,{children:"The event target at which the listener\nshould listen for the specified event."}),"\n",(0,i.jsx)(n.h5,{id:"eventname-1",children:"eventName"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event to listen for."}),"\n",(0,i.jsx)(n.h5,{id:"listener",children:"listener"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,i.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,i.jsx)(n.p,{children:"The event listener to\nregister."}),"\n",(0,i.jsx)(n.h4,{id:"returns-2",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})}),"\n",(0,i.jsx)(n.p,{children:"This event bus."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"listenall",children:"listenAll()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"listenAll"}),"(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"listener"}),"): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L82",children:"packages/core/src/event/EventBus.ts:82"})]}),"\n",(0,i.jsx)(n.p,{children:"Registers the provided event listener to be executed when any custom\nevent is fired using the same implementation of the event bus and passes\nthrough the specified event target."}),"\n",(0,i.jsx)(n.p,{children:"When the specified event is fired, the event listener will be executed\nwith the event passed as the first argument."}),"\n",(0,i.jsx)(n.p,{children:"The order in which the event listeners will be executed is unspecified\nand should not be relied upon."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"eventtarget-2",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,i.jsx)(n.p,{children:"The event target at which the listener\nshould listen for all event bus events."}),"\n",(0,i.jsx)(n.h5,{id:"listener-1",children:"listener"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,i.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,i.jsx)(n.p,{children:"The event listener to\nregister."}),"\n",(0,i.jsx)(n.h4,{id:"returns-3",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})}),"\n",(0,i.jsx)(n.p,{children:"This event bus."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"unlisten",children:"unlisten()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"unlisten"}),"(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"eventName"}),", ",(0,i.jsx)(n.code,{children:"listener"}),"): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L145",children:"packages/core/src/event/EventBus.ts:145"})]}),"\n",(0,i.jsx)(n.p,{children:"Removes the provided event listener from the set of event listeners\nexecuted when the specified custom event fired by the same\nimplementation passes through the specified event target."}),"\n",(0,i.jsx)(n.p,{children:"The method has no effect if the listener is not registered for the\nspecified event at the specified event target."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"eventtarget-3",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,i.jsx)(n.p,{children:"The event target at which the listener\nis listening for the event."}),"\n",(0,i.jsx)(n.h5,{id:"eventname-2",children:"eventName"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.p,{children:"The name of the event listened for."}),"\n",(0,i.jsx)(n.h5,{id:"listener-2",children:"listener"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,i.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,i.jsx)(n.p,{children:"The event listener to\nderegister."}),"\n",(0,i.jsx)(n.h4,{id:"returns-4",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})}),"\n",(0,i.jsx)(n.p,{children:"This event bus."}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsx)(n.h3,{id:"unlistenall",children:"unlistenAll()"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"unlistenAll"}),"(",(0,i.jsx)(n.code,{children:"eventTarget"}),", ",(0,i.jsx)(n.code,{children:"listener"}),"): ",(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Defined in: ",(0,i.jsx)(n.a,{href:"https://github.com/seznam/ima/blob/d5037f8ab57785fcea8f4d15ca3487355441ce57/packages/core/src/event/EventBus.ts#L126",children:"packages/core/src/event/EventBus.ts:126"})]}),"\n",(0,i.jsx)(n.p,{children:"Removes the provided event listener from the set of event listeners\nexecuted when the any custom event fired by the same implementation\npasses through the specified event target."}),"\n",(0,i.jsx)(n.p,{children:"The method has no effect if the listener is not registered at the\nspecified event target."}),"\n",(0,i.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,i.jsx)(n.h5,{id:"eventtarget-4",children:"eventTarget"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"EventTarget"})}),"\n",(0,i.jsx)(n.p,{children:"The event target at which the event\nlistener listens for events."}),"\n",(0,i.jsx)(n.h5,{id:"listener-3",children:"listener"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/type-aliases/EventBusListener",children:(0,i.jsx)(n.code,{children:"EventBusListener"})})}),"\n",(0,i.jsx)(n.p,{children:"The event listener to\nderegister."}),"\n",(0,i.jsx)(n.h4,{id:"returns-5",children:"Returns"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/api/@ima/core/classes/EventBus",children:(0,i.jsx)(n.code,{children:"EventBus"})})}),"\n",(0,i.jsx)(n.p,{children:"This event bus."})]})}function o(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>c});var t=s(3696);const i={},r=t.createContext(i);function l(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.113fcdc4.js b/assets/js/main.113fcdc4.js deleted file mode 100644 index 021bc4a1e..000000000 --- a/assets/js/main.113fcdc4.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.113fcdc4.js.LICENSE.txt */ -(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8792],{5044:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>T,E8:()=>Xn,a1:()=>Yn});var r=n(6540);n(8325);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t,n,r,a,i,o){try{var l=e[i](o),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,a)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function l(e){i(o,r,a,l,s,"next",e)}function s(e){i(o,r,a,l,s,"throw",e)}l(void 0)}))}}function l(e,t,n){return t=p(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,n||[],p(e).constructor):t.apply(e,n))}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&y(e,t)}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function v(){v=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",l=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof b?t:b,o=Object.create(i.prototype),l=new R(r||[]);return a(o,"_invoke",{value:P(e,n,l)}),o}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var p="suspendedStart",f="suspendedYield",m="executing",h="completed",g={};function b(){}function y(){}function w(){}var _={};c(_,o,(function(){return this}));var S=Object.getPrototypeOf,k=S&&S(S(I([])));k&&k!==n&&r.call(k,o)&&(_=k);var E=w.prototype=b.prototype=Object.create(_);function x(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(a,i,o,l){var s=d(e[a],e,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,l)}),(function(e){n("throw",e,o,l)})):t.resolve(u).then((function(e){c.value=e,o(c)}),(function(e){return n("throw",e,o,l)}))}l(s.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function P(t,n,r){var a=p;return function(i,o){if(a===m)throw Error("Generator is already running");if(a===h){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var l=r.delegate;if(l){var s=T(l,r);if(s){if(s===g)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===p)throw a=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=m;var c=d(t,n,r);if("normal"===c.type){if(a=r.done?h:f,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(a=h,r.method="throw",r.arg=c.arg)}}}function T(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=d(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function A(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=w,a(E,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:y,configurable:!0}),y.displayName=c(w,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,c(e,s,"GeneratorFunction")),e.prototype=Object.create(E),e},t.awrap=function(e){return{__await:e}},x(C.prototype),c(C.prototype,l,(function(){return this})),t.AsyncIterator=C,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new C(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(E),c(E,s,"Generator"),c(E,o,(function(){return this})),c(E,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,R.prototype={constructor:R,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(O),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return l.type="throw",l.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],l=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;O(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function y(e,t){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},y(e,t)}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return l}}(e,t)||S(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function k(e){var t="function"==typeof Map?new Map:void 0;return k=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(m())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var a=new(e.bind.apply(e,r));return n&&y(a,n.prototype),a}(e,arguments,p(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),y(n,e)},k(e)}function E(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function x(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var C=["translations"],P="Ctrl",T=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,i=b(e,C),o=a.buttonText,l=void 0===o?"Search":o,s=a.buttonAriaLabel,c=void 0===s?"Search":s,u=w((0,r.useState)(null),2),p=u[0],f=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(P))}),[]),r.createElement("button",d({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},i,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(x,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==p&&r.createElement(r.Fragment,null,r.createElement(A,{reactsToKey:p===P?P:"Meta"},p===P?r.createElement(E,null):p),r.createElement(A,{reactsToKey:"k"},"K"))))}));function A(e){var t=e.reactsToKey,n=e.children,a=w((0,r.useState)(!1),2),i=a[0],o=a[1];return(0,r.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&o(!0)}function n(e){e.key!==t&&"Meta"!==e.key||o(!1)}}),[t]),r.createElement("kbd",{className:i?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}function O(e,t){var n=void 0;return function(){for(var r=arguments.length,a=new Array(r),i=0;i<r;i++)a[i]=arguments[i];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,a)}),t)}}function R(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var I=0;function N(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function L(e){return e!==Object(e)}function D(e,t){if(e===t)return!0;if(L(e)||L(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var a=r[n];if(!(a in t))return!1;if(!D(e[a],t[a]))return!1}return!0}var M=function(){},j=[{segment:"autocomplete-core",version:"1.17.6"}];function F(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var z=["items"],U=["items"];function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function H(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return $(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function V(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function K(e,t,n){return(t=function(e){var t=function(e){if("object"!==q(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==q(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===q(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(e){return e.map((function(e){var t=e.items,n=V(e,z);return W(W({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function Y(e){var t,n,r,a=(t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t);else for(;!(s=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((e.version||"").split(".").map(Number),2),n=t[0],r=t[1],n>=3||2===n&&r>=4||1===n&&r>=10);function i(t,n,r){if(a&&void 0!==r){var i=r[0].__autocomplete_algoliaCredentials,o={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(H(n),[{headers:o}]))}else e.apply(void 0,[t].concat(H(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setAuthenticatedUserToken:function(t){e("setAuthenticatedUserToken",t)},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("clickedObjectIDsAfterSearch",Q(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("clickedObjectIDs",Q(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("convertedObjectIDsAfterSearch",Q(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("convertedObjectIDs",Q(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&t.reduce((function(e,t){var n=t.items,r=V(t,U);return[].concat(H(e),H(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r<e.objectIDs.length;r+=t)n.push(W(W({},e),{},{objectIDs:e.objectIDs.slice(r,r+t)}));return n}(W(W({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function X(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function J(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function ee(e){return function(e){if(Array.isArray(e))return te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){ae(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ae(e,t,n){return(t=function(e){var t=function(e){if("object"!==Z(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ie="2.15.0",oe="https://cdn.jsdelivr.net/npm/search-insights@".concat(ie,"/dist/search-insights.min.js"),le=O((function(e){var t=e.onItemsChange,n=e.items,r=e.insights,a=e.state;t({insights:r,insightsEvents:X({items:n}).map((function(e){return re({eventName:"Items Viewed"},e)})),state:a})}),400);function se(e){var t=function(e){return re({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.viewedObjectIDs.apply(t,ee(n.map((function(e){return re(re({},e),{},{algoliaSource:ce(e.algoliaSource,r.context)})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.clickedObjectIDsAfterSearch.apply(t,ee(n.map((function(e){return re(re({},e),{},{algoliaSource:ce(e.algoliaSource,r.context)})}))))},onActive:M,__autocomplete_clickAnalytics:!0},e)}(e),n=t.insightsClient,r=t.insightsInitParams,a=t.onItemsChange,i=t.onSelect,o=t.onActive,l=t.__autocomplete_clickAnalytics,s=n;if(n||"undefined"!=typeof window&&function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(s=t[n]),s||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];t[n].queue.push(r)}),t[n].version=ie,s=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=oe,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))}({window:window}),!s)return{};r&&s("init",re({partial:!0},r));var c=Y(s),u={current:[]},d=O((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(ee(e),ee(t.items))}),[]).filter(J);D(u.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(u.current=n,n.length>0&&le({onItemsChange:a,items:n,insights:c,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive,a=!1;function u(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:re(re({},l?{clickAnalytics:!0}:{}),e?{userToken:ue(e)}:{}),insights:c}})}s("addAlgoliaAgent","insights-plugin"),u(),s("onUserTokenChange",(function(e){a||u(e)})),s("getUserToken",null,(function(e,t){a||u(t)})),s("onAuthenticatedUserTokenChange",(function(e){e?(a=!0,u(e)):(a=!1,s("getUserToken",null,(function(e,t){return u(t)})))})),s("getAuthenticatedUserToken",null,(function(e,t){t&&(a=!0,u(t))})),n((function(e){var t=e.item,n=e.state,r=e.event,a=e.source;J(t)&&i({state:n,event:r,insights:c,item:t,insightsEvents:[re({eventName:"Item Selected"},F({item:t,items:a.getItems().filter(J)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,a=e.event;J(t)&&o({state:r,event:a,insights:c,item:t,insightsEvents:[re({eventName:"Item Active"},F({item:t,items:n.getItems().filter(J)}))]})}))},onStateChange:function(e){var t=e.state;d({state:t})},__autocomplete_pluginOptions:e}}function ce(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ee(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ee(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function ue(e){return"number"==typeof e?e.toString():e}function de(e,t){var n=t;return{then:function(t,r){return de(e.then(fe(t,n,e),fe(r,n,e)),n)},catch:function(t){return de(e.catch(fe(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),de(e.finally(fe(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function pe(e){return de(e,{isCanceled:!1,onCancelList:[]})}function fe(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function me(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var a=(null===t?-1:t)+e;return a<=-1||a>=n?null===r?null:0:a}function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?he(Object(n),!0).forEach((function(t){be(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function be(e,t,n){return(t=function(e){var t=function(e){if("object"!==ve(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ve(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ve(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ve(e){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ve(e)}function ye(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,a=0,i=0;!1===r;){var o=t.collections[a];if(o===n){r=!0;break}i+=o.items.length,a++}return t.activeItemId-i}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function we(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}var _e=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function Se(e){return e.nativeEvent||e}function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}function Ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e,t,n){return(t=function(e){var t=function(e){if("object"!==ke(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ke(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ke(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ce(e){return Ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ce(e)}function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Te(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pe(Object(n),!0).forEach((function(t){Ae(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ae(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ce(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ce(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ce(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}function Re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(n),!0).forEach((function(t){Le(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Le(e,t,n){return(t=function(e){var t=function(e){if("object"!==Oe(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Oe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Oe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function De(e,t){var n,r="undefined"!=typeof window?window:{},a=e.plugins||[];return Ne(Ne({debug:!1,openOnFocus:!1,enterKeyHint:void 0,ignoreCompositionEvents:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:void 0,environment:r,shouldPanelOpen:function(e){return N(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:"autocomplete-".concat(I++),plugins:a,initialState:Ne({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),a.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),a.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),a.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(function(e){return function(e){if(Array.isArray(e))return Re(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Re(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(a.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:M,onResolve:M};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ge(ge({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return R(e)})).then((function(e){return e.map((function(e){return Ne(Ne({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:Ne({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Me(e){return Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(e)}function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?je(Object(n),!0).forEach((function(t){Be(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Be(e,t,n){return(t=function(e){var t=function(e){if("object"!==Me(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Me(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Me(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}function Ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ue(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ue(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function He(e,t,n){return(t=function(e){var t=function(e){if("object"!==ze(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ze(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $e(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ve(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ge(e){return Boolean(e.execute)}function We(e){var t=e.reduce((function(e,t){if(!Ge(t))return e.push(t),e;var n=t.searchClient,r=t.execute,a=t.requesterId,i=t.requests,o=e.find((function(e){return Ge(t)&&Ge(e)&&e.searchClient===n&&Boolean(a)&&e.requesterId===a}));if(o){var l;(l=o.items).push.apply(l,$e(i))}else{var s={execute:r,requesterId:a,items:i,searchClient:n};e.push(s)}return e}),[]).map((function(e){if(!Ge(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return R(e)}))}function Ke(e){return Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ke(e)}var Qe=["event","nextState","props","query","refresh","store"];function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ye(Object(n),!0).forEach((function(t){Je(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Je(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ke(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ke(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ke(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ze,et,tt,nt=null,rt=(Ze=-1,et=-1,tt=void 0,function(e){var t=++Ze;return Promise.resolve(e).then((function(e){return tt&&t<et?tt:(et=t,tt=e,e)}))});function at(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,a=e.props,i=e.query,o=e.refresh,l=e.store,s=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,Qe);nt&&a.environment.clearTimeout(nt);var c=s.setCollections,u=s.setIsOpen,d=s.setQuery,p=s.setActiveItemId,f=s.setStatus,m=s.setContext;if(d(i),p(a.defaultActiveItemId),!i&&!1===a.openOnFocus){var h,g=l.getState().collections.map((function(e){return Xe(Xe({},e),{},{items:[]})}));f("idle"),c(g),u(null!==(h=r.isOpen)&&void 0!==h?h:a.shouldPanelOpen({state:l.getState()}));var b=pe(rt(g).then((function(){return Promise.resolve()})));return l.pendingRequests.add(b)}f("loading"),nt=a.environment.setTimeout((function(){f("stalled")}),a.stallThreshold);var v=pe(rt(a.getSources(Xe({query:i,refresh:o,state:l.getState()},s)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(Xe({query:i,refresh:o,state:l.getState()},s))).then((function(t){return function(e,t,n){if(a=e,Boolean(null==a?void 0:a.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat($e(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return qe(qe({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?qe(qe({},n),{},{params:qe(qe({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var a;return{items:e,sourceId:t}}(t,e.sourceId,l.getState())}))}))).then(We).then((function(t){var n,r=t.some((function(e){return function(e){return!Array.isArray(e)&&Boolean(null==e?void 0:e._automaticInsights)}(e.items)}));return r&&m({algoliaInsightsPlugin:Xe(Xe({},(null===(n=l.getState().context)||void 0===n?void 0:n.algoliaInsightsPlugin)||{}),{},{__automaticInsights:r})}),function(e,t,n){return t.map((function(t){var r,a=e.filter((function(e){return e.sourceId===t.sourceId})),i=a.map((function(e){return e.items})),o=a[0].transformResponse,l=o?o({results:r=i,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:l,state:n.getState()}),l.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:l}}))}(t,e,l)})).then((function(e){return function(e){var t=e.props,n=e.state,r=e.collections.reduce((function(e,t){return Fe(Fe({},e),{},Be({},t.source.sourceId,Fe(Fe({},t.source),{},{getItems:function(){return R(t.items)}})))}),{}),a=t.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:r,state:n}).sourcesBySourceId;return R(t.reshape({sourcesBySourceId:a,sources:Object.values(a),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:a,state:l.getState()})}))})))).then((function(e){var n;f("idle"),c(e);var d=a.shouldPanelOpen({state:l.getState()});u(null!==(n=r.isOpen)&&void 0!==n?n:a.openOnFocus&&!i&&d||d);var p=ye(l.getState());if(null!==l.getState().activeItemId&&p){var m=p.item,h=p.itemInputValue,g=p.itemUrl,b=p.source;b.onActive(Xe({event:t,item:m,itemInputValue:h,itemUrl:g,refresh:o,source:b,state:l.getState()},s))}})).finally((function(){f("idle"),nt&&a.environment.clearTimeout(nt)}));return l.pendingRequests.add(v)}function it(e){return it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},it(e)}var ot=["event","props","refresh","store"];function lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function st(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lt(Object(n),!0).forEach((function(t){ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ct(e,t,n){return(t=function(e){var t=function(e){if("object"!==it(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==it(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===it(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(e){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ut(e)}var dt=["props","refresh","store"],pt=["inputElement","formElement","panelElement"],ft=["inputElement"],mt=["inputElement","maxLength"],ht=["source"],gt=["item","source"];function bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bt(Object(n),!0).forEach((function(t){yt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function yt(e,t,n){return(t=function(e){var t=function(e){if("object"!==ut(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ut(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ut(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wt(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function _t(e){var t=e.props,n=e.refresh,r=e.store,a=wt(e,dt);return{getEnvironmentProps:function(e){var n=e.inputElement,a=e.formElement,i=e.panelElement;function o(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[a,i].some((function(t){return(n=t)===(r=e.target)||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return vt({onTouchStart:o,onMouseDown:o,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},wt(e,pt))},getRootProps:function(e){return vt({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return we(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":we(t.id,"label")},e)},getFormProps:function(e){return e.inputElement,vt({action:"",noValidate:!0,role:"search",onSubmit:function(i){var o;i.preventDefault(),t.onSubmit(vt({event:i,refresh:n,state:r.getState()},a)),r.dispatch("submit",null),null===(o=e.inputElement)||void 0===o||o.blur()},onReset:function(i){var o;i.preventDefault(),t.onReset(vt({event:i,refresh:n,state:r.getState()},a)),r.dispatch("reset",null),null===(o=e.inputElement)||void 0===o||o.focus()}},wt(e,ft))},getLabelProps:function(e){return vt({htmlFor:we(t.id,"input"),id:we(t.id,"label")},e)},getInputProps:function(e){var i;function o(e){(t.openOnFocus||Boolean(r.getState().query))&&at(vt({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},a)),r.dispatch("focus",null)}var l=e||{};l.inputElement;var s=l.maxLength,c=void 0===s?512:s,u=wt(l,mt),d=ye(r.getState()),p=function(e){return Boolean(e&&e.match(_e))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),f=t.enterKeyHint||(null!=d&&d.itemUrl&&!p?"go":"search");return vt({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?we(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return we(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":we(t.id,"label"),value:r.getState().completion||r.getState().query,id:we(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:f,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){var i=e.currentTarget.value;t.ignoreCompositionEvents&&Se(e).isComposing?a.setQuery(i):at(vt({event:e,props:t,query:i.slice(0,c),refresh:n,store:r},a))},onCompositionEnd:function(e){at(vt({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},a))},onKeyDown:function(e){Se(e).isComposing||function(e){var t=e.event,n=e.props,r=e.refresh,a=e.store,i=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,ot);if("ArrowUp"===t.key||"ArrowDown"===t.key){var o=function(){var e=ye(a.getState()),t=n.environment.document.getElementById(we(n.id,"item-".concat(a.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},l=function(){var e=ye(a.getState());if(null!==a.getState().activeItemId&&e){var n=e.item,o=e.itemInputValue,l=e.itemUrl,s=e.source;s.onActive(st({event:t,item:n,itemInputValue:o,itemUrl:l,refresh:r,source:s,state:a.getState()},i))}};t.preventDefault(),!1===a.getState().isOpen&&(n.openOnFocus||Boolean(a.getState().query))?at(st({event:t,props:n,query:a.getState().query,refresh:r,store:a},i)).then((function(){a.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),l(),setTimeout(o,0)})):(a.dispatch(t.key,{}),l(),o())}else if("Escape"===t.key)t.preventDefault(),a.dispatch(t.key,null),a.pendingRequests.cancelAll();else if("Tab"===t.key)a.dispatch("blur",null),a.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===a.getState().activeItemId||a.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||a.pendingRequests.cancelAll());t.preventDefault();var s=ye(a.getState()),c=s.item,u=s.itemInputValue,d=s.itemUrl,p=s.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(p.onSelect(st({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:a.getState()},i)),n.navigator.navigateNewTab({itemUrl:d,item:c,state:a.getState()}));else if(t.shiftKey)void 0!==d&&(p.onSelect(st({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:a.getState()},i)),n.navigator.navigateNewWindow({itemUrl:d,item:c,state:a.getState()}));else if(t.altKey);else{if(void 0!==d)return p.onSelect(st({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:a.getState()},i)),void n.navigator.navigate({itemUrl:d,item:c,state:a.getState()});at(st({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:r,store:a},i)).then((function(){p.onSelect(st({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:a.getState()},i))}))}}}(vt({event:e,props:t,refresh:n,store:r},a))},onFocus:o,onBlur:M,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||o(n)}},u)},getPanelProps:function(e){return vt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,a=wt(n,ht);return vt({role:"listbox","aria-labelledby":we(t.id,"label"),id:we(t.id,"list",r)},a)},getItemProps:function(e){var i=e.item,o=e.source,l=wt(e,gt);return vt({id:we(t.id,"item-".concat(i.__autocomplete_id),o),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=ye(r.getState());if(null!==r.getState().activeItemId&&t){var o=t.item,l=t.itemInputValue,s=t.itemUrl,c=t.source;c.onActive(vt({event:e,item:o,itemInputValue:l,itemUrl:s,refresh:n,source:c,state:r.getState()},a))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var l=o.getItemInputValue({item:i,state:r.getState()}),s=o.getItemUrl({item:i,state:r.getState()});(s?Promise.resolve():at(vt({event:e,nextState:{isOpen:!1},props:t,query:l,refresh:n,store:r},a))).then((function(){o.onSelect(vt({event:e,item:i,itemInputValue:l,itemUrl:s,refresh:n,source:o,state:r.getState()},a))}))}},l)}}}function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Et(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kt(Object(n),!0).forEach((function(t){xt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xt(e,t,n){return(t=function(e){var t=function(e){if("object"!==St(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==St(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===St(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ct(e){var t,n,r,a,i=e.plugins,o=e.options,l=null===(t=((null===(n=o.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,s=l?xt({},l,Object.keys((null===(r=o.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:Et({"autocomplete-core":Object.keys(o)},s),ua:j.concat((null===(a=o.__autocomplete_metadata)||void 0===a?void 0:a.userAgents)||[])}}function Pt(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=ye(n))||void 0===t?void 0:t.itemInputValue)||null}function Tt(e){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tt(e)}function At(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?At(Object(n),!0).forEach((function(t){Rt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):At(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Rt(e,t,n){return(t=function(e){var t=function(e){if("object"!==Tt(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Tt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Tt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var It=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Ot(Ot({},e),{},{activeItemId:t.payload});case"setQuery":return Ot(Ot({},e),{},{query:t.payload,completion:null});case"setCollections":return Ot(Ot({},e),{},{collections:t.payload});case"setIsOpen":return Ot(Ot({},e),{},{isOpen:t.payload});case"setStatus":return Ot(Ot({},e),{},{status:t.payload});case"setContext":return Ot(Ot({},e),{},{context:Ot(Ot({},e.context),t.payload)});case"ArrowDown":var n=Ot(Ot({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:me(1,e.activeItemId,N(e),t.props.defaultActiveItemId)});return Ot(Ot({},n),{},{completion:Pt({state:n})});case"ArrowUp":var r=Ot(Ot({},e),{},{activeItemId:me(-1,e.activeItemId,N(e),t.props.defaultActiveItemId)});return Ot(Ot({},r),{},{completion:Pt({state:r})});case"Escape":return e.isOpen?Ot(Ot({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Ot(Ot({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Ot(Ot({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Ot(Ot({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",completion:null,query:""});case"focus":return Ot(Ot({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Ot(Ot({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Ot(Ot({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function Nt(e){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nt(e)}function Lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lt(Object(n),!0).forEach((function(t){Mt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Mt(e,t,n){return(t=function(e){var t=function(e){if("object"!==Nt(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Nt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jt(e){var t=[],n=De(e,t),r=function(e,t,n){var r,a=t.initialState;return{getState:function(){return a},dispatch:function(r,i){var o=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(n),!0).forEach((function(t){xe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ee(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a);a=e(a,{type:r,props:t,payload:i}),n({state:a,prevState:o})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}(It,n,(function(e){var t,r,i=e.prevState,c=e.state;if(n.onStateChange(Dt({prevState:i,state:c,refresh:o,navigator:n.navigator},a)),!s()&&null!==(t=c.context)&&void 0!==t&&null!==(r=t.algoliaInsightsPlugin)&&void 0!==r&&r.__automaticInsights&&!1!==n.insights){var u=se({__autocomplete_clickAnalytics:!1});n.plugins.push(u),l([u])}})),a=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return Te(Te({},e),{},{items:R(e.items).map((function(e){return Te(Te({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),i=_t(Dt({props:n,refresh:o,store:r,navigator:n.navigator},a));function o(){return at(Dt({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:o,store:r},a))}function l(e){e.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Dt(Dt({},a),{},{navigator:n.navigator,refresh:o,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))}))}function s(){return n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))}if(n.insights&&!s()){var c="boolean"==typeof n.insights?{}:n.insights;n.plugins.push(se(c))}return l(n.plugins),function(e){var t,n,r=e.metadata,a=e.environment;if(null===(t=a.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var i=a.document.createElement("meta"),o=a.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(r),o.appendChild(i)}),0)}}({metadata:Ct({plugins:n.plugins,options:e}),environment:n.environment}),Dt(Dt({refresh:o,navigator:n.navigator},i),a)}function Ft(e){var t=e.translations,n=(void 0===t?{}:t).searchByText,a=void 0===n?"Search by":n;return r.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},r.createElement("span",{className:"DocSearch-Label"},a),r.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},r.createElement("defs",null,r.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),r.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),r.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),r.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),r.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),r.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),r.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),r.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),r.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),r.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function Bt(e){return r.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},r.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function zt(e){var t=e.translations,n=void 0===t?{}:t,a=n.selectText,i=void 0===a?"to select":a,o=n.selectKeyAriaLabel,l=void 0===o?"Enter key":o,s=n.navigateText,c=void 0===s?"to navigate":s,u=n.navigateUpKeyAriaLabel,d=void 0===u?"Arrow up":u,p=n.navigateDownKeyAriaLabel,f=void 0===p?"Arrow down":p,m=n.closeText,h=void 0===m?"to close":m,g=n.closeKeyAriaLabel,b=void 0===g?"Escape key":g,v=n.searchByText,y=void 0===v?"Search by":v;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Logo"},r.createElement(Ft,{translations:{searchByText:y}})),r.createElement("ul",{className:"DocSearch-Commands"},r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(Bt,{ariaLabel:l},r.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),r.createElement("span",{className:"DocSearch-Label"},i)),r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(Bt,{ariaLabel:f},r.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(Bt,{ariaLabel:d},r.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),r.createElement("span",{className:"DocSearch-Label"},c)),r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(Bt,{ariaLabel:b},r.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),r.createElement("span",{className:"DocSearch-Label"},h))))}function Ut(e){var t=e.hit,n=e.children;return r.createElement("a",{href:t.url},n)}function qt(){return r.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},r.createElement("g",{fill:"none",fillRule:"evenodd"},r.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),r.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},r.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}function Ht(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),r.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function $t(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Vt(){return r.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),r.createElement("path",{d:"M8 17l-6-6 6-6"})))}var Gt=function(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Wt(e){switch(e.type){case"lvl1":return r.createElement(Gt,null);case"content":return r.createElement(Qt,null);default:return r.createElement(Kt,null)}}function Kt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Qt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Yt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Xt(){return r.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function Jt(){return r.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function Zt(e){var t=e.translations,n=void 0===t?{}:t,a=n.titleText,i=void 0===a?"Unable to fetch results":a,o=n.helpText,l=void 0===o?"You might want to check your network connection.":o;return r.createElement("div",{className:"DocSearch-ErrorScreen"},r.createElement("div",{className:"DocSearch-Screen-Icon"},r.createElement(Xt,null)),r.createElement("p",{className:"DocSearch-Title"},i),r.createElement("p",{className:"DocSearch-Help"},l))}var en=["translations"];function tn(e){var t=e.translations,n=void 0===t?{}:t,a=b(e,en),i=n.noResultsText,o=void 0===i?"No results for":i,l=n.suggestedQueryText,s=void 0===l?"Try searching for":l,c=n.reportMissingResultsText,u=void 0===c?"Believe this query should return results?":c,d=n.reportMissingResultsLinkText,p=void 0===d?"Let us know.":d,f=a.state.context.searchSuggestions;return r.createElement("div",{className:"DocSearch-NoResults"},r.createElement("div",{className:"DocSearch-Screen-Icon"},r.createElement(Jt,null)),r.createElement("p",{className:"DocSearch-Title"},o,' "',r.createElement("strong",null,a.state.query),'"'),f&&f.length>0&&r.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},r.createElement("p",{className:"DocSearch-Help"},s,":"),r.createElement("ul",null,f.slice(0,3).reduce((function(e,t){return[].concat(_(e),[r.createElement("li",{key:t},r.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){a.setQuery(t.toLowerCase()+" "),a.refresh(),a.inputRef.current.focus()}},t))])}),[]))),a.getMissingResultsUrl&&r.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),r.createElement("a",{href:a.getMissingResultsUrl({query:a.state.query}),target:"_blank",rel:"noopener noreferrer"},p)))}var nn=["hit","attribute","tagName"];function rn(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function an(e){var t=e.hit,n=e.attribute,a=e.tagName,i=void 0===a?"span":a,o=b(e,nn);return(0,r.createElement)(i,g(g({},o),{},{dangerouslySetInnerHTML:{__html:rn(t,"_snippetResult.".concat(n,".value"))||rn(t,n)}}))}function on(e){return e.collection&&0!==e.collection.items.length?r.createElement("section",{className:"DocSearch-Hits"},r.createElement("div",{className:"DocSearch-Hit-source"},e.title),r.createElement("ul",e.getListProps(),e.collection.items.map((function(t,n){return r.createElement(ln,d({key:[e.title,t.objectID].join(":"),item:t,index:n},e))})))):null}function ln(e){var t=e.item,n=e.index,a=e.renderIcon,i=e.renderAction,o=e.getItemProps,l=e.onItemClick,s=e.collection,c=e.hitComponent,u=w(r.useState(!1),2),p=u[0],f=u[1],m=w(r.useState(!1),2),h=m[0],g=m[1],b=r.useRef(null),v=c;return r.createElement("li",d({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",p&&"DocSearch-Hit--deleting",h&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){b.current&&b.current()}},o({item:t,source:s.source,onClick:function(e){l(t,e)}})),r.createElement(v,{hit:t},r.createElement("div",{className:"DocSearch-Hit-Container"},a({item:t,index:n}),t.hierarchy[t.type]&&"lvl1"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(an,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&r.createElement(an,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(an,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),r.createElement(an,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(an,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),r.createElement(an,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),i({item:t,runDeleteTransition:function(e){f(!0),b.current=e},runFavoriteTransition:function(e){g(!0),b.current=e}}))))}function sn(e,t,n){return e.reduce((function(e,r){var a=t(r);return e.hasOwnProperty(a)||(e[a]=[]),e[a].length<(n||5)&&e[a].push(r),e}),{})}function cn(e){return e}function un(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function dn(){}var pn=/(<mark>|<\/mark>)/g,fn=RegExp(pn.source);function mn(e){var t,n,r=e;if(!r.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var a=r.__docsearch_parent?null===(t=r.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(n=e._highlightResult)||void 0===n||null===(n=n.hierarchy)||void 0===n?void 0:n.lvl0;return a?a.value&&fn.test(a.value)?a.value.replace(pn,""):a.value:e.hierarchy.lvl0}function hn(e){return r.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var n=mn(t.items[0]);return r.createElement(on,d({},e,{key:t.source.sourceId,title:n,collection:t,renderIcon:function(e){var n,a=e.item,i=e.index;return r.createElement(r.Fragment,null,a.__docsearch_parent&&r.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.__docsearch_parent!==(null===(n=t.items[i+1])||void 0===n?void 0:n.__docsearch_parent)?r.createElement("path",{d:"M8 6v21M20 27H8.3"}):r.createElement("path",{d:"M8 6v42M20 27H8.3"}))),r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Wt,{type:a.type})))},renderAction:function(){return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement(Vt,null))}}))})),e.resultsFooterComponent&&r.createElement("section",{className:"DocSearch-HitsFooter"},r.createElement(e.resultsFooterComponent,{state:e.state})))}var gn=["translations"];function bn(e){var t=e.translations,n=void 0===t?{}:t,a=b(e,gn),i=n.recentSearchesTitle,o=void 0===i?"Recent":i,l=n.noRecentSearchesText,s=void 0===l?"No recent searches":l,c=n.saveRecentSearchButtonTitle,u=void 0===c?"Save this search":c,p=n.removeRecentSearchButtonTitle,f=void 0===p?"Remove this search from history":p,m=n.favoriteSearchesTitle,h=void 0===m?"Favorite":m,g=n.removeFavoriteSearchButtonTitle,v=void 0===g?"Remove this search from favorites":g;return"idle"===a.state.status&&!1===a.hasCollections?a.disableUserPersonalization?null:r.createElement("div",{className:"DocSearch-StartScreen"},r.createElement("p",{className:"DocSearch-Help"},s)):!1===a.hasCollections?null:r.createElement("div",{className:"DocSearch-Dropdown-Container"},r.createElement(on,d({},a,{title:o,collection:a.state.collections[0],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Ht,null))},renderAction:function(e){var t=e.item,n=e.runFavoriteTransition,i=e.runDeleteTransition;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){a.favoriteSearches.add(t),a.recentSearches.remove(t),a.refresh()}))}},r.createElement(Yt,null))),r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),i((function(){a.recentSearches.remove(t),a.refresh()}))}},r.createElement($t,null))))}})),r.createElement(on,d({},a,{title:h,collection:a.state.collections[1],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Yt,null))},renderAction:function(e){var t=e.item,n=e.runDeleteTransition;return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:v,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){a.favoriteSearches.remove(t),a.refresh()}))}},r.createElement($t,null)))}})))}var vn=["translations"],yn=r.memo((function(e){var t=e.translations,n=void 0===t?{}:t,a=b(e,vn);if("error"===a.state.status)return r.createElement(Zt,{translations:null==n?void 0:n.errorScreen});var i=a.state.collections.some((function(e){return e.items.length>0}));return a.state.query?!1===i?r.createElement(tn,d({},a,{translations:null==n?void 0:n.noResultsScreen})):r.createElement(hn,a):r.createElement(bn,d({},a,{hasCollections:i,translations:null==n?void 0:n.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status})),wn=["translations"];function _n(e){var t=e.translations,n=void 0===t?{}:t,a=b(e,wn),i=n.resetButtonTitle,o=void 0===i?"Clear the query":i,l=n.resetButtonAriaLabel,s=void 0===l?"Clear the query":l,c=n.cancelButtonText,u=void 0===c?"Cancel":c,p=n.cancelButtonAriaLabel,f=void 0===p?"Cancel":p,m=n.searchInputLabel,h=void 0===m?"Search":m,g=a.getFormProps({inputElement:a.inputRef.current}).onReset;return r.useEffect((function(){a.autoFocus&&a.inputRef.current&&a.inputRef.current.focus()}),[a.autoFocus,a.inputRef]),r.useEffect((function(){a.isFromSelection&&a.inputRef.current&&a.inputRef.current.select()}),[a.isFromSelection,a.inputRef]),r.createElement(r.Fragment,null,r.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:g},r.createElement("label",d({className:"DocSearch-MagnifierLabel"},a.getLabelProps()),r.createElement(x,null),r.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},h)),r.createElement("div",{className:"DocSearch-LoadingIndicator"},r.createElement(qt,null)),r.createElement("input",d({className:"DocSearch-Input",ref:a.inputRef},a.getInputProps({inputElement:a.inputRef.current,autoFocus:a.autoFocus,maxLength:64}))),r.createElement("button",{type:"reset",title:o,className:"DocSearch-Reset","aria-label":s,hidden:!a.state.query},r.createElement($t,null))),r.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:a.onClose},u))}var Sn=["_highlightResult","_snippetResult"];function kn(e){var t=e.key,n=e.limit,r=void 0===n?5:n,a=function(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(e){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}(t),i=a.getItem().slice(0,r);return{add:function(e){var t=e;t._highlightResult,t._snippetResult;var n=b(t,Sn),o=i.findIndex((function(e){return e.objectID===n.objectID}));o>-1&&i.splice(o,1),i.unshift(n),i=i.slice(0,r),a.setItem(i)},remove:function(e){i=i.filter((function(t){return t.objectID!==e.objectID})),a.setItem(i)},getAll:function(){return i}}}function En(e){var t,n="algolia-client-js-".concat(e.key);function r(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function a(){return JSON.parse(r().getItem(n)||"{}")}function i(e){r().setItem(n,JSON.stringify(e))}return{get:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var n,r,o;return n=e.timeToLive?1e3*e.timeToLive:null,r=a(),i(o=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==w(e,2)[1].timestamp})))),n&&i(Object.fromEntries(Object.entries(o).filter((function(e){var t=w(e,2)[1],r=(new Date).getTime();return!(t.timestamp+n<r)})))),a()[JSON.stringify(t)]})).then((function(e){return Promise.all([e?e.value:n(),void 0!==e])})).then((function(e){var t=w(e,2),n=t[0],a=t[1];return Promise.all([n,a||r.miss(n)])})).then((function(e){return w(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=a();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},r().setItem(n,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],r().setItem(n,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){r().removeItem(n)}))}}}function xn(e){var t=_(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,n.miss(e)])})).then((function(e){return w(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,r,a).catch((function(){return xn({caches:t}).get(e,r,a)}))},set:function(e,r){return n.set(e,r).catch((function(){return xn({caches:t}).set(e,r)}))},delete:function(e){return n.delete(e).catch((function(){return xn({caches:t}).delete(e)}))},clear:function(){return n.clear().catch((function(){return xn({caches:t}).clear()}))}}}function Cn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(n);if(i in t)return Promise.resolve(e.serializable?JSON.parse(t[i]):t[i]);var o=r();return o.then((function(e){return a.miss(e)})).then((function(){return o}))},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function Pn(e){var t=e.algoliaAgents,n=e.client,r=e.version,a=function(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var n="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(n)&&(t.value="".concat(t.value).concat(n)),t}};return t}(r).add({segment:n,version:r});return t.forEach((function(e){return a.add(e)})),a}var Tn=12e4;function An(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"up",n=Date.now();return g(g({},e),{},{status:t,lastUpdate:n,isUp:function(){return"up"===t||Date.now()-n>Tn},isTimedOut:function(){return"timed out"===t&&Date.now()-n<=Tn}})}var On=function(){function e(t,n){var r;return s(this,e),u(r=l(this,e,[t]),"name","AlgoliaError"),n&&(r.name=n),r}return f(e,k(Error)),c(e)}(),Rn=function(){function e(t,n,r){var a;return s(this,e),u(a=l(this,e,[t,r]),"stackTrace",void 0),a.stackTrace=n,a}return f(e,On),c(e)}(),In=function(){function e(t){return s(this,e),l(this,e,["Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",t,"RetryError"])}return f(e,Rn),c(e)}(),Nn=function(){function e(t,n,r){var a,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ApiError";return s(this,e),u(a=l(this,e,[t,r,i]),"status",void 0),a.status=n,a}return f(e,Rn),c(e)}(),Ln=function(){function e(t,n){var r;return s(this,e),u(r=l(this,e,[t,"DeserializationError"]),"response",void 0),r.response=n,r}return f(e,On),c(e)}(),Dn=function(){function e(t,n,r,a){var i;return s(this,e),u(i=l(this,e,[t,n,a,"DetailedApiError"]),"error",void 0),i.error=r,i}return f(e,Nn),c(e)}();function Mn(e,t,n){var r,a=(r=n,Object.keys(r).filter((function(e){return void 0!==r[e]})).sort().map((function(e){return"".concat(e,"=").concat(encodeURIComponent("[object Array]"===Object.prototype.toString.call(r[e])?r[e].join(","):r[e]).replace(/\+/g,"%20"))})).join("&")),i="".concat(e.protocol,"://").concat(e.url).concat(e.port?":".concat(e.port):"","/").concat("/"===t.charAt(0)?t.substring(1):t);return a.length&&(i+="?".concat(a)),i}function jn(e,t){if("GET"!==e.method&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:g(g({},e.data),t.data);return JSON.stringify(n)}}function Fn(e,t,n){var r=g(g(g({Accept:"application/json"},e),t),n),a={};return Object.keys(r).forEach((function(e){var t=r[e];a[e.toLowerCase()]=t})),a}function Bn(e){try{return JSON.parse(e.content)}catch(t){throw new Ln(t.message,e)}}function zn(e,t){var n=e.content,r=e.status;try{var a=JSON.parse(n);return"error"in a?new Dn(a.message,r,a.error,t):new Nn(a.message,r,t)}catch(e){}return new Nn(n,r,t)}function Un(e){return e.map((function(e){return qn(e)}))}function qn(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return g(g({},e),{},{request:g(g({},e.request),{},{headers:g(g({},e.request.headers),t)})})}var Hn=["appId","apiKey","authMode","algoliaAgents"],$n=["params"],Vn="5.12.0";function Gn(e){return[{url:"".concat(e,"-dsn.algolia.net"),accept:"read",protocol:"https"},{url:"".concat(e,".algolia.net"),accept:"write",protocol:"https"}].concat(function(e){for(var t=e,n=e.length-1;n>0;n--){var r=Math.floor(Math.random()*(n+1)),a=e[n];t[n]=e[r],t[r]=a}return t}([{url:"".concat(e,"-1.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-2.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-3.algolianet.com"),accept:"readWrite",protocol:"https"}]))}var Wn="3.7.0";function Kn(e,t,n){return r.useMemo((function(){var r=function(e,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");return function(e){var t=e.appId,n=e.apiKey,r=e.authMode,a=e.algoliaAgents,i=b(e,Hn),l=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"WithinHeaders",r={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:function(){return"WithinHeaders"===n?r:{}},queryParameters:function(){return"WithinQueryParameters"===n?r:{}}}}(t,n,r),s=function(e){var t=e.hosts,n=e.hostsCache,r=e.baseHeaders,a=e.logger,i=e.baseQueryParameters,l=e.algoliaAgent,s=e.timeouts,c=e.requester,u=e.requestsCache,d=e.responsesCache;function p(e){return f.apply(this,arguments)}function f(){return(f=o(v().mark((function e(t){var r,a,i,o,l;return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return n.get(e,(function(){return Promise.resolve(An(e))}))})));case 2:return r=e.sent,a=r.filter((function(e){return e.isUp()})),i=r.filter((function(e){return e.isTimedOut()})),o=[].concat(_(a),_(i)),l=o.length>0?o:t,e.abrupt("return",{hosts:l,getTimeout:function(e,t){return(0===i.length&&0===e?1:i.length+3+e)*t}});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(e,t){return h.apply(this,arguments)}function h(){return h=o(v().mark((function e(u,d){var f,m,h,b,y,w,S,k,E,x,C,P,T,A=arguments;return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(f=!(A.length>2&&void 0!==A[2])||A[2],m=[],h=jn(u,d),b=Fn(r,u.headers,d.headers),y="GET"===u.method?g(g({},u.data),d.data):{},w=g(g(g({},i),u.queryParameters),y),l.value&&(w["x-algolia-agent"]=l.value),d&&d.queryParameters)for(S=0,k=Object.keys(d.queryParameters);S<k.length;S++)E=k[S],d.queryParameters[E]&&"[object Object]"!==Object.prototype.toString.call(d.queryParameters[E])?w[E]=d.queryParameters[E].toString():w[E]=d.queryParameters[E];return x=0,C=function(){var e=o(v().mark((function e(t,r){var i,o,l,p,y,_;return v().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(i=t.pop())){e.next=3;break}throw new In(Un(m));case 3:return o=g(g({},s),d.timeouts),l={data:h,headers:b,method:u.method,url:Mn(i,u.path,w),connectTimeout:r(x,o.connect),responseTimeout:r(x,f?o.read:o.write)},p=function(e){var n={request:l,response:e,host:i,triesLeft:t.length};return m.push(n),n},e.next=8,c.send(l);case 8:if(S=(v=y=e.sent).isTimedOut,k=v.status,!(S||function(e){return!e.isTimedOut&&!~~e.status}({isTimedOut:S,status:k})||2!=~~(k/100)&&4!=~~(k/100))){e.next=16;break}return _=p(y),y.isTimedOut&&x++,a.info("Retryable failure",qn(_)),e.next=15,n.set(i,An(i,y.isTimedOut?"timed out":"down"));case 15:return e.abrupt("return",C(t,r));case 16:if(2!=~~(y.status/100)){e.next=18;break}return e.abrupt("return",Bn(y));case 18:throw p(y),zn(y,m);case 20:case"end":return e.stop()}var v,S,k}),e)})));return function(t,n){return e.apply(this,arguments)}}(),P=t.filter((function(e){return"readWrite"===e.accept||(f?"read"===e.accept:"write"===e.accept)})),e.next=13,p(P);case 13:return T=e.sent,e.abrupt("return",C(_(T.hosts).reverse(),T.getTimeout));case 15:case"end":return e.stop()}}),e)}))),h.apply(this,arguments)}return{hostsCache:n,requester:c,timeouts:s,logger:a,algoliaAgent:l,baseHeaders:r,baseQueryParameters:i,hosts:t,request:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.useReadTransporter||"GET"===e.method;if(!n)return m(e,t,n);var a=function(){return m(e,t)};if(!0!==(t.cacheable||e.cacheable))return a();var o={request:e,requestOptions:t,transporter:{queryParameters:i,headers:r}};return d.get(o,(function(){return u.get(o,(function(){return u.set(o,a()).then((function(e){return Promise.all([u.delete(o),e])}),(function(e){return Promise.all([u.delete(o),Promise.reject(e)])})).then((function(e){var t=w(e,2);return t[0],t[1]}))}))}),{miss:function(e){return d.set(o,e)}})},requestsCache:u,responsesCache:d}}(g(g({hosts:Gn(t)},i),{},{algoliaAgent:Pn({algoliaAgents:a,client:"Lite",version:Vn}),baseHeaders:g(g({"content-type":"text/plain"},l.headers()),i.baseHeaders),baseQueryParameters:g(g({},l.queryParameters()),i.baseQueryParameters)}));return{transporter:s,appId:t,clearCache:function(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then((function(){}))},get _ua(){return s.algoliaAgent.value},addAlgoliaAgent:function(e,t){s.algoliaAgent.add({segment:e,version:t})},setClientApiKey:function(e){var t=e.apiKey;r&&"WithinHeaders"!==r?s.baseQueryParameters["x-algolia-api-key"]=t:s.baseHeaders["x-algolia-api-key"]=t},searchForHits:function(e,t){return this.search(e,t)},searchForFacets:function(e,t){return this.search(e,t)},customPost:function(e,t){var n=e.path,r=e.parameters,a=e.body;if(!n)throw new Error("Parameter `path` is required when calling `customPost`.");var i={method:"POST",path:"/{path}".replace("{path}",n),queryParameters:r||{},headers:{},data:a||{}};return s.request(i,t)},getRecommendations:function(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");var n={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return s.request(n,t)},search:function(e,t){if(e&&Array.isArray(e)){var n={requests:e.map((function(e){var t=e.params,n=b(e,$n);return"facet"===n.type?g(g(g({},n),t),{},{type:"facet"}):g(g(g({},n),t),{},{facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}))};e=n}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");var r={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return s.request(r,t)}}}(g({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:function(e,t){return Promise.resolve()},info:function(e,t){return Promise.resolve()},error:function(e,t){return Promise.resolve()}},requester:{send:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return n.setRequestHeader(t,e.headers[t])}));var r,a=function(e,r){return setTimeout((function(){n.abort(),t({status:0,content:r,isTimedOut:!0})}),e)},i=a(e.connectTimeout,"Connection timeout");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===r&&(clearTimeout(i),r=a(e.responseTimeout,"Socket timeout"))},n.onerror=function(){0===n.status&&(clearTimeout(i),clearTimeout(r),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(i),clearTimeout(r),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:Cn(),requestsCache:Cn({serializable:!1}),hostsCache:xn({caches:[En({key:"".concat(Vn,"-").concat(e)}),Cn()]})},void 0))}(e,t);return r.addAlgoliaAgent("docsearch",Wn),!1===/docsearch.js \(.*\)/.test(r.transporter.algoliaAgent.value)&&r.addAlgoliaAgent("docsearch-react",Wn),n(r)}),[e,t,n])}var Qn=["footer","searchBox"];function Yn(e){var t=e.appId,n=e.apiKey,a=e.indexName,i=e.placeholder,o=void 0===i?"Search docs":i,l=e.searchParameters,s=e.maxResultsPerGroup,c=e.onClose,u=void 0===c?dn:c,p=e.transformItems,f=void 0===p?cn:p,m=e.hitComponent,h=void 0===m?Ut:m,v=e.resultsFooterComponent,y=void 0===v?function(){return null}:v,_=e.navigator,S=e.initialScrollY,k=void 0===S?0:S,E=e.transformSearchClient,x=void 0===E?cn:E,C=e.disableUserPersonalization,P=void 0!==C&&C,T=e.initialQuery,A=void 0===T?"":T,O=e.translations,R=void 0===O?{}:O,I=e.getMissingResultsUrl,N=e.insights,L=void 0!==N&&N,D=R.footer,M=R.searchBox,j=b(R,Qn),F=w(r.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=F[0],z=F[1],U=r.useRef(null),q=r.useRef(null),H=r.useRef(null),$=r.useRef(null),V=r.useRef(null),G=r.useRef(10),W=r.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,K=r.useRef(A||W).current,Q=Kn(t,n,x),Y=r.useRef(kn({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(a),limit:10})).current,X=r.useRef(kn({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(a),limit:0===Y.getAll().length?7:4})).current,J=r.useCallback((function(e){if(!P){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===Y.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&X.add(t)}}),[Y,X,P]),Z=r.useCallback((function(e){if(B.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,n={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(n)}}),[B.context.algoliaInsightsPlugin]),ee=r.useMemo((function(){return jt({id:"docsearch",defaultActiveItemId:0,placeholder:o,openOnFocus:!0,initialState:{query:K,context:{searchSuggestions:[]}},insights:L,navigator:_,onStateChange:function(e){z(e.state)},getSources:function(e){var r=e.query,i=e.state,o=e.setContext,c=e.setStatus;if(!r)return P?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,n=e.event;J(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return X.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,n=e.event;J(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Y.getAll()}}];var d=Boolean(L);return Q.search({requests:[g({query:r,indexName:a,attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(G.current),"hierarchy.lvl2:".concat(G.current),"hierarchy.lvl3:".concat(G.current),"hierarchy.lvl4:".concat(G.current),"hierarchy.lvl5:".concat(G.current),"hierarchy.lvl6:".concat(G.current),"content:".concat(G.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:d},l)]}).catch((function(e){throw"RetryError"===e.name&&c("error"),e})).then((function(e){var r=e.results[0],l=r.hits,c=r.nbHits,p=sn(l,(function(e){return mn(e)}),s);i.context.searchSuggestions.length<Object.keys(p).length&&o({searchSuggestions:Object.keys(p)}),o({nbHits:c});var m={};return d&&(m={__autocomplete_indexName:a,__autocomplete_queryID:r.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:n}}),Object.values(p).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,n=e.event;J(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(sn(e,(function(e){return e.hierarchy.lvl1}),s)).map(f).map((function(e){return e.map((function(t){var n=null,r=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&r&&(n=r),g(g({},t),{},{__docsearch_parent:n},m)}))})).flat()}}}))}))}})}),[a,l,s,Q,u,X,Y,J,K,o,_,f,P,L,t,n]),te=ee.getEnvironmentProps,ne=ee.getRootProps,re=ee.refresh;return function(e){var t=e.getEnvironmentProps,n=e.panelElement,a=e.formElement,i=e.inputElement;r.useEffect((function(){if(n&&a&&i){var e=t({panelElement:n,formElement:a,inputElement:i}),r=e.onTouchStart,o=e.onTouchMove;return window.addEventListener("touchstart",r),window.addEventListener("touchmove",o),function(){window.removeEventListener("touchstart",r),window.removeEventListener("touchmove",o)}}}),[t,n,a,i])}({getEnvironmentProps:te,panelElement:$.current,formElement:H.current,inputElement:V.current}),function(e){var t=e.container;r.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),n=e[0],r=e[e.length-1];return t.addEventListener("keydown",a),function(){t.removeEventListener("keydown",a)}}function a(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===n&&(e.preventDefault(),r.focus()):document.activeElement===r&&(e.preventDefault(),n.focus()))}}),[t])}({container:U.current}),r.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,k)}}),[]),r.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(G.current=5)}),[]),r.useEffect((function(){$.current&&($.current.scrollTop=0)}),[B.query]),r.useEffect((function(){K.length>0&&(re(),V.current&&V.current.focus())}),[K,re]),r.useEffect((function(){function e(){if(q.current){var e=.01*window.innerHeight;q.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),r.createElement("div",d({ref:U},ne({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===B.status&&"DocSearch-Container--Stalled","error"===B.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),r.createElement("div",{className:"DocSearch-Modal",ref:q},r.createElement("header",{className:"DocSearch-SearchBar",ref:H},r.createElement(_n,d({},ee,{state:B,autoFocus:0===K.length,inputRef:V,isFromSelection:Boolean(K)&&K===W,translations:M,onClose:u}))),r.createElement("div",{className:"DocSearch-Dropdown",ref:$},r.createElement(yn,d({},ee,{indexName:a,state:B,hitComponent:h,resultsFooterComponent:y,disableUserPersonalization:P,recentSearches:X,favoriteSearches:Y,inputRef:V,translations:j,getMissingResultsUrl:I,onItemClick:function(e,t){Z(e),J(e),un(t)||u()}}))),r.createElement("footer",{className:"DocSearch-Footer"},r.createElement(zt,{translations:D}))))}function Xn(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,i=e.onInput,o=e.searchButtonRef;r.useEffect((function(){function e(e){var r;if("Escape"===e.code&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)return e.preventDefault(),void(t?a():document.body.classList.contains("DocSearch--active")||n());o&&o.current===document.activeElement&&i&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&i(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,i,o])}},8017:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}n.d(t,{A:()=>a});const a=function(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},6941:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(8102);function a(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const o=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],o=t&&t.split("/")||[],l=e&&a(e),s=t&&a(t),c=l||s;if(e&&a(e)?o=r:r.length&&(o.pop(),o=o.concat(r)),!o.length)return"/";if(o.length){var u=o[o.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=o.length;p>=0;p--){var f=o[p];"."===f?i(o,p):".."===f?(i(o,p),d++):d&&(i(o,p),d--)}if(!c)for(;d--;d)o.unshift("..");!c||""===o[0]||o[0]&&a(o[0])||o.unshift("");var m=o.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(6143);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),i.state=t):(void 0===(i=(0,r.A)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(i.key=n),a?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=o(i.pathname,a.pathname)):i.pathname=a.pathname:i.pathname||(i.pathname="/"),i}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,a):a(!0):a(!1!==i)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),h||(0,l.A)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),o=e,c=o.forceRefresh,w=void 0!==c&&c,_=o.getUserConfirmation,S=void 0===_?g:_,k=o.keyLength,E=void 0===k?6:k,x=e.basename?d(s(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,i=a.pathname+a.search+a.hash;return x&&(i=u(i,x)),f(i,r,n)}function P(){return Math.random().toString(36).substr(2,E)}var T=m();function A(e){(0,r.A)(U,e),U.length=n.length,T.notifyListeners(U.location,U.action)}function O(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||N(C(e.state))}function R(){N(C(y()))}var I=!1;function N(e){if(I)I=!1,A();else{T.confirmTransitionTo(e,"POP",S,(function(t){t?A({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(I=!0,j(a))}(e)}))}}var L=C(y()),D=[L.key];function M(e){return x+p(e)}function j(e){n.go(e)}var F=0;function B(e){1===(F+=e)&&1===e?(window.addEventListener(b,O),i&&window.addEventListener(v,R)):0===F&&(window.removeEventListener(b,O),i&&window.removeEventListener(v,R))}var z=!1;var U={length:n.length,action:"POP",location:L,createHref:M,push:function(e,t){var r="PUSH",i=f(e,t,P(),U.location);T.confirmTransitionTo(i,r,S,(function(e){if(e){var t=M(i),o=i.key,l=i.state;if(a)if(n.pushState({key:o,state:l},null,t),w)window.location.href=t;else{var s=D.indexOf(U.location.key),c=D.slice(0,s+1);c.push(i.key),D=c,A({action:r,location:i})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",i=f(e,t,P(),U.location);T.confirmTransitionTo(i,r,S,(function(e){if(e){var t=M(i),o=i.key,l=i.state;if(a)if(n.replaceState({key:o,state:l},null,t),w)window.location.replace(t);else{var s=D.indexOf(U.location.key);-1!==s&&(D[s]=i.key),A({action:r,location:i})}else window.location.replace(t)}}))},go:j,goBack:function(){j(-1)},goForward:function(){j(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(B(1),z=!0),function(){return z&&(z=!1,B(-1)),t()}},listen:function(e){var t=T.appendListener(e);return B(1),function(){B(-1),t()}}};return U}var _="hashchange",S={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:s},slash:{encodePath:s,decodePath:s}};function k(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function x(e){window.location.replace(k(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),h||(0,l.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,i=void 0===a?g:a,o=n.hashType,c=void 0===o?"slash":o,b=e.basename?d(s(e.basename)):"",v=S[c],y=v.encodePath,w=v.decodePath;function C(){var e=w(E());return b&&(e=u(e,b)),f(e)}var P=m();function T(e){(0,r.A)(z,e),z.length=t.length,P.notifyListeners(z.location,z.action)}var A=!1,O=null;function R(){var e,t,n=E(),r=y(n);if(n!==r)x(r);else{var a=C(),o=z.location;if(!A&&(t=a,(e=o).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(O===p(a))return;O=null,function(e){if(A)A=!1,T();else{var t="POP";P.confirmTransitionTo(e,t,i,(function(n){n?T({action:t,location:e}):function(e){var t=z.location,n=D.lastIndexOf(p(t));-1===n&&(n=0);var r=D.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(A=!0,M(a))}(e)}))}}(a)}}var I=E(),N=y(I);I!==N&&x(N);var L=C(),D=[p(L)];function M(e){t.go(e)}var j=0;function F(e){1===(j+=e)&&1===e?window.addEventListener(_,R):0===j&&window.removeEventListener(_,R)}var B=!1;var z={length:t.length,action:"POP",location:L,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=k(window.location.href)),n+"#"+y(b+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,z.location);P.confirmTransitionTo(r,n,i,(function(e){if(e){var t=p(r),a=y(b+t);if(E()!==a){O=t,function(e){window.location.hash=e}(a);var i=D.lastIndexOf(p(z.location)),o=D.slice(0,i+1);o.push(t),D=o,T({action:n,location:r})}else T()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,z.location);P.confirmTransitionTo(r,n,i,(function(e){if(e){var t=p(r),a=y(b+t);E()!==a&&(O=t,x(a));var i=D.indexOf(p(z.location));-1!==i&&(D[i]=t),T({action:n,location:r})}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=P.setPrompt(e);return B||(F(1),B=!0),function(){return B&&(B=!1,F(-1)),t()}},listen:function(e){var t=P.appendListener(e);return F(1),function(){F(-1),t()}}};return z}function P(e,t,n){return Math.min(Math.max(e,t),n)}function T(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,i=void 0===a?["/"]:a,o=t.initialIndex,l=void 0===o?0:o,s=t.keyLength,c=void 0===s?6:s,u=m();function d(e){(0,r.A)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function h(){return Math.random().toString(36).substr(2,c)}var g=P(l,0,i.length-1),b=i.map((function(e){return f(e,void 0,"string"==typeof e?h():e.key||h())})),v=p;function y(e){var t=P(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:v,push:function(e,t){var r="PUSH",a=f(e,t,h(),w.location);u.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,h(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},8486:(e,t,n)=>{"use strict";var r=n(9360),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?o:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=o;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var o=u(n);d&&(o=o.concat(d(n)));for(var l=s(t),h=s(n),g=0;g<o.length;++g){var b=o[g];if(!(i[b]||r&&r[b]||h&&h[b]||l&&l[b])){var v=p(n,b);try{c(t,b,v)}catch(y){}}}}return t}},2332:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,o=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case i:case l:case o:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case g:case h:case s:return e;default:return t}}case a:return t}}}function S(e){return _(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=r,t.ForwardRef=p,t.Fragment=i,t.Lazy=g,t.Memo=h,t.Portal=a,t.Profiler=l,t.StrictMode=o,t.Suspense=f,t.isAsyncMode=function(e){return S(e)||_(e)===u},t.isConcurrentMode=S,t.isContextConsumer=function(e){return _(e)===c},t.isContextProvider=function(e){return _(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return _(e)===p},t.isFragment=function(e){return _(e)===i},t.isLazy=function(e){return _(e)===g},t.isMemo=function(e){return _(e)===h},t.isPortal=function(e){return _(e)===a},t.isProfiler=function(e){return _(e)===l},t.isStrictMode=function(e){return _(e)===o},t.isSuspense=function(e){return _(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===l||e===o||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w||e.$$typeof===b)},t.typeOf=_},9360:(e,t,n)=>{"use strict";e.exports=n(2332)},2091:e=>{"use strict";e.exports=function(e,t,n,r,a,i,o,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,i,o,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},6425:(e,t,n)=>{"use strict";n.r(t)},9845:(e,t,n)=>{"use strict";n.r(t)},7671:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function i(e){return 100*(-1+e)}function o(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var i=n.render(!t),c=i.querySelector(r.barSelector),u=r.speed,d=r.easing;return i.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,o(e,u,d)),1===e?(s(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout((function(){s(i,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,o=t.querySelector(r.barSelector),l=e?"-100":i(n.status||0),c=document.querySelector(r.parent);return s(o,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+i)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function i(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&i(e,n,r);else i(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},1664:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var i,o,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s<arguments.length;s++){for(var c in i=Object(arguments[s]))n.call(i,c)&&(l[c]=i[c]);if(t){o=t(i);for(var u=0;u<o.length;u++)r.call(i,o[u])&&(l[o[u]]=i[o[u]])}}return l}},1069:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},5558:(e,t,n)=>{const r=n(1069),a=n(904),i=new Set;function o(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(o.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(1441).resolve(t)],delete Prism.languages[e],n(1441)(t),i.add(e)}))}o.silent=!1,e.exports=o},1441:(e,t,n)=>{var r={"./":5558};function a(e){var t=i(e);return n(t)}function i(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=i,e.exports=a,a.id=1441},904:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,i){if(!(r in n)){i.push(r);var o=i.indexOf(r);if(o<i.length-1)throw new Error("Circular dependency: "+i.slice(o).join(" -> "));var l={},s=e[r];if(s){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var o in a(t,i),l[t]=!0,n[t])l[o]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[r]=l,i.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(i,o,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var i=r[a];t[a]="string"==typeof i?{title:i}:i}}return t}(i),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var i=e[a];t(i&&i.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);o=o.map(c),l=(l||[]).map(c);var u=n(o),d=n(l);o.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(s),m=u;a(m);){for(var h in p={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var v in f(b))if(v in u){p[b]=!0;break}for(var y in m=p)u[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var i=a?a.series:void 0,o=a?a.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var a,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)a=r(e);else{var p=o(u.map((function(e){var t=c(e);return delete s[e],t})));i?a=i(p,(function(){return r(e)})):r(e)}return l[e]=a}for(var u in n)c(u);var d=[];for(var p in s)d.push(l[p]);return o(d)}(f,u,t,n)}};return w}}();e.exports=t},362:(e,t,n)=>{"use strict";var r=n(6441);function a(){}function i(){}i.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,i,o){if(o!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:a};return n.PropTypes=n,n}},2688:(e,t,n)=>{e.exports=n(362)()},6441:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6067:(e,t,n)=>{"use strict";var r=n(6540),a=n(1434);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,l={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function h(e,t,n,r,a,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function y(e,t,n,r){var a=g.hasOwnProperty(t)?g[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,v);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,v);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,v);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_=Symbol.for("react.element"),S=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),P=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var N=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var L=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=L&&e[L]||e["@@iterator"])?e:null}var M,j=Object.assign;function F(e){if(void 0===M)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);M=t&&t[1]||""}return"\n"+M+e}var B=!1;function z(e,t){if(!e||B)return"";B=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var a=c.stack.split("\n"),i=r.stack.split("\n"),o=a.length-1,l=i.length-1;1<=o&&0<=l&&a[o]!==i[l];)l--;for(;1<=o&&0<=l;o--,l--)if(a[o]!==i[l]){if(1!==o||1!==l)do{if(o--,0>--l||a[o]!==i[l]){var s="\n"+a[o].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=o&&0<=l);break}}}finally{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function U(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=z(e.type,!1);case 11:return e=z(e.type.render,!1);case 1:return e=z(e.type,!0);default:return""}}function q(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case k:return"Fragment";case S:return"Portal";case x:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case O:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case P:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case T:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case R:return null!==(t=e.displayName||null)?t:q(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return q(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return q(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function $(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function K(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return j({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=$(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function X(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function J(e,t){X(e,t);var n=$(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,$(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+$(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return j({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(te(n)){if(1<n.length)throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:$(n)}}function ie(e,t){var n=$(t.value),r=$(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=he(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=j({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function _e(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Se=null,ke=null,Ee=null;function xe(e){if(e=ya(e)){if("function"!=typeof Se)throw Error(i(280));var t=e.stateNode;t&&(t=_a(t),Se(e.stateNode,e.type,t))}}function Ce(e){ke?Ee?Ee.push(e):Ee=[e]:ke=e}function Pe(){if(ke){var e=ke,t=Ee;if(Ee=ke=null,xe(e),t)for(e=0;e<t.length;e++)xe(t[e])}}function Te(e,t){return e(t)}function Ae(){}var Oe=!1;function Re(e,t,n){if(Oe)return e(t,n);Oe=!0;try{return Te(e,t,n)}finally{Oe=!1,(null!==ke||null!==Ee)&&(Ae(),Pe())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var r=_a(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var Ne=!1;if(u)try{var Le={};Object.defineProperty(Le,"passive",{get:function(){Ne=!0}}),window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch(ue){Ne=!1}function De(e,t,n,r,a,i,o,l,s){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Me=!1,je=null,Fe=!1,Be=null,ze={onError:function(e){Me=!0,je=e}};function Ue(e,t,n,r,a,i,o,l,s){Me=!1,je=null,De.apply(ze,arguments)}function qe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function $e(e){if(qe(e)!==e)throw Error(i(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=qe(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return $e(a),e;if(o===r)return $e(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=o;break}if(s===r){l=!0,r=a,n=o;break}s=s.sibling}if(!l){for(s=o.child;s;){if(s===n){l=!0,n=o,r=a;break}if(s===r){l=!0,r=o,n=a;break}s=s.sibling}if(!l)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var We=a.unstable_scheduleCallback,Ke=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,Ye=a.unstable_requestPaint,Xe=a.unstable_now,Je=a.unstable_getCurrentPriorityLevel,Ze=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,it=null;var ot=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,i=e.pingedLanes,o=268435455&n;if(0!==o){var l=o&~a;0!==l?r=dt(l):0!==(i&=o)&&(r=dt(i))}else 0!==(o=n&~a)?r=dt(o):0!==i&&(r=dt(i));if(0===r)return 0;if(0!==t&&t!==r&&!(t&a)&&((a=r&-r)>=(i=t&-t)||16===a&&4194240&i))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-ot(t)),r|=e[n],t&=~a;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ot(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ot(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var yt=0;function wt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var _t,St,kt,Et,xt,Ct=!1,Pt=[],Tt=null,At=null,Ot=null,Rt=new Map,It=new Map,Nt=[],Lt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Tt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":Ot=null;break;case"pointerover":case"pointerout":Rt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":It.delete(t.pointerId)}}function Mt(e,t,n,r,a,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[a]},null!==t&&(null!==(t=ya(t))&&St(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function jt(e){var t=va(e.target);if(null!==t){var n=qe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void xt(e.priority,(function(){kt(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ya(n))&&St(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function Bt(e,t,n){Ft(e)&&n.delete(t)}function zt(){Ct=!1,null!==Tt&&Ft(Tt)&&(Tt=null),null!==At&&Ft(At)&&(At=null),null!==Ot&&Ft(Ot)&&(Ot=null),Rt.forEach(Bt),It.forEach(Bt)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,zt)))}function qt(e){function t(t){return Ut(t,e)}if(0<Pt.length){Ut(Pt[0],e);for(var n=1;n<Pt.length;n++){var r=Pt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Tt&&Ut(Tt,e),null!==At&&Ut(At,e),null!==Ot&&Ut(Ot,e),Rt.forEach(t),It.forEach(t),n=0;n<Nt.length;n++)(r=Nt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Nt.length&&null===(n=Nt[0]).blockedOn;)jt(n),null===n.blockedOn&&Nt.shift()}var Ht=w.ReactCurrentBatchConfig,$t=!0;function Vt(e,t,n,r){var a=yt,i=Ht.transition;Ht.transition=null;try{yt=1,Wt(e,t,n,r)}finally{yt=a,Ht.transition=i}}function Gt(e,t,n,r){var a=yt,i=Ht.transition;Ht.transition=null;try{yt=4,Wt(e,t,n,r)}finally{yt=a,Ht.transition=i}}function Wt(e,t,n,r){if($t){var a=Qt(e,t,n,r);if(null===a)$r(e,t,r,Kt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return Tt=Mt(Tt,e,t,n,r,a),!0;case"dragenter":return At=Mt(At,e,t,n,r,a),!0;case"mouseover":return Ot=Mt(Ot,e,t,n,r,a),!0;case"pointerover":var i=a.pointerId;return Rt.set(i,Mt(Rt.get(i)||null,e,t,n,r,a)),!0;case"gotpointercapture":return i=a.pointerId,It.set(i,Mt(It.get(i)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Lt.indexOf(e)){for(;null!==a;){var i=ya(a);if(null!==i&&_t(i),null===(i=Qt(e,t,n,r))&&$r(e,t,r,Kt,n),i===a)break;a=i}null!==a&&r.stopPropagation()}else $r(e,t,r,null,n)}}var Kt=null;function Qt(e,t,n,r){if(Kt=null,null!==(e=va(e=_e(r))))if(null===(t=qe(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Je()){case Ze:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Xt=null,Jt=null,Zt=null;function en(){if(Zt)return Zt;var e,t,n=Jt,r=n.length,a="value"in Xt?Xt.value:Xt.textContent,i=a.length;for(e=0;e<r&&n[e]===a[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===a[i-t];t++);return Zt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,i){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return j(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,ln,sn,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=j({},cn,{view:0,detail:0}),pn=an(dn),fn=j({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(on=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=on=0,sn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),mn=an(fn),hn=an(j({},fn,{dataTransfer:0})),gn=an(j({},dn,{relatedTarget:0})),bn=an(j({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=j({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=an(vn),wn=an(j({},cn,{data:0})),_n={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},kn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=kn[e])&&!!t[e]}function xn(){return En}var Cn=j({},dn,{key:function(e){if(e.key){var t=_n[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Pn=an(Cn),Tn=an(j({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=an(j({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xn})),On=an(j({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=j({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=an(Rn),Nn=[9,13,27,32],Ln=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var Mn=u&&"TextEvent"in window&&!Dn,jn=u&&(!Ln||Dn&&8<Dn&&11>=Dn),Fn=String.fromCharCode(32),Bn=!1;function zn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var qn=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function $n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Vn(e,t,n,r){Ce(r),0<(t=Gr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Wn=null;function Kn(e){Fr(e,0)}function Qn(e){if(W(wa(e)))return e}function Yn(e,t){if("change"===e)return t}var Xn=!1;if(u){var Jn;if(u){var Zn="oninput"in document;if(!Zn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Zn="function"==typeof er.oninput}Jn=Zn}else Jn=!1;Xn=Jn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),Wn=Gn=null)}function nr(e){if("value"===e.propertyName&&Qn(Wn)){var t=[];Vn(t,Wn,e,_e(e)),Re(Kn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Wn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Wn)}function ir(e,t){if("click"===e)return Qn(t)}function or(e,t){if("input"===e||"change"===e)return Qn(t)}var lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function sr(e,t){if(lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!lr(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,i=Math.min(r.start,a);r=void 0===r.end?i:Math.min(r.end,a),!e.extend&&i>r&&(a=r,r=i,i=a),a=ur(n,i);var o=ur(n,r);a&&o&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hr=u&&"documentMode"in document&&11>=document.documentMode,gr=null,br=null,vr=null,yr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;yr||null==gr||gr!==K(r)||("selectionStart"in(r=gr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&sr(vr,r)||(vr=r,0<(r=Gr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function _r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Sr={animationend:_r("Animation","AnimationEnd"),animationiteration:_r("Animation","AnimationIteration"),animationstart:_r("Animation","AnimationStart"),transitionend:_r("Transition","TransitionEnd")},kr={},Er={};function xr(e){if(kr[e])return kr[e];if(!Sr[e])return e;var t,n=Sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return kr[e]=n[t];return e}u&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);var Cr=xr("animationend"),Pr=xr("animationiteration"),Tr=xr("animationstart"),Ar=xr("transitionend"),Or=new Map,Rr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ir(e,t){Or.set(e,t),s(t,[e])}for(var Nr=0;Nr<Rr.length;Nr++){var Lr=Rr[Nr];Ir(Lr.toLowerCase(),"on"+(Lr[0].toUpperCase()+Lr.slice(1)))}Ir(Cr,"onAnimationEnd"),Ir(Pr,"onAnimationIteration"),Ir(Tr,"onAnimationStart"),Ir("dblclick","onDoubleClick"),Ir("focusin","onFocus"),Ir("focusout","onBlur"),Ir(Ar,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function jr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,l,s,c){if(Ue.apply(this,arguments),Me){if(!Me)throw Error(i(198));var u=je;Me=!1,je=null,Fe||(Fe=!0,Be=u)}}(r,t,void 0,e),e.currentTarget=null}function Fr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==i&&a.isPropagationStopped())break e;jr(a,l,c),i=s}else for(o=0;o<r.length;o++){if(s=(l=r[o]).instance,c=l.currentTarget,l=l.listener,s!==i&&a.isPropagationStopped())break e;jr(a,l,c),i=s}}}if(Fe)throw e=Be,Fe=!1,Be=null,e}function Br(e,t){var n=t[ha];void 0===n&&(n=t[ha]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function zr(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var Ur="_reactListening"+Math.random().toString(36).slice(2);function qr(e){if(!e[Ur]){e[Ur]=!0,o.forEach((function(t){"selectionchange"!==t&&(Mr.has(t)||zr(t,!1,e),zr(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ur]||(t[Ur]=!0,zr("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Yt(t)){case 1:var a=Vt;break;case 4:a=Gt;break;default:a=Wt}n=a.bind(null,t,n,e),a=void 0,!Ne||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function $r(e,t,n,r,a){var i=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var l=r.stateNode.containerInfo;if(l===a||8===l.nodeType&&l.parentNode===a)break;if(4===o)for(o=r.return;null!==o;){var s=o.tag;if((3===s||4===s)&&((s=o.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;o=o.return}for(;null!==l;){if(null===(o=va(l)))return;if(5===(s=o.tag)||6===s){r=i=o;continue e}l=l.parentNode}}r=r.return}Re((function(){var r=i,a=_e(n),o=[];e:{var l=Or.get(e);if(void 0!==l){var s=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Pn;break;case"focusin":c="focus",s=gn;break;case"focusout":c="blur",s=gn;break;case"beforeblur":case"afterblur":s=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=An;break;case Cr:case Pr:case Tr:s=bn;break;case Ar:s=On;break;case"scroll":s=pn;break;case"wheel":s=In;break;case"copy":case"cut":case"paste":s=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Tn}var u=!!(4&t),d=!u&&"scroll"===e,p=u?null!==l?l+"Capture":null:l;u=[];for(var f,m=r;null!==m;){var h=(f=m).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==p&&(null!=(h=Ie(m,p))&&u.push(Vr(m,h,f)))),d)break;m=m.return}0<u.length&&(l=new s(l,c,null,n,a),o.push({event:l,listeners:u}))}}if(!(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===we||!(c=n.relatedTarget||n.fromElement)||!va(c)&&!c[ma])&&(s||l)&&(l=a.window===a?a:(l=a.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(c=(c=n.relatedTarget||n.toElement)?va(c):null)&&(c!==(d=qe(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(s=null,c=r),s!==c)){if(u=mn,h="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=Tn,h="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==s?l:wa(s),f=null==c?l:wa(c),(l=new u(h,m+"leave",s,n,a)).target=d,l.relatedTarget=f,h=null,va(a)===r&&((u=new u(p,m+"enter",c,n,a)).target=f,u.relatedTarget=d,h=u),d=h,s&&c)e:{for(p=c,m=0,f=u=s;f;f=Wr(f))m++;for(f=0,h=p;h;h=Wr(h))f++;for(;0<m-f;)u=Wr(u),m--;for(;0<f-m;)p=Wr(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Wr(u),p=Wr(p)}u=null}else u=null;null!==s&&Kr(o,l,s,u,!1),null!==c&&null!==d&&Kr(o,d,c,u,!0)}if("select"===(s=(l=r?wa(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var g=Yn;else if($n(l))if(Xn)g=or;else{g=ar;var b=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(g=ir);switch(g&&(g=g(e,r))?Vn(o,g,n,a):(b&&b(e,l,r),"focusout"===e&&(b=l._wrapperState)&&b.controlled&&"number"===l.type&&ee(l,"number",l.value)),b=r?wa(r):window,e){case"focusin":($n(b)||"true"===b.contentEditable)&&(gr=b,br=r,vr=null);break;case"focusout":vr=br=gr=null;break;case"mousedown":yr=!0;break;case"contextmenu":case"mouseup":case"dragend":yr=!1,wr(o,n,a);break;case"selectionchange":if(hr)break;case"keydown":case"keyup":wr(o,n,a)}var v;if(Ln)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else qn?zn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(jn&&"ko"!==n.locale&&(qn||"onCompositionStart"!==y?"onCompositionEnd"===y&&qn&&(v=en()):(Jt="value"in(Xt=a)?Xt.value:Xt.textContent,qn=!0)),0<(b=Gr(r,y)).length&&(y=new wn(y,e,null,n,a),o.push({event:y,listeners:b}),v?y.data=v:null!==(v=Un(n))&&(y.data=v))),(v=Mn?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:(Bn=!0,Fn);case"textInput":return(e=t.data)===Fn&&Bn?null:e;default:return null}}(e,n):function(e,t){if(qn)return"compositionend"===e||!Ln&&zn(e,t)?(e=en(),Zt=Jt=Xt=null,qn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return jn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Gr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),o.push({event:a,listeners:r}),a.data=v))}Fr(o,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,i=a.stateNode;5===a.tag&&null!==i&&(a=i,null!=(i=Ie(e,n))&&r.unshift(Vr(e,i,a)),null!=(i=Ie(e,t))&&r.push(Vr(e,i,a))),e=e.return}return r}function Wr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Kr(e,t,n,r,a){for(var i=t._reactName,o=[];null!==n&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==c&&(l=c,a?null!=(s=Ie(n,i))&&o.unshift(Vr(n,s,l)):a||null!=(s=Ie(n,i))&&o.push(Vr(n,s,l))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Xr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Jr(e,t,n){if(t=Xr(t),Xr(e)!==t&&n)throw Error(i(425))}function Zr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,ia="function"==typeof Promise?Promise:void 0,oa="function"==typeof queueMicrotask?queueMicrotask:void 0!==ia?function(e){return ia.resolve(null).then(e).catch(la)}:ra;function la(e){setTimeout((function(){throw e}))}function sa(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void qt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);qt(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ua(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,fa="__reactProps$"+da,ma="__reactContainer$"+da,ha="__reactEvents$"+da,ga="__reactListeners$"+da,ba="__reactHandles$"+da;function va(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ma]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ua(e);null!==e;){if(n=e[pa])return n;e=ua(e)}return t}n=(e=n).parentNode}return null}function ya(e){return!(e=e[pa]||e[ma])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function _a(e){return e[fa]||null}var Sa=[],ka=-1;function Ea(e){return{current:e}}function xa(e){0>ka||(e.current=Sa[ka],Sa[ka]=null,ka--)}function Ca(e,t){ka++,Sa[ka]=e.current,e.current=t}var Pa={},Ta=Ea(Pa),Aa=Ea(!1),Oa=Pa;function Ra(e,t){var n=e.type.contextTypes;if(!n)return Pa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,i={};for(a in n)i[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ia(e){return null!=(e=e.childContextTypes)}function Na(){xa(Aa),xa(Ta)}function La(e,t,n){if(Ta.current!==Pa)throw Error(i(168));Ca(Ta,t),Ca(Aa,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(i(108,H(e)||"Unknown",a));return j({},n,r)}function Ma(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Pa,Oa=Ta.current,Ca(Ta,e),Ca(Aa,Aa.current),!0}function ja(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=Da(e,t,Oa),r.__reactInternalMemoizedMergedChildContext=e,xa(Aa),xa(Ta),Ca(Ta,e)):xa(Aa),Ca(Aa,n)}var Fa=null,Ba=!1,za=!1;function Ua(e){null===Fa?Fa=[e]:Fa.push(e)}function qa(){if(!za&&null!==Fa){za=!0;var e=0,t=yt;try{var n=Fa;for(yt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Fa=null,Ba=!1}catch(a){throw null!==Fa&&(Fa=Fa.slice(e+1)),We(Ze,qa),a}finally{yt=t,za=!1}}return null}var Ha=[],$a=0,Va=null,Ga=0,Wa=[],Ka=0,Qa=null,Ya=1,Xa="";function Ja(e,t){Ha[$a++]=Ga,Ha[$a++]=Va,Va=e,Ga=t}function Za(e,t,n){Wa[Ka++]=Ya,Wa[Ka++]=Xa,Wa[Ka++]=Qa,Qa=e;var r=Ya;e=Xa;var a=32-ot(r)-1;r&=~(1<<a),n+=1;var i=32-ot(t)+a;if(30<i){var o=a-a%5;i=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Ya=1<<32-ot(t)+a|n<<a|r,Xa=i+e}else Ya=1<<i|n<<a|r,Xa=e}function ei(e){null!==e.return&&(Ja(e,1),Za(e,1,0))}function ti(e){for(;e===Va;)Va=Ha[--$a],Ha[$a]=null,Ga=Ha[--$a],Ha[$a]=null;for(;e===Qa;)Qa=Wa[--Ka],Wa[Ka]=null,Xa=Wa[--Ka],Wa[Ka]=null,Ya=Wa[--Ka],Wa[Ka]=null}var ni=null,ri=null,ai=!1,ii=null;function oi(e,t){var n=Rc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function li(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ni=e,ri=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ni=e,ri=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qa?{id:Ya,overflow:Xa}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Rc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ni=e,ri=null,!0);default:return!1}}function si(e){return!(!(1&e.mode)||128&e.flags)}function ci(e){if(ai){var t=ri;if(t){var n=t;if(!li(e,t)){if(si(e))throw Error(i(418));t=ca(n.nextSibling);var r=ni;t&&li(e,t)?oi(r,n):(e.flags=-4097&e.flags|2,ai=!1,ni=e)}}else{if(si(e))throw Error(i(418));e.flags=-4097&e.flags|2,ai=!1,ni=e}}}function ui(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ni=e}function di(e){if(e!==ni)return!1;if(!ai)return ui(e),ai=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ri)){if(si(e))throw pi(),Error(i(418));for(;t;)oi(e,t),t=ca(t.nextSibling)}if(ui(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ri=ca(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ri=null}}else ri=ni?ca(e.stateNode.nextSibling):null;return!0}function pi(){for(var e=ri;e;)e=ca(e.nextSibling)}function fi(){ri=ni=null,ai=!1}function mi(e){null===ii?ii=[e]:ii.push(e)}var hi=w.ReactCurrentBatchConfig;function gi(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=r,o=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function bi(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function vi(e){return(0,e._init)(e._payload)}function yi(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Nc(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=jc(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){var i=n.type;return i===k?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===i||"object"==typeof i&&null!==i&&i.$$typeof===I&&vi(i)===t.type)?((r=a(t,n.props)).ref=gi(e,t,n),r.return=e,r):((r=Lc(n.type,n.key,n.props,null,e.mode,r)).ref=gi(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fc(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,i){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,i)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=jc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case _:return(n=Lc(t.type,t.key,t.props,null,e.mode,n)).ref=gi(e,null,t),n.return=e,n;case S:return(t=Fc(t,e.mode,n)).return=e,t;case I:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;bi(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case _:return n.key===a?c(e,t,n,r):null;case S:return n.key===a?u(e,t,n,r):null;case I:return f(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);bi(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case _:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case S:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case I:return m(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);bi(t,r)}return null}function h(a,i,l,s){for(var c=null,u=null,d=i,h=i=0,g=null;null!==d&&h<l.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var b=f(a,d,l[h],s);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(a,d),i=o(b,i,h),null===u?c=b:u.sibling=b,u=b,d=g}if(h===l.length)return n(a,d),ai&&Ja(a,h),c;if(null===d){for(;h<l.length;h++)null!==(d=p(a,l[h],s))&&(i=o(d,i,h),null===u?c=d:u.sibling=d,u=d);return ai&&Ja(a,h),c}for(d=r(a,d);h<l.length;h++)null!==(g=m(d,a,h,l[h],s))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),i=o(g,i,h),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(a,e)})),ai&&Ja(a,h),c}function g(a,l,s,c){var u=D(s);if("function"!=typeof u)throw Error(i(150));if(null==(s=u.call(s)))throw Error(i(151));for(var d=u=null,h=l,g=l=0,b=null,v=s.next();null!==h&&!v.done;g++,v=s.next()){h.index>g?(b=h,h=null):b=h.sibling;var y=f(a,h,v.value,c);if(null===y){null===h&&(h=b);break}e&&h&&null===y.alternate&&t(a,h),l=o(y,l,g),null===d?u=y:d.sibling=y,d=y,h=b}if(v.done)return n(a,h),ai&&Ja(a,g),u;if(null===h){for(;!v.done;g++,v=s.next())null!==(v=p(a,v.value,c))&&(l=o(v,l,g),null===d?u=v:d.sibling=v,d=v);return ai&&Ja(a,g),u}for(h=r(a,h);!v.done;g++,v=s.next())null!==(v=m(h,a,g,v.value,c))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),l=o(v,l,g),null===d?u=v:d.sibling=v,d=v);return e&&h.forEach((function(e){return t(a,e)})),ai&&Ja(a,g),u}return function e(r,i,o,s){if("object"==typeof o&&null!==o&&o.type===k&&null===o.key&&(o=o.props.children),"object"==typeof o&&null!==o){switch(o.$$typeof){case _:e:{for(var c=o.key,u=i;null!==u;){if(u.key===c){if((c=o.type)===k){if(7===u.tag){n(r,u.sibling),(i=a(u,o.props.children)).return=r,r=i;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===I&&vi(c)===u.type){n(r,u.sibling),(i=a(u,o.props)).ref=gi(r,u,o),i.return=r,r=i;break e}n(r,u);break}t(r,u),u=u.sibling}o.type===k?((i=Dc(o.props.children,r.mode,s,o.key)).return=r,r=i):((s=Lc(o.type,o.key,o.props,null,r.mode,s)).ref=gi(r,i,o),s.return=r,r=s)}return l(r);case S:e:{for(u=o.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===o.containerInfo&&i.stateNode.implementation===o.implementation){n(r,i.sibling),(i=a(i,o.children||[])).return=r,r=i;break e}n(r,i);break}t(r,i),i=i.sibling}(i=Fc(o,r.mode,s)).return=r,r=i}return l(r);case I:return e(r,i,(u=o._init)(o._payload),s)}if(te(o))return h(r,i,o,s);if(D(o))return g(r,i,o,s);bi(r,o)}return"string"==typeof o&&""!==o||"number"==typeof o?(o=""+o,null!==i&&6===i.tag?(n(r,i.sibling),(i=a(i,o)).return=r,r=i):(n(r,i),(i=jc(o,r.mode,s)).return=r,r=i),l(r)):n(r,i)}}var wi=yi(!0),_i=yi(!1),Si=Ea(null),ki=null,Ei=null,xi=null;function Ci(){xi=Ei=ki=null}function Pi(e){var t=Si.current;xa(Si),e._currentValue=t}function Ti(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ai(e,t){ki=e,xi=Ei=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(yl=!0),e.firstContext=null)}function Oi(e){var t=e._currentValue;if(xi!==e)if(e={context:e,memoizedValue:t,next:null},null===Ei){if(null===ki)throw Error(i(308));Ei=e,ki.dependencies={lanes:0,firstContext:e}}else Ei=Ei.next=e;return t}var Ri=null;function Ii(e){null===Ri?Ri=[e]:Ri.push(e)}function Ni(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Ii(t)):(n.next=a.next,a.next=n),t.interleaved=n,Li(e,r)}function Li(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Di=!1;function Mi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ji(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fi(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Bi(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Ts){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Li(e,n)}return null===(a=r.interleaved)?(t.next=t,Ii(r)):(t.next=a.next,a.next=t),r.interleaved=t,Li(e,n)}function zi(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Ui(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?a=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?a=i=t:i=i.next=t}else a=i=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qi(e,t,n,r){var a=e.updateQueue;Di=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,c=s.next;s.next=null,null===o?i=c:o.next=c,o=s;var u=e.alternate;null!==u&&((l=(u=u.updateQueue).lastBaseUpdate)!==o&&(null===l?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=s))}if(null!==i){var d=a.baseState;for(o=0,u=c=s=null,l=i;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,h=l;switch(p=t,f=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=h.payload)?m.call(f,d,p):m))break e;d=j({},d,p);break e;case 2:Di=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===u?(c=u=f,s=d):u=u.next=f,o|=p;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(p=l).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{o|=a.lane,a=a.next}while(a!==t)}else null===i&&(a.shared.lanes=0);Ms|=o,e.lanes=o,e.memoizedState=d}}function Hi(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(i(191,a));a.call(r)}}}var $i={},Vi=Ea($i),Gi=Ea($i),Wi=Ea($i);function Ki(e){if(e===$i)throw Error(i(174));return e}function Qi(e,t){switch(Ca(Wi,t),Ca(Gi,e),Ca(Vi,$i),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}xa(Vi),Ca(Vi,t)}function Yi(){xa(Vi),xa(Gi),xa(Wi)}function Xi(e){Ki(Wi.current);var t=Ki(Vi.current),n=se(t,e.type);t!==n&&(Ca(Gi,e),Ca(Vi,n))}function Ji(e){Gi.current===e&&(xa(Vi),xa(Gi))}var Zi=Ea(0);function eo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var to=[];function no(){for(var e=0;e<to.length;e++)to[e]._workInProgressVersionPrimary=null;to.length=0}var ro=w.ReactCurrentDispatcher,ao=w.ReactCurrentBatchConfig,io=0,oo=null,lo=null,so=null,co=!1,uo=!1,po=0,fo=0;function mo(){throw Error(i(321))}function ho(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function go(e,t,n,r,a,o){if(io=o,oo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ro.current=null===e||null===e.memoizedState?Zo:el,e=n(r,a),uo){o=0;do{if(uo=!1,po=0,25<=o)throw Error(i(301));o+=1,so=lo=null,t.updateQueue=null,ro.current=tl,e=n(r,a)}while(uo)}if(ro.current=Jo,t=null!==lo&&null!==lo.next,io=0,so=lo=oo=null,co=!1,t)throw Error(i(300));return e}function bo(){var e=0!==po;return po=0,e}function vo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===so?oo.memoizedState=so=e:so=so.next=e,so}function yo(){if(null===lo){var e=oo.alternate;e=null!==e?e.memoizedState:null}else e=lo.next;var t=null===so?oo.memoizedState:so.next;if(null!==t)so=t,lo=e;else{if(null===e)throw Error(i(310));e={memoizedState:(lo=e).memoizedState,baseState:lo.baseState,baseQueue:lo.baseQueue,queue:lo.queue,next:null},null===so?oo.memoizedState=so=e:so=so.next=e}return so}function wo(e,t){return"function"==typeof t?t(e):t}function _o(e){var t=yo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=lo,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var l=a.next;a.next=o.next,o.next=l}r.baseQueue=a=o,n.pending=null}if(null!==a){o=a.next,r=r.baseState;var s=l=null,c=null,u=o;do{var d=u.lane;if((io&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(s=c=p,l=r):c=c.next=p,oo.lanes|=d,Ms|=d}u=u.next}while(null!==u&&u!==o);null===c?l=r:c.next=s,lr(r,t.memoizedState)||(yl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{o=a.lane,oo.lanes|=o,Ms|=o,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function So(e){var t=yo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{o=e(o,l.action),l=l.next}while(l!==a);lr(o,t.memoizedState)||(yl=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ko(){}function Eo(e,t){var n=oo,r=yo(),a=t(),o=!lr(r.memoizedState,a);if(o&&(r.memoizedState=a,yl=!0),r=r.queue,Mo(Po.bind(null,n,r,e),[e]),r.getSnapshot!==t||o||null!==so&&1&so.memoizedState.tag){if(n.flags|=2048,Ro(9,Co.bind(null,n,r,a,t),void 0,null),null===As)throw Error(i(349));30&io||xo(n,t,a)}return a}function xo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=oo.updateQueue)?(t={lastEffect:null,stores:null},oo.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Co(e,t,n,r){t.value=n,t.getSnapshot=r,To(t)&&Ao(e)}function Po(e,t,n){return n((function(){To(t)&&Ao(e)}))}function To(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Ao(e){var t=Li(e,1);null!==t&&nc(t,e,1,-1)}function Oo(e){var t=vo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:wo,lastRenderedState:e},t.queue=e,e=e.dispatch=Ko.bind(null,oo,e),[t.memoizedState,e]}function Ro(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=oo.updateQueue)?(t={lastEffect:null,stores:null},oo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Io(){return yo().memoizedState}function No(e,t,n,r){var a=vo();oo.flags|=e,a.memoizedState=Ro(1|t,n,void 0,void 0===r?null:r)}function Lo(e,t,n,r){var a=yo();r=void 0===r?null:r;var i=void 0;if(null!==lo){var o=lo.memoizedState;if(i=o.destroy,null!==r&&ho(r,o.deps))return void(a.memoizedState=Ro(t,n,i,r))}oo.flags|=e,a.memoizedState=Ro(1|t,n,i,r)}function Do(e,t){return No(8390656,8,e,t)}function Mo(e,t){return Lo(2048,8,e,t)}function jo(e,t){return Lo(4,2,e,t)}function Fo(e,t){return Lo(4,4,e,t)}function Bo(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function zo(e,t,n){return n=null!=n?n.concat([e]):null,Lo(4,4,Bo.bind(null,t,e),n)}function Uo(){}function qo(e,t){var n=yo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ho(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ho(e,t){var n=yo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ho(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function $o(e,t,n){return 21&io?(lr(n,t)||(n=ht(),oo.lanes|=n,Ms|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,yl=!0),e.memoizedState=n)}function Vo(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var r=ao.transition;ao.transition={};try{e(!1),t()}finally{yt=n,ao.transition=r}}function Go(){return yo().memoizedState}function Wo(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Qo(e))Yo(t,n);else if(null!==(n=Ni(e,t,n,r))){nc(n,e,r,ec()),Xo(n,t,r)}}function Ko(e,t,n){var r=tc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qo(e))Yo(t,a);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,l=i(o,n);if(a.hasEagerState=!0,a.eagerState=l,lr(l,o)){var s=t.interleaved;return null===s?(a.next=a,Ii(t)):(a.next=s.next,s.next=a),void(t.interleaved=a)}}catch(c){}null!==(n=Ni(e,t,a,r))&&(nc(n,e,r,a=ec()),Xo(n,t,r))}}function Qo(e){var t=e.alternate;return e===oo||null!==t&&t===oo}function Yo(e,t){uo=co=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Xo(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var Jo={readContext:Oi,useCallback:mo,useContext:mo,useEffect:mo,useImperativeHandle:mo,useInsertionEffect:mo,useLayoutEffect:mo,useMemo:mo,useReducer:mo,useRef:mo,useState:mo,useDebugValue:mo,useDeferredValue:mo,useTransition:mo,useMutableSource:mo,useSyncExternalStore:mo,useId:mo,unstable_isNewReconciler:!1},Zo={readContext:Oi,useCallback:function(e,t){return vo().memoizedState=[e,void 0===t?null:t],e},useContext:Oi,useEffect:Do,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,No(4194308,4,Bo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return No(4194308,4,e,t)},useInsertionEffect:function(e,t){return No(4,2,e,t)},useMemo:function(e,t){var n=vo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=vo();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Wo.bind(null,oo,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},vo().memoizedState=e},useState:Oo,useDebugValue:Uo,useDeferredValue:function(e){return vo().memoizedState=e},useTransition:function(){var e=Oo(!1),t=e[0];return e=Vo.bind(null,e[1]),vo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=oo,a=vo();if(ai){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===As)throw Error(i(349));30&io||xo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Do(Po.bind(null,r,o,e),[e]),r.flags|=2048,Ro(9,Co.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=vo(),t=As.identifierPrefix;if(ai){var n=Xa;t=":"+t+"R"+(n=(Ya&~(1<<32-ot(Ya)-1)).toString(32)+n),0<(n=po++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fo++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},el={readContext:Oi,useCallback:qo,useContext:Oi,useEffect:Mo,useImperativeHandle:zo,useInsertionEffect:jo,useLayoutEffect:Fo,useMemo:Ho,useReducer:_o,useRef:Io,useState:function(){return _o(wo)},useDebugValue:Uo,useDeferredValue:function(e){return $o(yo(),lo.memoizedState,e)},useTransition:function(){return[_o(wo)[0],yo().memoizedState]},useMutableSource:ko,useSyncExternalStore:Eo,useId:Go,unstable_isNewReconciler:!1},tl={readContext:Oi,useCallback:qo,useContext:Oi,useEffect:Mo,useImperativeHandle:zo,useInsertionEffect:jo,useLayoutEffect:Fo,useMemo:Ho,useReducer:So,useRef:Io,useState:function(){return So(wo)},useDebugValue:Uo,useDeferredValue:function(e){var t=yo();return null===lo?t.memoizedState=e:$o(t,lo.memoizedState,e)},useTransition:function(){return[So(wo)[0],yo().memoizedState]},useMutableSource:ko,useSyncExternalStore:Eo,useId:Go,unstable_isNewReconciler:!1};function nl(e,t){if(e&&e.defaultProps){for(var n in t=j({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rl(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:j({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var al={isMounted:function(e){return!!(e=e._reactInternals)&&qe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),i=Fi(r,a);i.payload=t,null!=n&&(i.callback=n),null!==(t=Bi(e,i,a))&&(nc(t,e,a,r),zi(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),i=Fi(r,a);i.tag=1,i.payload=t,null!=n&&(i.callback=n),null!==(t=Bi(e,i,a))&&(nc(t,e,a,r),zi(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),a=Fi(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Bi(e,a,r))&&(nc(t,e,r,n),zi(t,e,r))}};function il(e,t,n,r,a,i,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,i))}function ol(e,t,n){var r=!1,a=Pa,i=t.contextType;return"object"==typeof i&&null!==i?i=Oi(i):(a=Ia(t)?Oa:Ta.current,i=(r=null!=(r=t.contextTypes))?Ra(e,a):Pa),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=al,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function ll(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&al.enqueueReplaceState(t,t.state,null)}function sl(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},Mi(e);var i=t.contextType;"object"==typeof i&&null!==i?a.context=Oi(i):(i=Ia(t)?Oa:Ta.current,a.context=Ra(e,i)),a.state=e.memoizedState,"function"==typeof(i=t.getDerivedStateFromProps)&&(rl(e,t,i,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&al.enqueueReplaceState(a,a.state,null),qi(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function cl(e,t){try{var n="",r=t;do{n+=U(r),r=r.return}while(r);var a=n}catch(i){a="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:a,digest:null}}function ul(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function dl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var pl="function"==typeof WeakMap?WeakMap:Map;function fl(e,t,n){(n=Fi(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){$s||($s=!0,Vs=r),dl(0,t)},n}function ml(e,t,n){(n=Fi(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){dl(0,t)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(n.callback=function(){dl(0,t),"function"!=typeof r&&(null===Gs?Gs=new Set([this]):Gs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new pl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=xc.bind(null,e,t,n),t.then(e,e))}function gl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bl(e,t,n,r,a){return 1&e.mode?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fi(-1,1)).tag=2,Bi(n,t,1))),n.lanes|=1),e)}var vl=w.ReactCurrentOwner,yl=!1;function wl(e,t,n,r){t.child=null===e?_i(t,null,n,r):wi(t,e.child,n,r)}function _l(e,t,n,r,a){n=n.render;var i=t.ref;return Ai(t,a),r=go(e,t,n,r,i,a),n=bo(),null===e||yl?(ai&&n&&ei(t),t.flags|=1,wl(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,$l(e,t,a))}function Sl(e,t,n,r,a){if(null===e){var i=n.type;return"function"!=typeof i||Ic(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Lc(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,kl(e,t,i,r,a))}if(i=e.child,!(e.lanes&a)){var o=i.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(o,r)&&e.ref===t.ref)return $l(e,t,a)}return t.flags|=1,(e=Nc(i,r)).ref=t.ref,e.return=t,t.child=e}function kl(e,t,n,r,a){if(null!==e){var i=e.memoizedProps;if(sr(i,r)&&e.ref===t.ref){if(yl=!1,t.pendingProps=r=i,!(e.lanes&a))return t.lanes=e.lanes,$l(e,t,a);131072&e.flags&&(yl=!0)}}return Cl(e,t,n,r,a)}function El(e,t,n){var r=t.pendingProps,a=r.children,i=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(Ns,Is),Is|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==i?i.baseLanes:n,Ca(Ns,Is),Is|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(Ns,Is),Is|=n;else null!==i?(r=i.baseLanes|n,t.memoizedState=null):r=n,Ca(Ns,Is),Is|=r;return wl(e,t,a,n),t.child}function xl(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Cl(e,t,n,r,a){var i=Ia(n)?Oa:Ta.current;return i=Ra(t,i),Ai(t,a),n=go(e,t,n,r,i,a),r=bo(),null===e||yl?(ai&&r&&ei(t),t.flags|=1,wl(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,$l(e,t,a))}function Pl(e,t,n,r,a){if(Ia(n)){var i=!0;Ma(t)}else i=!1;if(Ai(t,a),null===t.stateNode)Hl(e,t),ol(t,n,r),sl(t,n,r,a),r=!0;else if(null===e){var o=t.stateNode,l=t.memoizedProps;o.props=l;var s=o.context,c=n.contextType;"object"==typeof c&&null!==c?c=Oi(c):c=Ra(t,c=Ia(n)?Oa:Ta.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof o.getSnapshotBeforeUpdate;d||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==r||s!==c)&&ll(t,o,r,c),Di=!1;var p=t.memoizedState;o.state=p,qi(t,r,o,a),s=t.memoizedState,l!==r||p!==s||Aa.current||Di?("function"==typeof u&&(rl(t,n,u,r),s=t.memoizedState),(l=Di||il(t,n,l,r,p,s,c))?(d||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),o.props=r,o.state=s,o.context=c,r=l):("function"==typeof o.componentDidMount&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,ji(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:nl(t.type,l),o.props=c,d=t.pendingProps,p=o.context,"object"==typeof(s=n.contextType)&&null!==s?s=Oi(s):s=Ra(t,s=Ia(n)?Oa:Ta.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==d||p!==s)&&ll(t,o,r,s),Di=!1,p=t.memoizedState,o.state=p,qi(t,r,o,a);var m=t.memoizedState;l!==d||p!==m||Aa.current||Di?("function"==typeof f&&(rl(t,n,f,r),m=t.memoizedState),(c=Di||il(t,n,c,r,p,m,s)||!1)?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(r,m,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,m,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=s,r=c):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Tl(e,t,n,r,i,a)}function Tl(e,t,n,r,a,i){xl(e,t);var o=!!(128&t.flags);if(!r&&!o)return a&&ja(t,n,!1),$l(e,t,i);r=t.stateNode,vl.current=t;var l=o&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&o?(t.child=wi(t,e.child,null,i),t.child=wi(t,null,l,i)):wl(e,t,l,i),t.memoizedState=r.state,a&&ja(t,n,!0),t.child}function Al(e){var t=e.stateNode;t.pendingContext?La(0,t.pendingContext,t.pendingContext!==t.context):t.context&&La(0,t.context,!1),Qi(e,t.containerInfo)}function Ol(e,t,n,r,a){return fi(),mi(a),t.flags|=256,wl(e,t,n,r),t.child}var Rl,Il,Nl,Ll,Dl={dehydrated:null,treeContext:null,retryLane:0};function Ml(e){return{baseLanes:e,cachePool:null,transitions:null}}function jl(e,t,n){var r,a=t.pendingProps,o=Zi.current,l=!1,s=!!(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&!!(2&o)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(o|=1),Ca(Zi,1&o),null===e)return ci(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=a.children,e=a.fallback,l?(a=t.mode,l=t.child,s={mode:"hidden",children:s},1&a||null===l?l=Mc(s,a,0,null):(l.childLanes=0,l.pendingProps=s),e=Dc(e,a,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Ml(n),t.memoizedState=Dl,e):Fl(t,s));if(null!==(o=e.memoizedState)&&null!==(r=o.dehydrated))return function(e,t,n,r,a,o,l){if(n)return 256&t.flags?(t.flags&=-257,Bl(e,t,l,r=ul(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=r.fallback,a=t.mode,r=Mc({mode:"visible",children:r.children},a,0,null),(o=Dc(o,a,l,null)).flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,1&t.mode&&wi(t,e.child,null,l),t.child.memoizedState=Ml(l),t.memoizedState=Dl,o);if(!(1&t.mode))return Bl(e,t,l,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var s=r.dgst;return r=s,Bl(e,t,l,r=ul(o=Error(i(419)),r,void 0))}if(s=!!(l&e.childLanes),yl||s){if(null!==(r=As)){switch(l&-l){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=a&(r.suspendedLanes|l)?0:a)&&a!==o.retryLane&&(o.retryLane=a,Li(e,a),nc(r,e,a,-1))}return hc(),Bl(e,t,l,r=ul(Error(i(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=Pc.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ri=ca(a.nextSibling),ni=t,ai=!0,ii=null,null!==e&&(Wa[Ka++]=Ya,Wa[Ka++]=Xa,Wa[Ka++]=Qa,Ya=e.id,Xa=e.overflow,Qa=t),t=Fl(t,r.children),t.flags|=4096,t)}(e,t,s,a,r,o,n);if(l){l=a.fallback,s=t.mode,r=(o=e.child).sibling;var c={mode:"hidden",children:a.children};return 1&s||t.child===o?(a=Nc(o,c)).subtreeFlags=14680064&o.subtreeFlags:((a=t.child).childLanes=0,a.pendingProps=c,t.deletions=null),null!==r?l=Nc(r,l):(l=Dc(l,s,n,null)).flags|=2,l.return=t,a.return=t,a.sibling=l,t.child=a,a=l,l=t.child,s=null===(s=e.child.memoizedState)?Ml(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=Dl,a}return e=(l=e.child).sibling,a=Nc(l,{mode:"visible",children:a.children}),!(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Fl(e,t){return(t=Mc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bl(e,t,n,r){return null!==r&&mi(r),wi(t,e.child,null,n),(e=Fl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function zl(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ti(e.return,t,n)}function Ul(e,t,n,r,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a)}function ql(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(wl(e,t,r.children,n),2&(r=Zi.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&zl(e,n,t);else if(19===e.tag)zl(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(Zi,r),1&t.mode)switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===eo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Ul(t,!1,a,n,i);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===eo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Ul(t,!0,n,null,i);break;case"together":Ul(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Hl(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function $l(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ms|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Nc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vl(e,t){if(!ai)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Gl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wl(e,t,n){var r=t.pendingProps;switch(ti(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gl(t),null;case 1:case 17:return Ia(t.type)&&Na(),Gl(t),null;case 3:return r=t.stateNode,Yi(),xa(Aa),xa(Ta),no(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(di(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ii&&(oc(ii),ii=null))),Il(e,t),Gl(t),null;case 5:Ji(t);var a=Ki(Wi.current);if(n=t.type,null!==e&&null!=t.stateNode)Nl(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(i(166));return Gl(t),null}if(e=Ki(Vi.current),di(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[pa]=t,r[fa]=o,e=!!(1&t.mode),n){case"dialog":Br("cancel",r),Br("close",r);break;case"iframe":case"object":case"embed":Br("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)Br(Dr[a],r);break;case"source":Br("error",r);break;case"img":case"image":case"link":Br("error",r),Br("load",r);break;case"details":Br("toggle",r);break;case"input":Y(r,o),Br("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},Br("invalid",r);break;case"textarea":ae(r,o),Br("invalid",r)}for(var s in ve(n,o),a=null,o)if(o.hasOwnProperty(s)){var c=o[s];"children"===s?"string"==typeof c?r.textContent!==c&&(!0!==o.suppressHydrationWarning&&Jr(r.textContent,c,e),a=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==o.suppressHydrationWarning&&Jr(r.textContent,c,e),a=["children",""+c]):l.hasOwnProperty(s)&&null!=c&&"onScroll"===s&&Br("scroll",r)}switch(n){case"input":G(r),Z(r,o,!0);break;case"textarea":G(r),oe(r);break;case"select":case"option":break;default:"function"==typeof o.onClick&&(r.onclick=Zr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[pa]=t,e[fa]=r,Rl(e,t,!1,!1),t.stateNode=e;e:{switch(s=ye(n,r),n){case"dialog":Br("cancel",e),Br("close",e),a=r;break;case"iframe":case"object":case"embed":Br("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)Br(Dr[a],e);a=r;break;case"source":Br("error",e),a=r;break;case"img":case"image":case"link":Br("error",e),Br("load",e),a=r;break;case"details":Br("toggle",e),a=r;break;case"input":Y(e,r),a=Q(e,r),Br("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=j({},r,{value:void 0}),Br("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),Br("invalid",e)}for(o in ve(n,a),c=a)if(c.hasOwnProperty(o)){var u=c[o];"style"===o?ge(e,u):"dangerouslySetInnerHTML"===o?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===o?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(l.hasOwnProperty(o)?null!=u&&"onScroll"===o&&Br("scroll",e):null!=u&&y(e,o,u,s))}switch(n){case"input":G(e),Z(e,r,!1);break;case"textarea":G(e),oe(e);break;case"option":null!=r.value&&e.setAttribute("value",""+$(r.value));break;case"select":e.multiple=!!r.multiple,null!=(o=r.value)?ne(e,!!r.multiple,o,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Zr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Gl(t),null;case 6:if(e&&null!=t.stateNode)Ll(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(n=Ki(Wi.current),Ki(Vi.current),di(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(o=r.nodeValue!==n)&&null!==(e=ni))switch(e.tag){case 3:Jr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Jr(r.nodeValue,n,!!(1&e.mode))}o&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Gl(t),null;case 13:if(xa(Zi),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ai&&null!==ri&&1&t.mode&&!(128&t.flags))pi(),fi(),t.flags|=98560,o=!1;else if(o=di(t),null!==r&&null!==r.dehydrated){if(null===e){if(!o)throw Error(i(318));if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(i(317));o[pa]=t}else fi(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Gl(t),o=!1}else null!==ii&&(oc(ii),ii=null),o=!0;if(!o)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&Zi.current?0===Ls&&(Ls=3):hc())),null!==t.updateQueue&&(t.flags|=4),Gl(t),null);case 4:return Yi(),Il(e,t),null===e&&qr(t.stateNode.containerInfo),Gl(t),null;case 10:return Pi(t.type._context),Gl(t),null;case 19:if(xa(Zi),null===(o=t.memoizedState))return Gl(t),null;if(r=!!(128&t.flags),null===(s=o.rendering))if(r)Vl(o,!1);else{if(0!==Ls||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(s=eo(e))){for(t.flags|=128,Vl(o,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(o=n).flags&=14680066,null===(s=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=s.childLanes,o.lanes=s.lanes,o.child=s.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=s.memoizedProps,o.memoizedState=s.memoizedState,o.updateQueue=s.updateQueue,o.type=s.type,e=s.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(Zi,1&Zi.current|2),t.child}e=e.sibling}null!==o.tail&&Xe()>qs&&(t.flags|=128,r=!0,Vl(o,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=eo(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vl(o,!0),null===o.tail&&"hidden"===o.tailMode&&!s.alternate&&!ai)return Gl(t),null}else 2*Xe()-o.renderingStartTime>qs&&1073741824!==n&&(t.flags|=128,r=!0,Vl(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=o.last)?n.sibling=s:t.child=s,o.last=s)}return null!==o.tail?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Xe(),t.sibling=null,n=Zi.current,Ca(Zi,r?1&n|2:1&n),t):(Gl(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Is)&&(Gl(t),6&t.subtreeFlags&&(t.flags|=8192)):Gl(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function Kl(e,t){switch(ti(t),t.tag){case 1:return Ia(t.type)&&Na(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Yi(),xa(Aa),xa(Ta),no(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ji(t),null;case 13:if(xa(Zi),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));fi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return xa(Zi),null;case 4:return Yi(),null;case 10:return Pi(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Rl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Il=function(){},Nl=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Ki(Vi.current);var i,o=null;switch(n){case"input":a=Q(e,a),r=Q(e,r),o=[];break;case"select":a=j({},a,{value:void 0}),r=j({},r,{value:void 0}),o=[];break;case"textarea":a=re(e,a),r=re(e,r),o=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Zr)}for(u in ve(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var s=a[u];for(i in s)s.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var c=r[u];if(s=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&c!==s&&(null!=c||null!=s))if("style"===u)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(o||(o=[]),o.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(o=o||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(o=o||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(l.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&Br("scroll",e),o||s===c||(o=[])):(o=o||[]).push(u,c))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},Ll=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ql=!1,Yl=!1,Xl="function"==typeof WeakSet?WeakSet:Set,Jl=null;function Zl(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Ec(e,t,r)}else n.current=null}function es(e,t,n){try{n()}catch(r){Ec(e,t,r)}}var ts=!1;function ns(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,void 0!==i&&es(t,n,i)}a=a.next}while(a!==r)}}function rs(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function as(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[fa],delete t[ha],delete t[ga],delete t[ba])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function os(e){return 5===e.tag||3===e.tag||4===e.tag}function ls(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||os(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ss(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Zr));else if(4!==r&&null!==(e=e.child))for(ss(e,t,n),e=e.sibling;null!==e;)ss(e,t,n),e=e.sibling}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}var us=null,ds=!1;function ps(e,t,n){for(n=n.child;null!==n;)fs(e,t,n),n=n.sibling}function fs(e,t,n){if(it&&"function"==typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(at,n)}catch(l){}switch(n.tag){case 5:Yl||Zl(n,t);case 6:var r=us,a=ds;us=null,ps(e,t,n),ds=a,null!==(us=r)&&(ds?(e=us,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):us.removeChild(n.stateNode));break;case 18:null!==us&&(ds?(e=us,n=n.stateNode,8===e.nodeType?sa(e.parentNode,n):1===e.nodeType&&sa(e,n),qt(e)):sa(us,n.stateNode));break;case 4:r=us,a=ds,us=n.stateNode.containerInfo,ds=!0,ps(e,t,n),us=r,ds=a;break;case 0:case 11:case 14:case 15:if(!Yl&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var i=a,o=i.destroy;i=i.tag,void 0!==o&&(2&i||4&i)&&es(n,t,o),a=a.next}while(a!==r)}ps(e,t,n);break;case 1:if(!Yl&&(Zl(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Ec(n,t,l)}ps(e,t,n);break;case 21:ps(e,t,n);break;case 22:1&n.mode?(Yl=(r=Yl)||null!==n.memoizedState,ps(e,t,n),Yl=r):ps(e,t,n);break;default:ps(e,t,n)}}function ms(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Tc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var o=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:us=s.stateNode,ds=!1;break e;case 3:case 4:us=s.stateNode.containerInfo,ds=!0;break e}s=s.return}if(null===us)throw Error(i(160));fs(o,l,a),us=null,ds=!1;var c=a.alternate;null!==c&&(c.return=null),a.return=null}catch(u){Ec(a,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gs(t,e),t=t.sibling}function gs(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hs(t,e),bs(e),4&r){try{ns(3,e,e.return),rs(3,e)}catch(g){Ec(e,e.return,g)}try{ns(5,e,e.return)}catch(g){Ec(e,e.return,g)}}break;case 1:hs(t,e),bs(e),512&r&&null!==n&&Zl(n,n.return);break;case 5:if(hs(t,e),bs(e),512&r&&null!==n&&Zl(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(g){Ec(e,e.return,g)}}if(4&r&&null!=(a=e.stateNode)){var o=e.memoizedProps,l=null!==n?n.memoizedProps:o,s=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===s&&"radio"===o.type&&null!=o.name&&X(a,o),ye(s,l);var u=ye(s,o);for(l=0;l<c.length;l+=2){var d=c[l],p=c[l+1];"style"===d?ge(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):y(a,d,p,u)}switch(s){case"input":J(a,o);break;case"textarea":ie(a,o);break;case"select":var f=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;null!=m?ne(a,!!o.multiple,m,!1):f!==!!o.multiple&&(null!=o.defaultValue?ne(a,!!o.multiple,o.defaultValue,!0):ne(a,!!o.multiple,o.multiple?[]:"",!1))}a[fa]=o}catch(g){Ec(e,e.return,g)}}break;case 6:if(hs(t,e),bs(e),4&r){if(null===e.stateNode)throw Error(i(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(g){Ec(e,e.return,g)}}break;case 3:if(hs(t,e),bs(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{qt(t.containerInfo)}catch(g){Ec(e,e.return,g)}break;case 4:default:hs(t,e),bs(e);break;case 13:hs(t,e),bs(e),8192&(a=e.child).flags&&(o=null!==a.memoizedState,a.stateNode.isHidden=o,!o||null!==a.alternate&&null!==a.alternate.memoizedState||(Us=Xe())),4&r&&ms(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Yl=(u=Yl)||d,hs(t,e),Yl=u):hs(t,e),bs(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Jl=e,d=e.child;null!==d;){for(p=Jl=d;null!==Jl;){switch(m=(f=Jl).child,f.tag){case 0:case 11:case 14:case 15:ns(4,f,f.return);break;case 1:Zl(f,f.return);var h=f.stateNode;if("function"==typeof h.componentWillUnmount){r=f,n=f.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){Ec(r,n,g)}}break;case 5:Zl(f,f.return);break;case 22:if(null!==f.memoizedState){_s(p);continue}}null!==m?(m.return=f,Jl=m):_s(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,u?"function"==typeof(o=a.style).setProperty?o.setProperty("display","none","important"):o.display="none":(s=p.stateNode,l=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,s.style.display=he("display",l))}catch(g){Ec(e,e.return,g)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(g){Ec(e,e.return,g)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:hs(t,e),bs(e),4&r&&ms(e);case 21:}}function bs(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(os(n)){var r=n;break e}n=n.return}throw Error(i(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),cs(e,ls(e),a);break;case 3:case 4:var o=r.stateNode.containerInfo;ss(e,ls(e),o);break;default:throw Error(i(161))}}catch(l){Ec(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ys(e,t,n)}function ys(e,t,n){for(var r=!!(1&e.mode);null!==Jl;){var a=Jl,i=a.child;if(22===a.tag&&r){var o=null!==a.memoizedState||Ql;if(!o){var l=a.alternate,s=null!==l&&null!==l.memoizedState||Yl;l=Ql;var c=Yl;if(Ql=o,(Yl=s)&&!c)for(Jl=a;null!==Jl;)s=(o=Jl).child,22===o.tag&&null!==o.memoizedState?Ss(a):null!==s?(s.return=o,Jl=s):Ss(a);for(;null!==i;)Jl=i,ys(i,t,n),i=i.sibling;Jl=a,Ql=l,Yl=c}ws(e)}else 8772&a.subtreeFlags&&null!==i?(i.return=a,Jl=i):ws(e)}}function ws(e){for(;null!==Jl;){var t=Jl;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Yl||rs(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Yl)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:nl(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;null!==o&&Hi(t,o,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Hi(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&qt(p)}}}break;default:throw Error(i(163))}Yl||512&t.flags&&as(t)}catch(f){Ec(t,t.return,f)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function _s(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Ss(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rs(4,t)}catch(s){Ec(t,n,s)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(s){Ec(t,a,s)}}var i=t.return;try{as(t)}catch(s){Ec(t,i,s)}break;case 5:var o=t.return;try{as(t)}catch(s){Ec(t,o,s)}}}catch(s){Ec(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var ks,Es=Math.ceil,xs=w.ReactCurrentDispatcher,Cs=w.ReactCurrentOwner,Ps=w.ReactCurrentBatchConfig,Ts=0,As=null,Os=null,Rs=0,Is=0,Ns=Ea(0),Ls=0,Ds=null,Ms=0,js=0,Fs=0,Bs=null,zs=null,Us=0,qs=1/0,Hs=null,$s=!1,Vs=null,Gs=null,Ws=!1,Ks=null,Qs=0,Ys=0,Xs=null,Js=-1,Zs=0;function ec(){return 6&Ts?Xe():-1!==Js?Js:Js=Xe()}function tc(e){return 1&e.mode?2&Ts&&0!==Rs?Rs&-Rs:null!==hi.transition?(0===Zs&&(Zs=ht()),Zs):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function nc(e,t,n,r){if(50<Ys)throw Ys=0,Xs=null,Error(i(185));bt(e,n,r),2&Ts&&e===As||(e===As&&(!(2&Ts)&&(js|=n),4===Ls&&lc(e,Rs)),rc(e,r),1===n&&0===Ts&&!(1&t.mode)&&(qs=Xe()+500,Ba&&qa()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-ot(i),l=1<<o,s=a[o];-1===s?l&n&&!(l&r)||(a[o]=ft(l,t)):s<=t&&(e.expiredLanes|=l),i&=~l}}(e,t);var r=pt(e,e===As?Rs:0);if(0===r)null!==n&&Ke(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ke(n),1===t)0===e.tag?function(e){Ba=!0,Ua(e)}(sc.bind(null,e)):Ua(sc.bind(null,e)),oa((function(){!(6&Ts)&&qa()})),n=null;else{switch(wt(r)){case 1:n=Ze;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Ac(n,ac.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ac(e,t){if(Js=-1,Zs=0,6&Ts)throw Error(i(327));var n=e.callbackNode;if(Sc()&&e.callbackNode!==n)return null;var r=pt(e,e===As?Rs:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=gc(e,r);else{t=r;var a=Ts;Ts|=2;var o=mc();for(As===e&&Rs===t||(Hs=null,qs=Xe()+500,pc(e,t));;)try{vc();break}catch(s){fc(e,s)}Ci(),xs.current=o,Ts=a,null!==Os?t=0:(As=null,Rs=0,t=Ls)}if(0!==t){if(2===t&&(0!==(a=mt(e))&&(r=a,t=ic(e,a))),1===t)throw n=Ds,pc(e,0),lc(e,r),rc(e,Xe()),n;if(6===t)lc(e,r);else{if(a=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],i=a.getSnapshot;a=a.value;try{if(!lr(i(),a))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)||(t=gc(e,r),2===t&&(o=mt(e),0!==o&&(r=o,t=ic(e,o))),1!==t)))throw n=Ds,pc(e,0),lc(e,r),rc(e,Xe()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(i(345));case 2:case 5:_c(e,zs,Hs);break;case 3:if(lc(e,r),(130023424&r)===r&&10<(t=Us+500-Xe())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(_c.bind(null,e,zs,Hs),t);break}_c(e,zs,Hs);break;case 4:if(lc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var l=31-ot(r);o=1<<l,(l=t[l])>a&&(a=l),r&=~o}if(r=a,10<(r=(120>(r=Xe()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Es(r/1960))-r)){e.timeoutHandle=ra(_c.bind(null,e,zs,Hs),r);break}_c(e,zs,Hs);break;default:throw Error(i(329))}}}return rc(e,Xe()),e.callbackNode===n?ac.bind(null,e):null}function ic(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=zs,zs=n,null!==t&&oc(t)),e}function oc(e){null===zs?zs=e:zs.push.apply(zs,e)}function lc(e,t){for(t&=~Fs,t&=~js,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ot(t),r=1<<n;e[n]=-1,t&=~r}}function sc(e){if(6&Ts)throw Error(i(327));Sc();var t=pt(e,0);if(!(1&t))return rc(e,Xe()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Ds,pc(e,0),lc(e,t),rc(e,Xe()),n;if(6===n)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,_c(e,zs,Hs),rc(e,Xe()),null}function cc(e,t){var n=Ts;Ts|=1;try{return e(t)}finally{0===(Ts=n)&&(qs=Xe()+500,Ba&&qa())}}function uc(e){null!==Ks&&0===Ks.tag&&!(6&Ts)&&Sc();var t=Ts;Ts|=1;var n=Ps.transition,r=yt;try{if(Ps.transition=null,yt=1,e)return e()}finally{yt=r,Ps.transition=n,!(6&(Ts=t))&&qa()}}function dc(){Is=Ns.current,xa(Ns)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Os)for(n=Os.return;null!==n;){var r=n;switch(ti(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Na();break;case 3:Yi(),xa(Aa),xa(Ta),no();break;case 5:Ji(r);break;case 4:Yi();break;case 13:case 19:xa(Zi);break;case 10:Pi(r.type._context);break;case 22:case 23:dc()}n=n.return}if(As=e,Os=e=Nc(e.current,null),Rs=Is=t,Ls=0,Ds=null,Fs=js=Ms=0,zs=Bs=null,null!==Ri){for(t=0;t<Ri.length;t++)if(null!==(r=(n=Ri[t]).interleaved)){n.interleaved=null;var a=r.next,i=n.pending;if(null!==i){var o=i.next;i.next=a,r.next=o}n.pending=r}Ri=null}return e}function fc(e,t){for(;;){var n=Os;try{if(Ci(),ro.current=Jo,co){for(var r=oo.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}co=!1}if(io=0,so=lo=oo=null,uo=!1,po=0,Cs.current=null,null===n||null===n.return){Ls=1,Ds=t,Os=null;break}e:{var o=e,l=n.return,s=n,c=t;if(t=Rs,s.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=s,p=d.tag;if(!(1&d.mode||0!==p&&11!==p&&15!==p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gl(l);if(null!==m){m.flags&=-257,bl(m,l,s,0,t),1&m.mode&&hl(o,u,t),c=u;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(c),t.updateQueue=g}else h.add(c);break e}if(!(1&t)){hl(o,u,t),hc();break e}c=Error(i(426))}else if(ai&&1&s.mode){var b=gl(l);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bl(b,l,s,0,t),mi(cl(c,s));break e}}o=c=cl(c,s),4!==Ls&&(Ls=2),null===Bs?Bs=[o]:Bs.push(o),o=l;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t,Ui(o,fl(0,c,t));break e;case 1:s=c;var v=o.type,y=o.stateNode;if(!(128&o.flags||"function"!=typeof v.getDerivedStateFromError&&(null===y||"function"!=typeof y.componentDidCatch||null!==Gs&&Gs.has(y)))){o.flags|=65536,t&=-t,o.lanes|=t,Ui(o,ml(o,s,t));break e}}o=o.return}while(null!==o)}wc(n)}catch(w){t=w,Os===n&&null!==n&&(Os=n=n.return);continue}break}}function mc(){var e=xs.current;return xs.current=Jo,null===e?Jo:e}function hc(){0!==Ls&&3!==Ls&&2!==Ls||(Ls=4),null===As||!(268435455&Ms)&&!(268435455&js)||lc(As,Rs)}function gc(e,t){var n=Ts;Ts|=2;var r=mc();for(As===e&&Rs===t||(Hs=null,pc(e,t));;)try{bc();break}catch(a){fc(e,a)}if(Ci(),Ts=n,xs.current=r,null!==Os)throw Error(i(261));return As=null,Rs=0,Ls}function bc(){for(;null!==Os;)yc(Os)}function vc(){for(;null!==Os&&!Qe();)yc(Os)}function yc(e){var t=ks(e.alternate,e,Is);e.memoizedProps=e.pendingProps,null===t?wc(e):Os=t,Cs.current=null}function wc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Kl(n,t)))return n.flags&=32767,void(Os=n);if(null===e)return Ls=6,void(Os=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Wl(n,t,Is)))return void(Os=n);if(null!==(t=t.sibling))return void(Os=t);Os=t=e}while(null!==t);0===Ls&&(Ls=5)}function _c(e,t,n){var r=yt,a=Ps.transition;try{Ps.transition=null,yt=1,function(e,t,n,r){do{Sc()}while(null!==Ks);if(6&Ts)throw Error(i(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-ot(n),i=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~i}}(e,o),e===As&&(Os=As=null,Rs=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Ws||(Ws=!0,Ac(tt,(function(){return Sc(),null}))),o=!!(15990&n.flags),!!(15990&n.subtreeFlags)||o){o=Ps.transition,Ps.transition=null;var l=yt;yt=1;var s=Ts;Ts|=4,Cs.current=null,function(e,t){if(ea=$t,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch(_){n=null;break e}var l=0,s=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==a&&3!==p.nodeType||(s=l+a),p!==o||0!==r&&3!==p.nodeType||(c=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++u===a&&(s=l),f===o&&++d===r&&(c=l),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===s||-1===c?null:{start:s,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},$t=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,1028&t.subtreeFlags&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,b=h.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:nl(t.type,g),b);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(i(163))}}catch(_){Ec(t,t.return,_)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}h=ts,ts=!1}(e,n),gs(n,e),mr(ta),$t=!!ea,ta=ea=null,e.current=n,vs(n,e,a),Ye(),Ts=s,yt=l,Ps.transition=o}else e.current=n;if(Ws&&(Ws=!1,Ks=e,Qs=a),o=e.pendingLanes,0===o&&(Gs=null),function(e){if(it&&"function"==typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(at,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),rc(e,Xe()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if($s)throw $s=!1,e=Vs,Vs=null,e;!!(1&Qs)&&0!==e.tag&&Sc(),o=e.pendingLanes,1&o?e===Xs?Ys++:(Ys=0,Xs=e):Ys=0,qa()}(e,t,n,r)}finally{Ps.transition=a,yt=r}return null}function Sc(){if(null!==Ks){var e=wt(Qs),t=Ps.transition,n=yt;try{if(Ps.transition=null,yt=16>e?16:e,null===Ks)var r=!1;else{if(e=Ks,Ks=null,Qs=0,6&Ts)throw Error(i(331));var a=Ts;for(Ts|=4,Jl=e.current;null!==Jl;){var o=Jl,l=o.child;if(16&Jl.flags){var s=o.deletions;if(null!==s){for(var c=0;c<s.length;c++){var u=s[c];for(Jl=u;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:ns(8,d,o)}var p=d.child;if(null!==p)p.return=d,Jl=p;else for(;null!==Jl;){var f=(d=Jl).sibling,m=d.return;if(is(d),d===u){Jl=null;break}if(null!==f){f.return=m,Jl=f;break}Jl=m}}}var h=o.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Jl=o}}if(2064&o.subtreeFlags&&null!==l)l.return=o,Jl=l;else e:for(;null!==Jl;){if(2048&(o=Jl).flags)switch(o.tag){case 0:case 11:case 15:ns(9,o,o.return)}var v=o.sibling;if(null!==v){v.return=o.return,Jl=v;break e}Jl=o.return}}var y=e.current;for(Jl=y;null!==Jl;){var w=(l=Jl).child;if(2064&l.subtreeFlags&&null!==w)w.return=l,Jl=w;else e:for(l=y;null!==Jl;){if(2048&(s=Jl).flags)try{switch(s.tag){case 0:case 11:case 15:rs(9,s)}}catch(S){Ec(s,s.return,S)}if(s===l){Jl=null;break e}var _=s.sibling;if(null!==_){_.return=s.return,Jl=_;break e}Jl=s.return}}if(Ts=a,qa(),it&&"function"==typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(at,e)}catch(S){}r=!0}return r}finally{yt=n,Ps.transition=t}}return!1}function kc(e,t,n){e=Bi(e,t=fl(0,t=cl(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function Ec(e,t,n){if(3===e.tag)kc(e,e,n);else for(;null!==t;){if(3===t.tag){kc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Gs||!Gs.has(r))){t=Bi(t,e=ml(t,e=cl(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function xc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,As===e&&(Rs&n)===n&&(4===Ls||3===Ls&&(130023424&Rs)===Rs&&500>Xe()-Us?pc(e,0):Fs|=n),rc(e,t)}function Cc(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=ec();null!==(e=Li(e,t))&&(bt(e,t,n),rc(e,n))}function Pc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Tc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(i(314))}null!==r&&r.delete(t),Cc(e,n)}function Ac(e,t){return We(e,t)}function Oc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rc(e,t,n,r){return new Oc(e,t,n,r)}function Ic(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nc(e,t){var n=e.alternate;return null===n?((n=Rc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Lc(e,t,n,r,a,o){var l=2;if(r=e,"function"==typeof e)Ic(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case k:return Dc(n.children,a,o,t);case E:l=8,a|=8;break;case x:return(e=Rc(12,n,t,2|a)).elementType=x,e.lanes=o,e;case A:return(e=Rc(13,n,t,a)).elementType=A,e.lanes=o,e;case O:return(e=Rc(19,n,t,a)).elementType=O,e.lanes=o,e;case N:return Mc(n,a,o,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case P:l=9;break e;case T:l=11;break e;case R:l=14;break e;case I:l=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Rc(l,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function Dc(e,t,n,r){return(e=Rc(7,e,r,t)).lanes=n,e}function Mc(e,t,n,r){return(e=Rc(22,e,r,t)).elementType=N,e.lanes=n,e.stateNode={isHidden:!1},e}function jc(e,t,n){return(e=Rc(6,e,null,t)).lanes=n,e}function Fc(e,t,n){return(t=Rc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function zc(e,t,n,r,a,i,o,l,s){return e=new Bc(e,t,n,l,s),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Rc(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Mi(i),e}function Uc(e){if(!e)return Pa;e:{if(qe(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ia(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var n=e.type;if(Ia(n))return Da(e,n,t)}return t}function qc(e,t,n,r,a,i,o,l,s){return(e=zc(n,r,!0,e,0,i,0,l,s)).context=Uc(null),n=e.current,(i=Fi(r=ec(),a=tc(n))).callback=null!=t?t:null,Bi(n,i,a),e.current.lanes=a,bt(e,a,r),rc(e,r),e}function Hc(e,t,n,r){var a=t.current,i=ec(),o=tc(a);return n=Uc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fi(i,o)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Bi(a,t,o))&&(nc(e,a,o,i),zi(e,a,o)),o}function $c(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Gc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}ks=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Aa.current)yl=!0;else{if(!(e.lanes&n||128&t.flags))return yl=!1,function(e,t,n){switch(t.tag){case 3:Al(t),fi();break;case 5:Xi(t);break;case 1:Ia(t.type)&&Ma(t);break;case 4:Qi(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(Si,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(Zi,1&Zi.current),t.flags|=128,null):n&t.child.childLanes?jl(e,t,n):(Ca(Zi,1&Zi.current),null!==(e=$l(e,t,n))?e.sibling:null);Ca(Zi,1&Zi.current);break;case 19:if(r=!!(n&t.childLanes),128&e.flags){if(r)return ql(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(Zi,Zi.current),r)break;return null;case 22:case 23:return t.lanes=0,El(e,t,n)}return $l(e,t,n)}(e,t,n);yl=!!(131072&e.flags)}else yl=!1,ai&&1048576&t.flags&&Za(t,Ga,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hl(e,t),e=t.pendingProps;var a=Ra(t,Ta.current);Ai(t,n),a=go(null,t,r,e,a,n);var o=bo();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ia(r)?(o=!0,Ma(t)):o=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Mi(t),a.updater=al,t.stateNode=a,a._reactInternals=t,sl(t,r,e,n),t=Tl(null,t,r,!0,o,n)):(t.tag=0,ai&&o&&ei(t),wl(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hl(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Ic(e)?1:0;if(null!=e){if((e=e.$$typeof)===T)return 11;if(e===R)return 14}return 2}(r),e=nl(r,e),a){case 0:t=Cl(null,t,r,e,n);break e;case 1:t=Pl(null,t,r,e,n);break e;case 11:t=_l(null,t,r,e,n);break e;case 14:t=Sl(null,t,r,nl(r.type,e),n);break e}throw Error(i(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Cl(e,t,r,a=t.elementType===r?a:nl(r,a),n);case 1:return r=t.type,a=t.pendingProps,Pl(e,t,r,a=t.elementType===r?a:nl(r,a),n);case 3:e:{if(Al(t),null===e)throw Error(i(387));r=t.pendingProps,a=(o=t.memoizedState).element,ji(e,t),qi(t,r,null,n);var l=t.memoizedState;if(r=l.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=Ol(e,t,r,n,a=cl(Error(i(423)),t));break e}if(r!==a){t=Ol(e,t,r,n,a=cl(Error(i(424)),t));break e}for(ri=ca(t.stateNode.containerInfo.firstChild),ni=t,ai=!0,ii=null,n=_i(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(fi(),r===a){t=$l(e,t,n);break e}wl(e,t,r,n)}t=t.child}return t;case 5:return Xi(t),null===e&&ci(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,l=a.children,na(r,a)?l=null:null!==o&&na(r,o)&&(t.flags|=32),xl(e,t),wl(e,t,l,n),t.child;case 6:return null===e&&ci(t),null;case 13:return jl(e,t,n);case 4:return Qi(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wi(t,null,r,n):wl(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,_l(e,t,r,a=t.elementType===r?a:nl(r,a),n);case 7:return wl(e,t,t.pendingProps,n),t.child;case 8:case 12:return wl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,o=t.memoizedProps,l=a.value,Ca(Si,r._currentValue),r._currentValue=l,null!==o)if(lr(o.value,l)){if(o.children===a.children&&!Aa.current){t=$l(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var s=o.dependencies;if(null!==s){l=o.child;for(var c=s.firstContext;null!==c;){if(c.context===r){if(1===o.tag){(c=Fi(-1,n&-n)).tag=2;var u=o.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}o.lanes|=n,null!==(c=o.alternate)&&(c.lanes|=n),Ti(o.return,n,t),s.lanes|=n;break}c=c.next}}else if(10===o.tag)l=o.type===t.type?null:o.child;else if(18===o.tag){if(null===(l=o.return))throw Error(i(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),Ti(l,n,t),l=o.sibling}else l=o.child;if(null!==l)l.return=o;else for(l=o;null!==l;){if(l===t){l=null;break}if(null!==(o=l.sibling)){o.return=l.return,l=o;break}l=l.return}o=l}wl(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Ai(t,n),r=r(a=Oi(a)),t.flags|=1,wl(e,t,r,n),t.child;case 14:return a=nl(r=t.type,t.pendingProps),Sl(e,t,r,a=nl(r.type,a),n);case 15:return kl(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:nl(r,a),Hl(e,t),t.tag=1,Ia(r)?(e=!0,Ma(t)):e=!1,Ai(t,n),ol(t,r,a),sl(t,r,a,n),Tl(null,t,r,!0,e,n);case 19:return ql(e,t,n);case 22:return El(e,t,n)}throw Error(i(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function Kc(e){this._internalRoot=e}function Qc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function Zc(e,t,n,r,a){var i=n._reactRootContainer;if(i){var o=i;if("function"==typeof a){var l=a;a=function(){var e=$c(o);l.call(e)}}Hc(t,o,e,a)}else o=function(e,t,n,r,a){if(a){if("function"==typeof r){var i=r;r=function(){var e=$c(o);i.call(e)}}var o=qc(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=o,e[ma]=o.current,qr(8===e.nodeType?e.parentNode:e),uc(),o}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var l=r;r=function(){var e=$c(s);l.call(e)}}var s=zc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=s,e[ma]=s.current,qr(8===e.nodeType?e.parentNode:e),uc((function(){Hc(t,s,n,r)})),s}(n,t,e,a,r);return $c(o)}Qc.prototype.render=Kc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));Hc(e,t,null,null)},Qc.prototype.unmount=Kc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){Hc(null,e,null,null)})),t[ma]=null}},Qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Nt.length&&0!==t&&t<Nt[n].priority;n++);Nt.splice(n,0,e),0===n&&jt(e)}},_t=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(vt(t,1|n),rc(t,Xe()),!(6&Ts)&&(qs=Xe()+500,qa()))}break;case 13:uc((function(){var t=Li(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Gc(e,1)}},St=function(e){if(13===e.tag){var t=Li(e,134217728);if(null!==t)nc(t,e,134217728,ec());Gc(e,134217728)}},kt=function(e){if(13===e.tag){var t=tc(e),n=Li(e,t);if(null!==n)nc(n,e,t,ec());Gc(e,t)}},Et=function(){return yt},xt=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},Se=function(e,t,n){switch(t){case"input":if(J(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=_a(r);if(!a)throw Error(i(90));W(r),J(r,a)}}}break;case"textarea":ie(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Te=cc,Ae=uc;var eu={usingClientEntryPoint:!1,Events:[ya,wa,_a,Ce,Pe,cc]},tu={findFiberByHostInstance:va,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{at=ru.inject(nu),it=ru}catch(ue){}}},8325:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),n(6067)},7383:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,o){if(e===o)return!0;if(e&&o&&"object"==typeof e&&"object"==typeof o){if(e.constructor!==o.constructor)return!1;var l,s,c,u;if(Array.isArray(e)){if((l=e.length)!=o.length)return!1;for(s=l;0!=s--;)if(!i(e[s],o[s]))return!1;return!0}if(n&&e instanceof Map&&o instanceof Map){if(e.size!==o.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!o.has(s.value[0]))return!1;for(u=e.entries();!(s=u.next()).done;)if(!i(s.value[1],o.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&o instanceof Set){if(e.size!==o.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!o.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(o)){if((l=e.length)!=o.length)return!1;for(s=l;0!=s--;)if(e[s]!==o[s])return!1;return!0}if(e.constructor===RegExp)return e.source===o.source&&e.flags===o.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof o.valueOf)return e.valueOf()===o.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof o.toString)return e.toString()===o.toString();if((l=(c=Object.keys(e)).length)!==Object.keys(o).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(o,c[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==c[s]&&"__v"!==c[s]&&"__o"!==c[s]||!e.$$typeof)&&!i(e[c[s]],o[c[s]]))return!1;return!0}return e!=e&&o!=o}e.exports=function(e,t){try{return i(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},9005:(e,t,n)=>{"use strict";n.d(t,{mg:()=>Z,vd:()=>V});var r=n(6540),a=n(2688),i=n.n(a),o=n(7383),l=n.n(o),s=n(2091),c=n.n(s),u=n(5317),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function h(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(a[n]=e[n]);return a}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map((function(e){return g[e]})),_={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},S=Object.keys(_).reduce((function(e,t){return e[_[t]]=t,e}),{}),k=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=k(e,g.TITLE),n=k(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=k(e,"defaultTitle");return t||r||void 0},x=function(e){return k(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},P=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var i=r[a].toLowerCase();if(-1!==e.indexOf(i)&&n[i])return t.concat(n)}return t}),[])},T=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,i=Object.keys(e),o=0;o<i.length;o+=1){var l=i[o],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][c]&&(a[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var i=Object.keys(a),o=0;o<i.length;o+=1){var l=i[o],s=p({},r[l],a[l]);r[l]=s}return e}),[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},O=function(e){return Array.isArray(e)?e.join(""):e},R=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},I=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},N=[g.NOSCRIPT,g.SCRIPT,g.STYLE],L=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},D=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},M=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[_[n]||n]=e[n],t}),t)},j=function(e,t){return t.map((function(t,n){var a,i=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=_[e]||e;"innerHTML"===n||"cssText"===n?i.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:i[n]=t[e]})),r.createElement(e,i)}))},F=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,i=M(n,a),[r.createElement(g.TITLE,i,e)];var e,n,a,i},toString:function(){return function(e,t,n,r){var a=D(n),i=O(t);return a?"<"+e+' data-rh="true" '+a+">"+L(i,r)+"</"+e+">":"<"+e+' data-rh="true">'+L(i,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return M(t)},toString:function(){return D(t)}};default:return{toComponent:function(){return j(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+L(r[t],n)+'"';return e?e+" "+a:a}),""),i=r.innerHTML||r.cssText||"",o=-1===N.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(o?"/>":">"+i+"</"+e+">")}),"")}(e,t,n)}}}},B=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,i=e.noscriptTags,o=e.styleTags,l=e.title,s=void 0===l?"":l,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=R(e.metaTags,y),i=R(t,b),o=R(n,v);return{priorityMethods:{toComponent:function(){return[].concat(j(g.META,a.priority),j(g.LINK,i.priority),j(g.SCRIPT,o.priority))},toString:function(){return F(g.META,a.priority,r)+" "+F(g.LINK,i.priority,r)+" "+F(g.SCRIPT,o.priority,r)}},metaTags:a.default,linkTags:i.default,scriptTags:o.default}}(e);f=m.priorityMethods,u=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:F(g.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",a,r),link:F(g.LINK,u,r),meta:F(g.META,d,r),noscript:F(g.NOSCRIPT,i,r),script:F(g.SCRIPT,p,r),style:F(g.STYLE,o,r),title:F(g.TITLE,{title:s,titleAttributes:c},r)}},z=[],U=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?z:n.instances},add:function(e){(n.canUseDOM?z:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?z:n.instances).indexOf(e);(n.canUseDOM?z:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=B({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},q=r.createContext({}),H=i().shape({setHelmet:i().func,helmetInstances:i().shape({get:i().func,add:i().func,remove:i().func})}),$="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new U(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(q.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=$,V.propTypes={context:i().shape({helmet:i().shape()}),children:i().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),a=r.querySelectorAll(e+"[data-rh]"),i=[].slice.call(a),o=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),i.some((function(e,t){return n=t,r.isEqualNode(e)}))?i.splice(n,1):o.push(r)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return r.appendChild(e)})),{oldTags:i,newTags:o}},W=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],i=[].concat(a),o=Object.keys(t),l=0;l<o.length;l+=1){var s=o[l],c=t[s]||"";n.getAttribute(s)!==c&&n.setAttribute(s,c),-1===a.indexOf(s)&&a.push(s);var u=i.indexOf(s);-1!==u&&i.splice(u,1)}for(var d=i.length-1;d>=0;d-=1)n.removeAttribute(i[d]);a.length===i.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==o.join(",")&&n.setAttribute("data-rh",o.join(","))}},K=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,i=e.metaTags,o=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;W(g.BODY,e.bodyAttributes),W(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=O(e)),W(g.TITLE,t)}(u,d);var p={baseTag:G(g.BASE,n),linkTags:G(g.LINK,a),metaTags:G(g.META,i),noscriptTags:G(g.NOSCRIPT,o),scriptTags:G(g.SCRIPT,s),styleTags:G(g.STYLE,c)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),l(e,f,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,i=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:P(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:k(e,"defer"),encode:k(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:T(g.LINK,["rel","href"],e),metaTags:T(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:T(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:x(e),scriptTags:T(g.SCRIPT,["src","innerHTML"],e),styleTags:T(g.STYLE,["cssText"],e),title:E(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:A(e,"prioritizeSeoTags")});V.canUseDOM?(t=i,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){K(t,(function(){Q=null}))})):(K(t),Q=null)):B&&(a=B(i)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:H.isRequired},Y.displayName="HelmetDispatcher";var X=["children"],J=["children"],Z=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(I(this.props,"helmetData"),I(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,i=e.newChildProps,o=e.nestedChildren;switch(r.type){case g.TITLE:return p({},a,((t={})[r.type]=o,t.titleAttributes=p({},i),t));case g.BODY:return p({},a,{bodyAttributes:p({},i)});case g.HTML:return p({},a,{htmlAttributes:p({},i)});default:return p({},a,((n={})[r.type]=p({},i),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,i=r.children,o=h(r,X),l=Object.keys(o).reduce((function(e,t){return e[S[t]||t]=o[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,i),s){case g.FRAGMENT:t=n.mapChildrenToProps(i,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:i});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:i})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,J),a=p({},n),i=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!i||i instanceof U||(i=new U(i.context,i.instances)),i?r.createElement(Y,p({},a,{context:i.value,helmetData:void 0})):r.createElement(q.Consumer,null,(function(e){return r.createElement(Y,p({},a,{context:e}))}))},t}(r.Component);Z.propTypes={base:i().object,bodyAttributes:i().object,children:i().oneOfType([i().arrayOf(i().node),i().node]),defaultTitle:i().string,defer:i().bool,encodeSpecialCharacters:i().bool,htmlAttributes:i().object,link:i().arrayOf(i().object),meta:i().arrayOf(i().object),noscript:i().arrayOf(i().object),onChangeClientState:i().func,script:i().arrayOf(i().object),style:i().arrayOf(i().object),title:i().string,titleAttributes:i().object,titleTemplate:i().string,prioritizeSeoTags:i().bool,helmetData:i().object},Z.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},Z.displayName="Helmet"},7303:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}var l=n(6540),s=n(2688),c=[],u=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=o({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),h=null;function g(){return h||(h=e(m.loader)),h.promise}return c.push(g),"function"==typeof m.webpack&&u.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),p=d=function(t){function n(n){var r;return i(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),h=e(m.loader),r._loadModule()})),g(),r.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},r}r(n,t),n.preload=function(){return g()};var o=n.prototype;return o.UNSAFE_componentWillMount=function(){this._loadModule()},o.componentDidMount=function(){this._mounted=!0},o._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},o.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},o._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},o.render=function(){return this.state.loading||this.state.error?l.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(l.Component),i(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),p}function h(e){return m(d,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return l.Children.only(this.props.children)},t}(l.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}i(g,"propTypes",{report:s.func.isRequired}),i(g,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),h.Capture=g,h.preloadAll=function(){return new Promise((function(e,t){b(c).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){b(u).then(e,e)}))},e.exports=h},3971:(e,t,n)=>{"use strict";n.d(t,{u:()=>o,v:()=>l});var r=n(9519),a=n(8102),i=n(6540);function o(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&o(e.routes,t,n)),a})),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?i.createElement(r.dO,n,e.map((function(e,n){return i.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):i.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})}))):null}},9941:(e,t,n)=>{"use strict";n.d(t,{Kd:()=>u,N_:()=>g,k2:()=>y});var r=n(9519),a=n(1146),i=n(6540),o=n(6941),l=n(8102),s=n(9257),c=n(6143),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,o.zR)(t.props),t}return(0,a.A)(t,e),t.prototype.render=function(){return i.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(i.Component);i.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,o.yJ)(e,null,null,t):e},f=function(e){return e},m=i.forwardRef;void 0===m&&(m=f);var h=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,o=(0,s.A)(e,["innerRef","navigate","onClick"]),c=o.target,u=(0,l.A)({},o,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=f!==m&&t||n,i.createElement("a",u)}));var g=m((function(e,t){var n=e.component,a=void 0===n?h:n,u=e.replace,g=e.to,b=e.innerRef,v=(0,s.A)(e,["component","replace","to","innerRef"]);return i.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=e.history,r=p(d(g,e.location),e.location),s=r?n.createHref(r):"",h=(0,l.A)({},v,{href:s,navigate:function(){var t=d(g,e.location),r=(0,o.AO)(e.location)===(0,o.AO)(p(t));(u||r?n.replace:n.push)(t)}});return f!==m?h.ref=t||b:h.innerRef=b,i.createElement(a,h)}))})),b=function(e){return e},v=i.forwardRef;void 0===v&&(v=b);var y=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,o=e.activeClassName,u=void 0===o?"active":o,f=e.activeStyle,m=e.className,h=e.exact,y=e.isActive,w=e.location,_=e.sensitive,S=e.strict,k=e.style,E=e.to,x=e.innerRef,C=(0,s.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return i.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=w||e.location,o=p(d(E,n),n),s=o.pathname,P=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),T=P?(0,r.B6)(n.pathname,{path:P,exact:h,sensitive:_,strict:S}):null,A=!!(y?y(T,n):T),O="function"==typeof m?m(A):m,R="function"==typeof k?k(A):k;A&&(O=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(O,u),R=(0,l.A)({},R,f));var I=(0,l.A)({"aria-current":A&&a||null,className:O,style:R,to:o},C);return b!==v?I.ref=t||x:I.innerRef=x,i.createElement(g,I)}))}))},9519:(e,t,n)=>{"use strict";n.d(t,{B6:()=>k,Ix:()=>y,W6:()=>I,XZ:()=>v,dO:()=>O,qh:()=>E,zy:()=>N});var r=n(1146),a=n(6540),i=n(2688),o=n.n(i),l=n(6941),s=n(6143),c=n(8102),u=n(8853),d=n.n(u),p=(n(1680),n(9257)),f=(n(8486),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=a.createContext||function(e,t){var n,i,l="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,i=new Array(a),o=0;o<a;o++)i[o]=arguments[o];return(t=e.call.apply(e,[this].concat(i))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.A)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((i=r)===(o=a)?0!==i||1/i==1/o:i!=i&&o!=o)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var i,o},a.render=function(){return this.props.children},n}(a.Component);s.childContextTypes=((n={})[l]=o().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},a.getValue=function(){return this.context[l]?this.context[l].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return c.contextTypes=((i={})[l]=o().object,i),{Provider:s,Consumer:c}},g=function(e){var t=h();return t.displayName=e,t},b=g("Router-History"),v=g("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},_=1e4,S=0;function k(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,i=void 0!==a&&a,o=n.strict,l=void 0!==o&&o,s=n.sensitive,c=void 0!==s&&s;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],i={regexp:d()(e,a,t),keys:a};return S<_&&(r[e]=i,S++),i}(n,{end:i,strict:l,sensitive:c}),a=r.regexp,o=r.keys,s=a.exec(e);if(!s)return null;var u=s[0],p=s.slice(1),f=e===u;return i&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:o.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,s.A)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?k(n.pathname,e.props):t.match,i=(0,c.A)({},t,{location:n,match:r}),o=e.props,l=o.children,u=o.component,d=o.render;return Array.isArray(l)&&function(e){return 0===a.Children.count(e)}(l)&&(l=null),a.createElement(v.Provider,{value:i},i.match?l?"function"==typeof l?l(i):l:u?a.createElement(u,i):d?d(i):null:"function"==typeof l?l(i):null)}))},t}(a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:(0,c.A)({},t,{pathname:t.pathname.substr(n.length)})}function P(e){return"string"==typeof e?e:(0,l.AO)(e)}function T(e){return function(){(0,s.A)(!1)}}function A(){}a.Component;var O=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,s.A)(!1);var n,r,i=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var o=e.props.path||e.props.from;r=o?k(i.pathname,(0,c.A)({},e.props,{path:o})):t.match}})),r?a.cloneElement(n,{location:i,computedMatch:r}):null}))},t}(a.Component);var R=a.useContext;function I(){return R(b)}function N(){return R(v).location}},2803:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},8853:(e,t,n)=>{var r=n(2803);e.exports=m,e.exports.parse=i,e.exports.compile=function(e,t){return s(i(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var n,r=[],i=0,l=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(l,f),l=f+d.length,p)s+=p[1];else{var m=e[l],h=n[2],g=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var _=null!=h&&null!=m&&m!==h,S="+"===y||"*"===y,k="?"===y||"*"===y,E=h||c,x=b||v,C=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:g||i++,prefix:h||"",delimiter:E,optional:k,repeat:S,partial:_,asterisk:!!w,pattern:x?u(x):w?".*":o(E,C)})}}return l<e.length&&(s+=e.substr(l)),s&&r.push(s),r}function o(e,t){return!t||t.indexOf(e)>-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function l(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",p(t)));return function(t,a){for(var i="",o=t||{},s=(a||{}).pretty?l:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=o[u.name];if(null==p){if(u.optional){u.partial&&(i+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=s(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");i+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');i+=u.prefix+d}}else i+=u}return i}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function d(e,t){return e.keys=t,e}function p(e){return e&&e.sensitive?"":"i"}function f(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,i=!1!==n.end,o="",l=0;l<e.length;l++){var s=e[l];if("string"==typeof s)o+=c(s);else{var u=c(s.prefix),f="(?:"+s.pattern+")";t.push(s),s.repeat&&(f+="(?:"+u+f+")*"),o+=f=s.optional?s.partial?u+"("+f+")?":"(?:"+u+"("+f+"))?":u+"("+f+")"}}var m=c(n.delimiter||"/"),h=o.slice(-m.length)===m;return a||(o=(h?o.slice(0,-m.length):o)+"(?:"+m+"(?=$))?"),o+=i?"$":a&&h?"":"(?="+m+"|$)",d(new RegExp("^"+o,p(n)),t)}function m(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return d(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(m(e[a],t,n).source);return d(new RegExp("(?:"+r.join("|")+")",p(n)),t)}(e,t,n):function(e,t,n){return f(i(e,n),t,n)}(e,t,n)}},7788:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,o=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case i:case l:case o:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case g:case h:case s:return e;default:return t}}case a:return t}}}function S(e){return _(e)===d}},1680:(e,t,n)=>{"use strict";n(7788)},7699:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<i(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,o=a>>>1;r<o;){var l=2*(r+1)-1,s=e[l],c=l+1,u=e[c];if(0>i(s,n))c<a&&0>i(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[l]=n,r=l);else{if(!(c<a&&0>i(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var c=[],u=[],d=1,p=null,f=3,m=!1,h=!1,g=!1,b="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function _(e){if(g=!1,w(e),!h)if(null!==r(c))h=!0,N(S);else{var t=r(u);null!==t&&L(_,t.startTime-e)}}function S(e,n){h=!1,g&&(g=!1,v(C),C=-1),m=!0;var i=f;try{for(w(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!A());){var o=p.callback;if("function"==typeof o){p.callback=null,f=p.priorityLevel;var l=o(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?p.callback=l:p===r(c)&&a(c),w(n)}else a(c);p=r(c)}if(null!==p)var s=!0;else{var d=r(u);null!==d&&L(_,d.startTime-n),s=!1}return s}finally{p=null,f=i,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,E=!1,x=null,C=-1,P=5,T=-1;function A(){return!(t.unstable_now()-T<P)}function O(){if(null!==x){var e=t.unstable_now();T=e;var n=!0;try{n=x(!0,e)}finally{n?k():(E=!1,x=null)}}else E=!1}if("function"==typeof y)k=function(){y(O)};else if("undefined"!=typeof MessageChannel){var R=new MessageChannel,I=R.port2;R.port1.onmessage=O,k=function(){I.postMessage(null)}}else k=function(){b(O,0)};function N(e){x=e,E||(E=!0,k())}function L(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,N(S))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,a,i){var o=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?o+i:o:i=o,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>o?(e.sortIndex=i,n(u,e),null===r(c)&&e===r(u)&&(g?(v(C),C=-1):g=!0,L(_,i-o))):(e.sortIndex=l,n(c,e),h||m||(h=!0,N(S))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},1434:(e,t,n)=>{"use strict";e.exports=n(7699)},5317:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<i.length;s++){var c=i[s];if(!l(c))return!1;var u=e[c],d=t[c];if(!1===(a=n?n.call(r,u,d,c):void 0)||void 0===a&&u!==d)return!1}return!0}},8779:(e,t,n)=>{"use strict";var r=n(6540);var a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=r.useState,o=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(r){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),a=r[0].inst,u=r[1];return l((function(){a.value=n,a.getSnapshot=t,c(a)&&u({inst:a})}),[e,n,t]),o((function(){return c(a)&&u({inst:a}),e((function(){c(a)&&u({inst:a})}))}),[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},3676:(e,t,n)=>{"use strict";e.exports=n(8779)},2725:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,i;switch(n=n||{},r.util.type(t)){case"Object":if(i=r.util.objId(t),n[i])return n[i];for(var o in a={},n[i]=a,t)t.hasOwnProperty(o)&&(a[o]=e(t[o],n));return a;case"Array":return i=r.util.objId(t),n[i]?n[i]:(a=[],n[i]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var i=(a=a||r.languages)[e],o={};for(var l in i)if(i.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(o[s]=n[s]);n.hasOwnProperty(l)||(o[l]=i[l])}var c=a[e];return a[e]=o,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=o)})),o},DFS:function e(t,n,a,i){i=i||{};var o=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],a||l);var s=t[l],c=r.util.type(s);"Object"!==c||i[o(s)]?"Array"!==c||i[o(s)]||(i[o(s)]=!0,e(s,n,l,i)):(i[o(s)]=!0,e(s,n,null,i))}}},plugins:{},highlight:function(e,t,n){var i={code:e,grammar:t,language:n};return r.hooks.run("before-tokenize",i),i.tokens=r.tokenize(i.code,i.grammar),r.hooks.run("after-tokenize",i),a.stringify(r.util.encode(i.tokens),i.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return s(a,a.head,e),o(e,a,t,a.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,i=0;a=n[i++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function i(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function o(e,t,n,l,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var h=f[m],g=h.inside,b=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var w=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,w+"g")}for(var _=h.pattern||h,S=l.next,k=u;S!==t.tail&&!(d&&k>=d.reach);k+=S.value.length,S=S.next){var E=S.value;if(t.length>e.length)return;if(!(E instanceof a)){var x,C=1;if(v){if(!(x=i(_,k,e,b))||x.index>=e.length)break;var P=x.index,T=x.index+x[0].length,A=k;for(A+=S.value.length;P>=A;)A+=(S=S.next).value.length;if(k=A-=S.value.length,S.value instanceof a)continue;for(var O=S;O!==t.tail&&(A<T||"string"==typeof O.value);O=O.next)C++,A+=O.value.length;C--,E=e.slice(k,A),x.index-=k}else if(!(x=i(_,0,E,b)))continue;P=x.index;var R=x[0],I=E.slice(0,P),N=E.slice(P+R.length),L=k+E.length;d&&L>d.reach&&(d.reach=L);var D=S.prev;if(I&&(D=s(t,D,I),k+=I.length),c(t,D,C),S=s(t,D,new a(p,g?r.tokenize(R,g):R,y,R)),N&&s(t,S,N),C>1){var M={cause:p+","+m,reach:L};o(e,t,n,S.prev,k,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var i={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(i.classes,o):i.classes.push(o)),r.hooks.run("wrap",i);var l="";for(var s in i.attributes)l+=" "+s+'="'+(i.attributes[s]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+l+">"+i.content+"</"+i.tag+">"},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var i={};i[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,o=0;o<a.length;o++)i[a[o]]=e.languages.bash[a[o]];e.languages.shell=e.languages.bash}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a=t[n];if("code"===a.type){var i=a.content[1],o=a.content[3];if(i&&o&&"code-language"===i.type&&"code-block"===o.type&&"string"==typeof i.content){var l=i.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),s="language-"+(l=(/[a-z][\w-]*/i.exec(l)||[""])[0].toLowerCase());o.alias?"string"==typeof o.alias?o.alias=[o.alias,s]:o.alias.push(s):o.alias=[s]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var i=t.classes[r],c=/language-(.+)/.exec(i);if(c){n=c[1];break}}var u,d=e.languages[n];if(d)t.content=e.highlight((u=t.content,u.replace(o,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n);var r=l[t];return r||e}))),d,n);else if(n&&"none"!==n&&e.plugins.autoloader){var p="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=p,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(p);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var o=RegExp(e.languages.markup.tag.pattern.source,"gi"),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var i=p(/^\($/,/^\)$/);if(-1===i)continue;for(;n<i;n++){var o=u(0);"variable"===o.type&&(f(o,"variable-input"),a.push(o.content))}n=i+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),a.length>0)){var l=p(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s<l;s++){var c=t[s];"variable"===c.type&&a.indexOf(c.content)>=0&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return!1}return!0}function p(e,r){for(var a=1,i=n;i<t.length;i++){var o=t[i],l=o.content;if("punctuation"===o.type&&"string"==typeof l)if(e.test(l))a++;else if(r.test(l)&&0===--a)return i}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),a.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],i=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var i=e.tokenize(t,n);if(3===i.length){var o=[1,1];o.push.apply(o,s(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,o)}return new e.Token("interpolation",i,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),o=0,u={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(o++,r)););return u[n]=a,n})).join(""),n,r),p=Object.keys(u);return o=0,function e(t){for(var n=0;n<t.length;n++){if(o>=p.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=p[o],i="string"==typeof r?r:r.content,l=i.indexOf(a);if(-1!==l){++o;var s=i.substring(0,l),d=c(u[a]),f=i.substring(l+a.length),m=[];if(s&&m.push(s),m.push(d),f){var h=[f];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[o("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),o("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),o("svg",/\bsvg/.source),o("markdown",/\b(?:markdown|md)/.source),o("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),o("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"==typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var i=n[r];if("string"!=typeof i){var o=i.content;if(Array.isArray(o))if("template-string"===i.type){var l=o[1];if(3===o.length&&"string"!=typeof l&&"embedded-code"===l.type){var s=p(l),c=l.alias,d=Array.isArray(c)?c[0]:c,f=e.languages[d];if(!f)continue;o[1]=u(s,f,d)}}else t(o);else"string"!=typeof o&&t([o])}}}(t.tokens)}))}(a),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],i=e.languages.javascript[a];"RegExp"===e.util.type(i)&&(i=e.languages.javascript[a]={pattern:i});var o=i.inside||{};i.inside=o,o["maybe-class-name"]=/^[A-Z][\s\S]*/}}(a),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=i(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(o).join(""):""},l=function(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],i=!1;if("string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?n.length>0&&n[n.length-1].tagName===o(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:o(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:i=!0),(i||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=o(a);r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(s+=o(t[r+1]),t.splice(r+1,1)),r>0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=o(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,i){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof i&&!i(e))return e;for(var a,l=o.length;-1!==n.code.indexOf(a=t(r,l));)++l;return o[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,i=Object.keys(n.tokenStack);!function o(l){for(var s=0;s<l.length&&!(a>=i.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=i[a],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++a;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),v=[];h&&v.push.apply(v,o([h])),v.push(g),b&&v.push.apply(v,o([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(v)):c.content=v}}else c.content&&o(c.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const i=a},2521:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),i="/"===a||a===r?a:(o=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(o):function(e){return e.endsWith("/")?e.slice(0,-1):e}(o));var o;return e.replace(a,i)}},6727:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},5678:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(2521);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var i=n(6727);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},5947:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),a=n(8102),i=n(7303),o=n.n(i),l=n(4054);const s={"01fc3ad9":[()=>n.e(1198).then(n.bind(n,3811)),"@site/../docs/api/enums/ima_core.RouterEvents.md",3811],"046a2c8d":[()=>Promise.all([n.e(1869),n.e(3685)]).then(n.bind(n,7648)),"@site/../docs/basic-features/typescript.md",7648],"087d9a97":[()=>n.e(7184).then(n.bind(n,1550)),"@site/../docs/api/classes/ima_core.PageNavigationHandler.md",1550],"0915269d":[()=>n.e(2979).then(n.bind(n,6020)),"@site/../docs/api/interfaces/ima_core.PageAction.md",6020],"094a494b":[()=>n.e(440).then(n.bind(n,432)),"@site/../docs/api/interfaces/ima_core.RouteOptions.md",432],"0b304565":[()=>n.e(686).then(n.bind(n,1018)),"@site/../docs/api/interfaces/ima_core.GlobalImaObject.md",1018],"0b497735":[()=>n.e(6954).then(n.bind(n,2729)),"@site/../docs/api/classes/ima_react_page_renderer.BlankManagedRootView.md",2729],"0e14dc68":[()=>n.e(5084).then(n.bind(n,2695)),"@site/../docs/api/interfaces/ima_core.DictionaryMap.md",2695],"0f7684f2":[()=>n.e(7638).then(n.bind(n,9781)),"@site/../docs/api/classes/ima_dev_utils.Logger.md",9781],"106127c8":[()=>n.e(3087).then(n.bind(n,4660)),"@site/../docs/api/enums/ima_core.ActionTypes.md",4660],10617864:[()=>n.e(1568).then(n.bind(n,1201)),"@site/../docs/api/interfaces/ima_core.OCAliasMap.md",1201],"10a88b42":[()=>n.e(3099).then(n.bind(n,8400)),"@site/../docs/api/classes/ima_core.Storage.md",8400],"10f85a35":[()=>n.e(7584).then(n.bind(n,2074)),"@site/../docs/api/interfaces/ima_cli.ImaCliPlugin.md",2074],11611510:[()=>n.e(5115).then(n.t.bind(n,1966,19)),"/home/runner/work/ima/ima/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",1966],"12a940f3":[()=>n.e(53).then(n.bind(n,9311)),"@site/../docs/api/classes/ima_core.Bootstrap.md",9311],"13512aaf":[()=>n.e(195).then(n.bind(n,3072)),"@site/../docs/api/interfaces/ima_core.Settings.md",3072],"1352a5d9":[()=>n.e(6373).then(n.bind(n,8915)),"@site/../docs/advanced-features/dynamic-imports.md",8915],"151b6e84":[()=>n.e(4255).then(n.bind(n,276)),"@site/../docs/api/classes/ima_react_page_renderer.AbstractPureComponent.md",276],"153c616c":[()=>n.e(2965).then(n.bind(n,8456)),"@site/../docs/api/interfaces/ima_core.RouteFactoryOptions.md",8456],"162a65f7":[()=>n.e(3403).then(n.bind(n,7438)),"@site/../docs/basic-features/page-manager.md",7438],"16feba69":[()=>n.e(3317).then(n.bind(n,2046)),"@site/../docs/api/classes/ima_core.ClientPageManager.md",2046],"173fd68b":[()=>n.e(880).then(n.t.bind(n,4061,19)),"/home/runner/work/ima/ima/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",4061],17896441:[()=>Promise.all([n.e(1869),n.e(8401)]).then(n.bind(n,6093)),"@theme/DocItem",6093],"18ba1c5e":[()=>n.e(57).then(n.bind(n,4734)),"@site/../docs/api/interfaces/ima_cli.ImaConfigurationContext.md",4734],"192c90c3":[()=>n.e(1041).then(n.bind(n,8709)),"@site/../docs/api/classes/ima_core.ComponentUtils.md",8709],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,9138)),"@theme/SearchPage",9138],"1ae6f9c3":[()=>n.e(2125).then(n.bind(n,324)),"@site/../docs/api/classes/ima_react_page_renderer.ServerPageRenderer.md",324],"1ae9d490":[()=>n.e(732).then(n.bind(n,7499)),"@site/../docs/api/classes/ima_core.ClientRouter.md",7499],"1afd1704":[()=>n.e(9375).then(n.t.bind(n,7757,19)),"/home/runner/work/ima/ima/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7757],"1ba2ef78":[()=>n.e(4355).then(n.bind(n,8113)),"@site/../docs/basic-features/routing/async-routing.md",8113],"1bd618df":[()=>n.e(1965).then(n.bind(n,3552)),"@site/../docs/api/modules/ima_core.md",3552],"1be78505":[()=>Promise.all([n.e(1869),n.e(8714)]).then(n.bind(n,1960)),"@theme/DocPage",1960],"1d150b43":[()=>n.e(8347).then(n.bind(n,8790)),"@site/../docs/api/interfaces/ima_core.InitPluginConfig.md",8790],"201713f2":[()=>Promise.all([n.e(1869),n.e(9541)]).then(n.bind(n,8809)),"@site/../docs/migration/migration-18.0.0.md",8809],"212e3b5d":[()=>n.e(2715).then(n.bind(n,113)),"@site/../docs/api/interfaces/ima_react_page_renderer.PageContextType.md",113],"214956d8":[()=>n.e(9120).then(n.bind(n,8589)),"@site/../docs/api/interfaces/ima_core.ImaRequestInit.md",8589],"21ee5e18":[()=>n.e(5547).then(n.bind(n,9966)),"@site/../docs/basic-features/object-container.md",9966],"23f47465":[()=>Promise.all([n.e(1869),n.e(6098)]).then(n.bind(n,7279)),"@site/../docs/cli/cli.md",7279],"25accc40":[()=>n.e(2542).then(n.bind(n,2467)),"@site/../docs/api/classes/ima_core.ObjectContainer.md",2467],"25aeb21c":[()=>n.e(7894).then(n.bind(n,588)),"@site/../docs/basic-features/routing/introduction.md",588],"27a3d74a":[()=>n.e(6432).then(n.bind(n,3629)),"@site/../docs/api/interfaces/ima_core.AppEnvironment.md",3629],"27b4c996":[()=>n.e(8605).then(n.bind(n,5727)),"@site/../docs/api/classes/ima_core.Execution.md",5727],"284c0bdc":[()=>n.e(3007).then(n.bind(n,1471)),"@site/../docs/basic-features/dictionary.md",1471],"2c83167a":[()=>n.e(6032).then(n.bind(n,8268)),"@site/../docs/api/classes/ima_core.Dispatcher.md",8268],"2ca52c80":[()=>n.e(4857).then(n.bind(n,1690)),"@site/../docs/api/classes/ima_core.AbstractExtension.md",1690],"2e35e39d":[()=>n.e(8839).then(n.bind(n,4615)),"@site/../docs/api/classes/ima_core.PageMetaHandler.md",4615],"2ece5d09":[()=>Promise.all([n.e(1869),n.e(1894)]).then(n.bind(n,5376)),"@site/../docs/cli/plugins/analyze-plugin.md",5376],"2fa7fbb9":[()=>Promise.all([n.e(1869),n.e(920)]).then(n.bind(n,2936)),"@site/../docs/migration/migration-17.0.0.md",2936],"30c3cb5b":[()=>n.e(3794).then(n.bind(n,5105)),"@site/../docs/api/classes/ima_core.PageRenderer.md",5105],"3149f580":[()=>n.e(905).then(n.bind(n,8942)),"@site/../docs/api/classes/ima_core.CookieStorage.md",8942],"321fbd12":[()=>n.e(1690).then(n.bind(n,108)),"@site/../docs/api/classes/ima_core.PageStateManagerImpl.md",108],"327389ac":[()=>n.e(1495).then(n.bind(n,6e3)),"@site/../docs/basic-features/page-state.md",6e3],"327aa04a":[()=>n.e(4866).then(n.bind(n,6470)),"@site/../docs/api/interfaces/ima_react_page_renderer.useEventBusType.md",6470],"33fd58a6":[()=>n.e(633).then(n.bind(n,4130)),"@site/../docs/migration/migration-0.15.0.md",4130],"3410d364":[()=>n.e(240).then(n.bind(n,7298)),"@site/../docs/api/classes/ima_react_page_renderer.AbstractComponent.md",7298],"3834631c":[()=>n.e(5682).then(n.bind(n,4361)),"@site/../docs/api/classes/ima_core.Dictionary.md",4361],"3c01549e":[()=>Promise.all([n.e(1869),n.e(7645)]).then(n.bind(n,4035)),"@site/../docs/cli/cli-plugins-api.md",4035],"3c40fb45":[()=>n.e(216).then(n.bind(n,2666)),"@site/../docs/api/classes/ima_core.AbstractRouter.md",2666],"3fb1a119":[()=>n.e(4263).then(n.bind(n,8914)),"@site/../docs/api/classes/ima_core.ServerPageManager.md",8914],"418a1cae":[()=>n.e(9029).then(n.bind(n,6505)),"@site/../docs/api/interfaces/ima_react_page_renderer.useDispatcherType.md",6505],"42be0be8":[()=>n.e(5083).then(n.bind(n,5534)),"@site/../docs/api/classes/ima_core.ServerWindow.md",5534],"435e6e8a":[()=>n.e(716).then(n.bind(n,4691)),"@site/../docs/api/classes/ima_react_page_renderer.ErrorBoundary.md",4691],"44cf4fdc":[()=>n.e(2401).then(n.bind(n,4304)),"@site/../docs/api/classes/ima_core.Request.md",4304],"45e185c2":[()=>n.e(6538).then(n.bind(n,6068)),"@site/../docs/api/classes/ima_core.PageHandler.md",6068],"46be744b":[()=>n.e(8809).then(n.bind(n,7898)),"@site/../docs/api/classes/ima_core.ClientWindow.md",7898],"487a916d":[()=>n.e(2195).then(n.bind(n,3856)),"@site/../docs/api/interfaces/ima_core.Utils.md",3856],"48d92cf8":[()=>n.e(5693).then(n.bind(n,1116)),"@site/../docs/api/classes/ima_core.RouteFactory.md",1116],"48fa096e":[()=>n.e(5990).then(n.bind(n,4529)),"@site/../docs/api/interfaces/ima_react_page_renderer.useComponentType.md",4529],"4a07765f":[()=>n.e(1603).then(n.bind(n,5507)),"@site/../docs/api/interfaces/ima_plugin_cli.Context.md",5507],"4cabad03":[()=>n.e(3097).then(n.bind(n,9729)),"@site/../docs/plugins/plugin-api.md",9729],"4d5af51b":[()=>n.e(2183).then(n.bind(n,1257)),"@site/../docs/api/modules/ima_plugin_cli.md",1257],"506f4e3c":[()=>n.e(8167).then(n.bind(n,6954)),"@site/../docs/migration/migration-19.0.0.md",6954],"50f70a8b":[()=>Promise.all([n.e(1869),n.e(9862)]).then(n.bind(n,5967)),"@site/../docs/tutorial/writing-posts.mdx",5967],"525a1f42":[()=>n.e(3491).then(n.bind(n,2326)),"@site/../docs/api/classes/ima_core.PageStateManager.md",2326],"53ddc8eb":[()=>n.e(6191).then(n.bind(n,5721)),"@site/../docs/api/classes/ima_core.Entry.md",5721],"5401ed5c":[()=>n.e(338).then(n.bind(n,2478)),"@site/../docs/api/modules/ima_dev_utils.md",2478],"54d95e21":[()=>Promise.all([n.e(1869),n.e(308)]).then(n.bind(n,593)),"@site/../docs/tutorial/static-view.mdx",593],"54f60d95":[()=>n.e(6114).then(n.bind(n,6062)),"@site/../docs/basic-features/views-and-components.md",6062],56922005:[()=>n.e(8780).then(n.bind(n,1775)),"@site/../docs/api/interfaces/ima_plugin_cli.PipeContext.md",1775],"57a07ec0":[()=>n.e(6589).then(n.bind(n,184)),"@site/../docs/api/interfaces/ima_core.Manifest.md",184],"585f1245":[()=>n.e(2901).then(n.bind(n,5158)),"@site/../docs/devtools/devtools-introduction.md",5158],"59e9decf":[()=>n.e(1121).then(n.bind(n,7588)),"@site/../docs/api/interfaces/ima_core.PageRendererSettings.md",7588],"5dc5c8af":[()=>n.e(7704).then(n.bind(n,570)),"@site/../docs/api/classes/ima_core.AbstractRoute.md",570],"5e7d82a6":[()=>n.e(5223).then(n.bind(n,5713)),"@site/../docs/api/enums/ima_core.RendererEvents.md",5713],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"6089708e":[()=>n.e(48).then(n.bind(n,5529)),"@site/../docs/api/classes/ima_core.EventBusImpl.md",5529],"61e14e81":[()=>n.e(3478).then(n.bind(n,3777)),"@site/../docs/api/classes/ima_core.UrlTransformer.md",3777],"63ced45c":[()=>n.e(4554).then(n.bind(n,4428)),"@site/../docs/api/classes/ima_core.Router.md",4428],"6520cedf":[()=>n.e(2456).then(n.bind(n,6578)),"@site/../docs/api/classes/ima_core.Response.md",6578],"6527a706":[()=>n.e(2667).then(n.bind(n,2220)),"@site/../docs/basic-features/data-fetching.md",2220],"658a263b":[()=>n.e(1778).then(n.bind(n,1730)),"@site/../docs/basic-features/routing/dynamic-routes.md",1730],"6669b354":[()=>n.e(8882).then(n.bind(n,9065)),"@site/../docs/api/enums/ima_core.BindingState.md",9065],"67be0ef1":[()=>n.e(8427).then(n.bind(n,8032)),"@site/../docs/api/classes/ima_core.GenericError.md",8032],"67f04688":[()=>n.e(6206).then(n.bind(n,9691)),"@site/../docs/api/interfaces/ima_dev_utils.FragmentLine.md",9691],"68d1a169":[()=>n.e(7757).then(n.bind(n,5316)),"@site/../docs/api/enums/ima_core.HttpStatusCode.md",5316],"6a7c6930":[()=>n.e(140).then(n.bind(n,4537)),"@site/../docs/contributing/how-to-contribute.md",4537],"6ae61f9d":[()=>n.e(103).then(n.bind(n,5831)),"@site/../docs/basic-features/testing.md",5831],"6af56cb1":[()=>n.e(4485).then(n.bind(n,5741)),"@site/../docs/api/classes/ima_core.Controller.md",5741],"6b2b427d":[()=>n.e(8868).then(n.bind(n,8642)),"@site/../docs/api/classes/ima_core.DispatcherImpl.md",8642],"6bff6b59":[()=>n.e(4633).then(n.bind(n,6721)),"@site/../docs/api/classes/ima_core.MetaManager.md",6721],"6dfadff3":[()=>n.e(5257).then(n.bind(n,6081)),"@site/../docs/api/classes/ima_core.CancelError.md",6081],"6f7688a7":[()=>n.e(8044).then(n.bind(n,7361)),"@site/../docs/api/interfaces/ima_react_page_renderer.ViewAdapterProps.md",7361],"70db71fd":[()=>n.e(6554).then(n.bind(n,3851)),"@site/../docs/api/classes/ima_react_page_renderer.ViewAdapter.md",3851],"70e9fb71":[()=>n.e(9600).then(n.bind(n,6891)),"@site/../docs/api/enums/ima_core.RendererTypes.md",6891],"7132be39":[()=>Promise.all([n.e(1869),n.e(8415)]).then(n.bind(n,4373)),"@site/../docs/introduction/getting-started.md",4373],"728bf073":[()=>n.e(4258).then(n.bind(n,1851)),"@site/../docs/api/index.md",1851],"72a309aa":[()=>n.e(2171).then(n.bind(n,1376)),"@site/../docs/api/classes/ima_core.HttpAgent.md",1376],"7325f36b":[()=>n.e(8823).then(n.bind(n,5488)),"@site/../docs/api/classes/ima_core.Observable.md",5488],"7500682d":[()=>n.e(3267).then(n.bind(n,2076)),"@site/../docs/api/interfaces/ima_core.Environment.md",2076],"755ee4a1":[()=>n.e(5784).then(n.bind(n,3145)),"@site/../docs/api/classes/ima_core.Window.md",3145],"7651edab":[()=>n.e(8844).then(n.bind(n,5781)),"@site/../docs/api/interfaces/ima_core.WindowCustomEventsMap.md",5781],"798d67f4":[()=>n.e(1412).then(n.bind(n,2331)),"@site/../docs/basic-features/rendering-process.md",2331],"7af7958b":[()=>n.e(7750).then(n.bind(n,4786)),"@site/../docs/api/interfaces/ima_core.InitAppConfig.md",4786],"7c2f5bb0":[()=>n.e(1558).then(n.bind(n,9753)),"@site/../docs/api/classes/ima_core.AbstractExecution.md",9753],"7dab2b4a":[()=>n.e(3426).then(n.bind(n,2620)),"@site/../docs/devtools/devtools-ui.md",2620],"805384b8":[()=>n.e(4517).then(n.bind(n,8832)),"@site/../docs/api/interfaces/ima_plugin_cli.ImaPluginConfig.md",8832],"81d07132":[()=>n.e(5301).then(n.bind(n,3441)),"@site/../docs/api/classes/ima_core.PageStateManagerDecorator.md",3441],"82fa5401":[()=>n.e(5324).then(n.bind(n,4005)),"@site/../docs/migration/migration-0.14.0.md",4005],"83bd1dfb":[()=>Promise.all([n.e(1869),n.e(1)]).then(n.bind(n,4325)),"@site/../docs/cli/plugins/less-constants-plugin.md",4325],"83e0a767":[()=>n.e(6686).then(n.bind(n,4836)),"@site/../docs/api/classes/ima_core.Extension.md",4836],"87f53564":[()=>n.e(8117).then(n.bind(n,1262)),"@site/../docs/cli/additional-features.md",1262],"8c1bb129":[()=>n.e(1441).then(n.bind(n,1735)),"@site/../docs/api/enums/ima_core.StateEvents.md",1735],"8ec7ae24":[()=>Promise.all([n.e(1869),n.e(1788)]).then(n.bind(n,7743)),"@site/../docs/tutorial/introduction.md",7743],"8ed4501f":[()=>n.e(8856).then(n.bind(n,1996)),"@site/../docs/api/classes/ima_core.SessionStorage.md",1996],"91f1837b":[()=>n.e(7598).then(n.bind(n,9703)),"@site/../docs/api/classes/ima_core.EventBus.md",9703],"9294f473":[()=>n.e(6261).then(n.bind(n,9800)),"@site/../docs/api/interfaces/ima_core.Resources.md",9800],"934bc43e":[()=>n.e(3864).then(n.bind(n,8210)),"@site/../docs/basic-features/controller-lifecycle.md",8210],"935f2afb":[()=>n.e(8581).then(n.t.bind(n,5610,19)),"~docs/default/version-current-metadata-prop-751.json",5610],"94bace71":[()=>n.e(7071).then(n.bind(n,529)),"@site/../docs/api/classes/ima_react_page_renderer.PageRendererFactory.md",529],"968740e1":[()=>n.e(35).then(n.bind(n,4036)),"@site/../docs/api/enums/ima_core.RouteNames.md",4036],"98990be4":[()=>n.e(6636).then(n.bind(n,7483)),"@site/../docs/api/classes/ima_core.CacheEntry.md",7483],"9c0ba269":[()=>n.e(8547).then(n.bind(n,2499)),"@site/../docs/api/interfaces/ima_dev_utils.LoggerOptions.md",2499],"9dd8a0d2":[()=>Promise.all([n.e(1869),n.e(942),n.e(8617)]).then(n.bind(n,9025)),"@site/src/pages/index.jsx",9025],"9e3f3c76":[()=>Promise.all([n.e(1869),n.e(7675)]).then(n.bind(n,7292)),"@site/../docs/tutorial/final-polish.mdx",7292],"9e4a7547":[()=>n.e(4791).then(n.bind(n,470)),"@site/../docs/basic-features/handling-scripts-and-styles.md",470],"9fdfc27e":[()=>n.e(9567).then(n.bind(n,5428)),"@site/../docs/api/interfaces/ima_core.RouteLocals.md",5428],a1fa3683:[()=>n.e(9754).then(n.bind(n,135)),"@site/../docs/basic-features/routing/middlewares.md",135],a2c3b390:[()=>n.e(6586).then(n.bind(n,3222)),"@site/../docs/api/classes/ima_core.MapStorage.md",3222],a3814d4a:[()=>Promise.all([n.e(1869),n.e(7363)]).then(n.bind(n,3585)),"@site/../docs/cli/plugins/scramble-css-plugin.md",3585],a394c21d:[()=>n.e(6316).then(n.bind(n,8503)),"@site/../docs/api/interfaces/ima_core.DispatcherEventsMap.md",8503],a570e4e4:[()=>n.e(6380).then(n.bind(n,232)),"@site/../docs/api/interfaces/ima_dev_utils.CompileError.md",232],a59d7f05:[()=>n.e(2808).then(n.bind(n,4141)),"@site/../docs/api/classes/ima_core.PluginLoader.md",4141],a5ac8c5f:[()=>n.e(5747).then(n.bind(n,9077)),"@site/../docs/api/classes/ima_core.CacheImpl.md",9077],ab2e5842:[()=>n.e(3128).then(n.bind(n,2664)),"@site/../docs/api/modules/ima_react_page_renderer.md",2664],abceb8ed:[()=>n.e(9123).then(n.bind(n,1419)),"@site/../docs/api/classes/ima_core.PageManager.md",1419],ac0ebe99:[()=>n.e(5239).then(n.bind(n,8786)),"@site/../docs/api/classes/ima_core.SessionMapStorage.md",8786],ac1b1cf0:[()=>n.e(5400).then(n.bind(n,8137)),"@site/../docs/api/interfaces/ima_core.BootServices.md",8137],aefc0c3a:[()=>n.e(2235).then(n.bind(n,426)),"@site/../docs/api/interfaces/ima_core.ManifestAsset.md",426],b03cb8d5:[()=>n.e(6463).then(n.bind(n,6026)),"@site/../docs/basic-features/events.md",6026],b40f4eed:[()=>n.e(369).then(n.bind(n,1530)),"@site/../docs/api/classes/ima_core.PageFactory.md",1530],bcef1ffa:[()=>n.e(9805).then(n.bind(n,1510)),"@site/../docs/api/classes/ima_core.ObservableImpl.md",1510],bffc20a2:[()=>n.e(3905).then(n.bind(n,5338)),"@site/../docs/api/classes/ima_core.Namespace.md",5338],c0d8042e:[()=>n.e(1273).then(n.bind(n,9441)),"@site/../docs/api/classes/ima_core.MessageFormatDictionary.md",9441],c69312c2:[()=>n.e(5230).then(n.bind(n,9377)),"@site/../docs/api/classes/ima_core.SerialBatch.md",9377],c6f16711:[()=>n.e(8984).then(n.bind(n,104)),"@site/../docs/api/interfaces/ima_cli.ImaCliArgs.md",104],c7fb0ffe:[()=>n.e(1916).then(n.bind(n,2917)),"@site/../docs/basic-features/extensions.md",2917],cd0a3e0f:[()=>n.e(8369).then(n.bind(n,7850)),"@site/../docs/api/classes/ima_core.StaticRoute.md",7850],cd24e9bf:[()=>n.e(2922).then(n.bind(n,6815)),"@site/../docs/api/classes/ima_core.AbstractController.md",6815],cd4295eb:[()=>n.e(5847).then(n.bind(n,1121)),"@site/../docs/cli/ima.config.js.md",1121],cdea063f:[()=>n.e(2497).then(n.bind(n,3024)),"@site/../docs/api/interfaces/ima_core.InitImaConfig.md",3024],cf9cb426:[()=>n.e(1094).then(n.bind(n,4237)),"@site/../docs/api/classes/ima_core.HttpProxy.md",4237],d0063a96:[()=>n.e(7084).then(n.bind(n,5990)),"@site/../docs/cli/compiler-features.md",5990],d0a2dc9c:[()=>n.e(1073).then(n.bind(n,6469)),"@site/../docs/plugins/available-plugins.md",6469],d3f37276:[()=>n.e(73).then(n.bind(n,7809)),"@site/../docs/api/classes/ima_core.AbstractPageManager.md",7809],d5dd36e5:[()=>n.e(6979).then(n.bind(n,4420)),"@site/../docs/api/classes/ima_core.ControllerDecorator.md",4420],d9f67a67:[()=>n.e(3187).then(n.bind(n,383)),"@site/../docs/api/classes/ima_core.Error.md",383],da5c5c21:[()=>Promise.all([n.e(1869),n.e(4821)]).then(n.bind(n,2044)),"@site/../docs/tutorial/fetching-data.mdx",2044],db94485c:[()=>n.e(1670).then(n.bind(n,7495)),"@site/../docs/api/classes/ima_core.PageHandlerRegistry.md",7495],dc7901fe:[()=>n.e(854).then(n.bind(n,5438)),"@site/../docs/api/classes/ima_core.WeakMapStorage.md",5438],deb892ed:[()=>n.e(470).then(n.bind(n,3854)),"@site/../docs/api/interfaces/ima_core.RouteAction.md",3854],e06953e7:[()=>n.e(7303).then(n.bind(n,4831)),"@site/../docs/api/interfaces/ima_plugin_cli.Source.md",4831],e19de693:[()=>n.e(4671).then(n.bind(n,5963)),"@site/../docs/api/interfaces/ima_core.BootConfig.md",5963],e25ffe8c:[()=>n.e(6807).then(n.bind(n,2175)),"@site/../docs/cli/advanced-features.md",2175],e28793d2:[()=>n.e(6711).then(n.bind(n,5891)),"@site/../docs/api/classes/ima_core.Cache.md",5891],eb04481e:[()=>n.e(6632).then(n.bind(n,2929)),"@site/../docs/api/classes/ima_core.CacheFactory.md",2929],ec3413e1:[()=>n.e(5100).then(n.bind(n,8995)),"@site/../docs/api/classes/ima_core.MetaManagerImpl.md",8995],ecde905a:[()=>n.e(8799).then(n.bind(n,8493)),"@site/../docs/api/modules/ima_cli.md",8493],f20b9f24:[()=>n.e(442).then(n.bind(n,6947)),"@site/../docs/api/classes/ima_core.DynamicRoute.md",6947],f219100a:[()=>n.e(6263).then(n.bind(n,1721)),"@site/../docs/api/interfaces/ima_core.HttpAgentRequestOptions.md",1721],f2d0b182:[()=>n.e(1238).then(n.bind(n,4684)),"@site/../docs/migration/migration-0.16.0.md",4684],f33aa945:[()=>Promise.all([n.e(1869),n.e(2785)]).then(n.bind(n,8777)),"@site/../docs/tutorial/adding-some-state.mdx",8777],f3bc0fbd:[()=>n.e(1607).then(n.bind(n,4454)),"@site/../docs/api/classes/ima_core.HttpAgentImpl.md",4454],f42f2945:[()=>n.e(8955).then(n.bind(n,9665)),"@site/../docs/devtools/devtools-options.md",9665],f4795e20:[()=>n.e(9157).then(n.bind(n,8599)),"@site/../docs/api/classes/ima_core.ServerRouter.md",8599],f747c071:[()=>n.e(376).then(n.bind(n,1631)),"@site/../docs/basic-features/error-handling.md",1631],fc65f0be:[()=>n.e(1956).then(n.bind(n,7216)),"@site/../docs/basic-features/seo-and-meta-manager.md",7216],fe1eb9bc:[()=>n.e(1820).then(n.bind(n,6103)),"@site/../docs/introduction/configuration.md",6103]};function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(6921),d=n(3102);function p(e,t){if("*"===e)return o()({loading:c,loader:()=>n.e(1774).then(n.bind(n,1774)),modules:["@theme/NotFound"],webpack:()=>[1774],render(e,t){const n=e.default;return r.createElement(d.W,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const i=l[`${e}-${t}`],p={},f=[],m=[],h=(0,u.A)(i);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=s[n];r&&(p[t]=r[0],f.push(r[1]),m.push(r[2]))})),o().Map({loading:c,loader:p,modules:f,webpack:()=>m,render(t,n){const o=JSON.parse(JSON.stringify(i));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const l=o.__comp;delete o.__comp;const s=o.__context;return delete o.__context,r.createElement(d.W,{value:s},r.createElement(l,(0,a.A)({},o,n)))}})}const f=[{path:"/search",component:p("/search","c1e"),exact:!0},{path:"/",component:p("/","5e3"),exact:!0},{path:"/",component:p("/","f4d"),routes:[{path:"/advanced-features/dynamic-imports",component:p("/advanced-features/dynamic-imports","76f"),exact:!0,sidebar:"docs"},{path:"/api/",component:p("/api/","ed1"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.AbstractController",component:p("/api/classes/ima_core.AbstractController","2fe"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.AbstractExecution",component:p("/api/classes/ima_core.AbstractExecution","586"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.AbstractExtension",component:p("/api/classes/ima_core.AbstractExtension","475"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.AbstractPageManager",component:p("/api/classes/ima_core.AbstractPageManager","321"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.AbstractRoute",component:p("/api/classes/ima_core.AbstractRoute","192"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.AbstractRouter",component:p("/api/classes/ima_core.AbstractRouter","af5"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Bootstrap",component:p("/api/classes/ima_core.Bootstrap","584"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Cache",component:p("/api/classes/ima_core.Cache","5c1"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.CacheEntry",component:p("/api/classes/ima_core.CacheEntry","92c"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.CacheFactory",component:p("/api/classes/ima_core.CacheFactory","303"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.CacheImpl",component:p("/api/classes/ima_core.CacheImpl","a32"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.CancelError",component:p("/api/classes/ima_core.CancelError","a82"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ClientPageManager",component:p("/api/classes/ima_core.ClientPageManager","c81"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ClientRouter",component:p("/api/classes/ima_core.ClientRouter","4a2"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ClientWindow",component:p("/api/classes/ima_core.ClientWindow","4fe"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ComponentUtils",component:p("/api/classes/ima_core.ComponentUtils","747"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Controller",component:p("/api/classes/ima_core.Controller","c97"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ControllerDecorator",component:p("/api/classes/ima_core.ControllerDecorator","928"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.CookieStorage",component:p("/api/classes/ima_core.CookieStorage","2e8"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Dictionary",component:p("/api/classes/ima_core.Dictionary","359"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Dispatcher",component:p("/api/classes/ima_core.Dispatcher","714"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.DispatcherImpl",component:p("/api/classes/ima_core.DispatcherImpl","323"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.DynamicRoute",component:p("/api/classes/ima_core.DynamicRoute","4d1"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Entry",component:p("/api/classes/ima_core.Entry","5db"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Error",component:p("/api/classes/ima_core.Error","183"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.EventBus",component:p("/api/classes/ima_core.EventBus","691"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.EventBusImpl",component:p("/api/classes/ima_core.EventBusImpl","1c2"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Execution",component:p("/api/classes/ima_core.Execution","877"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Extension",component:p("/api/classes/ima_core.Extension","64f"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.GenericError",component:p("/api/classes/ima_core.GenericError","bd6"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.HttpAgent",component:p("/api/classes/ima_core.HttpAgent","7cd"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.HttpAgentImpl",component:p("/api/classes/ima_core.HttpAgentImpl","d44"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.HttpProxy",component:p("/api/classes/ima_core.HttpProxy","047"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.MapStorage",component:p("/api/classes/ima_core.MapStorage","3af"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.MessageFormatDictionary",component:p("/api/classes/ima_core.MessageFormatDictionary","456"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.MetaManager",component:p("/api/classes/ima_core.MetaManager","982"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.MetaManagerImpl",component:p("/api/classes/ima_core.MetaManagerImpl","de9"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Namespace",component:p("/api/classes/ima_core.Namespace","6a3"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ObjectContainer",component:p("/api/classes/ima_core.ObjectContainer","1ed"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Observable",component:p("/api/classes/ima_core.Observable","6d5"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ObservableImpl",component:p("/api/classes/ima_core.ObservableImpl","c25"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageFactory",component:p("/api/classes/ima_core.PageFactory","095"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageHandler",component:p("/api/classes/ima_core.PageHandler","a12"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageHandlerRegistry",component:p("/api/classes/ima_core.PageHandlerRegistry","e2e"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageManager",component:p("/api/classes/ima_core.PageManager","e8c"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageMetaHandler",component:p("/api/classes/ima_core.PageMetaHandler","9fd"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageNavigationHandler",component:p("/api/classes/ima_core.PageNavigationHandler","cb5"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageRenderer",component:p("/api/classes/ima_core.PageRenderer","b40"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageStateManager",component:p("/api/classes/ima_core.PageStateManager","78d"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageStateManagerDecorator",component:p("/api/classes/ima_core.PageStateManagerDecorator","511"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PageStateManagerImpl",component:p("/api/classes/ima_core.PageStateManagerImpl","ec9"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.PluginLoader",component:p("/api/classes/ima_core.PluginLoader","2d9"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Request",component:p("/api/classes/ima_core.Request","2f1"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Response",component:p("/api/classes/ima_core.Response","53f"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.RouteFactory",component:p("/api/classes/ima_core.RouteFactory","3a1"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Router",component:p("/api/classes/ima_core.Router","121"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.SerialBatch",component:p("/api/classes/ima_core.SerialBatch","259"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ServerPageManager",component:p("/api/classes/ima_core.ServerPageManager","a4c"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ServerRouter",component:p("/api/classes/ima_core.ServerRouter","639"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.ServerWindow",component:p("/api/classes/ima_core.ServerWindow","dce"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.SessionMapStorage",component:p("/api/classes/ima_core.SessionMapStorage","4e6"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.SessionStorage",component:p("/api/classes/ima_core.SessionStorage","c11"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.StaticRoute",component:p("/api/classes/ima_core.StaticRoute","6d0"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Storage",component:p("/api/classes/ima_core.Storage","836"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.UrlTransformer",component:p("/api/classes/ima_core.UrlTransformer","c50"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.WeakMapStorage",component:p("/api/classes/ima_core.WeakMapStorage","d69"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_core.Window",component:p("/api/classes/ima_core.Window","04c"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_dev_utils.Logger",component:p("/api/classes/ima_dev_utils.Logger","7fd"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.AbstractComponent",component:p("/api/classes/ima_react_page_renderer.AbstractComponent","226"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.AbstractPureComponent",component:p("/api/classes/ima_react_page_renderer.AbstractPureComponent","389"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.BlankManagedRootView",component:p("/api/classes/ima_react_page_renderer.BlankManagedRootView","367"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.ErrorBoundary",component:p("/api/classes/ima_react_page_renderer.ErrorBoundary","056"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.PageRendererFactory",component:p("/api/classes/ima_react_page_renderer.PageRendererFactory","c01"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.ServerPageRenderer",component:p("/api/classes/ima_react_page_renderer.ServerPageRenderer","469"),exact:!0,sidebar:"api"},{path:"/api/classes/ima_react_page_renderer.ViewAdapter",component:p("/api/classes/ima_react_page_renderer.ViewAdapter","13a"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.ActionTypes",component:p("/api/enums/ima_core.ActionTypes","b3c"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.BindingState",component:p("/api/enums/ima_core.BindingState","d0e"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.HttpStatusCode",component:p("/api/enums/ima_core.HttpStatusCode","8c8"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.RendererEvents",component:p("/api/enums/ima_core.RendererEvents","e04"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.RendererTypes",component:p("/api/enums/ima_core.RendererTypes","c6e"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.RouteNames",component:p("/api/enums/ima_core.RouteNames","ec3"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.RouterEvents",component:p("/api/enums/ima_core.RouterEvents","1fc"),exact:!0,sidebar:"api"},{path:"/api/enums/ima_core.StateEvents",component:p("/api/enums/ima_core.StateEvents","8ce"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_cli.ImaCliArgs",component:p("/api/interfaces/ima_cli.ImaCliArgs","267"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_cli.ImaCliPlugin",component:p("/api/interfaces/ima_cli.ImaCliPlugin","0dd"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_cli.ImaConfigurationContext",component:p("/api/interfaces/ima_cli.ImaConfigurationContext","2db"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.AppEnvironment",component:p("/api/interfaces/ima_core.AppEnvironment","747"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.BootConfig",component:p("/api/interfaces/ima_core.BootConfig","108"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.BootServices",component:p("/api/interfaces/ima_core.BootServices","a30"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.DictionaryMap",component:p("/api/interfaces/ima_core.DictionaryMap","60d"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.DispatcherEventsMap",component:p("/api/interfaces/ima_core.DispatcherEventsMap","435"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.Environment",component:p("/api/interfaces/ima_core.Environment","1a6"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.GlobalImaObject",component:p("/api/interfaces/ima_core.GlobalImaObject","76d"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.HttpAgentRequestOptions",component:p("/api/interfaces/ima_core.HttpAgentRequestOptions","e3b"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.ImaRequestInit",component:p("/api/interfaces/ima_core.ImaRequestInit","922"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.InitAppConfig",component:p("/api/interfaces/ima_core.InitAppConfig","bcc"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.InitImaConfig",component:p("/api/interfaces/ima_core.InitImaConfig","067"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.InitPluginConfig",component:p("/api/interfaces/ima_core.InitPluginConfig","2ff"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.Manifest",component:p("/api/interfaces/ima_core.Manifest","a97"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.ManifestAsset",component:p("/api/interfaces/ima_core.ManifestAsset","840"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.OCAliasMap",component:p("/api/interfaces/ima_core.OCAliasMap","2a7"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.PageAction",component:p("/api/interfaces/ima_core.PageAction","862"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.PageRendererSettings",component:p("/api/interfaces/ima_core.PageRendererSettings","923"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.Resources",component:p("/api/interfaces/ima_core.Resources","361"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.RouteAction",component:p("/api/interfaces/ima_core.RouteAction","48a"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.RouteFactoryOptions",component:p("/api/interfaces/ima_core.RouteFactoryOptions","9f9"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.RouteLocals",component:p("/api/interfaces/ima_core.RouteLocals","19d"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.RouteOptions",component:p("/api/interfaces/ima_core.RouteOptions","35a"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.Settings",component:p("/api/interfaces/ima_core.Settings","c68"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.Utils",component:p("/api/interfaces/ima_core.Utils","305"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_core.WindowCustomEventsMap",component:p("/api/interfaces/ima_core.WindowCustomEventsMap","d6e"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_dev_utils.CompileError",component:p("/api/interfaces/ima_dev_utils.CompileError","8ba"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_dev_utils.FragmentLine",component:p("/api/interfaces/ima_dev_utils.FragmentLine","743"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_dev_utils.LoggerOptions",component:p("/api/interfaces/ima_dev_utils.LoggerOptions","edc"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_plugin_cli.Context",component:p("/api/interfaces/ima_plugin_cli.Context","c08"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_plugin_cli.ImaPluginConfig",component:p("/api/interfaces/ima_plugin_cli.ImaPluginConfig","77a"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_plugin_cli.PipeContext",component:p("/api/interfaces/ima_plugin_cli.PipeContext","5be"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_plugin_cli.Source",component:p("/api/interfaces/ima_plugin_cli.Source","8b4"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_react_page_renderer.PageContextType",component:p("/api/interfaces/ima_react_page_renderer.PageContextType","a88"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_react_page_renderer.useComponentType",component:p("/api/interfaces/ima_react_page_renderer.useComponentType","b78"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_react_page_renderer.useDispatcherType",component:p("/api/interfaces/ima_react_page_renderer.useDispatcherType","f98"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_react_page_renderer.useEventBusType",component:p("/api/interfaces/ima_react_page_renderer.useEventBusType","e21"),exact:!0,sidebar:"api"},{path:"/api/interfaces/ima_react_page_renderer.ViewAdapterProps",component:p("/api/interfaces/ima_react_page_renderer.ViewAdapterProps","838"),exact:!0,sidebar:"api"},{path:"/api/modules/ima_cli",component:p("/api/modules/ima_cli","3e9"),exact:!0,sidebar:"api"},{path:"/api/modules/ima_core",component:p("/api/modules/ima_core","c3e"),exact:!0,sidebar:"api"},{path:"/api/modules/ima_dev_utils",component:p("/api/modules/ima_dev_utils","ffe"),exact:!0,sidebar:"api"},{path:"/api/modules/ima_plugin_cli",component:p("/api/modules/ima_plugin_cli","ab3"),exact:!0,sidebar:"api"},{path:"/api/modules/ima_react_page_renderer",component:p("/api/modules/ima_react_page_renderer","d9b"),exact:!0,sidebar:"api"},{path:"/basic-features/controller-lifecycle",component:p("/basic-features/controller-lifecycle","4a4"),exact:!0,sidebar:"docs"},{path:"/basic-features/data-fetching",component:p("/basic-features/data-fetching","b65"),exact:!0,sidebar:"docs"},{path:"/basic-features/dictionary",component:p("/basic-features/dictionary","ce4"),exact:!0,sidebar:"docs"},{path:"/basic-features/error-handling",component:p("/basic-features/error-handling","925"),exact:!0,sidebar:"docs"},{path:"/basic-features/events",component:p("/basic-features/events","f93"),exact:!0,sidebar:"docs"},{path:"/basic-features/extensions",component:p("/basic-features/extensions","d96"),exact:!0,sidebar:"docs"},{path:"/basic-features/handling-scripts-and-styles",component:p("/basic-features/handling-scripts-and-styles","db0"),exact:!0,sidebar:"docs"},{path:"/basic-features/object-container",component:p("/basic-features/object-container","a86"),exact:!0,sidebar:"docs"},{path:"/basic-features/page-manager",component:p("/basic-features/page-manager","e00"),exact:!0,sidebar:"docs"},{path:"/basic-features/page-state",component:p("/basic-features/page-state","e19"),exact:!0,sidebar:"docs"},{path:"/basic-features/rendering-process",component:p("/basic-features/rendering-process","bd7"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/async-routing",component:p("/basic-features/routing/async-routing","7e9"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/dynamic-routes",component:p("/basic-features/routing/dynamic-routes","b16"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/introduction",component:p("/basic-features/routing/introduction","a9e"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/middlewares",component:p("/basic-features/routing/middlewares","68e"),exact:!0,sidebar:"docs"},{path:"/basic-features/seo-and-meta-manager",component:p("/basic-features/seo-and-meta-manager","81b"),exact:!0,sidebar:"docs"},{path:"/basic-features/testing",component:p("/basic-features/testing","d80"),exact:!0,sidebar:"docs"},{path:"/basic-features/typescript",component:p("/basic-features/typescript","8f1"),exact:!0,sidebar:"docs"},{path:"/basic-features/views-and-components",component:p("/basic-features/views-and-components","86d"),exact:!0,sidebar:"docs"},{path:"/cli/",component:p("/cli/","2b3"),exact:!0,sidebar:"docs"},{path:"/cli/additional-features",component:p("/cli/additional-features","d49"),exact:!0,sidebar:"docs"},{path:"/cli/advanced-features",component:p("/cli/advanced-features","835"),exact:!0},{path:"/cli/cli-plugins-api",component:p("/cli/cli-plugins-api","282"),exact:!0,sidebar:"docs"},{path:"/cli/compiler-features",component:p("/cli/compiler-features","b7c"),exact:!0,sidebar:"docs"},{path:"/cli/ima-config-js",component:p("/cli/ima-config-js","a17"),exact:!0,sidebar:"docs"},{path:"/cli/plugins/analyze-plugin",component:p("/cli/plugins/analyze-plugin","e61"),exact:!0,sidebar:"docs"},{path:"/cli/plugins/less-constants-plugin",component:p("/cli/plugins/less-constants-plugin","b4d"),exact:!0,sidebar:"docs"},{path:"/cli/plugins/scramble-css-plugin",component:p("/cli/plugins/scramble-css-plugin","13d"),exact:!0,sidebar:"docs"},{path:"/contributing/how-to-contribute",component:p("/contributing/how-to-contribute","c03"),exact:!0,sidebar:"docs"},{path:"/devtools/devtools-introduction",component:p("/devtools/devtools-introduction","f83"),exact:!0,sidebar:"docs"},{path:"/devtools/devtools-options",component:p("/devtools/devtools-options","f1a"),exact:!0,sidebar:"docs"},{path:"/devtools/devtools-ui",component:p("/devtools/devtools-ui","dbe"),exact:!0,sidebar:"docs"},{path:"/introduction/configuration",component:p("/introduction/configuration","fe0"),exact:!0,sidebar:"docs"},{path:"/introduction/getting-started",component:p("/introduction/getting-started","8ed"),exact:!0,sidebar:"docs"},{path:"/migration/migration-0.14.0",component:p("/migration/migration-0.14.0","fb7"),exact:!0,sidebar:"docs"},{path:"/migration/migration-0.15.0",component:p("/migration/migration-0.15.0","6b9"),exact:!0,sidebar:"docs"},{path:"/migration/migration-0.16.0",component:p("/migration/migration-0.16.0","3a9"),exact:!0,sidebar:"docs"},{path:"/migration/migration-17.0.0",component:p("/migration/migration-17.0.0","580"),exact:!0,sidebar:"docs"},{path:"/migration/migration-18.0.0",component:p("/migration/migration-18.0.0","3e2"),exact:!0,sidebar:"docs"},{path:"/migration/migration-19.0.0",component:p("/migration/migration-19.0.0","076"),exact:!0,sidebar:"docs"},{path:"/plugins/available-plugins",component:p("/plugins/available-plugins","ab0"),exact:!0,sidebar:"docs"},{path:"/plugins/plugin-api",component:p("/plugins/plugin-api","5f6"),exact:!0,sidebar:"docs"},{path:"/tutorial/adding-some-state",component:p("/tutorial/adding-some-state","94d"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/fetching-data",component:p("/tutorial/fetching-data","e54"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/final-polish",component:p("/tutorial/final-polish","4f4"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/introduction",component:p("/tutorial/introduction","28d"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/static-view",component:p("/tutorial/static-view","504"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/writing-posts",component:p("/tutorial/writing-posts","914"),exact:!0,sidebar:"tutorial"}]},{path:"*",component:p("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},3674:(e,t,n)=>{"use strict";var r=n(6540),a=n(961),i=n(9941),o=n(9005),l=n(8193);const s=[n(6425),n(6134),n(6294),n(9845)];var c=n(5947),u=n(9519),d=n(3971);function p(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var f=n(8102),m=n(5260),h=n(4586),g=n(6025),b=n(6342),v=n(9024),y=n(2131),w=n(6400),_=n(2967),S=n(5678),k=n(1463);function E(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.A)(),n=(0,y.o)();return r.createElement(m.A,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),a=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:r}=(0,u.zy)();return e+(0,S.applyTrailingSlash)((0,g.A)(r),{trailingSlash:n,baseUrl:t})}(),i=t?`${n}${t}`:a;return r.createElement(m.A,null,r.createElement("meta",{property:"og:url",content:i}),r.createElement("link",{rel:"canonical",href:i}))}function C(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,b.p)();return r.createElement(r.Fragment,null,r.createElement(m.A,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.w})),n&&r.createElement(v.be,{image:n}),r.createElement(x,null),r.createElement(E,null),r.createElement(k.A,{tag:_.Cy,locale:e}),r.createElement(m.A,null,t.map(((e,t)=>r.createElement("meta",(0,f.A)({key:t},e))))))}const P=new Map;function T(e){if(P.has(e.pathname))return{...e,pathname:P.get(e.pathname)};if((0,d.u)(c.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return P.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return P.set(e.pathname,t),{...e,pathname:t}}var A=n(6125),O=n(6988);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=s.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const I=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,i=t.search===n.search;if(r&&a&&!i)return;const{hash:o}=t;if(o){const e=decodeURIComponent(o.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function N(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class L extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),N(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(I,{previousLocation:this.previousLocation,location:t},r.createElement(u.qh,{location:t,render:()=>e}))}}const D=L,M="__docusaurus-base-url-issue-banner-container",j="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${M}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${j}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n var suggestionContainer = document.getElementById('${j}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function z(){const{siteConfig:{baseUrl:e}}=(0,h.A)();return(0,r.useLayoutEffect)((()=>{window[F]=!1}),[]),r.createElement(r.Fragment,null,!l.A.canUseDOM&&r.createElement(m.A,null,r.createElement("script",null,B(e))),r.createElement("div",{id:M}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.A)(),{pathname:n}=(0,u.zy)();return t&&n===e?r.createElement(z,null):null}function q(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:i}}=(0,h.A)(),o=(0,g.A)(e),{htmlLang:l,direction:s}=i[a];return r.createElement(m.A,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:o}))}var H=n(7489),$=n(2303);function V(){const e=(0,$.A)();return r.createElement(m.A,null,r.createElement("html",{"data-has-hydrated":e}))}function G(){const e=(0,d.v)(c.A),t=(0,u.zy)();return r.createElement(H.A,null,r.createElement(O.l,null,r.createElement(A.x,null,r.createElement(p,null,r.createElement(q,null),r.createElement(C,null),r.createElement(U,null),r.createElement(D,{location:T(t)},e)),r.createElement(V,null))))}var W=n(4054);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Q=n(6921);const Y=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,Z={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,d.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Q.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),N(e))},ee=Object.freeze(Z);if(l.A.canUseDOM){window.docusaurus=ee;const e=a.hydrate;N(window.location.pathname).then((()=>{e(r.createElement(o.vd,null,r.createElement(i.Kd,null,r.createElement(G,null))),document.getElementById("__docusaurus"))}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>u,l:()=>d});var r=n(6540),a=n(4784);const i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"api/index","docs":[{"id":"advanced-features/dynamic-imports","path":"/advanced-features/dynamic-imports","sidebar":"docs"},{"id":"api/classes/ima_core.AbstractController","path":"/api/classes/ima_core.AbstractController","sidebar":"api"},{"id":"api/classes/ima_core.AbstractExecution","path":"/api/classes/ima_core.AbstractExecution","sidebar":"api"},{"id":"api/classes/ima_core.AbstractExtension","path":"/api/classes/ima_core.AbstractExtension","sidebar":"api"},{"id":"api/classes/ima_core.AbstractPageManager","path":"/api/classes/ima_core.AbstractPageManager","sidebar":"api"},{"id":"api/classes/ima_core.AbstractRoute","path":"/api/classes/ima_core.AbstractRoute","sidebar":"api"},{"id":"api/classes/ima_core.AbstractRouter","path":"/api/classes/ima_core.AbstractRouter","sidebar":"api"},{"id":"api/classes/ima_core.Bootstrap","path":"/api/classes/ima_core.Bootstrap","sidebar":"api"},{"id":"api/classes/ima_core.Cache","path":"/api/classes/ima_core.Cache","sidebar":"api"},{"id":"api/classes/ima_core.CacheEntry","path":"/api/classes/ima_core.CacheEntry","sidebar":"api"},{"id":"api/classes/ima_core.CacheFactory","path":"/api/classes/ima_core.CacheFactory","sidebar":"api"},{"id":"api/classes/ima_core.CacheImpl","path":"/api/classes/ima_core.CacheImpl","sidebar":"api"},{"id":"api/classes/ima_core.CancelError","path":"/api/classes/ima_core.CancelError","sidebar":"api"},{"id":"api/classes/ima_core.ClientPageManager","path":"/api/classes/ima_core.ClientPageManager","sidebar":"api"},{"id":"api/classes/ima_core.ClientRouter","path":"/api/classes/ima_core.ClientRouter","sidebar":"api"},{"id":"api/classes/ima_core.ClientWindow","path":"/api/classes/ima_core.ClientWindow","sidebar":"api"},{"id":"api/classes/ima_core.ComponentUtils","path":"/api/classes/ima_core.ComponentUtils","sidebar":"api"},{"id":"api/classes/ima_core.Controller","path":"/api/classes/ima_core.Controller","sidebar":"api"},{"id":"api/classes/ima_core.ControllerDecorator","path":"/api/classes/ima_core.ControllerDecorator","sidebar":"api"},{"id":"api/classes/ima_core.CookieStorage","path":"/api/classes/ima_core.CookieStorage","sidebar":"api"},{"id":"api/classes/ima_core.Dictionary","path":"/api/classes/ima_core.Dictionary","sidebar":"api"},{"id":"api/classes/ima_core.Dispatcher","path":"/api/classes/ima_core.Dispatcher","sidebar":"api"},{"id":"api/classes/ima_core.DispatcherImpl","path":"/api/classes/ima_core.DispatcherImpl","sidebar":"api"},{"id":"api/classes/ima_core.DynamicRoute","path":"/api/classes/ima_core.DynamicRoute","sidebar":"api"},{"id":"api/classes/ima_core.Entry","path":"/api/classes/ima_core.Entry","sidebar":"api"},{"id":"api/classes/ima_core.Error","path":"/api/classes/ima_core.Error","sidebar":"api"},{"id":"api/classes/ima_core.EventBus","path":"/api/classes/ima_core.EventBus","sidebar":"api"},{"id":"api/classes/ima_core.EventBusImpl","path":"/api/classes/ima_core.EventBusImpl","sidebar":"api"},{"id":"api/classes/ima_core.Execution","path":"/api/classes/ima_core.Execution","sidebar":"api"},{"id":"api/classes/ima_core.Extension","path":"/api/classes/ima_core.Extension","sidebar":"api"},{"id":"api/classes/ima_core.GenericError","path":"/api/classes/ima_core.GenericError","sidebar":"api"},{"id":"api/classes/ima_core.HttpAgent","path":"/api/classes/ima_core.HttpAgent","sidebar":"api"},{"id":"api/classes/ima_core.HttpAgentImpl","path":"/api/classes/ima_core.HttpAgentImpl","sidebar":"api"},{"id":"api/classes/ima_core.HttpProxy","path":"/api/classes/ima_core.HttpProxy","sidebar":"api"},{"id":"api/classes/ima_core.MapStorage","path":"/api/classes/ima_core.MapStorage","sidebar":"api"},{"id":"api/classes/ima_core.MessageFormatDictionary","path":"/api/classes/ima_core.MessageFormatDictionary","sidebar":"api"},{"id":"api/classes/ima_core.MetaManager","path":"/api/classes/ima_core.MetaManager","sidebar":"api"},{"id":"api/classes/ima_core.MetaManagerImpl","path":"/api/classes/ima_core.MetaManagerImpl","sidebar":"api"},{"id":"api/classes/ima_core.Namespace","path":"/api/classes/ima_core.Namespace","sidebar":"api"},{"id":"api/classes/ima_core.ObjectContainer","path":"/api/classes/ima_core.ObjectContainer","sidebar":"api"},{"id":"api/classes/ima_core.Observable","path":"/api/classes/ima_core.Observable","sidebar":"api"},{"id":"api/classes/ima_core.ObservableImpl","path":"/api/classes/ima_core.ObservableImpl","sidebar":"api"},{"id":"api/classes/ima_core.PageFactory","path":"/api/classes/ima_core.PageFactory","sidebar":"api"},{"id":"api/classes/ima_core.PageHandler","path":"/api/classes/ima_core.PageHandler","sidebar":"api"},{"id":"api/classes/ima_core.PageHandlerRegistry","path":"/api/classes/ima_core.PageHandlerRegistry","sidebar":"api"},{"id":"api/classes/ima_core.PageManager","path":"/api/classes/ima_core.PageManager","sidebar":"api"},{"id":"api/classes/ima_core.PageMetaHandler","path":"/api/classes/ima_core.PageMetaHandler","sidebar":"api"},{"id":"api/classes/ima_core.PageNavigationHandler","path":"/api/classes/ima_core.PageNavigationHandler","sidebar":"api"},{"id":"api/classes/ima_core.PageRenderer","path":"/api/classes/ima_core.PageRenderer","sidebar":"api"},{"id":"api/classes/ima_core.PageStateManager","path":"/api/classes/ima_core.PageStateManager","sidebar":"api"},{"id":"api/classes/ima_core.PageStateManagerDecorator","path":"/api/classes/ima_core.PageStateManagerDecorator","sidebar":"api"},{"id":"api/classes/ima_core.PageStateManagerImpl","path":"/api/classes/ima_core.PageStateManagerImpl","sidebar":"api"},{"id":"api/classes/ima_core.PluginLoader","path":"/api/classes/ima_core.PluginLoader","sidebar":"api"},{"id":"api/classes/ima_core.Request","path":"/api/classes/ima_core.Request","sidebar":"api"},{"id":"api/classes/ima_core.Response","path":"/api/classes/ima_core.Response","sidebar":"api"},{"id":"api/classes/ima_core.RouteFactory","path":"/api/classes/ima_core.RouteFactory","sidebar":"api"},{"id":"api/classes/ima_core.Router","path":"/api/classes/ima_core.Router","sidebar":"api"},{"id":"api/classes/ima_core.SerialBatch","path":"/api/classes/ima_core.SerialBatch","sidebar":"api"},{"id":"api/classes/ima_core.ServerPageManager","path":"/api/classes/ima_core.ServerPageManager","sidebar":"api"},{"id":"api/classes/ima_core.ServerRouter","path":"/api/classes/ima_core.ServerRouter","sidebar":"api"},{"id":"api/classes/ima_core.ServerWindow","path":"/api/classes/ima_core.ServerWindow","sidebar":"api"},{"id":"api/classes/ima_core.SessionMapStorage","path":"/api/classes/ima_core.SessionMapStorage","sidebar":"api"},{"id":"api/classes/ima_core.SessionStorage","path":"/api/classes/ima_core.SessionStorage","sidebar":"api"},{"id":"api/classes/ima_core.StaticRoute","path":"/api/classes/ima_core.StaticRoute","sidebar":"api"},{"id":"api/classes/ima_core.Storage","path":"/api/classes/ima_core.Storage","sidebar":"api"},{"id":"api/classes/ima_core.UrlTransformer","path":"/api/classes/ima_core.UrlTransformer","sidebar":"api"},{"id":"api/classes/ima_core.WeakMapStorage","path":"/api/classes/ima_core.WeakMapStorage","sidebar":"api"},{"id":"api/classes/ima_core.Window","path":"/api/classes/ima_core.Window","sidebar":"api"},{"id":"api/classes/ima_dev_utils.Logger","path":"/api/classes/ima_dev_utils.Logger","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.AbstractComponent","path":"/api/classes/ima_react_page_renderer.AbstractComponent","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.AbstractPureComponent","path":"/api/classes/ima_react_page_renderer.AbstractPureComponent","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.BlankManagedRootView","path":"/api/classes/ima_react_page_renderer.BlankManagedRootView","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.ErrorBoundary","path":"/api/classes/ima_react_page_renderer.ErrorBoundary","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.PageRendererFactory","path":"/api/classes/ima_react_page_renderer.PageRendererFactory","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.ServerPageRenderer","path":"/api/classes/ima_react_page_renderer.ServerPageRenderer","sidebar":"api"},{"id":"api/classes/ima_react_page_renderer.ViewAdapter","path":"/api/classes/ima_react_page_renderer.ViewAdapter","sidebar":"api"},{"id":"api/enums/ima_core.ActionTypes","path":"/api/enums/ima_core.ActionTypes","sidebar":"api"},{"id":"api/enums/ima_core.BindingState","path":"/api/enums/ima_core.BindingState","sidebar":"api"},{"id":"api/enums/ima_core.HttpStatusCode","path":"/api/enums/ima_core.HttpStatusCode","sidebar":"api"},{"id":"api/enums/ima_core.RendererEvents","path":"/api/enums/ima_core.RendererEvents","sidebar":"api"},{"id":"api/enums/ima_core.RendererTypes","path":"/api/enums/ima_core.RendererTypes","sidebar":"api"},{"id":"api/enums/ima_core.RouteNames","path":"/api/enums/ima_core.RouteNames","sidebar":"api"},{"id":"api/enums/ima_core.RouterEvents","path":"/api/enums/ima_core.RouterEvents","sidebar":"api"},{"id":"api/enums/ima_core.StateEvents","path":"/api/enums/ima_core.StateEvents","sidebar":"api"},{"id":"api/index","path":"/api/","sidebar":"api"},{"id":"api/interfaces/ima_cli.ImaCliArgs","path":"/api/interfaces/ima_cli.ImaCliArgs","sidebar":"api"},{"id":"api/interfaces/ima_cli.ImaCliPlugin","path":"/api/interfaces/ima_cli.ImaCliPlugin","sidebar":"api"},{"id":"api/interfaces/ima_cli.ImaConfigurationContext","path":"/api/interfaces/ima_cli.ImaConfigurationContext","sidebar":"api"},{"id":"api/interfaces/ima_core.AppEnvironment","path":"/api/interfaces/ima_core.AppEnvironment","sidebar":"api"},{"id":"api/interfaces/ima_core.BootConfig","path":"/api/interfaces/ima_core.BootConfig","sidebar":"api"},{"id":"api/interfaces/ima_core.BootServices","path":"/api/interfaces/ima_core.BootServices","sidebar":"api"},{"id":"api/interfaces/ima_core.DictionaryMap","path":"/api/interfaces/ima_core.DictionaryMap","sidebar":"api"},{"id":"api/interfaces/ima_core.DispatcherEventsMap","path":"/api/interfaces/ima_core.DispatcherEventsMap","sidebar":"api"},{"id":"api/interfaces/ima_core.Environment","path":"/api/interfaces/ima_core.Environment","sidebar":"api"},{"id":"api/interfaces/ima_core.GlobalImaObject","path":"/api/interfaces/ima_core.GlobalImaObject","sidebar":"api"},{"id":"api/interfaces/ima_core.HttpAgentRequestOptions","path":"/api/interfaces/ima_core.HttpAgentRequestOptions","sidebar":"api"},{"id":"api/interfaces/ima_core.ImaRequestInit","path":"/api/interfaces/ima_core.ImaRequestInit","sidebar":"api"},{"id":"api/interfaces/ima_core.InitAppConfig","path":"/api/interfaces/ima_core.InitAppConfig","sidebar":"api"},{"id":"api/interfaces/ima_core.InitImaConfig","path":"/api/interfaces/ima_core.InitImaConfig","sidebar":"api"},{"id":"api/interfaces/ima_core.InitPluginConfig","path":"/api/interfaces/ima_core.InitPluginConfig","sidebar":"api"},{"id":"api/interfaces/ima_core.Manifest","path":"/api/interfaces/ima_core.Manifest","sidebar":"api"},{"id":"api/interfaces/ima_core.ManifestAsset","path":"/api/interfaces/ima_core.ManifestAsset","sidebar":"api"},{"id":"api/interfaces/ima_core.OCAliasMap","path":"/api/interfaces/ima_core.OCAliasMap","sidebar":"api"},{"id":"api/interfaces/ima_core.PageAction","path":"/api/interfaces/ima_core.PageAction","sidebar":"api"},{"id":"api/interfaces/ima_core.PageRendererSettings","path":"/api/interfaces/ima_core.PageRendererSettings","sidebar":"api"},{"id":"api/interfaces/ima_core.Resources","path":"/api/interfaces/ima_core.Resources","sidebar":"api"},{"id":"api/interfaces/ima_core.RouteAction","path":"/api/interfaces/ima_core.RouteAction","sidebar":"api"},{"id":"api/interfaces/ima_core.RouteFactoryOptions","path":"/api/interfaces/ima_core.RouteFactoryOptions","sidebar":"api"},{"id":"api/interfaces/ima_core.RouteLocals","path":"/api/interfaces/ima_core.RouteLocals","sidebar":"api"},{"id":"api/interfaces/ima_core.RouteOptions","path":"/api/interfaces/ima_core.RouteOptions","sidebar":"api"},{"id":"api/interfaces/ima_core.Settings","path":"/api/interfaces/ima_core.Settings","sidebar":"api"},{"id":"api/interfaces/ima_core.Utils","path":"/api/interfaces/ima_core.Utils","sidebar":"api"},{"id":"api/interfaces/ima_core.WindowCustomEventsMap","path":"/api/interfaces/ima_core.WindowCustomEventsMap","sidebar":"api"},{"id":"api/interfaces/ima_dev_utils.CompileError","path":"/api/interfaces/ima_dev_utils.CompileError","sidebar":"api"},{"id":"api/interfaces/ima_dev_utils.FragmentLine","path":"/api/interfaces/ima_dev_utils.FragmentLine","sidebar":"api"},{"id":"api/interfaces/ima_dev_utils.LoggerOptions","path":"/api/interfaces/ima_dev_utils.LoggerOptions","sidebar":"api"},{"id":"api/interfaces/ima_plugin_cli.Context","path":"/api/interfaces/ima_plugin_cli.Context","sidebar":"api"},{"id":"api/interfaces/ima_plugin_cli.ImaPluginConfig","path":"/api/interfaces/ima_plugin_cli.ImaPluginConfig","sidebar":"api"},{"id":"api/interfaces/ima_plugin_cli.PipeContext","path":"/api/interfaces/ima_plugin_cli.PipeContext","sidebar":"api"},{"id":"api/interfaces/ima_plugin_cli.Source","path":"/api/interfaces/ima_plugin_cli.Source","sidebar":"api"},{"id":"api/interfaces/ima_react_page_renderer.PageContextType","path":"/api/interfaces/ima_react_page_renderer.PageContextType","sidebar":"api"},{"id":"api/interfaces/ima_react_page_renderer.useComponentType","path":"/api/interfaces/ima_react_page_renderer.useComponentType","sidebar":"api"},{"id":"api/interfaces/ima_react_page_renderer.useDispatcherType","path":"/api/interfaces/ima_react_page_renderer.useDispatcherType","sidebar":"api"},{"id":"api/interfaces/ima_react_page_renderer.useEventBusType","path":"/api/interfaces/ima_react_page_renderer.useEventBusType","sidebar":"api"},{"id":"api/interfaces/ima_react_page_renderer.ViewAdapterProps","path":"/api/interfaces/ima_react_page_renderer.ViewAdapterProps","sidebar":"api"},{"id":"api/modules/ima_cli","path":"/api/modules/ima_cli","sidebar":"api"},{"id":"api/modules/ima_core","path":"/api/modules/ima_core","sidebar":"api"},{"id":"api/modules/ima_dev_utils","path":"/api/modules/ima_dev_utils","sidebar":"api"},{"id":"api/modules/ima_plugin_cli","path":"/api/modules/ima_plugin_cli","sidebar":"api"},{"id":"api/modules/ima_react_page_renderer","path":"/api/modules/ima_react_page_renderer","sidebar":"api"},{"id":"basic-features/controller-lifecycle","path":"/basic-features/controller-lifecycle","sidebar":"docs"},{"id":"basic-features/data-fetching","path":"/basic-features/data-fetching","sidebar":"docs"},{"id":"basic-features/dictionary","path":"/basic-features/dictionary","sidebar":"docs"},{"id":"basic-features/error-handling","path":"/basic-features/error-handling","sidebar":"docs"},{"id":"basic-features/events","path":"/basic-features/events","sidebar":"docs"},{"id":"basic-features/extensions","path":"/basic-features/extensions","sidebar":"docs"},{"id":"basic-features/handling-scripts-and-styles","path":"/basic-features/handling-scripts-and-styles","sidebar":"docs"},{"id":"basic-features/object-container","path":"/basic-features/object-container","sidebar":"docs"},{"id":"basic-features/page-manager","path":"/basic-features/page-manager","sidebar":"docs"},{"id":"basic-features/page-state","path":"/basic-features/page-state","sidebar":"docs"},{"id":"basic-features/rendering-process","path":"/basic-features/rendering-process","sidebar":"docs"},{"id":"basic-features/routing/async-routing","path":"/basic-features/routing/async-routing","sidebar":"docs"},{"id":"basic-features/routing/dynamic-routes","path":"/basic-features/routing/dynamic-routes","sidebar":"docs"},{"id":"basic-features/routing/introduction","path":"/basic-features/routing/introduction","sidebar":"docs"},{"id":"basic-features/routing/middlewares","path":"/basic-features/routing/middlewares","sidebar":"docs"},{"id":"basic-features/seo-and-meta-manager","path":"/basic-features/seo-and-meta-manager","sidebar":"docs"},{"id":"basic-features/testing","path":"/basic-features/testing","sidebar":"docs"},{"id":"basic-features/typescript","path":"/basic-features/typescript","sidebar":"docs"},{"id":"basic-features/views-and-components","path":"/basic-features/views-and-components","sidebar":"docs"},{"id":"cli/additional-features","path":"/cli/additional-features","sidebar":"docs"},{"id":"cli/advanced-features","path":"/cli/advanced-features"},{"id":"cli/cli","path":"/cli/","sidebar":"docs"},{"id":"cli/cli-plugins-api","path":"/cli/cli-plugins-api","sidebar":"docs"},{"id":"cli/compiler-features","path":"/cli/compiler-features","sidebar":"docs"},{"id":"cli/ima.config.js","path":"/cli/ima-config-js","sidebar":"docs"},{"id":"cli/plugins/analyze-plugin","path":"/cli/plugins/analyze-plugin","sidebar":"docs"},{"id":"cli/plugins/less-constants-plugin","path":"/cli/plugins/less-constants-plugin","sidebar":"docs"},{"id":"cli/plugins/scramble-css-plugin","path":"/cli/plugins/scramble-css-plugin","sidebar":"docs"},{"id":"contributing/how-to-contribute","path":"/contributing/how-to-contribute","sidebar":"docs"},{"id":"devtools/devtools-introduction","path":"/devtools/devtools-introduction","sidebar":"docs"},{"id":"devtools/devtools-options","path":"/devtools/devtools-options","sidebar":"docs"},{"id":"devtools/devtools-ui","path":"/devtools/devtools-ui","sidebar":"docs"},{"id":"introduction/configuration","path":"/introduction/configuration","sidebar":"docs"},{"id":"introduction/getting-started","path":"/introduction/getting-started","sidebar":"docs"},{"id":"migration/migration-0.14.0","path":"/migration/migration-0.14.0","sidebar":"docs"},{"id":"migration/migration-0.15.0","path":"/migration/migration-0.15.0","sidebar":"docs"},{"id":"migration/migration-0.16.0","path":"/migration/migration-0.16.0","sidebar":"docs"},{"id":"migration/migration-17.0.0","path":"/migration/migration-17.0.0","sidebar":"docs"},{"id":"migration/migration-18.0.0","path":"/migration/migration-18.0.0","sidebar":"docs"},{"id":"migration/migration-19.0.0","path":"/migration/migration-19.0.0","sidebar":"docs"},{"id":"plugins/available-plugins","path":"/plugins/available-plugins","sidebar":"docs"},{"id":"plugins/plugin-api","path":"/plugins/plugin-api","sidebar":"docs"},{"id":"tutorial/adding-some-state","path":"/tutorial/adding-some-state","sidebar":"tutorial"},{"id":"tutorial/fetching-data","path":"/tutorial/fetching-data","sidebar":"tutorial"},{"id":"tutorial/final-polish","path":"/tutorial/final-polish","sidebar":"tutorial"},{"id":"tutorial/introduction","path":"/tutorial/introduction","sidebar":"tutorial"},{"id":"tutorial/static-view","path":"/tutorial/static-view","sidebar":"tutorial"},{"id":"tutorial/writing-posts","path":"/tutorial/writing-posts","sidebar":"tutorial"}],"draftIds":[],"sidebars":{"api":{"link":{"path":"/api/","label":"Table of Contents"}},"tutorial":{"link":{"path":"/tutorial/introduction","label":"tutorial/introduction"}},"docs":{"link":{"path":"/introduction/getting-started","label":"introduction/getting-started"}}}}],"breadcrumbs":false}}}'),o=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"2.4.3","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.3"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.4.3"},"docusaurus-plugin-typedoc":{"type":"package","name":"docusaurus-plugin-typedoc","version":"0.19.2"},"resolve-react":{"type":"local"}}}'),c={siteConfig:a.default,siteMetadata:s,globalData:i,i18n:o,codeTranslations:l},u=r.createContext(c);function d(e){let{children:t}=e;return r.createElement(u.Provider,{value:c},t)}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),a=n(8193),i=n(5260),o=n(5678),l=n(2546);function s(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(c,{error:t}))}function c(e){let{error:t}=e;const n=(0,o.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function u(e){let{error:t,tryAgain:n}=e;return r.createElement(p,{fallback:()=>r.createElement(s,{error:t,tryAgain:n})},r.createElement(i.A,null,r.createElement("title",null,"Page Error")),r.createElement(l.A,null,r.createElement(s,{error:t,tryAgain:n})))}const d=e=>r.createElement(u,e);class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540),a=n(9005);function i(e){return r.createElement(a.mg,e)}},5489:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(8102),a=n(6540),i=n(9941),o=n(5678),l=n(4586),s=n(6654),c=n(8193);const u=a.createContext({collectLink:()=>{}});var d=n(6025);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,l.A)(),{withBaseUrl:_}=(0,d.h)(),S=(0,a.useContext)(u),k=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>k.current));const E=p||f;const x=(0,s.A)(E),C=E?.replace("pathname://","");let P=void 0!==C?(T=C,b&&(e=>e.startsWith("/"))(T)?_(T):T):void 0;var T;P&&x&&(P=(0,o.applyTrailingSlash)(P,{trailingSlash:y,baseUrl:w}));const A=(0,a.useRef)(!1),O=n?i.k2:i.N_,R=c.A.canUseIntersectionObserver,I=(0,a.useRef)(),N=()=>{A.current||null==P||(window.docusaurus.preload(P),A.current=!0)};(0,a.useEffect)((()=>(!R&&x&&null!=P&&window.docusaurus.prefetch(P),()=>{R&&I.current&&I.current.disconnect()})),[I,P,R,x]);const L=P?.startsWith("#")??!1,D=!P||!x||L;return D||g||S.collectLink(P),D?a.createElement("a",(0,r.A)({ref:k,href:P},E&&!x&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(O,(0,r.A)({},v,{onMouseEnter:N,onTouchStart:N,innerRef:e=>{k.current=e,R&&e&&x&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))}))})),I.current.observe(e))},to:P},n&&{isActive:h,activeClassName:m}))}const f=a.forwardRef(p)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>s,T:()=>l});var r=n(6540);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function o(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(o({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:i}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const l=o({message:t,id:n});return r.createElement(r.Fragment,null,a(l,i))}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,h:()=>o});var r=n(6540),a=n(4586),i=n(6654);function o(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.A)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:o=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,i.z)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return o?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=o();return n(e,t)}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540),a=n(6988);function i(){return(0,r.useContext)(a.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540),a=n(6125);function i(){return(0,r.useContext)(a.o)}},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[i,o]=n;const l=a?`${a}.${i}`:i;r(o)?e(o,l):t[l]=o}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),o=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return r.createElement(a.Provider,{value:o},t)}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>b,vT:()=>f,gk:()=>m,Gy:()=>d,HW:()=>v,ht:()=>p,r7:()=>g,jh:()=>h});var r=n(9519),a=n(4586),i=n(7065);function o(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=s(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},d=()=>o("docusaurus-plugin-content-docs")??u,p=e=>function(e,t,n){void 0===t&&(t=i.W),void 0===n&&(n={});const r=o(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),i=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!i&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return i}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function h(e){return p(e).versions}function g(e){const t=p(e);return l(t)}function b(e){const t=p(e),{pathname:n}=(0,r.zy)();return c(t,n)}function v(e){const t=p(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var r=n(7671),a=n.n(r);a().configure({showSpinner:!1});const i={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";var r=n(2725),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(1441)(`./prism-${e}`)})),delete globalThis.Prism}(r.A)},4384:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);const a={iconExternalLink:"iconExternalLink_nPIU"};function i(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},2546:(e,t,n)=>{"use strict";n.d(t,{A:()=>St});var r=n(6540),a=n(8017),i=n(7489),o=n(9024),l=n(8102),s=n(9519),c=n(1312),u=n(5062);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=f();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,l.A)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(7559),b=n(6400);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var w=n(6342),_=n(5041);function S(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:i=1.2,className:o,...s}=e;return r.createElement("svg",(0,l.A)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:i},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const k={closeButton:"closeButton_CVFx"};function E(e){return r.createElement("button",(0,l.A)({type:"button","aria-label":(0,c.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.A)("clean-btn close",k.closeButton,e.className)}),r.createElement(S,{width:14,height:14,strokeWidth:3.1}))}const x={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return r.createElement("div",(0,l.A)({},e,{className:(0,a.A)(x.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const P={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,_.Mj)();if(!t)return null;const{backgroundColor:a,textColor:i,isCloseable:o}=e;return r.createElement("div",{className:P.announcementBar,style:{backgroundColor:a,color:i},role:"banner"},o&&r.createElement("div",{className:P.announcementBarPlaceholder}),r.createElement(C,{className:P.announcementBarContent}),o&&r.createElement(E,{onClick:n,className:P.announcementBarClose}))}var A=n(2069),O=n(3104);var R=n(9532),I=n(5600);const N=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,A.M)(),t=(0,I.YL)(),[n,a]=(0,r.useState)(!1),i=null!==t.component,o=(0,R.ZC)(i);return(0,r.useEffect)((()=>{i&&!o&&a(!0)}),[i,o]),(0,r.useEffect)((()=>{i?e.shown||a(!0):a(!1)}),[e.shown,i]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(N.Provider,{value:n},t)}function D(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function M(){const e=(0,r.useContext)(N);if(!e)throw new R.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),i=(0,I.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(i)})),[a,i,t])}function j(e){let{header:t,primaryMenu:n,secondaryMenu:i}=e;const{shown:o}=M();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},i)))}var F=n(5293),B=n(2303);function z(e){return r.createElement("svg",(0,l.A)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function U(e){return r.createElement("svg",(0,l.A)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const q={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:i,onChange:o}=e;const l=(0,B.A)(),s=(0,c.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===i?(0,c.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.A)(q.toggle,t)},r.createElement("button",{className:(0,a.A)("clean-btn",q.toggleButton,!l&&q.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===i?"light":"dark"),disabled:!l,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(z,{className:(0,a.A)(q.toggleIcon,q.lightToggleIcon)}),r.createElement(U,{className:(0,a.A)(q.toggleIcon,q.darkToggleIcon)})))}const $=r.memo(H),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.p)().navbar.style,a=(0,w.p)().colorMode.disableSwitch,{colorMode:i,setColorMode:o}=(0,F.G)();return a?null:r.createElement($,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:i,onChange:o})}var W=n(3465);function K(){return r.createElement(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.M)();return r.createElement("button",{type:"button","aria-label":(0,c.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(S,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(K,null),r.createElement(G,{className:"margin-right--md"}),r.createElement(Q,null))}var X=n(5489),J=n(6025),Z=n(6654),ee=n(1252),te=n(4384);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:i,label:o,html:s,isDropdownLink:c,prependBaseUrlToHref:u,...d}=e;const p=(0,J.A)(a),f=(0,J.A)(t),m=(0,J.A)(i,{forcePrependBaseUrl:!0}),h=o&&i&&!(0,Z.A)(i),g=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,o,h&&r.createElement(te.A,c&&{width:12,height:12}))};return i?r.createElement(X.A,(0,l.A)({href:u?m:i},d,g)):r.createElement(X.A,(0,l.A)({to:p,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(f)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...i}=e;const o=r.createElement(ne,(0,l.A)({className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},i));return n?r.createElement("li",null,o):o}function ae(e){let{className:t,isDropdownItem:n,...i}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,l.A)({className:(0,a.A)("menu__link",t)},i)))}function ie(e){let{mobile:t=!1,position:n,...a}=e;const i=t?ae:re;return r.createElement(i,(0,l.A)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var oe=n(1422),le=n(9169),se=n(4586);function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:i,onClick:o,...s}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),r.createElement("div",{ref:c,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u})},r.createElement(ne,(0,l.A)({"aria-haspopup":"true","aria-expanded":u,role:"button",href:s.to?void 0:"#",className:(0,a.A)("navbar__link",i)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(De,(0,l.A)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:i,onClick:o,...c}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,oe.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),r.createElement("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":p})},r.createElement(ne,(0,l.A)({role:"button",className:(0,a.A)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),f()}}),c.children??c.label),r.createElement(oe.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p},t.map(((e,t)=>r.createElement(De,(0,l.A)({mobile:!0,isDropdownItem:!0,onClick:o,activeClassName:"menu__link--active"},e,{key:t}))))))}function pe(e){let{mobile:t=!1,...n}=e;const a=t?de:ue;return r.createElement(a,n)}var fe=n(2131);function me(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.A)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const he="iconLanguage_nlXk";var ge=n(5044),be=n(5260),ve=n(4255),ye=n(1062),we=n(2967);var _e=n(961);const Se={button:{buttonText:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,c.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,c.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let ke=null;function Ee(e){let{hit:t,children:n}=e;return r.createElement(X.A,{to:t.url},n)}function xe(e){let{state:t,onClose:n}=e;const a=(0,ve.w)();return r.createElement(X.A,{to:a(t.query),onClick:n},r.createElement(c.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Ce(e){let{contextualSearch:t,externalUrlRegex:a,...i}=e;const{siteMetadata:o}=(0,se.A)(),c=(0,ye.C)(),u=function(){const{locale:e,tags:t}=(0,we.af)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=i.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(u,d):d,f={...i.searchParameters,facetFilters:p},m=(0,s.W6)(),h=(0,r.useRef)(null),g=(0,r.useRef)(null),[b,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(void 0),_=(0,r.useCallback)((()=>ke?Promise.resolve():Promise.all([n.e(9714).then(n.bind(n,9714)),Promise.all([n.e(1869),n.e(8973)]).then(n.bind(n,8973)),Promise.all([n.e(1869),n.e(186)]).then(n.bind(n,186))]).then((e=>{let[{DocSearchModal:t}]=e;ke=t}))),[]),S=(0,r.useCallback)((()=>{_().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),v(!0)}))}),[_,v]),k=(0,r.useCallback)((()=>{v(!1),h.current?.remove()}),[v]),E=(0,r.useCallback)((e=>{_().then((()=>{v(!0),w(e.key)}))}),[_,v,w]),x=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(a,t)?window.location.href=t:m.push(t)}}).current,C=(0,r.useRef)((e=>i.transformItems?i.transformItems(e):e.map((e=>({...e,url:c(e.url)}))))).current,P=(0,r.useMemo)((()=>e=>r.createElement(xe,(0,l.A)({},e,{onClose:k}))),[k]),T=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",o.docusaurusVersion),e)),[o.docusaurusVersion]);return(0,ge.E8)({isOpen:b,onOpen:S,onClose:k,onInput:E,searchButtonRef:g}),r.createElement(r.Fragment,null,r.createElement(be.A,null,r.createElement("link",{rel:"preconnect",href:`https://${i.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),r.createElement(ge.Bc,{onTouchStart:_,onFocus:_,onMouseOver:_,onClick:S,ref:g,translations:Se.button}),b&&ke&&h.current&&(0,_e.createPortal)(r.createElement(ke,(0,l.A)({onClose:k,initialScrollY:window.scrollY,initialQuery:y,navigator:x,transformItems:C,hitComponent:Ee,transformSearchClient:T},i.searchPagePath&&{resultsFooterComponent:P},i,{searchParameters:f,placeholder:Se.placeholder,translations:Se.modal})),h.current))}function Pe(){const{siteConfig:e}=(0,se.A)();return r.createElement(Ce,e.themeConfig.algolia)}const Te={searchBox:"searchBox_ZlJk"};function Ae(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.A)(n,Te.searchBox)},t)}var Oe=n(4070),Re=n(4142);var Ie=n(5597);const Ne=e=>e.docs.find((t=>t.id===e.mainDocId));const Le={default:ie,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...i}=e;const{i18n:{currentLocale:o,locales:u,localeConfigs:d}}=(0,se.A)(),p=(0,fe.o)(),{search:f,hash:m}=(0,s.zy)(),h=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===o?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,c.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[o].label;return r.createElement(pe,(0,l.A)({},i,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(me,{className:he}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(Ae,{className:n},r.createElement(Pe,null))},dropdown:pe,html:function(e){let{value:t,className:n,mobile:i=!1,isDropdownItem:o=!1}=e;const l=o?"li":"div";return r.createElement(l,{className:(0,a.A)({navbar__item:!i&&!o,"menu__list-item":i},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...i}=e;const{activeDoc:o}=(0,Oe.zK)(a),s=(0,Re.QB)(t,a);return null===s?null:r.createElement(ie,(0,l.A)({exact:!0},i,{isActive:()=>o?.path===s.path||!!o?.sidebar&&o.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...i}=e;const{activeDoc:o}=(0,Oe.zK)(a),s=(0,Re.fW)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(ie,(0,l.A)({exact:!0},i,{isActive:()=>o?.sidebar===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...i}=e;const o=(0,Re.Vd)(a)[0],s=t??o.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return r.createElement(ie,(0,l.A)({},i,{label:s,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:i,dropdownItemsAfter:o,...u}=e;const{search:d,hash:p}=(0,s.zy)(),f=(0,Oe.zK)(n),m=(0,Oe.jh)(n),{savePreferredVersionName:h}=(0,Ie.g1)(n),g=[...i,...m.map((e=>{const t=f.alternateDocVersions[e.name]??Ne(e);return{label:e.label,to:`${t.path}${d}${p}`,isActive:()=>e===f.activeVersion,onClick:()=>h(e.name)}})),...o],b=(0,Re.Vd)(n)[0],v=t&&g.length>1?(0,c.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:Ne(b).path;return g.length<=1?r.createElement(ie,(0,l.A)({},u,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(pe,(0,l.A)({},u,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function De(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),i=Le[a];if(!i)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(i,n)}function Me(){const e=(0,A.M)(),t=(0,w.p)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(De,(0,l.A)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function je(e){return r.createElement("button",(0,l.A)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(c.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Fe(){const e=0===(0,w.p)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement(je,{onClick:()=>t.hide()}),t.content)}function Be(){const e=(0,A.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(j,{header:r.createElement(Y,null),primaryMenu:r.createElement(Me,null),secondaryMenu:r.createElement(Fe,null)}):null}const ze={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ue(e){return r.createElement("div",(0,l.A)({role:"presentation"},e,{className:(0,a.A)("navbar-sidebar__backdrop",e.className)}))}function qe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:i}}=(0,w.p)(),o=(0,A.M)(),{navbarRef:l,isNavbarVisible:s}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),i=(0,r.useRef)(0),o=(0,r.useCallback)((e=>{null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,O.Mq)(((t,r)=>{let{scrollY:o}=t;if(!e)return;if(o<i.current)return void n(!0);if(a.current)return void(a.current=!1);const l=r?.scrollY,s=document.documentElement.scrollHeight-i.current,c=window.innerHeight;l&&o>=l?n(!1):o+c<s&&n(!0)})),(0,u.$)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:o,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:l,"aria-label":(0,c.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[ze.navbarHideable,!s&&ze.navbarHidden],{"navbar--dark":"dark"===i,"navbar--primary":"primary"===i,"navbar-sidebar--show":o.shown})},t,r.createElement(Ue,{onClick:o.toggle}),r.createElement(Be,null))}var He=n(5678);const $e={errorBoundaryError:"errorBoundaryError_a6uf"};function Ve(e){return r.createElement("button",(0,l.A)({type:"button"},e),r.createElement(c.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function Ge(e){let{error:t}=e;const n=(0,He.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:$e.errorBoundaryError},n)}class We extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Ke="right";function Qe(e){let{width:t=30,height:n=30,className:a,...i}=e;return r.createElement("svg",(0,l.A)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},i),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function Ye(){const{toggle:e,shown:t}=(0,A.M)();return r.createElement("button",{onClick:e,"aria-label":(0,c.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(Qe,null))}const Xe={colorModeToggle:"colorModeToggle_DEke"};function Je(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(We,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(De,e)))))}function Ze(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function et(){const e=(0,A.M)(),t=(0,w.p)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??Ke)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),i=t.find((e=>"search"===e.type));return r.createElement(Ze,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(Ye,null),r.createElement(K,null),r.createElement(Je,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(Je,{items:a}),r.createElement(G,{className:Xe.colorModeToggle}),!i&&r.createElement(Ae,null,r.createElement(Pe,null)))})}function tt(){return r.createElement(qe,null,r.createElement(et,null))}function nt(e){let{item:t}=e;const{to:n,href:a,label:i,prependBaseUrlToHref:o,...s}=t,c=(0,J.A)(n),u=(0,J.A)(a,{forcePrependBaseUrl:!0});return r.createElement(X.A,(0,l.A)({className:"footer__link-item"},a?{href:o?u:a}:{to:c},s),i,a&&!(0,Z.A)(a)&&r.createElement(te.A,null))}function rt(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(nt,{item:t}))}function at(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(rt,{key:t,item:e})))))}function it(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(at,{key:t,column:e}))))}function ot(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function lt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(nt,{item:t})}function st(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(lt,{item:e}),t.length!==n+1&&r.createElement(ot,null))))))}function ct(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(it,{columns:t}):r.createElement(st,{links:t})}var ut=n(9001);const dt="footerLogoLink_BH7S";function pt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,J.h)(),i={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(ut.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:i,width:t.width,height:t.height,style:t.style})}function ft(e){let{logo:t}=e;return t.href?r.createElement(X.A,{href:t.href,className:dt,target:t.target},r.createElement(pt,{logo:t})):r.createElement(pt,{logo:t})}function mt(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ht(e){let{style:t,links:n,logo:i,copyright:o}=e;return r.createElement("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(i||o)&&r.createElement("div",{className:"footer__bottom text--center"},i&&r.createElement("div",{className:"margin-bottom--sm"},i),o)))}function gt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:a,style:i}=e;return r.createElement(ht,{style:i,links:n&&n.length>0&&r.createElement(ct,{links:n}),logo:a&&r.createElement(ft,{logo:a}),copyright:t&&r.createElement(mt,{copyright:t})})}const bt=r.memo(gt),vt=(0,R.fM)([F.a,_.oq,O.Tv,Ie.VQ,o.Jx,function(e){let{children:t}=e;return r.createElement(I.y_,null,r.createElement(A.e,null,r.createElement(L,null,t)))}]);function yt(e){let{children:t}=e;return r.createElement(vt,null,t)}function wt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(c.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(Ve,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(Ge,{error:t})))))}const _t={mainWrapper:"mainWrapper_z2l0"};function St(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:c}=e;return(0,b.J)(),r.createElement(yt,null,r.createElement(o.be,{title:s,description:c}),r.createElement(y,null),r.createElement(T,null),r.createElement(tt,null),r.createElement("div",{id:d,className:(0,a.A)(g.G.wrapper.main,_t.mainWrapper,l)},r.createElement(i.A,{fallback:e=>r.createElement(wt,e)},t)),!n&&r.createElement(bt,null))}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var r=n(8102),a=n(6540),i=n(5489),o=n(6025),l=n(4586),s=n(6342),c=n(9001);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const i={light:(0,o.A)(t.src),dark:(0,o.A)(t.srcDark||t.src)},l=a.createElement(c.A,{className:t.className,sources:i,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.A)(),{navbar:{title:n,logo:c}}=(0,s.p)(),{imageClassName:d,titleClassName:p,...f}=e,m=(0,o.A)(c?.href||"/"),h=n?"":t,g=c?.alt??h;return a.createElement(i.A,(0,r.A)({to:m},f,c?.target&&{target:c.target}),c&&a.createElement(u,{logo:c,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:p},n))}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540),a=n(5260);function i(e){let{locale:t,version:n,tag:i}=e;const o=t;return r.createElement(a.A,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),i&&r.createElement("meta",{name:"docusaurus_tag",content:i}),o&&r.createElement("meta",{name:"docsearch:language",content:o}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),i&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:i}))}},9001:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(8102),a=n(6540),i=n(8017),o=n(2303),l=n(5293);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,o.A)(),{colorMode:n}=(0,l.G)(),{sources:c,className:u,alt:d,...p}=e,f=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,f.map((e=>a.createElement("img",(0,r.A)({key:e,src:c[e],alt:d,className:(0,i.A)(s.themedImage,s[`themedImage--${e}`],u)},p)))))}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>g,u:()=>s});var r=n(8102),a=n(6540),i=n(8193),o=n(3109);const l="ease-in-out";function s(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),i=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:i}}const c={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?c:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const i=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,o.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??l}`,height:`${t}px`}}function s(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!i.current)return d(e,n),void(i.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!i.A.canUseDOM)return e?c:u}function m(e){let{as:t="div",collapsed:n,children:r,animation:i,onCollapseTransitionEnd:o,className:l,disableSSRStyle:s}=e;const c=(0,a.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:i}),a.createElement(t,{ref:c,style:s?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(c.current,n),o?.(n))},className:l},r)}function h(e){let{collapsed:t,...n}=e;const[i,o]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||o(!0)}),[t]),(0,a.useLayoutEffect)((()=>{i&&s(t)}),[i,t]),i?a.createElement(m,(0,r.A)({},n,{collapsed:l})):null}function g(e){let{lazy:t,...n}=e;const r=t?h:m;return a.createElement(r,n)}},5041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>m,oq:()=>f});var r=n(6540),a=n(2303),i=n(9466),o=n(9532),l=n(6342);const s=(0,i.Wf)("docusaurus.announcement.dismiss"),c=(0,i.Wf)("docusaurus.announcement.id"),u=()=>"true"===s.get(),d=e=>s.set(String(e)),p=r.createContext(null);function f(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,a.A)(),[n,i]=(0,r.useState)((()=>!!t&&u()));(0,r.useEffect)((()=>{i(u())}),[]);const o=(0,r.useCallback)((()=>{d(!0),i(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&d(!1),!r&&u()||i(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:o})),[e,n,o])}();return r.createElement(p.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(p);if(!e)throw new o.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>g,a:()=>h});var r=n(6540),a=n(8193),i=n(9532),o=n(9466),l=n(6342);const s=r.createContext(void 0),c="theme",u=(0,o.Wf)(c),d={light:"light",dark:"dark"},p=e=>e===d.dark?d.dark:d.light,f=e=>a.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{u.set(p(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[a,i]=(0,r.useState)(f(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const o=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(i(t),a&&m(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&o(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,o]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:o(null)};return e.addListener(r),()=>e.removeListener(r)}),[o,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:o,get isDarkTheme(){return a===d.dark},setLightTheme(){o(d.light)},setDarkTheme(){o(d.dark)}})),[a,o])}();return r.createElement(s.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>y,g1:()=>v});var r=n(6540),a=n(4070),i=n(7065),o=n(6342),l=n(4142),s=n(9532),c=n(9466);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,c.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.Wf)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function m(){const e=(0,a.Gy)(),t=(0,o.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[i,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[i,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(f.Provider,{value:n},t)}function g(e){let{children:t}=e;return l.C5?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(f);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=i.W);const t=(0,a.ht)(e),[n,o]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{o.savePreferredVersion(e,t)}),[o,e])}}function y(){const e=(0,a.Gy)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},6588:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>s});var r=n(6540),a=n(9532);const i=Symbol("EmptyContext"),o=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(o.Provider,{value:i},t)}function s(){const e=(0,r.useContext)(o);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},2069:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>d});var r=n(6540),a=n(5600),i=n(4581),o=n(7485),l=n(6342),s=n(9532);const c=r.createContext(void 0);function u(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,l.p)().navbar;return 0===t.length&&!e.component}(),t=(0,i.l)(),n=!e&&"mobile"===t,[s,c]=(0,r.useState)(!1);(0,o.$Z)((()=>{if(s)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function d(e){let{children:t}=e;const n=u();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>s,YL:()=>l,y_:()=>o});var r=n(6540),a=n(9532);const i=r.createContext(null);function o(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(i.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},6400:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>i});var r=n(6540);const a="navigation-with-keyboard";function i(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4255:(e,t,n)=>{"use strict";n.d(t,{b:()=>l,w:()=>s});var r=n(6540),a=n(4586),i=n(7485);const o="q";function l(){return(0,i.l)(o)}function s(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.A)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${o}=${encodeURIComponent(t)}`),[e,n])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>c});var r=n(6540),a=n(8193);const i={desktop:"desktop",mobile:"mobile",ssr:"ssr"},o=996;function l(){return a.A.canUseDOM?window.innerWidth>o?i.desktop:i.mobile:i.ssr}const s=!1;function c(){const[e,t]=(0,r.useState)((()=>s?"ssr":l()));return(0,r.useEffect)((()=>{function e(){t(l())}const n=s?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},4142:(e,t,n)=>{"use strict";n.d(t,{C5:()=>d,OF:()=>b,QB:()=>w,Vd:()=>v,_o:()=>p,fW:()=>y,mz:()=>_,w8:()=>h});var r=n(6540),a=n(9519),i=n(3971),o=n(4070),l=n(5597),s=n(6588),c=n(1682),u=n(9169);const d=!!o.Gy;function p(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=p(t);if(e)return e}}}const f=(e,t)=>void 0!==e&&(0,u.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?f(e.href,t):"category"===e.type&&(f(e.href,t)||m(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const i of t)if("category"===i.type&&((0,u.ys)(i.href,n)||e(i.items))||"link"===i.type&&(0,u.ys)(i.href,n)){return r&&"category"!==i.type||a.unshift(i),!0}return!1}(t),a}function b(){const e=(0,s.t)(),{pathname:t}=(0,a.zy)(),n=(0,o.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,o.zK)(e),{preferredVersion:n}=(0,l.g1)(e),a=(0,o.r7)(e);return(0,r.useMemo)((()=>(0,c.s)([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.s)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t,versionMetadata:n}=e;const r=(0,a.zy)(),o=t.routes,l=o.find((e=>(0,a.B6)(r.pathname,e)));if(!l)return null;const s=l.sidebar,c=s?n.docsSidebars[s]:void 0;return{docElement:(0,i.v)(o),sidebarName:s,sidebarItems:c}}},481:(e,t,n)=>{"use strict";n.d(t,{s:()=>a});var r=n(4586);function a(e){const{siteConfig:t}=(0,r.A)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},7485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>l,aZ:()=>s,l:()=>c});var r=n(6540),a=n(9519),i=n(3676),o=n(9532);function l(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){return function(e){const t=(0,a.W6)();return(0,i.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function c(e){const t=s(e)??"",n=function(){const e=(0,a.W6)();return(0,r.useCallback)(((t,n,r)=>{const a=new URLSearchParams(e.location.search);n?a.set(t,n):a.delete(t),(r?.push?e.push:e.replace)({search:a.toString()})}),[e])}();return[t,(0,r.useCallback)(((t,r)=>{n(e,t,r)}),[n,e])]}},1682:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{X:()=>r,s:()=>a})},9024:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>u,Jx:()=>f});var r=n(6540),a=n(8017),i=n(5260),o=n(3102);function l(){const e=r.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(6025),c=n(481);function u(e){let{title:t,description:n,keywords:a,image:o,children:l}=e;const u=(0,c.s)(t),{withBaseUrl:d}=(0,s.h)(),p=o?d(o,{absolute:!0}):void 0;return r.createElement(i.A,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),p&&r.createElement("meta",{property:"og:image",content:p}),p&&r.createElement("meta",{name:"twitter:image",content:p}),l)}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const o=r.useContext(d),l=(0,a.A)(o,t);return r.createElement(d.Provider,{value:l},r.createElement(i.A,null,r.createElement("html",{className:l})),n)}function f(e){let{children:t}=e;const n=l(),i=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return r.createElement(p,{className:(0,a.A)(i,o)},t)}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>s,ZC:()=>o,_q:()=>i,dV:()=>l,fM:()=>c});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect;function i(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function o(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},1252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>o});var r=n(6540),a=n(5947),i=n(4586);function o(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,i.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>d,Tv:()=>s,a_:()=>p,gk:()=>f});var r=n(6540),a=n(8193),i=n(2303),o=n(9532);const l=r.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(l.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(l);if(null==e)throw new o.dV("ScrollControllerProvider");return e}const u=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(u()),i=(0,o._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();i(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[i,n,...t])}function p(){const e=c(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,r.useLayoutEffect)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:a}}function f(){const e=(0,r.useRef)(null),t=(0,i.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>o,af:()=>s,tU:()=>l});var r=n(4070),a=n(4586),i=n(5597);const o="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,a.A)(),t=(0,r.Gy)(),n=(0,r.gk)(),s=(0,i.XK)();const c=[o,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=s[e],i=t[e].versions.find((e=>e.isLast));return l(e,(r??a??i).name)}))];return{locale:e.currentLocale,tags:c}}},9466:(e,t,n)=>{"use strict";n.d(t,{Dv:()=>d,Wf:()=>u});var r=n(6540),a=n(3676);const i="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const i=document.createEvent("StorageEvent");i.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(i)}function l(e){if(void 0===e&&(e=i),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=l(t?.persistence);return null===n?c:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:u(e,t))).current(),i=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,a.useSyncExternalStore)(i,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>o});var r=n(4586),a=n(9519),i=n(5678);function o(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:o,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,a.zy)(),c=(0,i.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),u=l===o?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===o?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>o});var r=n(6540),a=n(9519),i=n(9532);function o(e){const t=(0,a.zy)(),n=(0,i.ZC)(t),o=(0,i._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&o({location:t,previousLocation:n})}),[o,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},8126:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(4586);function a(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},1062:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(6540),a=n(1252),i=n(6025),o=n(8126);function l(){const{withBaseUrl:e}=(0,i.h)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,o.c)();return(0,r.useCallback)((r=>{const i=new URL(r);if((0,a.G)(t,i.href))return r;const o=`${i.pathname+i.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(o,n))}),[e,t,n])}},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(1664),i=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(o(227));var l=new Set,s={};function c(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(s[e]=t,e=0;e<t.length;e++)l.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f=Object.prototype.hasOwnProperty,m={},h={};function g(e,t,n,r,a,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){b[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];b[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){b[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){b[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){b[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){b[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){b[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){b[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){b[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var v=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function w(e,t,n,r){var a=b.hasOwnProperty(t)?b[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!f.call(h,e)||!f.call(m,e)&&(p.test(e)?h[e]=!0:(m[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){b[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),b.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){b[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var _=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=60103,k=60106,E=60107,x=60108,C=60114,P=60109,T=60110,A=60112,O=60113,R=60120,I=60115,N=60116,L=60121,D=60128,M=60129,j=60130,F=60131;if("function"==typeof Symbol&&Symbol.for){var B=Symbol.for;S=B("react.element"),k=B("react.portal"),E=B("react.fragment"),x=B("react.strict_mode"),C=B("react.profiler"),P=B("react.provider"),T=B("react.context"),A=B("react.forward_ref"),O=B("react.suspense"),R=B("react.suspense_list"),I=B("react.memo"),N=B("react.lazy"),L=B("react.block"),B("react.scope"),D=B("react.opaque.id"),M=B("react.debug_trace_mode"),j=B("react.offscreen"),F=B("react.legacy_hidden")}var z,U="function"==typeof Symbol&&Symbol.iterator;function q(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=U&&e[U]||e["@@iterator"])?e:null}function H(e){if(void 0===z)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);z=t&&t[1]||""}return"\n"+z+e}var $=!1;function V(e,t){if(!e||$)return"";$=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(s){var r=s}Reflect.construct(e,[],t)}else{try{t.call()}catch(s){r=s}e.call(t.prototype)}else{try{throw Error()}catch(s){r=s}e()}}catch(s){if(s&&r&&"string"==typeof s.stack){for(var a=s.stack.split("\n"),i=r.stack.split("\n"),o=a.length-1,l=i.length-1;1<=o&&0<=l&&a[o]!==i[l];)l--;for(;1<=o&&0<=l;o--,l--)if(a[o]!==i[l]){if(1!==o||1!==l)do{if(o--,0>--l||a[o]!==i[l])return"\n"+a[o].replace(" at new "," at ")}while(1<=o&&0<=l);break}}}finally{$=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function G(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1);case 11:return e=V(e.type.render,!1);case 22:return e=V(e.type._render,!1);case 1:return e=V(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case E:return"Fragment";case k:return"Portal";case C:return"Profiler";case x:return"StrictMode";case O:return"Suspense";case R:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case P:return(e._context.displayName||"Context")+".Provider";case A:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case I:return W(e.type);case L:return W(e._render);case N:t=e._payload,e=e._init;try{return W(e(t))}catch(n){}}return null}function K(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=Q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function X(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Q(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function J(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Z(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=K(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=K(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,K(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ae(e,t,n){"number"===t&&J(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ie(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function oe(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+K(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function le(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function se(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:K(n)}}function ce(e,t){var n=K(t.value),r=K(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ue(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de="http://www.w3.org/1999/xhtml",pe="http://www.w3.org/2000/svg";function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var he,ge,be=(ge=function(e,t){if(e.namespaceURI!==pe||"innerHTML"in e)e.innerHTML=t;else{for((he=he||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=he.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ge(e,t)}))}:ge);function ve(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ye={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},we=["Webkit","ms","Moz","O"];function _e(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ye.hasOwnProperty(e)&&ye[e]?(""+t).trim():t+"px"}function Se(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=_e(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(ye).forEach((function(e){we.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ye[t]=ye[e]}))}));var ke=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ee(e,t){if(t){if(ke[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ce(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Pe=null,Te=null,Ae=null;function Oe(e){if(e=ra(e)){if("function"!=typeof Pe)throw Error(o(280));var t=e.stateNode;t&&(t=ia(t),Pe(e.stateNode,e.type,t))}}function Re(e){Te?Ae?Ae.push(e):Ae=[e]:Te=e}function Ie(){if(Te){var e=Te,t=Ae;if(Ae=Te=null,Oe(e),t)for(e=0;e<t.length;e++)Oe(t[e])}}function Ne(e,t){return e(t)}function Le(e,t,n,r,a){return e(t,n,r,a)}function De(){}var Me=Ne,je=!1,Fe=!1;function Be(){null===Te&&null===Ae||(De(),Ie())}function ze(e,t){var n=e.stateNode;if(null===n)return null;var r=ia(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Ue=!1;if(d)try{var qe={};Object.defineProperty(qe,"passive",{get:function(){Ue=!0}}),window.addEventListener("test",qe,qe),window.removeEventListener("test",qe,qe)}catch(ge){Ue=!1}function He(e,t,n,r,a,i,o,l,s){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var $e=!1,Ve=null,Ge=!1,We=null,Ke={onError:function(e){$e=!0,Ve=e}};function Qe(e,t,n,r,a,i,o,l,s){$e=!1,Ve=null,He.apply(Ke,arguments)}function Ye(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Xe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Je(e){if(Ye(e)!==e)throw Error(o(188))}function Ze(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ye(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return Je(a),e;if(i===r)return Je(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=i;break}if(s===r){l=!0,r=a,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,r=a;break}if(s===r){l=!0,r=i,n=a;break}s=s.sibling}if(!l)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,rt,at,it=!1,ot=[],lt=null,st=null,ct=null,ut=new Map,dt=new Map,pt=[],ft="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function mt(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function ht(e,t){switch(e){case"focusin":case"focusout":lt=null;break;case"dragenter":case"dragleave":st=null;break;case"mouseover":case"mouseout":ct=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":dt.delete(t.pointerId)}}function gt(e,t,n,r,a,i){return null===e||e.nativeEvent!==i?(e=mt(t,n,r,a,i),null!==t&&(null!==(t=ra(t))&&nt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function bt(e){var t=na(e.target);if(null!==t){var n=Ye(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Xe(n)))return e.blockedOn=t,void at(e.lanePriority,(function(){i.unstable_runWithPriority(e.priority,(function(){rt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function vt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ra(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function yt(e,t,n){vt(e)&&n.delete(t)}function wt(){for(it=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=ra(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==lt&&vt(lt)&&(lt=null),null!==st&&vt(st)&&(st=null),null!==ct&&vt(ct)&&(ct=null),ut.forEach(yt),dt.forEach(yt)}function _t(e,t){e.blockedOn===t&&(e.blockedOn=null,it||(it=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,wt)))}function St(e){function t(t){return _t(t,e)}if(0<ot.length){_t(ot[0],e);for(var n=1;n<ot.length;n++){var r=ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==lt&&_t(lt,e),null!==st&&_t(st,e),null!==ct&&_t(ct,e),ut.forEach(t),dt.forEach(t),n=0;n<pt.length;n++)(r=pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<pt.length&&null===(n=pt[0]).blockedOn;)bt(n),null===n.blockedOn&&pt.shift()}function kt(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Et={animationend:kt("Animation","AnimationEnd"),animationiteration:kt("Animation","AnimationIteration"),animationstart:kt("Animation","AnimationStart"),transitionend:kt("Transition","TransitionEnd")},xt={},Ct={};function Pt(e){if(xt[e])return xt[e];if(!Et[e])return e;var t,n=Et[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ct)return xt[e]=n[t];return e}d&&(Ct=document.createElement("div").style,"AnimationEvent"in window||(delete Et.animationend.animation,delete Et.animationiteration.animation,delete Et.animationstart.animation),"TransitionEvent"in window||delete Et.transitionend.transition);var Tt=Pt("animationend"),At=Pt("animationiteration"),Ot=Pt("animationstart"),Rt=Pt("transitionend"),It=new Map,Nt=new Map,Lt=["abort","abort",Tt,"animationEnd",At,"animationIteration",Ot,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Rt,"transitionEnd","waiting","waiting"];function Dt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Nt.set(r,t),It.set(r,a),c(a,[r])}}(0,i.unstable_now)();var Mt=8;function jt(e){if(1&e)return Mt=15,1;if(2&e)return Mt=14,2;if(4&e)return Mt=13,4;var t=24&e;return 0!==t?(Mt=12,t):32&e?(Mt=11,32):0!==(t=192&e)?(Mt=10,t):256&e?(Mt=9,256):0!==(t=3584&e)?(Mt=8,t):4096&e?(Mt=7,4096):0!==(t=4186112&e)?(Mt=6,t):0!==(t=62914560&e)?(Mt=5,t):67108864&e?(Mt=4,67108864):134217728&e?(Mt=3,134217728):0!==(t=805306368&e)?(Mt=2,t):1073741824&e?(Mt=1,1073741824):(Mt=8,e)}function Ft(e,t){var n=e.pendingLanes;if(0===n)return Mt=0;var r=0,a=0,i=e.expiredLanes,o=e.suspendedLanes,l=e.pingedLanes;if(0!==i)r=i,a=Mt=15;else if(0!==(i=134217727&n)){var s=i&~o;0!==s?(r=jt(s),a=Mt):0!==(l&=i)&&(r=jt(l),a=Mt)}else 0!==(i=n&~o)?(r=jt(i),a=Mt):0!==l&&(r=jt(l),a=Mt);if(0===r)return 0;if(r=n&((0>(r=31-$t(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&!(t&o)){if(jt(t),a<=Mt)return t;Mt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-$t(t)),r|=e[n],t&=~a;return r}function Bt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function zt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Ut(24&~t))?zt(10,t):e;case 10:return 0===(e=Ut(192&~t))?zt(8,t):e;case 8:return 0===(e=Ut(3584&~t))&&(0===(e=Ut(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Ut(805306368&~t))&&(t=268435456),t}throw Error(o(358,e))}function Ut(e){return e&-e}function qt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ht(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-$t(t)]=n}var $t=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Vt(e)/Gt|0)|0},Vt=Math.log,Gt=Math.LN2;var Wt=i.unstable_UserBlockingPriority,Kt=i.unstable_runWithPriority,Qt=!0;function Yt(e,t,n,r){je||De();var a=Jt,i=je;je=!0;try{Le(a,e,t,n,r)}finally{(je=i)||Be()}}function Xt(e,t,n,r){Kt(Wt,Jt.bind(null,e,t,n,r))}function Jt(e,t,n,r){var a;if(Qt)if((a=!(4&t))&&0<ot.length&&-1<ft.indexOf(e))e=mt(null,e,t,n,r),ot.push(e);else{var i=Zt(e,t,n,r);if(null===i)a&&ht(e,r);else{if(a){if(-1<ft.indexOf(e))return e=mt(i,e,t,n,r),void ot.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return lt=gt(lt,e,t,n,r,a),!0;case"dragenter":return st=gt(st,e,t,n,r,a),!0;case"mouseover":return ct=gt(ct,e,t,n,r,a),!0;case"pointerover":var i=a.pointerId;return ut.set(i,gt(ut.get(i)||null,e,t,n,r,a)),!0;case"gotpointercapture":return i=a.pointerId,dt.set(i,gt(dt.get(i)||null,e,t,n,r,a)),!0}return!1}(i,e,t,n,r))return;ht(e,r)}Dr(e,t,r,null,n)}}}function Zt(e,t,n,r){var a=Ce(r);if(null!==(a=na(a))){var i=Ye(a);if(null===i)a=null;else{var o=i.tag;if(13===o){if(null!==(a=Xe(i)))return a;a=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;a=null}else i!==a&&(a=null)}}return Dr(e,t,r,a,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,r=n.length,a="value"in en?en.value:en.textContent,i=a.length;for(e=0;e<r&&n[e]===a[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===a[i-t];t++);return nn=a.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function on(){return!0}function ln(){return!1}function sn(e){function t(t,n,r,a,i){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?on:ln,this.isPropagationStopped=ln,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=on)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=on)},persist:function(){},isPersistent:on}),t}var cn,un,dn,pn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=sn(pn),mn=a({},pn,{view:0,detail:0}),hn=sn(mn),gn=a({},mn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==dn&&(dn&&"mousemove"===e.type?(cn=e.screenX-dn.screenX,un=e.screenY-dn.screenY):un=cn=0,dn=e),cn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),bn=sn(gn),vn=sn(a({},gn,{dataTransfer:0})),yn=sn(a({},mn,{relatedTarget:0})),wn=sn(a({},pn,{animationName:0,elapsedTime:0,pseudoElement:0})),_n=a({},pn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Sn=sn(_n),kn=sn(a({},pn,{data:0})),En={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Cn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Pn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Cn[e])&&!!t[e]}function Tn(){return Pn}var An=a({},mn,{key:function(e){if(e.key){var t=En[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Tn,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),On=sn(An),Rn=sn(a({},gn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=sn(a({},mn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tn})),Nn=sn(a({},pn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Ln=a({},gn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Dn=sn(Ln),Mn=[9,13,27,32],jn=d&&"CompositionEvent"in window,Fn=null;d&&"documentMode"in document&&(Fn=document.documentMode);var Bn=d&&"TextEvent"in window&&!Fn,zn=d&&(!jn||Fn&&8<Fn&&11>=Fn),Un=String.fromCharCode(32),qn=!1;function Hn(e,t){switch(e){case"keyup":return-1!==Mn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Vn=!1;var Gn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Gn[e.type]:"textarea"===t}function Kn(e,t,n,r){Re(r),0<(t=jr(t,"onChange")).length&&(n=new fn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Qn=null,Yn=null;function Xn(e){Ar(e,0)}function Jn(e){if(X(aa(e)))return e}function Zn(e,t){if("change"===e)return t}var er=!1;if(d){var tr;if(d){var nr="oninput"in document;if(!nr){var rr=document.createElement("div");rr.setAttribute("oninput","return;"),nr="function"==typeof rr.oninput}tr=nr}else tr=!1;er=tr&&(!document.documentMode||9<document.documentMode)}function ar(){Qn&&(Qn.detachEvent("onpropertychange",ir),Yn=Qn=null)}function ir(e){if("value"===e.propertyName&&Jn(Yn)){var t=[];if(Kn(t,Yn,e,Ce(e)),e=Xn,je)e(t);else{je=!0;try{Ne(e,t)}finally{je=!1,Be()}}}}function or(e,t,n){"focusin"===e?(ar(),Yn=n,(Qn=t).attachEvent("onpropertychange",ir)):"focusout"===e&&ar()}function lr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Jn(Yn)}function sr(e,t){if("click"===e)return Jn(t)}function cr(e,t){if("input"===e||"change"===e)return Jn(t)}var ur="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},dr=Object.prototype.hasOwnProperty;function pr(e,t){if(ur(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!dr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function fr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function mr(e,t){var n,r=fr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fr(r)}}function hr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?hr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function gr(){for(var e=window,t=J();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=J((e=t.contentWindow).document)}return t}function br(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var vr=d&&"documentMode"in document&&11>=document.documentMode,yr=null,wr=null,_r=null,Sr=!1;function kr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;Sr||null==yr||yr!==J(r)||("selectionStart"in(r=yr)&&br(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},_r&&pr(_r,r)||(_r=r,0<(r=jr(wr,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=yr)))}Dt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Dt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Dt(Lt,2);for(var Er="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),xr=0;xr<Er.length;xr++)Nt.set(Er[xr],0);u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Pr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Cr));function Tr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,l,s,c){if(Qe.apply(this,arguments),$e){if(!$e)throw Error(o(198));var u=Ve;$e=!1,Ve=null,Ge||(Ge=!0,We=u)}}(r,t,void 0,e),e.currentTarget=null}function Ar(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==i&&a.isPropagationStopped())break e;Tr(a,l,c),i=s}else for(o=0;o<r.length;o++){if(s=(l=r[o]).instance,c=l.currentTarget,l=l.listener,s!==i&&a.isPropagationStopped())break e;Tr(a,l,c),i=s}}}if(Ge)throw e=We,Ge=!1,We=null,e}function Or(e,t){var n=oa(t),r=e+"__bubble";n.has(r)||(Lr(t,e,2,!1),n.add(r))}var Rr="_reactListening"+Math.random().toString(36).slice(2);function Ir(e){e[Rr]||(e[Rr]=!0,l.forEach((function(t){Pr.has(t)||Nr(t,!1,e,null),Nr(t,!0,e,null)})))}function Nr(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,i=n;if("selectionchange"===e&&9!==n.nodeType&&(i=n.ownerDocument),null!==r&&!t&&Pr.has(e)){if("scroll"!==e)return;a|=2,i=r}var o=oa(i),l=e+"__"+(t?"capture":"bubble");o.has(l)||(t&&(a|=4),Lr(i,e,a,t),o.add(l))}function Lr(e,t,n,r){var a=Nt.get(t);switch(void 0===a?2:a){case 0:a=Yt;break;case 1:a=Xt;break;default:a=Jt}n=a.bind(null,t,n,e),a=void 0,!Ue||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Dr(e,t,n,r,a){var i=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var l=r.stateNode.containerInfo;if(l===a||8===l.nodeType&&l.parentNode===a)break;if(4===o)for(o=r.return;null!==o;){var s=o.tag;if((3===s||4===s)&&((s=o.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;o=o.return}for(;null!==l;){if(null===(o=na(l)))return;if(5===(s=o.tag)||6===s){r=i=o;continue e}l=l.parentNode}}r=r.return}!function(e,t,n){if(Fe)return e(t,n);Fe=!0;try{return Me(e,t,n)}finally{Fe=!1,Be()}}((function(){var r=i,a=Ce(n),o=[];e:{var l=It.get(e);if(void 0!==l){var s=fn,c=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":s=On;break;case"focusin":c="focus",s=yn;break;case"focusout":c="blur",s=yn;break;case"beforeblur":case"afterblur":s=yn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=bn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=vn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=In;break;case Tt:case At:case Ot:s=wn;break;case Rt:s=Nn;break;case"scroll":s=hn;break;case"wheel":s=Dn;break;case"copy":case"cut":case"paste":s=Sn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Rn}var u=!!(4&t),d=!u&&"scroll"===e,p=u?null!==l?l+"Capture":null:l;u=[];for(var f,m=r;null!==m;){var h=(f=m).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==p&&(null!=(h=ze(m,p))&&u.push(Mr(m,h,f)))),d)break;m=m.return}0<u.length&&(l=new s(l,c,null,n,a),o.push({event:l,listeners:u}))}}if(!(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||16&t||!(c=n.relatedTarget||n.fromElement)||!na(c)&&!c[ea])&&(s||l)&&(l=a.window===a?a:(l=a.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(c=(c=n.relatedTarget||n.toElement)?na(c):null)&&(c!==(d=Ye(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(s=null,c=r),s!==c)){if(u=bn,h="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=Rn,h="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==s?l:aa(s),f=null==c?l:aa(c),(l=new u(h,m+"leave",s,n,a)).target=d,l.relatedTarget=f,h=null,na(a)===r&&((u=new u(p,m+"enter",c,n,a)).target=f,u.relatedTarget=d,h=u),d=h,s&&c)e:{for(p=c,m=0,f=u=s;f;f=Fr(f))m++;for(f=0,h=p;h;h=Fr(h))f++;for(;0<m-f;)u=Fr(u),m--;for(;0<f-m;)p=Fr(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Fr(u),p=Fr(p)}u=null}else u=null;null!==s&&Br(o,l,s,u,!1),null!==c&&null!==d&&Br(o,d,c,u,!0)}if("select"===(s=(l=r?aa(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var g=Zn;else if(Wn(l))if(er)g=cr;else{g=lr;var b=or}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(g=sr);switch(g&&(g=g(e,r))?Kn(o,g,n,a):(b&&b(e,l,r),"focusout"===e&&(b=l._wrapperState)&&b.controlled&&"number"===l.type&&ae(l,"number",l.value)),b=r?aa(r):window,e){case"focusin":(Wn(b)||"true"===b.contentEditable)&&(yr=b,wr=r,_r=null);break;case"focusout":_r=wr=yr=null;break;case"mousedown":Sr=!0;break;case"contextmenu":case"mouseup":case"dragend":Sr=!1,kr(o,n,a);break;case"selectionchange":if(vr)break;case"keydown":case"keyup":kr(o,n,a)}var v;if(jn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Vn?Hn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(zn&&"ko"!==n.locale&&(Vn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Vn&&(v=rn()):(tn="value"in(en=a)?en.value:en.textContent,Vn=!0)),0<(b=jr(r,y)).length&&(y=new kn(y,e,null,n,a),o.push({event:y,listeners:b}),v?y.data=v:null!==(v=$n(n))&&(y.data=v))),(v=Bn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(qn=!0,Un);case"textInput":return(e=t.data)===Un&&qn?null:e;default:return null}}(e,n):function(e,t){if(Vn)return"compositionend"===e||!jn&&Hn(e,t)?(e=rn(),nn=tn=en=null,Vn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return zn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=jr(r,"onBeforeInput")).length&&(a=new kn("onBeforeInput","beforeinput",null,n,a),o.push({event:a,listeners:r}),a.data=v))}Ar(o,t)}))}function Mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function jr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,i=a.stateNode;5===a.tag&&null!==i&&(a=i,null!=(i=ze(e,n))&&r.unshift(Mr(e,i,a)),null!=(i=ze(e,t))&&r.push(Mr(e,i,a))),e=e.return}return r}function Fr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Br(e,t,n,r,a){for(var i=t._reactName,o=[];null!==n&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==c&&(l=c,a?null!=(s=ze(n,i))&&o.unshift(Mr(n,s,l)):a||null!=(s=ze(n,i))&&o.push(Mr(n,s,l))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}function zr(){}var Ur=null,qr=null;function Hr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function $r(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Vr="function"==typeof setTimeout?setTimeout:void 0,Gr="function"==typeof clearTimeout?clearTimeout:void 0;function Wr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Kr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Qr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Yr=0;var Xr=Math.random().toString(36).slice(2),Jr="__reactFiber$"+Xr,Zr="__reactProps$"+Xr,ea="__reactContainer$"+Xr,ta="__reactEvents$"+Xr;function na(e){var t=e[Jr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ea]||n[Jr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Qr(e);null!==e;){if(n=e[Jr])return n;e=Qr(e)}return t}n=(e=n).parentNode}return null}function ra(e){return!(e=e[Jr]||e[ea])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function aa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ia(e){return e[Zr]||null}function oa(e){var t=e[ta];return void 0===t&&(t=e[ta]=new Set),t}var la=[],sa=-1;function ca(e){return{current:e}}function ua(e){0>sa||(e.current=la[sa],la[sa]=null,sa--)}function da(e,t){sa++,la[sa]=e.current,e.current=t}var pa={},fa=ca(pa),ma=ca(!1),ha=pa;function ga(e,t){var n=e.type.contextTypes;if(!n)return pa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,i={};for(a in n)i[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function ba(e){return null!=(e=e.childContextTypes)}function va(){ua(ma),ua(fa)}function ya(e,t,n){if(fa.current!==pa)throw Error(o(168));da(fa,t),da(ma,n)}function wa(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in e))throw Error(o(108,W(t)||"Unknown",i));return a({},n,r)}function _a(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pa,ha=fa.current,da(fa,e),da(ma,ma.current),!0}function Sa(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=wa(e,t,ha),r.__reactInternalMemoizedMergedChildContext=e,ua(ma),ua(fa),da(fa,e)):ua(ma),da(ma,n)}var ka=null,Ea=null,xa=i.unstable_runWithPriority,Ca=i.unstable_scheduleCallback,Pa=i.unstable_cancelCallback,Ta=i.unstable_shouldYield,Aa=i.unstable_requestPaint,Oa=i.unstable_now,Ra=i.unstable_getCurrentPriorityLevel,Ia=i.unstable_ImmediatePriority,Na=i.unstable_UserBlockingPriority,La=i.unstable_NormalPriority,Da=i.unstable_LowPriority,Ma=i.unstable_IdlePriority,ja={},Fa=void 0!==Aa?Aa:function(){},Ba=null,za=null,Ua=!1,qa=Oa(),Ha=1e4>qa?Oa:function(){return Oa()-qa};function $a(){switch(Ra()){case Ia:return 99;case Na:return 98;case La:return 97;case Da:return 96;case Ma:return 95;default:throw Error(o(332))}}function Va(e){switch(e){case 99:return Ia;case 98:return Na;case 97:return La;case 96:return Da;case 95:return Ma;default:throw Error(o(332))}}function Ga(e,t){return e=Va(e),xa(e,t)}function Wa(e,t,n){return e=Va(e),Ca(e,t,n)}function Ka(){if(null!==za){var e=za;za=null,Pa(e)}Qa()}function Qa(){if(!Ua&&null!==Ba){Ua=!0;var e=0;try{var t=Ba;Ga(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ba=null}catch(n){throw null!==Ba&&(Ba=Ba.slice(e+1)),Ca(Ia,Ka),n}finally{Ua=!1}}}var Ya=_.ReactCurrentBatchConfig;function Xa(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Ja=ca(null),Za=null,ei=null,ti=null;function ni(){ti=ei=Za=null}function ri(e){var t=Ja.current;ua(Ja),e.type._context._currentValue=t}function ai(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function ii(e,t){Za=e,ti=ei=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(jo=!0),e.firstContext=null)}function oi(e,t){if(ti!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(ti=e,t=1073741823),t={context:e,observedBits:t,next:null},null===ei){if(null===Za)throw Error(o(308));ei=t,Za.dependencies={lanes:0,firstContext:t,responders:null}}else ei=ei.next=t;return e._currentValue}var li=!1;function si(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function ci(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ui(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function di(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function pi(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?a=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?a=i=t:i=i.next=t}else a=i=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function fi(e,t,n,r){var i=e.updateQueue;li=!1;var o=i.firstBaseUpdate,l=i.lastBaseUpdate,s=i.shared.pending;if(null!==s){i.shared.pending=null;var c=s,u=c.next;c.next=null,null===l?o=u:l.next=u,l=c;var d=e.alternate;if(null!==d){var p=(d=d.updateQueue).lastBaseUpdate;p!==l&&(null===p?d.firstBaseUpdate=u:p.next=u,d.lastBaseUpdate=c)}}if(null!==o){for(p=i.baseState,l=0,d=u=c=null;;){s=o.lane;var f=o.eventTime;if((r&s)===s){null!==d&&(d=d.next={eventTime:f,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var m=e,h=o;switch(s=t,f=n,h.tag){case 1:if("function"==typeof(m=h.payload)){p=m.call(f,p,s);break e}p=m;break e;case 3:m.flags=-4097&m.flags|64;case 0:if(null==(s="function"==typeof(m=h.payload)?m.call(f,p,s):m))break e;p=a({},p,s);break e;case 2:li=!0}}null!==o.callback&&(e.flags|=32,null===(s=i.effects)?i.effects=[o]:s.push(o))}else f={eventTime:f,lane:s,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===d?(u=d=f,c=p):d=d.next=f,l|=s;if(null===(o=o.next)){if(null===(s=i.shared.pending))break;o=s.next,s.next=null,i.lastBaseUpdate=s,i.shared.pending=null}}null===d&&(c=p),i.baseState=c,i.firstBaseUpdate=u,i.lastBaseUpdate=d,ql|=l,e.lanes=l,e.memoizedState=p}}function mi(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var hi=(new r.Component).refs;function gi(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var bi={isMounted:function(e){return!!(e=e._reactInternals)&&Ye(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fs(),a=ms(e),i=ui(r,a);i.payload=t,null!=n&&(i.callback=n),di(e,i),hs(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fs(),a=ms(e),i=ui(r,a);i.tag=1,i.payload=t,null!=n&&(i.callback=n),di(e,i),hs(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fs(),r=ms(e),a=ui(n,r);a.tag=2,null!=t&&(a.callback=t),di(e,a),hs(e,r,n)}};function vi(e,t,n,r,a,i,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!pr(n,r)||!pr(a,i))}function yi(e,t,n){var r=!1,a=pa,i=t.contextType;return"object"==typeof i&&null!==i?i=oi(i):(a=ba(t)?ha:fa.current,i=(r=null!=(r=t.contextTypes))?ga(e,a):pa),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=bi,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function wi(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&bi.enqueueReplaceState(t,t.state,null)}function _i(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=hi,si(e);var i=t.contextType;"object"==typeof i&&null!==i?a.context=oi(i):(i=ba(t)?ha:fa.current,a.context=ga(e,i)),fi(e,n,a,r),a.state=e.memoizedState,"function"==typeof(i=t.getDerivedStateFromProps)&&(gi(e,t,i,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&bi.enqueueReplaceState(a,a.state,null),fi(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4)}var Si=Array.isArray;function ki(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=r.refs;t===hi&&(t=r.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Ei(e,t){if("textarea"!==e.type)throw Error(o(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function xi(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Ws(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function l(t){return e&&null===t.alternate&&(t.flags=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Xs(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=ki(e,t,n),r.return=e,r):((r=Ks(n.type,n.key,n.props,null,e.mode,r)).ref=ki(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Js(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,i){return null===t||7!==t.tag?((t=Qs(n,e.mode,r,i)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Xs(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case S:return(n=Ks(t.type,t.key,t.props,null,e.mode,n)).ref=ki(e,null,t),n.return=e,n;case k:return(t=Js(t,e.mode,n)).return=e,t}if(Si(t)||q(t))return(t=Qs(t,e.mode,n,null)).return=e,t;Ei(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case S:return n.key===a?n.type===E?d(e,t,n.props.children,r,a):c(e,t,n,r):null;case k:return n.key===a?u(e,t,n,r):null}if(Si(n)||q(n))return null!==a?null:d(e,t,n,r,null);Ei(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case S:return e=e.get(null===r.key?n:r.key)||null,r.type===E?d(t,e,r.props.children,a,r.key):c(t,e,r,a);case k:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(Si(r)||q(r))return d(t,e=e.get(n)||null,r,a,null);Ei(t,r)}return null}function h(a,o,l,s){for(var c=null,u=null,d=o,h=o=0,g=null;null!==d&&h<l.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var b=f(a,d,l[h],s);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(a,d),o=i(b,o,h),null===u?c=b:u.sibling=b,u=b,d=g}if(h===l.length)return n(a,d),c;if(null===d){for(;h<l.length;h++)null!==(d=p(a,l[h],s))&&(o=i(d,o,h),null===u?c=d:u.sibling=d,u=d);return c}for(d=r(a,d);h<l.length;h++)null!==(g=m(d,a,h,l[h],s))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),o=i(g,o,h),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(a,e)})),c}function g(a,l,s,c){var u=q(s);if("function"!=typeof u)throw Error(o(150));if(null==(s=u.call(s)))throw Error(o(151));for(var d=u=null,h=l,g=l=0,b=null,v=s.next();null!==h&&!v.done;g++,v=s.next()){h.index>g?(b=h,h=null):b=h.sibling;var y=f(a,h,v.value,c);if(null===y){null===h&&(h=b);break}e&&h&&null===y.alternate&&t(a,h),l=i(y,l,g),null===d?u=y:d.sibling=y,d=y,h=b}if(v.done)return n(a,h),u;if(null===h){for(;!v.done;g++,v=s.next())null!==(v=p(a,v.value,c))&&(l=i(v,l,g),null===d?u=v:d.sibling=v,d=v);return u}for(h=r(a,h);!v.done;g++,v=s.next())null!==(v=m(h,a,g,v.value,c))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),l=i(v,l,g),null===d?u=v:d.sibling=v,d=v);return e&&h.forEach((function(e){return t(a,e)})),u}return function(e,r,i,s){var c="object"==typeof i&&null!==i&&i.type===E&&null===i.key;c&&(i=i.props.children);var u="object"==typeof i&&null!==i;if(u)switch(i.$$typeof){case S:e:{for(u=i.key,c=r;null!==c;){if(c.key===u){if(7===c.tag){if(i.type===E){n(e,c.sibling),(r=a(c,i.props.children)).return=e,e=r;break e}}else if(c.elementType===i.type){n(e,c.sibling),(r=a(c,i.props)).ref=ki(e,c,i),r.return=e,e=r;break e}n(e,c);break}t(e,c),c=c.sibling}i.type===E?((r=Qs(i.props.children,e.mode,s,i.key)).return=e,e=r):((s=Ks(i.type,i.key,i.props,null,e.mode,s)).ref=ki(e,r,i),s.return=e,e=s)}return l(e);case k:e:{for(c=i.key;null!==r;){if(r.key===c){if(4===r.tag&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),(r=a(r,i.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Js(i,e.mode,s)).return=e,e=r}return l(e)}if("string"==typeof i||"number"==typeof i)return i=""+i,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,i)).return=e,e=r):(n(e,r),(r=Xs(i,e.mode,s)).return=e,e=r),l(e);if(Si(i))return h(e,r,i,s);if(q(i))return g(e,r,i,s);if(u&&Ei(e,i),void 0===i&&!c)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(o(152,W(e.type)||"Component"))}return n(e,r)}}var Ci=xi(!0),Pi=xi(!1),Ti={},Ai=ca(Ti),Oi=ca(Ti),Ri=ca(Ti);function Ii(e){if(e===Ti)throw Error(o(174));return e}function Ni(e,t){switch(da(Ri,t),da(Oi,e),da(Ai,Ti),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:me(null,"");break;default:t=me(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(Ai),da(Ai,t)}function Li(){ua(Ai),ua(Oi),ua(Ri)}function Di(e){Ii(Ri.current);var t=Ii(Ai.current),n=me(t,e.type);t!==n&&(da(Oi,e),da(Ai,n))}function Mi(e){Oi.current===e&&(ua(Ai),ua(Oi))}var ji=ca(0);function Fi(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(64&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Bi=null,zi=null,Ui=!1;function qi(e,t){var n=Vs(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Hi(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function $i(e){if(Ui){var t=zi;if(t){var n=t;if(!Hi(e,t)){if(!(t=Kr(n.nextSibling))||!Hi(e,t))return e.flags=-1025&e.flags|2,Ui=!1,void(Bi=e);qi(Bi,n)}Bi=e,zi=Kr(t.firstChild)}else e.flags=-1025&e.flags|2,Ui=!1,Bi=e}}function Vi(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Bi=e}function Gi(e){if(e!==Bi)return!1;if(!Ui)return Vi(e),Ui=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!$r(t,e.memoizedProps))for(t=zi;t;)qi(e,t),t=Kr(t.nextSibling);if(Vi(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){zi=Kr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}zi=null}}else zi=Bi?Kr(e.stateNode.nextSibling):null;return!0}function Wi(){zi=Bi=null,Ui=!1}var Ki=[];function Qi(){for(var e=0;e<Ki.length;e++)Ki[e]._workInProgressVersionPrimary=null;Ki.length=0}var Yi=_.ReactCurrentDispatcher,Xi=_.ReactCurrentBatchConfig,Ji=0,Zi=null,eo=null,to=null,no=!1,ro=!1;function ao(){throw Error(o(321))}function io(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function oo(e,t,n,r,a,i){if(Ji=i,Zi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Yi.current=null===e||null===e.memoizedState?No:Lo,e=n(r,a),ro){i=0;do{if(ro=!1,!(25>i))throw Error(o(301));i+=1,to=eo=null,t.updateQueue=null,Yi.current=Do,e=n(r,a)}while(ro)}if(Yi.current=Io,t=null!==eo&&null!==eo.next,Ji=0,to=eo=Zi=null,no=!1,t)throw Error(o(300));return e}function lo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===to?Zi.memoizedState=to=e:to=to.next=e,to}function so(){if(null===eo){var e=Zi.alternate;e=null!==e?e.memoizedState:null}else e=eo.next;var t=null===to?Zi.memoizedState:to.next;if(null!==t)to=t,eo=e;else{if(null===e)throw Error(o(310));e={memoizedState:(eo=e).memoizedState,baseState:eo.baseState,baseQueue:eo.baseQueue,queue:eo.queue,next:null},null===to?Zi.memoizedState=to=e:to=to.next=e}return to}function co(e,t){return"function"==typeof t?t(e):t}function uo(e){var t=so(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=eo,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var l=a.next;a.next=i.next,i.next=l}r.baseQueue=a=i,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var s=l=i=null,c=a;do{var u=c.lane;if((Ji&u)===u)null!==s&&(s=s.next={lane:0,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),r=c.eagerReducer===e?c.eagerState:e(r,c.action);else{var d={lane:u,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===s?(l=s=d,i=r):s=s.next=d,Zi.lanes|=u,ql|=u}c=c.next}while(null!==c&&c!==a);null===s?i=r:s.next=l,ur(r,t.memoizedState)||(jo=!0),t.memoizedState=r,t.baseState=i,t.baseQueue=s,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function po(e){var t=so(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{i=e(i,l.action),l=l.next}while(l!==a);ur(i,t.memoizedState)||(jo=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function fo(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Ji&e)===e)&&(t._workInProgressVersionPrimary=r,Ki.push(t))),e)return n(t._source);throw Ki.push(t),Error(o(350))}function mo(e,t,n,r){var a=Ll;if(null===a)throw Error(o(349));var i=t._getVersion,l=i(t._source),s=Yi.current,c=s.useState((function(){return fo(a,t,n)})),u=c[1],d=c[0];c=to;var p=e.memoizedState,f=p.refs,m=f.getSnapshot,h=p.source;p=p.subscribe;var g=Zi;return e.memoizedState={refs:f,source:t,subscribe:r},s.useEffect((function(){f.getSnapshot=n,f.setSnapshot=u;var e=i(t._source);if(!ur(l,e)){e=n(t._source),ur(d,e)||(u(e),e=ms(g),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,o=e;0<o;){var s=31-$t(o),c=1<<s;r[s]|=e,o&=~c}}}),[n,t,r]),s.useEffect((function(){return r(t._source,(function(){var e=f.getSnapshot,n=f.setSnapshot;try{n(e(t._source));var r=ms(g);a.mutableReadLanes|=r&a.pendingLanes}catch(i){n((function(){throw i}))}}))}),[t,r]),ur(m,n)&&ur(h,t)&&ur(p,r)||((e={pending:null,dispatch:null,lastRenderedReducer:co,lastRenderedState:d}).dispatch=u=Ro.bind(null,Zi,e),c.queue=e,c.baseQueue=null,d=fo(a,t,n),c.memoizedState=c.baseState=d),d}function ho(e,t,n){return mo(so(),e,t,n)}function go(e){var t=lo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:co,lastRenderedState:e}).dispatch=Ro.bind(null,Zi,e),[t.memoizedState,e]}function bo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Zi.updateQueue)?(t={lastEffect:null},Zi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function vo(e){return e={current:e},lo().memoizedState=e}function yo(){return so().memoizedState}function wo(e,t,n,r){var a=lo();Zi.flags|=e,a.memoizedState=bo(1|t,n,void 0,void 0===r?null:r)}function _o(e,t,n,r){var a=so();r=void 0===r?null:r;var i=void 0;if(null!==eo){var o=eo.memoizedState;if(i=o.destroy,null!==r&&io(r,o.deps))return void bo(t,n,i,r)}Zi.flags|=e,a.memoizedState=bo(1|t,n,i,r)}function So(e,t){return wo(516,4,e,t)}function ko(e,t){return _o(516,4,e,t)}function Eo(e,t){return _o(4,2,e,t)}function xo(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Co(e,t,n){return n=null!=n?n.concat([e]):null,_o(4,2,xo.bind(null,t,e),n)}function Po(){}function To(e,t){var n=so();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&io(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ao(e,t){var n=so();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&io(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Oo(e,t){var n=$a();Ga(98>n?98:n,(function(){e(!0)})),Ga(97<n?97:n,(function(){var n=Xi.transition;Xi.transition=1;try{e(!1),t()}finally{Xi.transition=n}}))}function Ro(e,t,n){var r=fs(),a=ms(e),i={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},o=t.pending;if(null===o?i.next=i:(i.next=o.next,o.next=i),t.pending=i,o=e.alternate,e===Zi||null!==o&&o===Zi)ro=no=!0;else{if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var l=t.lastRenderedState,s=o(l,n);if(i.eagerReducer=o,i.eagerState=s,ur(s,l))return}catch(c){}hs(e,a,r)}}var Io={readContext:oi,useCallback:ao,useContext:ao,useEffect:ao,useImperativeHandle:ao,useLayoutEffect:ao,useMemo:ao,useReducer:ao,useRef:ao,useState:ao,useDebugValue:ao,useDeferredValue:ao,useTransition:ao,useMutableSource:ao,useOpaqueIdentifier:ao,unstable_isNewReconciler:!1},No={readContext:oi,useCallback:function(e,t){return lo().memoizedState=[e,void 0===t?null:t],e},useContext:oi,useEffect:So,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,wo(4,2,xo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return wo(4,2,e,t)},useMemo:function(e,t){var n=lo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=lo();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ro.bind(null,Zi,e),[r.memoizedState,e]},useRef:vo,useState:go,useDebugValue:Po,useDeferredValue:function(e){var t=go(e),n=t[0],r=t[1];return So((function(){var t=Xi.transition;Xi.transition=1;try{r(e)}finally{Xi.transition=t}}),[e]),n},useTransition:function(){var e=go(!1),t=e[0];return vo(e=Oo.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=lo();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},mo(r,e,t,n)},useOpaqueIdentifier:function(){if(Ui){var e=!1,t=function(e){return{$$typeof:D,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Yr++).toString(36))),Error(o(355))})),n=go(t)[1];return!(2&Zi.mode)&&(Zi.flags|=516,bo(5,(function(){n("r:"+(Yr++).toString(36))}),void 0,null)),t}return go(t="r:"+(Yr++).toString(36)),t},unstable_isNewReconciler:!1},Lo={readContext:oi,useCallback:To,useContext:oi,useEffect:ko,useImperativeHandle:Co,useLayoutEffect:Eo,useMemo:Ao,useReducer:uo,useRef:yo,useState:function(){return uo(co)},useDebugValue:Po,useDeferredValue:function(e){var t=uo(co),n=t[0],r=t[1];return ko((function(){var t=Xi.transition;Xi.transition=1;try{r(e)}finally{Xi.transition=t}}),[e]),n},useTransition:function(){var e=uo(co)[0];return[yo().current,e]},useMutableSource:ho,useOpaqueIdentifier:function(){return uo(co)[0]},unstable_isNewReconciler:!1},Do={readContext:oi,useCallback:To,useContext:oi,useEffect:ko,useImperativeHandle:Co,useLayoutEffect:Eo,useMemo:Ao,useReducer:po,useRef:yo,useState:function(){return po(co)},useDebugValue:Po,useDeferredValue:function(e){var t=po(co),n=t[0],r=t[1];return ko((function(){var t=Xi.transition;Xi.transition=1;try{r(e)}finally{Xi.transition=t}}),[e]),n},useTransition:function(){var e=po(co)[0];return[yo().current,e]},useMutableSource:ho,useOpaqueIdentifier:function(){return po(co)[0]},unstable_isNewReconciler:!1},Mo=_.ReactCurrentOwner,jo=!1;function Fo(e,t,n,r){t.child=null===e?Pi(t,null,n,r):Ci(t,e.child,n,r)}function Bo(e,t,n,r,a){n=n.render;var i=t.ref;return ii(t,a),r=oo(e,t,n,r,i,a),null===e||jo?(t.flags|=1,Fo(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,ol(e,t,a))}function zo(e,t,n,r,a,i){if(null===e){var o=n.type;return"function"!=typeof o||Gs(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ks(n.type,null,r,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Uo(e,t,o,r,a,i))}return o=e.child,a&i||(a=o.memoizedProps,!(n=null!==(n=n.compare)?n:pr)(a,r)||e.ref!==t.ref)?(t.flags|=1,(e=Ws(o,r)).ref=t.ref,e.return=t,t.child=e):ol(e,t,i)}function Uo(e,t,n,r,a,i){if(null!==e&&pr(e.memoizedProps,r)&&e.ref===t.ref){if(jo=!1,!(i&a))return t.lanes=e.lanes,ol(e,t,i);16384&e.flags&&(jo=!0)}return $o(e,t,n,r,i)}function qo(e,t,n){var r=t.pendingProps,a=r.children,i=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(4&t.mode){if(!(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},ks(t,e),null;t.memoizedState={baseLanes:0},ks(t,null!==i?i.baseLanes:n)}else t.memoizedState={baseLanes:0},ks(t,n);else null!==i?(r=i.baseLanes|n,t.memoizedState=null):r=n,ks(t,r);return Fo(e,t,a,n),t.child}function Ho(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function $o(e,t,n,r,a){var i=ba(n)?ha:fa.current;return i=ga(t,i),ii(t,a),n=oo(e,t,n,r,i,a),null===e||jo?(t.flags|=1,Fo(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,ol(e,t,a))}function Vo(e,t,n,r,a){if(ba(n)){var i=!0;_a(t)}else i=!1;if(ii(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),yi(t,n,r),_i(t,n,r,a),r=!0;else if(null===e){var o=t.stateNode,l=t.memoizedProps;o.props=l;var s=o.context,c=n.contextType;"object"==typeof c&&null!==c?c=oi(c):c=ga(t,c=ba(n)?ha:fa.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof o.getSnapshotBeforeUpdate;d||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==r||s!==c)&&wi(t,o,r,c),li=!1;var p=t.memoizedState;o.state=p,fi(t,r,o,a),s=t.memoizedState,l!==r||p!==s||ma.current||li?("function"==typeof u&&(gi(t,n,u,r),s=t.memoizedState),(l=li||vi(t,n,l,r,p,s,c))?(d||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4)):("function"==typeof o.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=s),o.props=r,o.state=s,o.context=c,r=l):("function"==typeof o.componentDidMount&&(t.flags|=4),r=!1)}else{o=t.stateNode,ci(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:Xa(t.type,l),o.props=c,d=t.pendingProps,p=o.context,"object"==typeof(s=n.contextType)&&null!==s?s=oi(s):s=ga(t,s=ba(n)?ha:fa.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==d||p!==s)&&wi(t,o,r,s),li=!1,p=t.memoizedState,o.state=p,fi(t,r,o,a);var m=t.memoizedState;l!==d||p!==m||ma.current||li?("function"==typeof f&&(gi(t,n,f,r),m=t.memoizedState),(c=li||vi(t,n,c,r,p,m,s))?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(r,m,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,m,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=s,r=c):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),r=!1)}return Go(e,t,n,r,i,a)}function Go(e,t,n,r,a,i){Ho(e,t);var o=!!(64&t.flags);if(!r&&!o)return a&&Sa(t,n,!1),ol(e,t,i);r=t.stateNode,Mo.current=t;var l=o&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&o?(t.child=Ci(t,e.child,null,i),t.child=Ci(t,null,l,i)):Fo(e,t,l,i),t.memoizedState=r.state,a&&Sa(t,n,!0),t.child}function Wo(e){var t=e.stateNode;t.pendingContext?ya(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ya(0,t.context,!1),Ni(e,t.containerInfo)}var Ko,Qo,Yo,Xo,Jo={dehydrated:null,retryLane:0};function Zo(e,t,n){var r,a=t.pendingProps,i=ji.current,o=!1;return(r=!!(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&!!(2&i)),r?(o=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(i|=1),da(ji,1&i),null===e?(void 0!==a.fallback&&$i(t),e=a.children,i=a.fallback,o?(e=el(t,e,i,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Jo,e):"number"==typeof a.unstable_expectedLoadTime?(e=el(t,e,i,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Jo,t.lanes=33554432,e):((n=Ys({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,o?(a=nl(e,t,a.children,a.fallback,n),o=t.child,i=e.child.memoizedState,o.memoizedState=null===i?{baseLanes:n}:{baseLanes:i.baseLanes|n},o.childLanes=e.childLanes&~n,t.memoizedState=Jo,a):(n=tl(e,t,a.children,n),t.memoizedState=null,n))}function el(e,t,n,r){var a=e.mode,i=e.child;return t={mode:"hidden",children:t},2&a||null===i?i=Ys(t,a,0,null):(i.childLanes=0,i.pendingProps=t),n=Qs(n,a,r,null),i.return=e,n.return=e,i.sibling=n,e.child=i,n}function tl(e,t,n,r){var a=e.child;return e=a.sibling,n=Ws(a,{mode:"visible",children:n}),!(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function nl(e,t,n,r,a){var i=t.mode,o=e.child;e=o.sibling;var l={mode:"hidden",children:n};return 2&i||t.child===o?n=Ws(o,l):((n=t.child).childLanes=0,n.pendingProps=l,null!==(o=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=o,o.nextEffect=null):t.firstEffect=t.lastEffect=null),null!==e?r=Ws(e,r):(r=Qs(r,i,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function rl(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ai(e.return,t)}function al(e,t,n,r,a,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a,o.lastEffect=i)}function il(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(Fo(e,t,r.children,n),2&(r=ji.current))r=1&r|2,t.flags|=64;else{if(null!==e&&64&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&rl(e,n);else if(19===e.tag)rl(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(da(ji,r),2&t.mode)switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Fi(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),al(t,!1,a,n,i,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Fi(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}al(t,!0,n,null,i,t.lastEffect);break;case"together":al(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function ol(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),ql|=t.lanes,n&t.childLanes){if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Ws(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ws(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function ll(e,t){if(!Ui)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function sl(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return ba(t.type)&&va(),null;case 3:return Li(),ua(ma),ua(fa),Qi(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Gi(t)?t.flags|=4:r.hydrate||(t.flags|=256)),Qo(t),null;case 5:Mi(t);var i=Ii(Ri.current);if(n=t.type,null!==e&&null!=t.stateNode)Yo(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(o(166));return null}if(e=Ii(Ai.current),Gi(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[Jr]=t,r[Zr]=l,n){case"dialog":Or("cancel",r),Or("close",r);break;case"iframe":case"object":case"embed":Or("load",r);break;case"video":case"audio":for(e=0;e<Cr.length;e++)Or(Cr[e],r);break;case"source":Or("error",r);break;case"img":case"image":case"link":Or("error",r),Or("load",r);break;case"details":Or("toggle",r);break;case"input":ee(r,l),Or("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},Or("invalid",r);break;case"textarea":se(r,l),Or("invalid",r)}for(var c in Ee(n,l),e=null,l)l.hasOwnProperty(c)&&(i=l[c],"children"===c?"string"==typeof i?r.textContent!==i&&(e=["children",i]):"number"==typeof i&&r.textContent!==""+i&&(e=["children",""+i]):s.hasOwnProperty(c)&&null!=i&&"onScroll"===c&&Or("scroll",r));switch(n){case"input":Y(r),re(r,l,!0);break;case"textarea":Y(r),ue(r);break;case"select":case"option":break;default:"function"==typeof l.onClick&&(r.onclick=zr)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(c=9===i.nodeType?i:i.ownerDocument,e===de&&(e=fe(n)),e===de?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),"select"===n&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[Jr]=t,e[Zr]=r,Ko(e,t,!1,!1),t.stateNode=e,c=xe(n,r),n){case"dialog":Or("cancel",e),Or("close",e),i=r;break;case"iframe":case"object":case"embed":Or("load",e),i=r;break;case"video":case"audio":for(i=0;i<Cr.length;i++)Or(Cr[i],e);i=r;break;case"source":Or("error",e),i=r;break;case"img":case"image":case"link":Or("error",e),Or("load",e),i=r;break;case"details":Or("toggle",e),i=r;break;case"input":ee(e,r),i=Z(e,r),Or("invalid",e);break;case"option":i=ie(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=a({},r,{value:void 0}),Or("invalid",e);break;case"textarea":se(e,r),i=le(e,r),Or("invalid",e);break;default:i=r}Ee(n,i);var u=i;for(l in u)if(u.hasOwnProperty(l)){var d=u[l];"style"===l?Se(e,d):"dangerouslySetInnerHTML"===l?null!=(d=d?d.__html:void 0)&&be(e,d):"children"===l?"string"==typeof d?("textarea"!==n||""!==d)&&ve(e,d):"number"==typeof d&&ve(e,""+d):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(s.hasOwnProperty(l)?null!=d&&"onScroll"===l&&Or("scroll",e):null!=d&&w(e,l,d,c))}switch(n){case"input":Y(e),re(e,r,!1);break;case"textarea":Y(e),ue(e);break;case"option":null!=r.value&&e.setAttribute("value",""+K(r.value));break;case"select":e.multiple=!!r.multiple,null!=(l=r.value)?oe(e,!!r.multiple,l,!1):null!=r.defaultValue&&oe(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=zr)}Hr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Xo(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));n=Ii(Ri.current),Ii(Ai.current),Gi(t)?(r=t.stateNode,n=t.memoizedProps,r[Jr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Jr]=t,t.stateNode=r)}return null;case 13:return ua(ji),r=t.memoizedState,64&t.flags?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Gi(t):n=null!==e.memoizedState,r&&!n&&2&t.mode&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||1&ji.current?0===Bl&&(Bl=3):(0!==Bl&&3!==Bl||(Bl=4),null===Ll||!(134217727&ql)&&!(134217727&Hl)||ys(Ll,Ml))),(r||n)&&(t.flags|=4),null);case 4:return Li(),Qo(t),null===e&&Ir(t.stateNode.containerInfo),null;case 10:return ri(t),null;case 19:if(ua(ji),null===(r=t.memoizedState))return null;if(l=!!(64&t.flags),null===(c=r.rendering))if(l)ll(r,!1);else{if(0!==Bl||null!==e&&64&e.flags)for(e=t.child;null!==e;){if(null!==(c=Fi(e))){for(t.flags|=64,ll(r,!1),null!==(l=c.updateQueue)&&(t.updateQueue=l,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(l=n).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(c=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=c.childLanes,l.lanes=c.lanes,l.child=c.child,l.memoizedProps=c.memoizedProps,l.memoizedState=c.memoizedState,l.updateQueue=c.updateQueue,l.type=c.type,e=c.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return da(ji,1&ji.current|2),t.child}e=e.sibling}null!==r.tail&&Ha()>Wl&&(t.flags|=64,l=!0,ll(r,!1),t.lanes=33554432)}else{if(!l)if(null!==(e=Fi(c))){if(t.flags|=64,l=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),ll(r,!0),null===r.tail&&"hidden"===r.tailMode&&!c.alternate&&!Ui)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Ha()-r.renderingStartTime>Wl&&1073741824!==n&&(t.flags|=64,l=!0,ll(r,!1),t.lanes=33554432);r.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=r.last)?n.sibling=c:t.child=c,r.last=c)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Ha(),n.sibling=null,t=ji.current,da(ji,l?1&t|2:1&t),n):null;case 23:case 24:return Es(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(o(156,t.tag))}function cl(e){switch(e.tag){case 1:ba(e.type)&&va();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Li(),ua(ma),ua(fa),Qi(),64&(t=e.flags))throw Error(o(285));return e.flags=-4097&t|64,e;case 5:return Mi(e),null;case 13:return ua(ji),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(ji),null;case 4:return Li(),null;case 10:return ri(e),null;case 23:case 24:return Es(),null;default:return null}}function ul(e,t){try{var n="",r=t;do{n+=G(r),r=r.return}while(r);var a=n}catch(i){a="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:a}}function dl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}Ko=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Qo=function(){},Yo=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Ii(Ai.current);var o,l=null;switch(n){case"input":i=Z(e,i),r=Z(e,r),l=[];break;case"option":i=ie(e,i),r=ie(e,r),l=[];break;case"select":i=a({},i,{value:void 0}),r=a({},r,{value:void 0}),l=[];break;case"textarea":i=le(e,i),r=le(e,r),l=[];break;default:"function"!=typeof i.onClick&&"function"==typeof r.onClick&&(e.onclick=zr)}for(d in Ee(n,r),n=null,i)if(!r.hasOwnProperty(d)&&i.hasOwnProperty(d)&&null!=i[d])if("style"===d){var c=i[d];for(o in c)c.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(s.hasOwnProperty(d)?l||(l=[]):(l=l||[]).push(d,null));for(d in r){var u=r[d];if(c=null!=i?i[d]:void 0,r.hasOwnProperty(d)&&u!==c&&(null!=u||null!=c))if("style"===d)if(c){for(o in c)!c.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&c[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(l||(l=[]),l.push(d,n)),n=u;else"dangerouslySetInnerHTML"===d?(u=u?u.__html:void 0,c=c?c.__html:void 0,null!=u&&c!==u&&(l=l||[]).push(d,u)):"children"===d?"string"!=typeof u&&"number"!=typeof u||(l=l||[]).push(d,""+u):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(s.hasOwnProperty(d)?(null!=u&&"onScroll"===d&&Or("scroll",e),l||c===u||(l=[])):"object"==typeof u&&null!==u&&u.$$typeof===D?u.toString():(l=l||[]).push(d,u))}n&&(l=l||[]).push("style",n);var d=l;(t.updateQueue=d)&&(t.flags|=4)}},Xo=function(e,t,n,r){n!==r&&(t.flags|=4)};var pl="function"==typeof WeakMap?WeakMap:Map;function fl(e,t,n){(n=ui(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Xl||(Xl=!0,Jl=r),dl(0,t)},n}function ml(e,t,n){(n=ui(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return dl(0,t),r(a)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Zl?Zl=new Set([this]):Zl.add(this),dl(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var hl="function"==typeof WeakSet?WeakSet:Set;function gl(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){Us(e,n)}else t.current=null}function bl(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Xa(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Wr(t.stateNode.containerInfo))}throw Error(o(163))}function vl(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(!(3&~e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,4&(a=a.tag)&&1&a&&(Fs(n,e),js(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Xa(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&mi(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}mi(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Hr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&St(n)))))}throw Error(o(163))}function yl(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=null!=a&&a.hasOwnProperty("display")?a.display:null,r.style.display=_e("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function wl(e,t){if(Ea&&"function"==typeof Ea.onCommitFiberUnmount)try{Ea.onCommitFiberUnmount(ka,t)}catch(i){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(4&r)Fs(t,n);else{r=t;try{a()}catch(i){Us(r,i)}}n=n.next}while(n!==e)}break;case 1:if(gl(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(i){Us(t,i)}break;case 5:gl(t);break;case 4:Cl(e,t)}}function _l(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Sl(e){return 5===e.tag||3===e.tag||4===e.tag}function kl(e){e:{for(var t=e.return;null!==t;){if(Sl(t))break e;t=t.return}throw Error(o(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(o(161))}16&n.flags&&(ve(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||Sl(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?El(e,n,t):xl(e,n,t)}function El(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=zr));else if(4!==r&&null!==(e=e.child))for(El(e,t,n),e=e.sibling;null!==e;)El(e,t,n),e=e.sibling}function xl(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(xl(e,t,n),e=e.sibling;null!==e;)xl(e,t,n),e=e.sibling}function Cl(e,t){for(var n,r,a=t,i=!1;;){if(!i){i=a.return;e:for(;;){if(null===i)throw Error(o(160));switch(n=i.stateNode,i.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}i=i.return}i=!0}if(5===a.tag||6===a.tag){e:for(var l=e,s=a,c=s;;)if(wl(l,c),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===s)break e;for(;null===c.sibling;){if(null===c.return||c.return===s)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}r?(l=n,s=a.stateNode,8===l.nodeType?l.parentNode.removeChild(s):l.removeChild(s)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(wl(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(i=!1)}a.sibling.return=a.return,a=a.sibling}}function Pl(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{!(3&~r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var i=t.updateQueue;if(t.updateQueue=null,null!==i){for(n[Zr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,a),t=xe(e,r),a=0;a<i.length;a+=2){var l=i[a],s=i[a+1];"style"===l?Se(n,s):"dangerouslySetInnerHTML"===l?be(n,s):"children"===l?ve(n,s):w(n,l,s,t)}switch(e){case"input":ne(n,r);break;case"textarea":ce(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(i=r.value)?oe(n,!!r.multiple,i,!1):e!==!!r.multiple&&(null!=r.defaultValue?oe(n,!!r.multiple,r.defaultValue,!0):oe(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(o(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,St(n.containerInfo)));case 13:return null!==t.memoizedState&&(Gl=Ha(),yl(t.child,!0)),void Tl(t);case 19:return void Tl(t);case 23:case 24:return void yl(t,null!==t.memoizedState)}throw Error(o(163))}function Tl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new hl),t.forEach((function(t){var r=Hs.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Al(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Ol=Math.ceil,Rl=_.ReactCurrentDispatcher,Il=_.ReactCurrentOwner,Nl=0,Ll=null,Dl=null,Ml=0,jl=0,Fl=ca(0),Bl=0,zl=null,Ul=0,ql=0,Hl=0,$l=0,Vl=null,Gl=0,Wl=1/0;function Kl(){Wl=Ha()+500}var Ql,Yl=null,Xl=!1,Jl=null,Zl=null,es=!1,ts=null,ns=90,rs=[],as=[],is=null,os=0,ls=null,ss=-1,cs=0,us=0,ds=null,ps=!1;function fs(){return 48&Nl?Ha():-1!==ss?ss:ss=Ha()}function ms(e){if(!(2&(e=e.mode)))return 1;if(!(4&e))return 99===$a()?1:2;if(0===cs&&(cs=Ul),0!==Ya.transition){0!==us&&(us=null!==Vl?Vl.pendingLanes:0),e=cs;var t=4186112&~us;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=$a(),4&Nl&&98===e?e=zt(12,cs):e=zt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),cs),e}function hs(e,t,n){if(50<os)throw os=0,ls=null,Error(o(185));if(null===(e=gs(e,t)))return null;Ht(e,t,n),e===Ll&&(Hl|=t,4===Bl&&ys(e,Ml));var r=$a();1===t?8&Nl&&!(48&Nl)?ws(e):(bs(e,n),0===Nl&&(Kl(),Ka())):(!(4&Nl)||98!==r&&99!==r||(null===is?is=new Set([e]):is.add(e)),bs(e,n)),Vl=e}function gs(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function bs(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,i=e.expirationTimes,l=e.pendingLanes;0<l;){var s=31-$t(l),c=1<<s,u=i[s];if(-1===u){if(!(c&r)||c&a){u=t,jt(c);var d=Mt;i[s]=10<=d?u+250:6<=d?u+5e3:-1}}else u<=t&&(e.expiredLanes|=c);l&=~c}if(r=Ft(e,e===Ll?Ml:0),t=Mt,0===r)null!==n&&(n!==ja&&Pa(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==ja&&Pa(n)}15===t?(n=ws.bind(null,e),null===Ba?(Ba=[n],za=Ca(Ia,Qa)):Ba.push(n),n=ja):14===t?n=Wa(99,ws.bind(null,e)):(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(o(358,e))}}(t),n=Wa(n,vs.bind(null,e))),e.callbackPriority=t,e.callbackNode=n}}function vs(e){if(ss=-1,us=cs=0,48&Nl)throw Error(o(327));var t=e.callbackNode;if(Ms()&&e.callbackNode!==t)return null;var n=Ft(e,e===Ll?Ml:0);if(0===n)return null;var r=n,a=Nl;Nl|=16;var i=Ps();for(Ll===e&&Ml===r||(Kl(),xs(e,r));;)try{Os();break}catch(s){Cs(e,s)}if(ni(),Rl.current=i,Nl=a,null!==Dl?r=0:(Ll=null,Ml=0,r=Bl),Ul&Hl)xs(e,0);else if(0!==r){if(2===r&&(Nl|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(n=Bt(e))&&(r=Ts(e,n))),1===r)throw t=zl,xs(e,0),ys(e,n),bs(e,Ha()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(o(345));case 2:case 5:Ns(e);break;case 3:if(ys(e,n),(62914560&n)===n&&10<(r=Gl+500-Ha())){if(0!==Ft(e,0))break;if(((a=e.suspendedLanes)&n)!==n){fs(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Vr(Ns.bind(null,e),r);break}Ns(e);break;case 4:if(ys(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var l=31-$t(n);i=1<<l,(l=r[l])>a&&(a=l),n&=~i}if(n=a,10<(n=(120>(n=Ha()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Ol(n/1960))-n)){e.timeoutHandle=Vr(Ns.bind(null,e),n);break}Ns(e);break;default:throw Error(o(329))}}return bs(e,Ha()),e.callbackNode===t?vs.bind(null,e):null}function ys(e,t){for(t&=~$l,t&=~Hl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-$t(t),r=1<<n;e[n]=-1,t&=~r}}function ws(e){if(48&Nl)throw Error(o(327));if(Ms(),e===Ll&&e.expiredLanes&Ml){var t=Ml,n=Ts(e,t);Ul&Hl&&(n=Ts(e,t=Ft(e,t)))}else n=Ts(e,t=Ft(e,0));if(0!==e.tag&&2===n&&(Nl|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(t=Bt(e))&&(n=Ts(e,t))),1===n)throw n=zl,xs(e,0),ys(e,t),bs(e,Ha()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ns(e),bs(e,Ha()),null}function _s(e,t){var n=Nl;Nl|=1;try{return e(t)}finally{0===(Nl=n)&&(Kl(),Ka())}}function Ss(e,t){var n=Nl;Nl&=-2,Nl|=8;try{return e(t)}finally{0===(Nl=n)&&(Kl(),Ka())}}function ks(e,t){da(Fl,jl),jl|=t,Ul|=t}function Es(){jl=Fl.current,ua(Fl)}function xs(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Gr(n)),null!==Dl)for(n=Dl.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&va();break;case 3:Li(),ua(ma),ua(fa),Qi();break;case 5:Mi(r);break;case 4:Li();break;case 13:case 19:ua(ji);break;case 10:ri(r);break;case 23:case 24:Es()}n=n.return}Ll=e,Dl=Ws(e.current,null),Ml=jl=Ul=t,Bl=0,zl=null,$l=Hl=ql=0}function Cs(e,t){for(;;){var n=Dl;try{if(ni(),Yi.current=Io,no){for(var r=Zi.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}no=!1}if(Ji=0,to=eo=Zi=null,ro=!1,Il.current=null,null===n||null===n.return){Bl=1,zl=t,Dl=null;break}e:{var i=e,o=n.return,l=n,s=t;if(t=Ml,l.flags|=2048,l.firstEffect=l.lastEffect=null,null!==s&&"object"==typeof s&&"function"==typeof s.then){var c=s;if(!(2&l.mode)){var u=l.alternate;u?(l.updateQueue=u.updateQueue,l.memoizedState=u.memoizedState,l.lanes=u.lanes):(l.updateQueue=null,l.memoizedState=null)}var d=!!(1&ji.current),p=o;do{var f;if(f=13===p.tag){var m=p.memoizedState;if(null!==m)f=null!==m.dehydrated;else{var h=p.memoizedProps;f=void 0!==h.fallback&&(!0!==h.unstable_avoidThisFallback||!d)}}if(f){var g=p.updateQueue;if(null===g){var b=new Set;b.add(c),p.updateQueue=b}else g.add(c);if(!(2&p.mode)){if(p.flags|=64,l.flags|=16384,l.flags&=-2981,1===l.tag)if(null===l.alternate)l.tag=17;else{var v=ui(-1,1);v.tag=2,di(l,v)}l.lanes|=1;break e}s=void 0,l=t;var y=i.pingCache;if(null===y?(y=i.pingCache=new pl,s=new Set,y.set(c,s)):void 0===(s=y.get(c))&&(s=new Set,y.set(c,s)),!s.has(l)){s.add(l);var w=qs.bind(null,i,c,l);c.then(w,w)}p.flags|=4096,p.lanes=t;break e}p=p.return}while(null!==p);s=Error((W(l.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Bl&&(Bl=2),s=ul(s,l),p=o;do{switch(p.tag){case 3:i=s,p.flags|=4096,t&=-t,p.lanes|=t,pi(p,fl(0,i,t));break e;case 1:i=s;var _=p.type,S=p.stateNode;if(!(64&p.flags||"function"!=typeof _.getDerivedStateFromError&&(null===S||"function"!=typeof S.componentDidCatch||null!==Zl&&Zl.has(S)))){p.flags|=4096,t&=-t,p.lanes|=t,pi(p,ml(p,i,t));break e}}p=p.return}while(null!==p)}Is(n)}catch(k){t=k,Dl===n&&null!==n&&(Dl=n=n.return);continue}break}}function Ps(){var e=Rl.current;return Rl.current=Io,null===e?Io:e}function Ts(e,t){var n=Nl;Nl|=16;var r=Ps();for(Ll===e&&Ml===t||xs(e,t);;)try{As();break}catch(a){Cs(e,a)}if(ni(),Nl=n,Rl.current=r,null!==Dl)throw Error(o(261));return Ll=null,Ml=0,Bl}function As(){for(;null!==Dl;)Rs(Dl)}function Os(){for(;null!==Dl&&!Ta();)Rs(Dl)}function Rs(e){var t=Ql(e.alternate,e,jl);e.memoizedProps=e.pendingProps,null===t?Is(e):Dl=t,Il.current=null}function Is(e){var t=e;do{var n=t.alternate;if(e=t.return,2048&t.flags){if(null!==(n=cl(t)))return n.flags&=2047,void(Dl=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}else{if(null!==(n=sl(n,t,jl)))return void(Dl=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||1073741824&jl||!(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&!(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}if(null!==(t=t.sibling))return void(Dl=t);Dl=t=e}while(null!==t);0===Bl&&(Bl=5)}function Ns(e){var t=$a();return Ga(99,Ls.bind(null,e,t)),null}function Ls(e,t){do{Ms()}while(null!==ts);if(48&Nl)throw Error(o(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,i=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var l=e.eventTimes,s=e.expirationTimes;0<i;){var c=31-$t(i),u=1<<c;a[c]=0,l[c]=-1,s[c]=-1,i&=~u}if(null!==is&&!(24&r)&&is.has(e)&&is.delete(e),e===Ll&&(Dl=Ll=null,Ml=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Nl,Nl|=32,Il.current=null,Ur=Qt,br(l=gr())){if("selectionStart"in l)s={start:l.selectionStart,end:l.selectionEnd};else e:if(s=(s=l.ownerDocument)&&s.defaultView||window,(u=s.getSelection&&s.getSelection())&&0!==u.rangeCount){s=u.anchorNode,i=u.anchorOffset,c=u.focusNode,u=u.focusOffset;try{s.nodeType,c.nodeType}catch(C){s=null;break e}var d=0,p=-1,f=-1,m=0,h=0,g=l,b=null;t:for(;;){for(var v;g!==s||0!==i&&3!==g.nodeType||(p=d+i),g!==c||0!==u&&3!==g.nodeType||(f=d+u),3===g.nodeType&&(d+=g.nodeValue.length),null!==(v=g.firstChild);)b=g,g=v;for(;;){if(g===l)break t;if(b===s&&++m===i&&(p=d),b===c&&++h===u&&(f=d),null!==(v=g.nextSibling))break;b=(g=b).parentNode}g=v}s=-1===p||-1===f?null:{start:p,end:f}}else s=null;s=s||{start:0,end:0}}else s=null;qr={focusedElem:l,selectionRange:s},Qt=!1,ds=null,ps=!1,Yl=r;do{try{Ds()}catch(C){if(null===Yl)throw Error(o(330));Us(Yl,C),Yl=Yl.nextEffect}}while(null!==Yl);ds=null,Yl=r;do{try{for(l=e;null!==Yl;){var y=Yl.flags;if(16&y&&ve(Yl.stateNode,""),128&y){var w=Yl.alternate;if(null!==w){var _=w.ref;null!==_&&("function"==typeof _?_(null):_.current=null)}}switch(1038&y){case 2:kl(Yl),Yl.flags&=-3;break;case 6:kl(Yl),Yl.flags&=-3,Pl(Yl.alternate,Yl);break;case 1024:Yl.flags&=-1025;break;case 1028:Yl.flags&=-1025,Pl(Yl.alternate,Yl);break;case 4:Pl(Yl.alternate,Yl);break;case 8:Cl(l,s=Yl);var S=s.alternate;_l(s),null!==S&&_l(S)}Yl=Yl.nextEffect}}catch(C){if(null===Yl)throw Error(o(330));Us(Yl,C),Yl=Yl.nextEffect}}while(null!==Yl);if(_=qr,w=gr(),y=_.focusedElem,l=_.selectionRange,w!==y&&y&&y.ownerDocument&&hr(y.ownerDocument.documentElement,y)){null!==l&&br(y)&&(w=l.start,void 0===(_=l.end)&&(_=w),"selectionStart"in y?(y.selectionStart=w,y.selectionEnd=Math.min(_,y.value.length)):(_=(w=y.ownerDocument||document)&&w.defaultView||window).getSelection&&(_=_.getSelection(),s=y.textContent.length,S=Math.min(l.start,s),l=void 0===l.end?S:Math.min(l.end,s),!_.extend&&S>l&&(s=l,l=S,S=s),s=mr(y,S),i=mr(y,l),s&&i&&(1!==_.rangeCount||_.anchorNode!==s.node||_.anchorOffset!==s.offset||_.focusNode!==i.node||_.focusOffset!==i.offset)&&((w=w.createRange()).setStart(s.node,s.offset),_.removeAllRanges(),S>l?(_.addRange(w),_.extend(i.node,i.offset)):(w.setEnd(i.node,i.offset),_.addRange(w))))),w=[];for(_=y;_=_.parentNode;)1===_.nodeType&&w.push({element:_,left:_.scrollLeft,top:_.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<w.length;y++)(_=w[y]).element.scrollLeft=_.left,_.element.scrollTop=_.top}Qt=!!Ur,qr=Ur=null,e.current=n,Yl=r;do{try{for(y=e;null!==Yl;){var k=Yl.flags;if(36&k&&vl(y,Yl.alternate,Yl),128&k){w=void 0;var E=Yl.ref;if(null!==E){var x=Yl.stateNode;Yl.tag,w=x,"function"==typeof E?E(w):E.current=w}}Yl=Yl.nextEffect}}catch(C){if(null===Yl)throw Error(o(330));Us(Yl,C),Yl=Yl.nextEffect}}while(null!==Yl);Yl=null,Fa(),Nl=a}else e.current=n;if(es)es=!1,ts=e,ns=t;else for(Yl=r;null!==Yl;)t=Yl.nextEffect,Yl.nextEffect=null,8&Yl.flags&&((k=Yl).sibling=null,k.stateNode=null),Yl=t;if(0===(r=e.pendingLanes)&&(Zl=null),1===r?e===ls?os++:(os=0,ls=e):os=0,n=n.stateNode,Ea&&"function"==typeof Ea.onCommitFiberRoot)try{Ea.onCommitFiberRoot(ka,n,void 0,!(64&~n.current.flags))}catch(C){}if(bs(e,Ha()),Xl)throw Xl=!1,e=Jl,Jl=null,e;return 8&Nl||Ka(),null}function Ds(){for(;null!==Yl;){var e=Yl.alternate;ps||null===ds||(8&Yl.flags?et(Yl,ds)&&(ps=!0):13===Yl.tag&&Al(e,Yl)&&et(Yl,ds)&&(ps=!0));var t=Yl.flags;256&t&&bl(e,Yl),!(512&t)||es||(es=!0,Wa(97,(function(){return Ms(),null}))),Yl=Yl.nextEffect}}function Ms(){if(90!==ns){var e=97<ns?97:ns;return ns=90,Ga(e,Bs)}return!1}function js(e,t){rs.push(t,e),es||(es=!0,Wa(97,(function(){return Ms(),null})))}function Fs(e,t){as.push(t,e),es||(es=!0,Wa(97,(function(){return Ms(),null})))}function Bs(){if(null===ts)return!1;var e=ts;if(ts=null,48&Nl)throw Error(o(331));var t=Nl;Nl|=32;var n=as;as=[];for(var r=0;r<n.length;r+=2){var a=n[r],i=n[r+1],l=a.destroy;if(a.destroy=void 0,"function"==typeof l)try{l()}catch(c){if(null===i)throw Error(o(330));Us(i,c)}}for(n=rs,rs=[],r=0;r<n.length;r+=2){a=n[r],i=n[r+1];try{var s=a.create;a.destroy=s()}catch(c){if(null===i)throw Error(o(330));Us(i,c)}}for(s=e.current.firstEffect;null!==s;)e=s.nextEffect,s.nextEffect=null,8&s.flags&&(s.sibling=null,s.stateNode=null),s=e;return Nl=t,Ka(),!0}function zs(e,t,n){di(e,t=fl(0,t=ul(n,t),1)),t=fs(),null!==(e=gs(e,1))&&(Ht(e,1,t),bs(e,t))}function Us(e,t){if(3===e.tag)zs(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){zs(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Zl||!Zl.has(r))){var a=ml(n,e=ul(t,e),1);if(di(n,a),a=fs(),null!==(n=gs(n,1)))Ht(n,1,a),bs(n,a);else if("function"==typeof r.componentDidCatch&&(null===Zl||!Zl.has(r)))try{r.componentDidCatch(t,e)}catch(i){}break}}n=n.return}}function qs(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=fs(),e.pingedLanes|=e.suspendedLanes&n,Ll===e&&(Ml&n)===n&&(4===Bl||3===Bl&&(62914560&Ml)===Ml&&500>Ha()-Gl?xs(e,0):$l|=n),bs(e,t)}function Hs(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(2&(t=e.mode)?4&t?(0===cs&&(cs=Ul),0===(t=Ut(62914560&~cs))&&(t=4194304)):t=99===$a()?1:2:t=1),n=fs(),null!==(e=gs(e,t))&&(Ht(e,t,n),bs(e,n))}function $s(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Vs(e,t,n,r){return new $s(e,t,n,r)}function Gs(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ws(e,t){var n=e.alternate;return null===n?((n=Vs(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ks(e,t,n,r,a,i){var l=2;if(r=e,"function"==typeof e)Gs(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case E:return Qs(n.children,a,i,t);case M:l=8,a|=16;break;case x:l=8,a|=1;break;case C:return(e=Vs(12,n,t,8|a)).elementType=C,e.type=C,e.lanes=i,e;case O:return(e=Vs(13,n,t,a)).type=O,e.elementType=O,e.lanes=i,e;case R:return(e=Vs(19,n,t,a)).elementType=R,e.lanes=i,e;case j:return Ys(n,a,i,t);case F:return(e=Vs(24,n,t,a)).elementType=F,e.lanes=i,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case P:l=10;break e;case T:l=9;break e;case A:l=11;break e;case I:l=14;break e;case N:l=16,r=null;break e;case L:l=22;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Vs(l,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Qs(e,t,n,r){return(e=Vs(7,e,r,t)).lanes=n,e}function Ys(e,t,n,r){return(e=Vs(23,e,r,t)).elementType=j,e.lanes=n,e}function Xs(e,t,n){return(e=Vs(6,e,null,t)).lanes=n,e}function Js(e,t,n){return(t=Vs(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zs(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=qt(0),this.expirationTimes=qt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qt(0),this.mutableSourceEagerHydrationData=null}function ec(e,t,n,r){var a=t.current,i=fs(),l=ms(a);e:if(n){t:{if(Ye(n=n._reactInternals)!==n||1!==n.tag)throw Error(o(170));var s=n;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(ba(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(o(171))}if(1===n.tag){var c=n.type;if(ba(c)){n=wa(n,c,s);break e}}n=s}else n=pa;return null===t.context?t.context=n:t.pendingContext=n,(t=ui(i,l)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),di(a,t),hs(a,l,i),l}function tc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function nc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function rc(e,t){nc(e,t),(e=e.alternate)&&nc(e,t)}function ac(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Zs(e,t,null!=n&&!0===n.hydrate),t=Vs(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,si(t),e[ea]=n.current,Ir(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function ic(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function oc(e,t,n,r,a){var i=n._reactRootContainer;if(i){var o=i._internalRoot;if("function"==typeof a){var l=a;a=function(){var e=tc(o);l.call(e)}}ec(t,o,e,a)}else{if(i=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ac(e,0,t?{hydrate:!0}:void 0)}(n,r),o=i._internalRoot,"function"==typeof a){var s=a;a=function(){var e=tc(o);s.call(e)}}Ss((function(){ec(t,o,e,a)}))}return tc(o)}function lc(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ic(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:k,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}Ql=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||ma.current)jo=!0;else{if(!(n&r)){switch(jo=!1,t.tag){case 3:Wo(t),Wi();break;case 5:Di(t);break;case 1:ba(t.type)&&_a(t);break;case 4:Ni(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;da(Ja,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return n&t.child.childLanes?Zo(e,t,n):(da(ji,1&ji.current),null!==(t=ol(e,t,n))?t.sibling:null);da(ji,1&ji.current);break;case 19:if(r=!!(n&t.childLanes),64&e.flags){if(r)return il(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),da(ji,ji.current),r)break;return null;case 23:case 24:return t.lanes=0,qo(e,t,n)}return ol(e,t,n)}jo=!!(16384&e.flags)}else jo=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=ga(t,fa.current),ii(t,n),a=oo(null,t,r,e,a,n),t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ba(r)){var i=!0;_a(t)}else i=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,si(t);var l=r.getDerivedStateFromProps;"function"==typeof l&&gi(t,r,l,e),a.updater=bi,t.stateNode=a,a._reactInternals=t,_i(t,r,e,n),t=Go(null,t,r,!0,i,n)}else t.tag=0,Fo(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(i=a._init)(a._payload),t.type=a,i=t.tag=function(e){if("function"==typeof e)return Gs(e)?1:0;if(null!=e){if((e=e.$$typeof)===A)return 11;if(e===I)return 14}return 2}(a),e=Xa(a,e),i){case 0:t=$o(null,t,a,e,n);break e;case 1:t=Vo(null,t,a,e,n);break e;case 11:t=Bo(null,t,a,e,n);break e;case 14:t=zo(null,t,a,Xa(a.type,e),r,n);break e}throw Error(o(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,$o(e,t,r,a=t.elementType===r?a:Xa(r,a),n);case 1:return r=t.type,a=t.pendingProps,Vo(e,t,r,a=t.elementType===r?a:Xa(r,a),n);case 3:if(Wo(t),r=t.updateQueue,null===e||null===r)throw Error(o(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,ci(e,t),fi(t,r,null,n),(r=t.memoizedState.element)===a)Wi(),t=ol(e,t,n);else{if((i=(a=t.stateNode).hydrate)&&(zi=Kr(t.stateNode.containerInfo.firstChild),Bi=t,i=Ui=!0),i){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(i=e[a])._workInProgressVersionPrimary=e[a+1],Ki.push(i);for(n=Pi(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Fo(e,t,r,n),Wi();t=t.child}return t;case 5:return Di(t),null===e&&$i(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,l=a.children,$r(r,a)?l=null:null!==i&&$r(r,i)&&(t.flags|=16),Ho(e,t),Fo(e,t,l,n),t.child;case 6:return null===e&&$i(t),null;case 13:return Zo(e,t,n);case 4:return Ni(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ci(t,null,r,n):Fo(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Bo(e,t,r,a=t.elementType===r?a:Xa(r,a),n);case 7:return Fo(e,t,t.pendingProps,n),t.child;case 8:case 12:return Fo(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,l=t.memoizedProps,i=a.value;var s=t.type._context;if(da(Ja,s._currentValue),s._currentValue=i,null!==l)if(s=l.value,0===(i=ur(s,i)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(s,i):1073741823))){if(l.children===a.children&&!ma.current){t=ol(e,t,n);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var c=s.dependencies;if(null!==c){l=s.child;for(var u=c.firstContext;null!==u;){if(u.context===r&&u.observedBits&i){1===s.tag&&((u=ui(-1,n&-n)).tag=2,di(s,u)),s.lanes|=n,null!==(u=s.alternate)&&(u.lanes|=n),ai(s.return,n),c.lanes|=n;break}u=u.next}}else l=10===s.tag&&s.type===t.type?null:s.child;if(null!==l)l.return=s;else for(l=s;null!==l;){if(l===t){l=null;break}if(null!==(s=l.sibling)){s.return=l.return,l=s;break}l=l.return}s=l}Fo(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(i=t.pendingProps).children,ii(t,n),r=r(a=oi(a,i.unstable_observedBits)),t.flags|=1,Fo(e,t,r,n),t.child;case 14:return i=Xa(a=t.type,t.pendingProps),zo(e,t,a,i=Xa(a.type,i),r,n);case 15:return Uo(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Xa(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ba(r)?(e=!0,_a(t)):e=!1,ii(t,n),yi(t,r,a),_i(t,r,a,n),Go(null,t,r,!0,e,n);case 19:return il(e,t,n);case 23:case 24:return qo(e,t,n)}throw Error(o(156,t.tag))},ac.prototype.render=function(e){ec(e,this._internalRoot,null,null)},ac.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;ec(null,e,null,(function(){t[ea]=null}))},tt=function(e){13===e.tag&&(hs(e,4,fs()),rc(e,4))},nt=function(e){13===e.tag&&(hs(e,67108864,fs()),rc(e,67108864))},rt=function(e){if(13===e.tag){var t=fs(),n=ms(e);hs(e,n,t),rc(e,n)}},at=function(e,t){return t()},Pe=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ia(r);if(!a)throw Error(o(90));X(r),ne(r,a)}}}break;case"textarea":ce(e,n);break;case"select":null!=(t=n.value)&&oe(e,!!n.multiple,t,!1)}},Ne=_s,Le=function(e,t,n,r,a){var i=Nl;Nl|=4;try{return Ga(98,e.bind(null,t,n,r,a))}finally{0===(Nl=i)&&(Kl(),Ka())}},De=function(){!(49&Nl)&&(function(){if(null!==is){var e=is;is=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,bs(e,Ha())}))}Ka()}(),Ms())},Me=function(e,t){var n=Nl;Nl|=2;try{return e(t)}finally{0===(Nl=n)&&(Kl(),Ka())}};var sc={Events:[ra,aa,ia,Re,Ie,Ms,{current:!1}]},cc={findFiberByHostInstance:na,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},uc={bundleType:cc.bundleType,version:cc.version,rendererPackageName:cc.rendererPackageName,rendererConfig:cc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:_.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:cc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var dc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!dc.isDisabled&&dc.supportsFiber)try{ka=dc.inject(uc),Ea=dc}catch(ge){}}t.createPortal=lc,t.hydrate=function(e,t,n){if(!ic(t))throw Error(o(200));return oc(null,e,t,!0,n)}},961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(2551)},5287:(e,t,n)=>{"use strict";var r=n(1664),a=60103,i=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,l=60110,s=60112;t.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;a=d("react.element"),i=d("react.portal"),t.Fragment=d("react.fragment"),t.StrictMode=d("react.strict_mode"),t.Profiler=d("react.profiler"),o=d("react.provider"),l=d("react.context"),s=d("react.forward_ref"),t.Suspense=d("react.suspense"),c=d("react.memo"),u=d("react.lazy")}var p="function"==typeof Symbol&&Symbol.iterator;function f(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h={};function g(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(f(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=g.prototype;var y=v.prototype=new b;y.constructor=v,r(y,g.prototype),y.isPureReactComponent=!0;var w={current:null},_=Object.prototype.hasOwnProperty,S={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,n){var r,i={},o=null,l=null;if(null!=t)for(r in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(o=""+t.key),t)_.call(t,r)&&!S.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(1===s)i.children=n;else if(1<s){for(var c=Array(s),u=0;u<s;u++)c[u]=arguments[u+2];i.children=c}if(e&&e.defaultProps)for(r in s=e.defaultProps)void 0===i[r]&&(i[r]=s[r]);return{$$typeof:a,type:e,key:o,ref:l,props:i,_owner:w.current}}function E(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var x=/\/+/g;function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function P(e,t,n,r,o){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case a:case i:s=!0}}if(s)return o=o(s=e),e=""===r?"."+C(s,0):r,Array.isArray(o)?(n="",null!=e&&(n=e.replace(x,"$&/")+"/"),P(o,t,n,"",(function(e){return e}))):null!=o&&(E(o)&&(o=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,n+(!o.key||s&&s.key===o.key?"":(""+o.key).replace(x,"$&/")+"/")+e)),t.push(o)),1;if(s=0,r=""===r?".":r+":",Array.isArray(e))for(var c=0;c<e.length;c++){var u=r+C(l=e[c],c);s+=P(l,t,n,u,o)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(l=e.next()).done;)s+=P(l=l.value,t,n,u=r+C(l,c++),o);else if("object"===l)throw t=""+e,Error(f(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return s}function T(e,t,n){if(null==e)return e;var r=[],a=0;return P(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function A(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var O={current:null};function R(){var e=O.current;if(null===e)throw Error(f(321));return e}var I={ReactCurrentDispatcher:O,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:T,forEach:function(e,t,n){T(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(e,(function(e){return e}))||[]},only:function(e){if(!E(e))throw Error(f(143));return e}},t.Component=g,t.PureComponent=v,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,t.cloneElement=function(e,t,n){if(null==e)throw Error(f(267,e));var i=r({},e.props),o=e.key,l=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,s=w.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(u in t)_.call(t,u)&&!S.hasOwnProperty(u)&&(i[u]=void 0===t[u]&&void 0!==c?c[u]:t[u])}var u=arguments.length-2;if(1===u)i.children=n;else if(1<u){c=Array(u);for(var d=0;d<u;d++)c[d]=arguments[d+2];i.children=c}return{$$typeof:a,type:e.type,key:o,ref:l,props:i,_owner:s}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:l,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=k,t.createFactory=function(e){var t=k.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:s,render:e}},t.isValidElement=E,t.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return R().useCallback(e,t)},t.useContext=function(e,t){return R().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return R().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return R().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return R().useLayoutEffect(e,t)},t.useMemo=function(e,t){return R().useMemo(e,t)},t.useReducer=function(e,t,n){return R().useReducer(e,t,n)},t.useRef=function(e){return R().useRef(e)},t.useState=function(e){return R().useState(e)},t.version="17.0.2"},6540:(e,t,n)=>{"use strict";e.exports=n(5287)},7463:(e,t)=>{"use strict";var n,r,a,i;if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,u=null,d=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(n){throw setTimeout(d,0),n}};n=function(e){null!==c?setTimeout(n,0,e):(c=e,setTimeout(d,0))},r=function(e,t){u=setTimeout(e,t)},a=function(){clearTimeout(u)},t.unstable_shouldYield=function(){return!1},i=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,f=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var h=!1,g=null,b=-1,v=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},i=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):v=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,_=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();y=e+v;try{g(!0,e)?_.postMessage(null):(h=!1,g=null)}catch(n){throw _.postMessage(null),n}}else h=!1},n=function(e){g=e,h||(h=!0,_.postMessage(null))},r=function(e,n){b=p((function(){e(t.unstable_now())}),n)},a=function(){f(b),b=-1}}function S(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<x(a,t)))break e;e[r]=t,e[n]=a,n=r}}function k(e){return void 0===(e=e[0])?null:e}function E(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var i=2*(r+1)-1,o=e[i],l=i+1,s=e[l];if(void 0!==o&&0>x(o,n))void 0!==s&&0>x(s,o)?(e[r]=s,e[l]=n,r=l):(e[r]=o,e[i]=n,r=i);else{if(!(void 0!==s&&0>x(s,n)))break e;e[r]=s,e[l]=n,r=l}}}return t}return null}function x(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var C=[],P=[],T=1,A=null,O=3,R=!1,I=!1,N=!1;function L(e){for(var t=k(P);null!==t;){if(null===t.callback)E(P);else{if(!(t.startTime<=e))break;E(P),t.sortIndex=t.expirationTime,S(C,t)}t=k(P)}}function D(e){if(N=!1,L(e),!I)if(null!==k(C))I=!0,n(M);else{var t=k(P);null!==t&&r(D,t.startTime-e)}}function M(e,n){I=!1,N&&(N=!1,a()),R=!0;var i=O;try{for(L(n),A=k(C);null!==A&&(!(A.expirationTime>n)||e&&!t.unstable_shouldYield());){var o=A.callback;if("function"==typeof o){A.callback=null,O=A.priorityLevel;var l=o(A.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?A.callback=l:A===k(C)&&E(C),L(n)}else E(C);A=k(C)}if(null!==A)var s=!0;else{var c=k(P);null!==c&&r(D,c.startTime-n),s=!1}return s}finally{A=null,O=i,R=!1}}var j=i;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){I||R||(I=!0,n(M))},t.unstable_getCurrentPriorityLevel=function(){return O},t.unstable_getFirstCallbackNode=function(){return k(C)},t.unstable_next=function(e){switch(O){case 1:case 2:case 3:var t=3;break;default:t=O}var n=O;O=t;try{return e()}finally{O=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=j,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=O;O=e;try{return t()}finally{O=n}},t.unstable_scheduleCallback=function(e,i,o){var l=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?l+o:l:o=l,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:T++,callback:i,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>l?(e.sortIndex=o,S(P,e),null===k(C)&&e===k(P)&&(N?a():N=!0,r(D,o-l))):(e.sortIndex=s,S(C,e),I||R||(I=!0,n(M))),e},t.unstable_wrapCallback=function(e){var t=O;return function(){var n=O;O=t;try{return e.apply(this,arguments)}finally{O=n}}}},9982:(e,t,n)=>{"use strict";e.exports=n(7463)},8102:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(null,arguments)}n.d(t,{A:()=>r})},1146:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},9257:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},6143:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=!0,a="Invariant failed";function i(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,i=n?"".concat(a,": ").concat(n):a;throw new Error(i)}}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"IMA.js",tagline:"A Javascript framework for creating isomorphic applications.",url:"https://imajs.io",baseUrl:"/",onBrokenLinks:"warn",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.ico",organizationName:"seznam",projectName:"ima",plugins:[["docusaurus-plugin-typedoc",{entryPoints:["../packages/cli","../packages/core","../packages/react-page-renderer","../packages/dev-utils","../packages/plugin-cli"],entryPointStrategy:"packages",includeVersion:!0,categorizeByGroup:!0,cleanOutputDir:!0,jsDocCompatibility:!0,exclude:"index",readme:"none",out:"../../docs/api",sidebar:{fullNames:!0}}],null],presets:[["classic",{docs:{breadcrumbs:!1,path:"../docs",showLastUpdateTime:!0,showLastUpdateAuthor:!0,routeBasePath:"/",sidebarPath:"/home/runner/work/ima/ima/website/sidebars.js",editUrl:"https://github.com/seznam/ima/tree/master/docs",remarkPlugins:[[null,{sync:!0}]]},pages:{path:"src/pages",routeBasePath:"/",include:["**/*.{js,jsx,ts,tsx,md,mdx}"]},theme:{customCss:"/home/runner/work/ima/ima/website/src/css/custom.css"},sitemap:{changefreq:"weekly",priority:.5,ignorePatterns:["/tags/**"],filename:"sitemap.xml"}}]],themeConfig:{algolia:{appId:"H3HJGI4FWU",apiKey:"9afc43748aad4ed8acb6968a0b5473d0",indexName:"imajs",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},navbar:{title:"IMA.js",logo:{alt:"IMA.js, Isomorphic application in javascript",src:"img/logo.svg"},items:[{type:"doc",docId:"introduction/getting-started",position:"right",label:"Docs"},{type:"doc",docId:"tutorial/introduction",position:"right",label:"Tutorial"},{to:"api",position:"right",label:"API"},{type:"search",position:"right"},{href:"https://github.com/seznam/ima",className:"header-github-link",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"light",copyright:"Copyright \xa9 1996 - 2025 Seznam.cz a. s.",links:[]},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},tableOfContents:{maxHeadingLevel:4,minHeadingLevel:2},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[]},baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{mermaid:!1}}},2654:e=>{"use strict";e.exports={}},4054:e=>{"use strict";e.exports=JSON.parse('{"/search-c1e":{"__comp":"1a4e3797","__context":{"plugin":"1afd1704"}},"/-5e3":{"__comp":"9dd8a0d2","__context":{"plugin":"173fd68b"},"config":"5e9f5e1a"},"/-f4d":{"__comp":"1be78505","__context":{"plugin":"11611510"},"versionMetadata":"935f2afb"},"/advanced-features/dynamic-imports-76f":{"__comp":"17896441","content":"1352a5d9"},"/api/-ed1":{"__comp":"17896441","content":"728bf073"},"/api/classes/ima_core.AbstractController-2fe":{"__comp":"17896441","content":"cd24e9bf"},"/api/classes/ima_core.AbstractExecution-586":{"__comp":"17896441","content":"7c2f5bb0"},"/api/classes/ima_core.AbstractExtension-475":{"__comp":"17896441","content":"2ca52c80"},"/api/classes/ima_core.AbstractPageManager-321":{"__comp":"17896441","content":"d3f37276"},"/api/classes/ima_core.AbstractRoute-192":{"__comp":"17896441","content":"5dc5c8af"},"/api/classes/ima_core.AbstractRouter-af5":{"__comp":"17896441","content":"3c40fb45"},"/api/classes/ima_core.Bootstrap-584":{"__comp":"17896441","content":"12a940f3"},"/api/classes/ima_core.Cache-5c1":{"__comp":"17896441","content":"e28793d2"},"/api/classes/ima_core.CacheEntry-92c":{"__comp":"17896441","content":"98990be4"},"/api/classes/ima_core.CacheFactory-303":{"__comp":"17896441","content":"eb04481e"},"/api/classes/ima_core.CacheImpl-a32":{"__comp":"17896441","content":"a5ac8c5f"},"/api/classes/ima_core.CancelError-a82":{"__comp":"17896441","content":"6dfadff3"},"/api/classes/ima_core.ClientPageManager-c81":{"__comp":"17896441","content":"16feba69"},"/api/classes/ima_core.ClientRouter-4a2":{"__comp":"17896441","content":"1ae9d490"},"/api/classes/ima_core.ClientWindow-4fe":{"__comp":"17896441","content":"46be744b"},"/api/classes/ima_core.ComponentUtils-747":{"__comp":"17896441","content":"192c90c3"},"/api/classes/ima_core.Controller-c97":{"__comp":"17896441","content":"6af56cb1"},"/api/classes/ima_core.ControllerDecorator-928":{"__comp":"17896441","content":"d5dd36e5"},"/api/classes/ima_core.CookieStorage-2e8":{"__comp":"17896441","content":"3149f580"},"/api/classes/ima_core.Dictionary-359":{"__comp":"17896441","content":"3834631c"},"/api/classes/ima_core.Dispatcher-714":{"__comp":"17896441","content":"2c83167a"},"/api/classes/ima_core.DispatcherImpl-323":{"__comp":"17896441","content":"6b2b427d"},"/api/classes/ima_core.DynamicRoute-4d1":{"__comp":"17896441","content":"f20b9f24"},"/api/classes/ima_core.Entry-5db":{"__comp":"17896441","content":"53ddc8eb"},"/api/classes/ima_core.Error-183":{"__comp":"17896441","content":"d9f67a67"},"/api/classes/ima_core.EventBus-691":{"__comp":"17896441","content":"91f1837b"},"/api/classes/ima_core.EventBusImpl-1c2":{"__comp":"17896441","content":"6089708e"},"/api/classes/ima_core.Execution-877":{"__comp":"17896441","content":"27b4c996"},"/api/classes/ima_core.Extension-64f":{"__comp":"17896441","content":"83e0a767"},"/api/classes/ima_core.GenericError-bd6":{"__comp":"17896441","content":"67be0ef1"},"/api/classes/ima_core.HttpAgent-7cd":{"__comp":"17896441","content":"72a309aa"},"/api/classes/ima_core.HttpAgentImpl-d44":{"__comp":"17896441","content":"f3bc0fbd"},"/api/classes/ima_core.HttpProxy-047":{"__comp":"17896441","content":"cf9cb426"},"/api/classes/ima_core.MapStorage-3af":{"__comp":"17896441","content":"a2c3b390"},"/api/classes/ima_core.MessageFormatDictionary-456":{"__comp":"17896441","content":"c0d8042e"},"/api/classes/ima_core.MetaManager-982":{"__comp":"17896441","content":"6bff6b59"},"/api/classes/ima_core.MetaManagerImpl-de9":{"__comp":"17896441","content":"ec3413e1"},"/api/classes/ima_core.Namespace-6a3":{"__comp":"17896441","content":"bffc20a2"},"/api/classes/ima_core.ObjectContainer-1ed":{"__comp":"17896441","content":"25accc40"},"/api/classes/ima_core.Observable-6d5":{"__comp":"17896441","content":"7325f36b"},"/api/classes/ima_core.ObservableImpl-c25":{"__comp":"17896441","content":"bcef1ffa"},"/api/classes/ima_core.PageFactory-095":{"__comp":"17896441","content":"b40f4eed"},"/api/classes/ima_core.PageHandler-a12":{"__comp":"17896441","content":"45e185c2"},"/api/classes/ima_core.PageHandlerRegistry-e2e":{"__comp":"17896441","content":"db94485c"},"/api/classes/ima_core.PageManager-e8c":{"__comp":"17896441","content":"abceb8ed"},"/api/classes/ima_core.PageMetaHandler-9fd":{"__comp":"17896441","content":"2e35e39d"},"/api/classes/ima_core.PageNavigationHandler-cb5":{"__comp":"17896441","content":"087d9a97"},"/api/classes/ima_core.PageRenderer-b40":{"__comp":"17896441","content":"30c3cb5b"},"/api/classes/ima_core.PageStateManager-78d":{"__comp":"17896441","content":"525a1f42"},"/api/classes/ima_core.PageStateManagerDecorator-511":{"__comp":"17896441","content":"81d07132"},"/api/classes/ima_core.PageStateManagerImpl-ec9":{"__comp":"17896441","content":"321fbd12"},"/api/classes/ima_core.PluginLoader-2d9":{"__comp":"17896441","content":"a59d7f05"},"/api/classes/ima_core.Request-2f1":{"__comp":"17896441","content":"44cf4fdc"},"/api/classes/ima_core.Response-53f":{"__comp":"17896441","content":"6520cedf"},"/api/classes/ima_core.RouteFactory-3a1":{"__comp":"17896441","content":"48d92cf8"},"/api/classes/ima_core.Router-121":{"__comp":"17896441","content":"63ced45c"},"/api/classes/ima_core.SerialBatch-259":{"__comp":"17896441","content":"c69312c2"},"/api/classes/ima_core.ServerPageManager-a4c":{"__comp":"17896441","content":"3fb1a119"},"/api/classes/ima_core.ServerRouter-639":{"__comp":"17896441","content":"f4795e20"},"/api/classes/ima_core.ServerWindow-dce":{"__comp":"17896441","content":"42be0be8"},"/api/classes/ima_core.SessionMapStorage-4e6":{"__comp":"17896441","content":"ac0ebe99"},"/api/classes/ima_core.SessionStorage-c11":{"__comp":"17896441","content":"8ed4501f"},"/api/classes/ima_core.StaticRoute-6d0":{"__comp":"17896441","content":"cd0a3e0f"},"/api/classes/ima_core.Storage-836":{"__comp":"17896441","content":"10a88b42"},"/api/classes/ima_core.UrlTransformer-c50":{"__comp":"17896441","content":"61e14e81"},"/api/classes/ima_core.WeakMapStorage-d69":{"__comp":"17896441","content":"dc7901fe"},"/api/classes/ima_core.Window-04c":{"__comp":"17896441","content":"755ee4a1"},"/api/classes/ima_dev_utils.Logger-7fd":{"__comp":"17896441","content":"0f7684f2"},"/api/classes/ima_react_page_renderer.AbstractComponent-226":{"__comp":"17896441","content":"3410d364"},"/api/classes/ima_react_page_renderer.AbstractPureComponent-389":{"__comp":"17896441","content":"151b6e84"},"/api/classes/ima_react_page_renderer.BlankManagedRootView-367":{"__comp":"17896441","content":"0b497735"},"/api/classes/ima_react_page_renderer.ErrorBoundary-056":{"__comp":"17896441","content":"435e6e8a"},"/api/classes/ima_react_page_renderer.PageRendererFactory-c01":{"__comp":"17896441","content":"94bace71"},"/api/classes/ima_react_page_renderer.ServerPageRenderer-469":{"__comp":"17896441","content":"1ae6f9c3"},"/api/classes/ima_react_page_renderer.ViewAdapter-13a":{"__comp":"17896441","content":"70db71fd"},"/api/enums/ima_core.ActionTypes-b3c":{"__comp":"17896441","content":"106127c8"},"/api/enums/ima_core.BindingState-d0e":{"__comp":"17896441","content":"6669b354"},"/api/enums/ima_core.HttpStatusCode-8c8":{"__comp":"17896441","content":"68d1a169"},"/api/enums/ima_core.RendererEvents-e04":{"__comp":"17896441","content":"5e7d82a6"},"/api/enums/ima_core.RendererTypes-c6e":{"__comp":"17896441","content":"70e9fb71"},"/api/enums/ima_core.RouteNames-ec3":{"__comp":"17896441","content":"968740e1"},"/api/enums/ima_core.RouterEvents-1fc":{"__comp":"17896441","content":"01fc3ad9"},"/api/enums/ima_core.StateEvents-8ce":{"__comp":"17896441","content":"8c1bb129"},"/api/interfaces/ima_cli.ImaCliArgs-267":{"__comp":"17896441","content":"c6f16711"},"/api/interfaces/ima_cli.ImaCliPlugin-0dd":{"__comp":"17896441","content":"10f85a35"},"/api/interfaces/ima_cli.ImaConfigurationContext-2db":{"__comp":"17896441","content":"18ba1c5e"},"/api/interfaces/ima_core.AppEnvironment-747":{"__comp":"17896441","content":"27a3d74a"},"/api/interfaces/ima_core.BootConfig-108":{"__comp":"17896441","content":"e19de693"},"/api/interfaces/ima_core.BootServices-a30":{"__comp":"17896441","content":"ac1b1cf0"},"/api/interfaces/ima_core.DictionaryMap-60d":{"__comp":"17896441","content":"0e14dc68"},"/api/interfaces/ima_core.DispatcherEventsMap-435":{"__comp":"17896441","content":"a394c21d"},"/api/interfaces/ima_core.Environment-1a6":{"__comp":"17896441","content":"7500682d"},"/api/interfaces/ima_core.GlobalImaObject-76d":{"__comp":"17896441","content":"0b304565"},"/api/interfaces/ima_core.HttpAgentRequestOptions-e3b":{"__comp":"17896441","content":"f219100a"},"/api/interfaces/ima_core.ImaRequestInit-922":{"__comp":"17896441","content":"214956d8"},"/api/interfaces/ima_core.InitAppConfig-bcc":{"__comp":"17896441","content":"7af7958b"},"/api/interfaces/ima_core.InitImaConfig-067":{"__comp":"17896441","content":"cdea063f"},"/api/interfaces/ima_core.InitPluginConfig-2ff":{"__comp":"17896441","content":"1d150b43"},"/api/interfaces/ima_core.Manifest-a97":{"__comp":"17896441","content":"57a07ec0"},"/api/interfaces/ima_core.ManifestAsset-840":{"__comp":"17896441","content":"aefc0c3a"},"/api/interfaces/ima_core.OCAliasMap-2a7":{"__comp":"17896441","content":"10617864"},"/api/interfaces/ima_core.PageAction-862":{"__comp":"17896441","content":"0915269d"},"/api/interfaces/ima_core.PageRendererSettings-923":{"__comp":"17896441","content":"59e9decf"},"/api/interfaces/ima_core.Resources-361":{"__comp":"17896441","content":"9294f473"},"/api/interfaces/ima_core.RouteAction-48a":{"__comp":"17896441","content":"deb892ed"},"/api/interfaces/ima_core.RouteFactoryOptions-9f9":{"__comp":"17896441","content":"153c616c"},"/api/interfaces/ima_core.RouteLocals-19d":{"__comp":"17896441","content":"9fdfc27e"},"/api/interfaces/ima_core.RouteOptions-35a":{"__comp":"17896441","content":"094a494b"},"/api/interfaces/ima_core.Settings-c68":{"__comp":"17896441","content":"13512aaf"},"/api/interfaces/ima_core.Utils-305":{"__comp":"17896441","content":"487a916d"},"/api/interfaces/ima_core.WindowCustomEventsMap-d6e":{"__comp":"17896441","content":"7651edab"},"/api/interfaces/ima_dev_utils.CompileError-8ba":{"__comp":"17896441","content":"a570e4e4"},"/api/interfaces/ima_dev_utils.FragmentLine-743":{"__comp":"17896441","content":"67f04688"},"/api/interfaces/ima_dev_utils.LoggerOptions-edc":{"__comp":"17896441","content":"9c0ba269"},"/api/interfaces/ima_plugin_cli.Context-c08":{"__comp":"17896441","content":"4a07765f"},"/api/interfaces/ima_plugin_cli.ImaPluginConfig-77a":{"__comp":"17896441","content":"805384b8"},"/api/interfaces/ima_plugin_cli.PipeContext-5be":{"__comp":"17896441","content":"56922005"},"/api/interfaces/ima_plugin_cli.Source-8b4":{"__comp":"17896441","content":"e06953e7"},"/api/interfaces/ima_react_page_renderer.PageContextType-a88":{"__comp":"17896441","content":"212e3b5d"},"/api/interfaces/ima_react_page_renderer.useComponentType-b78":{"__comp":"17896441","content":"48fa096e"},"/api/interfaces/ima_react_page_renderer.useDispatcherType-f98":{"__comp":"17896441","content":"418a1cae"},"/api/interfaces/ima_react_page_renderer.useEventBusType-e21":{"__comp":"17896441","content":"327aa04a"},"/api/interfaces/ima_react_page_renderer.ViewAdapterProps-838":{"__comp":"17896441","content":"6f7688a7"},"/api/modules/ima_cli-3e9":{"__comp":"17896441","content":"ecde905a"},"/api/modules/ima_core-c3e":{"__comp":"17896441","content":"1bd618df"},"/api/modules/ima_dev_utils-ffe":{"__comp":"17896441","content":"5401ed5c"},"/api/modules/ima_plugin_cli-ab3":{"__comp":"17896441","content":"4d5af51b"},"/api/modules/ima_react_page_renderer-d9b":{"__comp":"17896441","content":"ab2e5842"},"/basic-features/controller-lifecycle-4a4":{"__comp":"17896441","content":"934bc43e"},"/basic-features/data-fetching-b65":{"__comp":"17896441","content":"6527a706"},"/basic-features/dictionary-ce4":{"__comp":"17896441","content":"284c0bdc"},"/basic-features/error-handling-925":{"__comp":"17896441","content":"f747c071"},"/basic-features/events-f93":{"__comp":"17896441","content":"b03cb8d5"},"/basic-features/extensions-d96":{"__comp":"17896441","content":"c7fb0ffe"},"/basic-features/handling-scripts-and-styles-db0":{"__comp":"17896441","content":"9e4a7547"},"/basic-features/object-container-a86":{"__comp":"17896441","content":"21ee5e18"},"/basic-features/page-manager-e00":{"__comp":"17896441","content":"162a65f7"},"/basic-features/page-state-e19":{"__comp":"17896441","content":"327389ac"},"/basic-features/rendering-process-bd7":{"__comp":"17896441","content":"798d67f4"},"/basic-features/routing/async-routing-7e9":{"__comp":"17896441","content":"1ba2ef78"},"/basic-features/routing/dynamic-routes-b16":{"__comp":"17896441","content":"658a263b"},"/basic-features/routing/introduction-a9e":{"__comp":"17896441","content":"25aeb21c"},"/basic-features/routing/middlewares-68e":{"__comp":"17896441","content":"a1fa3683"},"/basic-features/seo-and-meta-manager-81b":{"__comp":"17896441","content":"fc65f0be"},"/basic-features/testing-d80":{"__comp":"17896441","content":"6ae61f9d"},"/basic-features/typescript-8f1":{"__comp":"17896441","content":"046a2c8d"},"/basic-features/views-and-components-86d":{"__comp":"17896441","content":"54f60d95"},"/cli/-2b3":{"__comp":"17896441","content":"23f47465"},"/cli/additional-features-d49":{"__comp":"17896441","content":"87f53564"},"/cli/advanced-features-835":{"__comp":"17896441","content":"e25ffe8c"},"/cli/cli-plugins-api-282":{"__comp":"17896441","content":"3c01549e"},"/cli/compiler-features-b7c":{"__comp":"17896441","content":"d0063a96"},"/cli/ima-config-js-a17":{"__comp":"17896441","content":"cd4295eb"},"/cli/plugins/analyze-plugin-e61":{"__comp":"17896441","content":"2ece5d09"},"/cli/plugins/less-constants-plugin-b4d":{"__comp":"17896441","content":"83bd1dfb"},"/cli/plugins/scramble-css-plugin-13d":{"__comp":"17896441","content":"a3814d4a"},"/contributing/how-to-contribute-c03":{"__comp":"17896441","content":"6a7c6930"},"/devtools/devtools-introduction-f83":{"__comp":"17896441","content":"585f1245"},"/devtools/devtools-options-f1a":{"__comp":"17896441","content":"f42f2945"},"/devtools/devtools-ui-dbe":{"__comp":"17896441","content":"7dab2b4a"},"/introduction/configuration-fe0":{"__comp":"17896441","content":"fe1eb9bc"},"/introduction/getting-started-8ed":{"__comp":"17896441","content":"7132be39"},"/migration/migration-0.14.0-fb7":{"__comp":"17896441","content":"82fa5401"},"/migration/migration-0.15.0-6b9":{"__comp":"17896441","content":"33fd58a6"},"/migration/migration-0.16.0-3a9":{"__comp":"17896441","content":"f2d0b182"},"/migration/migration-17.0.0-580":{"__comp":"17896441","content":"2fa7fbb9"},"/migration/migration-18.0.0-3e2":{"__comp":"17896441","content":"201713f2"},"/migration/migration-19.0.0-076":{"__comp":"17896441","content":"506f4e3c"},"/plugins/available-plugins-ab0":{"__comp":"17896441","content":"d0a2dc9c"},"/plugins/plugin-api-5f6":{"__comp":"17896441","content":"4cabad03"},"/tutorial/adding-some-state-94d":{"__comp":"17896441","content":"f33aa945"},"/tutorial/fetching-data-e54":{"__comp":"17896441","content":"da5c5c21"},"/tutorial/final-polish-4f4":{"__comp":"17896441","content":"9e3f3c76"},"/tutorial/introduction-28d":{"__comp":"17896441","content":"8ec7ae24"},"/tutorial/static-view-504":{"__comp":"17896441","content":"54d95e21"},"/tutorial/writing-posts-914":{"__comp":"17896441","content":"50f70a8b"}}')}},e=>{e.O(0,[1869],(()=>{return t=3674,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.e30e3004.js b/assets/js/main.e30e3004.js new file mode 100644 index 000000000..8dc3f7cfd --- /dev/null +++ b/assets/js/main.e30e3004.js @@ -0,0 +1,2 @@ +/*! For license information please see main.e30e3004.js.LICENSE.txt */ +(self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[]).push([[8792],{5044:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>A,E8:()=>Yn,a1:()=>Jn});var a=n(3696);n(8325);function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function i(e,t,n,a,r,i,o){try{var s=e[i](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(a,r)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var o=e.apply(t,n);function s(e){i(o,a,r,s,c,"next",e)}function c(e){i(o,a,r,s,c,"throw",e)}s(void 0)}))}}function s(e,t,n){return t=d(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},p.apply(null,arguments)}function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function y(){y=function(){return t};var e,t={},n=Object.prototype,a=n.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var i=t&&t.prototype instanceof b?t:b,o=Object.create(i.prototype),s=new T(a||[]);return r(o,"_invoke",{value:P(e,n,s)}),o}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",f="suspendedYield",m="executing",h="completed",g={};function b(){}function v(){}function w(){}var S={};l(S,o,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(R([])));k&&k!==n&&a.call(k,o)&&(S=k);var _=w.prototype=b.prototype=Object.create(S);function E(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(r,i,o,s){var c=p(e[r],e,i);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&a.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(u).then((function(e){l.value=e,o(l)}),(function(e){return n("throw",e,o,s)}))}s(c.arg)}var i;r(this,"_invoke",{value:function(e,a){function r(){return new t((function(t,r){n(e,a,t,r)}))}return i=i?i.then(r,r):r()}})}function P(t,n,a){var r=d;return function(i,o){if(r===m)throw Error("Generator is already running");if(r===h){if("throw"===i)throw o;return{value:e,done:!0}}for(a.method=i,a.arg=o;;){var s=a.delegate;if(s){var c=A(s,a);if(c){if(c===g)continue;return c}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(r===d)throw r=h,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);r=m;var l=p(t,n,a);if("normal"===l.type){if(r=a.done?h:f,l.arg===g)continue;return{value:l.arg,done:a.done}}"throw"===l.type&&(r=h,a.method="throw",a.arg=l.arg)}}}function A(t,n){var a=n.method,r=t.iterator[a];if(r===e)return n.delegate=null,"throw"===a&&t.iterator.return&&(n.method="return",n.arg=e,A(t,n),"throw"===n.method)||"return"!==a&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+a+"' method")),g;var i=p(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function R(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r<t.length;)if(a.call(t,r))return n.value=t[r],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=w,r(_,"constructor",{value:w,configurable:!0}),r(w,"constructor",{value:v,configurable:!0}),v.displayName=l(w,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,l(e,c,"GeneratorFunction")),e.prototype=Object.create(_),e},t.awrap=function(e){return{__await:e}},E(C.prototype),l(C.prototype,s,(function(){return this})),t.AsyncIterator=C,t.async=function(e,n,a,r,i){void 0===i&&(i=Promise);var o=new C(u(e,n,a,r),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},E(_),l(_,c,"Generator"),l(_,o,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var a in t)n.push(a);return n.reverse(),function e(){for(;n.length;){var a=n.pop();if(a in t)return e.value=a,e.done=!1,e}return e.done=!0,e}},t.values=R,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(a,r){return s.type="throw",s.arg=t,n.next=a,r&&(n.method="next",n.arg=e),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=a.call(o,"catchLoc"),l=a.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var r=a.arg;j(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,n,a){return this.delegate={iterator:R(t),resultName:n,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,s=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw r}}return s}}(e,t)||x(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||x(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function k(e){var t="function"==typeof Map?new Map:void 0;return k=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(m())return Reflect.construct.apply(null,arguments);var a=[null];a.push.apply(a,t);var r=new(e.bind.apply(e,a));return n&&v(r,n.prototype),r}(e,arguments,d(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,e)},k(e)}function _(){return a.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},a.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function E(){return a.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},a.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var C=["translations"],P="Ctrl",A=a.forwardRef((function(e,t){var n=e.translations,r=void 0===n?{}:n,i=b(e,C),o=r.buttonText,s=void 0===o?"Search":o,c=r.buttonAriaLabel,l=void 0===c?"Search":c,u=w((0,a.useState)(null),2),d=u[0],f=u[1];(0,a.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(P))}),[]);var m=w(d===P?[P,"Ctrl",a.createElement(_,null)]:["Meta","Command",d],3),h=m[0],g=m[1],y=m[2];return a.createElement("button",p({type:"button",className:"DocSearch DocSearch-Button","aria-label":"".concat(l," (").concat(g,"+K)")},i,{ref:t}),a.createElement("span",{className:"DocSearch-Button-Container"},a.createElement(E,null),a.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),a.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&a.createElement(a.Fragment,null,a.createElement(O,{reactsToKey:h},y),a.createElement(O,{reactsToKey:"k"},"K"))))}));function O(e){var t=e.reactsToKey,n=e.children,r=w((0,a.useState)(!1),2),i=r[0],o=r[1];return(0,a.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&o(!0)}function n(e){e.key!==t&&"Meta"!==e.key||o(!1)}}),[t]),a.createElement("kbd",{className:i?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}function j(e,t){var n=void 0;return function(){for(var a=arguments.length,r=new Array(a),i=0;i<a;i++)r[i]=arguments[i];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,r)}),t)}}function T(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var R=0;function I(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function D(e){return e!==Object(e)}function L(e,t){if(e===t)return!0;if(D(e)||D(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,a=Object.keys(e);n<a.length;n++){var r=a[n];if(!(r in t))return!1;if(!L(e[r],t[r]))return!1}return!0}var M=function(){},N=[{segment:"autocomplete-core",version:"1.17.9"}];function F(e){var t=e.item,n=e.items,a=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+a.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var z=["items"],U=["items"];function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function H(e){return function(e){if(Array.isArray(e))return $(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return $(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function V(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function K(e,t,n){return(t=function(e){var t=function(e){if("object"!==q(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==q(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===q(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(e){return e.map((function(e){var t=e.items,n=V(e,z);return G(G({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function J(e){var t,n,a,r=(t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,s=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t);else for(;!(c=(a=i.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((e.version||"").split(".").map(Number),2),n=t[0],a=t[1],n>=3||2===n&&a>=4||1===n&&a>=10);function i(t,n,a){if(r&&void 0!==a){var i=a[0].__autocomplete_algoliaCredentials,o={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(H(n),[{headers:o}]))}else e.apply(void 0,[t].concat(H(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setAuthenticatedUserToken:function(t){e("setAuthenticatedUserToken",t)},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("clickedObjectIDsAfterSearch",Q(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("clickedObjectIDs",Q(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("convertedObjectIDsAfterSearch",Q(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&i("convertedObjectIDs",Q(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&t.reduce((function(e,t){var n=t.items,a=V(t,U);return[].concat(H(e),H(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],a=0;a<e.objectIDs.length;a+=t)n.push(G(G({},e),{},{objectIDs:e.objectIDs.slice(a,a+t)}));return n}(G(G({},a),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||a.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Y(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function Z(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function ee(e){return function(e){if(Array.isArray(e))return te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function re(e,t,n){return(t=function(e){var t=function(e){if("object"!==X(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==X(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===X(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ie="2.15.0",oe="https://cdn.jsdelivr.net/npm/search-insights@".concat(ie,"/dist/search-insights.min.js"),se=j((function(e){var t=e.onItemsChange,n=e.items,a=e.insights,r=e.state;t({insights:a,insightsEvents:Y({items:n}).map((function(e){return ae({eventName:"Items Viewed"},e)})),state:r})}),400);function ce(e){var t=function(e){return ae({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents,a=e.state;t.viewedObjectIDs.apply(t,ee(n.map((function(e){return ae(ae({},e),{},{algoliaSource:le(e.algoliaSource,a.context)})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents,a=e.state;t.clickedObjectIDsAfterSearch.apply(t,ee(n.map((function(e){return ae(ae({},e),{},{algoliaSource:le(e.algoliaSource,a.context)})}))))},onActive:M,__autocomplete_clickAnalytics:!0},e)}(e),n=t.insightsClient,a=t.insightsInitParams,r=t.onItemsChange,i=t.onSelect,o=t.onActive,s=t.__autocomplete_clickAnalytics,c=n;if(n||"undefined"!=typeof window&&function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(c=t[n]),c||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,a=new Array(e),r=0;r<e;r++)a[r]=arguments[r];t[n].queue.push(a)}),t[n].version=ie,c=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=oe,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))}({window:window}),!c)return{};a&&c("init",ae({partial:!0},a));var l=J(c),u={current:[]},p=j((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(ee(e),ee(t.items))}),[]).filter(Z);L(u.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(u.current=n,n.length>0&&se({onItemsChange:r,items:n,insights:l,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,a=e.onActive;function r(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:ae(ae({},s?{clickAnalytics:!0}:{}),e?{userToken:ue(e)}:{}),insights:l}})}c("addAlgoliaAgent","insights-plugin"),r(),c("onUserTokenChange",(function(e){r(e)})),c("getUserToken",null,(function(e,t){r(t)})),n((function(e){var t=e.item,n=e.state,a=e.event,r=e.source;Z(t)&&i({state:n,event:a,insights:l,item:t,insightsEvents:[ae({eventName:"Item Selected"},F({item:t,items:r.getItems().filter(Z)}))]})})),a((function(e){var t=e.item,n=e.source,a=e.state,r=e.event;Z(t)&&o({state:a,event:r,insights:l,item:t,insightsEvents:[ae({eventName:"Item Active"},F({item:t,items:n.getItems().filter(Z)}))]})}))},onStateChange:function(e){var t=e.state;p({state:t})},__autocomplete_pluginOptions:e}}function le(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ee(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ee(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function ue(e){return"number"==typeof e?e.toString():e}function pe(e,t){var n=t;return{then:function(t,a){return pe(e.then(fe(t,n,e),fe(a,n,e)),n)},catch:function(t){return pe(e.catch(fe(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),pe(e.finally(fe(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function de(e){return pe(e,{isCanceled:!1,onCancelList:[]})}function fe(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function me(e,t,n,a){if(!n)return null;if(e<0&&(null===t||null!==a&&0===t))return n+e;var r=(null===t?-1:t)+e;return r<=-1||r>=n?null===a?null:0:r}function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?he(Object(n),!0).forEach((function(t){be(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function be(e,t,n){return(t=function(e){var t=function(e){if("object"!==ye(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){return ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(e)}function ve(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var a=(e[n-1]||0)+t;return e.push(a),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,a=!1,r=0,i=0;!1===a;){var o=t.collections[r];if(o===n){a=!0;break}i+=o.items.length,r++}return t.activeItemId-i}({state:e,collection:t})],a=t.source;return{item:n,itemInputValue:a.getItemInputValue({item:n,state:e}),itemUrl:a.getItemUrl({item:n,state:e}),source:a}}function we(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}var Se=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function xe(e){return e.nativeEvent||e}function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}function _e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ee(e,t,n){return(t=function(e){var t=function(e){if("object"!==ke(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ke(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ke(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ce(e){return Ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ce(e)}function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pe(Object(n),!0).forEach((function(t){Oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Oe(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ce(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ce(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ce(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function je(e){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},je(e)}function Te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function Re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Re(Object(n),!0).forEach((function(t){De(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Re(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function De(e,t,n){return(t=function(e){var t=function(e){if("object"!==je(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==je(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===je(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Le(e,t){var n,a="undefined"!=typeof window?window:{},r=e.plugins||[];return Ie(Ie({debug:!1,openOnFocus:!1,enterKeyHint:void 0,ignoreCompositionEvents:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:void 0,environment:a,shouldPanelOpen:function(e){return I(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:"autocomplete-".concat(R++),plugins:r,initialState:Ie({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),r.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),r.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),r.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(function(e){return function(e){if(Array.isArray(e))return Te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(r.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:M,onResolve:M};Object.keys(t).forEach((function(e){t[e].__default=!0}));var a=ge(ge({},t),e);return Promise.resolve(a)})))}))}(e,n)}))).then((function(e){return T(e)})).then((function(e){return e.map((function(e){return Ie(Ie({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:Ie({navigate:function(e){var t=e.itemUrl;a.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=a.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;a.open(t,"_blank","noopener")}},e.navigator)})}function Me(e){return Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(e)}function Ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ne(Object(n),!0).forEach((function(t){Be(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Be(e,t,n){return(t=function(e){var t=function(e){if("object"!==Me(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Me(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Me(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}function Ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ue(Object(n),!0).forEach((function(t){He(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ue(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function He(e,t,n){return(t=function(e){var t=function(e){if("object"!==ze(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ze(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $e(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ve(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function We(e){return Boolean(e.execute)}function Ge(e){var t=e.reduce((function(e,t){if(!We(t))return e.push(t),e;var n=t.searchClient,a=t.execute,r=t.requesterId,i=t.requests,o=e.find((function(e){return We(t)&&We(e)&&e.searchClient===n&&Boolean(r)&&e.requesterId===r}));if(o){var s;(s=o.items).push.apply(s,$e(i))}else{var c={execute:a,requesterId:r,items:i,searchClient:n};e.push(c)}return e}),[]).map((function(e){if(!We(e))return Promise.resolve(e);var t=e,n=t.execute,a=t.items;return n({searchClient:t.searchClient,requests:a})}));return Promise.all(t).then((function(e){return T(e)}))}function Ke(e){return Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ke(e)}var Qe=["event","nextState","props","query","refresh","store"];function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ye(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Je(Object(n),!0).forEach((function(t){Ze(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ze(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ke(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ke(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ke(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Xe,et,tt,nt=null,at=(Xe=-1,et=-1,tt=void 0,function(e){var t=++Xe;return Promise.resolve(e).then((function(e){return tt&&t<et?tt:(et=t,tt=e,e)}))});function rt(e){var t=e.event,n=e.nextState,a=void 0===n?{}:n,r=e.props,i=e.query,o=e.refresh,s=e.store,c=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,Qe);nt&&r.environment.clearTimeout(nt);var l=c.setCollections,u=c.setIsOpen,p=c.setQuery,d=c.setActiveItemId,f=c.setStatus,m=c.setContext;if(p(i),d(r.defaultActiveItemId),!i&&!1===r.openOnFocus){var h,g=s.getState().collections.map((function(e){return Ye(Ye({},e),{},{items:[]})}));f("idle"),l(g),u(null!==(h=a.isOpen)&&void 0!==h?h:r.shouldPanelOpen({state:s.getState()}));var b=de(at(g).then((function(){return Promise.resolve()})));return s.pendingRequests.add(b)}f("loading"),nt=r.environment.setTimeout((function(){f("stalled")}),r.stallThreshold);var y=de(at(r.getSources(Ye({query:i,refresh:o,state:s.getState()},c)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(Ye({query:i,refresh:o,state:s.getState()},c))).then((function(t){return function(e,t,n){if(r=e,Boolean(null==r?void 0:r.execute)){var a="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat($e(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return qe(qe({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?qe(qe({},n),{},{params:qe(qe({},a),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var r;return{items:e,sourceId:t}}(t,e.sourceId,s.getState())}))}))).then(Ge).then((function(t){var n,a=t.some((function(e){return function(e){return!Array.isArray(e)&&Boolean(null==e?void 0:e._automaticInsights)}(e.items)}));return a&&m({algoliaInsightsPlugin:Ye(Ye({},(null===(n=s.getState().context)||void 0===n?void 0:n.algoliaInsightsPlugin)||{}),{},{__automaticInsights:a})}),function(e,t,n){return t.map((function(t){var a,r=e.filter((function(e){return e.sourceId===t.sourceId})),i=r.map((function(e){return e.items})),o=r[0].transformResponse,s=o?o({results:a=i,hits:a.map((function(e){return e.hits})).filter(Boolean),facetHits:a.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:s,state:n.getState()}),s.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:s}}))}(t,e,s)})).then((function(e){return function(e){var t=e.props,n=e.state,a=e.collections.reduce((function(e,t){return Fe(Fe({},e),{},Be({},t.source.sourceId,Fe(Fe({},t.source),{},{getItems:function(){return T(t.items)}})))}),{}),r=t.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:a,state:n}).sourcesBySourceId;return T(t.reshape({sourcesBySourceId:r,sources:Object.values(r),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:r,state:s.getState()})}))})))).then((function(e){var n;f("idle"),l(e);var p=r.shouldPanelOpen({state:s.getState()});u(null!==(n=a.isOpen)&&void 0!==n?n:r.openOnFocus&&!i&&p||p);var d=ve(s.getState());if(null!==s.getState().activeItemId&&d){var m=d.item,h=d.itemInputValue,g=d.itemUrl,b=d.source;b.onActive(Ye({event:t,item:m,itemInputValue:h,itemUrl:g,refresh:o,source:b,state:s.getState()},c))}})).finally((function(){f("idle"),nt&&r.environment.clearTimeout(nt)}));return s.pendingRequests.add(y)}function it(e){return it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},it(e)}var ot=["event","props","refresh","store"];function st(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?st(Object(n),!0).forEach((function(t){lt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):st(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lt(e,t,n){return(t=function(e){var t=function(e){if("object"!==it(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==it(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===it(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(e){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ut(e)}var pt=["props","refresh","store"],dt=["inputElement","formElement","panelElement"],ft=["inputElement"],mt=["inputElement","maxLength"],ht=["source"],gt=["item","source"];function bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function yt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bt(Object(n),!0).forEach((function(t){vt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t,n){return(t=function(e){var t=function(e){if("object"!==ut(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ut(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ut(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wt(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function St(e){var t=e.props,n=e.refresh,a=e.store,r=wt(e,pt);return{getEnvironmentProps:function(e){var n=e.inputElement,r=e.formElement,i=e.panelElement;function o(e){!a.getState().isOpen&&a.pendingRequests.isEmpty()||e.target===n||!1===[r,i].some((function(t){return(n=t)===(a=e.target)||n.contains(a);var n,a}))&&(a.dispatch("blur",null),t.debug||a.pendingRequests.cancelAll())}return yt({onTouchStart:o,onMouseDown:o,onTouchMove:function(e){!1!==a.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},wt(e,dt))},getRootProps:function(e){return yt({role:"combobox","aria-expanded":a.getState().isOpen,"aria-haspopup":"listbox","aria-controls":a.getState().isOpen?a.getState().collections.map((function(e){var n=e.source;return we(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":we(t.id,"label")},e)},getFormProps:function(e){return e.inputElement,yt({action:"",noValidate:!0,role:"search",onSubmit:function(i){var o;i.preventDefault(),t.onSubmit(yt({event:i,refresh:n,state:a.getState()},r)),a.dispatch("submit",null),null===(o=e.inputElement)||void 0===o||o.blur()},onReset:function(i){var o;i.preventDefault(),t.onReset(yt({event:i,refresh:n,state:a.getState()},r)),a.dispatch("reset",null),null===(o=e.inputElement)||void 0===o||o.focus()}},wt(e,ft))},getLabelProps:function(e){return yt({htmlFor:we(t.id,"input"),id:we(t.id,"label")},e)},getInputProps:function(e){var i;function o(e){(t.openOnFocus||Boolean(a.getState().query))&&rt(yt({event:e,props:t,query:a.getState().completion||a.getState().query,refresh:n,store:a},r)),a.dispatch("focus",null)}var s=e||{};s.inputElement;var c=s.maxLength,l=void 0===c?512:c,u=wt(s,mt),p=ve(a.getState()),d=function(e){return Boolean(e&&e.match(Se))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),f=t.enterKeyHint||(null!=p&&p.itemUrl&&!d?"go":"search");return yt({"aria-autocomplete":"both","aria-activedescendant":a.getState().isOpen&&null!==a.getState().activeItemId?we(t.id,"item-".concat(a.getState().activeItemId),null==p?void 0:p.source):void 0,"aria-controls":a.getState().isOpen?a.getState().collections.map((function(e){var n=e.source;return we(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":we(t.id,"label"),value:a.getState().completion||a.getState().query,id:we(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:f,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:l,type:"search",onChange:function(e){var i=e.currentTarget.value;t.ignoreCompositionEvents&&xe(e).isComposing?r.setQuery(i):rt(yt({event:e,props:t,query:i.slice(0,l),refresh:n,store:a},r))},onCompositionEnd:function(e){rt(yt({event:e,props:t,query:e.currentTarget.value.slice(0,l),refresh:n,store:a},r))},onKeyDown:function(e){xe(e).isComposing||function(e){var t=e.event,n=e.props,a=e.refresh,r=e.store,i=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,ot);if("ArrowUp"===t.key||"ArrowDown"===t.key){var o=function(){var e=ve(r.getState()),t=n.environment.document.getElementById(we(n.id,"item-".concat(r.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},s=function(){var e=ve(r.getState());if(null!==r.getState().activeItemId&&e){var n=e.item,o=e.itemInputValue,s=e.itemUrl,c=e.source;c.onActive(ct({event:t,item:n,itemInputValue:o,itemUrl:s,refresh:a,source:c,state:r.getState()},i))}};t.preventDefault(),!1===r.getState().isOpen&&(n.openOnFocus||Boolean(r.getState().query))?rt(ct({event:t,props:n,query:r.getState().query,refresh:a,store:r},i)).then((function(){r.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),s(),setTimeout(o,0)})):(r.dispatch(t.key,{}),s(),o())}else if("Escape"===t.key)t.preventDefault(),r.dispatch(t.key,null),r.pendingRequests.cancelAll();else if("Tab"===t.key)r.dispatch("blur",null),r.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===r.getState().activeItemId||r.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||r.pendingRequests.cancelAll());t.preventDefault();var c=ve(r.getState()),l=c.item,u=c.itemInputValue,p=c.itemUrl,d=c.source;if(t.metaKey||t.ctrlKey)void 0!==p&&(d.onSelect(ct({event:t,item:l,itemInputValue:u,itemUrl:p,refresh:a,source:d,state:r.getState()},i)),n.navigator.navigateNewTab({itemUrl:p,item:l,state:r.getState()}));else if(t.shiftKey)void 0!==p&&(d.onSelect(ct({event:t,item:l,itemInputValue:u,itemUrl:p,refresh:a,source:d,state:r.getState()},i)),n.navigator.navigateNewWindow({itemUrl:p,item:l,state:r.getState()}));else if(t.altKey);else{if(void 0!==p)return d.onSelect(ct({event:t,item:l,itemInputValue:u,itemUrl:p,refresh:a,source:d,state:r.getState()},i)),void n.navigator.navigate({itemUrl:p,item:l,state:r.getState()});rt(ct({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:a,store:r},i)).then((function(){d.onSelect(ct({event:t,item:l,itemInputValue:u,itemUrl:p,refresh:a,source:d,state:r.getState()},i))}))}}}(yt({event:e,props:t,refresh:n,store:a},r))},onFocus:o,onBlur:M,onClick:function(n){e.inputElement!==t.environment.document.activeElement||a.getState().isOpen||o(n)}},u)},getPanelProps:function(e){return yt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){a.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},a=n.source,r=wt(n,ht);return yt({role:"listbox","aria-labelledby":we(t.id,"label"),id:we(t.id,"list",a)},r)},getItemProps:function(e){var i=e.item,o=e.source,s=wt(e,gt);return yt({id:we(t.id,"item-".concat(i.__autocomplete_id),o),role:"option","aria-selected":a.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==a.getState().activeItemId){a.dispatch("mousemove",i.__autocomplete_id);var t=ve(a.getState());if(null!==a.getState().activeItemId&&t){var o=t.item,s=t.itemInputValue,c=t.itemUrl,l=t.source;l.onActive(yt({event:e,item:o,itemInputValue:s,itemUrl:c,refresh:n,source:l,state:a.getState()},r))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var s=o.getItemInputValue({item:i,state:a.getState()}),c=o.getItemUrl({item:i,state:a.getState()});(c?Promise.resolve():rt(yt({event:e,nextState:{isOpen:!1},props:t,query:s,refresh:n,store:a},r))).then((function(){o.onSelect(yt({event:e,item:i,itemInputValue:s,itemUrl:c,refresh:n,source:o,state:a.getState()},r))}))}},s)}}}function xt(e){return xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xt(e)}function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function _t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kt(Object(n),!0).forEach((function(t){Et(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Et(e,t,n){return(t=function(e){var t=function(e){if("object"!==xt(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==xt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===xt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ct(e){var t,n,a,r,i=e.plugins,o=e.options,s=null===(t=((null===(n=o.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,c=s?Et({},s,Object.keys((null===(a=o.__autocomplete_metadata)||void 0===a?void 0:a.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:_t({"autocomplete-core":Object.keys(o)},c),ua:N.concat((null===(r=o.__autocomplete_metadata)||void 0===r?void 0:r.userAgents)||[])}}function Pt(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=ve(n))||void 0===t?void 0:t.itemInputValue)||null}function At(e){return At="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},At(e)}function Ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function jt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ot(Object(n),!0).forEach((function(t){Tt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ot(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Tt(e,t,n){return(t=function(e){var t=function(e){if("object"!==At(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==At(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===At(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Rt=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return jt(jt({},e),{},{activeItemId:t.payload});case"setQuery":return jt(jt({},e),{},{query:t.payload,completion:null});case"setCollections":return jt(jt({},e),{},{collections:t.payload});case"setIsOpen":return jt(jt({},e),{},{isOpen:t.payload});case"setStatus":return jt(jt({},e),{},{status:t.payload});case"setContext":return jt(jt({},e),{},{context:jt(jt({},e.context),t.payload)});case"ArrowDown":var n=jt(jt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:me(1,e.activeItemId,I(e),t.props.defaultActiveItemId)});return jt(jt({},n),{},{completion:Pt({state:n})});case"ArrowUp":var a=jt(jt({},e),{},{activeItemId:me(-1,e.activeItemId,I(e),t.props.defaultActiveItemId)});return jt(jt({},a),{},{completion:Pt({state:a})});case"Escape":return e.isOpen?jt(jt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):jt(jt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return jt(jt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return jt(jt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",completion:null,query:""});case"focus":return jt(jt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:jt(jt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return jt(jt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function It(e){return It="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},It(e)}function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){Mt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Mt(e,t,n){return(t=function(e){var t=function(e){if("object"!==It(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==It(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===It(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nt(e){var t=[],n=Le(e,t),a=function(e,t,n){var a,r=t.initialState;return{getState:function(){return r},dispatch:function(a,i){var o=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_e(Object(n),!0).forEach((function(t){Ee(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_e(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},r);r=e(r,{type:a,props:t,payload:i}),n({state:r,prevState:o})},pendingRequests:(a=[],{add:function(e){return a.push(e),e.finally((function(){a=a.filter((function(t){return t!==e}))}))},cancelAll:function(){a.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===a.length}})}}(Rt,n,(function(e){var t,a,i=e.prevState,l=e.state;if(n.onStateChange(Lt({prevState:i,state:l,refresh:o,navigator:n.navigator},r)),!c()&&null!==(t=l.context)&&void 0!==t&&null!==(a=t.algoliaInsightsPlugin)&&void 0!==a&&a.__automaticInsights&&!1!==n.insights){var u=ce({__autocomplete_clickAnalytics:!1});n.plugins.push(u),s([u])}})),r=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,a=e.map((function(e){return Ae(Ae({},e),{},{items:T(e.items).map((function(e){return Ae(Ae({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",a)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:a}),i=St(Lt({props:n,refresh:o,store:a,navigator:n.navigator},r));function o(){return rt(Lt({event:new Event("input"),nextState:{isOpen:a.getState().isOpen},props:n,navigator:n.navigator,query:a.getState().query,refresh:o,store:a},r))}function s(e){e.forEach((function(e){var a;return null===(a=e.subscribe)||void 0===a?void 0:a.call(e,Lt(Lt({},r),{},{navigator:n.navigator,refresh:o,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))}))}function c(){return n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))}if(n.insights&&!c()){var l="boolean"==typeof n.insights?{}:n.insights;n.plugins.push(ce(l))}return s(n.plugins),function(e){var t,n,a=e.metadata,r=e.environment;if(null===(t=r.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var i=r.document.createElement("meta"),o=r.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(a),o.appendChild(i)}),0)}}({metadata:Ct({plugins:n.plugins,options:e}),environment:n.environment}),Lt(Lt({refresh:o,navigator:n.navigator},i),r)}function Ft(e){var t=e.translations,n=(void 0===t?{}:t).searchByText,r=void 0===n?"Search by":n;return a.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},a.createElement("span",{className:"DocSearch-Label"},r),a.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},a.createElement("defs",null,a.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),a.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),a.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),a.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),a.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),a.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),a.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),a.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),a.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),a.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function Bt(e){return a.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},a.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function zt(e){var t=e.translations,n=void 0===t?{}:t,r=n.selectText,i=void 0===r?"to select":r,o=n.selectKeyAriaLabel,s=void 0===o?"Enter key":o,c=n.navigateText,l=void 0===c?"to navigate":c,u=n.navigateUpKeyAriaLabel,p=void 0===u?"Arrow up":u,d=n.navigateDownKeyAriaLabel,f=void 0===d?"Arrow down":d,m=n.closeText,h=void 0===m?"to close":m,g=n.closeKeyAriaLabel,b=void 0===g?"Escape key":g,y=n.searchByText,v=void 0===y?"Search by":y;return a.createElement(a.Fragment,null,a.createElement("div",{className:"DocSearch-Logo"},a.createElement(Ft,{translations:{searchByText:v}})),a.createElement("ul",{className:"DocSearch-Commands"},a.createElement("li",null,a.createElement("kbd",{className:"DocSearch-Commands-Key"},a.createElement(Bt,{ariaLabel:s},a.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),a.createElement("span",{className:"DocSearch-Label"},i)),a.createElement("li",null,a.createElement("kbd",{className:"DocSearch-Commands-Key"},a.createElement(Bt,{ariaLabel:f},a.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),a.createElement("kbd",{className:"DocSearch-Commands-Key"},a.createElement(Bt,{ariaLabel:p},a.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),a.createElement("span",{className:"DocSearch-Label"},l)),a.createElement("li",null,a.createElement("kbd",{className:"DocSearch-Commands-Key"},a.createElement(Bt,{ariaLabel:b},a.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),a.createElement("span",{className:"DocSearch-Label"},h))))}function Ut(e){var t=e.hit,n=e.children;return a.createElement("a",{href:t.url},n)}function qt(){return a.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},a.createElement("g",{fill:"none",fillRule:"evenodd"},a.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},a.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),a.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},a.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}function Ht(){return a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),a.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function $t(){return a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Vt(){return a.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),a.createElement("path",{d:"M8 17l-6-6 6-6"})))}var Wt=function(){return a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Gt(e){switch(e.type){case"lvl1":return a.createElement(Wt,null);case"content":return a.createElement(Qt,null);default:return a.createElement(Kt,null)}}function Kt(){return a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Qt(){return a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Jt(){return a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},a.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Yt(){return a.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function Zt(){return a.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function Xt(e){var t=e.translations,n=void 0===t?{}:t,r=n.titleText,i=void 0===r?"Unable to fetch results":r,o=n.helpText,s=void 0===o?"You might want to check your network connection.":o;return a.createElement("div",{className:"DocSearch-ErrorScreen"},a.createElement("div",{className:"DocSearch-Screen-Icon"},a.createElement(Yt,null)),a.createElement("p",{className:"DocSearch-Title"},i),a.createElement("p",{className:"DocSearch-Help"},s))}var en=["translations"];function tn(e){var t=e.translations,n=void 0===t?{}:t,r=b(e,en),i=n.noResultsText,o=void 0===i?"No results for":i,s=n.suggestedQueryText,c=void 0===s?"Try searching for":s,l=n.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,p=n.reportMissingResultsLinkText,d=void 0===p?"Let us know.":p,f=r.state.context.searchSuggestions;return a.createElement("div",{className:"DocSearch-NoResults"},a.createElement("div",{className:"DocSearch-Screen-Icon"},a.createElement(Zt,null)),a.createElement("p",{className:"DocSearch-Title"},o,' "',a.createElement("strong",null,r.state.query),'"'),f&&f.length>0&&a.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},a.createElement("p",{className:"DocSearch-Help"},c,":"),a.createElement("ul",null,f.slice(0,3).reduce((function(e,t){return[].concat(S(e),[a.createElement("li",{key:t},a.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){r.setQuery(t.toLowerCase()+" "),r.refresh(),r.inputRef.current.focus()}},t))])}),[]))),r.getMissingResultsUrl&&a.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),a.createElement("a",{href:r.getMissingResultsUrl({query:r.state.query}),target:"_blank",rel:"noopener noreferrer"},d)))}var nn=["hit","attribute","tagName"];function an(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function rn(e){var t=e.hit,n=e.attribute,r=e.tagName,i=void 0===r?"span":r,o=b(e,nn);return(0,a.createElement)(i,g(g({},o),{},{dangerouslySetInnerHTML:{__html:an(t,"_snippetResult.".concat(n,".value"))||an(t,n)}}))}function on(e){return e.collection&&0!==e.collection.items.length?a.createElement("section",{className:"DocSearch-Hits"},a.createElement("div",{className:"DocSearch-Hit-source"},e.title),a.createElement("ul",e.getListProps(),e.collection.items.map((function(t,n){return a.createElement(sn,p({key:[e.title,t.objectID].join(":"),item:t,index:n},e))})))):null}function sn(e){var t=e.item,n=e.index,r=e.renderIcon,i=e.renderAction,o=e.getItemProps,s=e.onItemClick,c=e.collection,l=e.hitComponent,u=w(a.useState(!1),2),d=u[0],f=u[1],m=w(a.useState(!1),2),h=m[0],g=m[1],b=a.useRef(null),y=l;return a.createElement("li",p({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",d&&"DocSearch-Hit--deleting",h&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){b.current&&b.current()}},o({item:t,source:c.source,onClick:function(e){s(t,e)}})),a.createElement(y,{hit:t},a.createElement("div",{className:"DocSearch-Hit-Container"},r({item:t,index:n}),t.hierarchy[t.type]&&"lvl1"===t.type&&a.createElement("div",{className:"DocSearch-Hit-content-wrapper"},a.createElement(rn,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&a.createElement(rn,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&a.createElement("div",{className:"DocSearch-Hit-content-wrapper"},a.createElement(rn,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),a.createElement(rn,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&a.createElement("div",{className:"DocSearch-Hit-content-wrapper"},a.createElement(rn,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),a.createElement(rn,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),i({item:t,runDeleteTransition:function(e){f(!0),b.current=e},runFavoriteTransition:function(e){g(!0),b.current=e}}))))}function cn(e,t,n){return e.reduce((function(e,a){var r=t(a);return e.hasOwnProperty(r)||(e[r]=[]),e[r].length<(n||5)&&e[r].push(a),e}),{})}function ln(e){return e}function un(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function pn(){}var dn=/(<mark>|<\/mark>)/g,fn=RegExp(dn.source);function mn(e){var t,n,a=e;if(!a.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var r=a.__docsearch_parent?null===(t=a.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(n=e._highlightResult)||void 0===n||null===(n=n.hierarchy)||void 0===n?void 0:n.lvl0;return r?r.value&&fn.test(r.value)?r.value.replace(dn,""):r.value:e.hierarchy.lvl0}function hn(e){return a.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var n=mn(t.items[0]);return a.createElement(on,p({},e,{key:t.source.sourceId,title:n,collection:t,renderIcon:function(e){var n,r=e.item,i=e.index;return a.createElement(a.Fragment,null,r.__docsearch_parent&&a.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},a.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.__docsearch_parent!==(null===(n=t.items[i+1])||void 0===n?void 0:n.__docsearch_parent)?a.createElement("path",{d:"M8 6v21M20 27H8.3"}):a.createElement("path",{d:"M8 6v42M20 27H8.3"}))),a.createElement("div",{className:"DocSearch-Hit-icon"},a.createElement(Gt,{type:r.type})))},renderAction:function(){return a.createElement("div",{className:"DocSearch-Hit-action"},a.createElement(Vt,null))}}))})),e.resultsFooterComponent&&a.createElement("section",{className:"DocSearch-HitsFooter"},a.createElement(e.resultsFooterComponent,{state:e.state})))}var gn=["translations"];function bn(e){var t=e.translations,n=void 0===t?{}:t,r=b(e,gn),i=n.recentSearchesTitle,o=void 0===i?"Recent":i,s=n.noRecentSearchesText,c=void 0===s?"No recent searches":s,l=n.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,d=n.removeRecentSearchButtonTitle,f=void 0===d?"Remove this search from history":d,m=n.favoriteSearchesTitle,h=void 0===m?"Favorite":m,g=n.removeFavoriteSearchButtonTitle,y=void 0===g?"Remove this search from favorites":g;return"idle"===r.state.status&&!1===r.hasCollections?r.disableUserPersonalization?null:a.createElement("div",{className:"DocSearch-StartScreen"},a.createElement("p",{className:"DocSearch-Help"},c)):!1===r.hasCollections?null:a.createElement("div",{className:"DocSearch-Dropdown-Container"},a.createElement(on,p({},r,{title:o,collection:r.state.collections[0],renderIcon:function(){return a.createElement("div",{className:"DocSearch-Hit-icon"},a.createElement(Ht,null))},renderAction:function(e){var t=e.item,n=e.runFavoriteTransition,i=e.runDeleteTransition;return a.createElement(a.Fragment,null,a.createElement("div",{className:"DocSearch-Hit-action"},a.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){r.favoriteSearches.add(t),r.recentSearches.remove(t),r.refresh()}))}},a.createElement(Jt,null))),a.createElement("div",{className:"DocSearch-Hit-action"},a.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),i((function(){r.recentSearches.remove(t),r.refresh()}))}},a.createElement($t,null))))}})),a.createElement(on,p({},r,{title:h,collection:r.state.collections[1],renderIcon:function(){return a.createElement("div",{className:"DocSearch-Hit-icon"},a.createElement(Jt,null))},renderAction:function(e){var t=e.item,n=e.runDeleteTransition;return a.createElement("div",{className:"DocSearch-Hit-action"},a.createElement("button",{className:"DocSearch-Hit-action-button",title:y,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){r.favoriteSearches.remove(t),r.refresh()}))}},a.createElement($t,null)))}})))}var yn=["translations"],vn=a.memo((function(e){var t=e.translations,n=void 0===t?{}:t,r=b(e,yn);if("error"===r.state.status)return a.createElement(Xt,{translations:null==n?void 0:n.errorScreen});var i=r.state.collections.some((function(e){return e.items.length>0}));return r.state.query?!1===i?a.createElement(tn,p({},r,{translations:null==n?void 0:n.noResultsScreen})):a.createElement(hn,r):a.createElement(bn,p({},r,{hasCollections:i,translations:null==n?void 0:n.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status})),wn=["translations"];function Sn(e){var t=e.translations,n=void 0===t?{}:t,r=b(e,wn),i=n.resetButtonTitle,o=void 0===i?"Clear the query":i,s=n.resetButtonAriaLabel,c=void 0===s?"Clear the query":s,l=n.cancelButtonText,u=void 0===l?"Cancel":l,d=n.cancelButtonAriaLabel,f=void 0===d?"Cancel":d,m=n.searchInputLabel,h=void 0===m?"Search":m,g=r.getFormProps({inputElement:r.inputRef.current}).onReset;return a.useEffect((function(){r.autoFocus&&r.inputRef.current&&r.inputRef.current.focus()}),[r.autoFocus,r.inputRef]),a.useEffect((function(){r.isFromSelection&&r.inputRef.current&&r.inputRef.current.select()}),[r.isFromSelection,r.inputRef]),a.createElement(a.Fragment,null,a.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:g},a.createElement("label",p({className:"DocSearch-MagnifierLabel"},r.getLabelProps()),a.createElement(E,null),a.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},h)),a.createElement("div",{className:"DocSearch-LoadingIndicator"},a.createElement(qt,null)),a.createElement("input",p({className:"DocSearch-Input",ref:r.inputRef},r.getInputProps({inputElement:r.inputRef.current,autoFocus:r.autoFocus,maxLength:64}))),a.createElement("button",{type:"reset",title:o,className:"DocSearch-Reset","aria-label":c,hidden:!r.state.query},a.createElement($t,null))),a.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:r.onClose},u))}var xn=["_highlightResult","_snippetResult"];function kn(e){var t=e.key,n=e.limit,a=void 0===n?5:n,r=function(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(e){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}(t),i=r.getItem().slice(0,a);return{add:function(e){var t=e;t._highlightResult,t._snippetResult;var n=b(t,xn),o=i.findIndex((function(e){return e.objectID===n.objectID}));o>-1&&i.splice(o,1),i.unshift(n),i=i.slice(0,a),r.setItem(i)},remove:function(e){i=i.filter((function(t){return t.objectID!==e.objectID})),r.setItem(i)},getAll:function(){return i}}}function _n(e){var t,n="algolia-client-js-".concat(e.key);function a(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function r(){return JSON.parse(a().getItem(n)||"{}")}function i(e){a().setItem(n,JSON.stringify(e))}return{get:function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var n,a,o;return n=e.timeToLive?1e3*e.timeToLive:null,a=r(),i(o=Object.fromEntries(Object.entries(a).filter((function(e){return void 0!==w(e,2)[1].timestamp})))),n&&i(Object.fromEntries(Object.entries(o).filter((function(e){var t=w(e,2)[1],a=(new Date).getTime();return!(t.timestamp+n<a)})))),r()[JSON.stringify(t)]})).then((function(e){return Promise.all([e?e.value:n(),void 0!==e])})).then((function(e){var t=w(e,2),n=t[0],r=t[1];return Promise.all([n,r||a.miss(n)])})).then((function(e){return w(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=r();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},a().setItem(n,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=r();delete t[JSON.stringify(e)],a().setItem(n,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){a().removeItem(n)}))}}}function En(e){var t=S(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,n.miss(e)])})).then((function(e){return w(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,a,r).catch((function(){return En({caches:t}).get(e,a,r)}))},set:function(e,a){return n.set(e,a).catch((function(){return En({caches:t}).set(e,a)}))},delete:function(e){return n.delete(e).catch((function(){return En({caches:t}).delete(e)}))},clear:function(){return n.clear().catch((function(){return En({caches:t}).clear()}))}}}function Cn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(n);if(i in t)return Promise.resolve(e.serializable?JSON.parse(t[i]):t[i]);var o=a();return o.then((function(e){return r.miss(e)})).then((function(){return o}))},set:function(n,a){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(a):a,Promise.resolve(a)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function Pn(e){var t=e.algoliaAgents,n=e.client,a=e.version,r=function(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var n="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(n)&&(t.value="".concat(t.value).concat(n)),t}};return t}(a).add({segment:n,version:a});return t.forEach((function(e){return r.add(e)})),r}var An=12e4;function On(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"up",n=Date.now();return g(g({},e),{},{status:t,lastUpdate:n,isUp:function(){return"up"===t||Date.now()-n>An},isTimedOut:function(){return"timed out"===t&&Date.now()-n<=An}})}var jn=function(){function e(t,n){var a;return c(this,e),u(a=s(this,e,[t]),"name","AlgoliaError"),n&&(a.name=n),a}return f(e,k(Error)),l(e)}(),Tn=function(){function e(t,n,a){var r;return c(this,e),u(r=s(this,e,[t,a]),"stackTrace",void 0),r.stackTrace=n,r}return f(e,jn),l(e)}(),Rn=function(){function e(t){return c(this,e),s(this,e,["Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",t,"RetryError"])}return f(e,Tn),l(e)}(),In=function(){function e(t,n,a){var r,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ApiError";return c(this,e),u(r=s(this,e,[t,a,i]),"status",void 0),r.status=n,r}return f(e,Tn),l(e)}(),Dn=function(){function e(t,n){var a;return c(this,e),u(a=s(this,e,[t,"DeserializationError"]),"response",void 0),a.response=n,a}return f(e,jn),l(e)}(),Ln=function(){function e(t,n,a,r){var i;return c(this,e),u(i=s(this,e,[t,n,r,"DetailedApiError"]),"error",void 0),i.error=a,i}return f(e,In),l(e)}();function Mn(e,t,n){var a,r=(a=n,Object.keys(a).filter((function(e){return void 0!==a[e]})).sort().map((function(e){return"".concat(e,"=").concat(encodeURIComponent("[object Array]"===Object.prototype.toString.call(a[e])?a[e].join(","):a[e]).replace(/\+/g,"%20"))})).join("&")),i="".concat(e.protocol,"://").concat(e.url).concat(e.port?":".concat(e.port):"","/").concat("/"===t.charAt(0)?t.substring(1):t);return r.length&&(i+="?".concat(r)),i}function Nn(e,t){if("GET"!==e.method&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:g(g({},e.data),t.data);return JSON.stringify(n)}}function Fn(e,t,n){var a=g(g(g({Accept:"application/json"},e),t),n),r={};return Object.keys(a).forEach((function(e){var t=a[e];r[e.toLowerCase()]=t})),r}function Bn(e){try{return JSON.parse(e.content)}catch(t){throw new Dn(t.message,e)}}function zn(e,t){var n=e.content,a=e.status;try{var r=JSON.parse(n);return"error"in r?new Ln(r.message,a,r.error,t):new In(r.message,a,t)}catch(e){}return new In(n,a,t)}function Un(e){return e.map((function(e){return qn(e)}))}function qn(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return g(g({},e),{},{request:g(g({},e.request),{},{headers:g(g({},e.request.headers),t)})})}var Hn=["appId","apiKey","authMode","algoliaAgents"],$n=["params"],Vn="5.19.0";function Wn(e){return[{url:"".concat(e,"-dsn.algolia.net"),accept:"read",protocol:"https"},{url:"".concat(e,".algolia.net"),accept:"write",protocol:"https"}].concat(function(e){for(var t=e,n=e.length-1;n>0;n--){var a=Math.floor(Math.random()*(n+1)),r=e[n];t[n]=e[a],t[a]=r}return t}([{url:"".concat(e,"-1.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-2.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-3.algolianet.com"),accept:"readWrite",protocol:"https"}]))}var Gn="3.8.3";function Kn(e,t,n){return a.useMemo((function(){var a=function(e,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");return function(e){var t=e.appId,n=e.apiKey,a=e.authMode,r=e.algoliaAgents,i=b(e,Hn),s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"WithinHeaders",a={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:function(){return"WithinHeaders"===n?a:{}},queryParameters:function(){return"WithinQueryParameters"===n?a:{}}}}(t,n,a),c=function(e){var t=e.hosts,n=e.hostsCache,a=e.baseHeaders,r=e.logger,i=e.baseQueryParameters,s=e.algoliaAgent,c=e.timeouts,l=e.requester,u=e.requestsCache,p=e.responsesCache;function d(e){return f.apply(this,arguments)}function f(){return(f=o(y().mark((function e(t){var a,r,i,o,s;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return n.get(e,(function(){return Promise.resolve(On(e))}))})));case 2:return a=e.sent,r=a.filter((function(e){return e.isUp()})),i=a.filter((function(e){return e.isTimedOut()})),o=[].concat(S(r),S(i)),s=o.length>0?o:t,e.abrupt("return",{hosts:s,getTimeout:function(e,t){return(0===i.length&&0===e?1:i.length+3+e)*t}});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(e,t){return h.apply(this,arguments)}function h(){return h=o(y().mark((function e(u,p){var f,m,h,b,v,w,x,k,_,E,C,P,A,O=arguments;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(f=!(O.length>2&&void 0!==O[2])||O[2],m=[],h=Nn(u,p),b=Fn(a,u.headers,p.headers),v="GET"===u.method?g(g({},u.data),p.data):{},w=g(g(g({},i),u.queryParameters),v),s.value&&(w["x-algolia-agent"]=s.value),p&&p.queryParameters)for(x=0,k=Object.keys(p.queryParameters);x<k.length;x++)_=k[x],p.queryParameters[_]&&"[object Object]"!==Object.prototype.toString.call(p.queryParameters[_])?w[_]=p.queryParameters[_].toString():w[_]=p.queryParameters[_];return E=0,C=function(){var e=o(y().mark((function e(t,a){var i,o,s,d,v,S;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(i=t.pop())){e.next=3;break}throw new Rn(Un(m));case 3:return o=g(g({},c),p.timeouts),s={data:h,headers:b,method:u.method,url:Mn(i,u.path,w),connectTimeout:a(E,o.connect),responseTimeout:a(E,f?o.read:o.write)},d=function(e){var n={request:s,response:e,host:i,triesLeft:t.length};return m.push(n),n},e.next=8,l.send(s);case 8:if(x=(y=v=e.sent).isTimedOut,k=y.status,!(x||function(e){return!e.isTimedOut&&!~~e.status}({isTimedOut:x,status:k})||2!=~~(k/100)&&4!=~~(k/100))){e.next=16;break}return S=d(v),v.isTimedOut&&E++,r.info("Retryable failure",qn(S)),e.next=15,n.set(i,On(i,v.isTimedOut?"timed out":"down"));case 15:return e.abrupt("return",C(t,a));case 16:if(2!=~~(v.status/100)){e.next=18;break}return e.abrupt("return",Bn(v));case 18:throw d(v),zn(v,m);case 20:case"end":return e.stop()}var y,x,k}),e)})));return function(t,n){return e.apply(this,arguments)}}(),P=t.filter((function(e){return"readWrite"===e.accept||(f?"read"===e.accept:"write"===e.accept)})),e.next=13,d(P);case 13:return A=e.sent,e.abrupt("return",C(S(A.hosts).reverse(),A.getTimeout));case 15:case"end":return e.stop()}}),e)}))),h.apply(this,arguments)}return{hostsCache:n,requester:l,timeouts:c,logger:r,algoliaAgent:s,baseHeaders:a,baseQueryParameters:i,hosts:t,request:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.useReadTransporter||"GET"===e.method;if(!n)return m(e,t,n);var r=function(){return m(e,t)};if(!0!==(t.cacheable||e.cacheable))return r();var o={request:e,requestOptions:t,transporter:{queryParameters:i,headers:a}};return p.get(o,(function(){return u.get(o,(function(){return u.set(o,r()).then((function(e){return Promise.all([u.delete(o),e])}),(function(e){return Promise.all([u.delete(o),Promise.reject(e)])})).then((function(e){var t=w(e,2);return t[0],t[1]}))}))}),{miss:function(e){return p.set(o,e)}})},requestsCache:u,responsesCache:p}}(g(g({hosts:Wn(t)},i),{},{algoliaAgent:Pn({algoliaAgents:r,client:"Lite",version:Vn}),baseHeaders:g(g({"content-type":"text/plain"},s.headers()),i.baseHeaders),baseQueryParameters:g(g({},s.queryParameters()),i.baseQueryParameters)}));return{transporter:c,appId:t,apiKey:n,clearCache:function(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then((function(){}))},get _ua(){return c.algoliaAgent.value},addAlgoliaAgent:function(e,t){c.algoliaAgent.add({segment:e,version:t})},setClientApiKey:function(e){var t=e.apiKey;a&&"WithinHeaders"!==a?c.baseQueryParameters["x-algolia-api-key"]=t:c.baseHeaders["x-algolia-api-key"]=t},searchForHits:function(e,t){return this.search(e,t)},searchForFacets:function(e,t){return this.search(e,t)},customPost:function(e,t){var n=e.path,a=e.parameters,r=e.body;if(!n)throw new Error("Parameter `path` is required when calling `customPost`.");var i={method:"POST",path:"/{path}".replace("{path}",n),queryParameters:a||{},headers:{},data:r||{}};return c.request(i,t)},getRecommendations:function(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");var n={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return c.request(n,t)},search:function(e,t){if(e&&Array.isArray(e)){var n={requests:e.map((function(e){var t=e.params,n=b(e,$n);return"facet"===n.type?g(g(g({},n),t),{},{type:"facet"}):g(g(g({},n),t),{},{facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}))};e=n}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");var a={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return c.request(a,t)}}}(g({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:function(e,t){return Promise.resolve()},info:function(e,t){return Promise.resolve()},error:function(e,t){return Promise.resolve()}},requester:{send:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return n.setRequestHeader(t,e.headers[t])}));var a,r=function(e,a){return setTimeout((function(){n.abort(),t({status:0,content:a,isTimedOut:!0})}),e)},i=r(e.connectTimeout,"Connection timeout");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===a&&(clearTimeout(i),a=r(e.responseTimeout,"Socket timeout"))},n.onerror=function(){0===n.status&&(clearTimeout(i),clearTimeout(a),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(i),clearTimeout(a),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:Cn(),requestsCache:Cn({serializable:!1}),hostsCache:En({caches:[_n({key:"".concat(Vn,"-").concat(e)}),Cn()]})},void 0))}(e,t);return a.addAlgoliaAgent("docsearch",Gn),!1===/docsearch.js \(.*\)/.test(a.transporter.algoliaAgent.value)&&a.addAlgoliaAgent("docsearch-react",Gn),n(a)}),[e,t,n])}var Qn=["footer","searchBox"];function Jn(e){var t=e.appId,n=e.apiKey,r=e.indexName,i=e.placeholder,o=void 0===i?"Search docs":i,s=e.searchParameters,c=e.maxResultsPerGroup,l=e.onClose,u=void 0===l?pn:l,d=e.transformItems,f=void 0===d?ln:d,m=e.hitComponent,h=void 0===m?Ut:m,y=e.resultsFooterComponent,v=void 0===y?function(){return null}:y,S=e.navigator,x=e.initialScrollY,k=void 0===x?0:x,_=e.transformSearchClient,E=void 0===_?ln:_,C=e.disableUserPersonalization,P=void 0!==C&&C,A=e.initialQuery,O=void 0===A?"":A,j=e.translations,T=void 0===j?{}:j,R=e.getMissingResultsUrl,I=e.insights,D=void 0!==I&&I,L=T.footer,M=T.searchBox,N=b(T,Qn),F=w(a.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=F[0],z=F[1],U=a.useRef(null),q=a.useRef(null),H=a.useRef(null),$=a.useRef(null),V=a.useRef(null),W=a.useRef(10),G=a.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,K=a.useRef(O||G).current,Q=Kn(t,n,E),J=a.useRef(kn({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(r),limit:10})).current,Y=a.useRef(kn({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(r),limit:0===J.getAll().length?7:4})).current,Z=a.useCallback((function(e){if(!P){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===J.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&Y.add(t)}}),[J,Y,P]),X=a.useCallback((function(e){if(B.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,n={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(n)}}),[B.context.algoliaInsightsPlugin]),ee=a.useMemo((function(){return Nt({id:"docsearch",defaultActiveItemId:0,placeholder:o,openOnFocus:!0,initialState:{query:K,context:{searchSuggestions:[]}},insights:D,navigator:S,onStateChange:function(e){z(e.state)},getSources:function(e){var a=e.query,i=e.state,o=e.setContext,l=e.setStatus;if(!a)return P?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,n=e.event;Z(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Y.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,n=e.event;Z(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return J.getAll()}}];var p=Boolean(D);return Q.search({requests:[g({query:a,indexName:r,attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(W.current),"hierarchy.lvl2:".concat(W.current),"hierarchy.lvl3:".concat(W.current),"hierarchy.lvl4:".concat(W.current),"hierarchy.lvl5:".concat(W.current),"hierarchy.lvl6:".concat(W.current),"content:".concat(W.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:p},s)]}).catch((function(e){throw"RetryError"===e.name&&l("error"),e})).then((function(e){var a=e.results[0],s=a.hits,l=a.nbHits,d=cn(s,(function(e){return mn(e)}),c);i.context.searchSuggestions.length<Object.keys(d).length&&o({searchSuggestions:Object.keys(d)}),o({nbHits:l});var m={};return p&&(m={__autocomplete_indexName:r,__autocomplete_queryID:a.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:n}}),Object.values(d).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,n=e.event;Z(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(cn(e,(function(e){return e.hierarchy.lvl1}),c)).map(f).map((function(e){return e.map((function(t){var n=null,a=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&a&&(n=a),g(g({},t),{},{__docsearch_parent:n},m)}))})).flat()}}}))}))}})}),[r,s,c,Q,u,Y,J,Z,K,o,S,f,P,D,t,n]),te=ee.getEnvironmentProps,ne=ee.getRootProps,ae=ee.refresh;return function(e){var t=e.getEnvironmentProps,n=e.panelElement,r=e.formElement,i=e.inputElement;a.useEffect((function(){if(n&&r&&i){var e=t({panelElement:n,formElement:r,inputElement:i}),a=e.onTouchStart,o=e.onTouchMove;return window.addEventListener("touchstart",a),window.addEventListener("touchmove",o),function(){window.removeEventListener("touchstart",a),window.removeEventListener("touchmove",o)}}}),[t,n,r,i])}({getEnvironmentProps:te,panelElement:$.current,formElement:H.current,inputElement:V.current}),function(e){var t=e.container;a.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),n=e[0],a=e[e.length-1];return t.addEventListener("keydown",r),function(){t.removeEventListener("keydown",r)}}function r(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===n&&(e.preventDefault(),a.focus()):document.activeElement===a&&(e.preventDefault(),n.focus()))}}),[t])}({container:U.current}),a.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,k)}}),[]),a.useLayoutEffect((function(){var e=window.innerWidth-document.body.clientWidth;return document.body.style.marginRight="".concat(e,"px"),function(){document.body.style.marginRight="0px"}}),[]),a.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(W.current=5)}),[]),a.useEffect((function(){$.current&&($.current.scrollTop=0)}),[B.query]),a.useEffect((function(){K.length>0&&(ae(),V.current&&V.current.focus())}),[K,ae]),a.useEffect((function(){function e(){if(q.current){var e=.01*window.innerHeight;q.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),a.createElement("div",p({ref:U},ne({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===B.status&&"DocSearch-Container--Stalled","error"===B.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),a.createElement("div",{className:"DocSearch-Modal",ref:q},a.createElement("header",{className:"DocSearch-SearchBar",ref:H},a.createElement(Sn,p({},ee,{state:B,autoFocus:0===K.length,inputRef:V,isFromSelection:Boolean(K)&&K===G,translations:M,onClose:u}))),a.createElement("div",{className:"DocSearch-Dropdown",ref:$},a.createElement(vn,p({},ee,{indexName:r,state:B,hitComponent:h,resultsFooterComponent:v,disableUserPersonalization:P,recentSearches:Y,favoriteSearches:J,inputRef:V,translations:N,getMissingResultsUrl:R,onItemClick:function(e,t){X(e),Z(e),un(t)||u()}}))),a.createElement("footer",{className:"DocSearch-Footer"},a.createElement(zt,{translations:L}))))}function Yn(e){var t=e.isOpen,n=e.onOpen,r=e.onClose,i=e.onInput,o=e.searchButtonRef;a.useEffect((function(){function e(e){var a;if("Escape"===e.code&&t||"k"===(null===(a=e.key)||void 0===a?void 0:a.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)return e.preventDefault(),void(t?r():document.body.classList.contains("DocSearch--active")||n());o&&o.current===document.activeElement&&i&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&i(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,r,i,o])}},8142:(e,t,n)=>{"use strict";n.d(t,{o:()=>i,x:()=>o});var a=n(3696),r=n(2540);const i=a.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{o(!0)}),[]),(0,r.jsx)(i.Provider,{value:n,children:t})}},9861:(e,t,n)=>{"use strict";var a=n(3696),r=n(7470),i=n(9005),o=n(9941),s=n(4784),c=n(9006);const l=[n(3931),n(7904),n(1139),n(3499)];var u=n(4024),p=n(9519),d=n(3971),f=n(2540);function m(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var h=n(7943),g=n(4669),b=n(3254),y=n(2427),v=n(2952),w=n(2424),S=n(2476),x=n(7316),k=n(99),_=n(8004);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),a=(0,w.o)(),r=n[e].htmlLang,i=e=>e.replace("-","_");return(0,f.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:i(r)}),Object.values(n).filter((e=>r!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:i(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),a=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:a}=(0,p.zy)();return e+(0,k.Ks)((0,b.Ay)(a),{trailingSlash:n,baseUrl:t})}(),r=t?`${n}${t}`:a;return(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:r}),(0,f.jsx)("link",{rel:"canonical",href:r})]})}function P(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,y.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:S.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(C,{}),(0,f.jsx)(E,{}),(0,f.jsx)(_.A,{tag:x.C,locale:e}),(0,f.jsx)(h.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const A=new Map;var O=n(8142),j=n(1664),T=n(3604);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];const r=l.map((t=>{const a=t.default?.[e]??t[e];return a?.(...n)}));return()=>r.forEach((e=>e?.()))}const I=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,T.A)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const a=t.pathname===n.pathname,r=t.hash===n.hash,i=t.search===n.search;if(a&&r&&!i)return;const{hash:o}=t;if(o){const e=decodeURIComponent(o.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function D(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class L extends a.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=c.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),D(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(I,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(p.qh,{location:t,render:()=>e})})}}const M=L,N="__docusaurus-base-url-issue-banner-suggestion-container";function F(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${N}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${N}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function B(){const{siteConfig:{baseUrl:e}}=(0,g.A)();return(0,f.jsx)(f.Fragment,{children:!c.A.canUseDOM&&(0,f.jsx)(h.A,{children:(0,f.jsx)("script",{children:F(e)})})})}function z(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.A)(),{pathname:n}=(0,p.zy)();return t&&n===e?(0,f.jsx)(B,{}):null}function U(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:r}}=(0,g.A)(),i=(0,b.Ay)(e),{htmlLang:o,direction:s}=r[a];return(0,f.jsxs)(h.A,{children:[(0,f.jsx)("html",{lang:o,dir:s}),(0,f.jsx)("title",{children:t}),(0,f.jsx)("meta",{property:"og:title",content:t}),(0,f.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,f.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,f.jsx)("link",{rel:"icon",href:i})]})}var q=n(2407),H=n(5200);function $(){const e=(0,H.A)();return(0,f.jsx)(h.A,{children:(0,f.jsx)("html",{"data-has-hydrated":e})})}const V=(0,d.v)(u.A);function W(){const e=function(e){if(A.has(e.pathname))return{...e,pathname:A.get(e.pathname)};if((0,d.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,p.zy)());return(0,f.jsx)(M,{location:e,children:V})}function G(){return(0,f.jsx)(q.A,{children:(0,f.jsx)(j.l,{children:(0,f.jsxs)(O.x,{children:[(0,f.jsxs)(m,{children:[(0,f.jsx)(U,{}),(0,f.jsx)(P,{}),(0,f.jsx)(z,{}),(0,f.jsx)(W,{})]}),(0,f.jsx)($,{})]})})})}var K=n(4054);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const r=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;r?.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const a=new XMLHttpRequest;a.open("GET",e,!0),a.withCredentials=!0,a.onload=()=>{200===a.status?t():n()},a.send(null)}))};var J=n(1370);const Y=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch:e=>{if(!(e=>!X()&&!Z.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,d.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(K).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,J.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Z.has(e))(e)&&(Z.add(e),D(e))},te=Object.freeze(ee);function ne(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,f.jsx)(o.I9,{children:t}):(0,f.jsx)(o.Kd,{children:t})}const ae=Boolean(!0);if(c.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.vd,{children:(0,f.jsx)(ne,{children:(0,f.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},o=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=r.hydrateRoot(e,t,{onRecoverableError:n});else{const a=r.createRoot(e,{onRecoverableError:n});a.render(t),window.docusaurusRoot=a}};D(window.location.pathname).then((()=>{(0,a.startTransition)(o)}))}},1664:(e,t,n)=>{"use strict";n.d(t,{o:()=>p,l:()=>d});var a=n(3696),r=n(4784);const i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"api/@ima/cli/index","docs":[{"id":"advanced-features/dynamic-imports","path":"/advanced-features/dynamic-imports","sidebar":"docs"},{"id":"api/@ima/cli/functions/compileLanguages","path":"/api/@ima/cli/functions/compileLanguages","sidebar":"api"},{"id":"api/@ima/cli/functions/createCacheKey","path":"/api/@ima/cli/functions/createCacheKey","sidebar":"api"},{"id":"api/@ima/cli/functions/createDevServerConfig","path":"/api/@ima/cli/functions/createDevServerConfig","sidebar":"api"},{"id":"api/@ima/cli/functions/createWebpackConfig","path":"/api/@ima/cli/functions/createWebpackConfig","sidebar":"api"},{"id":"api/@ima/cli/functions/findRules","path":"/api/@ima/cli/functions/findRules","sidebar":"api"},{"id":"api/@ima/cli/functions/getCurrentCoreJsVersion","path":"/api/@ima/cli/functions/getCurrentCoreJsVersion","sidebar":"api"},{"id":"api/@ima/cli/functions/getLanguageEntryPoints","path":"/api/@ima/cli/functions/getLanguageEntryPoints","sidebar":"api"},{"id":"api/@ima/cli/functions/resolveEnvironment","path":"/api/@ima/cli/functions/resolveEnvironment","sidebar":"api"},{"id":"api/@ima/cli/functions/resolveImaConfig","path":"/api/@ima/cli/functions/resolveImaConfig","sidebar":"api"},{"id":"api/@ima/cli/functions/runImaPluginsHook","path":"/api/@ima/cli/functions/runImaPluginsHook","sidebar":"api"},{"id":"api/@ima/cli/globals","path":"/api/@ima/cli/globals","sidebar":"api"},{"id":"api/@ima/cli/index","path":"/api/@ima/cli/","sidebar":"api"},{"id":"api/@ima/cli/interfaces/ImaCliArgs","path":"/api/@ima/cli/interfaces/ImaCliArgs","sidebar":"api"},{"id":"api/@ima/cli/interfaces/ImaCliPlugin","path":"/api/@ima/cli/interfaces/ImaCliPlugin","sidebar":"api"},{"id":"api/@ima/cli/interfaces/ImaConfigurationContext","path":"/api/@ima/cli/interfaces/ImaConfigurationContext","sidebar":"api"},{"id":"api/@ima/cli/type-aliases/ImaCliCommand","path":"/api/@ima/cli/type-aliases/ImaCliCommand","sidebar":"api"},{"id":"api/@ima/cli/type-aliases/ImaConfig","path":"/api/@ima/cli/type-aliases/ImaConfig","sidebar":"api"},{"id":"api/@ima/cli/variables/IMA_CONF_FILENAME","path":"/api/@ima/cli/variables/IMA_CONF_FILENAME","sidebar":"api"},{"id":"api/@ima/core/classes/AbstractController","path":"/api/@ima/core/classes/AbstractController","sidebar":"api"},{"id":"api/@ima/core/classes/AbstractExecution","path":"/api/@ima/core/classes/AbstractExecution","sidebar":"api"},{"id":"api/@ima/core/classes/AbstractExtension","path":"/api/@ima/core/classes/AbstractExtension","sidebar":"api"},{"id":"api/@ima/core/classes/AbstractPageManager","path":"/api/@ima/core/classes/AbstractPageManager","sidebar":"api"},{"id":"api/@ima/core/classes/AbstractRoute","path":"/api/@ima/core/classes/AbstractRoute","sidebar":"api"},{"id":"api/@ima/core/classes/AbstractRouter","path":"/api/@ima/core/classes/AbstractRouter","sidebar":"api"},{"id":"api/@ima/core/classes/Bootstrap","path":"/api/@ima/core/classes/Bootstrap","sidebar":"api"},{"id":"api/@ima/core/classes/Cache","path":"/api/@ima/core/classes/Cache","sidebar":"api"},{"id":"api/@ima/core/classes/CacheEntry","path":"/api/@ima/core/classes/CacheEntry","sidebar":"api"},{"id":"api/@ima/core/classes/CacheFactory","path":"/api/@ima/core/classes/CacheFactory","sidebar":"api"},{"id":"api/@ima/core/classes/CacheImpl","path":"/api/@ima/core/classes/CacheImpl","sidebar":"api"},{"id":"api/@ima/core/classes/CancelError","path":"/api/@ima/core/classes/CancelError","sidebar":"api"},{"id":"api/@ima/core/classes/ClientPageManager","path":"/api/@ima/core/classes/ClientPageManager","sidebar":"api"},{"id":"api/@ima/core/classes/ClientRouter","path":"/api/@ima/core/classes/ClientRouter","sidebar":"api"},{"id":"api/@ima/core/classes/ClientWindow","path":"/api/@ima/core/classes/ClientWindow","sidebar":"api"},{"id":"api/@ima/core/classes/ComponentUtils","path":"/api/@ima/core/classes/ComponentUtils","sidebar":"api"},{"id":"api/@ima/core/classes/Controller","path":"/api/@ima/core/classes/Controller","sidebar":"api"},{"id":"api/@ima/core/classes/ControllerDecorator","path":"/api/@ima/core/classes/ControllerDecorator","sidebar":"api"},{"id":"api/@ima/core/classes/CookieStorage","path":"/api/@ima/core/classes/CookieStorage","sidebar":"api"},{"id":"api/@ima/core/classes/Dictionary","path":"/api/@ima/core/classes/Dictionary","sidebar":"api"},{"id":"api/@ima/core/classes/Dispatcher","path":"/api/@ima/core/classes/Dispatcher","sidebar":"api"},{"id":"api/@ima/core/classes/DispatcherImpl","path":"/api/@ima/core/classes/DispatcherImpl","sidebar":"api"},{"id":"api/@ima/core/classes/DynamicRoute","path":"/api/@ima/core/classes/DynamicRoute","sidebar":"api"},{"id":"api/@ima/core/classes/Entry","path":"/api/@ima/core/classes/Entry","sidebar":"api"},{"id":"api/@ima/core/classes/Error","path":"/api/@ima/core/classes/Error","sidebar":"api"},{"id":"api/@ima/core/classes/EventBus","path":"/api/@ima/core/classes/EventBus","sidebar":"api"},{"id":"api/@ima/core/classes/EventBusImpl","path":"/api/@ima/core/classes/EventBusImpl","sidebar":"api"},{"id":"api/@ima/core/classes/Execution","path":"/api/@ima/core/classes/Execution","sidebar":"api"},{"id":"api/@ima/core/classes/Extension","path":"/api/@ima/core/classes/Extension","sidebar":"api"},{"id":"api/@ima/core/classes/GenericError","path":"/api/@ima/core/classes/GenericError","sidebar":"api"},{"id":"api/@ima/core/classes/HttpAgent","path":"/api/@ima/core/classes/HttpAgent","sidebar":"api"},{"id":"api/@ima/core/classes/HttpAgentImpl","path":"/api/@ima/core/classes/HttpAgentImpl","sidebar":"api"},{"id":"api/@ima/core/classes/HttpProxy","path":"/api/@ima/core/classes/HttpProxy","sidebar":"api"},{"id":"api/@ima/core/classes/MapStorage","path":"/api/@ima/core/classes/MapStorage","sidebar":"api"},{"id":"api/@ima/core/classes/MessageFormatDictionary","path":"/api/@ima/core/classes/MessageFormatDictionary","sidebar":"api"},{"id":"api/@ima/core/classes/MetaManager","path":"/api/@ima/core/classes/MetaManager","sidebar":"api"},{"id":"api/@ima/core/classes/MetaManagerImpl","path":"/api/@ima/core/classes/MetaManagerImpl","sidebar":"api"},{"id":"api/@ima/core/classes/Namespace","path":"/api/@ima/core/classes/Namespace","sidebar":"api"},{"id":"api/@ima/core/classes/ObjectContainer","path":"/api/@ima/core/classes/ObjectContainer","sidebar":"api"},{"id":"api/@ima/core/classes/Observable","path":"/api/@ima/core/classes/Observable","sidebar":"api"},{"id":"api/@ima/core/classes/ObservableImpl","path":"/api/@ima/core/classes/ObservableImpl","sidebar":"api"},{"id":"api/@ima/core/classes/PageFactory","path":"/api/@ima/core/classes/PageFactory","sidebar":"api"},{"id":"api/@ima/core/classes/PageHandler","path":"/api/@ima/core/classes/PageHandler","sidebar":"api"},{"id":"api/@ima/core/classes/PageHandlerRegistry","path":"/api/@ima/core/classes/PageHandlerRegistry","sidebar":"api"},{"id":"api/@ima/core/classes/PageManager","path":"/api/@ima/core/classes/PageManager","sidebar":"api"},{"id":"api/@ima/core/classes/PageMetaHandler","path":"/api/@ima/core/classes/PageMetaHandler","sidebar":"api"},{"id":"api/@ima/core/classes/PageNavigationHandler","path":"/api/@ima/core/classes/PageNavigationHandler","sidebar":"api"},{"id":"api/@ima/core/classes/PageRenderer","path":"/api/@ima/core/classes/PageRenderer","sidebar":"api"},{"id":"api/@ima/core/classes/PageStateManager","path":"/api/@ima/core/classes/PageStateManager","sidebar":"api"},{"id":"api/@ima/core/classes/PageStateManagerDecorator","path":"/api/@ima/core/classes/PageStateManagerDecorator","sidebar":"api"},{"id":"api/@ima/core/classes/PageStateManagerImpl","path":"/api/@ima/core/classes/PageStateManagerImpl","sidebar":"api"},{"id":"api/@ima/core/classes/PluginLoader","path":"/api/@ima/core/classes/PluginLoader","sidebar":"api"},{"id":"api/@ima/core/classes/Request","path":"/api/@ima/core/classes/Request","sidebar":"api"},{"id":"api/@ima/core/classes/Response","path":"/api/@ima/core/classes/Response","sidebar":"api"},{"id":"api/@ima/core/classes/RouteFactory","path":"/api/@ima/core/classes/RouteFactory","sidebar":"api"},{"id":"api/@ima/core/classes/Router","path":"/api/@ima/core/classes/Router","sidebar":"api"},{"id":"api/@ima/core/classes/SerialBatch","path":"/api/@ima/core/classes/SerialBatch","sidebar":"api"},{"id":"api/@ima/core/classes/ServerPageManager","path":"/api/@ima/core/classes/ServerPageManager","sidebar":"api"},{"id":"api/@ima/core/classes/ServerRouter","path":"/api/@ima/core/classes/ServerRouter","sidebar":"api"},{"id":"api/@ima/core/classes/ServerWindow","path":"/api/@ima/core/classes/ServerWindow","sidebar":"api"},{"id":"api/@ima/core/classes/SessionMapStorage","path":"/api/@ima/core/classes/SessionMapStorage","sidebar":"api"},{"id":"api/@ima/core/classes/SessionStorage","path":"/api/@ima/core/classes/SessionStorage","sidebar":"api"},{"id":"api/@ima/core/classes/StaticRoute","path":"/api/@ima/core/classes/StaticRoute","sidebar":"api"},{"id":"api/@ima/core/classes/Storage","path":"/api/@ima/core/classes/Storage","sidebar":"api"},{"id":"api/@ima/core/classes/UrlTransformer","path":"/api/@ima/core/classes/UrlTransformer","sidebar":"api"},{"id":"api/@ima/core/classes/WeakMapStorage","path":"/api/@ima/core/classes/WeakMapStorage","sidebar":"api"},{"id":"api/@ima/core/classes/Window","path":"/api/@ima/core/classes/Window","sidebar":"api"},{"id":"api/@ima/core/enumerations/ActionTypes","path":"/api/@ima/core/enumerations/ActionTypes","sidebar":"api"},{"id":"api/@ima/core/enumerations/BindingState","path":"/api/@ima/core/enumerations/BindingState","sidebar":"api"},{"id":"api/@ima/core/enumerations/HttpStatusCode","path":"/api/@ima/core/enumerations/HttpStatusCode","sidebar":"api"},{"id":"api/@ima/core/enumerations/RendererEvents","path":"/api/@ima/core/enumerations/RendererEvents","sidebar":"api"},{"id":"api/@ima/core/enumerations/RendererTypes","path":"/api/@ima/core/enumerations/RendererTypes","sidebar":"api"},{"id":"api/@ima/core/enumerations/RouteNames","path":"/api/@ima/core/enumerations/RouteNames","sidebar":"api"},{"id":"api/@ima/core/enumerations/RouterEvents","path":"/api/@ima/core/enumerations/RouterEvents","sidebar":"api"},{"id":"api/@ima/core/enumerations/StateEvents","path":"/api/@ima/core/enumerations/StateEvents","sidebar":"api"},{"id":"api/@ima/core/functions/bootClientApp","path":"/api/@ima/core/functions/bootClientApp","sidebar":"api"},{"id":"api/@ima/core/functions/createImaApp","path":"/api/@ima/core/functions/createImaApp","sidebar":"api"},{"id":"api/@ima/core/functions/getClientBootConfig","path":"/api/@ima/core/functions/getClientBootConfig","sidebar":"api"},{"id":"api/@ima/core/functions/getInitialImaConfigFunctions","path":"/api/@ima/core/functions/getInitialImaConfigFunctions","sidebar":"api"},{"id":"api/@ima/core/functions/getInitialPluginConfig","path":"/api/@ima/core/functions/getInitialPluginConfig","sidebar":"api"},{"id":"api/@ima/core/functions/getNamespace","path":"/api/@ima/core/functions/getNamespace","sidebar":"api"},{"id":"api/@ima/core/functions/onLoad","path":"/api/@ima/core/functions/onLoad","sidebar":"api"},{"id":"api/@ima/core/functions/reviveClientApp","path":"/api/@ima/core/functions/reviveClientApp","sidebar":"api"},{"id":"api/@ima/core/functions/routeClientApp","path":"/api/@ima/core/functions/routeClientApp","sidebar":"api"},{"id":"api/@ima/core/globals","path":"/api/@ima/core/globals","sidebar":"api"},{"id":"api/@ima/core/index","path":"/api/@ima/core/","sidebar":"api"},{"id":"api/@ima/core/interfaces/AppEnvironment","path":"/api/@ima/core/interfaces/AppEnvironment","sidebar":"api"},{"id":"api/@ima/core/interfaces/BootConfig","path":"/api/@ima/core/interfaces/BootConfig","sidebar":"api"},{"id":"api/@ima/core/interfaces/BootServices","path":"/api/@ima/core/interfaces/BootServices","sidebar":"api"},{"id":"api/@ima/core/interfaces/DictionaryMap","path":"/api/@ima/core/interfaces/DictionaryMap","sidebar":"api"},{"id":"api/@ima/core/interfaces/DispatcherEventsMap","path":"/api/@ima/core/interfaces/DispatcherEventsMap","sidebar":"api"},{"id":"api/@ima/core/interfaces/Environment","path":"/api/@ima/core/interfaces/Environment","sidebar":"api"},{"id":"api/@ima/core/interfaces/GlobalImaObject","path":"/api/@ima/core/interfaces/GlobalImaObject","sidebar":"api"},{"id":"api/@ima/core/interfaces/HttpAgentRequestOptions","path":"/api/@ima/core/interfaces/HttpAgentRequestOptions","sidebar":"api"},{"id":"api/@ima/core/interfaces/ImaRequestInit","path":"/api/@ima/core/interfaces/ImaRequestInit","sidebar":"api"},{"id":"api/@ima/core/interfaces/InitAppConfig","path":"/api/@ima/core/interfaces/InitAppConfig","sidebar":"api"},{"id":"api/@ima/core/interfaces/InitImaConfig","path":"/api/@ima/core/interfaces/InitImaConfig","sidebar":"api"},{"id":"api/@ima/core/interfaces/InitPluginConfig","path":"/api/@ima/core/interfaces/InitPluginConfig","sidebar":"api"},{"id":"api/@ima/core/interfaces/Manifest","path":"/api/@ima/core/interfaces/Manifest","sidebar":"api"},{"id":"api/@ima/core/interfaces/ManifestAsset","path":"/api/@ima/core/interfaces/ManifestAsset","sidebar":"api"},{"id":"api/@ima/core/interfaces/OCAliasMap","path":"/api/@ima/core/interfaces/OCAliasMap","sidebar":"api"},{"id":"api/@ima/core/interfaces/PageAction","path":"/api/@ima/core/interfaces/PageAction","sidebar":"api"},{"id":"api/@ima/core/interfaces/PageRendererSettings","path":"/api/@ima/core/interfaces/PageRendererSettings","sidebar":"api"},{"id":"api/@ima/core/interfaces/Resources","path":"/api/@ima/core/interfaces/Resources","sidebar":"api"},{"id":"api/@ima/core/interfaces/RouteAction","path":"/api/@ima/core/interfaces/RouteAction","sidebar":"api"},{"id":"api/@ima/core/interfaces/RouteFactoryOptions","path":"/api/@ima/core/interfaces/RouteFactoryOptions","sidebar":"api"},{"id":"api/@ima/core/interfaces/RouteLocals","path":"/api/@ima/core/interfaces/RouteLocals","sidebar":"api"},{"id":"api/@ima/core/interfaces/RouteOptions","path":"/api/@ima/core/interfaces/RouteOptions","sidebar":"api"},{"id":"api/@ima/core/interfaces/Settings","path":"/api/@ima/core/interfaces/Settings","sidebar":"api"},{"id":"api/@ima/core/interfaces/Utils","path":"/api/@ima/core/interfaces/Utils","sidebar":"api"},{"id":"api/@ima/core/interfaces/WindowCustomEventsMap","path":"/api/@ima/core/interfaces/WindowCustomEventsMap","sidebar":"api"},{"id":"api/@ima/core/type-aliases/AnyParameters","path":"/api/@ima/core/type-aliases/AnyParameters","sidebar":"api"},{"id":"api/@ima/core/type-aliases/AppSettings","path":"/api/@ima/core/type-aliases/AppSettings","sidebar":"api"},{"id":"api/@ima/core/type-aliases/AsyncRouteController","path":"/api/@ima/core/type-aliases/AsyncRouteController","sidebar":"api"},{"id":"api/@ima/core/type-aliases/AsyncRouteView","path":"/api/@ima/core/type-aliases/AsyncRouteView","sidebar":"api"},{"id":"api/@ima/core/type-aliases/BootSettings","path":"/api/@ima/core/type-aliases/BootSettings","sidebar":"api"},{"id":"api/@ima/core/type-aliases/Cookie","path":"/api/@ima/core/type-aliases/Cookie","sidebar":"api"},{"id":"api/@ima/core/type-aliases/CookieOptions","path":"/api/@ima/core/type-aliases/CookieOptions","sidebar":"api"},{"id":"api/@ima/core/type-aliases/CookieTransformFunction","path":"/api/@ima/core/type-aliases/CookieTransformFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/DecoratedOCAliasMap","path":"/api/@ima/core/type-aliases/DecoratedOCAliasMap","sidebar":"api"},{"id":"api/@ima/core/type-aliases/Dependencies","path":"/api/@ima/core/type-aliases/Dependencies","sidebar":"api"},{"id":"api/@ima/core/type-aliases/Dependency","path":"/api/@ima/core/type-aliases/Dependency","sidebar":"api"},{"id":"api/@ima/core/type-aliases/DictionaryConfig","path":"/api/@ima/core/type-aliases/DictionaryConfig","sidebar":"api"},{"id":"api/@ima/core/type-aliases/DictionaryData","path":"/api/@ima/core/type-aliases/DictionaryData","sidebar":"api"},{"id":"api/@ima/core/type-aliases/DispatcherListener","path":"/api/@ima/core/type-aliases/DispatcherListener","sidebar":"api"},{"id":"api/@ima/core/type-aliases/EntryOptions","path":"/api/@ima/core/type-aliases/EntryOptions","sidebar":"api"},{"id":"api/@ima/core/type-aliases/EventBusEventHandler","path":"/api/@ima/core/type-aliases/EventBusEventHandler","sidebar":"api"},{"id":"api/@ima/core/type-aliases/EventBusListener","path":"/api/@ima/core/type-aliases/EventBusListener","sidebar":"api"},{"id":"api/@ima/core/type-aliases/EventBusOptions","path":"/api/@ima/core/type-aliases/EventBusOptions","sidebar":"api"},{"id":"api/@ima/core/type-aliases/ExecutionJob","path":"/api/@ima/core/type-aliases/ExecutionJob","sidebar":"api"},{"id":"api/@ima/core/type-aliases/GenericErrorParams","path":"/api/@ima/core/type-aliases/GenericErrorParams","sidebar":"api"},{"id":"api/@ima/core/type-aliases/HttpAgentResponse","path":"/api/@ima/core/type-aliases/HttpAgentResponse","sidebar":"api"},{"id":"api/@ima/core/type-aliases/HttpProxyErrorParams","path":"/api/@ima/core/type-aliases/HttpProxyErrorParams","sidebar":"api"},{"id":"api/@ima/core/type-aliases/HttpProxyRequestParams","path":"/api/@ima/core/type-aliases/HttpProxyRequestParams","sidebar":"api"},{"id":"api/@ima/core/type-aliases/InitBindFunction","path":"/api/@ima/core/type-aliases/InitBindFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/InitRoutesFunction","path":"/api/@ima/core/type-aliases/InitRoutesFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/InitServicesFunction","path":"/api/@ima/core/type-aliases/InitServicesFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/InitSettingsFunction","path":"/api/@ima/core/type-aliases/InitSettingsFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/LoadedResources","path":"/api/@ima/core/type-aliases/LoadedResources","sidebar":"api"},{"id":"api/@ima/core/type-aliases/LocalizationFunction","path":"/api/@ima/core/type-aliases/LocalizationFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/ManageArgs","path":"/api/@ima/core/type-aliases/ManageArgs","sidebar":"api"},{"id":"api/@ima/core/type-aliases/ManagedPage","path":"/api/@ima/core/type-aliases/ManagedPage","sidebar":"api"},{"id":"api/@ima/core/type-aliases/MetaAttributes","path":"/api/@ima/core/type-aliases/MetaAttributes","sidebar":"api"},{"id":"api/@ima/core/type-aliases/MetaManagerRecord","path":"/api/@ima/core/type-aliases/MetaManagerRecord","sidebar":"api"},{"id":"api/@ima/core/type-aliases/MetaManagerRecordKeys","path":"/api/@ima/core/type-aliases/MetaManagerRecordKeys","sidebar":"api"},{"id":"api/@ima/core/type-aliases/MetaValue","path":"/api/@ima/core/type-aliases/MetaValue","sidebar":"api"},{"id":"api/@ima/core/type-aliases/NativeListener","path":"/api/@ima/core/type-aliases/NativeListener","sidebar":"api"},{"id":"api/@ima/core/type-aliases/ObjectParameters","path":"/api/@ima/core/type-aliases/ObjectParameters","sidebar":"api"},{"id":"api/@ima/core/type-aliases/OCInjectable","path":"/api/@ima/core/type-aliases/OCInjectable","sidebar":"api"},{"id":"api/@ima/core/type-aliases/OCInstance","path":"/api/@ima/core/type-aliases/OCInstance","sidebar":"api"},{"id":"api/@ima/core/type-aliases/OCInstanceConstrain","path":"/api/@ima/core/type-aliases/OCInstanceConstrain","sidebar":"api"},{"id":"api/@ima/core/type-aliases/PageData","path":"/api/@ima/core/type-aliases/PageData","sidebar":"api"},{"id":"api/@ima/core/type-aliases/PageState","path":"/api/@ima/core/type-aliases/PageState","sidebar":"api"},{"id":"api/@ima/core/type-aliases/PluginInitBindFunction","path":"/api/@ima/core/type-aliases/PluginInitBindFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/PluginInitServicesFunction","path":"/api/@ima/core/type-aliases/PluginInitServicesFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/PluginInitSettingsFunction","path":"/api/@ima/core/type-aliases/PluginInitSettingsFunction","sidebar":"api"},{"id":"api/@ima/core/type-aliases/Resource","path":"/api/@ima/core/type-aliases/Resource","sidebar":"api"},{"id":"api/@ima/core/type-aliases/RouteController","path":"/api/@ima/core/type-aliases/RouteController","sidebar":"api"},{"id":"api/@ima/core/type-aliases/RouteParams","path":"/api/@ima/core/type-aliases/RouteParams","sidebar":"api"},{"id":"api/@ima/core/type-aliases/RoutePathExpression","path":"/api/@ima/core/type-aliases/RoutePathExpression","sidebar":"api"},{"id":"api/@ima/core/type-aliases/RouterMiddleware","path":"/api/@ima/core/type-aliases/RouterMiddleware","sidebar":"api"},{"id":"api/@ima/core/type-aliases/RouteView","path":"/api/@ima/core/type-aliases/RouteView","sidebar":"api"},{"id":"api/@ima/core/type-aliases/SerializedCacheEntry","path":"/api/@ima/core/type-aliases/SerializedCacheEntry","sidebar":"api"},{"id":"api/@ima/core/type-aliases/SerializedData","path":"/api/@ima/core/type-aliases/SerializedData","sidebar":"api"},{"id":"api/@ima/core/type-aliases/StringParameters","path":"/api/@ima/core/type-aliases/StringParameters","sidebar":"api"},{"id":"api/@ima/core/type-aliases/UnknownParameters","path":"/api/@ima/core/type-aliases/UnknownParameters","sidebar":"api"},{"id":"api/@ima/core/type-aliases/UnknownPromiseParameters","path":"/api/@ima/core/type-aliases/UnknownPromiseParameters","sidebar":"api"},{"id":"api/@ima/core/type-aliases/WindowEventTargets","path":"/api/@ima/core/type-aliases/WindowEventTargets","sidebar":"api"},{"id":"api/@ima/core/type-aliases/WindowEventTargetsMap","path":"/api/@ima/core/type-aliases/WindowEventTargetsMap","sidebar":"api"},{"id":"api/@ima/core/variables/ns","path":"/api/@ima/core/variables/ns","sidebar":"api"},{"id":"api/@ima/core/variables/pluginLoader","path":"/api/@ima/core/variables/pluginLoader","sidebar":"api"},{"id":"api/@ima/dev-utils/classes/Logger","path":"/api/@ima/dev-utils/classes/Logger","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/createLogger","path":"/api/@ima/dev-utils/functions/createLogger","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/createSourceFragment","path":"/api/@ima/dev-utils/functions/createSourceFragment","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/extractSourceMappingUrl","path":"/api/@ima/dev-utils/functions/extractSourceMappingUrl","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/formatError","path":"/api/@ima/dev-utils/functions/formatError","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/getSource","path":"/api/@ima/dev-utils/functions/getSource","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/parseCompileError","path":"/api/@ima/dev-utils/functions/parseCompileError","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/parseError","path":"/api/@ima/dev-utils/functions/parseError","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/printTime","path":"/api/@ima/dev-utils/functions/printTime","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/resolveErrorType","path":"/api/@ima/dev-utils/functions/resolveErrorType","sidebar":"api"},{"id":"api/@ima/dev-utils/functions/time","path":"/api/@ima/dev-utils/functions/time","sidebar":"api"},{"id":"api/@ima/dev-utils/globals","path":"/api/@ima/dev-utils/globals","sidebar":"api"},{"id":"api/@ima/dev-utils/index","path":"/api/@ima/dev-utils/","sidebar":"api"},{"id":"api/@ima/dev-utils/interfaces/CompileError","path":"/api/@ima/dev-utils/interfaces/CompileError","sidebar":"api"},{"id":"api/@ima/dev-utils/interfaces/FragmentLine","path":"/api/@ima/dev-utils/interfaces/FragmentLine","sidebar":"api"},{"id":"api/@ima/dev-utils/interfaces/LoggerOptions","path":"/api/@ima/dev-utils/interfaces/LoggerOptions","sidebar":"api"},{"id":"api/@ima/dev-utils/type-aliases/ParsedErrorData","path":"/api/@ima/dev-utils/type-aliases/ParsedErrorData","sidebar":"api"},{"id":"api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","path":"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","sidebar":"api"},{"id":"api/@ima/dev-utils/variables/logger","path":"/api/@ima/dev-utils/variables/logger","sidebar":"api"},{"id":"api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","path":"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","sidebar":"api"},{"id":"api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","path":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","sidebar":"api"},{"id":"api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","path":"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","sidebar":"api"},{"id":"api/@ima/plugin-cli/functions/preprocessTransformer","path":"/api/@ima/plugin-cli/functions/preprocessTransformer","sidebar":"api"},{"id":"api/@ima/plugin-cli/functions/swcTransformer","path":"/api/@ima/plugin-cli/functions/swcTransformer","sidebar":"api"},{"id":"api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","path":"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","sidebar":"api"},{"id":"api/@ima/plugin-cli/globals","path":"/api/@ima/plugin-cli/globals","sidebar":"api"},{"id":"api/@ima/plugin-cli/index","path":"/api/@ima/plugin-cli/","sidebar":"api"},{"id":"api/@ima/plugin-cli/interfaces/Context","path":"/api/@ima/plugin-cli/interfaces/Context","sidebar":"api"},{"id":"api/@ima/plugin-cli/interfaces/ImaPluginConfig","path":"/api/@ima/plugin-cli/interfaces/ImaPluginConfig","sidebar":"api"},{"id":"api/@ima/plugin-cli/interfaces/PipeContext","path":"/api/@ima/plugin-cli/interfaces/PipeContext","sidebar":"api"},{"id":"api/@ima/plugin-cli/interfaces/Source","path":"/api/@ima/plugin-cli/interfaces/Source","sidebar":"api"},{"id":"api/@ima/plugin-cli/type-aliases/Command","path":"/api/@ima/plugin-cli/type-aliases/Command","sidebar":"api"},{"id":"api/@ima/plugin-cli/type-aliases/Plugin","path":"/api/@ima/plugin-cli/type-aliases/Plugin","sidebar":"api"},{"id":"api/@ima/plugin-cli/type-aliases/Transformer","path":"/api/@ima/plugin-cli/type-aliases/Transformer","sidebar":"api"},{"id":"api/@ima/plugin-cli/type-aliases/TransformerOptions","path":"/api/@ima/plugin-cli/type-aliases/TransformerOptions","sidebar":"api"},{"id":"api/@ima/plugin-cli/variables/clientServerConfig","path":"/api/@ima/plugin-cli/variables/clientServerConfig","sidebar":"api"},{"id":"api/@ima/plugin-cli/variables/defaultConfig","path":"/api/@ima/plugin-cli/variables/defaultConfig","sidebar":"api"},{"id":"api/@ima/plugin-cli/variables/nodeConfig","path":"/api/@ima/plugin-cli/variables/nodeConfig","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/AbstractComponent","path":"/api/@ima/react-page-renderer/classes/AbstractComponent","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/AbstractPureComponent","path":"/api/@ima/react-page-renderer/classes/AbstractPureComponent","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/BlankManagedRootView","path":"/api/@ima/react-page-renderer/classes/BlankManagedRootView","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/ErrorBoundary","path":"/api/@ima/react-page-renderer/classes/ErrorBoundary","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/PageRendererFactory","path":"/api/@ima/react-page-renderer/classes/PageRendererFactory","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/ServerPageRenderer","path":"/api/@ima/react-page-renderer/classes/ServerPageRenderer","sidebar":"api"},{"id":"api/@ima/react-page-renderer/classes/ViewAdapter","path":"/api/@ima/react-page-renderer/classes/ViewAdapter","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/cssClasses","path":"/api/@ima/react-page-renderer/functions/cssClasses","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/defaultCssClasses","path":"/api/@ima/react-page-renderer/functions/defaultCssClasses","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/fire","path":"/api/@ima/react-page-renderer/functions/fire","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/getUtils","path":"/api/@ima/react-page-renderer/functions/getUtils","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/link","path":"/api/@ima/react-page-renderer/functions/link","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/listen","path":"/api/@ima/react-page-renderer/functions/listen","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/localize","path":"/api/@ima/react-page-renderer/functions/localize","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/unlisten","path":"/api/@ima/react-page-renderer/functions/unlisten","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useComponent","path":"/api/@ima/react-page-renderer/functions/useComponent","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useComponentUtils","path":"/api/@ima/react-page-renderer/functions/useComponentUtils","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useCssClasses","path":"/api/@ima/react-page-renderer/functions/useCssClasses","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useDispatcher","path":"/api/@ima/react-page-renderer/functions/useDispatcher","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useEventBus","path":"/api/@ima/react-page-renderer/functions/useEventBus","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useLink","path":"/api/@ima/react-page-renderer/functions/useLink","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useLocalize","path":"/api/@ima/react-page-renderer/functions/useLocalize","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useOnce","path":"/api/@ima/react-page-renderer/functions/useOnce","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/usePageContext","path":"/api/@ima/react-page-renderer/functions/usePageContext","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useSettings","path":"/api/@ima/react-page-renderer/functions/useSettings","sidebar":"api"},{"id":"api/@ima/react-page-renderer/functions/useWindowEvent","path":"/api/@ima/react-page-renderer/functions/useWindowEvent","sidebar":"api"},{"id":"api/@ima/react-page-renderer/globals","path":"/api/@ima/react-page-renderer/globals","sidebar":"api"},{"id":"api/@ima/react-page-renderer/index","path":"/api/@ima/react-page-renderer/","sidebar":"api"},{"id":"api/@ima/react-page-renderer/interfaces/PageContextType","path":"/api/@ima/react-page-renderer/interfaces/PageContextType","sidebar":"api"},{"id":"api/@ima/react-page-renderer/interfaces/useComponentType","path":"/api/@ima/react-page-renderer/interfaces/useComponentType","sidebar":"api"},{"id":"api/@ima/react-page-renderer/interfaces/useDispatcherType","path":"/api/@ima/react-page-renderer/interfaces/useDispatcherType","sidebar":"api"},{"id":"api/@ima/react-page-renderer/interfaces/useEventBusType","path":"/api/@ima/react-page-renderer/interfaces/useEventBusType","sidebar":"api"},{"id":"api/@ima/react-page-renderer/interfaces/ViewAdapterProps","path":"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps","sidebar":"api"},{"id":"api/@ima/react-page-renderer/variables/PageContext","path":"/api/@ima/react-page-renderer/variables/PageContext","sidebar":"api"},{"id":"api/index","path":"/api/","sidebar":"api"},{"id":"basic-features/controller-lifecycle","path":"/basic-features/controller-lifecycle","sidebar":"docs"},{"id":"basic-features/data-fetching","path":"/basic-features/data-fetching","sidebar":"docs"},{"id":"basic-features/dictionary","path":"/basic-features/dictionary","sidebar":"docs"},{"id":"basic-features/error-handling","path":"/basic-features/error-handling","sidebar":"docs"},{"id":"basic-features/events","path":"/basic-features/events","sidebar":"docs"},{"id":"basic-features/extensions","path":"/basic-features/extensions","sidebar":"docs"},{"id":"basic-features/handling-scripts-and-styles","path":"/basic-features/handling-scripts-and-styles","sidebar":"docs"},{"id":"basic-features/object-container","path":"/basic-features/object-container","sidebar":"docs"},{"id":"basic-features/page-manager","path":"/basic-features/page-manager","sidebar":"docs"},{"id":"basic-features/page-state","path":"/basic-features/page-state","sidebar":"docs"},{"id":"basic-features/rendering-process","path":"/basic-features/rendering-process","sidebar":"docs"},{"id":"basic-features/routing/async-routing","path":"/basic-features/routing/async-routing","sidebar":"docs"},{"id":"basic-features/routing/dynamic-routes","path":"/basic-features/routing/dynamic-routes","sidebar":"docs"},{"id":"basic-features/routing/introduction","path":"/basic-features/routing/introduction","sidebar":"docs"},{"id":"basic-features/routing/middlewares","path":"/basic-features/routing/middlewares","sidebar":"docs"},{"id":"basic-features/seo-and-meta-manager","path":"/basic-features/seo-and-meta-manager","sidebar":"docs"},{"id":"basic-features/testing","path":"/basic-features/testing","sidebar":"docs"},{"id":"basic-features/typescript","path":"/basic-features/typescript","sidebar":"docs"},{"id":"basic-features/views-and-components","path":"/basic-features/views-and-components","sidebar":"docs"},{"id":"cli/additional-features","path":"/cli/additional-features","sidebar":"docs"},{"id":"cli/advanced-features","path":"/cli/advanced-features"},{"id":"cli/cli","path":"/cli/","sidebar":"docs"},{"id":"cli/cli-plugins-api","path":"/cli/cli-plugins-api","sidebar":"docs"},{"id":"cli/compiler-features","path":"/cli/compiler-features","sidebar":"docs"},{"id":"cli/ima.config.js","path":"/cli/ima-config-js","sidebar":"docs"},{"id":"cli/plugins/analyze-plugin","path":"/cli/plugins/analyze-plugin","sidebar":"docs"},{"id":"cli/plugins/less-constants-plugin","path":"/cli/plugins/less-constants-plugin","sidebar":"docs"},{"id":"cli/plugins/scramble-css-plugin","path":"/cli/plugins/scramble-css-plugin","sidebar":"docs"},{"id":"contributing/how-to-contribute","path":"/contributing/how-to-contribute","sidebar":"docs"},{"id":"devtools/devtools-introduction","path":"/devtools/devtools-introduction","sidebar":"docs"},{"id":"devtools/devtools-options","path":"/devtools/devtools-options","sidebar":"docs"},{"id":"devtools/devtools-ui","path":"/devtools/devtools-ui","sidebar":"docs"},{"id":"introduction/configuration","path":"/introduction/configuration","sidebar":"docs"},{"id":"introduction/getting-started","path":"/introduction/getting-started","sidebar":"docs"},{"id":"migration/migration-0.14.0","path":"/migration/migration-0.14.0","sidebar":"docs"},{"id":"migration/migration-0.15.0","path":"/migration/migration-0.15.0","sidebar":"docs"},{"id":"migration/migration-0.16.0","path":"/migration/migration-0.16.0","sidebar":"docs"},{"id":"migration/migration-17.0.0","path":"/migration/migration-17.0.0","sidebar":"docs"},{"id":"migration/migration-18.0.0","path":"/migration/migration-18.0.0","sidebar":"docs"},{"id":"migration/migration-19.0.0","path":"/migration/migration-19.0.0","sidebar":"docs"},{"id":"plugins/available-plugins","path":"/plugins/available-plugins","sidebar":"docs"},{"id":"plugins/plugin-api","path":"/plugins/plugin-api","sidebar":"docs"},{"id":"tutorial/adding-some-state","path":"/tutorial/adding-some-state","sidebar":"tutorial"},{"id":"tutorial/fetching-data","path":"/tutorial/fetching-data","sidebar":"tutorial"},{"id":"tutorial/final-polish","path":"/tutorial/final-polish","sidebar":"tutorial"},{"id":"tutorial/introduction","path":"/tutorial/introduction","sidebar":"tutorial"},{"id":"tutorial/static-view","path":"/tutorial/static-view","sidebar":"tutorial"},{"id":"tutorial/writing-posts","path":"/tutorial/writing-posts","sidebar":"tutorial"}],"draftIds":[],"sidebars":{"api":{"link":{"path":"/api/@ima/cli/","label":"index"}},"tutorial":{"link":{"path":"/tutorial/introduction","label":"tutorial/introduction"}},"docs":{"link":{"path":"/introduction/getting-started","label":"introduction/getting-started"}}}}],"breadcrumbs":false}}}'),o=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(2654);const c=JSON.parse('{"docusaurusVersion":"3.7.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.7.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.7.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.7.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.7.0"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.7.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.7.0"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.7.0"},"docusaurus-plugin-typedoc":{"type":"package","name":"docusaurus-plugin-typedoc","version":"1.2.3"}}}');var l=n(2540);const u={siteConfig:r.default,siteMetadata:c,globalData:i,i18n:o,codeTranslations:s},p=a.createContext(u);function d(e){let{children:t}=e;return(0,l.jsx)(p.Provider,{value:u,children:t})}},2407:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var a=n(3696),r=n(9006),i=n(7943),o=n(99),s=n(8730),c=n(7441),l=n(2540);function u(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(p,{error:t})]})}function p(e){let{error:t}=e;const n=(0,o.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{children:t}=e;return(0,l.jsx)(c.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,l.jsx)(d,{children:(0,l.jsxs)(h,{fallback:()=>(0,l.jsx)(u,{error:t,tryAgain:n}),children:[(0,l.jsx)(i.A,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(s.A,{children:(0,l.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,l.jsx)(f,{...e});class h extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){r.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},9006:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const a="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,r={canUseDOM:a,canUseEventListeners:a&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:a&&"IntersectionObserver"in window,canUseViewport:a&&"screen"in window}},7943:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(3696);var a=n(9005),r=n(2540);function i(e){return(0,r.jsx)(a.mg,{...e})}},9985:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var a=n(3696),r=n(9941),i=n(99),o=n(4669),s=n(2535),c=n(9006),l=n(5470),u=n(3254),p=n(2540);function d(e,t){let{isNavLink:n,to:d,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,o.A)(),{trailingSlash:w,baseUrl:S}=v,x=v.future.experimental_router,{withBaseUrl:k}=(0,u.hH)(),_=(0,l.A)(),E=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>E.current));const C=d||f;const P=(0,s.A)(C),A=C?.replace("pathname://","");let O=void 0!==A?(j=A,b&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;"hash"===x&&O?.startsWith("./")&&(O=O?.slice(1)),O&&P&&(O=(0,i.Ks)(O,{trailingSlash:w,baseUrl:S}));const T=(0,a.useRef)(!1),R=n?r.k2:r.N_,I=c.A.canUseIntersectionObserver,D=(0,a.useRef)(),L=()=>{T.current||null==O||(window.docusaurus.preload(O),T.current=!0)};(0,a.useEffect)((()=>(!I&&P&&c.A.canUseDOM&&null!=O&&window.docusaurus.prefetch(O),()=>{I&&D.current&&D.current.disconnect()})),[D,O,I,P]);const M=O?.startsWith("#")??!1,N=!y.target||"_self"===y.target,F=!O||!P||!N||M&&"hash"!==x;g||!M&&F||_.collectLink(O),y.id&&_.collectAnchor(y.id);const B={};return F?(0,p.jsx)("a",{ref:E,href:O,...C&&!P&&{target:"_blank",rel:"noopener noreferrer"},...y,...B}):(0,p.jsx)(R,{...y,onMouseEnter:L,onTouchStart:L,innerRef:e=>{E.current=e,I&&e&&P&&(D.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(D.current.unobserve(e),D.current.disconnect(),null!=O&&window.docusaurus.prefetch(O))}))})),D.current.observe(e))},to:O,...n&&{isActive:h,activeClassName:m},...B})}const f=a.forwardRef(d)},7963:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,T:()=>c});var a=n(3696),r=n(2540);function i(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,a.isValidElement)(e)))?n.map(((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(2654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function c(e,t){let{message:n,id:a}=e;return i(s({message:n,id:a}),t)}function l(e){let{children:t,id:n,values:a}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const o=s({message:t,id:n});return(0,r.jsx)(r.Fragment,{children:i(o,a)})}},2524:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});const a="default"},2535:(e,t,n)=>{"use strict";function a(e){return/^(?:\w*:|\/\/)/.test(e)}function r(e){return void 0!==e&&!a(e)}n.d(t,{A:()=>r,z:()=>a})},3254:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>o});var a=n(3696),r=n(4669),i=n(2535);function o(){const{siteConfig:e}=(0,r.A)(),{baseUrl:t,url:n}=e,o=e.future.experimental_router,s=(0,a.useCallback)(((e,a)=>function(e){let{siteUrl:t,baseUrl:n,url:a,options:{forcePrependBaseUrl:r=!1,absolute:o=!1}={},router:s}=e;if(!a||a.startsWith("#")||(0,i.z)(a))return a;if("hash"===s)return a.startsWith("/")?`.${a}`:`./${a}`;if(r)return n+a.replace(/^\//,"");if(a===n.replace(/\/$/,""))return n;const c=a.startsWith(n)?a:n+a.replace(/^\//,"");return o?t+c:c}({siteUrl:n,baseUrl:t,url:e,options:a,router:o})),[n,t,o]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=o();return n(e,t)}},5470:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var a=n(3696);n(2540);const r=a.createContext({collectAnchor:()=>{},collectLink:()=>{}}),i=()=>(0,a.useContext)(r);function o(){return i()}},4669:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var a=n(3696),r=n(1664);function i(){return(0,a.useContext)(r.o)}},5200:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var a=n(3696),r=n(8142);function i(){return(0,a.useContext)(r.o)}},3604:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var a=n(3696);const r=n(9006).A.canUseDOM?a.useLayoutEffect:a.useEffect},1370:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const a=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[i,o]=n;const s=r?`${r}.${i}`:i;a(o)?e(o,s):t[s]=o}))}(e),t}},7441:(e,t,n)=>{"use strict";n.d(t,{W:()=>o,o:()=>i});var a=n(3696),r=n(2540);const i=a.createContext(null);function o(e){let{children:t,value:n}=e;const o=a.useContext(i),s=(0,a.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const a={...t.data,...n?.data};return{plugin:t.plugin,data:a}}({parent:o,value:n})),[o,n]);return(0,r.jsx)(i.Provider,{value:s,children:t})}},1599:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>v,g1:()=>y});var a=n(3696),r=n(9294),i=n(2524),o=n(2427),s=n(8030),c=n(8225),l=n(2540);const u=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},d=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=a.createContext(null);function m(){const e=(0,r.Gy)(),t=(0,o.p)().docs.versionPersistence,n=(0,a.useMemo)((()=>Object.keys(e)),[e]),[i,s]=(0,a.useState)((()=>d(n)));(0,a.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:a}=e;function r(e){const t=p.read(e,n);return a[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,r(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[i,(0,a.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,l.jsx)(f.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,l.jsx)(h,{children:t})}function b(){const e=(0,a.useContext)(f);if(!e)throw new c.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=i.W);const t=(0,r.ht)(e),[n,o]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,a.useCallback)((t=>{o.savePreferredVersion(e,t)}),[o,e])}}function v(){const e=(0,r.Gy)(),[t]=b();function n(n){const a=e[n],{preferredVersionName:r}=t[n];return a.versions.find((e=>e.name===r))??null}const a=Object.keys(e);return Object.fromEntries(a.map((e=>[e,n(e)])))}},3572:(e,t,n)=>{"use strict";n.d(t,{k:()=>i,v:()=>o});var a=n(9294),r=n(1599);function i(e,t){return`docs-${e}-${t}`}function o(){const e=(0,a.Gy)(),t=(0,a.gk)(),n=(0,r.XK)();return[...Object.keys(e).map((function(a){const r=t?.activePlugin.pluginId===a?t.activeVersion:void 0,o=n[a],s=e[a].versions.find((e=>e.isLast));return i(a,(r??o??s).name)}))]}},3250:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,t:()=>l});var a=n(3696),r=n(8225),i=n(2540);const o=Symbol("EmptyContext"),s=a.createContext(o);function c(e){let{children:t,name:n,items:r}=e;const o=(0,a.useMemo)((()=>n&&r?{name:n,items:r}:null),[n,r]);return(0,i.jsx)(s.Provider,{value:o,children:t})}function l(){const e=(0,a.useContext)(s);if(e===o)throw new r.dV("DocsSidebarProvider");return e}},3511:(e,t,n)=>{"use strict";n.d(t,{B5:()=>k,Nr:()=>d,OF:()=>v,QB:()=>x,Vd:()=>w,Y:()=>b,fW:()=>S,w8:()=>h});var a=n(3696),r=n(9519),i=n(3971),o=n(9294),s=n(4422),c=n(6229),l=n(1599),u=n(6658),p=n(3250);function d(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=d(t);if(e)return e}}(e):void 0:e.href}const f=(e,t)=>void 0!==e&&(0,s.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?f(e.href,t):"category"===e.type&&(f(e.href,t)||m(e.items,t))}function g(e,t){switch(e.type){case"category":return h(e,t)||void 0!==e.href&&!e.linkUnlisted||e.items.some((e=>g(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function b(e,t){return(0,a.useMemo)((()=>e.filter((e=>g(e,t)))),[e,t])}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:a=!1}=e;const r=[];return function e(t){for(const i of t)if("category"===i.type&&((0,s.ys)(i.href,n)||e(i.items))||"link"===i.type&&(0,s.ys)(i.href,n)){return a&&"category"!==i.type||r.unshift(i),!0}return!1}(t),r}function v(){const e=(0,p.t)(),{pathname:t}=(0,r.zy)(),n=(0,o.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function w(e){const{activeVersion:t}=(0,o.zK)(e),{preferredVersion:n}=(0,l.g1)(e),r=(0,o.r7)(e);return(0,a.useMemo)((()=>(0,c.sb)([t,n,r].filter(Boolean))),[t,n,r])}function S(e,t){const n=w(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),a=t.find((t=>t[0]===e));if(!a)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return a[1]}),[e,n])}function x(e,t){const n=w(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),a=t.find((t=>t.id===e));if(!a){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.sb)(t.map((e=>e.id))).join("\n- ")}`)}return a}),[e,n])}function k(e){let{route:t}=e;const n=(0,r.zy)(),a=(0,u.r)(),o=t.routes,s=o.find((e=>(0,r.B6)(n.pathname,e)));if(!s)return null;const c=s.sidebar,l=c?a.docsSidebars[c]:void 0;return{docElement:(0,i.v)(o),sidebarName:c,sidebarItems:l}}},6658:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>c});var a=n(3696),r=n(8225),i=n(2540);const o=a.createContext(null);function s(e){let{children:t,version:n}=e;return(0,i.jsx)(o.Provider,{value:n,children:t})}function c(){const e=(0,a.useContext)(o);if(null===e)throw new r.dV("DocsVersionProvider");return e}},9294:(e,t,n)=>{"use strict";n.d(t,{zK:()=>b,vT:()=>f,gk:()=>m,Gy:()=>p,HW:()=>y,ht:()=>d,r7:()=>g,jh:()=>h});var a=n(9519),r=n(4669),i=n(2524);function o(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function c(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,a.B6)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=c(e,t),r=n?.docs.find((e=>!!(0,a.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:r,alternateDocVersions:r?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((a=>{a.id===t&&(n[e.name]=a)}))})),n}(r.id):{}}}const u={},p=()=>o("docusaurus-plugin-content-docs")??u,d=e=>{try{return function(e,t,n){void 0===t&&(t=i.W),void 0===n&&(n={});const a=o(e),r=a?.[t];if(!r&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return r}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function f(e){void 0===e&&(e={});const t=p(),{pathname:n}=(0,a.zy)();return function(e,t,n){void 0===n&&(n={});const r=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,a.B6)(t,{path:n.path,exact:!1,strict:!1})})),i=r?{pluginId:r[0],pluginData:r[1]}:void 0;if(!i&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return i}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,a.zy)();if(!t)return;return{activePlugin:t,activeVersion:c(t.pluginData,n)}}function h(e){return d(e).versions}function g(e){const t=d(e);return s(t)}function b(e){const t=d(e),{pathname:n}=(0,a.zy)();return l(t,n)}function y(e){const t=d(e),{pathname:n}=(0,a.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},1139:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var a=n(7671),r=n.n(a);r().configure({showSpinner:!1});const i={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{r().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){r().done()}}},7904:(e,t,n)=>{"use strict";var a=n(3915),r=n(4784);!function(e){const{themeConfig:{prism:t}}=r.default,{additionalLanguages:a}=t,i=globalThis.Prism;globalThis.Prism=e,a.forEach((e=>{"php"===e&&n(5968),n(1441)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==i&&(globalThis.Prism=e)}(a.My)},1282:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(3696);var a=n(2689),r=n(7963),i=n(2427),o=n(9985),s=n(5470);const c={anchorWithStickyNavbar:"anchorWithStickyNavbar_JmGV",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_pMLv"};var l=n(2540);function u(e){let{as:t,id:n,...u}=e;const p=(0,s.A)(),{navbar:{hideOnScroll:d}}=(0,i.p)();if("h1"===t||!n)return(0,l.jsx)(t,{...u,id:void 0});p.collectAnchor(n);const f=(0,r.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,l.jsxs)(t,{...u,className:(0,a.A)("anchor",d?c.anchorWithHideOnScrollNavbar:c.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,l.jsx)(o.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},97:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(3696);const a={iconExternalLink:"iconExternalLink_nPrP"};var r=n(2540);function i(e){let{width:t=13.5,height:n=13.5}=e;return(0,r.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},8730:(e,t,n)=>{"use strict";n.d(t,{A:()=>Pt});var a=n(3696),r=n(2689),i=n(2407),o=n(2952),s=n(9519),c=n(7963),l=n(4517),u=n(2540);const p="__docusaurus_skipToContent_fallback";function d(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,a.useRef)(null),{action:t}=(0,s.W6)(),n=(0,a.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(p);t&&d(t)}),[]);return(0,l.$)((n=>{let{location:a}=n;e.current&&!a.hash&&"PUSH"===t&&d(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${p}`,onClick:a,children:t})})}var g=n(7404),b=n(2476);const y={skipToContent:"skipToContent_oPtH"};function v(){return(0,u.jsx)(h,{className:y.skipToContent})}var w=n(2427),S=n(7268);function x(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:r=1.2,className:i,...o}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...o,children:(0,u.jsx)("g",{stroke:a,strokeWidth:r,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const k={closeButton:"closeButton_J5rP"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,r.A)("clean-btn close",k.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_bSb_"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,r.A)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const P={announcementBar:"announcementBar_zJRd",announcementBarPlaceholder:"announcementBarPlaceholder_NpUd",announcementBarClose:"announcementBarClose_Jjdj",announcementBarContent:"announcementBarContent_t7IR"};function A(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,S.M)();if(!t)return null;const{backgroundColor:a,textColor:r,isCloseable:i}=e;return(0,u.jsxs)("div",{className:P.announcementBar,style:{backgroundColor:a,color:r},role:"banner",children:[i&&(0,u.jsx)("div",{className:P.announcementBarPlaceholder}),(0,u.jsx)(C,{className:P.announcementBarContent}),i&&(0,u.jsx)(_,{onClick:n,className:P.announcementBarClose})]})}var O=n(712),j=n(3707);var T=n(8225),R=n(6009);const I=a.createContext(null);function D(e){let{children:t}=e;const n=function(){const e=(0,O.M)(),t=(0,R.YL)(),[n,r]=(0,a.useState)(!1),i=null!==t.component,o=(0,T.ZC)(i);return(0,a.useEffect)((()=>{i&&!o&&r(!0)}),[i,o]),(0,a.useEffect)((()=>{i?e.shown||r(!0):r(!1)}),[e.shown,i]),(0,a.useMemo)((()=>[n,r]),[n])}();return(0,u.jsx)(I.Provider,{value:n,children:t})}function L(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function M(){const e=(0,a.useContext)(I);if(!e)throw new T.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,r=(0,a.useCallback)((()=>n(!1)),[n]),i=(0,R.YL)();return(0,a.useMemo)((()=>({shown:t,hide:r,content:L(i)})),[r,i,t])}function N(e){let{header:t,primaryMenu:n,secondaryMenu:a}=e;const{shown:i}=M();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,r.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:a})]})]})}var F=n(4996),B=n(5200);function z(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const q={toggle:"toggle_ki11",toggleButton:"toggleButton_MMFG",darkToggleIcon:"darkToggleIcon_U96C",lightToggleIcon:"lightToggleIcon_lgto",toggleButtonDisabled:"toggleButtonDisabled_Uw7m"};function H(e){let{className:t,buttonClassName:n,value:a,onChange:i}=e;const o=(0,B.A)(),s=(0,c.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===a?(0,c.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,r.A)(q.toggle,t),children:(0,u.jsxs)("button",{className:(0,r.A)("clean-btn",q.toggleButton,!o&&q.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===a?"light":"dark"),disabled:!o,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===a?"true":"false",children:[(0,u.jsx)(z,{className:(0,r.A)(q.toggleIcon,q.lightToggleIcon)}),(0,u.jsx)(U,{className:(0,r.A)(q.toggleIcon,q.darkToggleIcon)})]})})}const $=a.memo(H),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_m8pZ"};function W(e){let{className:t}=e;const n=(0,w.p)().navbar.style,a=(0,w.p)().colorMode.disableSwitch,{colorMode:r,setColorMode:i}=(0,F.G)();return a?null:(0,u.jsx)($,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:r,onChange:i})}var G=n(6782);function K(){return(0,u.jsx)(G.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,O.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,c.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function J(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(K,{}),(0,u.jsx)(W,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var Y=n(9985),Z=n(3254),X=n(2535),ee=n(6127),te=n(97);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:r,label:i,html:o,isDropdownLink:s,prependBaseUrlToHref:c,...l}=e;const p=(0,Z.Ay)(a),d=(0,Z.Ay)(t),f=(0,Z.Ay)(r,{forcePrependBaseUrl:!0}),m=i&&r&&!(0,X.A)(r),h=o?{dangerouslySetInnerHTML:{__html:o}}:{children:(0,u.jsxs)(u.Fragment,{children:[i,m&&(0,u.jsx)(te.A,{...s&&{width:12,height:12}})]})};return r?(0,u.jsx)(Y.A,{href:c?f:r,...l,...h}):(0,u.jsx)(Y.A,{to:p,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(d)},...l,...h})}function ae(e){let{className:t,isDropdownItem:n=!1,...a}=e;const i=(0,u.jsx)(ne,{className:(0,r.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...a});return n?(0,u.jsx)("li",{children:i}):i}function re(e){let{className:t,isDropdownItem:n,...a}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,r.A)("menu__link",t),...a})})}function ie(e){let{mobile:t=!1,position:n,...a}=e;const r=t?re:ae;return(0,u.jsx)(r,{...a,activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var oe=n(9695),se=n(4422),ce=n(4669);const le="dropdownNavbarItemMobile_MJ1i";function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function pe(e){let{items:t,position:n,className:i,onClick:o,...s}=e;const c=(0,a.useRef)(null),[l,p]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&p(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),(0,u.jsxs)("div",{ref:c,className:(0,r.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":l}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":l,role:"button",href:s.to?void 0:"#",className:(0,r.A)("navbar__link",i),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),p(!l))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,a.createElement)(Be,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function de(e){let{items:t,className:n,position:i,onClick:o,...c}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,ce.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),p=ue(t,l),{collapsed:d,toggleCollapsed:f,setCollapsed:m}=(0,oe.u)({initialState:()=>!p});return(0,a.useEffect)((()=>{p&&m(!p)}),[l,p,m]),(0,u.jsxs)("li",{className:(0,r.A)("menu__list-item",{"menu__list-item--collapsed":d}),children:[(0,u.jsx)(ne,{role:"button",className:(0,r.A)(le,"menu__link menu__link--sublist menu__link--sublist-caret",n),...c,onClick:e=>{e.preventDefault(),f()},children:c.children??c.label}),(0,u.jsx)(oe.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:d,children:t.map(((e,t)=>(0,a.createElement)(Be,{mobile:!0,isDropdownItem:!0,onClick:o,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:pe;return(0,u.jsx)(a,{...n})}var me=n(2424);function he(e){let{width:t=20,height:n=20,...a}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...a,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_kvP7";var be=n(8325),ye=n(5044),ve=n(7943),we=n(4280),Se=n(3623),xe=n(7316),ke=n(3572);function _e(){return[`language:${(0,ce.A)().i18n.currentLocale}`,function(){const e=(0,ke.v)();return[xe.C,...e]}().map((e=>`docusaurus_tag:${e}`))]}const Ee={button:{buttonText:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,c.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,c.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,c.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ce=null;function Pe(){return Ce?Promise.resolve():Promise.all([n.e(9714).then(n.bind(n,9714)),Promise.all([n.e(1869),n.e(8973)]).then(n.bind(n,8973)),Promise.all([n.e(1869),n.e(492)]).then(n.bind(n,492))]).then((e=>{let[{DocSearchModal:t}]=e;Ce=t}))}function Ae(e){let{hit:t,children:n}=e;return(0,u.jsx)(Y.A,{to:t.url,children:n})}function Oe(e){let{state:t,onClose:n}=e;const a=(0,we.w)();return(0,u.jsx)(Y.A,{to:a(t.query),onClick:n,children:(0,u.jsx)(c.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function je(e){let{externalUrlRegex:t,...n}=e;const r=function(e){let{externalUrlRegex:t}=e;const n=(0,s.W6)(),[r]=(0,a.useState)((()=>({navigate(e){(0,ee.G)(t,e.itemUrl)?window.location.href=e.itemUrl:n.push(e.itemUrl)}})));return r}({externalUrlRegex:t}),i=function(e){let{contextualSearch:t,...n}=e;const a=_e(),r=n.searchParameters?.facetFilters??[],i=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(a,r):r;return{...n.searchParameters,facetFilters:i}}({...n}),o=function(e){const t=(0,Se.C)(),[n]=(0,a.useState)((()=>n=>e.transformItems?e.transformItems(n):n.map((e=>({...e,url:t(e.url)})))));return n}(n),c=function(){const{siteMetadata:{docusaurusVersion:e}}=(0,ce.A)();return(0,a.useCallback)((t=>(t.addAlgoliaAgent("docusaurus",e),t)),[e])}(),l=(0,a.useRef)(null),p=(0,a.useRef)(null),[d,f]=(0,a.useState)(!1),[m,h]=(0,a.useState)(void 0),g=(0,a.useCallback)((()=>{if(!l.current){const e=document.createElement("div");l.current=e,document.body.insertBefore(e,document.body.firstChild)}}),[]),b=(0,a.useCallback)((()=>{g(),Pe().then((()=>f(!0)))}),[g]),y=(0,a.useCallback)((()=>{f(!1),p.current?.focus(),h(void 0)}),[]),v=(0,a.useCallback)((e=>{"f"===e.key&&(e.metaKey||e.ctrlKey)||(e.preventDefault(),h(e.key),b())}),[b]),w=function(e){let{closeModal:t}=e;return(0,a.useMemo)((()=>e=>{let{state:n}=e;return(0,u.jsx)(Oe,{state:n,onClose:t})}),[t])}({closeModal:y});return(0,ye.E8)({isOpen:d,onOpen:b,onClose:y,onInput:v,searchButtonRef:p}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ve.A,{children:(0,u.jsx)("link",{rel:"preconnect",href:`https://${n.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,u.jsx)(ye.Bc,{onTouchStart:Pe,onFocus:Pe,onMouseOver:Pe,onClick:b,ref:p,translations:n.translations?.button??Ee.button}),d&&Ce&&l.current&&(0,be.createPortal)((0,u.jsx)(Ce,{onClose:y,initialScrollY:window.scrollY,initialQuery:m,navigator:r,transformItems:o,hitComponent:Ae,transformSearchClient:c,...n.searchPagePath&&{resultsFooterComponent:w},placeholder:Ee.placeholder,...n,translations:n.translations?.modal??Ee.modal,searchParameters:i}),l.current)]})}function Te(){const{siteConfig:e}=(0,ce.A)();return(0,u.jsx)(je,{...e.themeConfig.algolia})}const Re={navbarSearchContainer:"navbarSearchContainer_bzqh"};function Ie(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,r.A)(n,Re.navbarSearchContainer),children:t})}var De=n(9294),Le=n(3511);var Me=n(1599);function Ne(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Fe={default:ie,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,queryString:r="",...i}=e;const{i18n:{currentLocale:o,locales:l,localeConfigs:p}}=(0,ce.A)(),d=(0,me.o)(),{search:f,hash:m}=(0,s.zy)(),h=[...n,...l.map((e=>{const n=`${`pathname://${d.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${r}`;return{label:p[e].label,lang:p[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===o?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,c.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):p[o].label;return(0,u.jsx)(fe,{...i,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Ie,{className:n,children:(0,u.jsx)(Te,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:a=!1,isDropdownItem:i=!1}=e;const o=i?"li":"div";return(0,u.jsx)(o,{className:(0,r.A)({navbar__item:!a&&!i,"menu__list-item":a},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...r}=e;const{activeDoc:i}=(0,De.zK)(a),o=(0,Le.QB)(t,a),s=i?.path===o?.path;return null===o||o.unlisted&&!s?null:(0,u.jsx)(ie,{exact:!0,...r,isActive:()=>s||!!i?.sidebar&&i.sidebar===o.sidebar,label:n??o.id,to:o.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...r}=e;const{activeDoc:i}=(0,De.zK)(a),o=(0,Le.fW)(t,a).link;if(!o)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ie,{exact:!0,...r,isActive:()=>i?.sidebar===t,label:n??o.label,to:o.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...r}=e;const i=(0,Le.Vd)(a)[0],o=t??i.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return(0,u.jsx)(ie,{...r,label:o,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:r,dropdownItemsAfter:i,...o}=e;const{search:l,hash:p}=(0,s.zy)(),d=(0,De.zK)(n),f=(0,De.jh)(n),{savePreferredVersionName:m}=(0,Me.g1)(n),h=[...r,...f.map((function(e){const t=Ne(e,d);return{label:e.label,to:`${t.path}${l}${p}`,isActive:()=>e===d.activeVersion,onClick:()=>m(e.name)}})),...i],g=(0,Le.Vd)(n)[0],b=t&&h.length>1?(0,c.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,y=t&&h.length>1?void 0:Ne(g,d).path;return h.length<=1?(0,u.jsx)(ie,{...o,mobile:t,label:b,to:y,isActive:a?()=>!1:void 0}):(0,u.jsx)(fe,{...o,mobile:t,label:b,to:y,items:h,isActive:a?()=>!1:void 0})}};function Be(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),r=Fe[a];if(!r)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(r,{...n})}function ze(){const e=(0,O.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,a.createElement)(Be,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ue(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(c.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function qe(){const e=0===(0,w.p)().navbar.items.length,t=M();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Ue,{onClick:()=>t.hide()}),t.content]})}function He(){const e=(0,O.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,a.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(N,{header:(0,u.jsx)(J,{}),primaryMenu:(0,u.jsx)(ze,{}),secondaryMenu:(0,u.jsx)(qe,{})}):null}const $e={navbarHideable:"navbarHideable_hhpl",navbarHidden:"navbarHidden_nmcs"};function Ve(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,r.A)("navbar-sidebar__backdrop",e.className)})}function We(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:i}}=(0,w.p)(),o=(0,O.M)(),{navbarRef:s,isNavbarVisible:p}=function(e){const[t,n]=(0,a.useState)(e),r=(0,a.useRef)(!1),i=(0,a.useRef)(0),o=(0,a.useCallback)((e=>{null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,j.Mq)(((t,a)=>{let{scrollY:o}=t;if(!e)return;if(o<i.current)return void n(!0);if(r.current)return void(r.current=!1);const s=a?.scrollY,c=document.documentElement.scrollHeight-i.current,l=window.innerHeight;s&&o>=s?n(!1):o+l<c&&n(!0)})),(0,l.$)((t=>{if(!e)return;const a=t.location.hash;if(a?document.getElementById(a.substring(1)):void 0)return r.current=!0,void n(!1);n(!0)})),{navbarRef:o,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,c.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,r.A)("navbar","navbar--fixed-top",n&&[$e.navbarHideable,!p&&$e.navbarHidden],{"navbar--dark":"dark"===i,"navbar--primary":"primary"===i,"navbar-sidebar--show":o.shown}),children:[t,(0,u.jsx)(Ve,{onClick:o.toggle}),(0,u.jsx)(He,{})]})}var Ge=n(99);const Ke={errorBoundaryError:"errorBoundaryError_WE6Q",errorBoundaryFallback:"errorBoundaryFallback_bdJX"};function Qe(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(c.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Je(e){let{error:t}=e;const n=(0,Ge.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Ke.errorBoundaryError,children:n})}class Ye extends a.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Ze="right";function Xe(e){let{width:t=30,height:n=30,className:a,...r}=e;return(0,u.jsx)("svg",{className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...r,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function et(){const{toggle:e,shown:t}=(0,O.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,c.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(Xe,{})})}const tt={colorModeToggle:"colorModeToggle_Hewu"};function nt(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Ye,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Be,{...e})},t)))})}function at(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function rt(){const e=(0,O.M)(),t=(0,w.p)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??Ze)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),r=t.find((e=>"search"===e.type));return(0,u.jsx)(at,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(et,{}),(0,u.jsx)(K,{}),(0,u.jsx)(nt,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(nt,{items:a}),(0,u.jsx)(W,{className:tt.colorModeToggle}),!r&&(0,u.jsx)(Ie,{children:(0,u.jsx)(Te,{})})]})})}function it(){return(0,u.jsx)(We,{children:(0,u.jsx)(rt,{})})}function ot(e){let{item:t}=e;const{to:n,href:a,label:i,prependBaseUrlToHref:o,className:s,...c}=t,l=(0,Z.Ay)(n),p=(0,Z.Ay)(a,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Y.A,{className:(0,r.A)("footer__link-item",s),...a?{href:o?p:a}:{to:l},...c,children:[i,a&&!(0,X.A)(a)&&(0,u.jsx)(te.A,{})]})}function st(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:(0,r.A)("footer__item",t.className),dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(ot,{item:t})},t.href??t.to)}function ct(e){let{column:t}=e;return(0,u.jsxs)("div",{className:(0,r.A)("col footer__col",t.className),children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(st,{item:e},t)))})]})}function lt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(ct,{column:e},t)))})}function ut(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function pt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:(0,r.A)("footer__link-item",t.className),dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(ot,{item:t})}function dt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(a.Fragment,{children:[(0,u.jsx)(pt,{item:e}),t.length!==n+1&&(0,u.jsx)(ut,{})]},n)))})})}function ft(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(lt,{columns:t}):(0,u.jsx)(dt,{links:t})}var mt=n(5348);const ht="footerLogoLink_tutC";function gt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,Z.hH)(),a={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(mt.A,{className:(0,r.A)("footer__logo",t.className),alt:t.alt,sources:a,width:t.width,height:t.height,style:t.style})}function bt(e){let{logo:t}=e;return t.href?(0,u.jsx)(Y.A,{href:t.href,className:ht,target:t.target,children:(0,u.jsx)(gt,{logo:t})}):(0,u.jsx)(gt,{logo:t})}function yt(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function vt(e){let{style:t,links:n,logo:a,copyright:i}=e;return(0,u.jsx)("footer",{className:(0,r.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(a||i)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[a&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:a}),i]})]})})}function wt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:a,style:r}=e;return(0,u.jsx)(vt,{style:r,links:n&&n.length>0&&(0,u.jsx)(ft,{links:n}),logo:a&&(0,u.jsx)(bt,{logo:a}),copyright:t&&(0,u.jsx)(yt,{copyright:t})})}const St=a.memo(wt),xt=(0,T.fM)([F.a,S.o,j.Tv,Me.VQ,o.Jx,function(e){let{children:t}=e;return(0,u.jsx)(R.y_,{children:(0,u.jsx)(O.e,{children:(0,u.jsx)(D,{children:t})})})}]);function kt(e){let{children:t}=e;return(0,u.jsx)(xt,{children:t})}var _t=n(1282);function Et(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(_t.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(c.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Qe,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Je,{error:t})})]})})})}const Ct={mainWrapper:"mainWrapper_MB5r"};function Pt(e){const{children:t,noFooter:n,wrapperClassName:a,title:s,description:c}=e;return(0,b.J)(),(0,u.jsxs)(kt,{children:[(0,u.jsx)(o.be,{title:s,description:c}),(0,u.jsx)(v,{}),(0,u.jsx)(A,{}),(0,u.jsx)(it,{}),(0,u.jsx)("div",{id:p,className:(0,r.A)(g.G.wrapper.main,Ct.mainWrapper,a),children:(0,u.jsx)(i.A,{fallback:e=>(0,u.jsx)(Et,{...e}),children:t})}),!n&&(0,u.jsx)(St,{})]})}},6782:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(3696);var a=n(9985),r=n(3254),i=n(4669),o=n(2427),s=n(5348),c=n(2540);function l(e){let{logo:t,alt:n,imageClassName:a}=e;const i={light:(0,r.Ay)(t.src),dark:(0,r.Ay)(t.srcDark||t.src)},o=(0,c.jsx)(s.A,{className:t.className,sources:i,height:t.height,width:t.width,alt:n,style:t.style});return a?(0,c.jsx)("div",{className:a,children:o}):o}function u(e){const{siteConfig:{title:t}}=(0,i.A)(),{navbar:{title:n,logo:s}}=(0,o.p)(),{imageClassName:u,titleClassName:p,...d}=e,f=(0,r.Ay)(s?.href||"/"),m=n?"":t,h=s?.alt??m;return(0,c.jsxs)(a.A,{to:f,...d,...s?.target&&{target:s.target},children:[s&&(0,c.jsx)(l,{logo:s,alt:h,imageClassName:u}),null!=n&&(0,c.jsx)("b",{className:p,children:n})]})}},8004:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(3696);var a=n(7943),r=n(2540);function i(e){let{locale:t,version:n,tag:i}=e;const o=t;return(0,r.jsxs)(a.A,{children:[t&&(0,r.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,r.jsx)("meta",{name:"docusaurus_version",content:n}),i&&(0,r.jsx)("meta",{name:"docusaurus_tag",content:i}),o&&(0,r.jsx)("meta",{name:"docsearch:language",content:o}),n&&(0,r.jsx)("meta",{name:"docsearch:version",content:n}),i&&(0,r.jsx)("meta",{name:"docsearch:docusaurus_tag",content:i})]})}},5348:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var a=n(3696),r=n(9256),i=n(5200),o=n(4996);const s={themedComponent:"themedComponent_siVc","themedComponent--light":"themedComponent--light_hHel","themedComponent--dark":"themedComponent--dark_yETr"};var c=n(2540);function l(e){let{className:t,children:n}=e;const l=(0,i.A)(),{colorMode:u}=(0,o.G)();return(0,c.jsx)(c.Fragment,{children:(l?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const i=n({theme:e,className:(0,r.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,c.jsx)(a.Fragment,{children:i},e)}))})}function u(e){const{sources:t,className:n,alt:a,...r}=e;return(0,c.jsx)(l,{className:n,children:e=>{let{theme:n,className:i}=e;return(0,c.jsx)("img",{src:t[n],alt:a,className:i,...r})}})}},9695:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>l});var a=n(3696),r=n(5200),i=n(3604),o=n(2620),s=n(2540);const c="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),i=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:i}}const u={display:"none",overflow:"hidden",height:"0px"},p={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:p;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const i=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,o.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??c}`,height:`${t}px`}}function s(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!i.current)return d(e,n),void(i.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function m(e){let{collapsed:t,isBrowser:n}=e;if(!n)return t?u:p}function h(e){let{as:t="div",collapsed:n,children:i,animation:o,onCollapseTransitionEnd:c,className:l,disableSSRStyle:u}=e;const p=(0,r.A)(),h=(0,a.useRef)(null);return f({collapsibleRef:h,collapsed:n,animation:o}),(0,s.jsx)(t,{ref:h,style:u?void 0:m({collapsed:n,isBrowser:p}),onTransitionEnd:e=>{"height"===e.propertyName&&(d(h.current,n),c?.(n))},className:l,children:i})}function g(e){let{collapsed:t,...n}=e;const[r,o]=(0,a.useState)(!t),[c,l]=(0,a.useState)(t);return(0,i.A)((()=>{t||o(!0)}),[t]),(0,i.A)((()=>{r&&l(t)}),[r,t]),r?(0,s.jsx)(h,{...n,collapsed:c}):null}function b(e){let{lazy:t,...n}=e;const a=t?g:h;return(0,s.jsx)(a,{...n})}},7268:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var a=n(3696),r=n(5200),i=n(8030),o=n(8225),s=n(2427),c=n(2540);const l=(0,i.Wf)("docusaurus.announcement.dismiss"),u=(0,i.Wf)("docusaurus.announcement.id"),p=()=>"true"===l.get(),d=e=>l.set(String(e)),f=a.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,r.A)(),[n,i]=(0,a.useState)((()=>!!t&&p()));(0,a.useEffect)((()=>{i(p())}),[]);const o=(0,a.useCallback)((()=>{d(!0),i(!0)}),[]);return(0,a.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const a=t!==n;u.set(t),a&&d(!1),!a&&p()||i(!1)}),[e]),(0,a.useMemo)((()=>({isActive:!!e&&!n,close:o})),[e,n,o])}();return(0,c.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,a.useContext)(f);if(!e)throw new o.dV("AnnouncementBarProvider");return e}},4996:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>g});var a=n(3696),r=n(9006),i=n(8225),o=n(8030),s=n(2427),c=n(2540);const l=a.createContext(void 0),u="theme",p=(0,o.Wf)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,m=e=>r.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{p.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[r,i]=(0,a.useState)(m(e));(0,a.useEffect)((()=>{t&&p.del()}),[t]);const o=(0,a.useCallback)((function(t,a){void 0===a&&(a={});const{persist:r=!0}=a;t?(i(t),r&&h(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),p.del())}),[n,e]);(0,a.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(r))}),[r]),(0,a.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=p.get();null!==t&&o(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,o]);const c=(0,a.useRef)(!1);return(0,a.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{window.matchMedia("print").matches||c.current?c.current=window.matchMedia("print").matches:o(null)};return e.addListener(a),()=>e.removeListener(a)}),[o,t,n]),(0,a.useMemo)((()=>({colorMode:r,setColorMode:o,get isDarkTheme(){return r===d.dark},setLightTheme(){o(d.light)},setDarkTheme(){o(d.dark)}})),[r,o])}();return(0,c.jsx)(l.Provider,{value:n,children:t})}function b(){const e=(0,a.useContext)(l);if(null==e)throw new i.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},712:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>d});var a=n(3696),r=n(6009),i=n(7978),o=n(5196),s=n(2427),c=n(8225),l=n(2540);const u=a.createContext(void 0);function p(){const e=function(){const e=(0,r.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,i.l)(),n=!e&&"mobile"===t,[c,l]=(0,a.useState)(!1);(0,o.$Z)((()=>{if(c)return l(!1),!1}));const u=(0,a.useCallback)((()=>{l((e=>!e))}),[]);return(0,a.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,a.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:c})),[e,n,u,c])}function d(e){let{children:t}=e;const n=p();return(0,l.jsx)(u.Provider,{value:n,children:t})}function f(){const e=a.useContext(u);if(void 0===e)throw new c.dV("NavbarMobileSidebarProvider");return e}},6009:(e,t,n)=>{"use strict";n.d(t,{GX:()=>l,YL:()=>c,y_:()=>s});var a=n(3696),r=n(8225),i=n(2540);const o=a.createContext(null);function s(e){let{children:t}=e;const n=(0,a.useState)({component:null,props:null});return(0,i.jsx)(o.Provider,{value:n,children:t})}function c(){const e=(0,a.useContext)(o);if(!e)throw new r.dV("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,a.useContext)(o);if(!i)throw new r.dV("NavbarSecondaryMenuContentProvider");const[,s]=i,c=(0,r.Be)(n);return(0,a.useEffect)((()=>{s({component:t,props:c})}),[s,t,c]),(0,a.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},2476:(e,t,n)=>{"use strict";n.d(t,{w:()=>r,J:()=>i});var a=n(3696);const r="navigation-with-keyboard";function i(){(0,a.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(r),"mousedown"===e.type&&document.body.classList.remove(r)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(r),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4280:(e,t,n)=>{"use strict";n.d(t,{b:()=>s,w:()=>c});var a=n(3696),r=n(4669),i=n(5196);const o="q";function s(){return(0,i.l)(o)}function c(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,r.A)(),{algolia:{searchPagePath:n}}=t;return(0,a.useCallback)((t=>`${e}${n}?${o}=${encodeURIComponent(t)}`),[e,n])}},7978:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var a=n(3696),r=n(9006);const i={desktop:"desktop",mobile:"mobile",ssr:"ssr"},o=996;function s(e){let{desktopBreakpoint:t=o}=void 0===e?{}:e;const[n,s]=(0,a.useState)((()=>"ssr"));return(0,a.useEffect)((()=>{function e(){s(function(e){if(!r.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?i.desktop:i.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7404:(e,t,n)=>{"use strict";n.d(t,{G:()=>a});const a={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},2620:(e,t,n)=>{"use strict";function a(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>a})},124:(e,t,n)=>{"use strict";n.d(t,{s:()=>r});var a=n(4669);function r(e){const{siteConfig:t}=(0,a.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}},5196:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>o,aZ:()=>c,l:()=>l});var a=n(3696),r=n(9519),i=n(8225);function o(e){!function(e){const t=(0,r.W6)(),n=(0,i._q)(e);(0,a.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,r.W6)();return(0,a.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function c(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function l(e){const t=c(e)??"",n=function(e){const t=(0,r.W6)();return(0,a.useCallback)(((n,a)=>{const r=new URLSearchParams(t.location.search);n?r.set(e,n):r.delete(e),(a?.push?t.push:t.replace)({search:r.toString()})}),[e,t])}(e);return[t,n]}},6229:(e,t,n)=>{"use strict";function a(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,a)=>e.findIndex((e=>t(e,n)))!==a))}function r(e){return Array.from(new Set(e))}n.d(t,{XI:()=>a,sb:()=>r})},2952:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>p,Jx:()=>m});var a=n(3696),r=n(9256),i=n(7943),o=n(7441);function s(){const e=a.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=n(3254),l=n(124),u=n(2540);function p(e){let{title:t,description:n,keywords:a,image:r,children:o}=e;const s=(0,l.s)(t),{withBaseUrl:p}=(0,c.hH)(),d=r?p(r,{absolute:!0}):void 0;return(0,u.jsxs)(i.A,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),a&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),d&&(0,u.jsx)("meta",{property:"og:image",content:d}),d&&(0,u.jsx)("meta",{name:"twitter:image",content:d}),o]})}const d=a.createContext(void 0);function f(e){let{className:t,children:n}=e;const o=a.useContext(d),s=(0,r.A)(o,t);return(0,u.jsxs)(d.Provider,{value:s,children:[(0,u.jsx)(i.A,{children:(0,u.jsx)("html",{className:s})}),n]})}function m(e){let{children:t}=e;const n=s(),a=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,r.A)(a,i),children:t})}},8225:(e,t,n)=>{"use strict";n.d(t,{Be:()=>l,ZC:()=>s,_q:()=>o,dV:()=>c,fM:()=>u});var a=n(3696),r=n(3604),i=n(2540);function o(e){const t=(0,a.useRef)(e);return(0,r.A)((()=>{t.current=e}),[e]),(0,a.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,a.useRef)();return(0,r.A)((()=>{t.current=e})),t.current}class c extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,a.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,i.jsx)(i.Fragment,{children:e.reduceRight(((e,t)=>(0,i.jsx)(t,{children:e})),n)})}}},6127:(e,t,n)=>{"use strict";function a(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>a})},4422:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>o});var a=n(3696),r=n(4024),i=n(4669);function o(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,i.A)().siteConfig;return(0,a.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function a(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(a)||e(t.filter(r).flatMap((e=>e.routes??[])))}(n)}({routes:r.A,baseUrl:e})),[e])}},3707:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>u,a_:()=>m,gk:()=>h});var a=n(3696),r=n(9006),i=n(5200),o=n(3604),s=n(8225),c=n(2540);const l=a.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,a.useRef)(!0);return(0,a.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,c.jsx)(l.Provider,{value:n,children:t})}function p(){const e=(0,a.useContext)(l);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const d=()=>r.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=p(),r=(0,a.useRef)(d()),i=(0,s._q)(e);(0,a.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();i(e,r.current),r.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[i,n,...t])}function m(){const e=p(),t=function(){const e=(0,a.useRef)({elem:null,top:0}),t=(0,a.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,a.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const a=t.getBoundingClientRect().top-n;return a&&window.scrollBy({left:0,top:a}),e.current={elem:null,top:0},{restored:0!==a}}),[]);return(0,a.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,a.useRef)(void 0),r=(0,a.useCallback)((a=>{t.save(a),e.disableScrollEvents(),n.current=()=>{const{restored:a}=t.restore();if(n.current=void 0,a){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,o.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:r}}function h(){const e=(0,a.useRef)(null),t=(0,i.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function a(){const r=document.documentElement.scrollTop;(n&&r>e||!n&&r<e)&&(t=requestAnimationFrame(a),window.scrollTo(0,Math.floor(.85*(r-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},7316:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});const a="default"},8030:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u,Dv:()=>p});var a=n(3696);const r=JSON.parse('{"N":"localStorage","M":""}'),i=r.N;function o(e){let{key:t,oldValue:n,newValue:a,storage:r}=e;if(n===a)return;const i=document.createEvent("StorageEvent");i.initStorageEvent("storage",!1,!1,t,n,a,window.location.href,r),window.dispatchEvent(i)}function s(e){if(void 0===e&&(e=i),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,c||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),c=!0),null}var t}let c=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const a=s(t?.persistence);return null===a?l:{get:()=>{try{return a.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=a.getItem(n);a.setItem(n,e),o({key:n,oldValue:t,newValue:e,storage:a})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=a.getItem(n);a.removeItem(n),o({key:n,oldValue:e,newValue:null,storage:a})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===a&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function p(e,t){const n=(0,a.useRef)((()=>null===e?l:u(e,t))).current(),r=(0,a.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,a.useSyncExternalStore)(r,(()=>n.get()),(()=>null)),n]}},2424:(e,t,n)=>{"use strict";n.d(t,{o:()=>o});var a=n(4669),r=n(9519),i=n(99);function o(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:o,currentLocale:s}}=(0,a.A)(),{pathname:c}=(0,r.zy)(),l=(0,i.Ks)(c,{trailingSlash:n,baseUrl:e}),u=s===o?e:e.replace(`/${s}/`,"/"),p=l.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===o?`${u}`:`${u}${e}/`}(n)}${p}`}}}},4517:(e,t,n)=>{"use strict";n.d(t,{$:()=>o});var a=n(3696),r=n(9519),i=n(8225);function o(e){const t=(0,r.zy)(),n=(0,i.ZC)(t),o=(0,i._q)(e);(0,a.useEffect)((()=>{n&&t!==n&&o({location:t,previousLocation:n})}),[o,t,n])}},2427:(e,t,n)=>{"use strict";n.d(t,{p:()=>r});var a=n(4669);function r(){return(0,a.A)().siteConfig.themeConfig}},4683:(e,t,n)=>{"use strict";n.d(t,{c:()=>r});var a=n(4669);function r(){const{siteConfig:{themeConfig:e}}=(0,a.A)();return e}},3623:(e,t,n)=>{"use strict";n.d(t,{C:()=>s});var a=n(3696),r=n(6127),i=n(3254),o=n(4683);function s(){const{withBaseUrl:e}=(0,i.hH)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,o.c)();return(0,a.useCallback)((a=>{const i=new URL(a);if((0,r.G)(t,i.href))return a;const o=`${i.pathname+i.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(o,n))}),[e,t,n])}},4194:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=r,t.default=function(e,t){const{trailingSlash:n,baseUrl:a}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),s="/"===o||o===a?o:(c=o,l=n,l?r(c):i(c));var c,l;return e.replace(o,s)},t.addLeadingSlash=function(e){return(0,a.addPrefix)(e,"/")},t.removeTrailingSlash=i;const a=n(4365);function r(e){return e.endsWith("/")?e:`${e}/`}function i(e){return(0,a.removeSuffix)(e,"/")}},3920:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},99:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const a=n(4629);var r=n(4194);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return a.__importDefault(r).default}});var i=n(4365);var o=n(3920);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},4365:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},4024:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});n(3696);var a=n(7303),r=n.n(a),i=n(4054);const o={"0095d48c":[()=>n.e(4122).then(n.bind(n,3156)),"@site/../docs/api/@ima/dev-utils/functions/time.md",3156],"00b0df35":[()=>n.e(6199).then(n.bind(n,3731)),"@site/../docs/api/@ima/react-page-renderer/functions/useEventBus.md",3731],"023579e4":[()=>n.e(1682).then(n.bind(n,2452)),"@site/../docs/api/@ima/cli/type-aliases/ImaCliCommand.md",2452],"0406843b":[()=>n.e(8754).then(n.bind(n,8538)),"@site/../docs/api/@ima/core/classes/PageHandlerRegistry.md",8538],"0436c729":[()=>n.e(4665).then(n.bind(n,310)),"@site/../docs/api/@ima/core/type-aliases/MetaManagerRecordKeys.md",310],"046a2c8d":[()=>Promise.all([n.e(1869),n.e(3685)]).then(n.bind(n,4178)),"@site/../docs/basic-features/typescript.md",4178],"050b426e":[()=>n.e(8353).then(n.bind(n,2118)),"@site/../docs/api/@ima/core/interfaces/OCAliasMap.md",2118],"054b3444":[()=>n.e(4153).then(n.bind(n,5067)),"@site/../docs/api/@ima/core/classes/StaticRoute.md",5067],"05c167b5":[()=>n.e(7676).then(n.bind(n,707)),"@site/../docs/api/@ima/core/type-aliases/SerializedData.md",707],"06f7bddd":[()=>n.e(6674).then(n.bind(n,5351)),"@site/../docs/api/@ima/core/type-aliases/CookieTransformFunction.md",5351],"0735edb8":[()=>n.e(3597).then(n.bind(n,540)),"@site/../docs/api/@ima/core/type-aliases/ObjectParameters.md",540],"08dd9469":[()=>n.e(7827).then(n.bind(n,9989)),"@site/../docs/api/@ima/core/classes/AbstractController.md",9989],"0a435bfc":[()=>n.e(353).then(n.bind(n,7714)),"@site/../docs/api/@ima/cli/type-aliases/ImaConfig.md",7714],"0be7a9d3":[()=>n.e(5128).then(n.bind(n,8746)),"@site/../docs/api/@ima/core/type-aliases/ManageArgs.md",8746],"0c33a80b":[()=>n.e(3187).then(n.bind(n,7698)),"@site/../docs/api/@ima/core/classes/Error.md",7698],"0d30e104":[()=>n.e(2528).then(n.bind(n,3904)),"@site/../docs/api/@ima/dev-utils/functions/resolveErrorType.md",3904],"0d60f290":[()=>n.e(4438).then(n.bind(n,6194)),"@site/../docs/api/@ima/dev-utils/interfaces/FragmentLine.md",6194],"0e0c957d":[()=>n.e(6510).then(n.bind(n,3155)),"@site/../docs/api/@ima/core/classes/AbstractRouter.md",3155],"0e4d1180":[()=>n.e(1620).then(n.bind(n,3615)),"@site/../docs/api/@ima/core/type-aliases/InitSettingsFunction.md",3615],"109df5a2":[()=>n.e(8129).then(n.bind(n,3614)),"@site/../docs/api/@ima/core/functions/reviveClientApp.md",3614],"10eac14e":[()=>n.e(9975).then(n.bind(n,8819)),"@site/../docs/api/@ima/core/type-aliases/AnyParameters.md",8819],"1352a5d9":[()=>n.e(6373).then(n.bind(n,9355)),"@site/../docs/advanced-features/dynamic-imports.md",9355],"14d23109":[()=>n.e(7235).then(n.bind(n,9636)),"@site/../docs/api/@ima/core/type-aliases/InitBindFunction.md",9636],"162a65f7":[()=>n.e(3403).then(n.bind(n,2874)),"@site/../docs/basic-features/page-manager.md",2874],17896441:[()=>Promise.all([n.e(1869),n.e(8401)]).then(n.bind(n,3815)),"@theme/DocItem",3815],"17b7345f":[()=>n.e(7534).then(n.bind(n,4170)),"@site/../docs/api/@ima/core/type-aliases/RoutePathExpression.md",4170],"198995d1":[()=>n.e(8767).then(n.bind(n,7033)),"@site/../docs/api/@ima/core/type-aliases/EventBusOptions.md",7033],"1a0a7d21":[()=>n.e(5926).then(n.bind(n,7769)),"@site/../docs/api/@ima/core/interfaces/GlobalImaObject.md",7769],"1a187b39":[()=>n.e(7465).then(n.bind(n,2322)),"@site/../docs/api/@ima/plugin-cli/type-aliases/TransformerOptions.md",2322],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,2966)),"@theme/SearchPage",2966],"1af54293":[()=>n.e(7960).then(n.bind(n,5096)),"@site/../docs/api/@ima/core/type-aliases/MetaManagerRecord.md",5096],"1b1b4238":[()=>n.e(6076).then(n.bind(n,9809)),"@site/../docs/api/@ima/core/type-aliases/Cookie.md",9809],"1b8d9881":[()=>n.e(4356).then(n.bind(n,2408)),"@site/../docs/api/@ima/core/type-aliases/EntryOptions.md",2408],"1ba2ef78":[()=>n.e(4355).then(n.bind(n,4556)),"@site/../docs/basic-features/routing/async-routing.md",4556],"1bdefe9f":[()=>n.e(4977).then(n.bind(n,5817)),"@site/../docs/api/@ima/core/interfaces/InitPluginConfig.md",5817],"1d236428":[()=>n.e(2869).then(n.bind(n,8208)),"@site/../docs/api/@ima/core/interfaces/RouteAction.md",8208],"1e67d591":[()=>n.e(5055).then(n.bind(n,3453)),"@site/../docs/api/@ima/cli/functions/compileLanguages.md",3453],"1e7da5b4":[()=>n.e(4420).then(n.bind(n,6358)),"@site/../docs/api/@ima/core/classes/Dispatcher.md",6358],"1f21f457":[()=>n.e(6327).then(n.bind(n,3597)),"@site/../docs/api/@ima/core/classes/HttpAgentImpl.md",3597],"1f47704f":[()=>n.e(5566).then(n.bind(n,6558)),"@site/../docs/api/@ima/core/classes/ClientWindow.md",6558],"1f992b54":[()=>n.e(3027).then(n.bind(n,5662)),"@site/../docs/api/@ima/core/functions/routeClientApp.md",5662],"201713f2":[()=>Promise.all([n.e(1869),n.e(9541)]).then(n.bind(n,9881)),"@site/../docs/migration/migration-18.0.0.md",9881],"21ee5e18":[()=>n.e(5547).then(n.bind(n,4006)),"@site/../docs/basic-features/object-container.md",4006],"22dd74f7":[()=>n.e(1567).then(n.t.bind(n,5226,19)),"@generated/docusaurus-plugin-content-docs/default/p/index-466.json",5226],"22fe3d7c":[()=>n.e(3687).then(n.bind(n,2093)),"@site/../docs/api/@ima/core/classes/UrlTransformer.md",2093],"23b7ba02":[()=>n.e(134).then(n.bind(n,3089)),"@site/../docs/api/@ima/core/type-aliases/OCInstanceConstrain.md",3089],"23f47465":[()=>Promise.all([n.e(1869),n.e(6098)]).then(n.bind(n,2726)),"@site/../docs/cli/cli.md",2726],"23f92eae":[()=>n.e(7952).then(n.bind(n,9587)),"@site/../docs/api/@ima/core/enumerations/RendererTypes.md",9587],24176970:[()=>n.e(1607).then(n.bind(n,8714)),"@site/../docs/api/@ima/react-page-renderer/classes/AbstractComponent.md",8714],"247d659b":[()=>n.e(8398).then(n.bind(n,1544)),"@site/../docs/api/@ima/dev-utils/functions/parseCompileError.md",1544],"25aeb21c":[()=>n.e(7894).then(n.bind(n,6737)),"@site/../docs/basic-features/routing/introduction.md",6737],"284c0bdc":[()=>n.e(3007).then(n.bind(n,8793)),"@site/../docs/basic-features/dictionary.md",8793],"286e48de":[()=>n.e(8675).then(n.bind(n,9567)),"@site/../docs/api/@ima/core/classes/CacheImpl.md",9567],"2939e2fe":[()=>n.e(6794).then(n.bind(n,7912)),"@site/../docs/api/@ima/core/type-aliases/RouteController.md",7912],"2a1789c8":[()=>n.e(3192).then(n.bind(n,3592)),"@site/../docs/api/@ima/dev-utils/interfaces/LoggerOptions.md",3592],"2aec711d":[()=>n.e(3923).then(n.bind(n,466)),"@site/../docs/api/@ima/core/classes/ComponentUtils.md",466],"2b78a965":[()=>n.e(5671).then(n.bind(n,1947)),"@site/../docs/api/@ima/core/type-aliases/AsyncRouteController.md",1947],"2c4916d9":[()=>n.e(6931).then(n.bind(n,8612)),"@site/../docs/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME.md",8612],"2c6faea6":[()=>n.e(3205).then(n.bind(n,580)),"@site/../docs/api/@ima/core/interfaces/Utils.md",580],"2d3b3d7d":[()=>n.e(3382).then(n.bind(n,5960)),"@site/../docs/api/@ima/plugin-cli/functions/preprocessTransformer.md",5960],"2d4b099c":[()=>n.e(34).then(n.bind(n,2400)),"@site/../docs/api/@ima/core/enumerations/BindingState.md",2400],"2d78be1f":[()=>n.e(8242).then(n.bind(n,3174)),"@site/../docs/api/@ima/core/type-aliases/RouterMiddleware.md",3174],"2dbe7023":[()=>n.e(7422).then(n.bind(n,4507)),"@site/../docs/api/@ima/core/interfaces/RouteOptions.md",4507],"2ece5d09":[()=>Promise.all([n.e(1869),n.e(1894)]).then(n.bind(n,4134)),"@site/../docs/cli/plugins/analyze-plugin.md",4134],"2f4a9057":[()=>n.e(7373).then(n.bind(n,6933)),"@site/../docs/api/@ima/react-page-renderer/functions/useOnce.md",6933],"2fa7fbb9":[()=>Promise.all([n.e(1869),n.e(920)]).then(n.bind(n,3781)),"@site/../docs/migration/migration-17.0.0.md",3781],"2fbd0ada":[()=>n.e(7273).then(n.bind(n,3402)),"@site/../docs/api/@ima/react-page-renderer/interfaces/useDispatcherType.md",3402],"30081c14":[()=>n.e(6669).then(n.bind(n,1621)),"@site/../docs/api/@ima/dev-utils/index.md",1621],"30bfce74":[()=>n.e(7855).then(n.bind(n,1099)),"@site/../docs/api/@ima/core/classes/Entry.md",1099],"30e917a1":[()=>n.e(8198).then(n.bind(n,8858)),"@site/../docs/api/@ima/core/classes/ServerPageManager.md",8858],"3237d59a":[()=>n.e(5525).then(n.bind(n,6270)),"@site/../docs/api/@ima/plugin-cli/globals.md",6270],"327389ac":[()=>n.e(1495).then(n.bind(n,9463)),"@site/../docs/basic-features/page-state.md",9463],"331030ba":[()=>n.e(9840).then(n.bind(n,4578)),"@site/../docs/api/@ima/core/classes/ClientRouter.md",4578],"339f6683":[()=>n.e(1519).then(n.bind(n,5076)),"@site/../docs/api/@ima/core/interfaces/HttpAgentRequestOptions.md",5076],"33fd58a6":[()=>n.e(633).then(n.bind(n,4792)),"@site/../docs/migration/migration-0.15.0.md",4792],"34832b8e":[()=>n.e(7160).then(n.bind(n,639)),"@site/../docs/api/@ima/core/interfaces/Environment.md",639],"35f8904a":[()=>n.e(707).then(n.bind(n,235)),"@site/../docs/api/@ima/dev-utils/functions/createSourceFragment.md",235],"36520f9b":[()=>n.e(5462).then(n.bind(n,6710)),"@site/../docs/api/@ima/react-page-renderer/functions/useLocalize.md",6710],"37e10be9":[()=>n.e(2831).then(n.bind(n,8972)),"@site/../docs/api/@ima/cli/functions/createWebpackConfig.md",8972],"388bb84c":[()=>n.e(8753).then(n.bind(n,6102)),"@site/../docs/api/@ima/core/type-aliases/HttpProxyRequestParams.md",6102],"3aa5d059":[()=>n.e(5755).then(n.bind(n,9284)),"@site/../docs/api/@ima/core/interfaces/RouteFactoryOptions.md",9284],"3b749563":[()=>n.e(7430).then(n.bind(n,8223)),"@site/../docs/api/@ima/core/classes/Storage.md",8223],"3c01549e":[()=>Promise.all([n.e(1869),n.e(7645)]).then(n.bind(n,2595)),"@site/../docs/cli/cli-plugins-api.md",2595],"3c5ae44f":[()=>n.e(7354).then(n.bind(n,6501)),"@site/../docs/api/@ima/cli/functions/createCacheKey.md",6501],"3c604595":[()=>n.e(7020).then(n.bind(n,3959)),"@site/../docs/api/@ima/dev-utils/globals.md",3959],"3d63d319":[()=>n.e(2690).then(n.bind(n,6484)),"@site/../docs/api/@ima/cli/interfaces/ImaConfigurationContext.md",6484],"3e4ac49e":[()=>n.e(7733).then(n.bind(n,8974)),"@site/../docs/api/@ima/react-page-renderer/classes/PageRendererFactory.md",8974],"3e704a63":[()=>n.e(302).then(n.bind(n,135)),"@site/../docs/api/@ima/core/classes/MessageFormatDictionary.md",135],"3e749104":[()=>n.e(680).then(n.bind(n,127)),"@site/../docs/api/@ima/core/classes/MetaManagerImpl.md",127],"3ee3a507":[()=>n.e(3650).then(n.bind(n,1192)),"@site/../docs/api/@ima/plugin-cli/interfaces/Source.md",1192],"42dbe6f3":[()=>n.e(6007).then(n.bind(n,6908)),"@site/../docs/api/@ima/dev-utils/type-aliases/ParsedErrorData.md",6908],"45f28deb":[()=>n.e(6627).then(n.bind(n,606)),"@site/../docs/api/@ima/dev-utils/functions/extractSourceMappingUrl.md",606],"48673dc0":[()=>n.e(2662).then(n.bind(n,777)),"@site/../docs/api/@ima/core/classes/PluginLoader.md",777],"4a35f728":[()=>Promise.all([n.e(1869),n.e(6333)]).then(n.bind(n,7297)),"@site/../docs/api/@ima/react-page-renderer/index.md",7297],"4c792d2e":[()=>n.e(8317).then(n.bind(n,983)),"@site/../docs/api/@ima/react-page-renderer/functions/useWindowEvent.md",983],"4cabad03":[()=>n.e(3097).then(n.bind(n,9091)),"@site/../docs/plugins/plugin-api.md",9091],"4cfd18d6":[()=>n.e(8139).then(n.bind(n,2321)),"@site/../docs/api/@ima/core/type-aliases/HttpAgentResponse.md",2321],"4d54b06c":[()=>n.e(371).then(n.bind(n,2458)),"@site/../docs/api/@ima/core/classes/Namespace.md",2458],"4db42fa4":[()=>n.e(686).then(n.bind(n,6763)),"@site/../docs/api/@ima/core/classes/AbstractExtension.md",6763],"4f34213b":[()=>n.e(656).then(n.bind(n,8702)),"@site/../docs/api/@ima/core/classes/SerialBatch.md",8702],"4fdd7ffa":[()=>n.e(1453).then(n.bind(n,640)),"@site/../docs/api/@ima/react-page-renderer/interfaces/useEventBusType.md",640],"5009512d":[()=>n.e(7941).then(n.bind(n,1082)),"@site/../docs/api/@ima/core/type-aliases/AsyncRouteView.md",1082],"506f4e3c":[()=>n.e(8167).then(n.bind(n,2606)),"@site/../docs/migration/migration-19.0.0.md",2606],"50a0dccc":[()=>n.e(6142).then(n.bind(n,5782)),"@site/../docs/api/@ima/core/type-aliases/AppSettings.md",5782],"50f70a8b":[()=>Promise.all([n.e(1869),n.e(9862)]).then(n.bind(n,703)),"@site/../docs/tutorial/writing-posts.mdx",703],"517b2119":[()=>n.e(8863).then(n.bind(n,2865)),"@site/../docs/api/@ima/core/interfaces/PageRendererSettings.md",2865],"51dd6e12":[()=>n.e(8487).then(n.bind(n,6136)),"@site/../docs/api/@ima/core/classes/DynamicRoute.md",6136],"530991c8":[()=>n.e(6757).then(n.bind(n,4008)),"@site/../docs/api/@ima/core/interfaces/PageAction.md",4008],"53160cfc":[()=>n.e(1200).then(n.bind(n,5387)),"@site/../docs/api/@ima/core/type-aliases/LocalizationFunction.md",5387],"5342d644":[()=>n.e(6511).then(n.bind(n,7655)),"@site/../docs/api/@ima/plugin-cli/variables/clientServerConfig.md",7655],"54d95e21":[()=>Promise.all([n.e(1869),n.e(308)]).then(n.bind(n,2660)),"@site/../docs/tutorial/static-view.mdx",2660],"54f60d95":[()=>n.e(6114).then(n.bind(n,773)),"@site/../docs/basic-features/views-and-components.md",773],"5731cc15":[()=>n.e(8591).then(n.bind(n,6251)),"@site/../docs/api/@ima/cli/functions/runImaPluginsHook.md",6251],"585f1245":[()=>n.e(2901).then(n.bind(n,2014)),"@site/../docs/devtools/devtools-introduction.md",2014],"58dd8a24":[()=>n.e(8391).then(n.bind(n,3609)),"@site/../docs/api/@ima/react-page-renderer/functions/useComponentUtils.md",3609],"58ed6817":[()=>n.e(7413).then(n.bind(n,4133)),"@site/../docs/api/@ima/react-page-renderer/classes/AbstractPureComponent.md",4133],"5920c8e7":[()=>n.e(3802).then(n.bind(n,9381)),"@site/../docs/api/@ima/plugin-cli/interfaces/PipeContext.md",9381],"5a8313eb":[()=>n.e(7919).then(n.bind(n,5436)),"@site/../docs/api/@ima/react-page-renderer/functions/cssClasses.md",5436],"5a8bc785":[()=>n.e(3084).then(n.bind(n,8716)),"@site/../docs/api/@ima/core/functions/onLoad.md",8716],"5adb7293":[()=>n.e(604).then(n.bind(n,90)),"@site/../docs/api/@ima/core/functions/getInitialPluginConfig.md",90],"5b490090":[()=>n.e(532).then(n.bind(n,1708)),"@site/../docs/api/@ima/dev-utils/functions/createLogger.md",1708],"5b5d1bef":[()=>n.e(1697).then(n.bind(n,5872)),"@site/../docs/api/@ima/core/interfaces/ManifestAsset.md",5872],"5bc0cc75":[()=>n.e(6441).then(n.bind(n,3279)),"@site/../docs/api/@ima/react-page-renderer/functions/usePageContext.md",3279],"5c52d73f":[()=>n.e(2898).then(n.bind(n,6188)),"@site/../docs/api/@ima/core/classes/PageNavigationHandler.md",6188],"5ce95ba0":[()=>n.e(3439).then(n.bind(n,8177)),"@site/../docs/api/@ima/core/classes/PageMetaHandler.md",8177],"5e6674c6":[()=>n.e(2563).then(n.bind(n,6877)),"@site/../docs/api/@ima/core/classes/PageFactory.md",6877],"5e95c892":[()=>n.e(9647).then(n.bind(n,7274)),"@theme/DocsRoot",7274],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ec8820d":[()=>n.e(9474).then(n.bind(n,7851)),"@site/../docs/api/@ima/core/type-aliases/RouteParams.md",7851],"5ef21807":[()=>n.e(8201).then(n.bind(n,2465)),"@site/../docs/api/@ima/core/functions/getInitialImaConfigFunctions.md",2465],"6073fa13":[()=>n.e(904).then(n.bind(n,5732)),"@site/../docs/api/@ima/plugin-cli/type-aliases/Plugin.md",5732],"60d7bbfa":[()=>n.e(1765).then(n.bind(n,8382)),"@site/../docs/api/@ima/core/classes/WeakMapStorage.md",8382],"611fb728":[()=>n.e(1526).then(n.bind(n,9119)),"@site/../docs/api/@ima/react-page-renderer/functions/useCssClasses.md",9119],"6302158a":[()=>n.e(4591).then(n.bind(n,3902)),"@site/../docs/api/@ima/core/enumerations/StateEvents.md",3902],"636475bd":[()=>n.e(8262).then(n.bind(n,7936)),"@site/../docs/api/@ima/core/classes/PageStateManagerDecorator.md",7936],"6527a706":[()=>n.e(2667).then(n.bind(n,3622)),"@site/../docs/basic-features/data-fetching.md",3622],"658a263b":[()=>n.e(1778).then(n.bind(n,2734)),"@site/../docs/basic-features/routing/dynamic-routes.md",2734],66307371:[()=>n.e(2172).then(n.bind(n,981)),"@site/../docs/api/@ima/plugin-cli/variables/nodeConfig.md",981],"67160f26":[()=>n.e(2789).then(n.bind(n,2736)),"@site/../docs/api/@ima/core/classes/CancelError.md",2736],"6857e688":[()=>n.e(7048).then(n.bind(n,6703)),"@site/../docs/api/@ima/core/variables/pluginLoader.md",6703],"69014fe5":[()=>n.e(5353).then(n.bind(n,5965)),"@site/../docs/api/@ima/core/type-aliases/DictionaryConfig.md",5965],"6986213d":[()=>n.e(9708).then(n.bind(n,590)),"@site/../docs/api/@ima/react-page-renderer/functions/useDispatcher.md",590],"6a7c6930":[()=>n.e(140).then(n.bind(n,9598)),"@site/../docs/contributing/how-to-contribute.md",9598],"6ae61f9d":[()=>n.e(103).then(n.bind(n,6536)),"@site/../docs/basic-features/testing.md",6536],"6c6626f0":[()=>n.e(1220).then(n.bind(n,9803)),"@site/../docs/api/@ima/core/type-aliases/PluginInitSettingsFunction.md",9803],"6d5b6e0a":[()=>n.e(1794).then(n.bind(n,7541)),"@site/../docs/api/@ima/dev-utils/functions/formatError.md",7541],"6ff345d3":[()=>n.e(8148).then(n.bind(n,5031)),"@site/../docs/api/@ima/dev-utils/functions/printTime.md",5031],"6ff7da37":[()=>n.e(545).then(n.bind(n,3027)),"@site/../docs/api/@ima/core/classes/PageHandler.md",3027],"7132be39":[()=>Promise.all([n.e(1869),n.e(8415)]).then(n.bind(n,2763)),"@site/../docs/introduction/getting-started.md",2763],"715a99ae":[()=>n.e(4497).then(n.bind(n,574)),"@site/../docs/api/@ima/core/type-aliases/OCInstance.md",574],"71f6bba6":[()=>n.e(8322).then(n.bind(n,6569)),"@site/../docs/api/@ima/plugin-cli/variables/defaultConfig.md",6569],"728bf073":[()=>n.e(4258).then(n.bind(n,6635)),"@site/../docs/api/index.md",6635],"72b2125c":[()=>n.e(1457).then(n.bind(n,9365)),"@site/../docs/api/@ima/react-page-renderer/functions/listen.md",9365],"737af32c":[()=>n.e(4113).then(n.bind(n,9110)),"@site/../docs/api/@ima/plugin-cli/interfaces/ImaPluginConfig.md",9110],73933150:[()=>n.e(6690).then(n.bind(n,953)),"@site/../docs/api/@ima/core/classes/ServerRouter.md",953],"73c687f7":[()=>n.e(9828).then(n.bind(n,1236)),"@site/../docs/api/@ima/core/interfaces/Settings.md",1236],"747520ea":[()=>n.e(8270).then(n.bind(n,2604)),"@site/../docs/api/@ima/core/classes/GenericError.md",2604],"757a5f49":[()=>n.e(8495).then(n.bind(n,5627)),"@site/../docs/api/@ima/core/classes/PageStateManagerImpl.md",5627],"7581cadb":[()=>n.e(7656).then(n.bind(n,2632)),"@site/../docs/api/@ima/core/classes/RouteFactory.md",2632],"77404de2":[()=>n.e(3004).then(n.bind(n,445)),"@site/../docs/api/@ima/core/classes/Router.md",445],"77cf719a":[()=>n.e(7976).then(n.bind(n,8846)),"@site/../docs/api/@ima/react-page-renderer/interfaces/useComponentType.md",8846],"79275fc0":[()=>n.e(5618).then(n.bind(n,7424)),"@site/../docs/api/@ima/core/enumerations/RouterEvents.md",7424],"798d67f4":[()=>n.e(1412).then(n.bind(n,9069)),"@site/../docs/basic-features/rendering-process.md",9069],"79a22100":[()=>n.e(8897).then(n.bind(n,8042)),"@site/../docs/api/@ima/plugin-cli/functions/swcTransformer.md",8042],"7a547ad0":[()=>n.e(6732).then(n.bind(n,9368)),"@site/../docs/api/@ima/core/classes/DispatcherImpl.md",9368],"7b5f680e":[()=>n.e(8150).then(n.bind(n,6714)),"@site/../docs/api/@ima/core/type-aliases/Resource.md",6714],"7b9bed65":[()=>n.e(781).then(n.bind(n,4126)),"@site/../docs/api/@ima/core/type-aliases/PluginInitServicesFunction.md",4126],"7c05b1bc":[()=>n.e(750).then(n.bind(n,5180)),"@site/../docs/api/@ima/cli/functions/resolveEnvironment.md",5180],"7c2eb169":[()=>n.e(7194).then(n.bind(n,3286)),"@site/../docs/api/@ima/cli/functions/createDevServerConfig.md",3286],"7ccec149":[()=>n.e(9420).then(n.bind(n,7049)),"@site/../docs/api/@ima/core/classes/AbstractRoute.md",7049],"7ce2633c":[()=>n.e(9487).then(n.bind(n,2150)),"@site/../docs/api/@ima/core/type-aliases/LoadedResources.md",2150],"7cf52bfa":[()=>n.e(4849).then(n.bind(n,567)),"@site/../docs/api/@ima/core/index.md",567],"7dab2b4a":[()=>n.e(3426).then(n.bind(n,7846)),"@site/../docs/devtools/devtools-ui.md",7846],"7de51c8d":[()=>n.e(3472).then(n.bind(n,2510)),"@site/../docs/api/@ima/cli/interfaces/ImaCliArgs.md",2510],"7e7703ab":[()=>n.e(9251).then(n.bind(n,9177)),"@site/../docs/api/@ima/core/interfaces/InitAppConfig.md",9177],"813302f7":[()=>n.e(6671).then(n.bind(n,562)),"@site/../docs/api/@ima/core/classes/MetaManager.md",562],"81875af5":[()=>n.e(9200).then(n.bind(n,5970)),"@site/../docs/api/@ima/core/type-aliases/MetaAttributes.md",5970],"82fa5401":[()=>n.e(5324).then(n.bind(n,7548)),"@site/../docs/migration/migration-0.14.0.md",7548],"83bd1dfb":[()=>Promise.all([n.e(1869),n.e(1)]).then(n.bind(n,352)),"@site/../docs/cli/plugins/less-constants-plugin.md",352],"8478fc2d":[()=>n.e(6877).then(n.bind(n,2050)),"@site/../docs/api/@ima/cli/functions/resolveImaConfig.md",2050],"85517bd9":[()=>n.e(7058).then(n.bind(n,1577)),"@site/../docs/api/@ima/core/functions/createImaApp.md",1577],"86b813a4":[()=>n.e(7516).then(n.bind(n,9450)),"@site/../docs/api/@ima/react-page-renderer/functions/useLink.md",9450],"87d053ee":[()=>n.e(762).then(n.bind(n,6836)),"@site/../docs/api/@ima/core/classes/HttpAgent.md",6836],"87f53564":[()=>n.e(8117).then(n.bind(n,7466)),"@site/../docs/cli/additional-features.md",7466],"88e6eafe":[()=>n.e(9099).then(n.bind(n,3665)),"@site/../docs/api/@ima/core/type-aliases/BootSettings.md",3665],"8c0ac720":[()=>n.e(2345).then(n.bind(n,3422)),"@site/../docs/api/@ima/core/interfaces/BootConfig.md",3422],"8cb3e257":[()=>n.e(6384).then(n.bind(n,3787)),"@site/../docs/api/@ima/core/classes/SessionStorage.md",3787],"8defe7f5":[()=>n.e(2185).then(n.bind(n,8175)),"@site/../docs/api/@ima/core/type-aliases/PageData.md",8175],"8ec7ae24":[()=>Promise.all([n.e(1869),n.e(1788)]).then(n.bind(n,7551)),"@site/../docs/tutorial/introduction.md",7551],"8f92c1e6":[()=>n.e(9157).then(n.bind(n,8656)),"@site/../docs/api/@ima/core/type-aliases/WindowEventTargets.md",8656],"934bc43e":[()=>n.e(3864).then(n.bind(n,192)),"@site/../docs/basic-features/controller-lifecycle.md",192],"93ce8178":[()=>n.e(4191).then(n.bind(n,6393)),"@site/../docs/api/@ima/plugin-cli/type-aliases/Transformer.md",6393],"9474e170":[()=>n.e(4346).then(n.bind(n,4678)),"@site/../docs/api/@ima/core/type-aliases/DecoratedOCAliasMap.md",4678],"94a6fc8a":[()=>n.e(5065).then(n.bind(n,6452)),"@site/../docs/api/@ima/react-page-renderer/functions/unlisten.md",6452],"94def3e0":[()=>n.e(3139).then(n.bind(n,3560)),"@site/../docs/api/@ima/core/type-aliases/Dependencies.md",3560],"94e396b7":[()=>n.e(2324).then(n.bind(n,2072)),"@site/../docs/api/@ima/core/classes/Controller.md",2072],"9577b207":[()=>n.e(468).then(n.bind(n,2410)),"@site/../docs/api/@ima/core/classes/PageRenderer.md",2410],"96c0c5ca":[()=>n.e(259).then(n.bind(n,4498)),"@site/../docs/api/@ima/react-page-renderer/functions/localize.md",4498],"97c639d7":[()=>n.e(9851).then(n.bind(n,8511)),"@site/../docs/api/@ima/react-page-renderer/functions/defaultCssClasses.md",8511],"989f586f":[()=>n.e(7582).then(n.bind(n,1226)),"@site/../docs/api/@ima/core/type-aliases/CookieOptions.md",1226],"98bec0c5":[()=>n.e(9178).then(n.bind(n,9045)),"@site/../docs/api/@ima/core/type-aliases/HttpProxyErrorParams.md",9045],"991f8d4c":[()=>n.e(6719).then(n.bind(n,7330)),"@site/../docs/api/@ima/core/type-aliases/PluginInitBindFunction.md",7330],99233437:[()=>n.e(1727).then(n.bind(n,5139)),"@site/../docs/api/@ima/react-page-renderer/variables/PageContext.md",5139],"999756ce":[()=>n.e(9244).then(n.bind(n,7108)),"@site/../docs/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin.md",7108],"9af0878b":[()=>n.e(7753).then(n.bind(n,6863)),"@site/../docs/api/@ima/core/classes/Request.md",6863],"9b8a95cc":[()=>n.e(19).then(n.bind(n,2326)),"@site/../docs/api/@ima/core/type-aliases/Dependency.md",2326],"9dd8a0d2":[()=>Promise.all([n.e(1869),n.e(205),n.e(8617)]).then(n.bind(n,9945)),"@site/src/pages/index.jsx",9945],"9e01cd16":[()=>n.e(7788).then(n.bind(n,6186)),"@site/../docs/api/@ima/cli/functions/getLanguageEntryPoints.md",6186],"9e2a34cf":[()=>n.e(7696).then(n.bind(n,8301)),"@site/../docs/api/@ima/react-page-renderer/classes/ViewAdapter.md",8301],"9e3f3c76":[()=>Promise.all([n.e(1869),n.e(7675)]).then(n.bind(n,643)),"@site/../docs/tutorial/final-polish.mdx",643],"9e4a7547":[()=>n.e(4791).then(n.bind(n,2034)),"@site/../docs/basic-features/handling-scripts-and-styles.md",2034],"9f7752b8":[()=>n.e(1355).then(n.bind(n,761)),"@site/../docs/api/@ima/dev-utils/variables/logger.md",761],a14022e5:[()=>n.e(8295).then(n.bind(n,2526)),"@site/../docs/api/@ima/core/classes/SessionMapStorage.md",2526],a1f68851:[()=>n.e(9247).then(n.bind(n,7283)),"@site/../docs/api/@ima/cli/functions/findRules.md",7283],a1fa3683:[()=>n.e(9754).then(n.bind(n,6610)),"@site/../docs/basic-features/routing/middlewares.md",6610],a314e9a5:[()=>n.e(2748).then(n.bind(n,4467)),"@site/../docs/api/@ima/core/classes/ClientPageManager.md",4467],a3814d4a:[()=>Promise.all([n.e(1869),n.e(7363)]).then(n.bind(n,6173)),"@site/../docs/cli/plugins/scramble-css-plugin.md",6173],a383d2c3:[()=>n.e(3020).then(n.bind(n,3807)),"@site/../docs/api/@ima/plugin-cli/index.md",3807],a58b1ccc:[()=>n.e(3797).then(n.bind(n,8791)),"@site/../docs/api/@ima/core/globals.md",8791],a63c3ee5:[()=>n.e(8434).then(n.bind(n,626)),"@site/../docs/api/@ima/cli/functions/getCurrentCoreJsVersion.md",626],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,5575)),"@theme/DocVersionRoot",5575],a8d83bd5:[()=>n.e(378).then(n.bind(n,4587)),"@site/../docs/api/@ima/core/classes/MapStorage.md",4587],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,8109)),"@theme/DocRoot",8109],a96dee6d:[()=>n.e(2239).then(n.bind(n,8126)),"@site/../docs/api/@ima/cli/index.md",8126],a9e53e63:[()=>n.e(3454).then(n.bind(n,9202)),"@site/../docs/api/@ima/core/type-aliases/MetaValue.md",9202],ab2f38e9:[()=>n.e(4549).then(n.bind(n,6072)),"@site/../docs/api/@ima/core/classes/CookieStorage.md",6072],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],afb1371e:[()=>n.e(2837).then(n.bind(n,6299)),"@site/../docs/api/@ima/core/type-aliases/PageState.md",6299],b03cb8d5:[()=>n.e(8844).then(n.bind(n,7051)),"@site/../docs/basic-features/events.md",7051],b0d03967:[()=>n.e(4496).then(n.bind(n,2244)),"@site/../docs/api/@ima/core/type-aliases/EventBusListener.md",2244],b1612cd7:[()=>n.e(4053).then(n.bind(n,1330)),"@site/../docs/api/@ima/dev-utils/interfaces/CompileError.md",1330],b2160db6:[()=>n.e(7310).then(n.bind(n,8563)),"@site/../docs/api/@ima/dev-utils/functions/getSource.md",8563],b27d79ec:[()=>n.e(9602).then(n.bind(n,35)),"@site/../docs/api/@ima/core/type-aliases/ManagedPage.md",35],b2a1d6d9:[()=>n.e(5810).then(n.bind(n,2062)),"@site/../docs/api/@ima/react-page-renderer/functions/useComponent.md",2062],b34664f9:[()=>n.e(3865).then(n.bind(n,156)),"@site/../docs/api/@ima/core/interfaces/InitImaConfig.md",156],b4a62217:[()=>n.e(6128).then(n.bind(n,6732)),"@site/../docs/api/@ima/cli/globals.md",6732],b4c18e0e:[()=>n.e(9193).then(n.bind(n,1186)),"@site/../docs/api/@ima/core/interfaces/DispatcherEventsMap.md",1186],b4ec51b8:[()=>n.e(5041).then(n.bind(n,9901)),"@site/../docs/api/@ima/react-page-renderer/functions/useSettings.md",9901],b52cec2f:[()=>n.e(9793).then(n.bind(n,5094)),"@site/../docs/api/@ima/core/enumerations/HttpStatusCode.md",5094],b63b1a1f:[()=>n.e(6271).then(n.bind(n,3198)),"@site/../docs/api/@ima/core/interfaces/Resources.md",3198],b6fa5182:[()=>n.e(9800).then(n.bind(n,1877)),"@site/../docs/api/@ima/cli/interfaces/ImaCliPlugin.md",1877],b788ae02:[()=>n.e(4386).then(n.bind(n,2413)),"@site/../docs/api/@ima/dev-utils/classes/Logger.md",2413],bbfe74ec:[()=>n.e(6205).then(n.bind(n,468)),"@site/../docs/api/@ima/core/classes/Response.md",468],bd95ca4e:[()=>n.e(422).then(n.bind(n,2748)),"@site/../docs/api/@ima/core/classes/ControllerDecorator.md",2748],be7e6daf:[()=>n.e(4375).then(n.bind(n,5996)),"@site/../docs/api/@ima/core/enumerations/RendererEvents.md",5996],beb73144:[()=>n.e(2169).then(n.bind(n,8773)),"@site/../docs/api/@ima/react-page-renderer/classes/BlankManagedRootView.md",8773],bf028727:[()=>n.e(6215).then(n.bind(n,9476)),"@site/../docs/api/@ima/react-page-renderer/functions/getUtils.md",9476],bf94dc2c:[()=>n.e(7498).then(n.bind(n,9318)),"@site/../docs/api/@ima/cli/variables/IMA_CONF_FILENAME.md",9318],c0442aea:[()=>n.e(2447).then(n.bind(n,8938)),"@site/../docs/api/@ima/core/classes/CacheEntry.md",8938],c050cf1d:[()=>n.e(5933).then(n.bind(n,9778)),"@site/../docs/api/@ima/core/classes/Execution.md",9778],c141421f:[()=>n.e(957).then(n.t.bind(n,936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",936],c1da0157:[()=>n.e(7295).then(n.bind(n,2190)),"@site/../docs/api/@ima/react-page-renderer/globals.md",2190],c361505b:[()=>n.e(4212).then(n.bind(n,8159)),"@site/../docs/api/@ima/core/classes/Cache.md",8159],c391e67c:[()=>n.e(3796).then(n.bind(n,7038)),"@site/../docs/api/@ima/core/interfaces/RouteLocals.md",7038],c3d83163:[()=>n.e(4352).then(n.bind(n,8232)),"@site/../docs/api/@ima/core/classes/PageStateManager.md",8232],c4faeb28:[()=>n.e(5202).then(n.bind(n,6767)),"@site/../docs/api/@ima/core/functions/getNamespace.md",6767],c5cbe7ce:[()=>n.e(6900).then(n.bind(n,8750)),"@site/../docs/api/@ima/core/type-aliases/InitServicesFunction.md",8750],c6c9d087:[()=>n.e(2111).then(n.bind(n,5794)),"@site/../docs/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX.md",5794],c7fb0ffe:[()=>n.e(1916).then(n.bind(n,6807)),"@site/../docs/basic-features/extensions.md",6807],cd4295eb:[()=>n.e(5847).then(n.bind(n,1732)),"@site/../docs/cli/ima.config.js.md",1732],ce9f7c01:[()=>n.e(6217).then(n.bind(n,7667)),"@site/../docs/api/@ima/core/classes/Bootstrap.md",7667],cfd8246b:[()=>n.e(3234).then(n.bind(n,1516)),"@site/../docs/api/@ima/core/type-aliases/DispatcherListener.md",1516],cff55af7:[()=>n.e(9204).then(n.bind(n,2511)),"@site/../docs/api/@ima/react-page-renderer/classes/ErrorBoundary.md",2511],d0063a96:[()=>n.e(7084).then(n.bind(n,9351)),"@site/../docs/cli/compiler-features.md",9351],d0a2dc9c:[()=>n.e(1073).then(n.bind(n,8664)),"@site/../docs/plugins/available-plugins.md",8664],d13bdcde:[()=>n.e(6563).then(n.bind(n,1940)),"@site/../docs/api/@ima/core/type-aliases/UnknownPromiseParameters.md",1940],d15bf737:[()=>n.e(6216).then(n.bind(n,7517)),"@site/../docs/api/@ima/core/enumerations/RouteNames.md",7517],d6532ee3:[()=>n.e(6946).then(n.bind(n,6808)),"@site/../docs/api/@ima/core/type-aliases/EventBusEventHandler.md",6808],d72b9e96:[()=>n.e(6815).then(n.bind(n,4935)),"@site/../docs/api/@ima/core/type-aliases/StringParameters.md",4935],d74bb0e7:[()=>n.e(7868).then(n.bind(n,1672)),"@site/../docs/api/@ima/react-page-renderer/interfaces/PageContextType.md",1672],d7c38c55:[()=>n.e(8531).then(n.bind(n,4658)),"@site/../docs/api/@ima/core/type-aliases/DictionaryData.md",4658],d9946c37:[()=>n.e(66).then(n.bind(n,6272)),"@site/../docs/api/@ima/plugin-cli/type-aliases/Command.md",6272],da389e98:[()=>n.e(8950).then(n.bind(n,9170)),"@site/../docs/api/@ima/core/interfaces/ImaRequestInit.md",9170],da5c5c21:[()=>Promise.all([n.e(1869),n.e(4821)]).then(n.bind(n,3685)),"@site/../docs/tutorial/fetching-data.mdx",3685],da71292b:[()=>n.e(6925).then(n.bind(n,5964)),"@site/../docs/api/@ima/core/classes/CacheFactory.md",5964],da721fe9:[()=>n.e(3206).then(n.bind(n,4437)),"@site/../docs/api/@ima/core/interfaces/DictionaryMap.md",4437],db366989:[()=>n.e(828).then(n.bind(n,4989)),"@site/../docs/api/@ima/core/interfaces/AppEnvironment.md",4989],db691710:[()=>n.e(9417).then(n.bind(n,2112)),"@site/../docs/api/@ima/core/type-aliases/WindowEventTargetsMap.md",2112],dc4d3b05:[()=>n.e(7166).then(n.bind(n,6920)),"@site/../docs/api/@ima/core/classes/ObservableImpl.md",6920],dc583b00:[()=>n.e(528).then(n.bind(n,816)),"@site/../docs/api/@ima/react-page-renderer/interfaces/ViewAdapterProps.md",816],dc79edcf:[()=>n.e(1460).then(n.bind(n,9059)),"@site/../docs/api/@ima/react-page-renderer/functions/link.md",9059],dd0dae3b:[()=>n.e(3878).then(n.bind(n,1679)),"@site/../docs/api/@ima/core/classes/Window.md",1679],de246b9b:[()=>n.e(3549).then(n.bind(n,3154)),"@site/../docs/api/@ima/core/classes/AbstractPageManager.md",3154],de443fde:[()=>n.e(3812).then(n.bind(n,7783)),"@site/../docs/api/@ima/core/type-aliases/SerializedCacheEntry.md",7783],de6b82fb:[()=>n.e(4140).then(n.bind(n,4715)),"@site/../docs/api/@ima/core/classes/PageManager.md",4715],df55d336:[()=>n.e(763).then(n.bind(n,7653)),"@site/../docs/api/@ima/core/type-aliases/ExecutionJob.md",7653],dfd43dc8:[()=>n.e(5465).then(n.bind(n,2516)),"@site/../docs/api/@ima/plugin-cli/interfaces/Context.md",2516],e02467ce:[()=>n.e(7327).then(n.bind(n,2206)),"@site/../docs/api/@ima/core/classes/Observable.md",2206],e05bec59:[()=>n.e(3215).then(n.bind(n,7597)),"@site/../docs/api/@ima/core/classes/ObjectContainer.md",7597],e25ffe8c:[()=>n.e(6807).then(n.bind(n,6552)),"@site/../docs/cli/advanced-features.md",6552],e329cf1d:[()=>n.e(9208).then(n.bind(n,4046)),"@site/../docs/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE.md",4046],e5d5c0ae:[()=>n.e(8943).then(n.bind(n,7929)),"@site/../docs/api/@ima/core/type-aliases/UnknownParameters.md",7929],e80bbda2:[()=>n.e(2297).then(n.bind(n,7445)),"@site/../docs/api/@ima/core/enumerations/ActionTypes.md",7445],e9289eb0:[()=>n.e(3775).then(n.bind(n,4609)),"@site/../docs/api/@ima/core/classes/AbstractExecution.md",4609],e9e6b51f:[()=>n.e(5117).then(n.bind(n,6305)),"@site/../docs/api/@ima/core/classes/HttpProxy.md",6305],ebba7519:[()=>n.e(5019).then(n.bind(n,6595)),"@site/../docs/api/@ima/dev-utils/functions/parseError.md",6595],f0633975:[()=>n.e(5588).then(n.bind(n,7432)),"@site/../docs/api/@ima/core/type-aliases/InitRoutesFunction.md",7432],f2953143:[()=>n.e(7546).then(n.bind(n,2554)),"@site/../docs/api/@ima/core/variables/ns.md",2554],f2aee5d1:[()=>n.e(9102).then(n.bind(n,8632)),"@site/../docs/api/@ima/core/classes/Dictionary.md",8632],f2d0b182:[()=>n.e(1238).then(n.bind(n,3505)),"@site/../docs/migration/migration-0.16.0.md",3505],f33aa945:[()=>Promise.all([n.e(1869),n.e(2785)]).then(n.bind(n,165)),"@site/../docs/tutorial/adding-some-state.mdx",165],f3847fe3:[()=>n.e(6737).then(n.bind(n,9078)),"@site/../docs/api/@ima/core/interfaces/WindowCustomEventsMap.md",9078],f3b1218a:[()=>n.e(663).then(n.bind(n,9184)),"@site/../docs/api/@ima/core/type-aliases/RouteView.md",9184],f42f2945:[()=>n.e(8955).then(n.bind(n,4182)),"@site/../docs/devtools/devtools-options.md",4182],f462a191:[()=>n.e(6493).then(n.bind(n,3080)),"@site/../docs/api/@ima/core/type-aliases/OCInjectable.md",3080],f4d80e61:[()=>n.e(6207).then(n.bind(n,9689)),"@site/../docs/api/@ima/core/classes/Extension.md",9689],f4da79e9:[()=>n.e(1090).then(n.bind(n,4855)),"@site/../docs/api/@ima/core/classes/EventBusImpl.md",4855],f644150e:[()=>n.e(7948).then(n.bind(n,7119)),"@site/../docs/api/@ima/core/functions/bootClientApp.md",7119],f747c071:[()=>n.e(376).then(n.bind(n,4097)),"@site/../docs/basic-features/error-handling.md",4097],f872beed:[()=>n.e(1554).then(n.bind(n,5702)),"@site/../docs/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL.md",5702],f8a31429:[()=>n.e(2809).then(n.bind(n,7880)),"@site/../docs/api/@ima/core/classes/ServerWindow.md",7880],fb8d9da6:[()=>n.e(9637).then(n.bind(n,1978)),"@site/../docs/api/@ima/core/interfaces/Manifest.md",1978],fbe0eb09:[()=>n.e(3872).then(n.bind(n,9149)),"@site/../docs/api/@ima/core/functions/getClientBootConfig.md",9149],fc5d92fc:[()=>n.e(6873).then(n.bind(n,1569)),"@site/../docs/api/@ima/react-page-renderer/functions/fire.md",1569],fc65f0be:[()=>n.e(1956).then(n.bind(n,6629)),"@site/../docs/basic-features/seo-and-meta-manager.md",6629],fc738ad7:[()=>n.e(6034).then(n.bind(n,6990)),"@site/../docs/api/@ima/core/type-aliases/GenericErrorParams.md",6990],fcb7ea42:[()=>n.e(3355).then(n.bind(n,2779)),"@site/../docs/api/@ima/core/type-aliases/NativeListener.md",2779],fe1eb9bc:[()=>n.e(1820).then(n.bind(n,8880)),"@site/../docs/introduction/configuration.md",8880],fe637ad5:[()=>n.e(7224).then(n.bind(n,1659)),"@site/../docs/api/@ima/core/interfaces/BootServices.md",1659],ff164e89:[()=>n.e(6797).then(n.bind(n,5499)),"@site/../docs/api/@ima/react-page-renderer/classes/ServerPageRenderer.md",5499],ff313a9b:[()=>n.e(3081).then(n.bind(n,937)),"@site/../docs/api/@ima/core/classes/EventBus.md",937]};var s=n(2540);function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):a?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var l=n(1370),u=n(7441);function p(e,t){if("*"===e)return r()({loading:c,loader:()=>n.e(1074).then(n.bind(n,1074)),modules:["@theme/NotFound"],webpack:()=>[1074],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const a=i[`${e}-${t}`],p={},d=[],f=[],m=(0,l.A)(a);return Object.entries(m).forEach((e=>{let[t,n]=e;const a=o[n];a&&(p[t]=a[0],d.push(a[1]),f.push(a[2]))})),r().Map({loading:c,loader:p,modules:d,webpack:()=>f,render(t,n){const r=JSON.parse(JSON.stringify(a));Object.entries(t).forEach((t=>{let[n,a]=t;const i=a.default;if(!i)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof i&&"function"!=typeof i||Object.keys(a).filter((e=>"default"!==e)).forEach((e=>{i[e]=a[e]}));let o=r;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=i}));const i=r.__comp;delete r.__comp;const o=r.__context;delete r.__context;const c=r.__props;return delete r.__props,(0,s.jsx)(u.W,{value:o,children:(0,s.jsx)(i,{...r,...c,...n})})}})}const d=[{path:"/search",component:p("/search","5de"),exact:!0},{path:"/",component:p("/","070"),exact:!0},{path:"/",component:p("/","279"),routes:[{path:"/",component:p("/","8e1"),routes:[{path:"/",component:p("/","dd4"),routes:[{path:"/advanced-features/dynamic-imports",component:p("/advanced-features/dynamic-imports","db9"),exact:!0,sidebar:"docs"},{path:"/api/",component:p("/api/","8a3"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/",component:p("/api/@ima/cli/","e2b"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/compileLanguages",component:p("/api/@ima/cli/functions/compileLanguages","840"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/createCacheKey",component:p("/api/@ima/cli/functions/createCacheKey","ea2"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/createDevServerConfig",component:p("/api/@ima/cli/functions/createDevServerConfig","f47"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/createWebpackConfig",component:p("/api/@ima/cli/functions/createWebpackConfig","66a"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/findRules",component:p("/api/@ima/cli/functions/findRules","1cc"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/getCurrentCoreJsVersion",component:p("/api/@ima/cli/functions/getCurrentCoreJsVersion","14b"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/getLanguageEntryPoints",component:p("/api/@ima/cli/functions/getLanguageEntryPoints","97a"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/resolveEnvironment",component:p("/api/@ima/cli/functions/resolveEnvironment","e2f"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/resolveImaConfig",component:p("/api/@ima/cli/functions/resolveImaConfig","c51"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/functions/runImaPluginsHook",component:p("/api/@ima/cli/functions/runImaPluginsHook","8d2"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/globals",component:p("/api/@ima/cli/globals","697"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/interfaces/ImaCliArgs",component:p("/api/@ima/cli/interfaces/ImaCliArgs","1d8"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/interfaces/ImaCliPlugin",component:p("/api/@ima/cli/interfaces/ImaCliPlugin","47e"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/interfaces/ImaConfigurationContext",component:p("/api/@ima/cli/interfaces/ImaConfigurationContext","522"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/type-aliases/ImaCliCommand",component:p("/api/@ima/cli/type-aliases/ImaCliCommand","010"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/type-aliases/ImaConfig",component:p("/api/@ima/cli/type-aliases/ImaConfig","730"),exact:!0,sidebar:"api"},{path:"/api/@ima/cli/variables/IMA_CONF_FILENAME",component:p("/api/@ima/cli/variables/IMA_CONF_FILENAME","e47"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/",component:p("/api/@ima/core/","ff4"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/AbstractController",component:p("/api/@ima/core/classes/AbstractController","5eb"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/AbstractExecution",component:p("/api/@ima/core/classes/AbstractExecution","c4a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/AbstractExtension",component:p("/api/@ima/core/classes/AbstractExtension","941"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/AbstractPageManager",component:p("/api/@ima/core/classes/AbstractPageManager","c48"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/AbstractRoute",component:p("/api/@ima/core/classes/AbstractRoute","c06"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/AbstractRouter",component:p("/api/@ima/core/classes/AbstractRouter","699"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Bootstrap",component:p("/api/@ima/core/classes/Bootstrap","f34"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Cache",component:p("/api/@ima/core/classes/Cache","de2"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/CacheEntry",component:p("/api/@ima/core/classes/CacheEntry","f29"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/CacheFactory",component:p("/api/@ima/core/classes/CacheFactory","3da"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/CacheImpl",component:p("/api/@ima/core/classes/CacheImpl","7ea"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/CancelError",component:p("/api/@ima/core/classes/CancelError","1a3"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ClientPageManager",component:p("/api/@ima/core/classes/ClientPageManager","be1"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ClientRouter",component:p("/api/@ima/core/classes/ClientRouter","276"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ClientWindow",component:p("/api/@ima/core/classes/ClientWindow","f36"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ComponentUtils",component:p("/api/@ima/core/classes/ComponentUtils","7c8"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Controller",component:p("/api/@ima/core/classes/Controller","bdf"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ControllerDecorator",component:p("/api/@ima/core/classes/ControllerDecorator","4e6"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/CookieStorage",component:p("/api/@ima/core/classes/CookieStorage","355"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Dictionary",component:p("/api/@ima/core/classes/Dictionary","2cb"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Dispatcher",component:p("/api/@ima/core/classes/Dispatcher","652"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/DispatcherImpl",component:p("/api/@ima/core/classes/DispatcherImpl","bce"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/DynamicRoute",component:p("/api/@ima/core/classes/DynamicRoute","837"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Entry",component:p("/api/@ima/core/classes/Entry","369"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Error",component:p("/api/@ima/core/classes/Error","225"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/EventBus",component:p("/api/@ima/core/classes/EventBus","729"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/EventBusImpl",component:p("/api/@ima/core/classes/EventBusImpl","b58"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Execution",component:p("/api/@ima/core/classes/Execution","2f9"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Extension",component:p("/api/@ima/core/classes/Extension","a42"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/GenericError",component:p("/api/@ima/core/classes/GenericError","9f7"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/HttpAgent",component:p("/api/@ima/core/classes/HttpAgent","dde"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/HttpAgentImpl",component:p("/api/@ima/core/classes/HttpAgentImpl","037"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/HttpProxy",component:p("/api/@ima/core/classes/HttpProxy","304"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/MapStorage",component:p("/api/@ima/core/classes/MapStorage","295"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/MessageFormatDictionary",component:p("/api/@ima/core/classes/MessageFormatDictionary","8b1"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/MetaManager",component:p("/api/@ima/core/classes/MetaManager","c1a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/MetaManagerImpl",component:p("/api/@ima/core/classes/MetaManagerImpl","3a4"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Namespace",component:p("/api/@ima/core/classes/Namespace","d82"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ObjectContainer",component:p("/api/@ima/core/classes/ObjectContainer","55a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Observable",component:p("/api/@ima/core/classes/Observable","427"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ObservableImpl",component:p("/api/@ima/core/classes/ObservableImpl","650"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageFactory",component:p("/api/@ima/core/classes/PageFactory","cbf"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageHandler",component:p("/api/@ima/core/classes/PageHandler","829"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageHandlerRegistry",component:p("/api/@ima/core/classes/PageHandlerRegistry","daf"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageManager",component:p("/api/@ima/core/classes/PageManager","be3"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageMetaHandler",component:p("/api/@ima/core/classes/PageMetaHandler","21c"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageNavigationHandler",component:p("/api/@ima/core/classes/PageNavigationHandler","e69"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageRenderer",component:p("/api/@ima/core/classes/PageRenderer","99f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageStateManager",component:p("/api/@ima/core/classes/PageStateManager","7ae"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageStateManagerDecorator",component:p("/api/@ima/core/classes/PageStateManagerDecorator","ed9"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PageStateManagerImpl",component:p("/api/@ima/core/classes/PageStateManagerImpl","e01"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/PluginLoader",component:p("/api/@ima/core/classes/PluginLoader","b45"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Request",component:p("/api/@ima/core/classes/Request","83f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Response",component:p("/api/@ima/core/classes/Response","f02"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/RouteFactory",component:p("/api/@ima/core/classes/RouteFactory","ff6"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Router",component:p("/api/@ima/core/classes/Router","047"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/SerialBatch",component:p("/api/@ima/core/classes/SerialBatch","f92"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ServerPageManager",component:p("/api/@ima/core/classes/ServerPageManager","449"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ServerRouter",component:p("/api/@ima/core/classes/ServerRouter","938"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/ServerWindow",component:p("/api/@ima/core/classes/ServerWindow","5f1"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/SessionMapStorage",component:p("/api/@ima/core/classes/SessionMapStorage","590"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/SessionStorage",component:p("/api/@ima/core/classes/SessionStorage","697"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/StaticRoute",component:p("/api/@ima/core/classes/StaticRoute","ead"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Storage",component:p("/api/@ima/core/classes/Storage","e64"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/UrlTransformer",component:p("/api/@ima/core/classes/UrlTransformer","8f7"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/WeakMapStorage",component:p("/api/@ima/core/classes/WeakMapStorage","e4d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/classes/Window",component:p("/api/@ima/core/classes/Window","b37"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/ActionTypes",component:p("/api/@ima/core/enumerations/ActionTypes","518"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/BindingState",component:p("/api/@ima/core/enumerations/BindingState","305"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/HttpStatusCode",component:p("/api/@ima/core/enumerations/HttpStatusCode","8bb"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/RendererEvents",component:p("/api/@ima/core/enumerations/RendererEvents","6e5"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/RendererTypes",component:p("/api/@ima/core/enumerations/RendererTypes","b83"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/RouteNames",component:p("/api/@ima/core/enumerations/RouteNames","52e"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/RouterEvents",component:p("/api/@ima/core/enumerations/RouterEvents","ebe"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/enumerations/StateEvents",component:p("/api/@ima/core/enumerations/StateEvents","7f8"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/bootClientApp",component:p("/api/@ima/core/functions/bootClientApp","87d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/createImaApp",component:p("/api/@ima/core/functions/createImaApp","163"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/getClientBootConfig",component:p("/api/@ima/core/functions/getClientBootConfig","403"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/getInitialImaConfigFunctions",component:p("/api/@ima/core/functions/getInitialImaConfigFunctions","962"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/getInitialPluginConfig",component:p("/api/@ima/core/functions/getInitialPluginConfig","b92"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/getNamespace",component:p("/api/@ima/core/functions/getNamespace","9d6"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/onLoad",component:p("/api/@ima/core/functions/onLoad","f8f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/reviveClientApp",component:p("/api/@ima/core/functions/reviveClientApp","196"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/functions/routeClientApp",component:p("/api/@ima/core/functions/routeClientApp","c47"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/globals",component:p("/api/@ima/core/globals","2a8"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/AppEnvironment",component:p("/api/@ima/core/interfaces/AppEnvironment","2a8"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/BootConfig",component:p("/api/@ima/core/interfaces/BootConfig","4ef"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/BootServices",component:p("/api/@ima/core/interfaces/BootServices","a9f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/DictionaryMap",component:p("/api/@ima/core/interfaces/DictionaryMap","2a4"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/DispatcherEventsMap",component:p("/api/@ima/core/interfaces/DispatcherEventsMap","dcb"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/Environment",component:p("/api/@ima/core/interfaces/Environment","a4b"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/GlobalImaObject",component:p("/api/@ima/core/interfaces/GlobalImaObject","236"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/HttpAgentRequestOptions",component:p("/api/@ima/core/interfaces/HttpAgentRequestOptions","d50"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/ImaRequestInit",component:p("/api/@ima/core/interfaces/ImaRequestInit","b3c"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/InitAppConfig",component:p("/api/@ima/core/interfaces/InitAppConfig","489"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/InitImaConfig",component:p("/api/@ima/core/interfaces/InitImaConfig","00b"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/InitPluginConfig",component:p("/api/@ima/core/interfaces/InitPluginConfig","b2c"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/Manifest",component:p("/api/@ima/core/interfaces/Manifest","3fc"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/ManifestAsset",component:p("/api/@ima/core/interfaces/ManifestAsset","9af"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/OCAliasMap",component:p("/api/@ima/core/interfaces/OCAliasMap","e6b"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/PageAction",component:p("/api/@ima/core/interfaces/PageAction","6b7"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/PageRendererSettings",component:p("/api/@ima/core/interfaces/PageRendererSettings","b8c"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/Resources",component:p("/api/@ima/core/interfaces/Resources","50d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/RouteAction",component:p("/api/@ima/core/interfaces/RouteAction","b76"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/RouteFactoryOptions",component:p("/api/@ima/core/interfaces/RouteFactoryOptions","e4f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/RouteLocals",component:p("/api/@ima/core/interfaces/RouteLocals","e54"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/RouteOptions",component:p("/api/@ima/core/interfaces/RouteOptions","ac0"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/Settings",component:p("/api/@ima/core/interfaces/Settings","01d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/Utils",component:p("/api/@ima/core/interfaces/Utils","3e7"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/interfaces/WindowCustomEventsMap",component:p("/api/@ima/core/interfaces/WindowCustomEventsMap","a5a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/AnyParameters",component:p("/api/@ima/core/type-aliases/AnyParameters","2f9"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/AppSettings",component:p("/api/@ima/core/type-aliases/AppSettings","228"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/AsyncRouteController",component:p("/api/@ima/core/type-aliases/AsyncRouteController","907"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/AsyncRouteView",component:p("/api/@ima/core/type-aliases/AsyncRouteView","638"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/BootSettings",component:p("/api/@ima/core/type-aliases/BootSettings","963"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/Cookie",component:p("/api/@ima/core/type-aliases/Cookie","642"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/CookieOptions",component:p("/api/@ima/core/type-aliases/CookieOptions","040"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/CookieTransformFunction",component:p("/api/@ima/core/type-aliases/CookieTransformFunction","5a7"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/DecoratedOCAliasMap",component:p("/api/@ima/core/type-aliases/DecoratedOCAliasMap","7d7"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/Dependencies",component:p("/api/@ima/core/type-aliases/Dependencies","922"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/Dependency",component:p("/api/@ima/core/type-aliases/Dependency","73c"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/DictionaryConfig",component:p("/api/@ima/core/type-aliases/DictionaryConfig","161"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/DictionaryData",component:p("/api/@ima/core/type-aliases/DictionaryData","ad4"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/DispatcherListener",component:p("/api/@ima/core/type-aliases/DispatcherListener","79e"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/EntryOptions",component:p("/api/@ima/core/type-aliases/EntryOptions","a2f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/EventBusEventHandler",component:p("/api/@ima/core/type-aliases/EventBusEventHandler","d64"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/EventBusListener",component:p("/api/@ima/core/type-aliases/EventBusListener","6bd"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/EventBusOptions",component:p("/api/@ima/core/type-aliases/EventBusOptions","d0e"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/ExecutionJob",component:p("/api/@ima/core/type-aliases/ExecutionJob","ef9"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/GenericErrorParams",component:p("/api/@ima/core/type-aliases/GenericErrorParams","298"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/HttpAgentResponse",component:p("/api/@ima/core/type-aliases/HttpAgentResponse","e2a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/HttpProxyErrorParams",component:p("/api/@ima/core/type-aliases/HttpProxyErrorParams","62b"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/HttpProxyRequestParams",component:p("/api/@ima/core/type-aliases/HttpProxyRequestParams","5c3"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/InitBindFunction",component:p("/api/@ima/core/type-aliases/InitBindFunction","974"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/InitRoutesFunction",component:p("/api/@ima/core/type-aliases/InitRoutesFunction","b90"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/InitServicesFunction",component:p("/api/@ima/core/type-aliases/InitServicesFunction","8de"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/InitSettingsFunction",component:p("/api/@ima/core/type-aliases/InitSettingsFunction","d6f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/LoadedResources",component:p("/api/@ima/core/type-aliases/LoadedResources","b77"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/LocalizationFunction",component:p("/api/@ima/core/type-aliases/LocalizationFunction","978"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/ManageArgs",component:p("/api/@ima/core/type-aliases/ManageArgs","9ec"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/ManagedPage",component:p("/api/@ima/core/type-aliases/ManagedPage","2ed"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/MetaAttributes",component:p("/api/@ima/core/type-aliases/MetaAttributes","2a0"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/MetaManagerRecord",component:p("/api/@ima/core/type-aliases/MetaManagerRecord","989"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/MetaManagerRecordKeys",component:p("/api/@ima/core/type-aliases/MetaManagerRecordKeys","b86"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/MetaValue",component:p("/api/@ima/core/type-aliases/MetaValue","88d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/NativeListener",component:p("/api/@ima/core/type-aliases/NativeListener","46a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/ObjectParameters",component:p("/api/@ima/core/type-aliases/ObjectParameters","c7b"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/OCInjectable",component:p("/api/@ima/core/type-aliases/OCInjectable","f1f"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/OCInstance",component:p("/api/@ima/core/type-aliases/OCInstance","4f2"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/OCInstanceConstrain",component:p("/api/@ima/core/type-aliases/OCInstanceConstrain","0f4"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/PageData",component:p("/api/@ima/core/type-aliases/PageData","b62"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/PageState",component:p("/api/@ima/core/type-aliases/PageState","ca3"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/PluginInitBindFunction",component:p("/api/@ima/core/type-aliases/PluginInitBindFunction","705"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/PluginInitServicesFunction",component:p("/api/@ima/core/type-aliases/PluginInitServicesFunction","54b"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/PluginInitSettingsFunction",component:p("/api/@ima/core/type-aliases/PluginInitSettingsFunction","aab"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/Resource",component:p("/api/@ima/core/type-aliases/Resource","77e"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/RouteController",component:p("/api/@ima/core/type-aliases/RouteController","158"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/RouteParams",component:p("/api/@ima/core/type-aliases/RouteParams","46a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/RoutePathExpression",component:p("/api/@ima/core/type-aliases/RoutePathExpression","68e"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/RouterMiddleware",component:p("/api/@ima/core/type-aliases/RouterMiddleware","3f8"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/RouteView",component:p("/api/@ima/core/type-aliases/RouteView","cf2"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/SerializedCacheEntry",component:p("/api/@ima/core/type-aliases/SerializedCacheEntry","65a"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/SerializedData",component:p("/api/@ima/core/type-aliases/SerializedData","666"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/StringParameters",component:p("/api/@ima/core/type-aliases/StringParameters","21e"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/UnknownParameters",component:p("/api/@ima/core/type-aliases/UnknownParameters","432"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/UnknownPromiseParameters",component:p("/api/@ima/core/type-aliases/UnknownPromiseParameters","17d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/WindowEventTargets",component:p("/api/@ima/core/type-aliases/WindowEventTargets","490"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/type-aliases/WindowEventTargetsMap",component:p("/api/@ima/core/type-aliases/WindowEventTargetsMap","0b1"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/variables/ns",component:p("/api/@ima/core/variables/ns","94d"),exact:!0,sidebar:"api"},{path:"/api/@ima/core/variables/pluginLoader",component:p("/api/@ima/core/variables/pluginLoader","eee"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/",component:p("/api/@ima/dev-utils/","ee7"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/classes/Logger",component:p("/api/@ima/dev-utils/classes/Logger","4ec"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/createLogger",component:p("/api/@ima/dev-utils/functions/createLogger","660"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/createSourceFragment",component:p("/api/@ima/dev-utils/functions/createSourceFragment","1f2"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/extractSourceMappingUrl",component:p("/api/@ima/dev-utils/functions/extractSourceMappingUrl","1c1"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/formatError",component:p("/api/@ima/dev-utils/functions/formatError","3a8"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/getSource",component:p("/api/@ima/dev-utils/functions/getSource","462"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/parseCompileError",component:p("/api/@ima/dev-utils/functions/parseCompileError","d0b"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/parseError",component:p("/api/@ima/dev-utils/functions/parseError","aa3"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/printTime",component:p("/api/@ima/dev-utils/functions/printTime","ea1"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/resolveErrorType",component:p("/api/@ima/dev-utils/functions/resolveErrorType","3bb"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/functions/time",component:p("/api/@ima/dev-utils/functions/time","5fd"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/globals",component:p("/api/@ima/dev-utils/globals","be2"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/interfaces/CompileError",component:p("/api/@ima/dev-utils/interfaces/CompileError","464"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/interfaces/FragmentLine",component:p("/api/@ima/dev-utils/interfaces/FragmentLine","ae6"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/interfaces/LoggerOptions",component:p("/api/@ima/dev-utils/interfaces/LoggerOptions","7bc"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/type-aliases/ParsedErrorData",component:p("/api/@ima/dev-utils/type-aliases/ParsedErrorData","dfa"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE",component:p("/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE","4fd"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/variables/logger",component:p("/api/@ima/dev-utils/variables/logger","dda"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL",component:p("/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL","d71"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME",component:p("/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME","9da"),exact:!0,sidebar:"api"},{path:"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX",component:p("/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX","8a7"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/",component:p("/api/@ima/plugin-cli/","28e"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/functions/preprocessTransformer",component:p("/api/@ima/plugin-cli/functions/preprocessTransformer","a48"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/functions/swcTransformer",component:p("/api/@ima/plugin-cli/functions/swcTransformer","2b5"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin",component:p("/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin","522"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/globals",component:p("/api/@ima/plugin-cli/globals","d71"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/interfaces/Context",component:p("/api/@ima/plugin-cli/interfaces/Context","282"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/interfaces/ImaPluginConfig",component:p("/api/@ima/plugin-cli/interfaces/ImaPluginConfig","fd9"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/interfaces/PipeContext",component:p("/api/@ima/plugin-cli/interfaces/PipeContext","358"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/interfaces/Source",component:p("/api/@ima/plugin-cli/interfaces/Source","45f"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/type-aliases/Command",component:p("/api/@ima/plugin-cli/type-aliases/Command","f5f"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/type-aliases/Plugin",component:p("/api/@ima/plugin-cli/type-aliases/Plugin","4fd"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/type-aliases/Transformer",component:p("/api/@ima/plugin-cli/type-aliases/Transformer","a92"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/type-aliases/TransformerOptions",component:p("/api/@ima/plugin-cli/type-aliases/TransformerOptions","3d3"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/variables/clientServerConfig",component:p("/api/@ima/plugin-cli/variables/clientServerConfig","0ee"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/variables/defaultConfig",component:p("/api/@ima/plugin-cli/variables/defaultConfig","e3a"),exact:!0,sidebar:"api"},{path:"/api/@ima/plugin-cli/variables/nodeConfig",component:p("/api/@ima/plugin-cli/variables/nodeConfig","cb1"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/",component:p("/api/@ima/react-page-renderer/","5cc"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/AbstractComponent",component:p("/api/@ima/react-page-renderer/classes/AbstractComponent","9b2"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/AbstractPureComponent",component:p("/api/@ima/react-page-renderer/classes/AbstractPureComponent","bb5"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/BlankManagedRootView",component:p("/api/@ima/react-page-renderer/classes/BlankManagedRootView","ea9"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/ErrorBoundary",component:p("/api/@ima/react-page-renderer/classes/ErrorBoundary","280"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/PageRendererFactory",component:p("/api/@ima/react-page-renderer/classes/PageRendererFactory","d48"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/ServerPageRenderer",component:p("/api/@ima/react-page-renderer/classes/ServerPageRenderer","2e7"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/classes/ViewAdapter",component:p("/api/@ima/react-page-renderer/classes/ViewAdapter","1f3"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/cssClasses",component:p("/api/@ima/react-page-renderer/functions/cssClasses","7c5"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/defaultCssClasses",component:p("/api/@ima/react-page-renderer/functions/defaultCssClasses","230"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/fire",component:p("/api/@ima/react-page-renderer/functions/fire","585"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/getUtils",component:p("/api/@ima/react-page-renderer/functions/getUtils","4b8"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/link",component:p("/api/@ima/react-page-renderer/functions/link","611"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/listen",component:p("/api/@ima/react-page-renderer/functions/listen","3e8"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/localize",component:p("/api/@ima/react-page-renderer/functions/localize","103"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/unlisten",component:p("/api/@ima/react-page-renderer/functions/unlisten","a1c"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useComponent",component:p("/api/@ima/react-page-renderer/functions/useComponent","d42"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useComponentUtils",component:p("/api/@ima/react-page-renderer/functions/useComponentUtils","390"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useCssClasses",component:p("/api/@ima/react-page-renderer/functions/useCssClasses","46f"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useDispatcher",component:p("/api/@ima/react-page-renderer/functions/useDispatcher","665"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useEventBus",component:p("/api/@ima/react-page-renderer/functions/useEventBus","2e2"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useLink",component:p("/api/@ima/react-page-renderer/functions/useLink","b5d"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useLocalize",component:p("/api/@ima/react-page-renderer/functions/useLocalize","c35"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useOnce",component:p("/api/@ima/react-page-renderer/functions/useOnce","806"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/usePageContext",component:p("/api/@ima/react-page-renderer/functions/usePageContext","820"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useSettings",component:p("/api/@ima/react-page-renderer/functions/useSettings","abd"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/functions/useWindowEvent",component:p("/api/@ima/react-page-renderer/functions/useWindowEvent","e25"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/globals",component:p("/api/@ima/react-page-renderer/globals","818"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/interfaces/PageContextType",component:p("/api/@ima/react-page-renderer/interfaces/PageContextType","7f8"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/interfaces/useComponentType",component:p("/api/@ima/react-page-renderer/interfaces/useComponentType","65a"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/interfaces/useDispatcherType",component:p("/api/@ima/react-page-renderer/interfaces/useDispatcherType","98a"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/interfaces/useEventBusType",component:p("/api/@ima/react-page-renderer/interfaces/useEventBusType","7df"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps",component:p("/api/@ima/react-page-renderer/interfaces/ViewAdapterProps","392"),exact:!0,sidebar:"api"},{path:"/api/@ima/react-page-renderer/variables/PageContext",component:p("/api/@ima/react-page-renderer/variables/PageContext","441"),exact:!0,sidebar:"api"},{path:"/basic-features/controller-lifecycle",component:p("/basic-features/controller-lifecycle","c7c"),exact:!0,sidebar:"docs"},{path:"/basic-features/data-fetching",component:p("/basic-features/data-fetching","74f"),exact:!0,sidebar:"docs"},{path:"/basic-features/dictionary",component:p("/basic-features/dictionary","2a6"),exact:!0,sidebar:"docs"},{path:"/basic-features/error-handling",component:p("/basic-features/error-handling","686"),exact:!0,sidebar:"docs"},{path:"/basic-features/events",component:p("/basic-features/events","bd2"),exact:!0,sidebar:"docs"},{path:"/basic-features/extensions",component:p("/basic-features/extensions","6cf"),exact:!0,sidebar:"docs"},{path:"/basic-features/handling-scripts-and-styles",component:p("/basic-features/handling-scripts-and-styles","eca"),exact:!0,sidebar:"docs"},{path:"/basic-features/object-container",component:p("/basic-features/object-container","24a"),exact:!0,sidebar:"docs"},{path:"/basic-features/page-manager",component:p("/basic-features/page-manager","284"),exact:!0,sidebar:"docs"},{path:"/basic-features/page-state",component:p("/basic-features/page-state","629"),exact:!0,sidebar:"docs"},{path:"/basic-features/rendering-process",component:p("/basic-features/rendering-process","ae2"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/async-routing",component:p("/basic-features/routing/async-routing","296"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/dynamic-routes",component:p("/basic-features/routing/dynamic-routes","089"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/introduction",component:p("/basic-features/routing/introduction","cfb"),exact:!0,sidebar:"docs"},{path:"/basic-features/routing/middlewares",component:p("/basic-features/routing/middlewares","a29"),exact:!0,sidebar:"docs"},{path:"/basic-features/seo-and-meta-manager",component:p("/basic-features/seo-and-meta-manager","dcf"),exact:!0,sidebar:"docs"},{path:"/basic-features/testing",component:p("/basic-features/testing","9a6"),exact:!0,sidebar:"docs"},{path:"/basic-features/typescript",component:p("/basic-features/typescript","582"),exact:!0,sidebar:"docs"},{path:"/basic-features/views-and-components",component:p("/basic-features/views-and-components","cf2"),exact:!0,sidebar:"docs"},{path:"/cli/",component:p("/cli/","dfd"),exact:!0,sidebar:"docs"},{path:"/cli/additional-features",component:p("/cli/additional-features","d8e"),exact:!0,sidebar:"docs"},{path:"/cli/advanced-features",component:p("/cli/advanced-features","015"),exact:!0},{path:"/cli/cli-plugins-api",component:p("/cli/cli-plugins-api","595"),exact:!0,sidebar:"docs"},{path:"/cli/compiler-features",component:p("/cli/compiler-features","bcd"),exact:!0,sidebar:"docs"},{path:"/cli/ima-config-js",component:p("/cli/ima-config-js","988"),exact:!0,sidebar:"docs"},{path:"/cli/plugins/analyze-plugin",component:p("/cli/plugins/analyze-plugin","29a"),exact:!0,sidebar:"docs"},{path:"/cli/plugins/less-constants-plugin",component:p("/cli/plugins/less-constants-plugin","f25"),exact:!0,sidebar:"docs"},{path:"/cli/plugins/scramble-css-plugin",component:p("/cli/plugins/scramble-css-plugin","d01"),exact:!0,sidebar:"docs"},{path:"/contributing/how-to-contribute",component:p("/contributing/how-to-contribute","3c0"),exact:!0,sidebar:"docs"},{path:"/devtools/devtools-introduction",component:p("/devtools/devtools-introduction","6e2"),exact:!0,sidebar:"docs"},{path:"/devtools/devtools-options",component:p("/devtools/devtools-options","bd2"),exact:!0,sidebar:"docs"},{path:"/devtools/devtools-ui",component:p("/devtools/devtools-ui","4ed"),exact:!0,sidebar:"docs"},{path:"/introduction/configuration",component:p("/introduction/configuration","070"),exact:!0,sidebar:"docs"},{path:"/introduction/getting-started",component:p("/introduction/getting-started","25f"),exact:!0,sidebar:"docs"},{path:"/migration/migration-0.14.0",component:p("/migration/migration-0.14.0","1c9"),exact:!0,sidebar:"docs"},{path:"/migration/migration-0.15.0",component:p("/migration/migration-0.15.0","dfe"),exact:!0,sidebar:"docs"},{path:"/migration/migration-0.16.0",component:p("/migration/migration-0.16.0","404"),exact:!0,sidebar:"docs"},{path:"/migration/migration-17.0.0",component:p("/migration/migration-17.0.0","37b"),exact:!0,sidebar:"docs"},{path:"/migration/migration-18.0.0",component:p("/migration/migration-18.0.0","12b"),exact:!0,sidebar:"docs"},{path:"/migration/migration-19.0.0",component:p("/migration/migration-19.0.0","49d"),exact:!0,sidebar:"docs"},{path:"/plugins/available-plugins",component:p("/plugins/available-plugins","31c"),exact:!0,sidebar:"docs"},{path:"/plugins/plugin-api",component:p("/plugins/plugin-api","5f3"),exact:!0,sidebar:"docs"},{path:"/tutorial/adding-some-state",component:p("/tutorial/adding-some-state","e96"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/fetching-data",component:p("/tutorial/fetching-data","488"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/final-polish",component:p("/tutorial/final-polish","529"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/introduction",component:p("/tutorial/introduction","e19"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/static-view",component:p("/tutorial/static-view","b63"),exact:!0,sidebar:"tutorial"},{path:"/tutorial/writing-posts",component:p("/tutorial/writing-posts","43d"),exact:!0,sidebar:"tutorial"}]}]}]},{path:"*",component:p("*")}]},6941:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>A,AO:()=>d});var a=n(8102);function r(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,a=n+1,r=e.length;a<r;n+=1,a+=1)e[n]=e[a];e.pop()}const o=function(e,t){void 0===t&&(t="");var n,a=e&&e.split("/")||[],o=t&&t.split("/")||[],s=e&&r(e),c=t&&r(t),l=s||c;if(e&&r(e)?o=a:a.length&&(o.pop(),o=o.concat(a)),!o.length)return"/";if(o.length){var u=o[o.length-1];n="."===u||".."===u||""===u}else n=!1;for(var p=0,d=o.length;d>=0;d--){var f=o[d];"."===f?i(o,d):".."===f?(i(o,d),p++):p&&(i(o,d),p--)}if(!l)for(;p--;p)o.unshift("..");!l||""===o[0]||o[0]&&r(o[0])||o.unshift("");var m=o.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(6143);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function d(e){var t=e.pathname,n=e.search,a=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(r+="#"===a.charAt(0)?a:"#"+a),r}function f(e,t,n,r){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",a="",r=t.indexOf("#");-1!==r&&(a=t.substr(r),t=t.substr(0,r));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===a?"":a}}(e),i.state=t):(void 0===(i=(0,a.A)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(i.key=n),r?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=o(i.pathname,r.pathname)):i.pathname=r.pathname:i.pathname||(i.pathname="/"),i}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,a,r){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof a?a(i,r):r(!0):r(!1!==i)}else r(!0)},appendListener:function(e){var n=!0;function a(){n&&e.apply(void 0,arguments)}return t.push(a),function(){n=!1,t=t.filter((function(e){return e!==a}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),h||(0,s.A)(!1);var t,n=window.history,r=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),o=e,l=o.forceRefresh,w=void 0!==l&&l,S=o.getUserConfirmation,x=void 0===S?g:S,k=o.keyLength,_=void 0===k?6:k,E=e.basename?p(c(e.basename)):"";function C(e){var t=e||{},n=t.key,a=t.state,r=window.location,i=r.pathname+r.search+r.hash;return E&&(i=u(i,E)),f(i,a,n)}function P(){return Math.random().toString(36).substr(2,_)}var A=m();function O(e){(0,a.A)(U,e),U.length=n.length,A.notifyListeners(U.location,U.action)}function j(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||I(C(e.state))}function T(){I(C(v()))}var R=!1;function I(e){if(R)R=!1,O();else{A.confirmTransitionTo(e,"POP",x,(function(t){t?O({action:"POP",location:e}):function(e){var t=U.location,n=L.indexOf(t.key);-1===n&&(n=0);var a=L.indexOf(e.key);-1===a&&(a=0);var r=n-a;r&&(R=!0,N(r))}(e)}))}}var D=C(v()),L=[D.key];function M(e){return E+d(e)}function N(e){n.go(e)}var F=0;function B(e){1===(F+=e)&&1===e?(window.addEventListener(b,j),i&&window.addEventListener(y,T)):0===F&&(window.removeEventListener(b,j),i&&window.removeEventListener(y,T))}var z=!1;var U={length:n.length,action:"POP",location:D,createHref:M,push:function(e,t){var a="PUSH",i=f(e,t,P(),U.location);A.confirmTransitionTo(i,a,x,(function(e){if(e){var t=M(i),o=i.key,s=i.state;if(r)if(n.pushState({key:o,state:s},null,t),w)window.location.href=t;else{var c=L.indexOf(U.location.key),l=L.slice(0,c+1);l.push(i.key),L=l,O({action:a,location:i})}else window.location.href=t}}))},replace:function(e,t){var a="REPLACE",i=f(e,t,P(),U.location);A.confirmTransitionTo(i,a,x,(function(e){if(e){var t=M(i),o=i.key,s=i.state;if(r)if(n.replaceState({key:o,state:s},null,t),w)window.location.replace(t);else{var c=L.indexOf(U.location.key);-1!==c&&(L[c]=i.key),O({action:a,location:i})}else window.location.replace(t)}}))},go:N,goBack:function(){N(-1)},goForward:function(){N(1)},block:function(e){void 0===e&&(e=!1);var t=A.setPrompt(e);return z||(B(1),z=!0),function(){return z&&(z=!1,B(-1)),t()}},listen:function(e){var t=A.appendListener(e);return B(1),function(){B(-1),t()}}};return U}var S="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+l(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:l,decodePath:c},slash:{encodePath:c,decodePath:c}};function k(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function _(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(k(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),h||(0,s.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),r=n.getUserConfirmation,i=void 0===r?g:r,o=n.hashType,l=void 0===o?"slash":o,b=e.basename?p(c(e.basename)):"",y=x[l],v=y.encodePath,w=y.decodePath;function C(){var e=w(_());return b&&(e=u(e,b)),f(e)}var P=m();function A(e){(0,a.A)(z,e),z.length=t.length,P.notifyListeners(z.location,z.action)}var O=!1,j=null;function T(){var e,t,n=_(),a=v(n);if(n!==a)E(a);else{var r=C(),o=z.location;if(!O&&(t=r,(e=o).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(j===d(r))return;j=null,function(e){if(O)O=!1,A();else{var t="POP";P.confirmTransitionTo(e,t,i,(function(n){n?A({action:t,location:e}):function(e){var t=z.location,n=L.lastIndexOf(d(t));-1===n&&(n=0);var a=L.lastIndexOf(d(e));-1===a&&(a=0);var r=n-a;r&&(O=!0,M(r))}(e)}))}}(r)}}var R=_(),I=v(R);R!==I&&E(I);var D=C(),L=[d(D)];function M(e){t.go(e)}var N=0;function F(e){1===(N+=e)&&1===e?window.addEventListener(S,T):0===N&&window.removeEventListener(S,T)}var B=!1;var z={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=k(window.location.href)),n+"#"+v(b+d(e))},push:function(e,t){var n="PUSH",a=f(e,void 0,void 0,z.location);P.confirmTransitionTo(a,n,i,(function(e){if(e){var t=d(a),r=v(b+t);if(_()!==r){j=t,function(e){window.location.hash=e}(r);var i=L.lastIndexOf(d(z.location)),o=L.slice(0,i+1);o.push(t),L=o,A({action:n,location:a})}else A()}}))},replace:function(e,t){var n="REPLACE",a=f(e,void 0,void 0,z.location);P.confirmTransitionTo(a,n,i,(function(e){if(e){var t=d(a),r=v(b+t);_()!==r&&(j=t,E(r));var i=L.indexOf(d(z.location));-1!==i&&(L[i]=t),A({action:n,location:a})}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=P.setPrompt(e);return B||(F(1),B=!0),function(){return B&&(B=!1,F(-1)),t()}},listen:function(e){var t=P.appendListener(e);return F(1),function(){F(-1),t()}}};return z}function P(e,t,n){return Math.min(Math.max(e,t),n)}function A(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,r=t.initialEntries,i=void 0===r?["/"]:r,o=t.initialIndex,s=void 0===o?0:o,c=t.keyLength,l=void 0===c?6:c,u=m();function p(e){(0,a.A)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function h(){return Math.random().toString(36).substr(2,l)}var g=P(s,0,i.length-1),b=i.map((function(e){return f(e,void 0,"string"==typeof e?h():e.key||h())})),y=d;function v(e){var t=P(w.index+e,0,w.entries.length-1),a=w.entries[t];u.confirmTransitionTo(a,"POP",n,(function(e){e?p({action:"POP",location:a,index:t}):p()}))}var w={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:y,push:function(e,t){var a="PUSH",r=f(e,t,h(),w.location);u.confirmTransitionTo(r,a,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),p({action:a,location:r,index:t,entries:n})}}))},replace:function(e,t){var a="REPLACE",r=f(e,t,h(),w.location);u.confirmTransitionTo(r,a,n,(function(e){e&&(w.entries[w.index]=r,p({action:a,location:r}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},8486:(e,t,n)=>{"use strict";var a=n(9360),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function c(e){return a.isMemo(e)?o:s[e.$$typeof]||r}s[a.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[a.Memo]=o;var l=Object.defineProperty,u=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,a){if("string"!=typeof n){if(m){var r=f(n);r&&r!==m&&e(t,r,a)}var o=u(n);p&&(o=o.concat(p(n)));for(var s=c(t),h=c(n),g=0;g<o.length;++g){var b=o[g];if(!(i[b]||a&&a[b]||h&&h[b]||s&&s[b])){var y=d(n,b);try{l(t,b,y)}catch(v){}}}}return t}},2332:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,a=n?Symbol.for("react.element"):60103,r=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,o=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,p=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case u:case p:case i:case s:case o:case f:return e;default:switch(e=e&&e.$$typeof){case l:case d:case g:case h:case c:return e;default:return t}}case r:return t}}}function x(e){return S(e)===p}t.AsyncMode=u,t.ConcurrentMode=p,t.ContextConsumer=l,t.ContextProvider=c,t.Element=a,t.ForwardRef=d,t.Fragment=i,t.Lazy=g,t.Memo=h,t.Portal=r,t.Profiler=s,t.StrictMode=o,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||S(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return S(e)===l},t.isContextProvider=function(e){return S(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return S(e)===d},t.isFragment=function(e){return S(e)===i},t.isLazy=function(e){return S(e)===g},t.isMemo=function(e){return S(e)===h},t.isPortal=function(e){return S(e)===r},t.isProfiler=function(e){return S(e)===s},t.isStrictMode=function(e){return S(e)===o},t.isSuspense=function(e){return S(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===p||e===s||e===o||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===c||e.$$typeof===l||e.$$typeof===d||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=S},9360:(e,t,n)=>{"use strict";e.exports=n(2332)},2091:e=>{"use strict";e.exports=function(e,t,n,a,r,i,o,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,a,r,i,o,s],u=0;(c=new Error(t.replace(/%s/g,(function(){return l[u++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},3931:(e,t,n)=>{"use strict";n.r(t)},3499:(e,t,n)=>{"use strict";n.r(t)},7671:function(e,t,n){var a,r;a=function(){var e,t,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function r(e,t,n){return e<t?t:e>n?n:e}function i(e){return 100*(-1+e)}function o(e,t,n){var r;return(r="translate3d"===a.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,r}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=r(e,a.minimum,1),n.status=1===e?null:e;var i=n.render(!t),l=i.querySelector(a.barSelector),u=a.speed,p=a.easing;return i.offsetWidth,s((function(t){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),c(l,o(e,u,p)),1===e?(c(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout((function(){c(i,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*r(Math.random()*t,.1,.95)),t=r(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,t=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===t&&n.start(),e++,t++,a.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var r,o=t.querySelector(a.barSelector),s=e?"-100":i(n.status||0),l=document.querySelector(a.parent);return c(o,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),a.showSpinner||(r=t.querySelector(a.spinnerSelector))&&f(r),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){p(document.documentElement,"nprogress-busy"),p(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function a(t){var n=document.body.style;if(t in n)return t;for(var a,r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);r--;)if((a=e[r]+i)in n)return a;return t}function r(e){return e=n(e),t[e]||(t[e]=a(e))}function i(e,t,n){t=r(t),e.style[t]=n}return function(e,t){var n,a,r=arguments;if(2==r.length)for(n in t)void 0!==(a=t[n])&&t.hasOwnProperty(n)&&i(e,n,a);else i(e,r[1],r[2])}}();function l(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),a=n+t;l(n,t)||(e.className=a.substring(1))}function p(e,t){var n,a=d(e);l(e,t)&&(n=a.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(r="function"==typeof a?a.call(t,n,t,e):a)||(e.exports=r)},1069:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},5558:(e,t,n)=>{const a=n(1069),r=n(904),i=new Set;function o(e){void 0===e?e=Object.keys(a.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];r(a,e,t).load((e=>{if(!(e in a.languages))return void(o.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(1441).resolve(t)],delete Prism.languages[e],n(1441)(t),i.add(e)}))}o.silent=!1,e.exports=o},5968:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,r,i){if(n.language===a){var o=n.tokenStack=[];n.code=n.code.replace(r,(function(e){if("function"==typeof i&&!i(e))return e;for(var r,s=o.length;-1!==n.code.indexOf(r=t(a,s));)++s;return o[s]=e,r})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var r=0,i=Object.keys(n.tokenStack);!function o(s){for(var c=0;c<s.length&&!(r>=i.length);c++){var l=s[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var u=i[r],p=n.tokenStack[u],d="string"==typeof l?l:l.content,f=t(a,u),m=d.indexOf(f);if(m>-1){++r;var h=d.substring(0,m),g=new e.Token(a,e.tokenize(p,n.grammar),"language-"+a,p),b=d.substring(m+f.length),y=[];h&&y.push.apply(y,o([h])),y.push(g),b&&y.push.apply(y,o([b])),"string"==typeof l?s.splice.apply(s,[c,1].concat(y)):l.content=y}}else l.content&&o(l.content)}return s}(n.tokens)}}}})}(Prism)},1441:(e,t,n)=>{var a={"./":5558};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=i,e.exports=r,r.id=1441},904:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,a=e.length;n<a;n++)t[e[n]]=!0;return t}function a(e){var n={},a=[];function r(a,i){if(!(a in n)){i.push(a);var o=i.indexOf(a);if(o<i.length-1)throw new Error("Circular dependency: "+i.slice(o).join(" -> "));var s={},c=e[a];if(c){function l(t){if(!(t in e))throw new Error(a+" depends on an unknown component "+t);if(!(t in s))for(var o in r(t,i),s[t]=!0,n[t])s[o]=!0}t(c.require,l),t(c.optional,l),t(c.modify,l)}n[a]=s,i.pop()}}return function(e){var t=n[e];return t||(r(e,a),t=n[e]),t}}function r(e){for(var t in e)return!0;return!1}return function(i,o,s){var c=function(e){var t={};for(var n in e){var a=e[n];for(var r in a)if("meta"!=r){var i=a[r];t[r]="string"==typeof i?{title:i}:i}}return t}(i),l=function(e){var n;return function(a){if(a in e)return a;if(!n)for(var r in n={},e){var i=e[r];t(i&&i.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+r+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+r+" because it is a component.");n[t]=r}))}return n[a]||a}}(c);o=o.map(l),s=(s||[]).map(l);var u=n(o),p=n(s);o.forEach((function e(n){var a=c[n];t(a&&a.require,(function(t){t in p||(u[t]=!0,e(t))}))}));for(var d,f=a(c),m=u;r(m);){for(var h in d={},m){var g=c[h];t(g&&g.modify,(function(e){e in p&&(d[e]=!0)}))}for(var b in p)if(!(b in u))for(var y in f(b))if(y in u){d[b]=!0;break}for(var v in m=d)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,a,r){var i=r?r.series:void 0,o=r?r.parallel:e,s={},c={};function l(e){if(e in s)return s[e];c[e]=!0;var r,u=[];for(var p in t(e))p in n&&u.push(p);if(0===u.length)r=a(e);else{var d=o(u.map((function(e){var t=l(e);return delete c[e],t})));i?r=i(d,(function(){return a(e)})):a(e)}return s[e]=r}for(var u in n)l(u);var p=[];for(var d in c)p.push(s[d]);return o(p)}(f,u,t,n)}};return w}}();e.exports=t},362:(e,t,n)=>{"use strict";var a=n(6441);function r(){}function i(){}i.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,i,o){if(o!==a){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return n.PropTypes=n,n}},2688:(e,t,n)=>{e.exports=n(362)()},6441:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6067:(e,t,n)=>{"use strict";var a=n(3696),r=n(1434);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,s={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),p=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function h(e,t,n,a,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,a){var r=g.hasOwnProperty(t)?g[t]:null;(null!==r?0!==r.type:a||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,a){if(null==t||function(e,t,n,a){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!a&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,a))return!0;if(a)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,a)&&(n=null),a||null===r?function(e){return!!p.call(m,e)||!p.call(f,e)&&(d.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,a=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=Symbol.for("react.element"),x=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),P=Symbol.for("react.context"),A=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),R=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var I=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var D=Symbol.iterator;function L(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=D&&e[D]||e["@@iterator"])?e:null}var M,N=Object.assign;function F(e){if(void 0===M)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);M=t&&t[1]||""}return"\n"+M+e}var B=!1;function z(e,t){if(!e||B)return"";B=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var a=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){a=l}e.call(t.prototype)}else{try{throw Error()}catch(l){a=l}e()}}catch(l){if(l&&a&&"string"==typeof l.stack){for(var r=l.stack.split("\n"),i=a.stack.split("\n"),o=r.length-1,s=i.length-1;1<=o&&0<=s&&r[o]!==i[s];)s--;for(;1<=o&&0<=s;o--,s--)if(r[o]!==i[s]){if(1!==o||1!==s)do{if(o--,0>--s||r[o]!==i[s]){var c="\n"+r[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=o&&0<=s);break}}}finally{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function U(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=z(e.type,!1);case 11:return e=z(e.type.render,!1);case 1:return e=z(e.type,!0);default:return""}}function q(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case k:return"Fragment";case x:return"Portal";case E:return"Profiler";case _:return"StrictMode";case O:return"Suspense";case j:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case P:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case A:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case T:return null!==(t=e.displayName||null)?t:q(e.type)||"Memo";case R:t=e._payload,e=e._init;try{return q(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return q(t);case 8:return t===_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function $(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function W(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){a=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function G(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=V(e)?e.checked?"true":"false":e.value),(e=a)!==n&&(t.setValue(e),!0)}function K(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return N({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function J(e,t){var n=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;n=$(null!=t.value?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Y(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function Z(e,t){Y(e,t);var n=$(t.value),a=t.type;if(null!=n)"number"===a?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,$(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function X(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,a){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&a&&(e[n].defaultSelected=!0)}else{for(n=""+$(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(a&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function ae(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return N({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function re(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(te(n)){if(1<n.length)throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:$(n)}}function ie(e,t){var n=$(t.value),a=$(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=a&&(e.defaultValue=""+a)}function oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,pe=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,a){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function de(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var a=0===n.indexOf("--"),r=he(n,t[n],a);"float"===n&&(n="cssFloat"),a?e.setProperty(n,r):e[n]=r}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=N({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function Se(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,ke=null,_e=null;function Ee(e){if(e=vr(e)){if("function"!=typeof xe)throw Error(i(280));var t=e.stateNode;t&&(t=Sr(t),xe(e.stateNode,e.type,t))}}function Ce(e){ke?_e?_e.push(e):_e=[e]:ke=e}function Pe(){if(ke){var e=ke,t=_e;if(_e=ke=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Ae(e,t){return e(t)}function Oe(){}var je=!1;function Te(e,t,n){if(je)return e(t,n);je=!0;try{return Ae(e,t,n)}finally{je=!1,(null!==ke||null!==_e)&&(Oe(),Pe())}}function Re(e,t){var n=e.stateNode;if(null===n)return null;var a=Sr(n);if(null===a)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var Ie=!1;if(u)try{var De={};Object.defineProperty(De,"passive",{get:function(){Ie=!0}}),window.addEventListener("test",De,De),window.removeEventListener("test",De,De)}catch(ue){Ie=!1}function Le(e,t,n,a,r,i,o,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(u){this.onError(u)}}var Me=!1,Ne=null,Fe=!1,Be=null,ze={onError:function(e){Me=!0,Ne=e}};function Ue(e,t,n,a,r,i,o,s,c){Me=!1,Ne=null,Le.apply(ze,arguments)}function qe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function $e(e){if(qe(e)!==e)throw Error(i(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=qe(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,a=t;;){var r=n.return;if(null===r)break;var o=r.alternate;if(null===o){if(null!==(a=r.return)){n=a;continue}break}if(r.child===o.child){for(o=r.child;o;){if(o===n)return $e(r),e;if(o===a)return $e(r),t;o=o.sibling}throw Error(i(188))}if(n.return!==a.return)n=r,a=o;else{for(var s=!1,c=r.child;c;){if(c===n){s=!0,n=r,a=o;break}if(c===a){s=!0,a=r,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,a=r;break}if(c===a){s=!0,a=o,n=r;break}c=c.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==a)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e))?We(e):null}function We(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=We(e);if(null!==t)return t;e=e.sibling}return null}var Ge=r.unstable_scheduleCallback,Ke=r.unstable_cancelCallback,Qe=r.unstable_shouldYield,Je=r.unstable_requestPaint,Ye=r.unstable_now,Ze=r.unstable_getCurrentPriorityLevel,Xe=r.unstable_ImmediatePriority,et=r.unstable_UserBlockingPriority,tt=r.unstable_NormalPriority,nt=r.unstable_LowPriority,at=r.unstable_IdlePriority,rt=null,it=null;var ot=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2;var lt=64,ut=4194304;function pt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function dt(e,t){var n=e.pendingLanes;if(0===n)return 0;var a=0,r=e.suspendedLanes,i=e.pingedLanes,o=268435455&n;if(0!==o){var s=o&~r;0!==s?a=pt(s):0!==(i&=o)&&(a=pt(i))}else 0!==(o=n&~r)?a=pt(o):0!==i&&(a=pt(i));if(0===a)return 0;if(0!==t&&t!==a&&!(t&r)&&((r=a&-a)>=(i=t&-t)||16===r&&4194240&i))return t;if(4&a&&(a|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0<t;)r=1<<(n=31-ot(t)),a|=e[n],t&=~r;return a}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ot(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-ot(n),r=1<<a;r&t|e[a]&t&&(e[a]|=t),n&=~r}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var St,xt,kt,_t,Et,Ct=!1,Pt=[],At=null,Ot=null,jt=null,Tt=new Map,Rt=new Map,It=[],Dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Lt(e,t){switch(e){case"focusin":case"focusout":At=null;break;case"dragenter":case"dragleave":Ot=null;break;case"mouseover":case"mouseout":jt=null;break;case"pointerover":case"pointerout":Tt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Rt.delete(t.pointerId)}}function Mt(e,t,n,a,r,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[r]},null!==t&&(null!==(t=vr(t))&&xt(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function Nt(e){var t=yr(e.target);if(null!==t){var n=qe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void Et(e.priority,(function(){kt(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=vr(n))&&xt(t),e.blockedOn=n,!1;var a=new(n=e.nativeEvent).constructor(n.type,n);we=a,n.target.dispatchEvent(a),we=null,t.shift()}return!0}function Bt(e,t,n){Ft(e)&&n.delete(t)}function zt(){Ct=!1,null!==At&&Ft(At)&&(At=null),null!==Ot&&Ft(Ot)&&(Ot=null),null!==jt&&Ft(jt)&&(jt=null),Tt.forEach(Bt),Rt.forEach(Bt)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,zt)))}function qt(e){function t(t){return Ut(t,e)}if(0<Pt.length){Ut(Pt[0],e);for(var n=1;n<Pt.length;n++){var a=Pt[n];a.blockedOn===e&&(a.blockedOn=null)}}for(null!==At&&Ut(At,e),null!==Ot&&Ut(Ot,e),null!==jt&&Ut(jt,e),Tt.forEach(t),Rt.forEach(t),n=0;n<It.length;n++)(a=It[n]).blockedOn===e&&(a.blockedOn=null);for(;0<It.length&&null===(n=It[0]).blockedOn;)Nt(n),null===n.blockedOn&&It.shift()}var Ht=w.ReactCurrentBatchConfig,$t=!0;function Vt(e,t,n,a){var r=vt,i=Ht.transition;Ht.transition=null;try{vt=1,Gt(e,t,n,a)}finally{vt=r,Ht.transition=i}}function Wt(e,t,n,a){var r=vt,i=Ht.transition;Ht.transition=null;try{vt=4,Gt(e,t,n,a)}finally{vt=r,Ht.transition=i}}function Gt(e,t,n,a){if($t){var r=Qt(e,t,n,a);if(null===r)$a(e,t,a,Kt,n),Lt(e,a);else if(function(e,t,n,a,r){switch(t){case"focusin":return At=Mt(At,e,t,n,a,r),!0;case"dragenter":return Ot=Mt(Ot,e,t,n,a,r),!0;case"mouseover":return jt=Mt(jt,e,t,n,a,r),!0;case"pointerover":var i=r.pointerId;return Tt.set(i,Mt(Tt.get(i)||null,e,t,n,a,r)),!0;case"gotpointercapture":return i=r.pointerId,Rt.set(i,Mt(Rt.get(i)||null,e,t,n,a,r)),!0}return!1}(r,e,t,n,a))a.stopPropagation();else if(Lt(e,a),4&t&&-1<Dt.indexOf(e)){for(;null!==r;){var i=vr(r);if(null!==i&&St(i),null===(i=Qt(e,t,n,a))&&$a(e,t,a,Kt,n),i===r)break;r=i}null!==r&&a.stopPropagation()}else $a(e,t,a,null,n)}}var Kt=null;function Qt(e,t,n,a){if(Kt=null,null!==(e=yr(e=Se(a))))if(null===(t=qe(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Jt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ze()){case Xe:return 1;case et:return 4;case tt:case nt:return 16;case at:return 536870912;default:return 16}default:return 16}}var Yt=null,Zt=null,Xt=null;function en(){if(Xt)return Xt;var e,t,n=Zt,a=n.length,r="value"in Yt?Yt.value:Yt.textContent,i=r.length;for(e=0;e<a&&n[e]===r[e];e++);var o=a-e;for(t=1;t<=o&&n[a-t]===r[i-t];t++);return Xt=r.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function an(){return!1}function rn(e){function t(t,n,a,r,i){for(var o in this._reactName=t,this._targetInst=a,this.type=n,this.nativeEvent=r,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(r):r[o]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?nn:an,this.isPropagationStopped=an,this}return N(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=rn(ln),pn=N({},ln,{view:0,detail:0}),dn=rn(pn),fn=N({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(on=e.screenX-cn.screenX,sn=e.screenY-cn.screenY):sn=on=0,cn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=rn(fn),hn=rn(N({},fn,{dataTransfer:0})),gn=rn(N({},pn,{relatedTarget:0})),bn=rn(N({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=N({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=rn(yn),wn=rn(N({},ln,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},kn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=kn[e])&&!!t[e]}function En(){return _n}var Cn=N({},pn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Pn=rn(Cn),An=rn(N({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),On=rn(N({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),jn=rn(N({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),Tn=N({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rn=rn(Tn),In=[9,13,27,32],Dn=u&&"CompositionEvent"in window,Ln=null;u&&"documentMode"in document&&(Ln=document.documentMode);var Mn=u&&"TextEvent"in window&&!Ln,Nn=u&&(!Dn||Ln&&8<Ln&&11>=Ln),Fn=String.fromCharCode(32),Bn=!1;function zn(e,t){switch(e){case"keyup":return-1!==In.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var qn=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function $n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Vn(e,t,n,a){Ce(a),0<(t=Wa(t,"onChange")).length&&(n=new un("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Wn=null,Gn=null;function Kn(e){Fa(e,0)}function Qn(e){if(G(wr(e)))return e}function Jn(e,t){if("change"===e)return t}var Yn=!1;if(u){var Zn;if(u){var Xn="oninput"in document;if(!Xn){var ea=document.createElement("div");ea.setAttribute("oninput","return;"),Xn="function"==typeof ea.oninput}Zn=Xn}else Zn=!1;Yn=Zn&&(!document.documentMode||9<document.documentMode)}function ta(){Wn&&(Wn.detachEvent("onpropertychange",na),Gn=Wn=null)}function na(e){if("value"===e.propertyName&&Qn(Gn)){var t=[];Vn(t,Gn,e,Se(e)),Te(Kn,t)}}function aa(e,t,n){"focusin"===e?(ta(),Gn=n,(Wn=t).attachEvent("onpropertychange",na)):"focusout"===e&&ta()}function ra(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Gn)}function ia(e,t){if("click"===e)return Qn(t)}function oa(e,t){if("input"===e||"change"===e)return Qn(t)}var sa="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ca(e,t){if(sa(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var r=n[a];if(!p.call(t,r)||!sa(e[r],t[r]))return!1}return!0}function la(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ua(e,t){var n,a=la(e);for(e=0;a;){if(3===a.nodeType){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=la(a)}}function pa(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pa(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function da(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(a){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function fa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function ma(e){var t=da(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&pa(n.ownerDocument.documentElement,n)){if(null!==a&&fa(n))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var r=n.textContent.length,i=Math.min(a.start,r);a=void 0===a.end?i:Math.min(a.end,r),!e.extend&&i>a&&(r=a,a=i,i=r),r=ua(n,i);var o=ua(n,a);r&&o&&(1!==e.rangeCount||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(r.node,r.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var ha=u&&"documentMode"in document&&11>=document.documentMode,ga=null,ba=null,ya=null,va=!1;function wa(e,t,n){var a=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;va||null==ga||ga!==K(a)||("selectionStart"in(a=ga)&&fa(a)?a={start:a.selectionStart,end:a.selectionEnd}:a={anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},ya&&ca(ya,a)||(ya=a,0<(a=Wa(ba,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=ga)))}function Sa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xa={animationend:Sa("Animation","AnimationEnd"),animationiteration:Sa("Animation","AnimationIteration"),animationstart:Sa("Animation","AnimationStart"),transitionend:Sa("Transition","TransitionEnd")},ka={},_a={};function Ea(e){if(ka[e])return ka[e];if(!xa[e])return e;var t,n=xa[e];for(t in n)if(n.hasOwnProperty(t)&&t in _a)return ka[e]=n[t];return e}u&&(_a=document.createElement("div").style,"AnimationEvent"in window||(delete xa.animationend.animation,delete xa.animationiteration.animation,delete xa.animationstart.animation),"TransitionEvent"in window||delete xa.transitionend.transition);var Ca=Ea("animationend"),Pa=Ea("animationiteration"),Aa=Ea("animationstart"),Oa=Ea("transitionend"),ja=new Map,Ta="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ra(e,t){ja.set(e,t),c(t,[e])}for(var Ia=0;Ia<Ta.length;Ia++){var Da=Ta[Ia];Ra(Da.toLowerCase(),"on"+(Da[0].toUpperCase()+Da.slice(1)))}Ra(Ca,"onAnimationEnd"),Ra(Pa,"onAnimationIteration"),Ra(Aa,"onAnimationStart"),Ra("dblclick","onDoubleClick"),Ra("focusin","onFocus"),Ra("focusout","onBlur"),Ra(Oa,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var La="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ma=new Set("cancel close invalid load scroll toggle".split(" ").concat(La));function Na(e,t,n){var a=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,a,r,o,s,c,l){if(Ue.apply(this,arguments),Me){if(!Me)throw Error(i(198));var u=Ne;Me=!1,Ne=null,Fe||(Fe=!0,Be=u)}}(a,t,void 0,e),e.currentTarget=null}function Fa(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var a=e[n],r=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var o=a.length-1;0<=o;o--){var s=a[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==i&&r.isPropagationStopped())break e;Na(r,s,l),i=c}else for(o=0;o<a.length;o++){if(c=(s=a[o]).instance,l=s.currentTarget,s=s.listener,c!==i&&r.isPropagationStopped())break e;Na(r,s,l),i=c}}}if(Fe)throw e=Be,Fe=!1,Be=null,e}function Ba(e,t){var n=t[hr];void 0===n&&(n=t[hr]=new Set);var a=e+"__bubble";n.has(a)||(Ha(t,e,2,!1),n.add(a))}function za(e,t,n){var a=0;t&&(a|=4),Ha(n,e,a,t)}var Ua="_reactListening"+Math.random().toString(36).slice(2);function qa(e){if(!e[Ua]){e[Ua]=!0,o.forEach((function(t){"selectionchange"!==t&&(Ma.has(t)||za(t,!1,e),za(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ua]||(t[Ua]=!0,za("selectionchange",!1,t))}}function Ha(e,t,n,a){switch(Jt(t)){case 1:var r=Vt;break;case 4:r=Wt;break;default:r=Gt}n=r.bind(null,t,n,e),r=void 0,!Ie||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),a?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function $a(e,t,n,a,r){var i=a;if(!(1&t||2&t||null===a))e:for(;;){if(null===a)return;var o=a.tag;if(3===o||4===o){var s=a.stateNode.containerInfo;if(s===r||8===s.nodeType&&s.parentNode===r)break;if(4===o)for(o=a.return;null!==o;){var c=o.tag;if((3===c||4===c)&&((c=o.stateNode.containerInfo)===r||8===c.nodeType&&c.parentNode===r))return;o=o.return}for(;null!==s;){if(null===(o=yr(s)))return;if(5===(c=o.tag)||6===c){a=i=o;continue e}s=s.parentNode}}a=a.return}Te((function(){var a=i,r=Se(n),o=[];e:{var s=ja.get(e);if(void 0!==s){var c=un,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=Pn;break;case"focusin":l="focus",c=gn;break;case"focusout":l="blur",c=gn;break;case"beforeblur":case"afterblur":c=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=On;break;case Ca:case Pa:case Aa:c=bn;break;case Oa:c=jn;break;case"scroll":c=dn;break;case"wheel":c=Rn;break;case"copy":case"cut":case"paste":c=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=An}var u=!!(4&t),p=!u&&"scroll"===e,d=u?null!==s?s+"Capture":null:s;u=[];for(var f,m=a;null!==m;){var h=(f=m).stateNode;if(5===f.tag&&null!==h&&(f=h,null!==d&&(null!=(h=Re(m,d))&&u.push(Va(m,h,f)))),p)break;m=m.return}0<u.length&&(s=new c(s,l,null,n,r),o.push({event:s,listeners:u}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===we||!(l=n.relatedTarget||n.fromElement)||!yr(l)&&!l[mr])&&(c||s)&&(s=r.window===r?r:(s=r.ownerDocument)?s.defaultView||s.parentWindow:window,c?(c=a,null!==(l=(l=n.relatedTarget||n.toElement)?yr(l):null)&&(l!==(p=qe(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=a),c!==l)){if(u=mn,h="onMouseLeave",d="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=An,h="onPointerLeave",d="onPointerEnter",m="pointer"),p=null==c?s:wr(c),f=null==l?s:wr(l),(s=new u(h,m+"leave",c,n,r)).target=p,s.relatedTarget=f,h=null,yr(r)===a&&((u=new u(d,m+"enter",l,n,r)).target=f,u.relatedTarget=p,h=u),p=h,c&&l)e:{for(d=l,m=0,f=u=c;f;f=Ga(f))m++;for(f=0,h=d;h;h=Ga(h))f++;for(;0<m-f;)u=Ga(u),m--;for(;0<f-m;)d=Ga(d),f--;for(;m--;){if(u===d||null!==d&&u===d.alternate)break e;u=Ga(u),d=Ga(d)}u=null}else u=null;null!==c&&Ka(o,s,c,u,!1),null!==l&&null!==p&&Ka(o,p,l,u,!0)}if("select"===(c=(s=a?wr(a):window).nodeName&&s.nodeName.toLowerCase())||"input"===c&&"file"===s.type)var g=Jn;else if($n(s))if(Yn)g=oa;else{g=ra;var b=aa}else(c=s.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=ia);switch(g&&(g=g(e,a))?Vn(o,g,n,r):(b&&b(e,s,a),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=a?wr(a):window,e){case"focusin":($n(b)||"true"===b.contentEditable)&&(ga=b,ba=a,ya=null);break;case"focusout":ya=ba=ga=null;break;case"mousedown":va=!0;break;case"contextmenu":case"mouseup":case"dragend":va=!1,wa(o,n,r);break;case"selectionchange":if(ha)break;case"keydown":case"keyup":wa(o,n,r)}var y;if(Dn)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else qn?zn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Nn&&"ko"!==n.locale&&(qn||"onCompositionStart"!==v?"onCompositionEnd"===v&&qn&&(y=en()):(Zt="value"in(Yt=r)?Yt.value:Yt.textContent,qn=!0)),0<(b=Wa(a,v)).length&&(v=new wn(v,e,null,n,r),o.push({event:v,listeners:b}),y?v.data=y:null!==(y=Un(n))&&(v.data=y))),(y=Mn?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:(Bn=!0,Fn);case"textInput":return(e=t.data)===Fn&&Bn?null:e;default:return null}}(e,n):function(e,t){if(qn)return"compositionend"===e||!Dn&&zn(e,t)?(e=en(),Xt=Zt=Yt=null,qn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Nn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(a=Wa(a,"onBeforeInput")).length&&(r=new wn("onBeforeInput","beforeinput",null,n,r),o.push({event:r,listeners:a}),r.data=y))}Fa(o,t)}))}function Va(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wa(e,t){for(var n=t+"Capture",a=[];null!==e;){var r=e,i=r.stateNode;5===r.tag&&null!==i&&(r=i,null!=(i=Re(e,n))&&a.unshift(Va(e,i,r)),null!=(i=Re(e,t))&&a.push(Va(e,i,r))),e=e.return}return a}function Ga(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Ka(e,t,n,a,r){for(var i=t._reactName,o=[];null!==n&&n!==a;){var s=n,c=s.alternate,l=s.stateNode;if(null!==c&&c===a)break;5===s.tag&&null!==l&&(s=l,r?null!=(c=Re(n,i))&&o.unshift(Va(n,c,s)):r||null!=(c=Re(n,i))&&o.push(Va(n,c,s))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}var Qa=/\r\n?/g,Ja=/\u0000|\uFFFD/g;function Ya(e){return("string"==typeof e?e:""+e).replace(Qa,"\n").replace(Ja,"")}function Za(e,t,n){if(t=Ya(t),Ya(e)!==t&&n)throw Error(i(425))}function Xa(){}var er=null,tr=null;function nr(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ar="function"==typeof setTimeout?setTimeout:void 0,rr="function"==typeof clearTimeout?clearTimeout:void 0,ir="function"==typeof Promise?Promise:void 0,or="function"==typeof queueMicrotask?queueMicrotask:void 0!==ir?function(e){return ir.resolve(null).then(e).catch(sr)}:ar;function sr(e){setTimeout((function(){throw e}))}function cr(e,t){var n=t,a=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)){if(0===a)return e.removeChild(r),void qt(t);a--}else"$"!==n&&"$?"!==n&&"$!"!==n||a++;n=r}while(n);qt(t)}function lr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ur(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var pr=Math.random().toString(36).slice(2),dr="__reactFiber$"+pr,fr="__reactProps$"+pr,mr="__reactContainer$"+pr,hr="__reactEvents$"+pr,gr="__reactListeners$"+pr,br="__reactHandles$"+pr;function yr(e){var t=e[dr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mr]||n[dr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ur(e);null!==e;){if(n=e[dr])return n;e=ur(e)}return t}n=(e=n).parentNode}return null}function vr(e){return!(e=e[dr]||e[mr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function Sr(e){return e[fr]||null}var xr=[],kr=-1;function _r(e){return{current:e}}function Er(e){0>kr||(e.current=xr[kr],xr[kr]=null,kr--)}function Cr(e,t){kr++,xr[kr]=e.current,e.current=t}var Pr={},Ar=_r(Pr),Or=_r(!1),jr=Pr;function Tr(e,t){var n=e.type.contextTypes;if(!n)return Pr;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var r,i={};for(r in n)i[r]=t[r];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Rr(e){return null!=(e=e.childContextTypes)}function Ir(){Er(Or),Er(Ar)}function Dr(e,t,n){if(Ar.current!==Pr)throw Error(i(168));Cr(Ar,t),Cr(Or,n)}function Lr(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return n;for(var r in a=a.getChildContext())if(!(r in t))throw Error(i(108,H(e)||"Unknown",r));return N({},n,a)}function Mr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Pr,jr=Ar.current,Cr(Ar,e),Cr(Or,Or.current),!0}function Nr(e,t,n){var a=e.stateNode;if(!a)throw Error(i(169));n?(e=Lr(e,t,jr),a.__reactInternalMemoizedMergedChildContext=e,Er(Or),Er(Ar),Cr(Ar,e)):Er(Or),Cr(Or,n)}var Fr=null,Br=!1,zr=!1;function Ur(e){null===Fr?Fr=[e]:Fr.push(e)}function qr(){if(!zr&&null!==Fr){zr=!0;var e=0,t=vt;try{var n=Fr;for(vt=1;e<n.length;e++){var a=n[e];do{a=a(!0)}while(null!==a)}Fr=null,Br=!1}catch(r){throw null!==Fr&&(Fr=Fr.slice(e+1)),Ge(Xe,qr),r}finally{vt=t,zr=!1}}return null}var Hr=[],$r=0,Vr=null,Wr=0,Gr=[],Kr=0,Qr=null,Jr=1,Yr="";function Zr(e,t){Hr[$r++]=Wr,Hr[$r++]=Vr,Vr=e,Wr=t}function Xr(e,t,n){Gr[Kr++]=Jr,Gr[Kr++]=Yr,Gr[Kr++]=Qr,Qr=e;var a=Jr;e=Yr;var r=32-ot(a)-1;a&=~(1<<r),n+=1;var i=32-ot(t)+r;if(30<i){var o=r-r%5;i=(a&(1<<o)-1).toString(32),a>>=o,r-=o,Jr=1<<32-ot(t)+r|n<<r|a,Yr=i+e}else Jr=1<<i|n<<r|a,Yr=e}function ei(e){null!==e.return&&(Zr(e,1),Xr(e,1,0))}function ti(e){for(;e===Vr;)Vr=Hr[--$r],Hr[$r]=null,Wr=Hr[--$r],Hr[$r]=null;for(;e===Qr;)Qr=Gr[--Kr],Gr[Kr]=null,Yr=Gr[--Kr],Gr[Kr]=null,Jr=Gr[--Kr],Gr[Kr]=null}var ni=null,ai=null,ri=!1,ii=null;function oi(e,t){var n=Tl(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function si(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ni=e,ai=lr(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ni=e,ai=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qr?{id:Jr,overflow:Yr}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Tl(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ni=e,ai=null,!0);default:return!1}}function ci(e){return!(!(1&e.mode)||128&e.flags)}function li(e){if(ri){var t=ai;if(t){var n=t;if(!si(e,t)){if(ci(e))throw Error(i(418));t=lr(n.nextSibling);var a=ni;t&&si(e,t)?oi(a,n):(e.flags=-4097&e.flags|2,ri=!1,ni=e)}}else{if(ci(e))throw Error(i(418));e.flags=-4097&e.flags|2,ri=!1,ni=e}}}function ui(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ni=e}function pi(e){if(e!==ni)return!1;if(!ri)return ui(e),ri=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!nr(e.type,e.memoizedProps)),t&&(t=ai)){if(ci(e))throw di(),Error(i(418));for(;t;)oi(e,t),t=lr(t.nextSibling)}if(ui(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ai=lr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ai=null}}else ai=ni?lr(e.stateNode.nextSibling):null;return!0}function di(){for(var e=ai;e;)e=lr(e.nextSibling)}function fi(){ai=ni=null,ri=!1}function mi(e){null===ii?ii=[e]:ii.push(e)}var hi=w.ReactCurrentBatchConfig;function gi(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var a=n.stateNode}if(!a)throw Error(i(147,e));var r=a,o=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=r.refs;null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function bi(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function yi(e){return(0,e._init)(e._payload)}function vi(e){function t(t,n){if(e){var a=t.deletions;null===a?(t.deletions=[n],t.flags|=16):a.push(n)}}function n(n,a){if(!e)return null;for(;null!==a;)t(n,a),a=a.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Il(e,t)).index=0,e.sibling=null,e}function o(t,n,a){return t.index=a,e?null!==(a=t.alternate)?(a=a.index)<n?(t.flags|=2,n):a:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,a){return null===t||6!==t.tag?((t=Nl(n,e.mode,a)).return=e,t):((t=r(t,n)).return=e,t)}function l(e,t,n,a){var i=n.type;return i===k?p(e,t,n.props.children,a,n.key):null!==t&&(t.elementType===i||"object"==typeof i&&null!==i&&i.$$typeof===R&&yi(i)===t.type)?((a=r(t,n.props)).ref=gi(e,t,n),a.return=e,a):((a=Dl(n.type,n.key,n.props,null,e.mode,a)).ref=gi(e,t,n),a.return=e,a)}function u(e,t,n,a){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fl(n,e.mode,a)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function p(e,t,n,a,i){return null===t||7!==t.tag?((t=Ll(n,e.mode,a,i)).return=e,t):((t=r(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Nl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case S:return(n=Dl(t.type,t.key,t.props,null,e.mode,n)).ref=gi(e,null,t),n.return=e,n;case x:return(t=Fl(t,e.mode,n)).return=e,t;case R:return d(e,(0,t._init)(t._payload),n)}if(te(t)||L(t))return(t=Ll(t,e.mode,n,null)).return=e,t;bi(e,t)}return null}function f(e,t,n,a){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==r?null:c(e,t,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case S:return n.key===r?l(e,t,n,a):null;case x:return n.key===r?u(e,t,n,a):null;case R:return f(e,t,(r=n._init)(n._payload),a)}if(te(n)||L(n))return null!==r?null:p(e,t,n,a,null);bi(e,n)}return null}function m(e,t,n,a,r){if("string"==typeof a&&""!==a||"number"==typeof a)return c(t,e=e.get(n)||null,""+a,r);if("object"==typeof a&&null!==a){switch(a.$$typeof){case S:return l(t,e=e.get(null===a.key?n:a.key)||null,a,r);case x:return u(t,e=e.get(null===a.key?n:a.key)||null,a,r);case R:return m(e,t,n,(0,a._init)(a._payload),r)}if(te(a)||L(a))return p(t,e=e.get(n)||null,a,r,null);bi(t,a)}return null}function h(r,i,s,c){for(var l=null,u=null,p=i,h=i=0,g=null;null!==p&&h<s.length;h++){p.index>h?(g=p,p=null):g=p.sibling;var b=f(r,p,s[h],c);if(null===b){null===p&&(p=g);break}e&&p&&null===b.alternate&&t(r,p),i=o(b,i,h),null===u?l=b:u.sibling=b,u=b,p=g}if(h===s.length)return n(r,p),ri&&Zr(r,h),l;if(null===p){for(;h<s.length;h++)null!==(p=d(r,s[h],c))&&(i=o(p,i,h),null===u?l=p:u.sibling=p,u=p);return ri&&Zr(r,h),l}for(p=a(r,p);h<s.length;h++)null!==(g=m(p,r,h,s[h],c))&&(e&&null!==g.alternate&&p.delete(null===g.key?h:g.key),i=o(g,i,h),null===u?l=g:u.sibling=g,u=g);return e&&p.forEach((function(e){return t(r,e)})),ri&&Zr(r,h),l}function g(r,s,c,l){var u=L(c);if("function"!=typeof u)throw Error(i(150));if(null==(c=u.call(c)))throw Error(i(151));for(var p=u=null,h=s,g=s=0,b=null,y=c.next();null!==h&&!y.done;g++,y=c.next()){h.index>g?(b=h,h=null):b=h.sibling;var v=f(r,h,y.value,l);if(null===v){null===h&&(h=b);break}e&&h&&null===v.alternate&&t(r,h),s=o(v,s,g),null===p?u=v:p.sibling=v,p=v,h=b}if(y.done)return n(r,h),ri&&Zr(r,g),u;if(null===h){for(;!y.done;g++,y=c.next())null!==(y=d(r,y.value,l))&&(s=o(y,s,g),null===p?u=y:p.sibling=y,p=y);return ri&&Zr(r,g),u}for(h=a(r,h);!y.done;g++,y=c.next())null!==(y=m(h,r,g,y.value,l))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),s=o(y,s,g),null===p?u=y:p.sibling=y,p=y);return e&&h.forEach((function(e){return t(r,e)})),ri&&Zr(r,g),u}return function e(a,i,o,c){if("object"==typeof o&&null!==o&&o.type===k&&null===o.key&&(o=o.props.children),"object"==typeof o&&null!==o){switch(o.$$typeof){case S:e:{for(var l=o.key,u=i;null!==u;){if(u.key===l){if((l=o.type)===k){if(7===u.tag){n(a,u.sibling),(i=r(u,o.props.children)).return=a,a=i;break e}}else if(u.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===R&&yi(l)===u.type){n(a,u.sibling),(i=r(u,o.props)).ref=gi(a,u,o),i.return=a,a=i;break e}n(a,u);break}t(a,u),u=u.sibling}o.type===k?((i=Ll(o.props.children,a.mode,c,o.key)).return=a,a=i):((c=Dl(o.type,o.key,o.props,null,a.mode,c)).ref=gi(a,i,o),c.return=a,a=c)}return s(a);case x:e:{for(u=o.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===o.containerInfo&&i.stateNode.implementation===o.implementation){n(a,i.sibling),(i=r(i,o.children||[])).return=a,a=i;break e}n(a,i);break}t(a,i),i=i.sibling}(i=Fl(o,a.mode,c)).return=a,a=i}return s(a);case R:return e(a,i,(u=o._init)(o._payload),c)}if(te(o))return h(a,i,o,c);if(L(o))return g(a,i,o,c);bi(a,o)}return"string"==typeof o&&""!==o||"number"==typeof o?(o=""+o,null!==i&&6===i.tag?(n(a,i.sibling),(i=r(i,o)).return=a,a=i):(n(a,i),(i=Nl(o,a.mode,c)).return=a,a=i),s(a)):n(a,i)}}var wi=vi(!0),Si=vi(!1),xi=_r(null),ki=null,_i=null,Ei=null;function Ci(){Ei=_i=ki=null}function Pi(e){var t=xi.current;Er(xi),e._currentValue=t}function Ai(e,t,n){for(;null!==e;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==a&&(a.childLanes|=t)):null!==a&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Oi(e,t){ki=e,Ei=_i=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(vs=!0),e.firstContext=null)}function ji(e){var t=e._currentValue;if(Ei!==e)if(e={context:e,memoizedValue:t,next:null},null===_i){if(null===ki)throw Error(i(308));_i=e,ki.dependencies={lanes:0,firstContext:e}}else _i=_i.next=e;return t}var Ti=null;function Ri(e){null===Ti?Ti=[e]:Ti.push(e)}function Ii(e,t,n,a){var r=t.interleaved;return null===r?(n.next=n,Ri(t)):(n.next=r.next,r.next=n),t.interleaved=n,Di(e,a)}function Di(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Li=!1;function Mi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ni(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fi(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Bi(e,t,n){var a=e.updateQueue;if(null===a)return null;if(a=a.shared,2&Ac){var r=a.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),a.pending=t,Di(e,n)}return null===(r=a.interleaved)?(t.next=t,Ri(a)):(t.next=r.next,r.next=t),a.interleaved=t,Di(e,n)}function zi(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ui(e,t){var n=e.updateQueue,a=e.alternate;if(null!==a&&n===(a=a.updateQueue)){var r=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?r=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?r=i=t:i=i.next=t}else r=i=t;return n={baseState:a.baseState,firstBaseUpdate:r,lastBaseUpdate:i,shared:a.shared,effects:a.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qi(e,t,n,a){var r=e.updateQueue;Li=!1;var i=r.firstBaseUpdate,o=r.lastBaseUpdate,s=r.shared.pending;if(null!==s){r.shared.pending=null;var c=s,l=c.next;c.next=null,null===o?i=l:o.next=l,o=c;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==o&&(null===s?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(null!==i){var p=r.baseState;for(o=0,u=l=c=null,s=i;;){var d=s.lane,f=s.eventTime;if((a&d)===d){null!==u&&(u=u.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,h=s;switch(d=t,f=n,h.tag){case 1:if("function"==typeof(m=h.payload)){p=m.call(f,p,d);break e}p=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(d="function"==typeof(m=h.payload)?m.call(f,p,d):m))break e;p=N({},p,d);break e;case 2:Li=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(d=r.effects)?r.effects=[s]:d.push(s))}else f={eventTime:f,lane:d,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(l=u=f,c=p):u=u.next=f,o|=d;if(null===(s=s.next)){if(null===(s=r.shared.pending))break;s=(d=s).next,d.next=null,r.lastBaseUpdate=d,r.shared.pending=null}}if(null===u&&(c=p),r.baseState=c,r.firstBaseUpdate=l,r.lastBaseUpdate=u,null!==(t=r.shared.interleaved)){r=t;do{o|=r.lane,r=r.next}while(r!==t)}else null===i&&(r.shared.lanes=0);Mc|=o,e.lanes=o,e.memoizedState=p}}function Hi(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var a=e[t],r=a.callback;if(null!==r){if(a.callback=null,a=n,"function"!=typeof r)throw Error(i(191,r));r.call(a)}}}var $i={},Vi=_r($i),Wi=_r($i),Gi=_r($i);function Ki(e){if(e===$i)throw Error(i(174));return e}function Qi(e,t){switch(Cr(Gi,t),Cr(Wi,e),Cr(Vi,$i),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Er(Vi),Cr(Vi,t)}function Ji(){Er(Vi),Er(Wi),Er(Gi)}function Yi(e){Ki(Gi.current);var t=Ki(Vi.current),n=ce(t,e.type);t!==n&&(Cr(Wi,e),Cr(Vi,n))}function Zi(e){Wi.current===e&&(Er(Vi),Er(Wi))}var Xi=_r(0);function eo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var to=[];function no(){for(var e=0;e<to.length;e++)to[e]._workInProgressVersionPrimary=null;to.length=0}var ao=w.ReactCurrentDispatcher,ro=w.ReactCurrentBatchConfig,io=0,oo=null,so=null,co=null,lo=!1,uo=!1,po=0,fo=0;function mo(){throw Error(i(321))}function ho(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sa(e[n],t[n]))return!1;return!0}function go(e,t,n,a,r,o){if(io=o,oo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ao.current=null===e||null===e.memoizedState?Xo:es,e=n(a,r),uo){o=0;do{if(uo=!1,po=0,25<=o)throw Error(i(301));o+=1,co=so=null,t.updateQueue=null,ao.current=ts,e=n(a,r)}while(uo)}if(ao.current=Zo,t=null!==so&&null!==so.next,io=0,co=so=oo=null,lo=!1,t)throw Error(i(300));return e}function bo(){var e=0!==po;return po=0,e}function yo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===co?oo.memoizedState=co=e:co=co.next=e,co}function vo(){if(null===so){var e=oo.alternate;e=null!==e?e.memoizedState:null}else e=so.next;var t=null===co?oo.memoizedState:co.next;if(null!==t)co=t,so=e;else{if(null===e)throw Error(i(310));e={memoizedState:(so=e).memoizedState,baseState:so.baseState,baseQueue:so.baseQueue,queue:so.queue,next:null},null===co?oo.memoizedState=co=e:co=co.next=e}return co}function wo(e,t){return"function"==typeof t?t(e):t}function So(e){var t=vo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var a=so,r=a.baseQueue,o=n.pending;if(null!==o){if(null!==r){var s=r.next;r.next=o.next,o.next=s}a.baseQueue=r=o,n.pending=null}if(null!==r){o=r.next,a=a.baseState;var c=s=null,l=null,u=o;do{var p=u.lane;if((io&p)===p)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),a=u.hasEagerState?u.eagerState:e(a,u.action);else{var d={lane:p,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=d,s=a):l=l.next=d,oo.lanes|=p,Mc|=p}u=u.next}while(null!==u&&u!==o);null===l?s=a:l.next=c,sa(a,t.memoizedState)||(vs=!0),t.memoizedState=a,t.baseState=s,t.baseQueue=l,n.lastRenderedState=a}if(null!==(e=n.interleaved)){r=e;do{o=r.lane,oo.lanes|=o,Mc|=o,r=r.next}while(r!==e)}else null===r&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function xo(e){var t=vo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var a=n.dispatch,r=n.pending,o=t.memoizedState;if(null!==r){n.pending=null;var s=r=r.next;do{o=e(o,s.action),s=s.next}while(s!==r);sa(o,t.memoizedState)||(vs=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,a]}function ko(){}function _o(e,t){var n=oo,a=vo(),r=t(),o=!sa(a.memoizedState,r);if(o&&(a.memoizedState=r,vs=!0),a=a.queue,Mo(Po.bind(null,n,a,e),[e]),a.getSnapshot!==t||o||null!==co&&1&co.memoizedState.tag){if(n.flags|=2048,To(9,Co.bind(null,n,a,r,t),void 0,null),null===Oc)throw Error(i(349));30&io||Eo(n,t,r)}return r}function Eo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=oo.updateQueue)?(t={lastEffect:null,stores:null},oo.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Co(e,t,n,a){t.value=n,t.getSnapshot=a,Ao(t)&&Oo(e)}function Po(e,t,n){return n((function(){Ao(t)&&Oo(e)}))}function Ao(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sa(e,n)}catch(a){return!0}}function Oo(e){var t=Di(e,1);null!==t&&nl(t,e,1,-1)}function jo(e){var t=yo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:wo,lastRenderedState:e},t.queue=e,e=e.dispatch=Ko.bind(null,oo,e),[t.memoizedState,e]}function To(e,t,n,a){return e={tag:e,create:t,destroy:n,deps:a,next:null},null===(t=oo.updateQueue)?(t={lastEffect:null,stores:null},oo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function Ro(){return vo().memoizedState}function Io(e,t,n,a){var r=yo();oo.flags|=e,r.memoizedState=To(1|t,n,void 0,void 0===a?null:a)}function Do(e,t,n,a){var r=vo();a=void 0===a?null:a;var i=void 0;if(null!==so){var o=so.memoizedState;if(i=o.destroy,null!==a&&ho(a,o.deps))return void(r.memoizedState=To(t,n,i,a))}oo.flags|=e,r.memoizedState=To(1|t,n,i,a)}function Lo(e,t){return Io(8390656,8,e,t)}function Mo(e,t){return Do(2048,8,e,t)}function No(e,t){return Do(4,2,e,t)}function Fo(e,t){return Do(4,4,e,t)}function Bo(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function zo(e,t,n){return n=null!=n?n.concat([e]):null,Do(4,4,Bo.bind(null,t,e),n)}function Uo(){}function qo(e,t){var n=vo();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&ho(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Ho(e,t){var n=vo();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&ho(t,a[1])?a[0]:(e=e(),n.memoizedState=[e,t],e)}function $o(e,t,n){return 21&io?(sa(n,t)||(n=ht(),oo.lanes|=n,Mc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,vs=!0),e.memoizedState=n)}function Vo(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var a=ro.transition;ro.transition={};try{e(!1),t()}finally{vt=n,ro.transition=a}}function Wo(){return vo().memoizedState}function Go(e,t,n){var a=tl(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Qo(e))Jo(t,n);else if(null!==(n=Ii(e,t,n,a))){nl(n,e,a,el()),Yo(n,t,a)}}function Ko(e,t,n){var a=tl(e),r={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qo(e))Jo(t,r);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,s=i(o,n);if(r.hasEagerState=!0,r.eagerState=s,sa(s,o)){var c=t.interleaved;return null===c?(r.next=r,Ri(t)):(r.next=c.next,c.next=r),void(t.interleaved=r)}}catch(l){}null!==(n=Ii(e,t,r,a))&&(nl(n,e,a,r=el()),Yo(n,t,a))}}function Qo(e){var t=e.alternate;return e===oo||null!==t&&t===oo}function Jo(e,t){uo=lo=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Yo(e,t,n){if(4194240&n){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Zo={readContext:ji,useCallback:mo,useContext:mo,useEffect:mo,useImperativeHandle:mo,useInsertionEffect:mo,useLayoutEffect:mo,useMemo:mo,useReducer:mo,useRef:mo,useState:mo,useDebugValue:mo,useDeferredValue:mo,useTransition:mo,useMutableSource:mo,useSyncExternalStore:mo,useId:mo,unstable_isNewReconciler:!1},Xo={readContext:ji,useCallback:function(e,t){return yo().memoizedState=[e,void 0===t?null:t],e},useContext:ji,useEffect:Lo,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Io(4194308,4,Bo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Io(4194308,4,e,t)},useInsertionEffect:function(e,t){return Io(4,2,e,t)},useMemo:function(e,t){var n=yo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=yo();return t=void 0!==n?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=Go.bind(null,oo,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},yo().memoizedState=e},useState:jo,useDebugValue:Uo,useDeferredValue:function(e){return yo().memoizedState=e},useTransition:function(){var e=jo(!1),t=e[0];return e=Vo.bind(null,e[1]),yo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=oo,r=yo();if(ri){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===Oc)throw Error(i(349));30&io||Eo(a,t,n)}r.memoizedState=n;var o={value:n,getSnapshot:t};return r.queue=o,Lo(Po.bind(null,a,o,e),[e]),a.flags|=2048,To(9,Co.bind(null,a,o,n,t),void 0,null),n},useId:function(){var e=yo(),t=Oc.identifierPrefix;if(ri){var n=Yr;t=":"+t+"R"+(n=(Jr&~(1<<32-ot(Jr)-1)).toString(32)+n),0<(n=po++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fo++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:ji,useCallback:qo,useContext:ji,useEffect:Mo,useImperativeHandle:zo,useInsertionEffect:No,useLayoutEffect:Fo,useMemo:Ho,useReducer:So,useRef:Ro,useState:function(){return So(wo)},useDebugValue:Uo,useDeferredValue:function(e){return $o(vo(),so.memoizedState,e)},useTransition:function(){return[So(wo)[0],vo().memoizedState]},useMutableSource:ko,useSyncExternalStore:_o,useId:Wo,unstable_isNewReconciler:!1},ts={readContext:ji,useCallback:qo,useContext:ji,useEffect:Mo,useImperativeHandle:zo,useInsertionEffect:No,useLayoutEffect:Fo,useMemo:Ho,useReducer:xo,useRef:Ro,useState:function(){return xo(wo)},useDebugValue:Uo,useDeferredValue:function(e){var t=vo();return null===so?t.memoizedState=e:$o(t,so.memoizedState,e)},useTransition:function(){return[xo(wo)[0],vo().memoizedState]},useMutableSource:ko,useSyncExternalStore:_o,useId:Wo,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=N({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function as(e,t,n,a){n=null==(n=n(a,t=e.memoizedState))?t:N({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var rs={isMounted:function(e){return!!(e=e._reactInternals)&&qe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var a=el(),r=tl(e),i=Fi(a,r);i.payload=t,null!=n&&(i.callback=n),null!==(t=Bi(e,i,r))&&(nl(t,e,r,a),zi(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=el(),r=tl(e),i=Fi(a,r);i.tag=1,i.payload=t,null!=n&&(i.callback=n),null!==(t=Bi(e,i,r))&&(nl(t,e,r,a),zi(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=el(),a=tl(e),r=Fi(n,a);r.tag=2,null!=t&&(r.callback=t),null!==(t=Bi(e,r,a))&&(nl(t,e,a,n),zi(t,e,a))}};function is(e,t,n,a,r,i,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(a,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!ca(n,a)||!ca(r,i))}function os(e,t,n){var a=!1,r=Pr,i=t.contextType;return"object"==typeof i&&null!==i?i=ji(i):(r=Rr(t)?jr:Ar.current,i=(a=null!=(a=t.contextTypes))?Tr(e,r):Pr),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=rs,e.stateNode=t,t._reactInternals=e,a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=i),t}function ss(e,t,n,a){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,a),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&rs.enqueueReplaceState(t,t.state,null)}function cs(e,t,n,a){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Mi(e);var i=t.contextType;"object"==typeof i&&null!==i?r.context=ji(i):(i=Rr(t)?jr:Ar.current,r.context=Tr(e,i)),r.state=e.memoizedState,"function"==typeof(i=t.getDerivedStateFromProps)&&(as(e,t,i,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&rs.enqueueReplaceState(r,r.state,null),qi(e,n,r,a),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4194308)}function ls(e,t){try{var n="",a=t;do{n+=U(a),a=a.return}while(a);var r=n}catch(i){r="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:r,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ps(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ds="function"==typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=Fi(-1,n)).tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){$c||($c=!0,Vc=a),ps(0,t)},n}function ms(e,t,n){(n=Fi(-1,n)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var r=t.value;n.payload=function(){return a(r)},n.callback=function(){ps(0,t)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(n.callback=function(){ps(0,t),"function"!=typeof a&&(null===Wc?Wc=new Set([this]):Wc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hs(e,t,n){var a=e.pingCache;if(null===a){a=e.pingCache=new ds;var r=new Set;a.set(t,r)}else void 0===(r=a.get(t))&&(r=new Set,a.set(t,r));r.has(n)||(r.add(n),e=El.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bs(e,t,n,a,r){return 1&e.mode?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fi(-1,1)).tag=2,Bi(n,t,1))),n.lanes|=1),e)}var ys=w.ReactCurrentOwner,vs=!1;function ws(e,t,n,a){t.child=null===e?Si(t,null,n,a):wi(t,e.child,n,a)}function Ss(e,t,n,a,r){n=n.render;var i=t.ref;return Oi(t,r),a=go(e,t,n,a,i,r),n=bo(),null===e||vs?(ri&&n&&ei(t),t.flags|=1,ws(e,t,a,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,$s(e,t,r))}function xs(e,t,n,a,r){if(null===e){var i=n.type;return"function"!=typeof i||Rl(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Dl(n.type,null,a,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,ks(e,t,i,a,r))}if(i=e.child,!(e.lanes&r)){var o=i.memoizedProps;if((n=null!==(n=n.compare)?n:ca)(o,a)&&e.ref===t.ref)return $s(e,t,r)}return t.flags|=1,(e=Il(i,a)).ref=t.ref,e.return=t,t.child=e}function ks(e,t,n,a,r){if(null!==e){var i=e.memoizedProps;if(ca(i,a)&&e.ref===t.ref){if(vs=!1,t.pendingProps=a=i,!(e.lanes&r))return t.lanes=e.lanes,$s(e,t,r);131072&e.flags&&(vs=!0)}}return Cs(e,t,n,a,r)}function _s(e,t,n){var a=t.pendingProps,r=a.children,i=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Cr(Ic,Rc),Rc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==i?i.baseLanes:n,Cr(Ic,Rc),Rc|=a}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Cr(Ic,Rc),Rc|=n;else null!==i?(a=i.baseLanes|n,t.memoizedState=null):a=n,Cr(Ic,Rc),Rc|=a;return ws(e,t,r,n),t.child}function Es(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Cs(e,t,n,a,r){var i=Rr(n)?jr:Ar.current;return i=Tr(t,i),Oi(t,r),n=go(e,t,n,a,i,r),a=bo(),null===e||vs?(ri&&a&&ei(t),t.flags|=1,ws(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,$s(e,t,r))}function Ps(e,t,n,a,r){if(Rr(n)){var i=!0;Mr(t)}else i=!1;if(Oi(t,r),null===t.stateNode)Hs(e,t),os(t,n,a),cs(t,n,a,r),a=!0;else if(null===e){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;"object"==typeof l&&null!==l?l=ji(l):l=Tr(t,l=Rr(n)?jr:Ar.current);var u=n.getDerivedStateFromProps,p="function"==typeof u||"function"==typeof o.getSnapshotBeforeUpdate;p||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(s!==a||c!==l)&&ss(t,o,a,l),Li=!1;var d=t.memoizedState;o.state=d,qi(t,a,o,r),c=t.memoizedState,s!==a||d!==c||Or.current||Li?("function"==typeof u&&(as(t,n,u,a),c=t.memoizedState),(s=Li||is(t,n,s,a,d,c,l))?(p||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),o.props=a,o.state=c,o.context=l,a=s):("function"==typeof o.componentDidMount&&(t.flags|=4194308),a=!1)}else{o=t.stateNode,Ni(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ns(t.type,s),o.props=l,p=t.pendingProps,d=o.context,"object"==typeof(c=n.contextType)&&null!==c?c=ji(c):c=Tr(t,c=Rr(n)?jr:Ar.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(s!==p||d!==c)&&ss(t,o,a,c),Li=!1,d=t.memoizedState,o.state=d,qi(t,a,o,r);var m=t.memoizedState;s!==p||d!==m||Or.current||Li?("function"==typeof f&&(as(t,n,f,a),m=t.memoizedState),(l=Li||is(t,n,l,a,d,m,c)||!1)?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(a,m,c),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(a,m,c)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),o.props=a,o.state=m,o.context=c,a=l):("function"!=typeof o.componentDidUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return As(e,t,n,a,i,r)}function As(e,t,n,a,r,i){Es(e,t);var o=!!(128&t.flags);if(!a&&!o)return r&&Nr(t,n,!1),$s(e,t,i);a=t.stateNode,ys.current=t;var s=o&&"function"!=typeof n.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&o?(t.child=wi(t,e.child,null,i),t.child=wi(t,null,s,i)):ws(e,t,s,i),t.memoizedState=a.state,r&&Nr(t,n,!0),t.child}function Os(e){var t=e.stateNode;t.pendingContext?Dr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Dr(0,t.context,!1),Qi(e,t.containerInfo)}function js(e,t,n,a,r){return fi(),mi(r),t.flags|=256,ws(e,t,n,a),t.child}var Ts,Rs,Is,Ds,Ls={dehydrated:null,treeContext:null,retryLane:0};function Ms(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ns(e,t,n){var a,r=t.pendingProps,o=Xi.current,s=!1,c=!!(128&t.flags);if((a=c)||(a=(null===e||null!==e.memoizedState)&&!!(2&o)),a?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(o|=1),Cr(Xi,1&o),null===e)return li(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=r.children,e=r.fallback,s?(r=t.mode,s=t.child,c={mode:"hidden",children:c},1&r||null===s?s=Ml(c,r,0,null):(s.childLanes=0,s.pendingProps=c),e=Ll(e,r,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ms(n),t.memoizedState=Ls,e):Fs(t,c));if(null!==(o=e.memoizedState)&&null!==(a=o.dehydrated))return function(e,t,n,a,r,o,s){if(n)return 256&t.flags?(t.flags&=-257,Bs(e,t,s,a=us(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=a.fallback,r=t.mode,a=Ml({mode:"visible",children:a.children},r,0,null),(o=Ll(o,r,s,null)).flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,1&t.mode&&wi(t,e.child,null,s),t.child.memoizedState=Ms(s),t.memoizedState=Ls,o);if(!(1&t.mode))return Bs(e,t,s,null);if("$!"===r.data){if(a=r.nextSibling&&r.nextSibling.dataset)var c=a.dgst;return a=c,Bs(e,t,s,a=us(o=Error(i(419)),a,void 0))}if(c=!!(s&e.childLanes),vs||c){if(null!==(a=Oc)){switch(s&-s){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}0!==(r=r&(a.suspendedLanes|s)?0:r)&&r!==o.retryLane&&(o.retryLane=r,Di(e,r),nl(a,e,r,-1))}return hl(),Bs(e,t,s,a=us(Error(i(421))))}return"$?"===r.data?(t.flags|=128,t.child=e.child,t=Pl.bind(null,e),r._reactRetry=t,null):(e=o.treeContext,ai=lr(r.nextSibling),ni=t,ri=!0,ii=null,null!==e&&(Gr[Kr++]=Jr,Gr[Kr++]=Yr,Gr[Kr++]=Qr,Jr=e.id,Yr=e.overflow,Qr=t),t=Fs(t,a.children),t.flags|=4096,t)}(e,t,c,r,a,o,n);if(s){s=r.fallback,c=t.mode,a=(o=e.child).sibling;var l={mode:"hidden",children:r.children};return 1&c||t.child===o?(r=Il(o,l)).subtreeFlags=14680064&o.subtreeFlags:((r=t.child).childLanes=0,r.pendingProps=l,t.deletions=null),null!==a?s=Il(a,s):(s=Ll(s,c,n,null)).flags|=2,s.return=t,r.return=t,r.sibling=s,t.child=r,r=s,s=t.child,c=null===(c=e.child.memoizedState)?Ms(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~n,t.memoizedState=Ls,r}return e=(s=e.child).sibling,r=Il(s,{mode:"visible",children:r.children}),!(1&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Fs(e,t){return(t=Ml({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bs(e,t,n,a){return null!==a&&mi(a),wi(t,e.child,null,n),(e=Fs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function zs(e,t,n){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Ai(e.return,t,n)}function Us(e,t,n,a,r){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:r}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=n,i.tailMode=r)}function qs(e,t,n){var a=t.pendingProps,r=a.revealOrder,i=a.tail;if(ws(e,t,a.children,n),2&(a=Xi.current))a=1&a|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&zs(e,n,t);else if(19===e.tag)zs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(Cr(Xi,a),1&t.mode)switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===eo(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Us(t,!1,r,n,i);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===eo(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Us(t,!0,n,null,i);break;case"together":Us(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Hs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function $s(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Mc|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Il(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Il(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!ri)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;null!==n;)null!==n.alternate&&(a=n),n=n.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function Ws(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,a=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,a|=14680064&r.subtreeFlags,a|=14680064&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,a|=r.subtreeFlags,a|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function Gs(e,t,n){var a=t.pendingProps;switch(ti(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ws(t),null;case 1:case 17:return Rr(t.type)&&Ir(),Ws(t),null;case 3:return a=t.stateNode,Ji(),Er(Or),Er(Ar),no(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(pi(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ii&&(ol(ii),ii=null))),Rs(e,t),Ws(t),null;case 5:Zi(t);var r=Ki(Gi.current);if(n=t.type,null!==e&&null!=t.stateNode)Is(e,t,n,a,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(i(166));return Ws(t),null}if(e=Ki(Vi.current),pi(t)){a=t.stateNode,n=t.type;var o=t.memoizedProps;switch(a[dr]=t,a[fr]=o,e=!!(1&t.mode),n){case"dialog":Ba("cancel",a),Ba("close",a);break;case"iframe":case"object":case"embed":Ba("load",a);break;case"video":case"audio":for(r=0;r<La.length;r++)Ba(La[r],a);break;case"source":Ba("error",a);break;case"img":case"image":case"link":Ba("error",a),Ba("load",a);break;case"details":Ba("toggle",a);break;case"input":J(a,o),Ba("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!o.multiple},Ba("invalid",a);break;case"textarea":re(a,o),Ba("invalid",a)}for(var c in ye(n,o),r=null,o)if(o.hasOwnProperty(c)){var l=o[c];"children"===c?"string"==typeof l?a.textContent!==l&&(!0!==o.suppressHydrationWarning&&Za(a.textContent,l,e),r=["children",l]):"number"==typeof l&&a.textContent!==""+l&&(!0!==o.suppressHydrationWarning&&Za(a.textContent,l,e),r=["children",""+l]):s.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&Ba("scroll",a)}switch(n){case"input":W(a),X(a,o,!0);break;case"textarea":W(a),oe(a);break;case"select":case"option":break;default:"function"==typeof o.onClick&&(a.onclick=Xa)}a=r,t.updateQueue=a,null!==a&&(t.flags|=4)}else{c=9===r.nodeType?r:r.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=c.createElement(n,{is:a.is}):(e=c.createElement(n),"select"===n&&(c=e,a.multiple?c.multiple=!0:a.size&&(c.size=a.size))):e=c.createElementNS(e,n),e[dr]=t,e[fr]=a,Ts(e,t,!1,!1),t.stateNode=e;e:{switch(c=ve(n,a),n){case"dialog":Ba("cancel",e),Ba("close",e),r=a;break;case"iframe":case"object":case"embed":Ba("load",e),r=a;break;case"video":case"audio":for(r=0;r<La.length;r++)Ba(La[r],e);r=a;break;case"source":Ba("error",e),r=a;break;case"img":case"image":case"link":Ba("error",e),Ba("load",e),r=a;break;case"details":Ba("toggle",e),r=a;break;case"input":J(e,a),r=Q(e,a),Ba("invalid",e);break;case"option":default:r=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},r=N({},a,{value:void 0}),Ba("invalid",e);break;case"textarea":re(e,a),r=ae(e,a),Ba("invalid",e)}for(o in ye(n,r),l=r)if(l.hasOwnProperty(o)){var u=l[o];"style"===o?ge(e,u):"dangerouslySetInnerHTML"===o?null!=(u=u?u.__html:void 0)&&pe(e,u):"children"===o?"string"==typeof u?("textarea"!==n||""!==u)&&de(e,u):"number"==typeof u&&de(e,""+u):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(s.hasOwnProperty(o)?null!=u&&"onScroll"===o&&Ba("scroll",e):null!=u&&v(e,o,u,c))}switch(n){case"input":W(e),X(e,a,!1);break;case"textarea":W(e),oe(e);break;case"option":null!=a.value&&e.setAttribute("value",""+$(a.value));break;case"select":e.multiple=!!a.multiple,null!=(o=a.value)?ne(e,!!a.multiple,o,!1):null!=a.defaultValue&&ne(e,!!a.multiple,a.defaultValue,!0);break;default:"function"==typeof r.onClick&&(e.onclick=Xa)}switch(n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ws(t),null;case 6:if(e&&null!=t.stateNode)Ds(e,t,e.memoizedProps,a);else{if("string"!=typeof a&&null===t.stateNode)throw Error(i(166));if(n=Ki(Gi.current),Ki(Vi.current),pi(t)){if(a=t.stateNode,n=t.memoizedProps,a[dr]=t,(o=a.nodeValue!==n)&&null!==(e=ni))switch(e.tag){case 3:Za(a.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Za(a.nodeValue,n,!!(1&e.mode))}o&&(t.flags|=4)}else(a=(9===n.nodeType?n:n.ownerDocument).createTextNode(a))[dr]=t,t.stateNode=a}return Ws(t),null;case 13:if(Er(Xi),a=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ri&&null!==ai&&1&t.mode&&!(128&t.flags))di(),fi(),t.flags|=98560,o=!1;else if(o=pi(t),null!==a&&null!==a.dehydrated){if(null===e){if(!o)throw Error(i(318));if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(i(317));o[dr]=t}else fi(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ws(t),o=!1}else null!==ii&&(ol(ii),ii=null),o=!0;if(!o)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((a=null!==a)!==(null!==e&&null!==e.memoizedState)&&a&&(t.child.flags|=8192,1&t.mode&&(null===e||1&Xi.current?0===Dc&&(Dc=3):hl())),null!==t.updateQueue&&(t.flags|=4),Ws(t),null);case 4:return Ji(),Rs(e,t),null===e&&qa(t.stateNode.containerInfo),Ws(t),null;case 10:return Pi(t.type._context),Ws(t),null;case 19:if(Er(Xi),null===(o=t.memoizedState))return Ws(t),null;if(a=!!(128&t.flags),null===(c=o.rendering))if(a)Vs(o,!1);else{if(0!==Dc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=eo(e))){for(t.flags|=128,Vs(o,!1),null!==(a=c.updateQueue)&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=n,n=t.child;null!==n;)e=a,(o=n).flags&=14680066,null===(c=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=c.childLanes,o.lanes=c.lanes,o.child=c.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=c.memoizedProps,o.memoizedState=c.memoizedState,o.updateQueue=c.updateQueue,o.type=c.type,e=c.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Cr(Xi,1&Xi.current|2),t.child}e=e.sibling}null!==o.tail&&Ye()>qc&&(t.flags|=128,a=!0,Vs(o,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=eo(c))){if(t.flags|=128,a=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(o,!0),null===o.tail&&"hidden"===o.tailMode&&!c.alternate&&!ri)return Ws(t),null}else 2*Ye()-o.renderingStartTime>qc&&1073741824!==n&&(t.flags|=128,a=!0,Vs(o,!1),t.lanes=4194304);o.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=o.last)?n.sibling=c:t.child=c,o.last=c)}return null!==o.tail?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Ye(),t.sibling=null,n=Xi.current,Cr(Xi,a?1&n|2:1&n),t):(Ws(t),null);case 22:case 23:return pl(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&1&t.mode?!!(1073741824&Rc)&&(Ws(t),6&t.subtreeFlags&&(t.flags|=8192)):Ws(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function Ks(e,t){switch(ti(t),t.tag){case 1:return Rr(t.type)&&Ir(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ji(),Er(Or),Er(Ar),no(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Zi(t),null;case 13:if(Er(Xi),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));fi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Er(Xi),null;case 4:return Ji(),null;case 10:return Pi(t.type._context),null;case 22:case 23:return pl(),null;default:return null}}Ts=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Rs=function(){},Is=function(e,t,n,a){var r=e.memoizedProps;if(r!==a){e=t.stateNode,Ki(Vi.current);var i,o=null;switch(n){case"input":r=Q(e,r),a=Q(e,a),o=[];break;case"select":r=N({},r,{value:void 0}),a=N({},a,{value:void 0}),o=[];break;case"textarea":r=ae(e,r),a=ae(e,a),o=[];break;default:"function"!=typeof r.onClick&&"function"==typeof a.onClick&&(e.onclick=Xa)}for(u in ye(n,a),n=null,r)if(!a.hasOwnProperty(u)&&r.hasOwnProperty(u)&&null!=r[u])if("style"===u){var c=r[u];for(i in c)c.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in a){var l=a[u];if(c=null!=r?r[u]:void 0,a.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(i in c)!c.hasOwnProperty(i)||l&&l.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in l)l.hasOwnProperty(i)&&c[i]!==l[i]&&(n||(n={}),n[i]=l[i])}else n||(o||(o=[]),o.push(u,n)),n=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(o=o||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(o=o||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&Ba("scroll",e),o||c===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},Ds=function(e,t,n,a){n!==a&&(t.flags|=4)};var Qs=!1,Js=!1,Ys="function"==typeof WeakSet?WeakSet:Set,Zs=null;function Xs(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(a){_l(e,t,a)}else n.current=null}function ec(e,t,n){try{n()}catch(a){_l(e,t,a)}}var tc=!1;function nc(e,t,n){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var r=a=a.next;do{if((r.tag&e)===e){var i=r.destroy;r.destroy=void 0,void 0!==i&&ec(t,n,i)}r=r.next}while(r!==a)}}function ac(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function rc(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function ic(e){var t=e.alternate;null!==t&&(e.alternate=null,ic(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[dr],delete t[fr],delete t[hr],delete t[gr],delete t[br])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function oc(e){return 5===e.tag||3===e.tag||4===e.tag}function sc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||oc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Xa));else if(4!==a&&null!==(e=e.child))for(cc(e,t,n),e=e.sibling;null!==e;)cc(e,t,n),e=e.sibling}function lc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==a&&null!==(e=e.child))for(lc(e,t,n),e=e.sibling;null!==e;)lc(e,t,n),e=e.sibling}var uc=null,pc=!1;function dc(e,t,n){for(n=n.child;null!==n;)fc(e,t,n),n=n.sibling}function fc(e,t,n){if(it&&"function"==typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(rt,n)}catch(s){}switch(n.tag){case 5:Js||Xs(n,t);case 6:var a=uc,r=pc;uc=null,dc(e,t,n),pc=r,null!==(uc=a)&&(pc?(e=uc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):uc.removeChild(n.stateNode));break;case 18:null!==uc&&(pc?(e=uc,n=n.stateNode,8===e.nodeType?cr(e.parentNode,n):1===e.nodeType&&cr(e,n),qt(e)):cr(uc,n.stateNode));break;case 4:a=uc,r=pc,uc=n.stateNode.containerInfo,pc=!0,dc(e,t,n),uc=a,pc=r;break;case 0:case 11:case 14:case 15:if(!Js&&(null!==(a=n.updateQueue)&&null!==(a=a.lastEffect))){r=a=a.next;do{var i=r,o=i.destroy;i=i.tag,void 0!==o&&(2&i||4&i)&&ec(n,t,o),r=r.next}while(r!==a)}dc(e,t,n);break;case 1:if(!Js&&(Xs(n,t),"function"==typeof(a=n.stateNode).componentWillUnmount))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(s){_l(n,t,s)}dc(e,t,n);break;case 21:dc(e,t,n);break;case 22:1&n.mode?(Js=(a=Js)||null!==n.memoizedState,dc(e,t,n),Js=a):dc(e,t,n);break;default:dc(e,t,n)}}function mc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ys),t.forEach((function(t){var a=Al.bind(null,e,t);n.has(t)||(n.add(t),t.then(a,a))}))}}function hc(e,t){var n=t.deletions;if(null!==n)for(var a=0;a<n.length;a++){var r=n[a];try{var o=e,s=t,c=s;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,pc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,pc=!0;break e}c=c.return}if(null===uc)throw Error(i(160));fc(o,s,r),uc=null,pc=!1;var l=r.alternate;null!==l&&(l.return=null),r.return=null}catch(u){_l(r,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hc(t,e),bc(e),4&a){try{nc(3,e,e.return),ac(3,e)}catch(g){_l(e,e.return,g)}try{nc(5,e,e.return)}catch(g){_l(e,e.return,g)}}break;case 1:hc(t,e),bc(e),512&a&&null!==n&&Xs(n,n.return);break;case 5:if(hc(t,e),bc(e),512&a&&null!==n&&Xs(n,n.return),32&e.flags){var r=e.stateNode;try{de(r,"")}catch(g){_l(e,e.return,g)}}if(4&a&&null!=(r=e.stateNode)){var o=e.memoizedProps,s=null!==n?n.memoizedProps:o,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===o.type&&null!=o.name&&Y(r,o),ve(c,s);var u=ve(c,o);for(s=0;s<l.length;s+=2){var p=l[s],d=l[s+1];"style"===p?ge(r,d):"dangerouslySetInnerHTML"===p?pe(r,d):"children"===p?de(r,d):v(r,p,d,u)}switch(c){case"input":Z(r,o);break;case"textarea":ie(r,o);break;case"select":var f=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!o.multiple;var m=o.value;null!=m?ne(r,!!o.multiple,m,!1):f!==!!o.multiple&&(null!=o.defaultValue?ne(r,!!o.multiple,o.defaultValue,!0):ne(r,!!o.multiple,o.multiple?[]:"",!1))}r[fr]=o}catch(g){_l(e,e.return,g)}}break;case 6:if(hc(t,e),bc(e),4&a){if(null===e.stateNode)throw Error(i(162));r=e.stateNode,o=e.memoizedProps;try{r.nodeValue=o}catch(g){_l(e,e.return,g)}}break;case 3:if(hc(t,e),bc(e),4&a&&null!==n&&n.memoizedState.isDehydrated)try{qt(t.containerInfo)}catch(g){_l(e,e.return,g)}break;case 4:default:hc(t,e),bc(e);break;case 13:hc(t,e),bc(e),8192&(r=e.child).flags&&(o=null!==r.memoizedState,r.stateNode.isHidden=o,!o||null!==r.alternate&&null!==r.alternate.memoizedState||(Uc=Ye())),4&a&&mc(e);break;case 22:if(p=null!==n&&null!==n.memoizedState,1&e.mode?(Js=(u=Js)||p,hc(t,e),Js=u):hc(t,e),bc(e),8192&a){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!p&&1&e.mode)for(Zs=e,p=e.child;null!==p;){for(d=Zs=p;null!==Zs;){switch(m=(f=Zs).child,f.tag){case 0:case 11:case 14:case 15:nc(4,f,f.return);break;case 1:Xs(f,f.return);var h=f.stateNode;if("function"==typeof h.componentWillUnmount){a=f,n=f.return;try{t=a,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){_l(a,n,g)}}break;case 5:Xs(f,f.return);break;case 22:if(null!==f.memoizedState){Sc(d);continue}}null!==m?(m.return=f,Zs=m):Sc(d)}p=p.sibling}e:for(p=null,d=e;;){if(5===d.tag){if(null===p){p=d;try{r=d.stateNode,u?"function"==typeof(o=r.style).setProperty?o.setProperty("display","none","important"):o.display="none":(c=d.stateNode,s=null!=(l=d.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=he("display",s))}catch(g){_l(e,e.return,g)}}}else if(6===d.tag){if(null===p)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(g){_l(e,e.return,g)}}else if((22!==d.tag&&23!==d.tag||null===d.memoizedState||d===e)&&null!==d.child){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;null===d.sibling;){if(null===d.return||d.return===e)break e;p===d&&(p=null),d=d.return}p===d&&(p=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:hc(t,e),bc(e),4&a&&mc(e);case 21:}}function bc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(oc(n)){var a=n;break e}n=n.return}throw Error(i(160))}switch(a.tag){case 5:var r=a.stateNode;32&a.flags&&(de(r,""),a.flags&=-33),lc(e,sc(e),r);break;case 3:case 4:var o=a.stateNode.containerInfo;cc(e,sc(e),o);break;default:throw Error(i(161))}}catch(s){_l(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yc(e,t,n){Zs=e,vc(e,t,n)}function vc(e,t,n){for(var a=!!(1&e.mode);null!==Zs;){var r=Zs,i=r.child;if(22===r.tag&&a){var o=null!==r.memoizedState||Qs;if(!o){var s=r.alternate,c=null!==s&&null!==s.memoizedState||Js;s=Qs;var l=Js;if(Qs=o,(Js=c)&&!l)for(Zs=r;null!==Zs;)c=(o=Zs).child,22===o.tag&&null!==o.memoizedState?xc(r):null!==c?(c.return=o,Zs=c):xc(r);for(;null!==i;)Zs=i,vc(i,t,n),i=i.sibling;Zs=r,Qs=s,Js=l}wc(e)}else 8772&r.subtreeFlags&&null!==i?(i.return=r,Zs=i):wc(e)}}function wc(e){for(;null!==Zs;){var t=Zs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Js||ac(5,t);break;case 1:var a=t.stateNode;if(4&t.flags&&!Js)if(null===n)a.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);a.componentDidUpdate(r,n.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;null!==o&&Hi(t,o,a);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Hi(t,s,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var p=u.memoizedState;if(null!==p){var d=p.dehydrated;null!==d&&qt(d)}}}break;default:throw Error(i(163))}Js||512&t.flags&&rc(t)}catch(f){_l(t,t.return,f)}}if(t===e){Zs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Zs=n;break}Zs=t.return}}function Sc(e){for(;null!==Zs;){var t=Zs;if(t===e){Zs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Zs=n;break}Zs=t.return}}function xc(e){for(;null!==Zs;){var t=Zs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ac(4,t)}catch(c){_l(t,n,c)}break;case 1:var a=t.stateNode;if("function"==typeof a.componentDidMount){var r=t.return;try{a.componentDidMount()}catch(c){_l(t,r,c)}}var i=t.return;try{rc(t)}catch(c){_l(t,i,c)}break;case 5:var o=t.return;try{rc(t)}catch(c){_l(t,o,c)}}}catch(c){_l(t,t.return,c)}if(t===e){Zs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Zs=s;break}Zs=t.return}}var kc,_c=Math.ceil,Ec=w.ReactCurrentDispatcher,Cc=w.ReactCurrentOwner,Pc=w.ReactCurrentBatchConfig,Ac=0,Oc=null,jc=null,Tc=0,Rc=0,Ic=_r(0),Dc=0,Lc=null,Mc=0,Nc=0,Fc=0,Bc=null,zc=null,Uc=0,qc=1/0,Hc=null,$c=!1,Vc=null,Wc=null,Gc=!1,Kc=null,Qc=0,Jc=0,Yc=null,Zc=-1,Xc=0;function el(){return 6&Ac?Ye():-1!==Zc?Zc:Zc=Ye()}function tl(e){return 1&e.mode?2&Ac&&0!==Tc?Tc&-Tc:null!==hi.transition?(0===Xc&&(Xc=ht()),Xc):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Jt(e.type):1}function nl(e,t,n,a){if(50<Jc)throw Jc=0,Yc=null,Error(i(185));bt(e,n,a),2&Ac&&e===Oc||(e===Oc&&(!(2&Ac)&&(Nc|=n),4===Dc&&sl(e,Tc)),al(e,a),1===n&&0===Ac&&!(1&t.mode)&&(qc=Ye()+500,Br&&qr()))}function al(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,r=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-ot(i),s=1<<o,c=r[o];-1===c?s&n&&!(s&a)||(r[o]=ft(s,t)):c<=t&&(e.expiredLanes|=s),i&=~s}}(e,t);var a=dt(e,e===Oc?Tc:0);if(0===a)null!==n&&Ke(n),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(null!=n&&Ke(n),1===t)0===e.tag?function(e){Br=!0,Ur(e)}(cl.bind(null,e)):Ur(cl.bind(null,e)),or((function(){!(6&Ac)&&qr()})),n=null;else{switch(wt(a)){case 1:n=Xe;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=at}n=Ol(n,rl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function rl(e,t){if(Zc=-1,Xc=0,6&Ac)throw Error(i(327));var n=e.callbackNode;if(xl()&&e.callbackNode!==n)return null;var a=dt(e,e===Oc?Tc:0);if(0===a)return null;if(30&a||a&e.expiredLanes||t)t=gl(e,a);else{t=a;var r=Ac;Ac|=2;var o=ml();for(Oc===e&&Tc===t||(Hc=null,qc=Ye()+500,dl(e,t));;)try{yl();break}catch(c){fl(e,c)}Ci(),Ec.current=o,Ac=r,null!==jc?t=0:(Oc=null,Tc=0,t=Dc)}if(0!==t){if(2===t&&(0!==(r=mt(e))&&(a=r,t=il(e,r))),1===t)throw n=Lc,dl(e,0),sl(e,a),al(e,Ye()),n;if(6===t)sl(e,a);else{if(r=e.current.alternate,!(30&a||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var a=0;a<n.length;a++){var r=n[a],i=r.getSnapshot;r=r.value;try{if(!sa(i(),r))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(r)||(t=gl(e,a),2===t&&(o=mt(e),0!==o&&(a=o,t=il(e,o))),1!==t)))throw n=Lc,dl(e,0),sl(e,a),al(e,Ye()),n;switch(e.finishedWork=r,e.finishedLanes=a,t){case 0:case 1:throw Error(i(345));case 2:case 5:Sl(e,zc,Hc);break;case 3:if(sl(e,a),(130023424&a)===a&&10<(t=Uc+500-Ye())){if(0!==dt(e,0))break;if(((r=e.suspendedLanes)&a)!==a){el(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=ar(Sl.bind(null,e,zc,Hc),t);break}Sl(e,zc,Hc);break;case 4:if(sl(e,a),(4194240&a)===a)break;for(t=e.eventTimes,r=-1;0<a;){var s=31-ot(a);o=1<<s,(s=t[s])>r&&(r=s),a&=~o}if(a=r,10<(a=(120>(a=Ye()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*_c(a/1960))-a)){e.timeoutHandle=ar(Sl.bind(null,e,zc,Hc),a);break}Sl(e,zc,Hc);break;default:throw Error(i(329))}}}return al(e,Ye()),e.callbackNode===n?rl.bind(null,e):null}function il(e,t){var n=Bc;return e.current.memoizedState.isDehydrated&&(dl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=zc,zc=n,null!==t&&ol(t)),e}function ol(e){null===zc?zc=e:zc.push.apply(zc,e)}function sl(e,t){for(t&=~Fc,t&=~Nc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ot(t),a=1<<n;e[n]=-1,t&=~a}}function cl(e){if(6&Ac)throw Error(i(327));xl();var t=dt(e,0);if(!(1&t))return al(e,Ye()),null;var n=gl(e,t);if(0!==e.tag&&2===n){var a=mt(e);0!==a&&(t=a,n=il(e,a))}if(1===n)throw n=Lc,dl(e,0),sl(e,t),al(e,Ye()),n;if(6===n)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Sl(e,zc,Hc),al(e,Ye()),null}function ll(e,t){var n=Ac;Ac|=1;try{return e(t)}finally{0===(Ac=n)&&(qc=Ye()+500,Br&&qr())}}function ul(e){null!==Kc&&0===Kc.tag&&!(6&Ac)&&xl();var t=Ac;Ac|=1;var n=Pc.transition,a=vt;try{if(Pc.transition=null,vt=1,e)return e()}finally{vt=a,Pc.transition=n,!(6&(Ac=t))&&qr()}}function pl(){Rc=Ic.current,Er(Ic)}function dl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,rr(n)),null!==jc)for(n=jc.return;null!==n;){var a=n;switch(ti(a),a.tag){case 1:null!=(a=a.type.childContextTypes)&&Ir();break;case 3:Ji(),Er(Or),Er(Ar),no();break;case 5:Zi(a);break;case 4:Ji();break;case 13:case 19:Er(Xi);break;case 10:Pi(a.type._context);break;case 22:case 23:pl()}n=n.return}if(Oc=e,jc=e=Il(e.current,null),Tc=Rc=t,Dc=0,Lc=null,Fc=Nc=Mc=0,zc=Bc=null,null!==Ti){for(t=0;t<Ti.length;t++)if(null!==(a=(n=Ti[t]).interleaved)){n.interleaved=null;var r=a.next,i=n.pending;if(null!==i){var o=i.next;i.next=r,a.next=o}n.pending=a}Ti=null}return e}function fl(e,t){for(;;){var n=jc;try{if(Ci(),ao.current=Zo,lo){for(var a=oo.memoizedState;null!==a;){var r=a.queue;null!==r&&(r.pending=null),a=a.next}lo=!1}if(io=0,co=so=oo=null,uo=!1,po=0,Cc.current=null,null===n||null===n.return){Dc=1,Lc=t,jc=null;break}e:{var o=e,s=n.return,c=n,l=t;if(t=Tc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l,p=c,d=p.tag;if(!(1&p.mode||0!==d&&11!==d&&15!==d)){var f=p.alternate;f?(p.updateQueue=f.updateQueue,p.memoizedState=f.memoizedState,p.lanes=f.lanes):(p.updateQueue=null,p.memoizedState=null)}var m=gs(s);if(null!==m){m.flags&=-257,bs(m,s,c,0,t),1&m.mode&&hs(o,u,t),l=u;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break e}if(!(1&t)){hs(o,u,t),hl();break e}l=Error(i(426))}else if(ri&&1&c.mode){var b=gs(s);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bs(b,s,c,0,t),mi(ls(l,c));break e}}o=l=ls(l,c),4!==Dc&&(Dc=2),null===Bc?Bc=[o]:Bc.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t,Ui(o,fs(0,l,t));break e;case 1:c=l;var y=o.type,v=o.stateNode;if(!(128&o.flags||"function"!=typeof y.getDerivedStateFromError&&(null===v||"function"!=typeof v.componentDidCatch||null!==Wc&&Wc.has(v)))){o.flags|=65536,t&=-t,o.lanes|=t,Ui(o,ms(o,c,t));break e}}o=o.return}while(null!==o)}wl(n)}catch(w){t=w,jc===n&&null!==n&&(jc=n=n.return);continue}break}}function ml(){var e=Ec.current;return Ec.current=Zo,null===e?Zo:e}function hl(){0!==Dc&&3!==Dc&&2!==Dc||(Dc=4),null===Oc||!(268435455&Mc)&&!(268435455&Nc)||sl(Oc,Tc)}function gl(e,t){var n=Ac;Ac|=2;var a=ml();for(Oc===e&&Tc===t||(Hc=null,dl(e,t));;)try{bl();break}catch(r){fl(e,r)}if(Ci(),Ac=n,Ec.current=a,null!==jc)throw Error(i(261));return Oc=null,Tc=0,Dc}function bl(){for(;null!==jc;)vl(jc)}function yl(){for(;null!==jc&&!Qe();)vl(jc)}function vl(e){var t=kc(e.alternate,e,Rc);e.memoizedProps=e.pendingProps,null===t?wl(e):jc=t,Cc.current=null}function wl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ks(n,t)))return n.flags&=32767,void(jc=n);if(null===e)return Dc=6,void(jc=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Gs(n,t,Rc)))return void(jc=n);if(null!==(t=t.sibling))return void(jc=t);jc=t=e}while(null!==t);0===Dc&&(Dc=5)}function Sl(e,t,n){var a=vt,r=Pc.transition;try{Pc.transition=null,vt=1,function(e,t,n,a){do{xl()}while(null!==Kc);if(6&Ac)throw Error(i(327));n=e.finishedWork;var r=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-ot(n),i=1<<r;t[r]=0,a[r]=-1,e[r]=-1,n&=~i}}(e,o),e===Oc&&(jc=Oc=null,Tc=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Gc||(Gc=!0,Ol(tt,(function(){return xl(),null}))),o=!!(15990&n.flags),!!(15990&n.subtreeFlags)||o){o=Pc.transition,Pc.transition=null;var s=vt;vt=1;var c=Ac;Ac|=4,Cc.current=null,function(e,t){if(er=$t,fa(e=da())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(a&&0!==a.rangeCount){n=a.anchorNode;var r=a.anchorOffset,o=a.focusNode;a=a.focusOffset;try{n.nodeType,o.nodeType}catch(S){n=null;break e}var s=0,c=-1,l=-1,u=0,p=0,d=e,f=null;t:for(;;){for(var m;d!==n||0!==r&&3!==d.nodeType||(c=s+r),d!==o||0!==a&&3!==d.nodeType||(l=s+a),3===d.nodeType&&(s+=d.nodeValue.length),null!==(m=d.firstChild);)f=d,d=m;for(;;){if(d===e)break t;if(f===n&&++u===r&&(c=s),f===o&&++p===a&&(l=s),null!==(m=d.nextSibling))break;f=(d=f).parentNode}d=m}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(tr={focusedElem:e,selectionRange:n},$t=!1,Zs=t;null!==Zs;)if(e=(t=Zs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Zs=e;else for(;null!==Zs;){t=Zs;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,b=h.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:ns(t.type,g),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(i(163))}}catch(S){_l(t,t.return,S)}if(null!==(e=t.sibling)){e.return=t.return,Zs=e;break}Zs=t.return}h=tc,tc=!1}(e,n),gc(n,e),ma(tr),$t=!!er,tr=er=null,e.current=n,yc(n,e,r),Je(),Ac=c,vt=s,Pc.transition=o}else e.current=n;if(Gc&&(Gc=!1,Kc=e,Qc=r),o=e.pendingLanes,0===o&&(Wc=null),function(e){if(it&&"function"==typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(rt,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),al(e,Ye()),null!==t)for(a=e.onRecoverableError,n=0;n<t.length;n++)r=t[n],a(r.value,{componentStack:r.stack,digest:r.digest});if($c)throw $c=!1,e=Vc,Vc=null,e;!!(1&Qc)&&0!==e.tag&&xl(),o=e.pendingLanes,1&o?e===Yc?Jc++:(Jc=0,Yc=e):Jc=0,qr()}(e,t,n,a)}finally{Pc.transition=r,vt=a}return null}function xl(){if(null!==Kc){var e=wt(Qc),t=Pc.transition,n=vt;try{if(Pc.transition=null,vt=16>e?16:e,null===Kc)var a=!1;else{if(e=Kc,Kc=null,Qc=0,6&Ac)throw Error(i(331));var r=Ac;for(Ac|=4,Zs=e.current;null!==Zs;){var o=Zs,s=o.child;if(16&Zs.flags){var c=o.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for(Zs=u;null!==Zs;){var p=Zs;switch(p.tag){case 0:case 11:case 15:nc(8,p,o)}var d=p.child;if(null!==d)d.return=p,Zs=d;else for(;null!==Zs;){var f=(p=Zs).sibling,m=p.return;if(ic(p),p===u){Zs=null;break}if(null!==f){f.return=m,Zs=f;break}Zs=m}}}var h=o.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Zs=o}}if(2064&o.subtreeFlags&&null!==s)s.return=o,Zs=s;else e:for(;null!==Zs;){if(2048&(o=Zs).flags)switch(o.tag){case 0:case 11:case 15:nc(9,o,o.return)}var y=o.sibling;if(null!==y){y.return=o.return,Zs=y;break e}Zs=o.return}}var v=e.current;for(Zs=v;null!==Zs;){var w=(s=Zs).child;if(2064&s.subtreeFlags&&null!==w)w.return=s,Zs=w;else e:for(s=v;null!==Zs;){if(2048&(c=Zs).flags)try{switch(c.tag){case 0:case 11:case 15:ac(9,c)}}catch(x){_l(c,c.return,x)}if(c===s){Zs=null;break e}var S=c.sibling;if(null!==S){S.return=c.return,Zs=S;break e}Zs=c.return}}if(Ac=r,qr(),it&&"function"==typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(rt,e)}catch(x){}a=!0}return a}finally{vt=n,Pc.transition=t}}return!1}function kl(e,t,n){e=Bi(e,t=fs(0,t=ls(n,t),1),1),t=el(),null!==e&&(bt(e,1,t),al(e,t))}function _l(e,t,n){if(3===e.tag)kl(e,e,n);else for(;null!==t;){if(3===t.tag){kl(t,e,n);break}if(1===t.tag){var a=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof a.componentDidCatch&&(null===Wc||!Wc.has(a))){t=Bi(t,e=ms(t,e=ls(n,e),1),1),e=el(),null!==t&&(bt(t,1,e),al(t,e));break}}t=t.return}}function El(e,t,n){var a=e.pingCache;null!==a&&a.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&n,Oc===e&&(Tc&n)===n&&(4===Dc||3===Dc&&(130023424&Tc)===Tc&&500>Ye()-Uc?dl(e,0):Fc|=n),al(e,t)}function Cl(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=el();null!==(e=Di(e,t))&&(bt(e,t,n),al(e,n))}function Pl(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cl(e,n)}function Al(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,r=e.memoizedState;null!==r&&(n=r.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(i(314))}null!==a&&a.delete(t),Cl(e,n)}function Ol(e,t){return Ge(e,t)}function jl(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tl(e,t,n,a){return new jl(e,t,n,a)}function Rl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Il(e,t){var n=e.alternate;return null===n?((n=Tl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Dl(e,t,n,a,r,o){var s=2;if(a=e,"function"==typeof e)Rl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case k:return Ll(n.children,r,o,t);case _:s=8,r|=8;break;case E:return(e=Tl(12,n,t,2|r)).elementType=E,e.lanes=o,e;case O:return(e=Tl(13,n,t,r)).elementType=O,e.lanes=o,e;case j:return(e=Tl(19,n,t,r)).elementType=j,e.lanes=o,e;case I:return Ml(n,r,o,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case P:s=9;break e;case A:s=11;break e;case T:s=14;break e;case R:s=16,a=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Tl(s,n,t,r)).elementType=e,t.type=a,t.lanes=o,t}function Ll(e,t,n,a){return(e=Tl(7,e,a,t)).lanes=n,e}function Ml(e,t,n,a){return(e=Tl(22,e,a,t)).elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function Nl(e,t,n){return(e=Tl(6,e,null,t)).lanes=n,e}function Fl(e,t,n){return(t=Tl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bl(e,t,n,a,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=a,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function zl(e,t,n,a,r,i,o,s,c){return e=new Bl(e,t,n,s,c),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Tl(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Mi(i),e}function Ul(e){if(!e)return Pr;e:{if(qe(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Rr(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var n=e.type;if(Rr(n))return Lr(e,n,t)}return t}function ql(e,t,n,a,r,i,o,s,c){return(e=zl(n,a,!0,e,0,i,0,s,c)).context=Ul(null),n=e.current,(i=Fi(a=el(),r=tl(n))).callback=null!=t?t:null,Bi(n,i,r),e.current.lanes=r,bt(e,r,a),al(e,a),e}function Hl(e,t,n,a){var r=t.current,i=el(),o=tl(r);return n=Ul(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fi(i,o)).payload={element:e},null!==(a=void 0===a?null:a)&&(t.callback=a),null!==(e=Bi(r,t,o))&&(nl(e,r,o,i),zi(e,r,o)),o}function $l(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Wl(e,t){Vl(e,t),(e=e.alternate)&&Vl(e,t)}kc=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Or.current)vs=!0;else{if(!(e.lanes&n||128&t.flags))return vs=!1,function(e,t,n){switch(t.tag){case 3:Os(t),fi();break;case 5:Yi(t);break;case 1:Rr(t.type)&&Mr(t);break;case 4:Qi(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,r=t.memoizedProps.value;Cr(xi,a._currentValue),a._currentValue=r;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(Cr(Xi,1&Xi.current),t.flags|=128,null):n&t.child.childLanes?Ns(e,t,n):(Cr(Xi,1&Xi.current),null!==(e=$s(e,t,n))?e.sibling:null);Cr(Xi,1&Xi.current);break;case 19:if(a=!!(n&t.childLanes),128&e.flags){if(a)return qs(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),Cr(Xi,Xi.current),a)break;return null;case 22:case 23:return t.lanes=0,_s(e,t,n)}return $s(e,t,n)}(e,t,n);vs=!!(131072&e.flags)}else vs=!1,ri&&1048576&t.flags&&Xr(t,Wr,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Hs(e,t),e=t.pendingProps;var r=Tr(t,Ar.current);Oi(t,n),r=go(null,t,a,e,r,n);var o=bo();return t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Rr(a)?(o=!0,Mr(t)):o=!1,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,Mi(t),r.updater=rs,t.stateNode=r,r._reactInternals=t,cs(t,a,e,n),t=As(null,t,a,!0,o,n)):(t.tag=0,ri&&o&&ei(t),ws(null,t,r,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Hs(e,t),e=t.pendingProps,a=(r=a._init)(a._payload),t.type=a,r=t.tag=function(e){if("function"==typeof e)return Rl(e)?1:0;if(null!=e){if((e=e.$$typeof)===A)return 11;if(e===T)return 14}return 2}(a),e=ns(a,e),r){case 0:t=Cs(null,t,a,e,n);break e;case 1:t=Ps(null,t,a,e,n);break e;case 11:t=Ss(null,t,a,e,n);break e;case 14:t=xs(null,t,a,ns(a.type,e),n);break e}throw Error(i(306,a,""))}return t;case 0:return a=t.type,r=t.pendingProps,Cs(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 1:return a=t.type,r=t.pendingProps,Ps(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 3:e:{if(Os(t),null===e)throw Error(i(387));a=t.pendingProps,r=(o=t.memoizedState).element,Ni(e,t),qi(t,a,null,n);var s=t.memoizedState;if(a=s.element,o.isDehydrated){if(o={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=js(e,t,a,n,r=ls(Error(i(423)),t));break e}if(a!==r){t=js(e,t,a,n,r=ls(Error(i(424)),t));break e}for(ai=lr(t.stateNode.containerInfo.firstChild),ni=t,ri=!0,ii=null,n=Si(t,null,a,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(fi(),a===r){t=$s(e,t,n);break e}ws(e,t,a,n)}t=t.child}return t;case 5:return Yi(t),null===e&&li(t),a=t.type,r=t.pendingProps,o=null!==e?e.memoizedProps:null,s=r.children,nr(a,r)?s=null:null!==o&&nr(a,o)&&(t.flags|=32),Es(e,t),ws(e,t,s,n),t.child;case 6:return null===e&&li(t),null;case 13:return Ns(e,t,n);case 4:return Qi(t,t.stateNode.containerInfo),a=t.pendingProps,null===e?t.child=wi(t,null,a,n):ws(e,t,a,n),t.child;case 11:return a=t.type,r=t.pendingProps,Ss(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 7:return ws(e,t,t.pendingProps,n),t.child;case 8:case 12:return ws(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,r=t.pendingProps,o=t.memoizedProps,s=r.value,Cr(xi,a._currentValue),a._currentValue=s,null!==o)if(sa(o.value,s)){if(o.children===r.children&&!Or.current){t=$s(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var c=o.dependencies;if(null!==c){s=o.child;for(var l=c.firstContext;null!==l;){if(l.context===a){if(1===o.tag){(l=Fi(-1,n&-n)).tag=2;var u=o.updateQueue;if(null!==u){var p=(u=u.shared).pending;null===p?l.next=l:(l.next=p.next,p.next=l),u.pending=l}}o.lanes|=n,null!==(l=o.alternate)&&(l.lanes|=n),Ai(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===o.tag)s=o.type===t.type?null:o.child;else if(18===o.tag){if(null===(s=o.return))throw Error(i(341));s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),Ai(s,n,t),s=o.sibling}else s=o.child;if(null!==s)s.return=o;else for(s=o;null!==s;){if(s===t){s=null;break}if(null!==(o=s.sibling)){o.return=s.return,s=o;break}s=s.return}o=s}ws(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,a=t.pendingProps.children,Oi(t,n),a=a(r=ji(r)),t.flags|=1,ws(e,t,a,n),t.child;case 14:return r=ns(a=t.type,t.pendingProps),xs(e,t,a,r=ns(a.type,r),n);case 15:return ks(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:ns(a,r),Hs(e,t),t.tag=1,Rr(a)?(e=!0,Mr(t)):e=!1,Oi(t,n),os(t,a,r),cs(t,a,r,n),As(null,t,a,!0,e,n);case 19:return qs(e,t,n);case 22:return _s(e,t,n)}throw Error(i(156,t.tag))};var Gl="function"==typeof reportError?reportError:function(e){console.error(e)};function Kl(e){this._internalRoot=e}function Ql(e){this._internalRoot=e}function Jl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Yl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zl(){}function Xl(e,t,n,a,r){var i=n._reactRootContainer;if(i){var o=i;if("function"==typeof r){var s=r;r=function(){var e=$l(o);s.call(e)}}Hl(t,o,e,r)}else o=function(e,t,n,a,r){if(r){if("function"==typeof a){var i=a;a=function(){var e=$l(o);i.call(e)}}var o=ql(t,a,e,0,null,!1,0,"",Zl);return e._reactRootContainer=o,e[mr]=o.current,qa(8===e.nodeType?e.parentNode:e),ul(),o}for(;r=e.lastChild;)e.removeChild(r);if("function"==typeof a){var s=a;a=function(){var e=$l(c);s.call(e)}}var c=zl(e,0,!1,null,0,!1,0,"",Zl);return e._reactRootContainer=c,e[mr]=c.current,qa(8===e.nodeType?e.parentNode:e),ul((function(){Hl(t,c,n,a)})),c}(n,t,e,r,a);return $l(o)}Ql.prototype.render=Kl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));Hl(e,t,null,null)},Ql.prototype.unmount=Kl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul((function(){Hl(null,e,null,null)})),t[mr]=null}},Ql.prototype.unstable_scheduleHydration=function(e){if(e){var t=_t();e={blockedOn:null,target:e,priority:t};for(var n=0;n<It.length&&0!==t&&t<It[n].priority;n++);It.splice(n,0,e),0===n&&Nt(e)}},St=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=pt(t.pendingLanes);0!==n&&(yt(t,1|n),al(t,Ye()),!(6&Ac)&&(qc=Ye()+500,qr()))}break;case 13:ul((function(){var t=Di(e,1);if(null!==t){var n=el();nl(t,e,1,n)}})),Wl(e,1)}},xt=function(e){if(13===e.tag){var t=Di(e,134217728);if(null!==t)nl(t,e,134217728,el());Wl(e,134217728)}},kt=function(e){if(13===e.tag){var t=tl(e),n=Di(e,t);if(null!==n)nl(n,e,t,el());Wl(e,t)}},_t=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(Z(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var r=Sr(a);if(!r)throw Error(i(90));G(a),Z(a,r)}}}break;case"textarea":ie(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ae=ll,Oe=ul;var eu={usingClientEntryPoint:!1,Events:[vr,wr,Sr,Ce,Pe,ll]},tu={findFiberByHostInstance:yr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{rt=au.inject(nu),it=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Jl(t))throw Error(i(200));return function(e,t,n){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==a?null:""+a,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Jl(e))throw Error(i(299));var n=!1,a="",r=Gl;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(r=t.onRecoverableError)),t=zl(e,1,!1,null,0,n,0,a,r),e[mr]=t.current,qa(8===e.nodeType?e.parentNode:e),new Kl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw e=Object.keys(e).join(","),Error(i(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,n){if(!Yl(t))throw Error(i(200));return Xl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Jl(e))throw Error(i(405));var a=null!=n&&n.hydratedSources||null,r=!1,o="",s=Gl;if(null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=ql(t,null,e,1,null!=n?n:null,r,0,o,s),e[mr]=t.current,qa(e),a)for(e=0;e<a.length;e++)r=(r=(n=a[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Ql(t)},t.render=function(e,t,n){if(!Yl(t))throw Error(i(200));return Xl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Yl(e))throw Error(i(40));return!!e._reactRootContainer&&(ul((function(){Xl(null,null,e,!1,(function(){e._reactRootContainer=null,e[mr]=null}))})),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,n,a){if(!Yl(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return Xl(e,t,n,!1,a)},t.version="18.3.1-next-f1338f8080-20240426"},7470:(e,t,n)=>{"use strict";var a=n(8325);t.createRoot=a.createRoot,t.hydrateRoot=a.hydrateRoot},8325:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(6067)},7383:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,a="function"==typeof Set,r="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,o){if(e===o)return!0;if(e&&o&&"object"==typeof e&&"object"==typeof o){if(e.constructor!==o.constructor)return!1;var s,c,l,u;if(Array.isArray(e)){if((s=e.length)!=o.length)return!1;for(c=s;0!=c--;)if(!i(e[c],o[c]))return!1;return!0}if(n&&e instanceof Map&&o instanceof Map){if(e.size!==o.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!o.has(c.value[0]))return!1;for(u=e.entries();!(c=u.next()).done;)if(!i(c.value[1],o.get(c.value[0])))return!1;return!0}if(a&&e instanceof Set&&o instanceof Set){if(e.size!==o.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!o.has(c.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(o)){if((s=e.length)!=o.length)return!1;for(c=s;0!=c--;)if(e[c]!==o[c])return!1;return!0}if(e.constructor===RegExp)return e.source===o.source&&e.flags===o.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof o.valueOf)return e.valueOf()===o.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof o.toString)return e.toString()===o.toString();if((s=(l=Object.keys(e)).length)!==Object.keys(o).length)return!1;for(c=s;0!=c--;)if(!Object.prototype.hasOwnProperty.call(o,l[c]))return!1;if(t&&e instanceof Element)return!1;for(c=s;0!=c--;)if(("_owner"!==l[c]&&"__v"!==l[c]&&"__o"!==l[c]||!e.$$typeof)&&!i(e[l[c]],o[l[c]]))return!1;return!0}return e!=e&&o!=o}e.exports=function(e,t){try{return i(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},9005:(e,t,n)=>{"use strict";n.d(t,{mg:()=>X,vd:()=>V});var a=n(3696),r=n(2688),i=n.n(r),o=n(7383),s=n.n(o),c=n(2091),l=n.n(c),u=n(5317),p=n.n(u);function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},d.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function h(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t.indexOf(n=i[a])>=0||(r[n]=e[n]);return r}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map((function(e){return g[e]})),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(S).reduce((function(e,t){return e[S[t]]=t,e}),{}),k=function(e,t){for(var n=e.length-1;n>=0;n-=1){var a=e[n];if(Object.prototype.hasOwnProperty.call(a,t))return a[t]}return null},_=function(e){var t=k(e,g.TITLE),n=k(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var a=k(e,"defaultTitle");return t||a||void 0},E=function(e){return k(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return d({},e,t)}),{})},P=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var a=Object.keys(n),r=0;r<a.length;r+=1){var i=a[r].toLowerCase();if(-1!==e.indexOf(i)&&n[i])return t.concat(n)}return t}),[])},A=function(e,t,n){var a={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var r={};n.filter((function(e){for(var n,i=Object.keys(e),o=0;o<i.length;o+=1){var s=i[o],c=s.toLowerCase();-1===t.indexOf(c)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===c&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var l=e[n].toLowerCase();return a[n]||(a[n]={}),r[n]||(r[n]={}),!a[n][l]&&(r[n][l]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var i=Object.keys(r),o=0;o<i.length;o+=1){var s=i[o],c=d({},a[s],r[s]);a[s]=c}return e}),[]).reverse()},O=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},j=function(e){return Array.isArray(e)?e.join(""):e},T=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),a=0;a<n.length;a+=1)if(t[n[a]]&&t[n[a]].includes(e[n[a]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},R=function(e,t){var n;return d({},e,((n={})[t]=void 0,n))},I=[g.NOSCRIPT,g.SCRIPT,g.STYLE],D=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},L=function(e){return Object.keys(e).reduce((function(t,n){var a=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+a:a}),"")},M=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[S[n]||n]=e[n],t}),t)},N=function(e,t){return t.map((function(t,n){var r,i=((r={key:n})["data-rh"]=!0,r);return Object.keys(t).forEach((function(e){var n=S[e]||e;"innerHTML"===n||"cssText"===n?i.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:i[n]=t[e]})),a.createElement(e,i)}))},F=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(r={key:e=t.title})["data-rh"]=!0,i=M(n,r),[a.createElement(g.TITLE,i,e)];var e,n,r,i},toString:function(){return function(e,t,n,a){var r=L(n),i=j(t);return r?"<"+e+' data-rh="true" '+r+">"+D(i,a)+"</"+e+">":"<"+e+' data-rh="true">'+D(i,a)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return M(t)},toString:function(){return L(t)}};default:return{toComponent:function(){return N(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,a){var r=Object.keys(a).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var r=void 0===a[t]?t:t+'="'+D(a[t],n)+'"';return e?e+" "+r:r}),""),i=a.innerHTML||a.cssText||"",o=-1===I.indexOf(e);return t+"<"+e+' data-rh="true" '+r+(o?"/>":">"+i+"</"+e+">")}),"")}(e,t,n)}}}},B=function(e){var t=e.baseTag,n=e.bodyAttributes,a=e.encode,r=e.htmlAttributes,i=e.noscriptTags,o=e.styleTags,s=e.title,c=void 0===s?"":s,l=e.titleAttributes,u=e.linkTags,p=e.metaTags,d=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,a=e.encode,r=T(e.metaTags,v),i=T(t,b),o=T(n,y);return{priorityMethods:{toComponent:function(){return[].concat(N(g.META,r.priority),N(g.LINK,i.priority),N(g.SCRIPT,o.priority))},toString:function(){return F(g.META,r.priority,a)+" "+F(g.LINK,i.priority,a)+" "+F(g.SCRIPT,o.priority,a)}},metaTags:r.default,linkTags:i.default,scriptTags:o.default}}(e);f=m.priorityMethods,u=m.linkTags,p=m.metaTags,d=m.scriptTags}return{priority:f,base:F(g.BASE,t,a),bodyAttributes:F("bodyAttributes",n,a),htmlAttributes:F("htmlAttributes",r,a),link:F(g.LINK,u,a),meta:F(g.META,p,a),noscript:F(g.NOSCRIPT,i,a),script:F(g.SCRIPT,d,a),style:F(g.STYLE,o,a),title:F(g.TITLE,{title:c,titleAttributes:l},a)}},z=[],U=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?z:n.instances},add:function(e){(n.canUseDOM?z:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?z:n.instances).indexOf(e);(n.canUseDOM?z:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=B({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},q=a.createContext({}),H=i().shape({setHelmet:i().func,helmetInstances:i().shape({get:i().func,add:i().func,remove:i().func})}),$="undefined"!=typeof document,V=function(e){function t(n){var a;return(a=e.call(this,n)||this).helmetData=new U(a.props.context,t.canUseDOM),a}return f(t,e),t.prototype.render=function(){return a.createElement(q.Provider,{value:this.helmetData.value},this.props.children)},t}(a.Component);V.canUseDOM=$,V.propTypes={context:i().shape({helmet:i().shape()}),children:i().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var W=function(e,t){var n,a=document.head||document.querySelector(g.HEAD),r=a.querySelectorAll(e+"[data-rh]"),i=[].slice.call(r),o=[];return t&&t.length&&t.forEach((function(t){var a=document.createElement(e);for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&("innerHTML"===r?a.innerHTML=t.innerHTML:"cssText"===r?a.styleSheet?a.styleSheet.cssText=t.cssText:a.appendChild(document.createTextNode(t.cssText)):a.setAttribute(r,void 0===t[r]?"":t[r]));a.setAttribute("data-rh","true"),i.some((function(e,t){return n=t,a.isEqualNode(e)}))?i.splice(n,1):o.push(a)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return a.appendChild(e)})),{oldTags:i,newTags:o}},G=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var a=n.getAttribute("data-rh"),r=a?a.split(","):[],i=[].concat(r),o=Object.keys(t),s=0;s<o.length;s+=1){var c=o[s],l=t[c]||"";n.getAttribute(c)!==l&&n.setAttribute(c,l),-1===r.indexOf(c)&&r.push(c);var u=i.indexOf(c);-1!==u&&i.splice(u,1)}for(var p=i.length-1;p>=0;p-=1)n.removeAttribute(i[p]);r.length===i.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==o.join(",")&&n.setAttribute("data-rh",o.join(","))}},K=function(e,t){var n=e.baseTag,a=e.htmlAttributes,r=e.linkTags,i=e.metaTags,o=e.noscriptTags,s=e.onChangeClientState,c=e.scriptTags,l=e.styleTags,u=e.title,p=e.titleAttributes;G(g.BODY,e.bodyAttributes),G(g.HTML,a),function(e,t){void 0!==e&&document.title!==e&&(document.title=j(e)),G(g.TITLE,t)}(u,p);var d={baseTag:W(g.BASE,n),linkTags:W(g.LINK,r),metaTags:W(g.META,i),noscriptTags:W(g.NOSCRIPT,o),scriptTags:W(g.SCRIPT,c),styleTags:W(g.STYLE,l)},f={},m={};Object.keys(d).forEach((function(e){var t=d[e],n=t.newTags,a=t.oldTags;n.length&&(f[e]=n),a.length&&(m[e]=d[e].oldTags)})),t&&t(),s(e,f,m)},Q=null,J=function(e){function t(){for(var t,n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return(t=e.call.apply(e,[this].concat(a))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!p()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,a=n.setHelmet,r=null,i=(e=n.helmetInstances.get().map((function(e){var t=d({},e.props);return delete t.context,t})),{baseTag:P(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:k(e,"defer"),encode:k(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:A(g.LINK,["rel","href"],e),metaTags:A(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:A(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:A(g.SCRIPT,["src","innerHTML"],e),styleTags:A(g.STYLE,["cssText"],e),title:_(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:O(e,"prioritizeSeoTags")});V.canUseDOM?(t=i,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){K(t,(function(){Q=null}))})):(K(t),Q=null)):B&&(r=B(i)),a(r)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(a.Component);J.propTypes={context:H.isRequired},J.displayName="HelmetDispatcher";var Y=["children"],Z=["children"],X=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(R(this.props,"helmetData"),R(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,a=e.arrayTypeChildren;return d({},a,((t={})[n.type]=[].concat(a[n.type]||[],[d({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,a=e.child,r=e.newProps,i=e.newChildProps,o=e.nestedChildren;switch(a.type){case g.TITLE:return d({},r,((t={})[a.type]=o,t.titleAttributes=d({},i),t));case g.BODY:return d({},r,{bodyAttributes:d({},i)});case g.HTML:return d({},r,{htmlAttributes:d({},i)});default:return d({},r,((n={})[a.type]=d({},i),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=d({},t);return Object.keys(e).forEach((function(t){var a;n=d({},n,((a={})[t]=e[t],a))})),n},n.warnOnInvalidChildren=function(e,t){return l()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),l()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,r={};return a.Children.forEach(e,(function(e){if(e&&e.props){var a=e.props,i=a.children,o=h(a,Y),s=Object.keys(o).reduce((function(e,t){return e[x[t]||t]=o[t],e}),{}),c=e.type;switch("symbol"==typeof c?c=c.toString():n.warnOnInvalidChildren(e,i),c){case g.FRAGMENT:t=n.mapChildrenToProps(i,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:s,nestedChildren:i});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:i})}}})),this.mapArrayTypeChildrenToProps(r,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,Z),r=d({},n),i=n.helmetData;return t&&(r=this.mapChildrenToProps(t,r)),!i||i instanceof U||(i=new U(i.context,i.instances)),i?a.createElement(J,d({},r,{context:i.value,helmetData:void 0})):a.createElement(q.Consumer,null,(function(e){return a.createElement(J,d({},r,{context:e}))}))},t}(a.Component);X.propTypes={base:i().object,bodyAttributes:i().object,children:i().oneOfType([i().arrayOf(i().node),i().node]),defaultTitle:i().string,defer:i().bool,encodeSpecialCharacters:i().bool,htmlAttributes:i().object,link:i().arrayOf(i().object),meta:i().arrayOf(i().object),noscript:i().arrayOf(i().object),onChangeClientState:i().func,script:i().arrayOf(i().object),style:i().arrayOf(i().object),title:i().string,titleAttributes:i().object,titleTemplate:i().string,prioritizeSeoTags:i().bool,helmetData:i().object},X.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},X.displayName="Helmet"},7303:(e,t,n)=>{"use strict";function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}var s=n(3696),c=[],l=[];var u=s.createContext(null);function p(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function d(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(a){var r=p(e[a]);r.loading?t.loading=!0:(t.loaded[a]=r.loaded,t.error=r.error),n.push(r.promise),r.promise.then((function(e){t.loaded[a]=e})).catch((function(e){t.error=e}))}))}catch(a){t.error=a}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var p,d;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=o({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),h=null;function g(){return h||(h=e(m.loader)),h.promise}return c.push(g),"function"==typeof m.webpack&&l.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),d=p=function(t){function n(n){var a;return i(r(r(a=t.call(this,n)||this)),"retry",(function(){a.setState({error:null,loading:!0,timedOut:!1}),h=e(m.loader),a._loadModule()})),g(),a.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},a}a(n,t),n.preload=function(){return g()};var o=n.prototype;return o.UNSAFE_componentWillMount=function(){this._loadModule()},o.componentDidMount=function(){this._mounted=!0},o._loadModule=function(){var e=this;if(this.context&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},o.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},o._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},o.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),i(p,"contextType",u),d}function h(e){return m(p,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(d,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}return a(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}h.Capture=g,h.preloadAll=function(){return new Promise((function(e,t){b(c).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){b(l).then(e,e)}))},e.exports=h},3971:(e,t,n)=>{"use strict";n.d(t,{u:()=>o,v:()=>s});var a=n(9519),r=n(8102),i=n(3696);function o(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var r=e.path?(0,a.B6)(t,e):n.length?n[n.length-1].match:a.Ix.computeRootMatch(t);return r&&(n.push({route:e,match:r}),e.routes&&o(e.routes,t,n)),r})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?i.createElement(a.dO,n,e.map((function(e,n){return i.createElement(a.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,r.A)({},n,{},t,{route:e})):i.createElement(e.component,(0,r.A)({},n,t,{route:e}))}})}))):null}},9941:(e,t,n)=>{"use strict";n.d(t,{I9:()=>p,Kd:()=>u,N_:()=>b,k2:()=>w});var a=n(9519),r=n(1146),i=n(3696),o=n(6941),s=n(8102),c=n(9257),l=n(6143),u=function(e){function t(){for(var t,n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return(t=e.call.apply(e,[this].concat(a))||this).history=(0,o.zR)(t.props),t}return(0,r.A)(t,e),t.prototype.render=function(){return i.createElement(a.Ix,{history:this.history,children:this.props.children})},t}(i.Component);var p=function(e){function t(){for(var t,n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return(t=e.call.apply(e,[this].concat(a))||this).history=(0,o.TM)(t.props),t}return(0,r.A)(t,e),t.prototype.render=function(){return i.createElement(a.Ix,{history:this.history,children:this.props.children})},t}(i.Component);var d=function(e,t){return"function"==typeof e?e(t):e},f=function(e,t){return"string"==typeof e?(0,o.yJ)(e,null,null,t):e},m=function(e){return e},h=i.forwardRef;void 0===h&&(h=m);var g=h((function(e,t){var n=e.innerRef,a=e.navigate,r=e.onClick,o=(0,c.A)(e,["innerRef","navigate","onClick"]),l=o.target,u=(0,s.A)({},o,{onClick:function(e){try{r&&r(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||l&&"_self"!==l||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),a())}});return u.ref=m!==h&&t||n,i.createElement("a",u)}));var b=h((function(e,t){var n=e.component,r=void 0===n?g:n,u=e.replace,p=e.to,b=e.innerRef,y=(0,c.A)(e,["component","replace","to","innerRef"]);return i.createElement(a.XZ.Consumer,null,(function(e){e||(0,l.A)(!1);var n=e.history,a=f(d(p,e.location),e.location),c=a?n.createHref(a):"",g=(0,s.A)({},y,{href:c,navigate:function(){var t=d(p,e.location),a=(0,o.AO)(e.location)===(0,o.AO)(f(t));(u||a?n.replace:n.push)(t)}});return m!==h?g.ref=t||b:g.innerRef=b,i.createElement(r,g)}))})),y=function(e){return e},v=i.forwardRef;void 0===v&&(v=y);var w=v((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,o=e.activeClassName,u=void 0===o?"active":o,p=e.activeStyle,m=e.className,h=e.exact,g=e.isActive,w=e.location,S=e.sensitive,x=e.strict,k=e.style,_=e.to,E=e.innerRef,C=(0,c.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return i.createElement(a.XZ.Consumer,null,(function(e){e||(0,l.A)(!1);var n=w||e.location,o=f(d(_,n),n),c=o.pathname,P=c&&c.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),A=P?(0,a.B6)(n.pathname,{path:P,exact:h,sensitive:S,strict:x}):null,O=!!(g?g(A,n):A),j="function"==typeof m?m(O):m,T="function"==typeof k?k(O):k;O&&(j=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(j,u),T=(0,s.A)({},T,p));var R=(0,s.A)({"aria-current":O&&r||null,className:j,style:T,to:o},C);return y!==v?R.ref=t||E:R.innerRef=E,i.createElement(b,R)}))}))},9519:(e,t,n)=>{"use strict";n.d(t,{B6:()=>k,Ix:()=>v,W6:()=>R,XZ:()=>y,dO:()=>j,qh:()=>_,zy:()=>I});var a=n(1146),r=n(3696),i=n(2688),o=n.n(i),s=n(6941),c=n(6143),l=n(8102),u=n(8853),p=n.n(u),d=(n(1680),n(9257)),f=(n(8486),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=r.createContext||function(e,t){var n,i,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",c=function(e){function n(){for(var t,n,a,r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(t=e.call.apply(e,[this].concat(i))||this).emitter=(n=t.props.value,a=[],{on:function(e){a.push(e)},off:function(e){a=a.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,a.forEach((function(e){return e(n,t)}))}}),t}(0,a.A)(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,a=this.props.value,r=e.value;((i=a)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)?n=0:(n="function"==typeof t?t(a,r):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var i,o},r.render=function(){return this.props.children},n}(r.Component);c.childContextTypes=((n={})[s]=o().object.isRequired,n);var l=function(t){function n(){for(var e,n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return(e=t.call.apply(t,[this].concat(a))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,a.A)(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},r.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},r.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},r.getValue=function(){return this.context[s]?this.context[s].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return l.contextTypes=((i={})[s]=o().object,i),{Provider:c,Consumer:l}},g=function(e){var t=h();return t.displayName=e,t},b=g("Router-History"),y=g("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,a.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return r.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},r.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(r.Component);r.Component;r.Component;var w={},S=1e4,x=0;function k(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,a=n.path,r=n.exact,i=void 0!==r&&r,o=n.strict,s=void 0!==o&&o,c=n.sensitive,l=void 0!==c&&c;return[].concat(a).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var a=function(e,t){var n=""+t.end+t.strict+t.sensitive,a=w[n]||(w[n]={});if(a[e])return a[e];var r=[],i={regexp:p()(e,r,t),keys:r};return x<S&&(a[e]=i,x++),i}(n,{end:i,strict:s,sensitive:l}),r=a.regexp,o=a.keys,c=r.exec(e);if(!c)return null;var u=c[0],d=c.slice(1),f=e===u;return i&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:o.reduce((function(e,t,n){return e[t.name]=d[n],e}),{})}}),null)}var _=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.A)(t,e),t.prototype.render=function(){var e=this;return r.createElement(y.Consumer,null,(function(t){t||(0,c.A)(!1);var n=e.props.location||t.location,a=e.props.computedMatch?e.props.computedMatch:e.props.path?k(n.pathname,e.props):t.match,i=(0,l.A)({},t,{location:n,match:a}),o=e.props,s=o.children,u=o.component,p=o.render;return Array.isArray(s)&&function(e){return 0===r.Children.count(e)}(s)&&(s=null),r.createElement(y.Provider,{value:i},i.match?s?"function"==typeof s?s(i):s:u?r.createElement(u,i):p?p(i):null:"function"==typeof s?s(i):null)}))},t}(r.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,l.A)({},t,{pathname:t.pathname.substr(n.length)})}function P(e){return"string"==typeof e?e:(0,s.AO)(e)}function A(e){return function(){(0,c.A)(!1)}}function O(){}r.Component;var j=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.A)(t,e),t.prototype.render=function(){var e=this;return r.createElement(y.Consumer,null,(function(t){t||(0,c.A)(!1);var n,a,i=e.props.location||t.location;return r.Children.forEach(e.props.children,(function(e){if(null==a&&r.isValidElement(e)){n=e;var o=e.props.path||e.props.from;a=o?k(i.pathname,(0,l.A)({},e.props,{path:o})):t.match}})),a?r.cloneElement(n,{location:i,computedMatch:a}):null}))},t}(r.Component);var T=r.useContext;function R(){return T(b)}function I(){return T(y).location}},2803:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},8853:(e,t,n)=>{var a=n(2803);e.exports=m,e.exports.parse=i,e.exports.compile=function(e,t){return c(i(e,t),t)},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=f;var r=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var n,a=[],i=0,s=0,c="",l=t&&t.delimiter||"/";null!=(n=r.exec(e));){var p=n[0],d=n[1],f=n.index;if(c+=e.slice(s,f),s=f+p.length,d)c+=d[1];else{var m=e[s],h=n[2],g=n[3],b=n[4],y=n[5],v=n[6],w=n[7];c&&(a.push(c),c="");var S=null!=h&&null!=m&&m!==h,x="+"===v||"*"===v,k="?"===v||"*"===v,_=h||l,E=b||y,C=h||("string"==typeof a[a.length-1]?a[a.length-1]:"");a.push({name:g||i++,prefix:h||"",delimiter:_,optional:k,repeat:x,partial:S,asterisk:!!w,pattern:E?u(E):w?".*":o(_,C)})}}return s<e.length&&(c+=e.substr(s)),c&&a.push(c),a}function o(e,t){return!t||t.indexOf(e)>-1?"[^"+l(e)+"]+?":l(t)+"|(?:(?!"+l(t)+")[^"+l(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function c(e,t){for(var n=new Array(e.length),r=0;r<e.length;r++)"object"==typeof e[r]&&(n[r]=new RegExp("^(?:"+e[r].pattern+")$",d(t)));return function(t,r){for(var i="",o=t||{},c=(r||{}).pretty?s:encodeURIComponent,l=0;l<e.length;l++){var u=e[l];if("string"!=typeof u){var p,d=o[u.name];if(null==d){if(u.optional){u.partial&&(i+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(a(d)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(d)+"`");if(0===d.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<d.length;f++){if(p=c(d[f]),!n[l].test(p))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(p)+"`");i+=(0===f?u.prefix:u.delimiter)+p}}else{if(p=u.asterisk?encodeURI(d).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):c(d),!n[l].test(p))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+p+'"');i+=u.prefix+p}}else i+=u}return i}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function p(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function f(e,t,n){a(t)||(n=t||n,t=[]);for(var r=(n=n||{}).strict,i=!1!==n.end,o="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)o+=l(c);else{var u=l(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+u+f+")*"),o+=f=c.optional?c.partial?u+"("+f+")?":"(?:"+u+"("+f+"))?":u+"("+f+")"}}var m=l(n.delimiter||"/"),h=o.slice(-m.length)===m;return r||(o=(h?o.slice(0,-m.length):o)+"(?:"+m+"(?=$))?"),o+=i?"$":r&&h?"":"(?="+m+"|$)",p(new RegExp("^"+o,d(n)),t)}function m(e,t,n){return a(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var a=0;a<n.length;a++)t.push({name:a,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return p(e,t)}(e,t):a(e)?function(e,t,n){for(var a=[],r=0;r<e.length;r++)a.push(m(e[r],t,n).source);return p(new RegExp("(?:"+a.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return f(i(e,n),t,n)}(e,t,n)}},7788:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,a=n?Symbol.for("react.element"):60103,r=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,o=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,p=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case u:case p:case i:case s:case o:case f:return e;default:switch(e=e&&e.$$typeof){case l:case d:case g:case h:case c:return e;default:return t}}case r:return t}}}function x(e){return S(e)===p}},1680:(e,t,n)=>{"use strict";n(7788)},2192:(e,t,n)=>{"use strict";var a=n(3696),r=Symbol.for("react.element"),i=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,n){var a,i={},l=null,u=null;for(a in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,a)&&!c.hasOwnProperty(a)&&(i[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===i[a]&&(i[a]=t[a]);return{$$typeof:r,type:e,key:l,ref:u,props:i,_owner:s.current}}t.Fragment=i,t.jsx=l,t.jsxs=l},4403:(e,t)=>{"use strict";var n=Symbol.for("react.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var w=v.prototype=new y;w.constructor=v,h(w,b.prototype),w.isPureReactComponent=!0;var S=Array.isArray,x=Object.prototype.hasOwnProperty,k={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,a){var r,i={},o=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=""+t.key),t)x.call(t,r)&&!_.hasOwnProperty(r)&&(i[r]=t[r]);var c=arguments.length-2;if(1===c)i.children=a;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];i.children=l}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===i[r]&&(i[r]=c[r]);return{$$typeof:n,type:e,key:o,ref:s,props:i,_owner:k.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var P=/\/+/g;function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function O(e,t,r,i,o){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case a:c=!0}}if(c)return o=o(c=e),e=""===i?"."+A(c,0):i,S(o)?(r="",null!=e&&(r=e.replace(P,"$&/")+"/"),O(o,t,r,"",(function(e){return e}))):null!=o&&(C(o)&&(o=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,r+(!o.key||c&&c.key===o.key?"":(""+o.key).replace(P,"$&/")+"/")+e)),t.push(o)),1;if(c=0,i=""===i?".":i+":",S(e))for(var l=0;l<e.length;l++){var u=i+A(s=e[l],l);c+=O(s,t,r,u,o)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)c+=O(s=s.value,t,r,u=i+A(s,l++),o);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function j(e,t,n){if(null==e)return e;var a=[],r=0;return O(e,a,"","",(function(e){return t.call(n,e,r++)})),a}function T(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var R={current:null},I={transition:null},D={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:I,ReactCurrentOwner:k};function L(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:j,forEach:function(e,t,n){j(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return j(e,(function(){t++})),t},toArray:function(e){return j(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=r,t.Profiler=o,t.PureComponent=v,t.StrictMode=i,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,t.act=L,t.cloneElement=function(e,t,a){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=h({},e.props),i=e.key,o=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,s=k.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)x.call(t,l)&&!_.hasOwnProperty(l)&&(r[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)r.children=a;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];r.children=c}return{$$typeof:n,type:e.type,key:i,ref:o,props:r,_owner:s}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:T}},t.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=I.transition;I.transition={};try{e()}finally{I.transition=t}},t.unstable_act=L,t.useCallback=function(e,t){return R.current.useCallback(e,t)},t.useContext=function(e){return R.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return R.current.useDeferredValue(e)},t.useEffect=function(e,t){return R.current.useEffect(e,t)},t.useId=function(){return R.current.useId()},t.useImperativeHandle=function(e,t,n){return R.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return R.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return R.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return R.current.useMemo(e,t)},t.useReducer=function(e,t,n){return R.current.useReducer(e,t,n)},t.useRef=function(e){return R.current.useRef(e)},t.useState=function(e){return R.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return R.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return R.current.useTransition()},t.version="18.3.1"},3696:(e,t,n)=>{"use strict";e.exports=n(4403)},2540:(e,t,n)=>{"use strict";e.exports=n(2192)},7699:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,r=e[a];if(!(0<i(r,t)))break e;e[a]=t,e[n]=r,n=a}}function a(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,r=e.length,o=r>>>1;a<o;){var s=2*(a+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<r&&0>i(u,c)?(e[a]=u,e[l]=n,a=l):(e[a]=c,e[s]=n,a=s);else{if(!(l<r&&0>i(u,n)))break e;e[a]=u,e[l]=n,a=l}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],p=1,d=null,f=3,m=!1,h=!1,g=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=a(u);null!==t;){if(null===t.callback)r(u);else{if(!(t.startTime<=e))break;r(u),t.sortIndex=t.expirationTime,n(l,t)}t=a(u)}}function S(e){if(g=!1,w(e),!h)if(null!==a(l))h=!0,I(x);else{var t=a(u);null!==t&&D(S,t.startTime-e)}}function x(e,n){h=!1,g&&(g=!1,y(C),C=-1),m=!0;var i=f;try{for(w(n),d=a(l);null!==d&&(!(d.expirationTime>n)||e&&!O());){var o=d.callback;if("function"==typeof o){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?d.callback=s:d===a(l)&&r(l),w(n)}else r(l);d=a(l)}if(null!==d)var c=!0;else{var p=a(u);null!==p&&D(S,p.startTime-n),c=!1}return c}finally{d=null,f=i,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,_=!1,E=null,C=-1,P=5,A=-1;function O(){return!(t.unstable_now()-A<P)}function j(){if(null!==E){var e=t.unstable_now();A=e;var n=!0;try{n=E(!0,e)}finally{n?k():(_=!1,E=null)}}else _=!1}if("function"==typeof v)k=function(){v(j)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,R=T.port2;T.port1.onmessage=j,k=function(){R.postMessage(null)}}else k=function(){b(j,0)};function I(e){E=e,_||(_=!0,k())}function D(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,I(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return a(l)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,r,i){var o=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?o+i:o:i=o,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:p++,callback:r,priorityLevel:e,startTime:i,expirationTime:s=i+s,sortIndex:-1},i>o?(e.sortIndex=i,n(u,e),null===a(l)&&e===a(u)&&(g?(y(C),C=-1):g=!0,D(S,i-o))):(e.sortIndex=s,n(l,e),h||m||(h=!0,I(x))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},1434:(e,t,n)=>{"use strict";e.exports=n(7699)},5317:e=>{e.exports=function(e,t,n,a){var r=n?n.call(a,e,t):void 0;if(void 0!==r)return!!r;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),c=0;c<i.length;c++){var l=i[c];if(!s(l))return!1;var u=e[l],p=t[l];if(!1===(r=n?n.call(a,u,p,l):void 0)||void 0===r&&u!==p)return!1}return!0}},8102:(e,t,n)=>{"use strict";function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},a.apply(null,arguments)}n.d(t,{A:()=>a})},1146:(e,t,n)=>{"use strict";function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,a(e,t)}n.d(t,{A:()=>r})},9257:(e,t,n)=>{"use strict";function a(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;n[a]=e[a]}return n}n.d(t,{A:()=>a})},2689:(e,t,n)=>{"use strict";function a(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=a(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}n.d(t,{A:()=>r});const r=function(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=a(e))&&(r&&(r+=" "),r+=t);return r}},9256:(e,t,n)=>{"use strict";function a(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=a(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}n.d(t,{A:()=>r});const r=function(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=a(e))&&(r&&(r+=" "),r+=t);return r}},3915:(e,t,n)=>{"use strict";n.d(t,{f4:()=>Y,My:()=>x});var a=n(3696);function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}const i=function(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a};var o,s,c=Object.create,l=Object.defineProperty,u=Object.defineProperties,p=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertyNames,m=Object.getOwnPropertySymbols,h=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,y=(e,t,n)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v=(e,t)=>{for(var n in t||(t={}))g.call(t,n)&&y(e,n,t[n]);if(m)for(var n of m(t))b.call(t,n)&&y(e,n,t[n]);return e},w=(e,t)=>u(e,d(t)),S=(e,t)=>{var n={};for(var a in e)g.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&m)for(var a of m(e))t.indexOf(a)<0&&b.call(e,a)&&(n[a]=e[a]);return n},x=((e,t,n)=>(n=null!=e?c(h(e)):{},((e,t,n,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of f(t))g.call(e,r)||r===n||l(e,r,{get:()=>t[r],enumerable:!(a=p(t,r))||a.enumerable});return e})(!t&&e&&e.__esModule?n:l(n,"default",{value:e,enumerable:!0}),e)))((o={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},a={util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var r,i;switch(n=n||{},a.util.type(t)){case"Object":if(i=a.util.objId(t),n[i])return n[i];for(var o in r={},n[i]=r,t)t.hasOwnProperty(o)&&(r[o]=e(t[o],n));return r;case"Array":return i=a.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach((function(t,a){r[a]=e(t,n)})),r);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var a="no-"+t;e;){var r=e.classList;if(r.contains(t))return!0;if(r.contains(a))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=a.util.clone(a.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){var i=(r=r||a.languages)[e],o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==t)for(var c in n)n.hasOwnProperty(c)&&(o[c]=n[c]);n.hasOwnProperty(s)||(o[s]=i[s])}var l=r[e];return r[e]=o,a.languages.DFS(a.languages,(function(t,n){n===l&&t!=e&&(this[t]=o)})),o},DFS:function e(t,n,r,i){i=i||{};var o=a.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],r||s);var c=t[s],l=a.util.type(c);"Object"!==l||i[o(c)]?"Array"!==l||i[o(c)]||(i[o(c)]=!0,e(c,n,s,i)):(i[o(c)]=!0,e(c,n,null,i))}}},plugins:{},highlight:function(e,t,n){var i={code:e,grammar:t,language:n};if(a.hooks.run("before-tokenize",i),!i.grammar)throw new Error('The language "'+i.language+'" has no grammar.');return i.tokens=a.tokenize(i.code,i.grammar),a.hooks.run("after-tokenize",i),r.stringify(a.util.encode(i.tokens),i.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var a in n)t[a]=n[a];delete t.rest}var r=new s;return c(r,r.head,e),o(e,r,t,r.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(r)},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var r,i=0;r=n[i++];)r(t)}},Token:r};function r(e,t,n,a){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length}function i(e,t,n,a){e.lastIndex=t;var r=e.exec(n);if(r&&a&&r[1]){var i=r[1].length;r.index+=i,r[0]=r[0].slice(i)}return r}function o(e,t,n,s,u,p){for(var d in n)if(n.hasOwnProperty(d)&&n[d]){var f=n[d];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(p&&p.cause==d+","+m)return;var h=f[m],g=h.inside,b=!!h.lookbehind,y=!!h.greedy,v=h.alias;if(y&&!h.pattern.global){var w=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,w+"g")}for(var S=h.pattern||h,x=s.next,k=u;x!==t.tail&&!(p&&k>=p.reach);k+=x.value.length,x=x.next){var _=x.value;if(t.length>e.length)return;if(!(_ instanceof r)){var E,C=1;if(y){if(!(E=i(S,k,e,b))||E.index>=e.length)break;var P=E.index,A=E.index+E[0].length,O=k;for(O+=x.value.length;P>=O;)O+=(x=x.next).value.length;if(k=O-=x.value.length,x.value instanceof r)continue;for(var j=x;j!==t.tail&&(O<A||"string"==typeof j.value);j=j.next)C++,O+=j.value.length;C--,_=e.slice(k,O),E.index-=k}else if(!(E=i(S,0,_,b)))continue;P=E.index;var T=E[0],R=_.slice(0,P),I=_.slice(P+T.length),D=k+_.length;p&&D>p.reach&&(p.reach=D);var L=x.prev;if(R&&(L=c(t,L,R),k+=R.length),l(t,L,C),x=c(t,L,new r(d,g?a.tokenize(T,g):T,v,T)),I&&c(t,x,I),C>1){var M={cause:d+","+m,reach:D};o(e,t,n,x.prev,k,M),p&&M.reach>p.reach&&(p.reach=M.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var a=t.next,r={value:n,prev:t,next:a};return t.next=r,a.prev=r,e.length++,r}function l(e,t,n){for(var a=t.next,r=0;r<n&&a!==e.tail;r++)a=a.next;t.next=a,a.prev=t,e.length-=r}return r.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach((function(t){r+=e(t,n)})),r}var i={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(i.classes,o):i.classes.push(o)),a.hooks.run("wrap",i);var s="";for(var c in i.attributes)s+=" "+c+'="'+(i.attributes[c]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+s+">"+i.content+"</"+i.tag+">"},a}();t.exports=n,n.default=n}},function(){return s||(0,o[f(o)[0]])((s={exports:{}}).exports,s),s.exports})());x.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},x.languages.markup.tag.inside["attr-value"].inside.entity=x.languages.markup.entity,x.languages.markup.doctype.inside["internal-subset"].inside=x.languages.markup,x.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(x.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:x.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:x.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},x.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(x.languages.markup.tag,"addAttribute",{value:function(e,t){x.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:x.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),x.languages.html=x.languages.markup,x.languages.mathml=x.languages.markup,x.languages.svg=x.languages.markup,x.languages.xml=x.languages.extend("markup",{}),x.languages.ssml=x.languages.xml,x.languages.atom=x.languages.xml,x.languages.rss=x.languages.xml,function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,a="(?:[^\\\\-]|"+n.source+")",r=(a=RegExp(a+"-"+a),{pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"});e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:a,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":r}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":r}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}}(x),x.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},x.languages.javascript=x.languages.extend("clike",{"class-name":[x.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),x.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,x.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:x.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:x.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:x.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:x.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:x.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),x.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:x.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),x.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),x.languages.markup&&(x.languages.markup.tag.addInlined("script","javascript"),x.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),x.languages.js=x.languages.javascript,x.languages.actionscript=x.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),x.languages.actionscript["class-name"].alias="function",delete x.languages.actionscript.parameter,delete x.languages.actionscript["literal-property"],x.languages.markup&&x.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:x.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(x),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var a=function(e){e.inside||(e.inside={}),e.inside.rest=n},r="doc-comment";if(i=e.languages[t]){var i,o=i[r];if((o=o||(i=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[r])instanceof RegExp&&(o=i[r]={pattern:o}),Array.isArray(o))for(var s=0,c=o.length;s<c;s++)o[s]instanceof RegExp&&(o[s]={pattern:o[s]}),a(o[s]);else a(o)}}))}}),t.addSupport(["java","javascript","php"],t)}(x),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(x),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(x),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,a="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",r=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return a})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return a}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return a})).replace(/<<key>>/g,(function(){return"(?:"+r+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(x),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,r=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return a})),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,o=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+r+i+"(?:"+r+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+r+i+")(?:"+r+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+r+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+r+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,a=t.length;n<a;n++){var r,i=t[n];"code"!==i.type?e(i.content):(r=i.content[1],i=i.content[3],r&&i&&"code-language"===r.type&&"code-block"===i.type&&"string"==typeof r.content&&(r=r.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),r="language-"+(r=(/[a-z][\w-]*/i.exec(r)||[""])[0].toLowerCase()),i.alias?"string"==typeof i.alias?i.alias=[i.alias,r]:i.alias.push(r):i.alias=[r]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",a=0,r=t.classes.length;a<r;a++){var i=t.classes[a];if(i=/language-(.+)/.exec(i)){n=i[1];break}}var l,u=e.languages[n];u?t.content=e.highlight(t.content.replace(o,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),c(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(l="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=l,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(l);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(x),x.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:x.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},x.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var a=t[n++];if("keyword"===a.type&&"mutation"===a.content){var r=[];if(p(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var i=d(/^\($/,/^\)$/);if(-1===i)continue;for(;n<i;n++){var o=u(0);"variable"===o.type&&(f(o,"variable-input"),r.push(o.content))}n=i+1}if(p(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<r.length)){var s=d(/^\{$/,/^\}$/);if(-1!==s)for(var c=n;c<s;c++){var l=t[c];"variable"===l.type&&0<=r.indexOf(l.content)&&f(l,"variable-input")}}}}function u(e){return t[n+e]}function p(e,t){t=t||0;for(var n=0;n<e.length;n++){var a=u(n+t);if(!a||a.type!==e[n])return}return 1}function d(e,a){for(var r=1,i=n;i<t.length;i++){var o=t[i],s=o.content;if("punctuation"===o.type&&"string"==typeof s)if(e.test(s))r++;else if(a.test(s)&&0==--r)return i}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),x.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,a=t.inside.interpolation,r=a.inside["interpolation-punctuation"],i=a.pattern.source;function o(t,a){if(e.languages[t])return{pattern:RegExp("((?:"+a+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,a){return t={code:t,grammar:n,language:a},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function c(t,n,o){var c=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),l=0,u={},p=(c=s(c.map((function(e){if("string"==typeof e)return e;var n,a;for(e=e.content;-1!==t.indexOf((a=l++,n="___"+o.toUpperCase()+"_"+a+"___")););return u[n]=e,n})).join(""),n,o),Object.keys(u));return l=0,function t(n){for(var i=0;i<n.length;i++){if(l>=p.length)return;var o,c,d,f,m,h,g,b=n[i];"string"==typeof b||"string"==typeof b.content?(o=p[l],-1!==(g=(h="string"==typeof b?b:b.content).indexOf(o))&&(++l,c=h.substring(0,g),m=u[o],d=void 0,(f={})["interpolation-punctuation"]=r,3===(f=e.tokenize(m,f)).length&&((d=[1,1]).push.apply(d,s(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,d)),d=new e.Token("interpolation",f,a.alias,m),f=h.substring(g+o.length),m=[],c&&m.push(c),m.push(d),f&&(t(h=[f]),m.push.apply(m,h)),"string"==typeof b?(n.splice.apply(n,[i,1].concat(m)),i+=m.length-1):b.content=m)):(g=b.content,Array.isArray(g)?t(g):t([g]))}}(c),new e.Token(o,c,"language-"+o,t)}e.languages.javascript["template-string"]=[o("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),o("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),o("svg",/\bsvg/.source),o("markdown",/\b(?:markdown|md)/.source),o("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),o("sql",/\bsql/.source),t].filter(Boolean);var l={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in l&&function t(n){for(var a=0,r=n.length;a<r;a++){var i,o,s,l=n[a];"string"!=typeof l&&(i=l.content,Array.isArray(i)?"template-string"===l.type?(l=i[1],3===i.length&&"string"!=typeof l&&"embedded-code"===l.type&&(o=u(l),l=l.alias,l=Array.isArray(l)?l[0]:l,s=e.languages[l])&&(i[1]=c(o,s,l))):t(i):"string"!=typeof i&&t([i]))}}(t.tokens)}))}(x),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(x),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,a="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(a+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(a+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(x),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(x),x.languages.n4js=x.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),x.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),x.languages.n4jsd=x.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],a=0;a<n.length;a++){var r=n[a],i=e.languages.javascript[r];r=(i="RegExp"===e.util.type(i)?e.languages.javascript[r]={pattern:i}:i).inside||{};(i.inside=r)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(x),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,a=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,r=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return a})).replace(/<SPREAD>/g,(function(){return r})),RegExp(e,t)}function o(t){for(var n=[],a=0;a<t.length;a++){var r=t[a],i=!1;"string"!=typeof r&&("tag"===r.type&&r.content[0]&&"tag"===r.content[0].type?"</"===r.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(r.content[0].content[1])&&n.pop():"/>"!==r.content[r.content.length-1].content&&n.push({tagName:s(r.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===r.type&&"{"===r.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===r.type&&"}"===r.content?n[n.length-1].openedBraces--:i=!0),(i||"string"==typeof r)&&0<n.length&&0===n[n.length-1].openedBraces&&(i=s(r),a<t.length-1&&("string"==typeof t[a+1]||"plain-text"===t[a+1].type)&&(i+=s(t[a+1]),t.splice(a+1,1)),0<a&&("string"==typeof t[a-1]||"plain-text"===t[a-1].type)&&(i=s(t[a-1])+i,t.splice(a-1,1),a--),t[a]=new e.Token("plain-text",i,null,i)),r.content&&"string"!=typeof r.content&&o(r.content)}}r=i(r).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||o(e.tokens)}))}(x),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(x),x.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},x.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=x.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(x),x.languages.c=x.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),x.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),x.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},x.languages.c.string],char:x.languages.c.char,comment:x.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:x.languages.c}}}}),x.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete x.languages.c.boolean,x.languages.objectivec=x.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete x.languages.objectivec["class-name"],x.languages.objc=x.languages.objectivec,x.languages.reason=x.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),x.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete x.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(x),x.languages.go=x.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),x.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete x.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(x),x.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},x.languages.python["string-interpolation"].inside.interpolation.inside.rest=x.languages.python,x.languages.py=x.languages.python,x.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},x.languages.webmanifest=x.languages.json;((e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>k,duotoneDark:()=>_,duotoneLight:()=>E,github:()=>C,gruvboxMaterialDark:()=>H,gruvboxMaterialLight:()=>$,jettwaveDark:()=>B,jettwaveLight:()=>z,nightOwl:()=>P,nightOwlLight:()=>A,oceanicNext:()=>T,okaidia:()=>R,oneDark:()=>U,oneLight:()=>q,palenight:()=>I,shadesOfPurple:()=>D,synthwave84:()=>L,ultramin:()=>M,vsDark:()=>N,vsLight:()=>F});var k={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},_={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},E={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},C={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},A={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},O="#c5a5c5",j="#8dc891",T={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:O}},{types:["attr-value"],style:{color:j}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:j}},{types:["punctuation"],style:{color:j}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:O}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},R={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},I={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},D={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},L={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},M={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},N={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},F={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},B={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},z={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},U={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},H={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},$={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},V=/\r\n|\r|\n/,W=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},G=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},K=e=>{const t=[[]],n=[e],a=[0],r=[e.length];let i=0,o=0,s=[];const c=[s];for(;o>-1;){for(;(i=a[o]++)<r[o];){let e,l=t[o];const u=n[o][i];if("string"==typeof u?(l=o>0?l:["plain"],e=u):(l=G(l,u.type),u.alias&&(l=G(l,u.alias)),e=u.content),"string"!=typeof e){o++,t.push(l),n.push(e),a.push(0),r.push(e.length);continue}const p=e.split(V),d=p.length;s.push({types:l,content:p[0]});for(let t=1;t<d;t++)W(s),c.push(s=[]),s.push({types:l,content:p[t]})}o--,t.pop(),n.pop(),a.pop(),r.pop()}return W(s),c},Q=(e,t)=>{const{plain:n}=e,a=e.styles.reduce(((e,n)=>{const{languages:a,style:r}=n;return a&&!a.includes(t)||n.types.forEach((t=>{const n=v(v({},e[t]),r);e[t]=n})),e}),{});return a.root=n,a.plain=w(v({},n),{backgroundColor:void 0}),a},J=({children:e,language:t,code:n,theme:r,prism:o})=>{const s=t.toLowerCase(),c=Q(r,s),l=(e=>(0,a.useCallback)((t=>{var n=t,{className:a,style:r,line:o}=n,s=S(n,["className","style","line"]);const c=w(v({},s),{className:i("token-line",a)});return"object"==typeof e&&"plain"in e&&(c.style=e.plain),"object"==typeof r&&(c.style=v(v({},c.style||{}),r)),c}),[e]))(c),u=(e=>{const t=(0,a.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,a.useCallback)((e=>{var n=e,{token:a,className:r,style:o}=n,s=S(n,["token","className","style"]);const c=w(v({},s),{className:i("token",...a.types,r),children:a.content,style:t(a)});return null!=o&&(c.style=v(v({},c.style||{}),o)),c}),[t])})(c),p=(({prism:e,code:t,grammar:n,language:r})=>(0,a.useMemo)((()=>{if(null==n)return K([t]);const a={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(t,n),e.hooks.run("after-tokenize",a),K(a.tokens)}),[t,n,r,e]))({prism:o,language:s,code:n,grammar:o.languages[s]});return e({tokens:p,className:`prism-code language-${s}`,style:null!=c?c.root:{},getLineProps:l,getTokenProps:u})},Y=e=>(0,a.createElement)(J,w(v({},e),{prism:e.prism||x,theme:e.theme||N,code:e.code,language:e.language}))},6143:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var a=!0,r="Invariant failed";function i(e,t){if(!e){if(a)throw new Error(r);var n="function"==typeof t?t():t,i=n?"".concat(r,": ").concat(n):r;throw new Error(i)}}},4629:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>L,__assign:()=>i,__asyncDelegator:()=>E,__asyncGenerator:()=>_,__asyncValues:()=>C,__await:()=>k,__awaiter:()=>m,__classPrivateFieldGet:()=>R,__classPrivateFieldIn:()=>D,__classPrivateFieldSet:()=>I,__createBinding:()=>g,__decorate:()=>s,__disposeResources:()=>N,__esDecorate:()=>l,__exportStar:()=>b,__extends:()=>r,__generator:()=>h,__importDefault:()=>T,__importStar:()=>j,__makeTemplateObject:()=>P,__metadata:()=>f,__param:()=>c,__propKey:()=>p,__read:()=>v,__rest:()=>o,__rewriteRelativeImportExtension:()=>F,__runInitializers:()=>u,__setFunctionName:()=>d,__spread:()=>w,__spreadArray:()=>x,__spreadArrays:()=>S,__values:()=>y,default:()=>B});var a=function(e,t){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},a(e,t)};function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return i=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},i.apply(this,arguments)};function o(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n}function s(e,t,n,a){var r,i=arguments.length,o=i<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(o=(i<3?r(o):i>3?r(t,n,o):r(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o}function c(e,t){return function(n,a){t(n,a,e)}}function l(e,t,n,a,r,i){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,c=a.kind,l="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?a.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,a.name):{}),d=!1,f=n.length-1;f>=0;f--){var m={};for(var h in a)m[h]="access"===h?{}:a[h];for(var h in a.access)m.access[h]=a.access[h];m.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(e||null))};var g=(0,n[f])("accessor"===c?{get:p.get,set:p.set}:p[l],m);if("accessor"===c){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(s=o(g.get))&&(p.get=s),(s=o(g.set))&&(p.set=s),(s=o(g.init))&&r.unshift(s)}else(s=o(g))&&("field"===c?r.unshift(s):p[l]=s)}u&&Object.defineProperty(u,a.name,p),d=!0}function u(e,t,n){for(var a=arguments.length>2,r=0;r<t.length;r++)n=a?t[r].call(e,n):t[r].call(e);return a?n:void 0}function p(e){return"symbol"==typeof e?e:"".concat(e)}function d(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function f(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,a){return new(n||(n=Promise))((function(r,i){function o(e){try{c(a.next(e))}catch(t){i(t)}}function s(e){try{c(a.throw(e))}catch(t){i(t)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((a=a.apply(e,t||[])).next())}))}function h(e,t){var n,a,r,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(n=1,a&&(r=2&s[0]?a.return:s[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,s[1])).done)return r;switch(a=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,a=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){i.label=s[1];break}if(6===s[0]&&i.label<r[1]){i.label=r[1],r=s;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(s);break}r[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(c){s=[6,c],a=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}var g=Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]};function b(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||g(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],a=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&a>=e.length&&(e=void 0),{value:e&&e[a++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,r,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(a=i.next()).done;)o.push(a.value)}catch(s){r={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return o}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function S(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var a=Array(e),r=0;for(t=0;t<n;t++)for(var i=arguments[t],o=0,s=i.length;o<s;o++,r++)a[r]=i[o];return a}function x(e,t,n){if(n||2===arguments.length)for(var a,r=0,i=t.length;r<i;r++)!a&&r in t||(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}function k(e){return this instanceof k?(this.v=e,this):new k(e)}function _(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a,r=n.apply(e,t||[]),i=[];return a=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",(function(e){return function(t){return Promise.resolve(t).then(e,l)}})),a[Symbol.asyncIterator]=function(){return this},a;function o(e,t){r[e]&&(a[e]=function(t){return new Promise((function(n,a){i.push([e,t,n,a])>1||s(e,t)}))},t&&(a[e]=t(a[e])))}function s(e,t){try{(n=r[e](t)).value instanceof k?Promise.resolve(n.value.v).then(c,l):u(i[0][2],n)}catch(a){u(i[0][3],a)}var n}function c(e){s("next",e)}function l(e){s("throw",e)}function u(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function E(e){var t,n;return t={},a("next"),a("throw",(function(e){throw e})),a("return"),t[Symbol.iterator]=function(){return this},t;function a(a,r){t[a]=e[a]?function(t){return(n=!n)?{value:k(e[a](t)),done:!1}:r?r(t):t}:r}}function C(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},a("next"),a("throw"),a("return"),t[Symbol.asyncIterator]=function(){return this},t);function a(n){t[n]=e[n]&&function(t){return new Promise((function(a,r){(function(e,t,n,a){Promise.resolve(a).then((function(t){e({value:t,done:n})}),t)})(a,r,(t=e[n](t)).done,t.value)}))}}}function P(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var A=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},O=function(e){return O=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},O(e)};function j(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=O(e),a=0;a<n.length;a++)"default"!==n[a]&&g(t,e,n[a]);return A(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function R(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function I(e,t,n,a,r){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?r.call(e,n):r?r.value=n:t.set(e,n),n}function D(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function L(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var a,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");a=t[Symbol.asyncDispose]}if(void 0===a){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");a=t[Symbol.dispose],n&&(r=a)}if("function"!=typeof a)throw new TypeError("Object not disposable.");r&&(a=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:a,async:n})}else n&&e.stack.push({async:!0});return t}var M="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var a=new Error(n);return a.name="SuppressedError",a.error=e,a.suppressed=t,a};function N(e){function t(t){e.error=e.hasError?new M(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,a=0;return function r(){for(;n=e.stack.pop();)try{if(!n.async&&1===a)return a=0,e.stack.push(n),Promise.resolve().then(r);if(n.dispose){var i=n.dispose.call(n.value);if(n.async)return a|=2,Promise.resolve(i).then(r,(function(e){return t(e),r()}))}else a|=1}catch(o){t(o)}if(1===a)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function F(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,(function(e,n,a,r,i){return n?t?".jsx":".js":!a||r&&i?a+r+"."+i.toLowerCase()+"js":e})):e}const B={__extends:r,__assign:i,__rest:o,__decorate:s,__param:c,__esDecorate:l,__runInitializers:u,__propKey:p,__setFunctionName:d,__metadata:f,__awaiter:m,__generator:h,__createBinding:g,__exportStar:b,__values:y,__read:v,__spread:w,__spreadArrays:S,__spreadArray:x,__await:k,__asyncGenerator:_,__asyncDelegator:E,__asyncValues:C,__makeTemplateObject:P,__importStar:j,__importDefault:T,__classPrivateFieldGet:R,__classPrivateFieldSet:I,__classPrivateFieldIn:D,__addDisposableResource:L,__disposeResources:N,__rewriteRelativeImportExtension:F}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={title:"IMA.js",tagline:"A Javascript framework for creating isomorphic applications.",url:"https://imajs.io",baseUrl:"/",onBrokenLinks:"warn",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.ico",organizationName:"seznam",projectName:"ima",plugins:[["docusaurus-plugin-typedoc",{entryPoints:["../packages/cli","../packages/core","../packages/react-page-renderer","../packages/dev-utils","../packages/plugin-cli"],entryPointStrategy:"packages",includeVersion:!0,categorizeByGroup:!0,cleanOutputDir:!0,jsDocCompatibility:!0,exclude:"index",readme:"none",out:"../docs/api",sidebar:{fullNames:!0}}]],presets:[["classic",{docs:{breadcrumbs:!1,path:"../docs",showLastUpdateTime:!0,showLastUpdateAuthor:!0,routeBasePath:"/",sidebarPath:"/home/runner/work/ima/ima/website/sidebars.js",editUrl:"https://github.com/seznam/ima/tree/master/docs",remarkPlugins:[[null,{sync:!0}]]},pages:{path:"src/pages",routeBasePath:"/",include:["**/*.{js,jsx,ts,tsx,md,mdx}"]},theme:{customCss:"/home/runner/work/ima/ima/website/src/css/custom.css"},sitemap:{changefreq:"weekly",priority:.5,ignorePatterns:["/tags/**"],filename:"sitemap.xml"}}]],themeConfig:{algolia:{appId:"H3HJGI4FWU",apiKey:"9afc43748aad4ed8acb6968a0b5473d0",indexName:"imajs",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},navbar:{title:"IMA.js",logo:{alt:"IMA.js, Isomorphic application in javascript",src:"img/logo.svg"},items:[{type:"doc",docId:"introduction/getting-started",position:"right",label:"Docs"},{type:"doc",docId:"tutorial/introduction",position:"right",label:"Tutorial"},{to:"api",position:"right",label:"API"},{type:"search",position:"right"},{href:"https://github.com/seznam/ima",className:"header-github-link",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"light",copyright:"Copyright \xa9 1996 - 2025 Seznam.cz a. s.",links:[]},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},tableOfContents:{maxHeadingLevel:4,minHeadingLevel:2},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[]},baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},2654:e=>{"use strict";e.exports={}},4054:e=>{"use strict";e.exports=JSON.parse('{"/search-5de":{"__comp":"1a4e3797","__context":{"plugin":"c141421f"}},"/-070":{"__comp":"9dd8a0d2","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/-279":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/-8e1":{"__comp":"a7bd4aaa","__props":"22dd74f7"},"/-dd4":{"__comp":"a94703ab"},"/advanced-features/dynamic-imports-db9":{"__comp":"17896441","content":"1352a5d9"},"/api/-8a3":{"__comp":"17896441","content":"728bf073"},"/api/@ima/cli/-e2b":{"__comp":"17896441","content":"a96dee6d"},"/api/@ima/cli/functions/compileLanguages-840":{"__comp":"17896441","content":"1e67d591"},"/api/@ima/cli/functions/createCacheKey-ea2":{"__comp":"17896441","content":"3c5ae44f"},"/api/@ima/cli/functions/createDevServerConfig-f47":{"__comp":"17896441","content":"7c2eb169"},"/api/@ima/cli/functions/createWebpackConfig-66a":{"__comp":"17896441","content":"37e10be9"},"/api/@ima/cli/functions/findRules-1cc":{"__comp":"17896441","content":"a1f68851"},"/api/@ima/cli/functions/getCurrentCoreJsVersion-14b":{"__comp":"17896441","content":"a63c3ee5"},"/api/@ima/cli/functions/getLanguageEntryPoints-97a":{"__comp":"17896441","content":"9e01cd16"},"/api/@ima/cli/functions/resolveEnvironment-e2f":{"__comp":"17896441","content":"7c05b1bc"},"/api/@ima/cli/functions/resolveImaConfig-c51":{"__comp":"17896441","content":"8478fc2d"},"/api/@ima/cli/functions/runImaPluginsHook-8d2":{"__comp":"17896441","content":"5731cc15"},"/api/@ima/cli/globals-697":{"__comp":"17896441","content":"b4a62217"},"/api/@ima/cli/interfaces/ImaCliArgs-1d8":{"__comp":"17896441","content":"7de51c8d"},"/api/@ima/cli/interfaces/ImaCliPlugin-47e":{"__comp":"17896441","content":"b6fa5182"},"/api/@ima/cli/interfaces/ImaConfigurationContext-522":{"__comp":"17896441","content":"3d63d319"},"/api/@ima/cli/type-aliases/ImaCliCommand-010":{"__comp":"17896441","content":"023579e4"},"/api/@ima/cli/type-aliases/ImaConfig-730":{"__comp":"17896441","content":"0a435bfc"},"/api/@ima/cli/variables/IMA_CONF_FILENAME-e47":{"__comp":"17896441","content":"bf94dc2c"},"/api/@ima/core/-ff4":{"__comp":"17896441","content":"7cf52bfa"},"/api/@ima/core/classes/AbstractController-5eb":{"__comp":"17896441","content":"08dd9469"},"/api/@ima/core/classes/AbstractExecution-c4a":{"__comp":"17896441","content":"e9289eb0"},"/api/@ima/core/classes/AbstractExtension-941":{"__comp":"17896441","content":"4db42fa4"},"/api/@ima/core/classes/AbstractPageManager-c48":{"__comp":"17896441","content":"de246b9b"},"/api/@ima/core/classes/AbstractRoute-c06":{"__comp":"17896441","content":"7ccec149"},"/api/@ima/core/classes/AbstractRouter-699":{"__comp":"17896441","content":"0e0c957d"},"/api/@ima/core/classes/Bootstrap-f34":{"__comp":"17896441","content":"ce9f7c01"},"/api/@ima/core/classes/Cache-de2":{"__comp":"17896441","content":"c361505b"},"/api/@ima/core/classes/CacheEntry-f29":{"__comp":"17896441","content":"c0442aea"},"/api/@ima/core/classes/CacheFactory-3da":{"__comp":"17896441","content":"da71292b"},"/api/@ima/core/classes/CacheImpl-7ea":{"__comp":"17896441","content":"286e48de"},"/api/@ima/core/classes/CancelError-1a3":{"__comp":"17896441","content":"67160f26"},"/api/@ima/core/classes/ClientPageManager-be1":{"__comp":"17896441","content":"a314e9a5"},"/api/@ima/core/classes/ClientRouter-276":{"__comp":"17896441","content":"331030ba"},"/api/@ima/core/classes/ClientWindow-f36":{"__comp":"17896441","content":"1f47704f"},"/api/@ima/core/classes/ComponentUtils-7c8":{"__comp":"17896441","content":"2aec711d"},"/api/@ima/core/classes/Controller-bdf":{"__comp":"17896441","content":"94e396b7"},"/api/@ima/core/classes/ControllerDecorator-4e6":{"__comp":"17896441","content":"bd95ca4e"},"/api/@ima/core/classes/CookieStorage-355":{"__comp":"17896441","content":"ab2f38e9"},"/api/@ima/core/classes/Dictionary-2cb":{"__comp":"17896441","content":"f2aee5d1"},"/api/@ima/core/classes/Dispatcher-652":{"__comp":"17896441","content":"1e7da5b4"},"/api/@ima/core/classes/DispatcherImpl-bce":{"__comp":"17896441","content":"7a547ad0"},"/api/@ima/core/classes/DynamicRoute-837":{"__comp":"17896441","content":"51dd6e12"},"/api/@ima/core/classes/Entry-369":{"__comp":"17896441","content":"30bfce74"},"/api/@ima/core/classes/Error-225":{"__comp":"17896441","content":"0c33a80b"},"/api/@ima/core/classes/EventBus-729":{"__comp":"17896441","content":"ff313a9b"},"/api/@ima/core/classes/EventBusImpl-b58":{"__comp":"17896441","content":"f4da79e9"},"/api/@ima/core/classes/Execution-2f9":{"__comp":"17896441","content":"c050cf1d"},"/api/@ima/core/classes/Extension-a42":{"__comp":"17896441","content":"f4d80e61"},"/api/@ima/core/classes/GenericError-9f7":{"__comp":"17896441","content":"747520ea"},"/api/@ima/core/classes/HttpAgent-dde":{"__comp":"17896441","content":"87d053ee"},"/api/@ima/core/classes/HttpAgentImpl-037":{"__comp":"17896441","content":"1f21f457"},"/api/@ima/core/classes/HttpProxy-304":{"__comp":"17896441","content":"e9e6b51f"},"/api/@ima/core/classes/MapStorage-295":{"__comp":"17896441","content":"a8d83bd5"},"/api/@ima/core/classes/MessageFormatDictionary-8b1":{"__comp":"17896441","content":"3e704a63"},"/api/@ima/core/classes/MetaManager-c1a":{"__comp":"17896441","content":"813302f7"},"/api/@ima/core/classes/MetaManagerImpl-3a4":{"__comp":"17896441","content":"3e749104"},"/api/@ima/core/classes/Namespace-d82":{"__comp":"17896441","content":"4d54b06c"},"/api/@ima/core/classes/ObjectContainer-55a":{"__comp":"17896441","content":"e05bec59"},"/api/@ima/core/classes/Observable-427":{"__comp":"17896441","content":"e02467ce"},"/api/@ima/core/classes/ObservableImpl-650":{"__comp":"17896441","content":"dc4d3b05"},"/api/@ima/core/classes/PageFactory-cbf":{"__comp":"17896441","content":"5e6674c6"},"/api/@ima/core/classes/PageHandler-829":{"__comp":"17896441","content":"6ff7da37"},"/api/@ima/core/classes/PageHandlerRegistry-daf":{"__comp":"17896441","content":"0406843b"},"/api/@ima/core/classes/PageManager-be3":{"__comp":"17896441","content":"de6b82fb"},"/api/@ima/core/classes/PageMetaHandler-21c":{"__comp":"17896441","content":"5ce95ba0"},"/api/@ima/core/classes/PageNavigationHandler-e69":{"__comp":"17896441","content":"5c52d73f"},"/api/@ima/core/classes/PageRenderer-99f":{"__comp":"17896441","content":"9577b207"},"/api/@ima/core/classes/PageStateManager-7ae":{"__comp":"17896441","content":"c3d83163"},"/api/@ima/core/classes/PageStateManagerDecorator-ed9":{"__comp":"17896441","content":"636475bd"},"/api/@ima/core/classes/PageStateManagerImpl-e01":{"__comp":"17896441","content":"757a5f49"},"/api/@ima/core/classes/PluginLoader-b45":{"__comp":"17896441","content":"48673dc0"},"/api/@ima/core/classes/Request-83f":{"__comp":"17896441","content":"9af0878b"},"/api/@ima/core/classes/Response-f02":{"__comp":"17896441","content":"bbfe74ec"},"/api/@ima/core/classes/RouteFactory-ff6":{"__comp":"17896441","content":"7581cadb"},"/api/@ima/core/classes/Router-047":{"__comp":"17896441","content":"77404de2"},"/api/@ima/core/classes/SerialBatch-f92":{"__comp":"17896441","content":"4f34213b"},"/api/@ima/core/classes/ServerPageManager-449":{"__comp":"17896441","content":"30e917a1"},"/api/@ima/core/classes/ServerRouter-938":{"__comp":"17896441","content":"73933150"},"/api/@ima/core/classes/ServerWindow-5f1":{"__comp":"17896441","content":"f8a31429"},"/api/@ima/core/classes/SessionMapStorage-590":{"__comp":"17896441","content":"a14022e5"},"/api/@ima/core/classes/SessionStorage-697":{"__comp":"17896441","content":"8cb3e257"},"/api/@ima/core/classes/StaticRoute-ead":{"__comp":"17896441","content":"054b3444"},"/api/@ima/core/classes/Storage-e64":{"__comp":"17896441","content":"3b749563"},"/api/@ima/core/classes/UrlTransformer-8f7":{"__comp":"17896441","content":"22fe3d7c"},"/api/@ima/core/classes/WeakMapStorage-e4d":{"__comp":"17896441","content":"60d7bbfa"},"/api/@ima/core/classes/Window-b37":{"__comp":"17896441","content":"dd0dae3b"},"/api/@ima/core/enumerations/ActionTypes-518":{"__comp":"17896441","content":"e80bbda2"},"/api/@ima/core/enumerations/BindingState-305":{"__comp":"17896441","content":"2d4b099c"},"/api/@ima/core/enumerations/HttpStatusCode-8bb":{"__comp":"17896441","content":"b52cec2f"},"/api/@ima/core/enumerations/RendererEvents-6e5":{"__comp":"17896441","content":"be7e6daf"},"/api/@ima/core/enumerations/RendererTypes-b83":{"__comp":"17896441","content":"23f92eae"},"/api/@ima/core/enumerations/RouteNames-52e":{"__comp":"17896441","content":"d15bf737"},"/api/@ima/core/enumerations/RouterEvents-ebe":{"__comp":"17896441","content":"79275fc0"},"/api/@ima/core/enumerations/StateEvents-7f8":{"__comp":"17896441","content":"6302158a"},"/api/@ima/core/functions/bootClientApp-87d":{"__comp":"17896441","content":"f644150e"},"/api/@ima/core/functions/createImaApp-163":{"__comp":"17896441","content":"85517bd9"},"/api/@ima/core/functions/getClientBootConfig-403":{"__comp":"17896441","content":"fbe0eb09"},"/api/@ima/core/functions/getInitialImaConfigFunctions-962":{"__comp":"17896441","content":"5ef21807"},"/api/@ima/core/functions/getInitialPluginConfig-b92":{"__comp":"17896441","content":"5adb7293"},"/api/@ima/core/functions/getNamespace-9d6":{"__comp":"17896441","content":"c4faeb28"},"/api/@ima/core/functions/onLoad-f8f":{"__comp":"17896441","content":"5a8bc785"},"/api/@ima/core/functions/reviveClientApp-196":{"__comp":"17896441","content":"109df5a2"},"/api/@ima/core/functions/routeClientApp-c47":{"__comp":"17896441","content":"1f992b54"},"/api/@ima/core/globals-2a8":{"__comp":"17896441","content":"a58b1ccc"},"/api/@ima/core/interfaces/AppEnvironment-2a8":{"__comp":"17896441","content":"db366989"},"/api/@ima/core/interfaces/BootConfig-4ef":{"__comp":"17896441","content":"8c0ac720"},"/api/@ima/core/interfaces/BootServices-a9f":{"__comp":"17896441","content":"fe637ad5"},"/api/@ima/core/interfaces/DictionaryMap-2a4":{"__comp":"17896441","content":"da721fe9"},"/api/@ima/core/interfaces/DispatcherEventsMap-dcb":{"__comp":"17896441","content":"b4c18e0e"},"/api/@ima/core/interfaces/Environment-a4b":{"__comp":"17896441","content":"34832b8e"},"/api/@ima/core/interfaces/GlobalImaObject-236":{"__comp":"17896441","content":"1a0a7d21"},"/api/@ima/core/interfaces/HttpAgentRequestOptions-d50":{"__comp":"17896441","content":"339f6683"},"/api/@ima/core/interfaces/ImaRequestInit-b3c":{"__comp":"17896441","content":"da389e98"},"/api/@ima/core/interfaces/InitAppConfig-489":{"__comp":"17896441","content":"7e7703ab"},"/api/@ima/core/interfaces/InitImaConfig-00b":{"__comp":"17896441","content":"b34664f9"},"/api/@ima/core/interfaces/InitPluginConfig-b2c":{"__comp":"17896441","content":"1bdefe9f"},"/api/@ima/core/interfaces/Manifest-3fc":{"__comp":"17896441","content":"fb8d9da6"},"/api/@ima/core/interfaces/ManifestAsset-9af":{"__comp":"17896441","content":"5b5d1bef"},"/api/@ima/core/interfaces/OCAliasMap-e6b":{"__comp":"17896441","content":"050b426e"},"/api/@ima/core/interfaces/PageAction-6b7":{"__comp":"17896441","content":"530991c8"},"/api/@ima/core/interfaces/PageRendererSettings-b8c":{"__comp":"17896441","content":"517b2119"},"/api/@ima/core/interfaces/Resources-50d":{"__comp":"17896441","content":"b63b1a1f"},"/api/@ima/core/interfaces/RouteAction-b76":{"__comp":"17896441","content":"1d236428"},"/api/@ima/core/interfaces/RouteFactoryOptions-e4f":{"__comp":"17896441","content":"3aa5d059"},"/api/@ima/core/interfaces/RouteLocals-e54":{"__comp":"17896441","content":"c391e67c"},"/api/@ima/core/interfaces/RouteOptions-ac0":{"__comp":"17896441","content":"2dbe7023"},"/api/@ima/core/interfaces/Settings-01d":{"__comp":"17896441","content":"73c687f7"},"/api/@ima/core/interfaces/Utils-3e7":{"__comp":"17896441","content":"2c6faea6"},"/api/@ima/core/interfaces/WindowCustomEventsMap-a5a":{"__comp":"17896441","content":"f3847fe3"},"/api/@ima/core/type-aliases/AnyParameters-2f9":{"__comp":"17896441","content":"10eac14e"},"/api/@ima/core/type-aliases/AppSettings-228":{"__comp":"17896441","content":"50a0dccc"},"/api/@ima/core/type-aliases/AsyncRouteController-907":{"__comp":"17896441","content":"2b78a965"},"/api/@ima/core/type-aliases/AsyncRouteView-638":{"__comp":"17896441","content":"5009512d"},"/api/@ima/core/type-aliases/BootSettings-963":{"__comp":"17896441","content":"88e6eafe"},"/api/@ima/core/type-aliases/Cookie-642":{"__comp":"17896441","content":"1b1b4238"},"/api/@ima/core/type-aliases/CookieOptions-040":{"__comp":"17896441","content":"989f586f"},"/api/@ima/core/type-aliases/CookieTransformFunction-5a7":{"__comp":"17896441","content":"06f7bddd"},"/api/@ima/core/type-aliases/DecoratedOCAliasMap-7d7":{"__comp":"17896441","content":"9474e170"},"/api/@ima/core/type-aliases/Dependencies-922":{"__comp":"17896441","content":"94def3e0"},"/api/@ima/core/type-aliases/Dependency-73c":{"__comp":"17896441","content":"9b8a95cc"},"/api/@ima/core/type-aliases/DictionaryConfig-161":{"__comp":"17896441","content":"69014fe5"},"/api/@ima/core/type-aliases/DictionaryData-ad4":{"__comp":"17896441","content":"d7c38c55"},"/api/@ima/core/type-aliases/DispatcherListener-79e":{"__comp":"17896441","content":"cfd8246b"},"/api/@ima/core/type-aliases/EntryOptions-a2f":{"__comp":"17896441","content":"1b8d9881"},"/api/@ima/core/type-aliases/EventBusEventHandler-d64":{"__comp":"17896441","content":"d6532ee3"},"/api/@ima/core/type-aliases/EventBusListener-6bd":{"__comp":"17896441","content":"b0d03967"},"/api/@ima/core/type-aliases/EventBusOptions-d0e":{"__comp":"17896441","content":"198995d1"},"/api/@ima/core/type-aliases/ExecutionJob-ef9":{"__comp":"17896441","content":"df55d336"},"/api/@ima/core/type-aliases/GenericErrorParams-298":{"__comp":"17896441","content":"fc738ad7"},"/api/@ima/core/type-aliases/HttpAgentResponse-e2a":{"__comp":"17896441","content":"4cfd18d6"},"/api/@ima/core/type-aliases/HttpProxyErrorParams-62b":{"__comp":"17896441","content":"98bec0c5"},"/api/@ima/core/type-aliases/HttpProxyRequestParams-5c3":{"__comp":"17896441","content":"388bb84c"},"/api/@ima/core/type-aliases/InitBindFunction-974":{"__comp":"17896441","content":"14d23109"},"/api/@ima/core/type-aliases/InitRoutesFunction-b90":{"__comp":"17896441","content":"f0633975"},"/api/@ima/core/type-aliases/InitServicesFunction-8de":{"__comp":"17896441","content":"c5cbe7ce"},"/api/@ima/core/type-aliases/InitSettingsFunction-d6f":{"__comp":"17896441","content":"0e4d1180"},"/api/@ima/core/type-aliases/LoadedResources-b77":{"__comp":"17896441","content":"7ce2633c"},"/api/@ima/core/type-aliases/LocalizationFunction-978":{"__comp":"17896441","content":"53160cfc"},"/api/@ima/core/type-aliases/ManageArgs-9ec":{"__comp":"17896441","content":"0be7a9d3"},"/api/@ima/core/type-aliases/ManagedPage-2ed":{"__comp":"17896441","content":"b27d79ec"},"/api/@ima/core/type-aliases/MetaAttributes-2a0":{"__comp":"17896441","content":"81875af5"},"/api/@ima/core/type-aliases/MetaManagerRecord-989":{"__comp":"17896441","content":"1af54293"},"/api/@ima/core/type-aliases/MetaManagerRecordKeys-b86":{"__comp":"17896441","content":"0436c729"},"/api/@ima/core/type-aliases/MetaValue-88d":{"__comp":"17896441","content":"a9e53e63"},"/api/@ima/core/type-aliases/NativeListener-46a":{"__comp":"17896441","content":"fcb7ea42"},"/api/@ima/core/type-aliases/ObjectParameters-c7b":{"__comp":"17896441","content":"0735edb8"},"/api/@ima/core/type-aliases/OCInjectable-f1f":{"__comp":"17896441","content":"f462a191"},"/api/@ima/core/type-aliases/OCInstance-4f2":{"__comp":"17896441","content":"715a99ae"},"/api/@ima/core/type-aliases/OCInstanceConstrain-0f4":{"__comp":"17896441","content":"23b7ba02"},"/api/@ima/core/type-aliases/PageData-b62":{"__comp":"17896441","content":"8defe7f5"},"/api/@ima/core/type-aliases/PageState-ca3":{"__comp":"17896441","content":"afb1371e"},"/api/@ima/core/type-aliases/PluginInitBindFunction-705":{"__comp":"17896441","content":"991f8d4c"},"/api/@ima/core/type-aliases/PluginInitServicesFunction-54b":{"__comp":"17896441","content":"7b9bed65"},"/api/@ima/core/type-aliases/PluginInitSettingsFunction-aab":{"__comp":"17896441","content":"6c6626f0"},"/api/@ima/core/type-aliases/Resource-77e":{"__comp":"17896441","content":"7b5f680e"},"/api/@ima/core/type-aliases/RouteController-158":{"__comp":"17896441","content":"2939e2fe"},"/api/@ima/core/type-aliases/RouteParams-46a":{"__comp":"17896441","content":"5ec8820d"},"/api/@ima/core/type-aliases/RoutePathExpression-68e":{"__comp":"17896441","content":"17b7345f"},"/api/@ima/core/type-aliases/RouterMiddleware-3f8":{"__comp":"17896441","content":"2d78be1f"},"/api/@ima/core/type-aliases/RouteView-cf2":{"__comp":"17896441","content":"f3b1218a"},"/api/@ima/core/type-aliases/SerializedCacheEntry-65a":{"__comp":"17896441","content":"de443fde"},"/api/@ima/core/type-aliases/SerializedData-666":{"__comp":"17896441","content":"05c167b5"},"/api/@ima/core/type-aliases/StringParameters-21e":{"__comp":"17896441","content":"d72b9e96"},"/api/@ima/core/type-aliases/UnknownParameters-432":{"__comp":"17896441","content":"e5d5c0ae"},"/api/@ima/core/type-aliases/UnknownPromiseParameters-17d":{"__comp":"17896441","content":"d13bdcde"},"/api/@ima/core/type-aliases/WindowEventTargets-490":{"__comp":"17896441","content":"8f92c1e6"},"/api/@ima/core/type-aliases/WindowEventTargetsMap-0b1":{"__comp":"17896441","content":"db691710"},"/api/@ima/core/variables/ns-94d":{"__comp":"17896441","content":"f2953143"},"/api/@ima/core/variables/pluginLoader-eee":{"__comp":"17896441","content":"6857e688"},"/api/@ima/dev-utils/-ee7":{"__comp":"17896441","content":"30081c14"},"/api/@ima/dev-utils/classes/Logger-4ec":{"__comp":"17896441","content":"b788ae02"},"/api/@ima/dev-utils/functions/createLogger-660":{"__comp":"17896441","content":"5b490090"},"/api/@ima/dev-utils/functions/createSourceFragment-1f2":{"__comp":"17896441","content":"35f8904a"},"/api/@ima/dev-utils/functions/extractSourceMappingUrl-1c1":{"__comp":"17896441","content":"45f28deb"},"/api/@ima/dev-utils/functions/formatError-3a8":{"__comp":"17896441","content":"6d5b6e0a"},"/api/@ima/dev-utils/functions/getSource-462":{"__comp":"17896441","content":"b2160db6"},"/api/@ima/dev-utils/functions/parseCompileError-d0b":{"__comp":"17896441","content":"247d659b"},"/api/@ima/dev-utils/functions/parseError-aa3":{"__comp":"17896441","content":"ebba7519"},"/api/@ima/dev-utils/functions/printTime-ea1":{"__comp":"17896441","content":"6ff345d3"},"/api/@ima/dev-utils/functions/resolveErrorType-3bb":{"__comp":"17896441","content":"0d30e104"},"/api/@ima/dev-utils/functions/time-5fd":{"__comp":"17896441","content":"0095d48c"},"/api/@ima/dev-utils/globals-be2":{"__comp":"17896441","content":"3c604595"},"/api/@ima/dev-utils/interfaces/CompileError-464":{"__comp":"17896441","content":"b1612cd7"},"/api/@ima/dev-utils/interfaces/FragmentLine-ae6":{"__comp":"17896441","content":"0d60f290"},"/api/@ima/dev-utils/interfaces/LoggerOptions-7bc":{"__comp":"17896441","content":"2a1789c8"},"/api/@ima/dev-utils/type-aliases/ParsedErrorData-dfa":{"__comp":"17896441","content":"42dbe6f3"},"/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_RE-4fd":{"__comp":"17896441","content":"e329cf1d"},"/api/@ima/dev-utils/variables/logger-dda":{"__comp":"17896441","content":"9f7752b8"},"/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URL-d71":{"__comp":"17896441","content":"f872beed"},"/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROME-9da":{"__comp":"17896441","content":"2c4916d9"},"/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOX-8a7":{"__comp":"17896441","content":"c6c9d087"},"/api/@ima/plugin-cli/-28e":{"__comp":"17896441","content":"a383d2c3"},"/api/@ima/plugin-cli/functions/preprocessTransformer-a48":{"__comp":"17896441","content":"2d3b3d7d"},"/api/@ima/plugin-cli/functions/swcTransformer-2b5":{"__comp":"17896441","content":"79a22100"},"/api/@ima/plugin-cli/functions/typescriptDeclarationsPlugin-522":{"__comp":"17896441","content":"999756ce"},"/api/@ima/plugin-cli/globals-d71":{"__comp":"17896441","content":"3237d59a"},"/api/@ima/plugin-cli/interfaces/Context-282":{"__comp":"17896441","content":"dfd43dc8"},"/api/@ima/plugin-cli/interfaces/ImaPluginConfig-fd9":{"__comp":"17896441","content":"737af32c"},"/api/@ima/plugin-cli/interfaces/PipeContext-358":{"__comp":"17896441","content":"5920c8e7"},"/api/@ima/plugin-cli/interfaces/Source-45f":{"__comp":"17896441","content":"3ee3a507"},"/api/@ima/plugin-cli/type-aliases/Command-f5f":{"__comp":"17896441","content":"d9946c37"},"/api/@ima/plugin-cli/type-aliases/Plugin-4fd":{"__comp":"17896441","content":"6073fa13"},"/api/@ima/plugin-cli/type-aliases/Transformer-a92":{"__comp":"17896441","content":"93ce8178"},"/api/@ima/plugin-cli/type-aliases/TransformerOptions-3d3":{"__comp":"17896441","content":"1a187b39"},"/api/@ima/plugin-cli/variables/clientServerConfig-0ee":{"__comp":"17896441","content":"5342d644"},"/api/@ima/plugin-cli/variables/defaultConfig-e3a":{"__comp":"17896441","content":"71f6bba6"},"/api/@ima/plugin-cli/variables/nodeConfig-cb1":{"__comp":"17896441","content":"66307371"},"/api/@ima/react-page-renderer/-5cc":{"__comp":"17896441","content":"4a35f728"},"/api/@ima/react-page-renderer/classes/AbstractComponent-9b2":{"__comp":"17896441","content":"24176970"},"/api/@ima/react-page-renderer/classes/AbstractPureComponent-bb5":{"__comp":"17896441","content":"58ed6817"},"/api/@ima/react-page-renderer/classes/BlankManagedRootView-ea9":{"__comp":"17896441","content":"beb73144"},"/api/@ima/react-page-renderer/classes/ErrorBoundary-280":{"__comp":"17896441","content":"cff55af7"},"/api/@ima/react-page-renderer/classes/PageRendererFactory-d48":{"__comp":"17896441","content":"3e4ac49e"},"/api/@ima/react-page-renderer/classes/ServerPageRenderer-2e7":{"__comp":"17896441","content":"ff164e89"},"/api/@ima/react-page-renderer/classes/ViewAdapter-1f3":{"__comp":"17896441","content":"9e2a34cf"},"/api/@ima/react-page-renderer/functions/cssClasses-7c5":{"__comp":"17896441","content":"5a8313eb"},"/api/@ima/react-page-renderer/functions/defaultCssClasses-230":{"__comp":"17896441","content":"97c639d7"},"/api/@ima/react-page-renderer/functions/fire-585":{"__comp":"17896441","content":"fc5d92fc"},"/api/@ima/react-page-renderer/functions/getUtils-4b8":{"__comp":"17896441","content":"bf028727"},"/api/@ima/react-page-renderer/functions/link-611":{"__comp":"17896441","content":"dc79edcf"},"/api/@ima/react-page-renderer/functions/listen-3e8":{"__comp":"17896441","content":"72b2125c"},"/api/@ima/react-page-renderer/functions/localize-103":{"__comp":"17896441","content":"96c0c5ca"},"/api/@ima/react-page-renderer/functions/unlisten-a1c":{"__comp":"17896441","content":"94a6fc8a"},"/api/@ima/react-page-renderer/functions/useComponent-d42":{"__comp":"17896441","content":"b2a1d6d9"},"/api/@ima/react-page-renderer/functions/useComponentUtils-390":{"__comp":"17896441","content":"58dd8a24"},"/api/@ima/react-page-renderer/functions/useCssClasses-46f":{"__comp":"17896441","content":"611fb728"},"/api/@ima/react-page-renderer/functions/useDispatcher-665":{"__comp":"17896441","content":"6986213d"},"/api/@ima/react-page-renderer/functions/useEventBus-2e2":{"__comp":"17896441","content":"00b0df35"},"/api/@ima/react-page-renderer/functions/useLink-b5d":{"__comp":"17896441","content":"86b813a4"},"/api/@ima/react-page-renderer/functions/useLocalize-c35":{"__comp":"17896441","content":"36520f9b"},"/api/@ima/react-page-renderer/functions/useOnce-806":{"__comp":"17896441","content":"2f4a9057"},"/api/@ima/react-page-renderer/functions/usePageContext-820":{"__comp":"17896441","content":"5bc0cc75"},"/api/@ima/react-page-renderer/functions/useSettings-abd":{"__comp":"17896441","content":"b4ec51b8"},"/api/@ima/react-page-renderer/functions/useWindowEvent-e25":{"__comp":"17896441","content":"4c792d2e"},"/api/@ima/react-page-renderer/globals-818":{"__comp":"17896441","content":"c1da0157"},"/api/@ima/react-page-renderer/interfaces/PageContextType-7f8":{"__comp":"17896441","content":"d74bb0e7"},"/api/@ima/react-page-renderer/interfaces/useComponentType-65a":{"__comp":"17896441","content":"77cf719a"},"/api/@ima/react-page-renderer/interfaces/useDispatcherType-98a":{"__comp":"17896441","content":"2fbd0ada"},"/api/@ima/react-page-renderer/interfaces/useEventBusType-7df":{"__comp":"17896441","content":"4fdd7ffa"},"/api/@ima/react-page-renderer/interfaces/ViewAdapterProps-392":{"__comp":"17896441","content":"dc583b00"},"/api/@ima/react-page-renderer/variables/PageContext-441":{"__comp":"17896441","content":"99233437"},"/basic-features/controller-lifecycle-c7c":{"__comp":"17896441","content":"934bc43e"},"/basic-features/data-fetching-74f":{"__comp":"17896441","content":"6527a706"},"/basic-features/dictionary-2a6":{"__comp":"17896441","content":"284c0bdc"},"/basic-features/error-handling-686":{"__comp":"17896441","content":"f747c071"},"/basic-features/events-bd2":{"__comp":"17896441","content":"b03cb8d5"},"/basic-features/extensions-6cf":{"__comp":"17896441","content":"c7fb0ffe"},"/basic-features/handling-scripts-and-styles-eca":{"__comp":"17896441","content":"9e4a7547"},"/basic-features/object-container-24a":{"__comp":"17896441","content":"21ee5e18"},"/basic-features/page-manager-284":{"__comp":"17896441","content":"162a65f7"},"/basic-features/page-state-629":{"__comp":"17896441","content":"327389ac"},"/basic-features/rendering-process-ae2":{"__comp":"17896441","content":"798d67f4"},"/basic-features/routing/async-routing-296":{"__comp":"17896441","content":"1ba2ef78"},"/basic-features/routing/dynamic-routes-089":{"__comp":"17896441","content":"658a263b"},"/basic-features/routing/introduction-cfb":{"__comp":"17896441","content":"25aeb21c"},"/basic-features/routing/middlewares-a29":{"__comp":"17896441","content":"a1fa3683"},"/basic-features/seo-and-meta-manager-dcf":{"__comp":"17896441","content":"fc65f0be"},"/basic-features/testing-9a6":{"__comp":"17896441","content":"6ae61f9d"},"/basic-features/typescript-582":{"__comp":"17896441","content":"046a2c8d"},"/basic-features/views-and-components-cf2":{"__comp":"17896441","content":"54f60d95"},"/cli/-dfd":{"__comp":"17896441","content":"23f47465"},"/cli/additional-features-d8e":{"__comp":"17896441","content":"87f53564"},"/cli/advanced-features-015":{"__comp":"17896441","content":"e25ffe8c"},"/cli/cli-plugins-api-595":{"__comp":"17896441","content":"3c01549e"},"/cli/compiler-features-bcd":{"__comp":"17896441","content":"d0063a96"},"/cli/ima-config-js-988":{"__comp":"17896441","content":"cd4295eb"},"/cli/plugins/analyze-plugin-29a":{"__comp":"17896441","content":"2ece5d09"},"/cli/plugins/less-constants-plugin-f25":{"__comp":"17896441","content":"83bd1dfb"},"/cli/plugins/scramble-css-plugin-d01":{"__comp":"17896441","content":"a3814d4a"},"/contributing/how-to-contribute-3c0":{"__comp":"17896441","content":"6a7c6930"},"/devtools/devtools-introduction-6e2":{"__comp":"17896441","content":"585f1245"},"/devtools/devtools-options-bd2":{"__comp":"17896441","content":"f42f2945"},"/devtools/devtools-ui-4ed":{"__comp":"17896441","content":"7dab2b4a"},"/introduction/configuration-070":{"__comp":"17896441","content":"fe1eb9bc"},"/introduction/getting-started-25f":{"__comp":"17896441","content":"7132be39"},"/migration/migration-0.14.0-1c9":{"__comp":"17896441","content":"82fa5401"},"/migration/migration-0.15.0-dfe":{"__comp":"17896441","content":"33fd58a6"},"/migration/migration-0.16.0-404":{"__comp":"17896441","content":"f2d0b182"},"/migration/migration-17.0.0-37b":{"__comp":"17896441","content":"2fa7fbb9"},"/migration/migration-18.0.0-12b":{"__comp":"17896441","content":"201713f2"},"/migration/migration-19.0.0-49d":{"__comp":"17896441","content":"506f4e3c"},"/plugins/available-plugins-31c":{"__comp":"17896441","content":"d0a2dc9c"},"/plugins/plugin-api-5f3":{"__comp":"17896441","content":"4cabad03"},"/tutorial/adding-some-state-e96":{"__comp":"17896441","content":"f33aa945"},"/tutorial/fetching-data-488":{"__comp":"17896441","content":"da5c5c21"},"/tutorial/final-polish-529":{"__comp":"17896441","content":"9e3f3c76"},"/tutorial/introduction-e19":{"__comp":"17896441","content":"8ec7ae24"},"/tutorial/static-view-b63":{"__comp":"17896441","content":"54d95e21"},"/tutorial/writing-posts-43d":{"__comp":"17896441","content":"50f70a8b"}}')}},e=>{e.O(0,[1869],(()=>{return t=9861,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.113fcdc4.js.LICENSE.txt b/assets/js/main.e30e3004.js.LICENSE.txt similarity index 61% rename from assets/js/main.113fcdc4.js.LICENSE.txt rename to assets/js/main.e30e3004.js.LICENSE.txt index 74930a9aa..91dc89499 100644 --- a/assets/js/main.113fcdc4.js.LICENSE.txt +++ b/assets/js/main.e30e3004.js.LICENSE.txt @@ -1,12 +1,19 @@ -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT */ +/*! Bundled license information: + +prismjs/prism.js: + (** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + *) +*/ + /** * @license React * react-dom.production.min.js @@ -19,7 +26,7 @@ object-assign /** * @license React - * scheduler.production.min.js + * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * @@ -29,7 +36,7 @@ object-assign /** * @license React - * use-sync-external-store-shim.production.min.js + * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * @@ -38,15 +45,7 @@ object-assign */ /** - * Prism: Lightweight, robust, elegant syntax highlighting - * - * @license MIT <https://opensource.org/licenses/MIT> - * @author Lea Verou <https://lea.verou.me> - * @namespace - * @public - */ - -/** @license React v0.20.2 + * @license React * scheduler.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. @@ -63,21 +62,3 @@ object-assign * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ - -/** @license React v17.0.2 - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** @license React v17.0.2 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/assets/js/runtime~main.23086692.js b/assets/js/runtime~main.23086692.js deleted file mode 100644 index c808dbe4b..000000000 --- a/assets/js/runtime~main.23086692.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){f=e[i][0],c=e[i][1],d=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({1:"83bd1dfb",35:"968740e1",48:"6089708e",53:"12a940f3",57:"18ba1c5e",73:"d3f37276",103:"6ae61f9d",140:"6a7c6930",195:"13512aaf",216:"3c40fb45",240:"3410d364",308:"54d95e21",338:"5401ed5c",369:"b40f4eed",376:"f747c071",440:"094a494b",442:"f20b9f24",470:"deb892ed",633:"33fd58a6",686:"0b304565",716:"435e6e8a",732:"1ae9d490",854:"dc7901fe",880:"173fd68b",905:"3149f580",920:"2fa7fbb9",1041:"192c90c3",1073:"d0a2dc9c",1094:"cf9cb426",1121:"59e9decf",1198:"01fc3ad9",1238:"f2d0b182",1273:"c0d8042e",1412:"798d67f4",1441:"8c1bb129",1495:"327389ac",1558:"7c2f5bb0",1568:"10617864",1603:"4a07765f",1607:"f3bc0fbd",1670:"db94485c",1690:"321fbd12",1778:"658a263b",1788:"8ec7ae24",1820:"fe1eb9bc",1894:"2ece5d09",1916:"c7fb0ffe",1956:"fc65f0be",1965:"1bd618df",2125:"1ae6f9c3",2138:"1a4e3797",2171:"72a309aa",2183:"4d5af51b",2195:"487a916d",2235:"aefc0c3a",2401:"44cf4fdc",2456:"6520cedf",2497:"cdea063f",2542:"25accc40",2667:"6527a706",2715:"212e3b5d",2785:"f33aa945",2808:"a59d7f05",2901:"585f1245",2922:"cd24e9bf",2965:"153c616c",2979:"0915269d",3007:"284c0bdc",3087:"106127c8",3097:"4cabad03",3099:"10a88b42",3128:"ab2e5842",3187:"d9f67a67",3267:"7500682d",3317:"16feba69",3403:"162a65f7",3426:"7dab2b4a",3478:"61e14e81",3491:"525a1f42",3685:"046a2c8d",3794:"30c3cb5b",3864:"934bc43e",3905:"bffc20a2",4255:"151b6e84",4258:"728bf073",4263:"3fb1a119",4355:"1ba2ef78",4485:"6af56cb1",4517:"805384b8",4554:"63ced45c",4633:"6bff6b59",4671:"e19de693",4791:"9e4a7547",4821:"da5c5c21",4857:"2ca52c80",4866:"327aa04a",5083:"42be0be8",5084:"0e14dc68",5100:"ec3413e1",5115:"11611510",5223:"5e7d82a6",5230:"c69312c2",5239:"ac0ebe99",5257:"6dfadff3",5301:"81d07132",5324:"82fa5401",5400:"ac1b1cf0",5547:"21ee5e18",5682:"3834631c",5693:"48d92cf8",5747:"a5ac8c5f",5784:"755ee4a1",5847:"cd4295eb",5990:"48fa096e",6032:"2c83167a",6098:"23f47465",6114:"54f60d95",6191:"53ddc8eb",6206:"67f04688",6261:"9294f473",6263:"f219100a",6316:"a394c21d",6373:"1352a5d9",6380:"a570e4e4",6432:"27a3d74a",6463:"b03cb8d5",6538:"45e185c2",6554:"70db71fd",6586:"a2c3b390",6589:"57a07ec0",6632:"eb04481e",6636:"98990be4",6686:"83e0a767",6711:"e28793d2",6807:"e25ffe8c",6954:"0b497735",6979:"d5dd36e5",7071:"94bace71",7084:"d0063a96",7184:"087d9a97",7303:"e06953e7",7363:"a3814d4a",7584:"10f85a35",7598:"91f1837b",7638:"0f7684f2",7645:"3c01549e",7675:"9e3f3c76",7704:"5dc5c8af",7750:"7af7958b",7757:"68d1a169",7894:"25aeb21c",8044:"6f7688a7",8117:"87f53564",8167:"506f4e3c",8347:"1d150b43",8369:"cd0a3e0f",8401:"17896441",8415:"7132be39",8427:"67be0ef1",8547:"9c0ba269",8581:"935f2afb",8605:"27b4c996",8617:"9dd8a0d2",8714:"1be78505",8780:"56922005",8799:"ecde905a",8809:"46be744b",8823:"7325f36b",8839:"2e35e39d",8844:"7651edab",8856:"8ed4501f",8868:"6b2b427d",8882:"6669b354",8955:"f42f2945",8984:"c6f16711",9029:"418a1cae",9120:"214956d8",9123:"abceb8ed",9157:"f4795e20",9375:"1afd1704",9541:"201713f2",9567:"9fdfc27e",9600:"70e9fb71",9754:"a1fa3683",9805:"bcef1ffa",9862:"50f70a8b"}[e]||e)+"."+{1:"c336ddb0",35:"eeb4b3ac",48:"8aab24ad",53:"38a2b7eb",57:"dcff89ed",73:"5183b139",103:"81d2fd53",140:"7f60a719",186:"c1288e4d",195:"6e0be524",216:"8afd3117",240:"0547a697",308:"af4b87d0",338:"315b38f0",369:"14d26f37",376:"f71bc630",440:"649159bc",442:"ba134031",470:"0651c018",633:"eaff46d9",686:"382244c9",716:"b97332d0",732:"fb29f575",854:"ff7fbb4c",880:"5706c0c2",905:"b57117fe",920:"c11df398",942:"f88e018c",1041:"b0a2dbdc",1073:"ff826943",1094:"971f883e",1121:"b82cbb84",1198:"786220c5",1238:"a7cf9b40",1273:"a36ed3c9",1412:"d79ffc99",1441:"a2dfc5b1",1495:"d68d11a5",1558:"48862df0",1568:"fc13a992",1603:"908c4c06",1607:"1a5d3afd",1670:"a4ab1b6d",1690:"743a4e70",1774:"ac8a7eec",1778:"5e9ca6ef",1788:"435937a3",1820:"1e1eaad7",1894:"234234f1",1916:"05aa4f41",1956:"a22dfaa4",1965:"76955ff1",2125:"6565ae73",2138:"13cca538",2171:"8a420e38",2183:"06a034a5",2195:"9bc066de",2235:"21f07426",2401:"4aee52d1",2456:"297098ca",2497:"02f23362",2542:"ddb5f479",2667:"16a35576",2715:"dd1ae512",2785:"f0467635",2808:"1de83237",2901:"8fb5543b",2922:"a20d0937",2965:"16d6a061",2979:"42845665",3007:"22c56ea0",3087:"e1e0481c",3097:"78436b0f",3099:"f0151b58",3128:"f7dda99d",3187:"255eec78",3267:"395d2e33",3317:"92465fe1",3403:"96551b59",3426:"e48cd809",3478:"394dcd67",3491:"a8ec02dc",3685:"176dcfc7",3794:"1c1ac8f0",3864:"552c2fa4",3905:"082084e8",4255:"7ce302ed",4258:"02dc6685",4263:"8a1e9a80",4355:"e6659834",4485:"b10acb85",4517:"d6f09f7b",4554:"e2f027e1",4633:"c49e907a",4671:"87cbb1d0",4791:"29bf8240",4821:"5762aa12",4857:"a2aa5422",4866:"3db9469b",5083:"c1603066",5084:"705ab4f1",5100:"d6970f16",5115:"a051ca64",5223:"d268c965",5230:"9c40a064",5239:"f9e8d5a2",5257:"42a29629",5301:"804e5b20",5324:"5d4aef44",5400:"8744d311",5547:"d688b0a7",5682:"e80112c3",5693:"f58307ed",5747:"bd83f006",5784:"5a5715ad",5847:"4d00ddb0",5990:"6047a287",6032:"666a946f",6098:"604d5221",6114:"56e34430",6191:"df2d259f",6206:"c821d63f",6261:"cd4d100c",6263:"4b513d79",6316:"c92e33f7",6373:"7e540209",6380:"9f552de1",6432:"fedcc850",6463:"d15c8406",6538:"e54708e6",6554:"2a4900f7",6586:"29639b48",6589:"20a46fd7",6632:"45f9c2bc",6636:"89994155",6686:"44ef4478",6711:"2561cb40",6807:"52d007cc",6954:"5f133538",6979:"a0ae09ca",7071:"856ea198",7084:"282b39c1",7184:"926b3865",7303:"9439d835",7363:"01aaa1e1",7584:"943e5683",7598:"9c329755",7638:"1ed959d2",7645:"a2129879",7675:"1bcecaa3",7704:"13c4cb7e",7750:"00de80b3",7757:"be73caf9",7894:"1770e9d4",8044:"13372e71",8117:"9fb9d9f6",8167:"0ceadd9b",8347:"2d361014",8369:"423c59d5",8401:"cac09774",8415:"7979ea93",8427:"5810ea6b",8547:"a27a2e36",8581:"a43e7355",8605:"66ec1fe1",8617:"a817e24b",8714:"1c7baf05",8780:"fe04f931",8799:"216a218a",8809:"4a50c0a2",8823:"bd98ed28",8839:"5d588a6c",8844:"5536a2c7",8856:"6397cad5",8868:"d51786b5",8882:"6077bf98",8955:"b8bc33ac",8973:"d9cc157b",8984:"39896055",9029:"07db9ae1",9120:"c2b987c7",9123:"e682c295",9157:"14189363",9375:"ddede8b6",9541:"09bfa377",9567:"676bf97b",9600:"53704eb1",9714:"d6a7fa93",9754:"5aa9b40e",9805:"8f70d21d",9862:"ab64d9cf"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="@ima/docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==d+f){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+f),t.src=e),c[e]=[a];var l=(a,f)=>{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={10617864:"1568",11611510:"5115",17896441:"8401",56922005:"8780","83bd1dfb":"1","968740e1":"35","6089708e":"48","12a940f3":"53","18ba1c5e":"57",d3f37276:"73","6ae61f9d":"103","6a7c6930":"140","13512aaf":"195","3c40fb45":"216","3410d364":"240","54d95e21":"308","5401ed5c":"338",b40f4eed:"369",f747c071:"376","094a494b":"440",f20b9f24:"442",deb892ed:"470","33fd58a6":"633","0b304565":"686","435e6e8a":"716","1ae9d490":"732",dc7901fe:"854","173fd68b":"880","3149f580":"905","2fa7fbb9":"920","192c90c3":"1041",d0a2dc9c:"1073",cf9cb426:"1094","59e9decf":"1121","01fc3ad9":"1198",f2d0b182:"1238",c0d8042e:"1273","798d67f4":"1412","8c1bb129":"1441","327389ac":"1495","7c2f5bb0":"1558","4a07765f":"1603",f3bc0fbd:"1607",db94485c:"1670","321fbd12":"1690","658a263b":"1778","8ec7ae24":"1788",fe1eb9bc:"1820","2ece5d09":"1894",c7fb0ffe:"1916",fc65f0be:"1956","1bd618df":"1965","1ae6f9c3":"2125","1a4e3797":"2138","72a309aa":"2171","4d5af51b":"2183","487a916d":"2195",aefc0c3a:"2235","44cf4fdc":"2401","6520cedf":"2456",cdea063f:"2497","25accc40":"2542","6527a706":"2667","212e3b5d":"2715",f33aa945:"2785",a59d7f05:"2808","585f1245":"2901",cd24e9bf:"2922","153c616c":"2965","0915269d":"2979","284c0bdc":"3007","106127c8":"3087","4cabad03":"3097","10a88b42":"3099",ab2e5842:"3128",d9f67a67:"3187","7500682d":"3267","16feba69":"3317","162a65f7":"3403","7dab2b4a":"3426","61e14e81":"3478","525a1f42":"3491","046a2c8d":"3685","30c3cb5b":"3794","934bc43e":"3864",bffc20a2:"3905","151b6e84":"4255","728bf073":"4258","3fb1a119":"4263","1ba2ef78":"4355","6af56cb1":"4485","805384b8":"4517","63ced45c":"4554","6bff6b59":"4633",e19de693:"4671","9e4a7547":"4791",da5c5c21:"4821","2ca52c80":"4857","327aa04a":"4866","42be0be8":"5083","0e14dc68":"5084",ec3413e1:"5100","5e7d82a6":"5223",c69312c2:"5230",ac0ebe99:"5239","6dfadff3":"5257","81d07132":"5301","82fa5401":"5324",ac1b1cf0:"5400","21ee5e18":"5547","3834631c":"5682","48d92cf8":"5693",a5ac8c5f:"5747","755ee4a1":"5784",cd4295eb:"5847","48fa096e":"5990","2c83167a":"6032","23f47465":"6098","54f60d95":"6114","53ddc8eb":"6191","67f04688":"6206","9294f473":"6261",f219100a:"6263",a394c21d:"6316","1352a5d9":"6373",a570e4e4:"6380","27a3d74a":"6432",b03cb8d5:"6463","45e185c2":"6538","70db71fd":"6554",a2c3b390:"6586","57a07ec0":"6589",eb04481e:"6632","98990be4":"6636","83e0a767":"6686",e28793d2:"6711",e25ffe8c:"6807","0b497735":"6954",d5dd36e5:"6979","94bace71":"7071",d0063a96:"7084","087d9a97":"7184",e06953e7:"7303",a3814d4a:"7363","10f85a35":"7584","91f1837b":"7598","0f7684f2":"7638","3c01549e":"7645","9e3f3c76":"7675","5dc5c8af":"7704","7af7958b":"7750","68d1a169":"7757","25aeb21c":"7894","6f7688a7":"8044","87f53564":"8117","506f4e3c":"8167","1d150b43":"8347",cd0a3e0f:"8369","7132be39":"8415","67be0ef1":"8427","9c0ba269":"8547","935f2afb":"8581","27b4c996":"8605","9dd8a0d2":"8617","1be78505":"8714",ecde905a:"8799","46be744b":"8809","7325f36b":"8823","2e35e39d":"8839","7651edab":"8844","8ed4501f":"8856","6b2b427d":"8868","6669b354":"8882",f42f2945:"8955",c6f16711:"8984","418a1cae":"9029","214956d8":"9120",abceb8ed:"9123",f4795e20:"9157","1afd1704":"9375","201713f2":"9541","9fdfc27e":"9567","70e9fb71":"9600",a1fa3683:"9754",bcef1ffa:"9805","50f70a8b":"9862"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},f=self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[];f.forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f))})()})(); \ No newline at end of file diff --git a/assets/js/runtime~main.f8691405.js b/assets/js/runtime~main.f8691405.js new file mode 100644 index 000000000..c1caa3d00 --- /dev/null +++ b/assets/js/runtime~main.f8691405.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,c,a,d,f,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,d,f)=>{if(!a){var b=1/0;for(i=0;i<e.length;i++){a=e[i][0],d=e[i][1],f=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var n=d();void 0!==n&&(c=n)}}return c}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[a,d,f]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(f,b),f},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({1:"83bd1dfb",19:"9b8a95cc",34:"2d4b099c",66:"d9946c37",103:"6ae61f9d",134:"23b7ba02",140:"6a7c6930",259:"96c0c5ca",302:"3e704a63",308:"54d95e21",353:"0a435bfc",371:"4d54b06c",376:"f747c071",378:"a8d83bd5",422:"bd95ca4e",468:"9577b207",528:"dc583b00",532:"5b490090",545:"6ff7da37",604:"5adb7293",633:"33fd58a6",656:"4f34213b",663:"f3b1218a",680:"3e749104",686:"4db42fa4",707:"35f8904a",750:"7c05b1bc",762:"87d053ee",763:"df55d336",781:"7b9bed65",828:"db366989",904:"6073fa13",920:"2fa7fbb9",957:"c141421f",1073:"d0a2dc9c",1090:"f4da79e9",1200:"53160cfc",1220:"6c6626f0",1235:"a7456010",1238:"f2d0b182",1355:"9f7752b8",1412:"798d67f4",1453:"4fdd7ffa",1457:"72b2125c",1460:"dc79edcf",1495:"327389ac",1519:"339f6683",1526:"611fb728",1554:"f872beed",1567:"22dd74f7",1607:"24176970",1620:"0e4d1180",1682:"023579e4",1697:"5b5d1bef",1727:"99233437",1765:"60d7bbfa",1778:"658a263b",1788:"8ec7ae24",1794:"6d5b6e0a",1820:"fe1eb9bc",1894:"2ece5d09",1916:"c7fb0ffe",1956:"fc65f0be",2111:"c6c9d087",2138:"1a4e3797",2169:"beb73144",2172:"66307371",2185:"8defe7f5",2239:"a96dee6d",2297:"e80bbda2",2324:"94e396b7",2345:"8c0ac720",2447:"c0442aea",2528:"0d30e104",2563:"5e6674c6",2662:"48673dc0",2667:"6527a706",2690:"3d63d319",2748:"a314e9a5",2785:"f33aa945",2789:"67160f26",2809:"f8a31429",2831:"37e10be9",2837:"afb1371e",2869:"1d236428",2898:"5c52d73f",2901:"585f1245",3004:"77404de2",3007:"284c0bdc",3020:"a383d2c3",3027:"1f992b54",3081:"ff313a9b",3084:"5a8bc785",3097:"4cabad03",3139:"94def3e0",3187:"0c33a80b",3192:"2a1789c8",3205:"2c6faea6",3206:"da721fe9",3215:"e05bec59",3234:"cfd8246b",3355:"fcb7ea42",3382:"2d3b3d7d",3403:"162a65f7",3426:"7dab2b4a",3439:"5ce95ba0",3454:"a9e53e63",3472:"7de51c8d",3549:"de246b9b",3597:"0735edb8",3650:"3ee3a507",3685:"046a2c8d",3687:"22fe3d7c",3775:"e9289eb0",3796:"c391e67c",3797:"a58b1ccc",3802:"5920c8e7",3812:"de443fde",3864:"934bc43e",3865:"b34664f9",3872:"fbe0eb09",3878:"dd0dae3b",3923:"2aec711d",4053:"b1612cd7",4113:"737af32c",4122:"0095d48c",4140:"de6b82fb",4153:"054b3444",4191:"93ce8178",4212:"c361505b",4258:"728bf073",4346:"9474e170",4352:"c3d83163",4355:"1ba2ef78",4356:"1b8d9881",4375:"be7e6daf",4386:"b788ae02",4420:"1e7da5b4",4438:"0d60f290",4496:"b0d03967",4497:"715a99ae",4549:"ab2f38e9",4591:"6302158a",4665:"0436c729",4791:"9e4a7547",4821:"da5c5c21",4849:"7cf52bfa",4977:"1bdefe9f",5019:"ebba7519",5041:"b4ec51b8",5055:"1e67d591",5065:"94a6fc8a",5117:"e9e6b51f",5128:"0be7a9d3",5202:"c4faeb28",5324:"82fa5401",5353:"69014fe5",5462:"36520f9b",5465:"dfd43dc8",5525:"3237d59a",5547:"21ee5e18",5566:"1f47704f",5588:"f0633975",5618:"79275fc0",5671:"2b78a965",5742:"aba21aa0",5755:"3aa5d059",5810:"b2a1d6d9",5847:"cd4295eb",5926:"1a0a7d21",5933:"c050cf1d",6007:"42dbe6f3",6034:"fc738ad7",6076:"1b1b4238",6098:"23f47465",6114:"54f60d95",6128:"b4a62217",6142:"50a0dccc",6199:"00b0df35",6205:"bbfe74ec",6207:"f4d80e61",6215:"bf028727",6216:"d15bf737",6217:"ce9f7c01",6271:"b63b1a1f",6327:"1f21f457",6333:"4a35f728",6373:"1352a5d9",6384:"8cb3e257",6441:"5bc0cc75",6493:"f462a191",6510:"0e0c957d",6511:"5342d644",6563:"d13bdcde",6627:"45f28deb",6669:"30081c14",6671:"813302f7",6674:"06f7bddd",6690:"73933150",6719:"991f8d4c",6732:"7a547ad0",6737:"f3847fe3",6757:"530991c8",6794:"2939e2fe",6797:"ff164e89",6807:"e25ffe8c",6815:"d72b9e96",6873:"fc5d92fc",6877:"8478fc2d",6900:"c5cbe7ce",6925:"da71292b",6931:"2c4916d9",6946:"d6532ee3",7020:"3c604595",7048:"6857e688",7058:"85517bd9",7084:"d0063a96",7098:"a7bd4aaa",7160:"34832b8e",7166:"dc4d3b05",7194:"7c2eb169",7224:"fe637ad5",7235:"14d23109",7273:"2fbd0ada",7295:"c1da0157",7310:"b2160db6",7327:"e02467ce",7354:"3c5ae44f",7363:"a3814d4a",7373:"2f4a9057",7413:"58ed6817",7422:"2dbe7023",7430:"3b749563",7465:"1a187b39",7498:"bf94dc2c",7516:"86b813a4",7534:"17b7345f",7546:"f2953143",7582:"989f586f",7645:"3c01549e",7656:"7581cadb",7675:"9e3f3c76",7676:"05c167b5",7696:"9e2a34cf",7733:"3e4ac49e",7753:"9af0878b",7788:"9e01cd16",7827:"08dd9469",7855:"30bfce74",7868:"d74bb0e7",7894:"25aeb21c",7919:"5a8313eb",7941:"5009512d",7948:"f644150e",7952:"23f92eae",7960:"1af54293",7976:"77cf719a",8117:"87f53564",8129:"109df5a2",8139:"4cfd18d6",8148:"6ff345d3",8150:"7b5f680e",8167:"506f4e3c",8198:"30e917a1",8201:"5ef21807",8242:"2d78be1f",8262:"636475bd",8270:"747520ea",8295:"a14022e5",8317:"4c792d2e",8322:"71f6bba6",8353:"050b426e",8391:"58dd8a24",8398:"247d659b",8401:"17896441",8415:"7132be39",8434:"a63c3ee5",8487:"51dd6e12",8495:"757a5f49",8531:"d7c38c55",8591:"5731cc15",8617:"9dd8a0d2",8675:"286e48de",8753:"388bb84c",8754:"0406843b",8767:"198995d1",8844:"b03cb8d5",8863:"517b2119",8897:"79a22100",8943:"e5d5c0ae",8950:"da389e98",8955:"f42f2945",9048:"a94703ab",9099:"88e6eafe",9102:"f2aee5d1",9157:"8f92c1e6",9178:"98bec0c5",9193:"b4c18e0e",9200:"81875af5",9204:"cff55af7",9208:"e329cf1d",9244:"999756ce",9247:"a1f68851",9251:"7e7703ab",9417:"db691710",9420:"7ccec149",9474:"5ec8820d",9487:"7ce2633c",9541:"201713f2",9602:"b27d79ec",9637:"fb8d9da6",9647:"5e95c892",9708:"6986213d",9754:"a1fa3683",9793:"b52cec2f",9800:"b6fa5182",9828:"73c687f7",9840:"331030ba",9851:"97c639d7",9862:"50f70a8b",9975:"10eac14e"}[e]||e)+"."+{1:"c924c1fb",19:"b14c09c4",34:"5c656169",66:"35ff5876",103:"934b9c36",134:"4e15dfe3",140:"38f90e40",205:"61f3d2ad",259:"a43053ad",302:"69700263",308:"d3ba20a6",353:"38c9b91a",371:"da3756a7",376:"174a8247",378:"5a29693d",422:"43cdb433",468:"c012e2ca",492:"30677ee8",528:"3f3c8bb6",532:"6b2230c3",545:"e0716b72",604:"27b7f431",633:"4b3c8f3e",656:"5807c3a4",663:"02e5a40b",680:"40a4fd40",686:"9873669d",707:"2fa5a4ab",750:"a5cd4cbf",762:"ec516cbe",763:"247395c1",781:"8911723b",828:"2a3d9fbc",904:"f885ce28",920:"ed330009",957:"b636e4c3",1073:"c033464c",1074:"86f91343",1090:"206e8e2c",1200:"4a400beb",1220:"c5767579",1235:"59bbfd0f",1238:"9d7544a5",1355:"2d5d74e8",1412:"ffc383cb",1453:"24c205f8",1457:"057b0a95",1460:"4ca258f8",1495:"8b16545b",1519:"0de4ee04",1526:"1dd4d546",1554:"e789275c",1567:"50708032",1607:"e2d6a7e6",1620:"fe87e114",1682:"529d873e",1697:"ebfc7d99",1727:"b698de9d",1765:"38fb8857",1778:"cc9eb84f",1788:"a7905f07",1794:"8c4be1ab",1820:"c394522c",1894:"60f617bc",1916:"746ca910",1956:"0c11cfca",2111:"3b2a7bbb",2138:"215a22b7",2169:"f5326e8f",2172:"0f4f6a64",2185:"65782844",2239:"521d92ac",2297:"24239089",2324:"fc8d5ae1",2345:"c2f6f61f",2447:"7e910f80",2528:"0ee666d4",2563:"9a4d3169",2662:"34954a0b",2667:"dd770e74",2690:"16e433b9",2748:"f1fdc5d1",2785:"84bd15d6",2789:"18fd89e1",2809:"e3874f1b",2831:"028d57a7",2837:"0b2d6f88",2869:"54bf61d0",2898:"ea5623e7",2901:"38bfbbc2",3004:"ce26f1ee",3007:"4abbd365",3020:"d9aa8cd0",3027:"80079b4b",3081:"2edb2b6a",3084:"1382923c",3097:"8962443e",3139:"615025c9",3187:"3a5979c7",3192:"6b0a7a29",3205:"1f0a4f61",3206:"cf862303",3215:"b3660929",3234:"9867a31b",3355:"aa9f626d",3382:"a268d058",3403:"756089b2",3426:"76a95d96",3439:"9f8bac4f",3454:"deff8749",3472:"5727f35c",3549:"7997cff0",3597:"18f9aa8b",3650:"71f4cd3e",3685:"79fba3c8",3687:"84394cb7",3775:"8671b602",3796:"f308db51",3797:"6a4bb416",3802:"049ddf40",3812:"2fe8567b",3864:"fe0701de",3865:"2ea029b4",3872:"5a05ec60",3878:"31ae8a38",3923:"250dfd74",4053:"df8d30be",4113:"0d4b97cd",4122:"00db20ff",4140:"412cd450",4153:"fab9a701",4191:"6917ea0a",4212:"3c4073aa",4258:"bed1eb1c",4346:"e7ddd664",4352:"e366b926",4355:"9adce384",4356:"7110193e",4375:"dba99496",4386:"3a79068e",4420:"36629560",4438:"e758c00a",4496:"c7d6d765",4497:"ba2b9717",4549:"0c716254",4591:"ead19384",4665:"91678a91",4791:"0088e5d8",4821:"942ad95c",4849:"a0ea031d",4977:"861ed04e",5019:"dffe1492",5041:"d1bf6572",5055:"303e74ba",5065:"335c5623",5117:"0185a494",5128:"83b65846",5202:"5914c0f1",5324:"ce4ab917",5353:"0caa01e0",5462:"297f480e",5465:"e6b9fc6c",5525:"443cfcf6",5547:"7160549e",5566:"31645bd9",5588:"36dae0c5",5618:"78aec688",5671:"0d39465f",5742:"aeb4cebd",5755:"2126437f",5810:"2839ddde",5847:"da02e526",5926:"579c892b",5933:"02981006",6007:"5b529643",6034:"776d1185",6076:"017dbb7f",6098:"520b1f03",6114:"9cdd58da",6128:"fbadc64a",6142:"5fda880f",6199:"1864ea16",6205:"6391f3bb",6207:"7a720b83",6215:"5a1c388e",6216:"29dad999",6217:"e08a7628",6271:"37f937bc",6327:"78b8a72f",6333:"a960871c",6373:"aea11142",6384:"28165e4a",6441:"5e32f948",6493:"09e56eb4",6510:"373e12ca",6511:"4189ced3",6563:"fb0dabad",6627:"82f89c66",6669:"5f8e193e",6671:"1d4f37b8",6674:"b62ef7a3",6690:"0a37cc16",6719:"02e5c176",6732:"42c7607e",6737:"7f68174a",6757:"b3c297c5",6794:"b66815f2",6797:"408e18cf",6807:"c5f78782",6815:"fd2f3608",6873:"e96db0c6",6877:"9e4dd0e2",6900:"9563ac36",6925:"cdea1f9a",6931:"419c161a",6946:"91b3447b",7020:"124813c2",7048:"bf8f3a33",7058:"19442ff1",7084:"bb0c8a10",7098:"3d4ec037",7160:"43e95837",7166:"9f3a641b",7194:"afdca311",7224:"4859c512",7235:"6b50b8ba",7273:"fe7d51a5",7295:"476a4c23",7310:"b367087c",7327:"fe266eaa",7354:"d09a7239",7363:"dbb918a8",7373:"aa2d0274",7413:"06f88557",7422:"000a8e60",7430:"9defdeea",7465:"50e0f1d6",7498:"b94a3a5f",7516:"e07b8bb7",7534:"b6852b50",7546:"35918498",7582:"26091f8c",7645:"c16a5ecb",7656:"d7cf59e5",7675:"6c337216",7676:"078b5126",7696:"5b84ff00",7733:"9c64da22",7753:"d6483124",7788:"ee8b9541",7827:"ad883c5d",7855:"42bd10a4",7868:"917e82f3",7894:"6cdba741",7919:"3381d1fe",7941:"1a95076d",7948:"e9552f73",7952:"3ff587e2",7960:"2ab8263f",7976:"13a1653e",8117:"6f6d5584",8129:"504590c0",8139:"b4aaf758",8148:"47e48236",8150:"18f29871",8167:"4a1f55cc",8198:"9ff61c65",8201:"6b0b3aee",8242:"06074399",8262:"8e67856b",8270:"e212a7b3",8295:"52367d83",8317:"4fbbc3f8",8322:"adefb7f5",8353:"cb234e4a",8391:"1514e657",8398:"cb116983",8401:"104652ac",8415:"eacfae59",8434:"25515758",8487:"bc937770",8495:"d98545d4",8531:"f3821852",8591:"6cbff9d3",8617:"308fb807",8675:"4f9f707b",8753:"002c25f3",8754:"d18eb636",8767:"3168ed08",8844:"ef55d1b4",8863:"eaae44bd",8897:"c6908fc7",8943:"045a9682",8950:"fdb07932",8955:"d24af2e1",8973:"d9cc157b",9048:"840abdf9",9099:"f43723e8",9102:"77d7f177",9157:"8fca0c4a",9178:"9740af1b",9193:"80ce5b16",9200:"b8723dd8",9204:"e0a70fa1",9208:"c835630b",9244:"4553da89",9247:"5f15d769",9251:"d1ce8b7a",9417:"f4acc010",9420:"9db991bc",9474:"86ea8fd3",9487:"47be12ca",9541:"8fe8aa39",9602:"c2b062ed",9637:"265416dc",9647:"3da8e872",9708:"81f18c29",9714:"d6a7fa93",9754:"a2c8fab1",9793:"56bef9d7",9800:"d25fa34d",9828:"29d11e1b",9840:"bc428d6d",9851:"05fa2960",9862:"4f12a211",9975:"1065ddd4"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),d={},f="@ima/docs:",r.l=(e,c,a,b)=>{if(d[e])d[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+a){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",f+a),t.src=e),d[e]=[c];var l=(c,a)=>{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",24176970:"1607",66307371:"2172",73933150:"6690",99233437:"1727","83bd1dfb":"1","9b8a95cc":"19","2d4b099c":"34",d9946c37:"66","6ae61f9d":"103","23b7ba02":"134","6a7c6930":"140","96c0c5ca":"259","3e704a63":"302","54d95e21":"308","0a435bfc":"353","4d54b06c":"371",f747c071:"376",a8d83bd5:"378",bd95ca4e:"422","9577b207":"468",dc583b00:"528","5b490090":"532","6ff7da37":"545","5adb7293":"604","33fd58a6":"633","4f34213b":"656",f3b1218a:"663","3e749104":"680","4db42fa4":"686","35f8904a":"707","7c05b1bc":"750","87d053ee":"762",df55d336:"763","7b9bed65":"781",db366989:"828","6073fa13":"904","2fa7fbb9":"920",c141421f:"957",d0a2dc9c:"1073",f4da79e9:"1090","53160cfc":"1200","6c6626f0":"1220",a7456010:"1235",f2d0b182:"1238","9f7752b8":"1355","798d67f4":"1412","4fdd7ffa":"1453","72b2125c":"1457",dc79edcf:"1460","327389ac":"1495","339f6683":"1519","611fb728":"1526",f872beed:"1554","22dd74f7":"1567","0e4d1180":"1620","023579e4":"1682","5b5d1bef":"1697","60d7bbfa":"1765","658a263b":"1778","8ec7ae24":"1788","6d5b6e0a":"1794",fe1eb9bc:"1820","2ece5d09":"1894",c7fb0ffe:"1916",fc65f0be:"1956",c6c9d087:"2111","1a4e3797":"2138",beb73144:"2169","8defe7f5":"2185",a96dee6d:"2239",e80bbda2:"2297","94e396b7":"2324","8c0ac720":"2345",c0442aea:"2447","0d30e104":"2528","5e6674c6":"2563","48673dc0":"2662","6527a706":"2667","3d63d319":"2690",a314e9a5:"2748",f33aa945:"2785","67160f26":"2789",f8a31429:"2809","37e10be9":"2831",afb1371e:"2837","1d236428":"2869","5c52d73f":"2898","585f1245":"2901","77404de2":"3004","284c0bdc":"3007",a383d2c3:"3020","1f992b54":"3027",ff313a9b:"3081","5a8bc785":"3084","4cabad03":"3097","94def3e0":"3139","0c33a80b":"3187","2a1789c8":"3192","2c6faea6":"3205",da721fe9:"3206",e05bec59:"3215",cfd8246b:"3234",fcb7ea42:"3355","2d3b3d7d":"3382","162a65f7":"3403","7dab2b4a":"3426","5ce95ba0":"3439",a9e53e63:"3454","7de51c8d":"3472",de246b9b:"3549","0735edb8":"3597","3ee3a507":"3650","046a2c8d":"3685","22fe3d7c":"3687",e9289eb0:"3775",c391e67c:"3796",a58b1ccc:"3797","5920c8e7":"3802",de443fde:"3812","934bc43e":"3864",b34664f9:"3865",fbe0eb09:"3872",dd0dae3b:"3878","2aec711d":"3923",b1612cd7:"4053","737af32c":"4113","0095d48c":"4122",de6b82fb:"4140","054b3444":"4153","93ce8178":"4191",c361505b:"4212","728bf073":"4258","9474e170":"4346",c3d83163:"4352","1ba2ef78":"4355","1b8d9881":"4356",be7e6daf:"4375",b788ae02:"4386","1e7da5b4":"4420","0d60f290":"4438",b0d03967:"4496","715a99ae":"4497",ab2f38e9:"4549","6302158a":"4591","0436c729":"4665","9e4a7547":"4791",da5c5c21:"4821","7cf52bfa":"4849","1bdefe9f":"4977",ebba7519:"5019",b4ec51b8:"5041","1e67d591":"5055","94a6fc8a":"5065",e9e6b51f:"5117","0be7a9d3":"5128",c4faeb28:"5202","82fa5401":"5324","69014fe5":"5353","36520f9b":"5462",dfd43dc8:"5465","3237d59a":"5525","21ee5e18":"5547","1f47704f":"5566",f0633975:"5588","79275fc0":"5618","2b78a965":"5671",aba21aa0:"5742","3aa5d059":"5755",b2a1d6d9:"5810",cd4295eb:"5847","1a0a7d21":"5926",c050cf1d:"5933","42dbe6f3":"6007",fc738ad7:"6034","1b1b4238":"6076","23f47465":"6098","54f60d95":"6114",b4a62217:"6128","50a0dccc":"6142","00b0df35":"6199",bbfe74ec:"6205",f4d80e61:"6207",bf028727:"6215",d15bf737:"6216",ce9f7c01:"6217",b63b1a1f:"6271","1f21f457":"6327","4a35f728":"6333","1352a5d9":"6373","8cb3e257":"6384","5bc0cc75":"6441",f462a191:"6493","0e0c957d":"6510","5342d644":"6511",d13bdcde:"6563","45f28deb":"6627","30081c14":"6669","813302f7":"6671","06f7bddd":"6674","991f8d4c":"6719","7a547ad0":"6732",f3847fe3:"6737","530991c8":"6757","2939e2fe":"6794",ff164e89:"6797",e25ffe8c:"6807",d72b9e96:"6815",fc5d92fc:"6873","8478fc2d":"6877",c5cbe7ce:"6900",da71292b:"6925","2c4916d9":"6931",d6532ee3:"6946","3c604595":"7020","6857e688":"7048","85517bd9":"7058",d0063a96:"7084",a7bd4aaa:"7098","34832b8e":"7160",dc4d3b05:"7166","7c2eb169":"7194",fe637ad5:"7224","14d23109":"7235","2fbd0ada":"7273",c1da0157:"7295",b2160db6:"7310",e02467ce:"7327","3c5ae44f":"7354",a3814d4a:"7363","2f4a9057":"7373","58ed6817":"7413","2dbe7023":"7422","3b749563":"7430","1a187b39":"7465",bf94dc2c:"7498","86b813a4":"7516","17b7345f":"7534",f2953143:"7546","989f586f":"7582","3c01549e":"7645","7581cadb":"7656","9e3f3c76":"7675","05c167b5":"7676","9e2a34cf":"7696","3e4ac49e":"7733","9af0878b":"7753","9e01cd16":"7788","08dd9469":"7827","30bfce74":"7855",d74bb0e7:"7868","25aeb21c":"7894","5a8313eb":"7919","5009512d":"7941",f644150e:"7948","23f92eae":"7952","1af54293":"7960","77cf719a":"7976","87f53564":"8117","109df5a2":"8129","4cfd18d6":"8139","6ff345d3":"8148","7b5f680e":"8150","506f4e3c":"8167","30e917a1":"8198","5ef21807":"8201","2d78be1f":"8242","636475bd":"8262","747520ea":"8270",a14022e5:"8295","4c792d2e":"8317","71f6bba6":"8322","050b426e":"8353","58dd8a24":"8391","247d659b":"8398","7132be39":"8415",a63c3ee5:"8434","51dd6e12":"8487","757a5f49":"8495",d7c38c55:"8531","5731cc15":"8591","9dd8a0d2":"8617","286e48de":"8675","388bb84c":"8753","0406843b":"8754","198995d1":"8767",b03cb8d5:"8844","517b2119":"8863","79a22100":"8897",e5d5c0ae:"8943",da389e98:"8950",f42f2945:"8955",a94703ab:"9048","88e6eafe":"9099",f2aee5d1:"9102","8f92c1e6":"9157","98bec0c5":"9178",b4c18e0e:"9193","81875af5":"9200",cff55af7:"9204",e329cf1d:"9208","999756ce":"9244",a1f68851:"9247","7e7703ab":"9251",db691710:"9417","7ccec149":"9420","5ec8820d":"9474","7ce2633c":"9487","201713f2":"9541",b27d79ec:"9602",fb8d9da6:"9637","5e95c892":"9647","6986213d":"9708",a1fa3683:"9754",b52cec2f:"9793",b6fa5182:"9800","73c687f7":"9828","331030ba":"9840","97c639d7":"9851","50f70a8b":"9862","10eac14e":"9975"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(c,a)=>{var d=r.o(e,c)?e[c]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1869|5354)$/.test(c))e[c]=0;else{var f=new Promise(((a,f)=>d=e[c]=[a,f]));a.push(d[2]=f);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var f=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var d,f,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(c&&c(a);n<b.length;n++)f=b[n],r.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return r.O(i)},a=self.webpackChunk_ima_docs=self.webpackChunk_ima_docs||[];a.forEach(c.bind(null,0)),a.push=c.bind(null,a.push.bind(a))})()})(); \ No newline at end of file diff --git a/basic-features/controller-lifecycle/index.html b/basic-features/controller-lifecycle/index.html index 35f8f9ef3..78970430a 100644 --- a/basic-features/controller-lifecycle/index.html +++ b/basic-features/controller-lifecycle/index.html @@ -1,30 +1,77 @@ <!doctype html> -<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-basic-features/controller-lifecycle" data-has-hydrated="false"> +<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-basic-features/controller-lifecycle" data-has-hydrated="false"> <head> <meta charset="UTF-8"> -<meta name="generator" content="Docusaurus v2.4.3"> -<title data-rh="true">Controller lifecycle | IMA.js - - + +Controller lifecycle | IMA.js + + -
-

Controller lifecycle

IMA.js AbstractController provides a few methods you can implement in order to catch various lifecycle events and react to them. Each method description has @server or @client notation next to them symbolizing where the method is executed.

init() @server/client

This is the first method that gets called in the lifecycle chain. Init method is substitution for native constructor() method. Route parameters are already set when this method is called.

load() @server/client

Callback the controller uses to load all resources it needs to render a view.

The method must return a plain flat object that will be used to set the state of the controller. The field names of the object identify the resources being fetched and prepared, each value must be either the resource (e.g. view configuration or a value retrieved synchronously) or a Promise that will resolve to the resource.

Promises are handled differently when rendering on the server side or the client side.

  • At the server side, the IMA will wait for all the promises to resolve, then replace the promises with the resolved values and sets the resulting object as the controller's state. Even though promises are resolved in parallel it's a good practice to keep their number on minimum because their resolution is blocking sending the response to the client.

  • At the client side, the IMA.js will first set the controller's state to +

    Controller lifecycle

    IMA.js AbstractController provides a few methods you can implement in order to catch various lifecycle events and react to them. Each method description has @server or @client notation next to them symbolizing where the method is executed.

    +

    +

    init() @server/client

    +

    This is the first method that gets called in the lifecycle chain. Init method is substitution for native constructor() method. Route parameters are already set when this method is called.

    +

    load() @server/client

    +

    Callback the controller uses to load all resources it needs to render a view.

    +

    The method must return a plain flat object that will be used to set the state of the controller. The field names of the object identify the resources being fetched and prepared, each value must be either the resource (e.g. view configuration or a value retrieved synchronously) or a Promise that will resolve to the resource.

    +

    Promises are handled differently when rendering on the server side or the client side.

    +
      +
    • +

      At the server side, the IMA will wait for all the promises to resolve, then replace the promises with the resolved values and sets the resulting object as the controller's state. Even though promises are resolved in parallel it's a good practice to keep their number on minimum because their resolution is blocking sending the response to the client.

      +
    • +
    • +

      At the client side, the IMA.js will first set the controller's state to an object containing only the fields of the returned object that were not promises. IMA will then update the controller's state every time a -promise of the returned object resolves.

    Any returned promise that gets rejected will redirect the application to +promise of the returned object resolves.

    +
  • +
+

Any returned promise that gets rejected will redirect the application to the error page. The error page that will be used depends on the status -code of the error.

Since v17 you can use async/await instead of promises. This means the load method will have async prefix and resources will be loaded synchronously using await keyword.

async load() {
const user = await this._userService.getById(this.params.userId);
const comments = await this._commentService.list({ userId: user.id });

return {
user,
comments
};
}

This functionality has its pros and cons. Main contradiction would be synchronous loading and thus response time increase. A lot of requests can happen independently on each other and save some of the response time. In this case it's better to combine promises and async/await to achieve best performance.

async load() {
const userPromise = this._userService.getById(this.params.userId); // load parallel to article and comments
const article = await this._articleService.get(this.params.articleUrl);
let comments = [];

if (article.commentsCount && article.commentsAllowed) {
comments = await this._commentService.list({ articleId: article.id });
}

return { article, comments, user: userPromise };
}

A benefit to using async/await is simplicity and better handling of data. Imagine you have a request that loads 2 resources and you want to add these resources to page state. When using promises this would be impossible as promises must return single value and we're returning the promise itself not the resolved value.

async load() {
const checkoutData = await this._checkoutService.getByCookie();
const { items, payment, shipping } = checkoutData;

return {
cartItems: items,
paymentDetails: payment,
shippingDetail: shipping
};
}

setMetaParams() @server/client

Callback used to configure the meta attribute manager. The method is +code of the error.

+

Since v17 you can use async/await instead of promises. This means the load method will have async prefix and resources will be loaded synchronously using await keyword.

+
async load() {
const user = await this._userService.getById(this.params.userId);
const comments = await this._commentService.list({ userId: user.id });

return {
user,
comments
};
}
+

This functionality has its pros and cons. Main contradiction would be synchronous loading and thus response time increase. A lot of requests can happen independently on each other and save some of the response time. In this case it's better to combine promises and async/await to achieve best performance.

+
async load() {
const userPromise = this._userService.getById(this.params.userId); // load parallel to article and comments
const article = await this._articleService.get(this.params.articleUrl);
let comments = [];

if (article.commentsCount && article.commentsAllowed) {
comments = await this._commentService.list({ articleId: article.id });
}

return { article, comments, user: userPromise };
}
+

A benefit to using async/await is simplicity and better handling of data. Imagine you have a request that loads 2 resources and you want to add these resources to page state. When using promises this would be impossible as promises must return single value and we're returning the promise itself not the resolved value.

+
async load() {
const checkoutData = await this._checkoutService.getByCookie();
const { items, payment, shipping } = checkoutData;

return {
cartItems: items,
paymentDetails: payment,
shippingDetail: shipping
};
}
+

setMetaParams() @server/client

+

Callback used to configure the meta attribute manager. The method is called after the the controller's state has been patched with the all -loaded resources from the load() method and the view has been rendered.

setMetaParams() method receives following arguments:

  • loadedResources - A plain object representing a map of resource names to resources loaded by the load() method. This is the same object as the one passed to the setState() method.
  • metaManager - Meta attributes manager instance to configure (See SEO & MetaManager page).
  • router - The current application router.
  • dictionary - The current localization dictionary
  • settings - The application settings for the current application environment.

activate() @client

Callback for activating the controller when the route updated to one of those that are associated with the controller or the controller is revived at the client side.

This method is the last method invoked during controller initialization. activate() is called after all the promises returned from the load() method have been resolved and the controller has configured the meta manager.

When reviving the state from the server side all promises are resolved and meta values set, therefore the controller state is fully complete.

This method is a good place to register any React and DOM event listeners. The controller may start receiving event bus event after this method completes.

update() @client

Callback for updating the controller after a route update. This method -is invoked if the current route has the onlyUpdate = true flag set and the current controller and view match those used by the previously active route, or, the onlyUpdate option of the current route is a callback and returned true.

The method must return an object with the same semantics as the result +loaded resources from the load() method and the view has been rendered.

+

setMetaParams() method receives following arguments:

+
    +
  • loadedResources - A plain object representing a map of resource names to resources loaded by the load() method. This is the same object as the one passed to the setState() method.
  • +
  • metaManager - Meta attributes manager instance to configure (See SEO & MetaManager page).
  • +
  • router - The current application router.
  • +
  • dictionary - The current localization dictionary
  • +
  • settings - The application settings for the current application environment.
  • +
+

activate() @client

+

Callback for activating the controller when the route updated to one of those that are associated with the controller or the controller is revived at the client side.

+

This method is the last method invoked during controller initialization. activate() is called after all the promises returned from the load() method have been resolved and the controller has configured the meta manager.

+

When reviving the state from the server side all promises are resolved and meta values set, therefore the controller state is fully complete.

+

This method is a good place to register any React and DOM event listeners. The controller may start receiving event bus event after this method completes.

+

update() @client

+

Callback for updating the controller after a route update. This method +is invoked if the current route has the onlyUpdate = true flag set and the current controller and view match those used by the previously active route, or, the onlyUpdate option of the current route is a callback and returned true.

+

The method must return an object with the same semantics as the result of the load() method. The controller's state will only be -patched by the returned object instead of replacing it completely.

The other controller lifecycle callbacks (init(), load(), activate(), deactivate(), destroy()) are not call in case this method is used.

update() method receives argument prevParams; an object containing previous route parameters.

deactivate() @client

Callback for deactivating the controller. This is the first +patched by the returned object instead of replacing it completely.

+

The other controller lifecycle callbacks (init(), load(), activate(), deactivate(), destroy()) are not call in case this method is used.

+

update() method receives argument prevParams; an object containing previous route parameters.

+

deactivate() @client

+

Callback for deactivating the controller. This is the first method invoked during controller deinitialization. This usually happens -when the user navigates to a different URL.

This method is the lifecycle counterpart of the activate() method. When the activate() method has not been called deactivate() won't be called either.

The controller should deregister listeners and release all -resources obtained in the activate() method.

destroy() @client

Finalization callback, called when the controller is being discarded by the application. This usually happens when the user navigates to a different URL.

This method is the lifecycle counterpart of the init() method.

The controller should release all resources obtained in the init() method. The controller must release any resources that might not be released automatically when the controller's instance -is destroyed by the garbage collector.

- - +when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the activate() method. When the activate() method has not been called deactivate() won't be called either.

+

The controller should deregister listeners and release all +resources obtained in the activate() method.

+

destroy() @client

+

Finalization callback, called when the controller is being discarded by the application. This usually happens when the user navigates to a different URL.

+

This method is the lifecycle counterpart of the init() method.

+

The controller should release all resources obtained in the init() method. The controller must release any resources that might not be released automatically when the controller's instance +is destroyed by the garbage collector.

\ No newline at end of file diff --git a/basic-features/data-fetching/index.html b/basic-features/data-fetching/index.html index c993a47e1..c1c5be51e 100644 --- a/basic-features/data-fetching/index.html +++ b/basic-features/data-fetching/index.html @@ -1,16 +1,23 @@ - + - -Data fetching | IMA.js - - + +Data fetching | IMA.js + + -
-

Data fetching

HttpAgent allows you to isomorphically fetch data in IMA.js applications. It is a simple wrapper around native fetch with additional features like caching, proxy support and others.

Cancellable requests

The HttpAgent has support for AbortController to cancel requests in native way. There are two ways you can provide custom instance of AbortController to the HttpAgent, where each has it's own benefits.

options.abortController

Using this approach has the added benefit of HttpAgent being able to additionally reuse this controller for cancelation of timeout requests.

const controller = new AbortController();

httpAgent.get('<uri>', '<data>', {
abortController: controller,
});

// Cancel the request
controller.abort();
info

If you don't provide custom instance of AbortController the agent uses it's own instance internally to cancel running timeout requests.

options.fetchOptions.signal

This approach is more similar to native fetch definition. However since currently you can only provide one signal to fetch request and we don't have access to the controller instance (from within the HttpAgent), we are unable to abort time out requests in this case.

const controller = new AbortController();

httpAgent.get('<uri>', '<data>', {
fetchOptions: {
signal: controller.signal,
}
});

// Cancel the request
controller.abort();
note

The time out requests still throw the same timeout error, however they are not canceled (aborted). This is the only difference between the two forementioned methods.

- - +

Data fetching

HttpAgent allows you to isomorphically fetch data in IMA.js applications. It is a simple wrapper around native fetch with additional features like caching, proxy support and others.

+

Cancellable requests

+

The HttpAgent has support for AbortController to cancel requests in native way. There are two ways you can provide custom instance of AbortController to the HttpAgent, where each has it's own benefits.

+

options.abortController

+

Using this approach has the added benefit of HttpAgent being able to additionally reuse this controller for cancelation of timeout requests.

+
const controller = new AbortController();

httpAgent.get('<uri>', '<data>', {
abortController: controller,
});

// Cancel the request
controller.abort();
+
info

If you don't provide custom instance of AbortController the agent uses it's own instance internally to cancel running timeout requests.

+

options.fetchOptions.signal

+

This approach is more similar to native fetch definition. However since currently you can only provide one signal to fetch request and we don't have access to the controller instance (from within the HttpAgent), we are unable to abort time out requests in this case.

+
const controller = new AbortController();

httpAgent.get('<uri>', '<data>', {
fetchOptions: {
signal: controller.signal,
}
});

// Cancel the request
controller.abort();
+
note

The time out requests still throw the same timeout error, however they are not canceled (aborted). This is the only difference between the two forementioned methods.

\ No newline at end of file diff --git a/basic-features/dictionary/index.html b/basic-features/dictionary/index.html index d6ccb9dd3..b7b8b6a65 100644 --- a/basic-features/dictionary/index.html +++ b/basic-features/dictionary/index.html @@ -1,16 +1,44 @@ - + - -Dictionary | IMA.js - - + +Dictionary | IMA.js + + -
-

Dictionary

Dictionary in IMA.js app serves many purposes. Simplest of them is keeping text strings out of component markup. More advanced one would be internationalization and in-text replacements.

Configuration

First we need to tell IMA.js where to look for dictionary files. Naming convention of the files is up to you, but it should be clear what language are the files meant for and glob pattern has to be able to match path to the files. IMA.js defaults to the following configuration:

languages: {
cs: ['./app/**/*CS.json'],
en: ['./app/**/*EN.json']
}

However you can easily override this settings in ima.config.js (an example):

./ima.config.js
module.exports = {
languages: {
cs: [
'./app/component/**/*CS.json',
'./app/page/**/*CS.json'
],
en: [
'./app/component/**/*EN.json',
'./app/page/**/*EN.json'
],
de: [
'./app/component/**/*DE.json',
'./app/page/**/*DE.json'
]
}
}

URL parser configuration

We also need to specify what language should be loaded. This is done dynamically depending on current URL. You can customize the URL patterns to language mapping in environment settings.

The configuration consists of simple key-value pairs, that are used for configuring the languages used with specific hosts or starting paths:

  • key - has to start with '//' instead of a protocol, and you can define the root path.
  • value - is a language to use when the key is matched by the current URL.
./server/config/environment.js
module.exports = (() => ({
prod: {
$Language: {
'//*:*/cs': 'cs', // https://ima-app.com/cs/custom-route
'//*:*/en': 'en', // https://ima-app.com/en/custom-route
'//*:*': 'cs', // https://ima-app.com/custom-route
},
}
}))();

:language placeholder

To make the language definition a bit easier for multilingua applications, you can use :language placeholder in following way:

./server/config/environment.js
module.exports = (() => ({
prod: {
$Language: {
'//*:*/:language': ':language', // https://ima-app.com/[en|cs]/custom-route
'//*:*': 'cs', // https://ima-app.com/custom-route
},
}
}))();

Language files

The messageformat compiler, which processes our language files, expects .JSON files on the input. Contents of these files are objects, which can be nested into multiple levels. These levels are then represtend as a namespace key to the value in the dictionary.

./pollVoteEN.json
{
"resultTitle": "Result of {name}:",
"result": {
"voted": "{count, plural, =0{Found no results} one{Found one result} other{Found # results} }",
"reader": "{gender, select, male{He said} female{She said} other{They said} }",
}
}
info

File name is used as a namespace for strings it defines. String defined under key submit in file uploadFormCS.json will be accessible under uploadForm.submit.

Usage

Every component and view extending AbstractComponent or AbstractPureComponent has access to localize method from within its instance. This method is alias to a get method from the Dictionary instance and takes 2 arguments:

  • key - namespace and name of the localization string -> if you have resultTitle string in file pollVoteEN.json the key to this string would be pollVote.resultTitle.
  • parameters - Optional object with replacements and parameters for messageformat syntax. For more info about the syntax check out ICU guide.
import { AbstractPureComponent } from '@ima/react-page-renderer';

class PollVote extends AbstractPureComponent {
render() {
return (
<div>
{this.localize('pollVote.resultTitle')}
{this.localize('pollVote.result.voted', {count: 3})}
</div>
);
}
}
tip

Use useComponent().localize or useLocalize() hooks in functional components.

import { useComponent, useLocalize } from '@ima/react-page-renderer';

function PollVote() {
// const { localize } = useComponent();
const localize = useLocalize();

return (
<div>
{localize('pollVote.resultTitle')}
{localize('pollVote.result.voted', {count: 3})}
</div>
);
}

Messageformat library

For more information on the available selectors, formatters, and other details, please see Format guide.

Dictionary is also registered in Object Container and thus can be obtained in Controllers, Extensions and other classes constructed through OC.

- - +

Dictionary

Dictionary in IMA.js app serves many purposes. Simplest of them is keeping text strings out of component markup. More advanced one would be internationalization and in-text replacements.

+

Configuration

+

First we need to tell IMA.js where to look for dictionary files. Naming convention of the files is up to you, but it should be clear what language are the files meant for and glob pattern has to be able to match path to the files. IMA.js defaults to the following configuration:

+
languages: {
cs: ['./app/**/*CS.json'],
en: ['./app/**/*EN.json']
}
+

However you can easily override this settings in ima.config.js (an example):

+
./ima.config.js
module.exports = {
languages: {
cs: [
'./app/component/**/*CS.json',
'./app/page/**/*CS.json'
],
en: [
'./app/component/**/*EN.json',
'./app/page/**/*EN.json'
],
de: [
'./app/component/**/*DE.json',
'./app/page/**/*DE.json'
]
}
}
+

URL parser configuration

+

We also need to specify what language should be loaded. This is done dynamically depending on current URL. You can customize the URL patterns to language mapping in environment settings.

+

The configuration consists of simple key-value pairs, that are used for configuring the languages used with specific hosts or starting paths:

+
    +
  • key - has to start with '//' instead of a protocol, and you can define the root path.
  • +
  • value - is a language to use when the key is matched by the current URL.
  • +
+
./server/config/environment.js
module.exports = (() => ({
prod: {
$Language: {
'//*:*/cs': 'cs', // https://ima-app.com/cs/custom-route
'//*:*/en': 'en', // https://ima-app.com/en/custom-route
'//*:*': 'cs', // https://ima-app.com/custom-route
},
}
}))();
+

:language placeholder

+

To make the language definition a bit easier for multilingua applications, you can use :language placeholder in following way:

+
./server/config/environment.js
module.exports = (() => ({
prod: {
$Language: {
'//*:*/:language': ':language', // https://ima-app.com/[en|cs]/custom-route
'//*:*': 'cs', // https://ima-app.com/custom-route
},
}
}))();
+

Language files

+

The messageformat compiler, which processes our language files, expects .JSON files on the input. Contents of these files are objects, which can be nested into multiple levels. These levels are then represtend as a namespace key to the value in the dictionary.

+
{
"resultTitle": "Result of {name}:",
"result": {
"voted": "{count, plural, =0{Found no results} one{Found one result} other{Found # results} }",
"reader": "{gender, select, male{He said} female{She said} other{They said} }",
}
}
+
info

File name is used as a namespace for strings it defines. String defined under key submit in file uploadFormCS.json will be accessible under uploadForm.submit.

+

Usage

+

Every component and view extending AbstractComponent or AbstractPureComponent has access to localize method from within its instance. This method is alias to a get method from the Dictionary instance and takes 2 arguments:

+
    +
  • key - namespace and name of the localization string -> if you have resultTitle string in file pollVoteEN.json the key to this string would be pollVote.resultTitle.
  • +
  • parameters - Optional object with replacements and parameters for messageformat syntax. For more info about the syntax check out ICU guide.
  • +
+
import { AbstractPureComponent } from '@ima/react-page-renderer';

class PollVote extends AbstractPureComponent {
render() {
return (
<div>
{this.localize('pollVote.resultTitle')}
{this.localize('pollVote.result.voted', {count: 3})}
</div>
);
}
}
+
tip

Use useComponent().localize or useLocalize() hooks in functional components.

import { useComponent, useLocalize } from '@ima/react-page-renderer';

function PollVote() {
// const { localize } = useComponent();
const localize = useLocalize();

return (
<div>
{localize('pollVote.resultTitle')}
{localize('pollVote.result.voted', {count: 3})}
</div>
);
}
+

Messageformat library

+

For more information on the available selectors, formatters, and other details, please see Format guide.

+

Dictionary is also registered in Object Container and thus can be obtained in Controllers, Extensions and other classes constructed through OC.

\ No newline at end of file diff --git a/basic-features/error-handling/index.html b/basic-features/error-handling/index.html index 0b4c601d9..393e4dfed 100644 --- a/basic-features/error-handling/index.html +++ b/basic-features/error-handling/index.html @@ -1,16 +1,21 @@ - + - -Error Handling | IMA.js - - + +Error Handling | IMA.js + + -
-

Error Handling

This sections focuses on client and server-side error handling during development and in production.

GenericError

Represents custom error class that poses a structure for http errors. This should be preferred way of throwing custom errors as it adds an ability to define http status code with additional custom params. To create such error you need to import GenericError from @ima/core and instantiate it:

import { GenericError } from '@ima/core';

throw new GenericError(
'Something went wrong.',
{ status: 500, custom: 'param' } // error parameters
);

GenericError instance has 2 methods:

  • getParams() - Returns params argument (2nd argument) provided to the constructor.
  • getHttpStatus() - Returns status property from the params.
- - +

Error Handling

This sections focuses on client and server-side error handling during development and in production.

+

GenericError

+

Represents custom error class that poses a structure for http errors. This should be preferred way of throwing custom errors as it adds an ability to define http status code with additional custom params. To create such error you need to import GenericError from @ima/core and instantiate it:

+
import { GenericError } from '@ima/core';

throw new GenericError(
'Something went wrong.',
{ status: 500, custom: 'param' } // error parameters
);
+

GenericError instance has 2 methods:

+
    +
  • getParams() - Returns params argument (2nd argument) provided to the constructor.
  • +
  • getHttpStatus() - Returns status property from the params.
  • +
\ No newline at end of file diff --git a/basic-features/events/index.html b/basic-features/events/index.html index b2cac43db..8dd8b6eab 100644 --- a/basic-features/events/index.html +++ b/basic-features/events/index.html @@ -1,58 +1,130 @@ - + - -Events | IMA.js - - + +Events | IMA.js + + -
-

Events

Major part of development in JavaScript relies on events. It's easy solution to -notify distant instances or React elements scattered across the DOM tree.

To ease the pain that comes with events, IMA.js provides a two utilities that -take care of firing and receiving events. Each one with a different style.

EventBus

The ima/event/EventBus allows your UI components to emit custom DOM events +

Events

Major part of development in JavaScript relies on events. It's easy solution to +notify distant instances or React elements scattered across the DOM tree.

+

To ease the pain that comes with events, IMA.js provides a two utilities that +take care of firing and receiving events. Each one with a different style.

+

EventBus

+

The ima/event/EventBus allows your UI components to emit custom DOM events that naturally propagate through the DOM tree representing the tree of your UI -components.

This is used to notify the parent components of user interaction with -custom controls in your UI, or to notify the page Controller/Extension itself.

The custom events may have any name and carry arbitrary data that are not -restricted to JSON-serializable values.

Firing EventBus events

EventBus can be used in View and Components via fire() method that is -inherited from ima/page/AbstractComponent.

// app/component/expandable/ExpandLink.jsx

onClick(event) {
const { expandableId } = this.props;
this.fire('expand', { expandableId }); // this will be stopped by ExpandableWrapper
}

render() {
return (
<button onClick = { event => this.onClick(event) }>
{ this.props.children }
</button>
);
}

Listening to EventBus events

The opposite for the fire() method is listen() and unlisten(). First +components.

+

This is used to notify the parent components of user interaction with +custom controls in your UI, or to notify the page Controller/Extension itself.

+

The custom events may have any name and carry arbitrary data that are not +restricted to JSON-serializable values.

+

Firing EventBus events

+

EventBus can be used in View and Components via fire() method that is +inherited from ima/page/AbstractComponent.

+
// app/component/expandable/ExpandLink.jsx

onClick(event) {
const { expandableId } = this.props;
this.fire('expand', { expandableId }); // this will be stopped by ExpandableWrapper
}

render() {
return (
<button onClick = { event => this.onClick(event) }>
{ this.props.children }
</button>
);
}
+

Listening to EventBus events

+

The opposite for the fire() method is listen() and unlisten(). First argument for the listen() and unlisten() method is an element the listener will be bound to. It can be either DOM element or a React Component that is -mounted in the DOM tree.

// app/component/expandable/ExpandableWrapper.jsx

constructor() {
this._expandListener = this._expandWrapper.bind(this);
}

componentDidMount() {
this.listen(this, 'expand', this._expandListener);
}

componentWillUnmount() {
this.unlisten(this, 'expand', this._expandListener);
}

_expandWrapper(event) {
if (event.data.expandableId !== this.expandableId) {
return; // this expand event is not meant for us.
}

// Do to propagate the event further.
event.stopPropagation();

// Do the expand!
}

render() {
return (
<div className = 'expandWrapper'>
// ... ExpandLink can be nested any level deep. Otherwise we could use simple props callback
<ExpandLink expandableId = { this.expandableId }>
See more
</ExpandLink>
</div>
);
}

Furthermore, the Controllers and Extensions can easily listen for the events dispatched using +mounted in the DOM tree.

+
// app/component/expandable/ExpandableWrapper.jsx

constructor() {
this._expandListener = this._expandWrapper.bind(this);
}

componentDidMount() {
this.listen(this, 'expand', this._expandListener);
}

componentWillUnmount() {
this.unlisten(this, 'expand', this._expandListener);
}

_expandWrapper(event) {
if (event.data.expandableId !== this.expandableId) {
return; // this expand event is not meant for us.
}

// Do to propagate the event further.
event.stopPropagation();

// Do the expand!
}

render() {
return (
<div className = 'expandWrapper'>
// ... ExpandLink can be nested any level deep. Otherwise we could use simple props callback
<ExpandLink expandableId = { this.expandableId }>
See more
</ExpandLink>
</div>
);
}
+

Furthermore, the Controllers and Extensions can easily listen for the events dispatched using the EventBus (unless the propagation of the event is stopped by a component -half the way) by declaring event listener methods.

An event listener method is a method of a controller/extension named by the first-letter +half the way) by declaring event listener methods.

+

An event listener method is a method of a controller/extension named by the first-letter capitalized event name with the on prefix, for example the formSubmitted event can be listened for by defining the onFormSubmitted() method on your -controller.

The first argument passed into the controller's or extension's event listener method will be +controller.

+

The first argument passed into the controller's or extension's event listener method will be the event data, not the event object itself, as manipulating the event object -once it reaches the controller/extension is pointless.

// app/page/article/ArticleController.js

onExpand({ expandableId }) {
// Event never reaches this point because we issued
// event.stopPropagation() in ExpandableWrapper.jsx
}

You can restrict the controller/extension to specific events by setting the $name static field +once it reaches the controller/extension is pointless.

+
// app/page/article/ArticleController.js

onExpand({ expandableId }) {
// Event never reaches this point because we issued
// event.stopPropagation() in ExpandableWrapper.jsx
}
+

You can restrict the controller/extension to specific events by setting the $name static field on the controller/extension class. Events with this specific prefix are then applied only to -this controller/extension.

// app/page/article/ArticleController.js

static $name = 'ArticleController';

onExpand({ expandableId }) {
// Event never reaches this point because we issued
// event.stopPropagation() in ExpandableWrapper.jsx
}

// app/component/expandable/ExpandLink.jsx

onClick(event) {
const { expandableId } = this.props;
this.fire('ArticleController.expand', { expandableId });
}

Dispatcher

The obvious limitation of the ima/event/EventBus API is that it only allows +this controller/extension.

+
// app/page/article/ArticleController.js

static $name = 'ArticleController';

onExpand({ expandableId }) {
// Event never reaches this point because we issued
// event.stopPropagation() in ExpandableWrapper.jsx
}

// app/component/expandable/ExpandLink.jsx

onClick(event) {
const { expandableId } = this.props;
this.fire('ArticleController.expand', { expandableId });
}
+

Dispatcher

+

The obvious limitation of the ima/event/EventBus API is that it only allows to create events that propagate up the tree of the UI components. The common way to propagate event in other directions, or to other parts of the UI, or -from the controller to the UI is using the app/event/Dispatcher API.

Accessing Dispatcher in Controllers is easy with Dependency Injection.

Firing and listening to Dispatcher events

The Dispatcher allows any UI component and controller to register and deregister +from the controller to the UI is using the app/event/Dispatcher API.

+

Accessing Dispatcher in Controllers is easy with Dependency Injection.

+

Firing and listening to Dispatcher events

+

The Dispatcher allows any UI component and controller to register and deregister event listeners for arbitrarily named events using listen() and unlisten() -methods and fire these events with arbitrary data using fire() method.

Events propagate directly to the registered event listeners with no way to stop -their propagation.

// app/component/image/Image.jsx

onImageClick(event) {
event.preventDefault();

const { image } = this.props;
this.utils.$Dispatcher.fire('showLightbox', { image });
}
// app/component/lightbox/Lightbox.jsx

componentDidMount() {
this.utils.$Dispatcher.listen('showLightbox', this.onLightboxShow, this);
}

componentWillUnmount() {
this.utils.$Dispatcher.unlisten('showLightbox', this.onLightboxShow, this);
}

onLightboxShow(data) {
// ...
}

Note: Lightbox component can be mounted anywhere in the DOM tree and it -will still receive the showLightbox event when it's fired.

Note: A great place to -mount components like Lightbox is ManagedRootView.

Listening to all Dispatcher events

You can listen to all events dispatched by the Dispatcher by using the listenAll() -and unlistenAll() methods.

// app/component/eventLogger/EventLogger.jsx

componentDidMount() {
this.utils.$Dispatcher.listenAll(this._onDispatcherEvent, this);
}

componentWillUnmount() {
this.utils.$Dispatcher.unlistenAll(this._onDispatcherEvent, this);
}

_onDispatcherEvent(eventName, data) {
// ...
}

Observable

The Observable class allows you to subscribe to events dispatched by the +methods and fire these events with arbitrary data using fire() method.

+

Events propagate directly to the registered event listeners with no way to stop +their propagation.

+
// app/component/image/Image.jsx

onImageClick(event) {
event.preventDefault();

const { image } = this.props;
this.utils.$Dispatcher.fire('showLightbox', { image });
}
+
// app/component/lightbox/Lightbox.jsx

componentDidMount() {
this.utils.$Dispatcher.listen('showLightbox', this.onLightboxShow, this);
}

componentWillUnmount() {
this.utils.$Dispatcher.unlisten('showLightbox', this.onLightboxShow, this);
}

onLightboxShow(data) {
// ...
}
+
+

Note: Lightbox component can be mounted anywhere in the DOM tree and it +will still receive the showLightbox event when it's fired.

+
+
+

Note: A great place to +mount components like Lightbox is ManagedRootView.

+
+

Listening to all Dispatcher events

+

You can listen to all events dispatched by the Dispatcher by using the listenAll() +and unlistenAll() methods.

+
// app/component/eventLogger/EventLogger.jsx

componentDidMount() {
this.utils.$Dispatcher.listenAll(this._onDispatcherEvent, this);
}

componentWillUnmount() {
this.utils.$Dispatcher.unlistenAll(this._onDispatcherEvent, this);
}

_onDispatcherEvent(eventName, data) {
// ...
}
+

Observable

+

The Observable class allows you to subscribe to events dispatched by the Dispatcher. Upon subscribing, subscribers will be notified of past and future -events.

Accessing Observable in Controllers is easy with Dependency Injection.

Subscribing and unsubscribing to events

You can subscribe to events dispatched by the Dispatcher using the subscribe(), and unsubscribe using the unsubscribe() method.

// app/component/media/Media.jsx

componentDidMount() {
this.utils.$Observable.subscribe('showLightbox', this._onShowLightbox, this);
}

componentWillUnmount() {
this.utils.$Observable.unsubscribe('showLightbox', this._onShowLightbox, this);
}

_onShowLightbox(data) {
// ...
}

Note: If the showLightbox event was already dispatched before the Media component was mounted, +events.

+

Accessing Observable in Controllers is easy with Dependency Injection.

+

Subscribing and unsubscribing to events

+

You can subscribe to events dispatched by the Dispatcher using the subscribe(), and unsubscribe using the unsubscribe() method.

+
// app/component/media/Media.jsx

componentDidMount() {
this.utils.$Observable.subscribe('showLightbox', this._onShowLightbox, this);
}

componentWillUnmount() {
this.utils.$Observable.unsubscribe('showLightbox', this._onShowLightbox, this);
}

_onShowLightbox(data) {
// ...
}
+
+

Note: If the showLightbox event was already dispatched before the Media component was mounted, the _onShowLightbox method will be called immediately upon subscribing with the data that was passed to the event.
Note: If the event was dispatched multiple times before the Media component was mounted, -the _onShowLightbox method will be called for each event.

Persistent events

The Observable class clears its history of dispatched events when the RouterEvents.BEFORE_HANDLE_ROUTE event is dispatched. -If you want to keep the history of dispatched events, you can use the registerPersistentEvent() method.

// app/config/services.js

export const initServicesApp = (ns, oc, config) => {
const Observable = oc.get('$Observable');

Observable.registerPersistentEvent('scriptLoaded');
}

Settings

By default, the Observable class holds the last 10 events dispatched by the Dispatcher. -You can change this by modifying the $Observable.maxHistoryLength setting.

// app/config/settings.js

export default (ns, oc, config) => {
return {
prod: {
// ...
$Observable: {
maxHistoryLength: 20
}
}
};
}

Built-in events

IMA.js fires a few events that let you know that something has happened under -the hood. You can listen to these events using Dispatcher's listen method.

RouterEvents.BEFORE_HANDLE_ROUTE

This event is fired after the router matches new url to a registered route and -before the page change starts. The data passed with the event look like this:

{
// the new Route instance
route,
// new URL parameters
params,
// the path portion of the new URL (a route definition is matched against this)
path,
// route options extended of options provided to the function
// that triggered the routing
options,
// an action object describing what triggered the routing
// if a PopStateEvent triggered the routing the action object will
// look like this { type: 'popstate', event: PopStateEvent }
// otherwise the event will be MouseEvent (e.g. clicked on a link)
// and type will be either 'redirect', 'click' or 'error'.
action
}

RouterEvents.AFTER_HANDLE_ROUTE

This event is contrary to the BEFORE_HANDLE_ROUTE. It's fired with the same -data but after the page was changed.

Note: The AFTER_HANDLE_ROUTE event will be fired regardless if promises -loaded be the new Controller are resolved.

StateEvents.BEFORE_CHANGE_STATE

An event fired before the page state changes. The handler of this event receives -following data:

{
// The state object derived from the oldState and patchState
newState,
// The current state
oldState,
// The data that were passed to the `setState` method
patchState
}

Note: You can mutate the newState object if you wish. Mutating -oldState and patchState will have no effect.

StateEvents.AFTER_CHANGE_STATE

An event fired after the page state changes. The data passed with this event -contain only the newState object.

RendererEvents.MOUNTED

PageRenderer fires this event after current page view is mounted to the DOM. Event's data contain { type: String } Where type can be one of constants located in @ima/core/page/renderer/Types.

RendererEvents.UPDATED

PageRenderer fires this event after current state is updated in the DOM. Event's data contain { state: Object<string, *>}.

RendererEvents.UNMOUNTED

PageRenderer fires this event after current view is unmounted from the DOM. Event's data contain { type: String } Where type can be one of constants located in @ima/core/page/renderer/Types.

RendererEvents.ERROR

PageRenderer fires this event when there is no _viewContainer in _renderToDOM method. Event's data contain { message: string }.

- - +the _onShowLightbox method will be called for each event.

+ +

Persistent events

+

The Observable class clears its history of dispatched events when the RouterEvents.BEFORE_HANDLE_ROUTE event is dispatched. +If you want to keep the history of dispatched events, you can use the registerPersistentEvent() method.

+
// app/config/services.js

export const initServicesApp = (ns, oc, config) => {
const Observable = oc.get('$Observable');

Observable.registerPersistentEvent('scriptLoaded');
}
+

Settings

+

By default, the Observable class holds the last 10 events dispatched by the Dispatcher. +You can change this by modifying the $Observable.maxHistoryLength setting.

+
// app/config/settings.js

export default (ns, oc, config) => {
return {
prod: {
// ...
$Observable: {
maxHistoryLength: 20
}
}
};
}
+

Built-in events

+

IMA.js fires a few events that let you know that something has happened under +the hood. You can listen to these events using Dispatcher's listen method.

+

RouterEvents.BEFORE_HANDLE_ROUTE

+

This event is fired after the router matches new url to a registered route and +before the page change starts. The data passed with the event look like this:

+
{
// the new Route instance
route,
// new URL parameters
params,
// the path portion of the new URL (a route definition is matched against this)
path,
// route options extended of options provided to the function
// that triggered the routing
options,
// an action object describing what triggered the routing
// if a PopStateEvent triggered the routing the action object will
// look like this { type: 'popstate', event: PopStateEvent }
// otherwise the event will be MouseEvent (e.g. clicked on a link)
// and type will be either 'redirect', 'click' or 'error'.
action
}
+

RouterEvents.AFTER_HANDLE_ROUTE

+

This event is contrary to the BEFORE_HANDLE_ROUTE. It's fired with the same +data but after the page was changed.

+
+

Note: The AFTER_HANDLE_ROUTE event will be fired regardless if promises +loaded be the new Controller are resolved.

+
+

StateEvents.BEFORE_CHANGE_STATE

+

An event fired before the page state changes. The handler of this event receives +following data:

+
{
// The state object derived from the oldState and patchState
newState,
// The current state
oldState,
// The data that were passed to the `setState` method
patchState
}
+
+

Note: You can mutate the newState object if you wish. Mutating +oldState and patchState will have no effect.

+
+

StateEvents.AFTER_CHANGE_STATE

+

An event fired after the page state changes. The data passed with this event +contain only the newState object.

+

RendererEvents.MOUNTED

+

PageRenderer fires this event after current page view is mounted to the DOM. Event's data contain { type: String } Where type can be one of constants located in @ima/core/page/renderer/Types.

+

RendererEvents.UPDATED

+

PageRenderer fires this event after current state is updated in the DOM. Event's data contain { state: Object<string, *>}.

+

RendererEvents.UNMOUNTED

+

PageRenderer fires this event after current view is unmounted from the DOM. Event's data contain { type: String } Where type can be one of constants located in @ima/core/page/renderer/Types.

+

RendererEvents.ERROR

+

PageRenderer fires this event when there is no _viewContainer in _renderToDOM method. Event's data contain { message: string }.

\ No newline at end of file diff --git a/basic-features/extensions/index.html b/basic-features/extensions/index.html index 7bed38a0f..3caa5ba53 100644 --- a/basic-features/extensions/index.html +++ b/basic-features/extensions/index.html @@ -1,34 +1,62 @@ - + - -Extensions | IMA.js - - + +Extensions | IMA.js + + -
-

Extensions

Extensions provide means of extending the page controllers with additional -managed state and logic.

An extension has access to the current route +

Extensions

Extensions provide means of extending the page controllers with additional +managed state and logic.

+

An extension has access to the current route parameters, can specify the resources to load when the page is loading or being updated, may intercept event bus events and modify the state of the page just like an ordinary controller, except that the modifications are restricted to the state fields which the extension explicitly specifies -using its getAllowedStateKeys() method.

Why use extensions

Best case to use extension is a component that +using its getAllowedStateKeys() method.

+

+

Why use extensions

+

Best case to use extension is a component that requires interception of controller lifecycle events and/or loading external -data.

Putting the component's logic inside the controller would be unwise for 3 -reasons:

  1. Controller would contain code that is not as clear. For newcomers to +data.

    +

    Putting the component's logic inside the controller would be unwise for 3 +reasons:

    +
      +
    1. Controller would contain code that is not as clear. For newcomers to your project it'd seem strange why you're mixing e.g. HomeController -logic with GalleryComponent logic.
    2. Component file and its extension file should be kept together because nothing is -bigger pain than searching for related code in the whole project structure.
    3. Component can be used in multiple Views. That means you'd have to -copy & paste the same logic to multiple controllers.

    How to use extensions

    As mentioned above, the extension file should be next to a file of the component -it's extending. For example:

    app/
    ├─ ...
    ├─ component
    | ├─ ...
    | └─ gallery
    | | ├─ Gallery.jsx
    | | ├─ gallery.less
    | | └─ GalleryExtension.js
    | └─ ...
    └─ ...

    In the extension file should be plain class extending -ima/extension/AbstractExtension with the same methods as you'd use in the controller. In addition you should implement getAllowedStateKeys() method which returns array of keys the extension is allowed to change in controller's state. (If the extension itself creates the state key, it does not have to be claimed this way - the extension has access to it automatically.)

    Note: List and description of controller methods can be seen in Controller lifecycle.

    // app/component/gallery/GalleryExtension.js
    import { AbstractExtension } from '@ima/core';

    export default class GalleryExtension extends AbstractExtension {
    static get $dependencies() {
    return [];
    }

    load() {
    // Where the magic happens...
    }
    }

    All extensions to be used on a page must be added to the current controller +logic with GalleryComponent logic.

  2. +
  3. Component file and its extension file should be kept together because nothing is +bigger pain than searching for related code in the whole project structure.
  4. +
  5. Component can be used in multiple Views. That means you'd have to +copy & paste the same logic to multiple controllers.
  6. +
+

How to use extensions

+

As mentioned above, the extension file should be next to a file of the component +it's extending. For example:

+
app/
├─ ...
├─ component
| ├─ ...
| └─ gallery
| | ├─ Gallery.jsx
| | ├─ gallery.less
| | └─ GalleryExtension.js
| └─ ...
└─ ...
+

In the extension file should be plain class extending +ima/extension/AbstractExtension with the same methods as you'd use in the controller. In addition you should implement getAllowedStateKeys() method which returns array of keys the extension is allowed to change in controller's state. (If the extension itself creates the state key, it does not have to be claimed this way - the extension has access to it automatically.)

+
+

Note: List and description of controller methods can be seen in Controller lifecycle.

+
+
// app/component/gallery/GalleryExtension.js
import { AbstractExtension } from '@ima/core';

export default class GalleryExtension extends AbstractExtension {
static get $dependencies() {
return [];
}

load() {
// Where the magic happens...
}
}
+

All extensions to be used on a page must be added to the current controller via $extensions getter. After that, the extensions will go -through the same lifecycle as the controller.

import { AbstractController } from '@ima/core';
import GalleryExtension from 'app/component/gallery/GalleryExtension';

export default class PostController extends AbstractController {
static get $dependencies() {
return [];
}

static get $extensions() {
return [GalleryExtension];
}

constructor() {
//If needed, extension instance can be retrieved using getExtension();
this._galleryExtension = this.getExtension(GalleryExtension);
}

...
}

Extensions can be also defined within routes.

//routes.js

import PostController from 'app/page/post/PostController';
import PostView from 'app/page/post/PostView';
import GalleryExtension from 'app/component/gallery/GalleryExtension';

export default (ns, oc, routesConfig, router) =>
router
.add('home', '/', PostController, PostView, {
extensions: [GalleryExtension],
});

Extensions can be defined in global array of extensions. -This array can be registered in the OC as constant:


//bind.js
import Extension1 from 'app/component/gallery/GalleryExtension';
import Extension2 from 'app/component/gallery/GalleryExtension2';
...
export default (ns, oc, config) => {
oc.constant('$galleryExtensions', [Extension, Extension2]);
}

//PostController.js
import { AbstractController } from '@ima/core';
import GalleryExtension from 'app/component/gallery/GalleryExtension';

export default class PostController extends AbstractController {

...

static get $extensions() {
return ['...$galleryExtensions'];
}

...
}

//Or in routes.js
...
router
.add('home', '/', PostController, PostView, {
extensions: ['...$galleryExtensions'],
});
...

Or just exported array:


//GalleryExtensions.js
import Extension1 from 'app/component/gallery/GalleryExtension';
import Extension2 from 'app/component/gallery/GalleryExtension2';

export const GalleryExtensions = [Extension, Extension2];


//PostController.js
import { AbstractController } from '@ima/core';
import { GalleryExtensions } from 'app/component/gallery/GalleryExtensions';

export default class PostController extends AbstractController {

...

static get $extensions() {
return [...GalleryExtensions];
}

...
}

Passing partial state from controllers

During any lifecycle phase of the page the controller's lifecycle method is called first and then the same method is called on every extension registered in the controller. Order of the extensions is crucial and the same as in which the extensions were registered.

Since v16 you can access the state loaded in controller and preceding extensions (hence the cruciality of extensions order). Bear in mind that the accessed state may contain unresolved promises that need to be treated differently.

Addition of async/await functionality in v17 can lead to dramatic performance drop if not used well. Keep in mind that every await in Controller's or Extension's load method will delay execution of next load method until the asynchronous operation finishes.

// app/component/gallery/GalleryExtension.js

load() {
const {
user: userPromise, // needs to be chained with .then()
userGroupName,
} = this.getState();

const galleryPromise = userPromise.then(user => {
// Calling this.getState() here would still give us unresolved promises.
return this._galleryService.loadByUserName(user.name);
});

return {
gallery: galleryPromise
};
}
- - +through the same lifecycle as the controller.

+
import { AbstractController } from '@ima/core';
import GalleryExtension from 'app/component/gallery/GalleryExtension';

export default class PostController extends AbstractController {
static get $dependencies() {
return [];
}

static get $extensions() {
return [GalleryExtension];
}

constructor() {
//If needed, extension instance can be retrieved using getExtension();
this._galleryExtension = this.getExtension(GalleryExtension);
}

...
}
+

Extensions can be also defined within routes.

+
//routes.js

import PostController from 'app/page/post/PostController';
import PostView from 'app/page/post/PostView';
import GalleryExtension from 'app/component/gallery/GalleryExtension';

export default (ns, oc, routesConfig, router) =>
router
.add('home', '/', PostController, PostView, {
extensions: [GalleryExtension],
});

+

Extensions can be defined in global array of extensions. +This array can be registered in the OC as constant:

+

//bind.js
import Extension1 from 'app/component/gallery/GalleryExtension';
import Extension2 from 'app/component/gallery/GalleryExtension2';
...
export default (ns, oc, config) => {
oc.constant('$galleryExtensions', [Extension, Extension2]);
}

//PostController.js
import { AbstractController } from '@ima/core';
import GalleryExtension from 'app/component/gallery/GalleryExtension';

export default class PostController extends AbstractController {

...

static get $extensions() {
return ['...$galleryExtensions'];
}

...
}

//Or in routes.js
...
router
.add('home', '/', PostController, PostView, {
extensions: ['...$galleryExtensions'],
});
...
+

Or just exported array:

+

//GalleryExtensions.js
import Extension1 from 'app/component/gallery/GalleryExtension';
import Extension2 from 'app/component/gallery/GalleryExtension2';

export const GalleryExtensions = [Extension, Extension2];


//PostController.js
import { AbstractController } from '@ima/core';
import { GalleryExtensions } from 'app/component/gallery/GalleryExtensions';

export default class PostController extends AbstractController {

...

static get $extensions() {
return [...GalleryExtensions];
}

...
}
+

Passing partial state from controllers

+

During any lifecycle phase of the page the controller's lifecycle method is called first and then the same method is called on every extension registered in the controller. Order of the extensions is crucial and the same as in which the extensions were registered.

+

Since v16 you can access the state loaded in controller and preceding extensions (hence the cruciality of extensions order). Bear in mind that the accessed state may contain unresolved promises that need to be treated differently.

+

Addition of async/await functionality in v17 can lead to dramatic performance drop if not used well. Keep in mind that every await in Controller's or Extension's load method will delay execution of next load method until the asynchronous operation finishes.

+
// app/component/gallery/GalleryExtension.js

load() {
const {
user: userPromise, // needs to be chained with .then()
userGroupName,
} = this.getState();

const galleryPromise = userPromise.then(user => {
// Calling this.getState() here would still give us unresolved promises.
return this._galleryService.loadByUserName(user.name);
});

return {
gallery: galleryPromise
};
}
\ No newline at end of file diff --git a/basic-features/handling-scripts-and-styles/index.html b/basic-features/handling-scripts-and-styles/index.html index a34170517..2b0ec6ee2 100644 --- a/basic-features/handling-scripts-and-styles/index.html +++ b/basic-features/handling-scripts-and-styles/index.html @@ -1,16 +1,15 @@ - + - -Handling scripts and styles | IMA.js - - + +Handling scripts and styles | IMA.js + + - - - + \ No newline at end of file diff --git a/basic-features/object-container/index.html b/basic-features/object-container/index.html index 351b48e93..71e6bacda 100644 --- a/basic-features/object-container/index.html +++ b/basic-features/object-container/index.html @@ -1,44 +1,113 @@ - + - -Object Container | IMA.js - - + +Object Container | IMA.js + + -
-

Object Container

The Object Container (OC) is an enhanced dependency injector with support for aliases and constants. It is sophisticated and registers everything it comes across but only if it actually matters.

By registering controllers and views the OC can simply follow your dependency tree and register everything you might possibly need. Below is a diagram of simple dependency tree.

app/config/routes.js
├─ OrderController
| ├─ OrderService / OrderEntity
| | └─ RestClient
| | ├─ $HttpAgent
| | ├─ $Cache
| | └─ LinkGenerator
| | └─ $Router
| └─ UserService / UserEntity
| └─ RestClient
| ├─ $HttpAgent
| ├─ $Cache
| └─ LinkGenerator
| └─ $Router
└─ UserController
├─ ...
└─ ...

Automatic registration with Object Container

Every class that defines static property $dependencies which exports array of dependencies is automatically registered to oc and instanced when it is used (this can happen lazily upon first usage).

Manually registering dependencies

Since the OC cannot discover everything and doesn't know about interfaces you can register your dependencies in a file app/config/bind.js. +

Object Container

The Object Container (OC) is an enhanced dependency injector with support for aliases and constants. It is sophisticated and registers everything it comes across but only if it actually matters.

+

By registering controllers and views the OC can simply follow your dependency tree and register everything you might possibly need. Below is a diagram of simple dependency tree.

+
app/config/routes.js
├─ OrderController
| ├─ OrderService / OrderEntity
| | └─ RestClient
| | ├─ $HttpAgent
| | ├─ $Cache
| | └─ LinkGenerator
| | └─ $Router
| └─ UserService / UserEntity
| └─ RestClient
| ├─ $HttpAgent
| ├─ $Cache
| └─ LinkGenerator
| └─ $Router
└─ UserController
├─ ...
└─ ...
+

Automatic registration with Object Container

+

Every class that defines static property $dependencies which exports array of dependencies is automatically registered to oc and instanced when it is used (this can happen lazily upon first usage).

+

Manually registering dependencies

+

Since the OC cannot discover everything and doesn't know about interfaces you can register your dependencies in a file app/config/bind.js. This file contains a function that receives the namespace register -(deprecated), OC instance and a config object.

// app/config/bind.js
export let init = (ns, oc, config) => {
// Register stuff here
}

OC handles instances of registered dependencies. When registering a class, be aware that its static methods and properties won't be available through OC.

Below is list of methods that the OC provides to register your dependencies.

Note: Every method returns the OC itself so you can chain them together.

1. bind()

Binds the specified class or factory function and dependencies to the +(deprecated), OC instance and a config object.

+
// app/config/bind.js
export let init = (ns, oc, config) => {
// Register stuff here
}
+

OC handles instances of registered dependencies. When registering a class, be aware that its static methods and properties won't be available through OC.

+

Below is list of methods that the OC provides to register your dependencies.

+
+

Note: Every method returns the OC itself so you can chain them together.

+
+

1. bind()

+

Binds the specified class or factory function and dependencies to the specified alias. This allows to create new instances of the class or the function by referencing the alias. Same goes for specifying the class of -the function as a dependency.

Also note that the same class or function may be bound to several -aliases and each may use different dependencies.

The alias will use the current dependencies bound to the class if no -dependencies are provided.

// app/config/bind.js
//
// Binding custom router implementation and
// UserAgent class from IMA.js user-agent plugin

import { UserAgent } from '@ima/plugin-useragent';
import { CustomRouter } from 'app/your-custom-overrides/Router';

export let init = (ns, oc, config) => {
// Simple alias
oc.bind('UserAgent', UserAgent);

// Alias with dependencies
// Override of the IMA.js router implementation
oc.bind('$Router', CustomRouter, [
'$PageManager', '$RouteFactory', '$Dispatcher', Window
]);

// ...
}

Note: The dollar-sign $ at the beginning of an alias marks IMA.js -internal component.

2. constant()

Defines a new constant registered within the OC. Note that +the function as a dependency.

+

Also note that the same class or function may be bound to several +aliases and each may use different dependencies.

+

The alias will use the current dependencies bound to the class if no +dependencies are provided.

+
// app/config/bind.js
//
// Binding custom router implementation and
// UserAgent class from IMA.js user-agent plugin

import { UserAgent } from '@ima/plugin-useragent';
import { CustomRouter } from 'app/your-custom-overrides/Router';

export let init = (ns, oc, config) => {
// Simple alias
oc.bind('UserAgent', UserAgent);

// Alias with dependencies
// Override of the IMA.js router implementation
oc.bind('$Router', CustomRouter, [
'$PageManager', '$RouteFactory', '$Dispatcher', Window
]);

// ...
}
+
+

Note: The dollar-sign $ at the beginning of an alias marks IMA.js +internal component.

+
+

2. constant()

+

Defines a new constant registered within the OC. Note that this is the only way of passing string values to constructors because the OC treats strings as class, interface, alias -or constant names. Once the constant is defined it cannot be redefined.

// app/config/bind.js
//
// Assigning API root URL to a constant that can be later used as a dependency
// (for example in IMA.js RestAPI client)

export let init = (ns, oc, config) => {
oc.constant('REST_API_ROOT_URL', config.api.url);
}

Note: Constants are not limited to primitive values but can also -take objects.

3. inject()

Configures the object loader with the specified default dependencies for -the specified class.

New instances of the class created by the OC will receive the provided -dependencies into constructor unless custom dependencies are provided.

// app/config/bind.js
//
// Injecting the rest client.
// Notice how we used the REST_API_ROOT_URL constant

import Cache from 'ima/cache/Cache';
import HttpAgent from 'ima/http/HttpAgent';
import SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';
import LinkGenerator from 'app/rest-client-impl/LinkGenerator';

export let init = (ns, oc, config) => {
oc.inject(SimpleRestClient, [
HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator
]);
}

Note: For more information about the IMA.js REST Client see IMA-plugin-rest-client repository.

4. provide()

Configures the default implementation of the specified interface. +or constant names. Once the constant is defined it cannot be redefined.

+
// app/config/bind.js
//
// Assigning API root URL to a constant that can be later used as a dependency
// (for example in IMA.js RestAPI client)

export let init = (ns, oc, config) => {
oc.constant('REST_API_ROOT_URL', config.api.url);
}
+
+

Note: Constants are not limited to primitive values but can also +take objects.

+
+

3. inject()

+

Configures the object loader with the specified default dependencies for +the specified class.

+

New instances of the class created by the OC will receive the provided +dependencies into constructor unless custom dependencies are provided.

+
// app/config/bind.js
//
// Injecting the rest client.
// Notice how we used the REST_API_ROOT_URL constant

import Cache from 'ima/cache/Cache';
import HttpAgent from 'ima/http/HttpAgent';
import SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';
import LinkGenerator from 'app/rest-client-impl/LinkGenerator';

export let init = (ns, oc, config) => {
oc.inject(SimpleRestClient, [
HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator
]);
}
+
+

Note: For more information about the IMA.js REST Client see IMA-plugin-rest-client repository.

+
+

4. provide()

+

Configures the default implementation of the specified interface. When the interface is requested from the OC the default implementation -is provided.

The implementation constructor will obtain the provided default -dependencies or the dependencies provided to the create() method.

// app/config/bind.js
//
//

import { AbstractRestClient } from 'ima-plugin-rest-client';
import SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';

export let init = (ns, oc, config) => {
oc.provide(AbstractRestClient, SimpleRestClient);

// We didn't specify any dependencies on purpose
// they were set in the previous example.
// Otherwise it would be like this:

oc.provide(
AbstractRestClient,
SimpleRestClient,
[
HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator
]
);
}

Obtaining dependencies

In IMA.js application you can obtain dependencies using many different methods, where each one can be useful in different situation and environment.

1. Dependency Injection

Apart from defining dependencies manually in app/config/bind.js can every class (discovered by the OC) define a static getter $dependencies. This getter should return list of dependencies specified by a class constructor or a string alias.

// app/page/order/OrderController.js
//
// OrderController is discovered by the OC
// because it's registered in app/config/routes.js

import { AbstractController } from '@ima/core';
import OrderService from 'app/model/order/OrderService.js';
import UserService from 'app/model/user/UserService.js';

export default class OrderController extends AbstractController {

static get $dependencies() {
return [
OrderService,
UserService,
'$Router'
];
}

// ...

Once you've defined the dependencies the constructor of the class will receive their instances.

  constructor(orderService, userService, $router) {
super();

this._orderService = orderService;
this._userService = userService;
this._$router = $router;
}

// ...

Optional dependencies

Dependencies can also be defined as optional. +is provided.

+

The implementation constructor will obtain the provided default +dependencies or the dependencies provided to the create() method.

+
// app/config/bind.js
//
//

import { AbstractRestClient } from 'ima-plugin-rest-client';
import SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';

export let init = (ns, oc, config) => {
oc.provide(AbstractRestClient, SimpleRestClient);

// We didn't specify any dependencies on purpose
// they were set in the previous example.
// Otherwise it would be like this:

oc.provide(
AbstractRestClient,
SimpleRestClient,
[
HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator
]
);
}
+

Obtaining dependencies

+

In IMA.js application you can obtain dependencies using many different methods, where each one can be useful in different situation and environment.

+

1. Dependency Injection

+

Apart from defining dependencies manually in app/config/bind.js can every class (discovered by the OC) define a static getter $dependencies. This getter should return list of dependencies specified by a class constructor or a string alias.

+
// app/page/order/OrderController.js
//
// OrderController is discovered by the OC
// because it's registered in app/config/routes.js

import { AbstractController } from '@ima/core';
import OrderService from 'app/model/order/OrderService.js';
import UserService from 'app/model/user/UserService.js';

export default class OrderController extends AbstractController {

static get $dependencies() {
return [
OrderService,
UserService,
'$Router'
];
}

// ...
+

Once you've defined the dependencies the constructor of the class will receive their instances.

+
  constructor(orderService, userService, $router) {
super();

this._orderService = orderService;
this._userService = userService;
this._$router = $router;
}

// ...

+

Optional dependencies

+

Dependencies can also be defined as optional. If those dependencies are present in the OC, the constructor of the class will receive their instances. -Otherwise it will receive undefined.

To use optional dependency, prefix ? is added before the string alias or the dependency is wrapped in array, with option specifying if it's optional or not.

// app/page/order/OrderController.js
//
// OrderController using optional dependencies

import { AbstractController } from '@ima/core';
import OrderService from 'app/model/order/OrderService.js';
import UserService from 'app/model/user/UserService.js';

export default class OrderController extends AbstractController {

static get $dependencies() {
return [
[OrderService, { optional: true }],
[UserService, { optional: false }],
'?$Settings.api.serverApiUrl'
];
}

// ...

Spread dependencies

Dependencies can be added to array registered in the OC. These dependencies can be then spread to the class constructor using spread operator ....

// app/config/bind.js
//
// Creating array of dependencies

import OrderService from 'app/model/order/OrderService.js';
import UserService from 'app/model/user/UserService.js';

export let init = (ns, oc, config) => {
oc.constant('$spreadDependencies', [OrderService, UserService]);
}
// app/page/order/OrderController.js
//
// OrderController using spread dependencies

import { AbstractController } from '@ima/core';

export default class OrderController extends AbstractController {

static get $dependencies() {
return ['...$spreadDependencies'];
}

constructor(orderService, userService) {
super();

this._orderService = orderService;
this._userService = userService;
}

// ...

Spread and optional dependencies can be combined.

// ...
static get $dependencies() {
return ['...?$spreadDependencies'];
}
// ...
// ...
static get $dependencies() {
return [['...$spreadDependencies', { optional: true }]];
}
// ...

2. get()

Retrieves the shared instance or value of the specified constant, alias, +Otherwise it will receive undefined.

+

To use optional dependency, prefix ? is added before the string alias or the dependency is wrapped in array, with option specifying if it's optional or not.

+
// app/page/order/OrderController.js
//
// OrderController using optional dependencies

import { AbstractController } from '@ima/core';
import OrderService from 'app/model/order/OrderService.js';
import UserService from 'app/model/user/UserService.js';

export default class OrderController extends AbstractController {

static get $dependencies() {
return [
[OrderService, { optional: true }],
[UserService, { optional: false }],
'?$Settings.api.serverApiUrl'
];
}

// ...
+

Spread dependencies

+

Dependencies can be added to array registered in the OC. These dependencies can be then spread to the class constructor using spread operator ....

+
// app/config/bind.js
//
// Creating array of dependencies

import OrderService from 'app/model/order/OrderService.js';
import UserService from 'app/model/user/UserService.js';

export let init = (ns, oc, config) => {
oc.constant('$spreadDependencies', [OrderService, UserService]);
}
+
// app/page/order/OrderController.js
//
// OrderController using spread dependencies

import { AbstractController } from '@ima/core';

export default class OrderController extends AbstractController {

static get $dependencies() {
return ['...$spreadDependencies'];
}

constructor(orderService, userService) {
super();

this._orderService = orderService;
this._userService = userService;
}

// ...
+

Spread and optional dependencies can be combined.

+
// ...
static get $dependencies() {
return ['...?$spreadDependencies'];
}
// ...
+
// ...
static get $dependencies() {
return [['...$spreadDependencies', { optional: true }]];
}
// ...
+

2. get()

+

Retrieves the shared instance or value of the specified constant, alias, class or factory function, interface, or fully qualified namespace path -(the method checks these in this order in case of a name clash).

The instance or value is created lazily the first time it is requested.

oc.get('REST_API_ROOT_URL');
oc.get('UserAgent');
oc.get(AbstractRestClient); // This returns instance of `SimpleRestClient` as we defined in the previous example

3. create()

Creates a new instance of the class or retrieves the value generated by +(the method checks these in this order in case of a name clash).

+

The instance or value is created lazily the first time it is requested.

+
oc.get('REST_API_ROOT_URL');
oc.get('UserAgent');
oc.get(AbstractRestClient); // This returns instance of `SimpleRestClient` as we defined in the previous example
+

3. create()

+

Creates a new instance of the class or retrieves the value generated by the factory function identified by the provided name, class, interface, -or factory function, passing in the provided dependencies.

The method uses the dependencies specified when the class, interface or +or factory function, passing in the provided dependencies.

+

The method uses the dependencies specified when the class, interface or factory function has been registered with the object container if no -custom dependencies are provided.

import { Cache, HttpAgent } from '@ima/core';
import SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';
import LinkGenerator from 'app/rest-client-impl/LinkGenerator';

oc.create('UserAgent');
oc.create(
SimpleRestClient,
[
HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator
]
);

The last two method are not used as much as the first one but can be -useful inside the app/config/bind.js and app/config/routes.js

Other methods

  • has() returns true if the specified object, class or resource is registered -within the OC.
if (oc.has('UserAgent') && oc.get('UserAgent').isMobile()) {
// Register conditional stuff here...
}
  • getConstructorOf() returns the class constructor function of the specified class or alias.
- - +custom dependencies are provided.

+
import { Cache, HttpAgent } from '@ima/core';
import SimpleRestClient from 'app/rest-client-impl/SimpleRestClient';
import LinkGenerator from 'app/rest-client-impl/LinkGenerator';

oc.create('UserAgent');
oc.create(
SimpleRestClient,
[
HttpAgent, Cache, 'REST_API_ROOT_URL', LinkGenerator
]
);
+

The last two method are not used as much as the first one but can be +useful inside the app/config/bind.js and app/config/routes.js

+

Other methods

+
    +
  • has() returns true if the specified object, class or resource is registered +within the OC.
  • +
+
if (oc.has('UserAgent') && oc.get('UserAgent').isMobile()) {
// Register conditional stuff here...
}
+
    +
  • getConstructorOf() returns the class constructor function of the specified class or alias.
  • +
\ No newline at end of file diff --git a/basic-features/page-manager/index.html b/basic-features/page-manager/index.html index 611a529a0..2a51d16a2 100644 --- a/basic-features/page-manager/index.html +++ b/basic-features/page-manager/index.html @@ -1,18 +1,60 @@ - + - -Page Manager | IMA.js - - + +Page Manager | IMA.js + + -
-

Page Manager

Page Manager is an essential part of IMA.js. It's something like a puppeteer that manipulates with pages and views. Once a router matches URL to one of route's path the page manager takes care of the rest.

Managing process

If the new matched route has onlyUpdate option set to true and the controller and view hasn't changed the route transition is dispatched only through update method of the controller.

In every other case the manager goes through it's full process:

  1. Unload previous controller and extensions - To make room for the new, manager has to get rid of the old controller and extensions. First calls deactivate method on every extension registered in the old controller and then the same method on the controller itself. -Same process follows with destroy method.

  2. Clear state and unmount view - After unloading controller and extensions the page state is cleared and view (starting from ManagedRootView) is unmounted. However if the DocumentView, ViewAdapter and ManagedRootView are the same for the new route the view is cleared rather then unmounted. This way you can achieve component persistency.

  3. Loading new controller and extensions - After the manager is done with clearing previous resource it initializes the new ones. First the init method is called on controller then on every extension (Extensions may be initialized during the controllers init method call). -When the initialization is complete manager starts loading resources via load method of the controller and extensions. For detailed explanation see the load method documentation.

  4. Rendering new view - After the load method has been called a view for the controller is rendered. It doesn't matter if all promises returned by the load method have been resolved. The process of handling promises is described in the load method documentation. Following rendering process is described on a page Rendering process and View & Components.

Intervene into the process

It's possible for you to intervene into the process before it starts and after it finished. One way is to listen to BEFORE_HANDLE_ROUTE and AFTER_HANDLE_ROUTE dispatcher events. However from inside event listeners you cannot intercept or modify the process. For this purpose we've introduced PageManagerHandlers in v16

PageManagerHandlers

PageManagerHandler is a simple class that extends ima/page/handler/PageHandler. It can obtain dependencies through dependency injection. Each handler should contain 4 methods:

1. init() method

For purpose of initializing.

2. handlePreManagedState() method

This method is called before the page manager start taking any action. It receives 3 arguments managedPage, nextManagedPage and action. managedPage holds information about current page, nextManagedPage about following page. Each of the "managed page" arguments has following shape:

{
controller: ?(string|function(new: Controller)), // controller class
controllerInstance: ?Controller, // instantiated controller
decoratedController: ?Controller, // controller decorator created from controller instance
view: ?React.Component, // view class/component
viewInstance: ?React.Element, // instantiated view
route: ?Route, // matched route that leads to the controller
options: ?RouteOptions, // route options
params: ?Object<string, string>, // route parameters and their values
state: {
activated: boolean // if the page has been activated
}
}

and finally the action is an object describing what triggered the routing. If a PopStateEvent triggered the routing the action object will look like this: { type: 'popstate', event: PopStateEvent } otherwise the event property will contain MouseEvent (e.g. clicked on a link) and type property will have value 'redirect', 'click' or 'error'.

3. handlePostManagedState() method

This method is a counterpart to handlePreManagedState() method. It's called after page transition is finished. It receives similar arguments (managedPage, previousManagedPage and action). previousManagedPage holds information about previous page.

Note: handlePreManagedState() and handlePostManagedState() methods can interrupt transition process by throwing an error. The thrown error should be instance of GenericError with a status code specified. That way the router can handle thrown error accordingly.

4. destroy() method

For purpose of destructing

Registering PageManagerHandlers

PageManagerHandlers have their own registry PageHandlerRegistry. Every handler you create should be registered as a dependency of this registry.

// app/config/bind.js
import { PageHandlerRegistry, Window } from '@ima/core';
import MyOwnHandler from 'app/handler/MyOwnHandler';

export let init = (ns, oc, config) => {
// ...

if (oc.get(Window).isClient()) { // register different handlers for client and server
oc.inject(PageHandlerRegistry, [MyOwnHandler]);
} else {
oc.inject(PageHandlerRegistry, []);
}
};

Note: Handlers are executed in series and each one waits for the previous one to complete its task.

With introduction of PageManagerHandlers in v16 we've moved some functionality to predefined handler PageNavigationHandler. This handler takes care of saving scroll position, restoring scroll position and settings browser's address bar URL. You're free to extend it, override it or whatever else you want.

PageNavigationHandler is registered by default, but when you register your own handlers you need to specify PageNavigationHandler as well.

import { PageHandlerRegistry, PageNavigationHandler } from '@ima/core';
import MyOwnHandler from 'app/handler/MyOwnHandler';

export let init = (ns, oc, config) => {
// ...
oc.inject(PageHandlerRegistry, [PageNavigationHandler, MyOwnHandler]);
};
- - +

Page Manager

Page Manager is an essential part of IMA.js. It's something like a puppeteer that manipulates with pages and views. Once a router matches URL to one of route's path the page manager takes care of the rest.

+

+

Managing process

+

If the new matched route has onlyUpdate option set to true and the controller and view hasn't changed the route transition is dispatched only through update method of the controller.

+

In every other case the manager goes through it's full process:

+
    +
  1. +

    Unload previous controller and extensions - To make room for the new, manager has to get rid of the old controller and extensions. First calls deactivate method on every extension registered in the old controller and then the same method on the controller itself. +Same process follows with destroy method.

    +
  2. +
  3. +

    Clear state and unmount view - After unloading controller and extensions the page state is cleared and view (starting from ManagedRootView) is unmounted. However if the DocumentView, ViewAdapter and ManagedRootView are the same for the new route the view is cleared rather then unmounted. This way you can achieve component persistency.

    +
  4. +
  5. +

    Loading new controller and extensions - After the manager is done with clearing previous resource it initializes the new ones. First the init method is called on controller then on every extension (Extensions may be initialized during the controllers init method call). +When the initialization is complete manager starts loading resources via load method of the controller and extensions. For detailed explanation see the load method documentation.

    +
  6. +
  7. +

    Rendering new view - After the load method has been called a view for the controller is rendered. It doesn't matter if all promises returned by the load method have been resolved. The process of handling promises is described in the load method documentation. Following rendering process is described on a page Rendering process and View & Components.

    +
  8. +
+

Intervene into the process

+

It's possible for you to intervene into the process before it starts and after it finished. One way is to listen to BEFORE_HANDLE_ROUTE and AFTER_HANDLE_ROUTE dispatcher events. However from inside event listeners you cannot intercept or modify the process. For this purpose we've introduced PageManagerHandlers in v16

+

PageManagerHandlers

+

PageManagerHandler is a simple class that extends ima/page/handler/PageHandler. It can obtain dependencies through dependency injection. Each handler should contain 4 methods:

+

1. init() method

+

For purpose of initializing.

+

2. handlePreManagedState() method

+

This method is called before the page manager start taking any action. It receives 3 arguments managedPage, nextManagedPage and action. managedPage holds information about current page, nextManagedPage about following page. Each of the "managed page" arguments has following shape:

+
{
controller: ?(string|function(new: Controller)), // controller class
controllerInstance: ?Controller, // instantiated controller
decoratedController: ?Controller, // controller decorator created from controller instance
view: ?React.Component, // view class/component
viewInstance: ?React.Element, // instantiated view
route: ?Route, // matched route that leads to the controller
options: ?RouteOptions, // route options
params: ?Object<string, string>, // route parameters and their values
state: {
activated: boolean // if the page has been activated
}
}
+

and finally the action is an object describing what triggered the routing. If a PopStateEvent triggered the routing the action object will look like this: { type: 'popstate', event: PopStateEvent } otherwise the event property will contain MouseEvent (e.g. clicked on a link) and type property will have value 'redirect', 'click' or 'error'.

+

3. handlePostManagedState() method

+

This method is a counterpart to handlePreManagedState() method. It's called after page transition is finished. It receives similar arguments (managedPage, previousManagedPage and action). previousManagedPage holds information about previous page.

+
+

Note: handlePreManagedState() and handlePostManagedState() methods can interrupt transition process by throwing an error. The thrown error should be instance of GenericError with a status code specified. That way the router can handle thrown error accordingly.

+
+

4. destroy() method

+

For purpose of destructing

+

Registering PageManagerHandlers

+

PageManagerHandlers have their own registry PageHandlerRegistry. Every handler you create should be registered as a dependency of this registry.

+
// app/config/bind.js
import { PageHandlerRegistry, Window } from '@ima/core';
import MyOwnHandler from 'app/handler/MyOwnHandler';

export let init = (ns, oc, config) => {
// ...

if (oc.get(Window).isClient()) { // register different handlers for client and server
oc.inject(PageHandlerRegistry, [MyOwnHandler]);
} else {
oc.inject(PageHandlerRegistry, []);
}
};
+
+

Note: Handlers are executed in series and each one waits for the previous one to complete its task.

+
+ +

With introduction of PageManagerHandlers in v16 we've moved some functionality to predefined handler PageNavigationHandler. This handler takes care of saving scroll position, restoring scroll position and settings browser's address bar URL. You're free to extend it, override it or whatever else you want.

+

PageNavigationHandler is registered by default, but when you register your own handlers you need to specify PageNavigationHandler as well.

+
import { PageHandlerRegistry, PageNavigationHandler } from '@ima/core';
import MyOwnHandler from 'app/handler/MyOwnHandler';

export let init = (ns, oc, config) => {
// ...
oc.inject(PageHandlerRegistry, [PageNavigationHandler, MyOwnHandler]);
};
\ No newline at end of file diff --git a/basic-features/page-state/index.html b/basic-features/page-state/index.html index 53371b990..afeac171e 100644 --- a/basic-features/page-state/index.html +++ b/basic-features/page-state/index.html @@ -1,21 +1,51 @@ - + - -Page State | IMA.js - - + +Page State | IMA.js + + -
-

Page State

Core of each application is the data the app is working with. The data needs to be managed in some manner and user needs to be able to manipulate with the data during application run. IMA.js adopted a React style of state management.

A PageStateManager class is used for managing page state and is in tight cooperation with PageManager. -PageManager need state manager to collect initial state from Controller and registered extension, and to be informed about every state change that happens inside Controller or Extension.

Get & Set

As we've mentioned before, IMA.js state management is inspired by React. In every Controller and Extension you can call this.setState(patchObject) method that will update page state and trigger new rendering of a View. Counterpart to setState is getState. This method returns current state that is shared among controller and all its registered extensions.

// app/page/home/HomeController.js

onVisibilityToggle() {
const { visibility } = this.getState();

this.setState({ visibility: !visibility });
}

Initial page state

First additions to page state are set when load method of a Controller and Extensions returns an object of resources. These resources may be plain data or (un)resolved promises. Promises are handled differently on server vs. client. This behavior is described in Controller's load method documentation.

Partial state

Since Extensions also have a word in loading resources it may be necessary to share resources between Controller and Extensions. Here comes partial state into play. It allows you to call getState method in load method of an Extension. Received state consists of states collected from loaded Controller and Extensions loaded prior to the current Extension. Extensions are loaded in the same order as they were registered in a Controller.

Note: Promises in received state may not be resolved. Therefore you need to chain promises or use async/await.

Note: If you'll use async/await execution will not be parallel relative to other promises.

// app/page/home/HomeController.js
export default class HomeController extends AbstractController {

load() {
const userPromise = this._userService.load(this.params.userId);

return {
user: userPromise
};
}
}
// app/component/poll/PollExtension.js
export default class PollExtension extends AbstractExtension {
getAllowedStateKeys() {
return ['pollVotes'];
}

load() {
const { user: userPromise } = this.getState();
const pollVotesPromise = userPromise.then(
user => this._pollService.getVotes(user.id)
);

return {
pollVotes: pollVotesPromise
};
}
}

State transactions

State transactions, similarly to SQL transactions, provide a way to queue state patches and then commit them as a one to the original state.

They're here for use cases where you'd in you workflow call setState method multiple times or you'd have to collect state patches in a separate variable (this is hard to do across multiple methods).

Transaction is initiated with beginStateTransaction() in Controller/Extension. After that +

Page State

Core of each application is the data the app is working with. The data needs to be managed in some manner and user needs to be able to manipulate with the data during application run. IMA.js adopted a React style of state management.

+

+

A PageStateManager class is used for managing page state and is in tight cooperation with PageManager. +PageManager need state manager to collect initial state from Controller and registered extension, and to be informed about every state change that happens inside Controller or Extension.

+

Get & Set

+

As we've mentioned before, IMA.js state management is inspired by React. In every Controller and Extension you can call this.setState(patchObject) method that will update page state and trigger new rendering of a View. Counterpart to setState is getState. This method returns current state that is shared among controller and all its registered extensions.

+
// app/page/home/HomeController.js

onVisibilityToggle() {
const { visibility } = this.getState();

this.setState({ visibility: !visibility });
}
+

Initial page state

+

First additions to page state are set when load method of a Controller and Extensions returns an object of resources. These resources may be plain data or (un)resolved promises. Promises are handled differently on server vs. client. This behavior is described in Controller's load method documentation.

+

Partial state

+

Since Extensions also have a word in loading resources it may be necessary to share resources between Controller and Extensions. Here comes partial state into play. It allows you to call getState method in load method of an Extension. Received state consists of states collected from loaded Controller and Extensions loaded prior to the current Extension. Extensions are loaded in the same order as they were registered in a Controller.

+
+

Note: Promises in received state may not be resolved. Therefore you need to chain promises or use async/await.

+
+
+

Note: If you'll use async/await execution will not be parallel relative to other promises.

+
+
// app/page/home/HomeController.js
export default class HomeController extends AbstractController {

load() {
const userPromise = this._userService.load(this.params.userId);

return {
user: userPromise
};
}
}
+
// app/component/poll/PollExtension.js
export default class PollExtension extends AbstractExtension {
getAllowedStateKeys() {
return ['pollVotes'];
}

load() {
const { user: userPromise } = this.getState();
const pollVotesPromise = userPromise.then(
user => this._pollService.getVotes(user.id)
);

return {
pollVotes: pollVotesPromise
};
}
}
+

State transactions

+

State transactions, similarly to SQL transactions, provide a way to queue state patches and then commit them as a one to the original state.

+

They're here for use cases where you'd in you workflow call setState method multiple times or you'd have to collect state patches in a separate variable (this is hard to do across multiple methods).

+

Transaction is initiated with beginStateTransaction() in Controller/Extension. After that every setState call is queued and doesn't change the state or re-render anything. If there -is another transaction initiated before you commit you'll lost your patches.

If you want to see what changes are in queue from the begin of transaction call getTransactionStatePatches() method.

To finish the transaction you have to call commitStateTransaction() method. It will squash +is another transaction initiated before you commit you'll lost your patches.

+

If you want to see what changes are in queue from the begin of transaction call getTransactionStatePatches() method.

+

To finish the transaction you have to call commitStateTransaction() method. It will squash all the patches made during the transaction into a one and apply it to the original state. -Therefore your application will re-render only once and you'll also receive state events only once.

Another way to finish the transaction is to cancel it via cancelStateTransaction() method.

Note: Call to getState method after the transaction has begun will return state as it was before the transaction eg. the returned state doesn't include changes from the transaction period until the transaction is committed.

async onFormSubmit({ content, deleteRevisions = false }) {
const { article } = this.getState();

this.beginStateTransaction();

const result = await this._http.put(/* ... */);

if (deleteRevisions) {
await this.deleteArticleRevisions();
}

this.setState({ article: Object.assign({}, article, { content }) });
this.commitStateTransaction();
}

async deleteArticleRevisions() {
const { article, revisions } = this.getState();

await this._http.delete(/* ... */);

this.setState({ revisions: [] });
}

In the example above, after the form is submitted with deleteRevisions = true:

  • Two setState calls are made
  • Only one render is triggered after the commitStateTransaction call
- - +Therefore your application will re-render only once and you'll also receive state events only once.

+

Another way to finish the transaction is to cancel it via cancelStateTransaction() method.

+
+

Note: Call to getState method after the transaction has begun will return state as it was before the transaction eg. the returned state doesn't include changes from the transaction period until the transaction is committed.

+
+
async onFormSubmit({ content, deleteRevisions = false }) {
const { article } = this.getState();

this.beginStateTransaction();

const result = await this._http.put(/* ... */);

if (deleteRevisions) {
await this.deleteArticleRevisions();
}

this.setState({ article: Object.assign({}, article, { content }) });
this.commitStateTransaction();
}

async deleteArticleRevisions() {
const { article, revisions } = this.getState();

await this._http.delete(/* ... */);

this.setState({ revisions: [] });
}
+

In the example above, after the form is submitted with deleteRevisions = true:

+
    +
  • Two setState calls are made
  • +
  • Only one render is triggered after the commitStateTransaction call
  • +
\ No newline at end of file diff --git a/basic-features/rendering-process/index.html b/basic-features/rendering-process/index.html index 79a9d133e..7c5bc9b6a 100644 --- a/basic-features/rendering-process/index.html +++ b/basic-features/rendering-process/index.html @@ -1,56 +1,91 @@ - + - -Rendering process | IMA.js - - + +Rendering process | IMA.js + + -
-

Rendering process

The rendering process goes through many points you can customize or take +

Rendering process

The rendering process goes through many points you can customize or take advantage of. First thing IMA.js will want to render is a DocumentView -followed by ViewAdapter and ManagedRootView.

DocumentView

DocumentView is the root of your application's html markup and a mounting point +followed by ViewAdapter and ManagedRootView.

+

+

DocumentView

+

DocumentView is the root of your application's html markup and a mounting point for all the views. It's only rendered at the server-side and then send to the client with the application state inlined as a string. The application state is -then revived and your application re-rendered.

DocumentView component can be found in app/component/document/DocumentView.jsx +then revived and your application re-rendered.

+

DocumentView component can be found in app/component/document/DocumentView.jsx and is registered in a file app/config/settings.js in property -$Page.$Render.documentView.

// app/config/settings.js

import DocumentView from 'app/component/document/DocumentView';

export default (ns, oc, config) => {
return {
prod: {
// ...
$Page: {
$Render: {
// ...
documentView: DocumentView
}
}
}
};
}

This configuration affects all pages across the +$Page.$Render.documentView.

+
// app/config/settings.js

import DocumentView from 'app/component/document/DocumentView';

export default (ns, oc, config) => {
return {
prod: {
// ...
$Page: {
$Render: {
// ...
documentView: DocumentView
}
}
}
};
}
+

This configuration affects all pages across the application. To change DocumentView for an individual route use option documentView when registering the route (See Route options for more information). This feature is extremely useful when creating pages -that are embedded in an iframe.

If you take a closer look at the contents of the DocumentView you'll see it +that are embedded in an iframe.

+

If you take a closer look at the contents of the DocumentView you'll see it consists of 3 main HTML elements (div#page, script#revivalSettings and script#scripts). For documentation about the MetaManager and how it's used in -the <meta/> tags see the SEO & MetaManager page.

  1. div#page - This is the actual point where your application will mount with the help of +the <meta/> tags see the SEO & MetaManager page.

    +
      +
    1. +

      div#page - This is the actual point where your application will mount with the help of ViewAdapter. The whole component tree (starting with the ViewAdapter) is contained in the page property and is embedded into the div#page via a React workaround dangerouslySetInnerHTML={{ __html: this.props.page }}. You're completely free to change the #page ID of the div but IMA.js needs to know where the mounting point is. Therefore there is a static get masterElementId() -method that should return the ID as a string.

    2. script#revivalSettings - Inside this <script/> tag will be inlined the application state from the +method that should return the ID as a string.

      +
    3. +
    4. +

      script#revivalSettings - Inside this <script/> tag will be inlined the application state from the server. The state is embedded into the script tag via the same workaround as -the component tree.

    5. script#scripts - This <script/> tags takes care of loading all the bundles you've defined in +the component tree.

      +
    6. +
    7. +

      script#scripts - This <script/> tags takes care of loading all the bundles you've defined in app/build.js. It also tests if a client browser is capable of running ES6 version of the bundle. For -more details check the this.getAsyncScripts() method.

    ViewAdapter

    This component does exactly what it's named after. It serves as an adapter +more details check the this.getAsyncScripts() method.

    +
  2. +
+

ViewAdapter

+

This component does exactly what it's named after. It serves as an adapter for the current controller's View. The ViewAdapter receives 2 props: state object which holds the current page state and view component that -should be rendered with the state as input props.

This component is also a great place for creating the React context by utilizing a -Provider from React.createContext().

If you want to customize the ViewAdapter you should extend the base +should be rendered with the state as input props.

+

This component is also a great place for creating the React context by utilizing a +Provider from React.createContext().

+

If you want to customize the ViewAdapter you should extend the base ViewAdapter from ima/page/renderer/ViewAdapter and call superior -constructor and render method.

Custom ViewAdapter can be applied the same way as DocumentView:

  1. In app/config/setting.js
  2. On a specific route by specifying it in the route options.
// app/config/settings.js

import DocumentView from 'app/component/document/DocumentView';
import CustomViewAdapter from 'app/page/CustomViewAdapter';

export default (ns, oc, config) => {
return {
prod: {
// ...
$Page: {
$Render: {
// ...
documentView: DocumentView,
viewAdapter: CustomViewAdapter
}
}
}
};
}

React Context

As we have mentioned above, ViewAdapter is the place to define React Context. Since v17 IMA.js uses new React Context API. The context value contains property $Utils with all registered utils from ComponentUtils.

Context is defined in separate file and its Provider is rendered in ViewAdapter. Then the Context is used in AbstractComponent in static get contextType().

ManagedRootView

The ManagedRootView is just another wrapper before rendering the actual +constructor and render method.

+

Custom ViewAdapter can be applied the same way as DocumentView:

+
    +
  1. In app/config/setting.js
  2. +
  3. On a specific route by specifying it in the route options.
  4. +
+
// app/config/settings.js

import DocumentView from 'app/component/document/DocumentView';
import CustomViewAdapter from 'app/page/CustomViewAdapter';

export default (ns, oc, config) => {
return {
prod: {
// ...
$Page: {
$Render: {
// ...
documentView: DocumentView,
viewAdapter: CustomViewAdapter
}
}
}
};
}
+

React Context

+

As we have mentioned above, ViewAdapter is the place to define React Context. Since v17 IMA.js uses new React Context API. The context value contains property $Utils with all registered utils from ComponentUtils.

+

Context is defined in separate file and its Provider is rendered in ViewAdapter. Then the Context is used in AbstractComponent in static get contextType().

+

ManagedRootView

+

The ManagedRootView is just another wrapper before rendering the actual controller view. Remember when we told you that the ViewAdapter is -rendering the actual View? We lied ¯\_(ツ)_/¯.

If you're wondering what is the ManagedRootView good for, it's for creating +rendering the actual View? We lied ¯\_(ツ)_/¯.

+

If you're wondering what is the ManagedRootView good for, it's for creating components that persist through the life of SPA and are not unmounted when the Controller or View changes. Good example of this is a page that displays a map on one side and page content on the other (https://en.mapy.cz/, -https://www.kiwi.com/en/search/, https://airbnb.com/).

// app/page/MapManagedRootView.js

import { BlankManagedRootView } from '@ima/core';
import PropTypes from 'prop-types';
import React from 'react';
import Map from 'app/component/map/Map';
import MapResult from 'app/component/map/MapResult';

export default class MapManagedRootView extends BlankManagedRootView {

// ...

render() {
// Obtain search results and map settings from page state.
const { searchResults, mapType } = this.props;

return (
<React.Fragment>
{super.render()}
<Map
type = { mapType }
centerOnResults = { true }>
{ searchResults.map(result => (
<MapResult place = { result }/>
))}
</Map>
</React.Fragment>
);
}
}

Then the MapManagedRootView can be used in app/config/setting.js +https://www.kiwi.com/en/search/, https://airbnb.com/).

+
// app/page/MapManagedRootView.js

import { BlankManagedRootView } from '@ima/core';
import PropTypes from 'prop-types';
import React from 'react';
import Map from 'app/component/map/Map';
import MapResult from 'app/component/map/MapResult';

export default class MapManagedRootView extends BlankManagedRootView {

// ...

render() {
// Obtain search results and map settings from page state.
const { searchResults, mapType } = this.props;

return (
<React.Fragment>
{super.render()}
<Map
type = { mapType }
centerOnResults = { true }>
{ searchResults.map(result => (
<MapResult place = { result }/>
))}
</Map>
</React.Fragment>
);
}
}
+

Then the MapManagedRootView can be used in app/config/setting.js (property managedRootView) or in route options the same -way as DocumentView or ViewAdapter.

As you may have notices MapManagedRootView extends BlankManagedRootView which is also the default ManagedRootView when you don't specify your own. render() method of BlankManagedRootView simply renders View for current route with props containing current page state.

Now when you know how a big part of the rendering process goes it's time to -have a look subsequent View and Component rendering.

- - +way as DocumentView or ViewAdapter.

+

As you may have notices MapManagedRootView extends BlankManagedRootView which is also the default ManagedRootView when you don't specify your own. render() method of BlankManagedRootView simply renders View for current route with props containing current page state.

+

Now when you know how a big part of the rendering process goes it's time to +have a look subsequent View and Component rendering.

\ No newline at end of file diff --git a/basic-features/routing/async-routing/index.html b/basic-features/routing/async-routing/index.html index 51ebce735..dc914e521 100644 --- a/basic-features/routing/async-routing/index.html +++ b/basic-features/routing/async-routing/index.html @@ -1,16 +1,31 @@ - + - -Async Routing | IMA.js - - + +Async Routing | IMA.js + + -
-

Async Routing

Async routing allows you to split views and controllers into separate bundles and load them dynamically. This can be useful for some specific routes, that are not visited regularly and contain large amounts of unique code.

To take advantage of this feature, you simply wrap your controller and view arguments into async function which calls a dynamic import():

./app/config/routes.js
import { RouteNames } from '@ima/core';

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add(
'home',
'/',
async() => import('app/page/home/HomeController'),
async() => import('app/page/home/HomeView')
)
}
tip

When using default exports, you don't have to explicitly set the import promise to the default export, the router does this by default.

However when using named exports you need to let the router know, where is the controller/view located in the resolved promise:

async() => import('app/page/home/HomeView').then(module => module.HomeView);

Merging view and controller imports into one

Since the method above produces 2 separate JS chunk files (can depend on the actual environment). If you have really small controller and view files, you can help webpack in creating only one small chunk file which usually loads faster.

This can be done by exporting view and controller from the same file:

./app/page/home/index.js
export { default as HomeView } from './HomeView';
export { default as HomeController } from './HomeController';

And then merging those two dynamic imports into one:

./app/config/routes.js
import { RouteNames } from '@ima/core';

const homeModules = async () => import('app/page/home');

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add(
'home',
'/',
async () => homeModules().then(module => module.HomeController),
async () => homeModules().then(module => module.HomeView)
)
}

Preloading routeHandlers

Each route handler exposes preload() method, which can be used to programmatically trigger preload of the dynamic imports for specific route.

tip

Use this in situations when the browser is idle and you want to preload some specific route handlers that the user will probably go next. This speeds up the responsiveness of your application dramatically.

To call the preload() method, you first need to get access to the Router instance (we can use useComponentUtils hook in this example) and then you can use getRouteHandler() method to get specific route handler instance. After that just call preload() on this handler:

./app/config/routes.js
import { useComponentUtils } from '@ima/react-hooks';

export default function Card() {
const { $Router } = useComponentUtils();
const homeRouteHandler = $Router.getRouteHandler('home');

useEffect(() => {
homeRouteHandler.preload();
}, [])

return (
<a href={$Router.link('home')}>Home</a>
);
}

The method returns a promise, which resolves to tuple of [controller, view] instances.

Prefetching/Preloading modules

As with the dynamic imports, you can also use webpack directives for prefetching and preloading. Simply use the inline commend as it is mentioned in the webpack documentation.

./app/config/routes.js
// ...
async() => import(/* webpackPrefetch: true */ 'app/page/home/HomeController'),
async() => import(/* webpackPreload: true */ 'app/page/home/HomeView')
// ...
- - +

Async Routing

Async routing allows you to split views and controllers into separate bundles and load them dynamically. This can be useful for some specific routes, that are not visited regularly and contain large amounts of unique code.

+

To take advantage of this feature, you simply wrap your controller and view arguments into async function which calls a dynamic import():

+
import { RouteNames } from '@ima/core';

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add(
'home',
'/',
async() => import('app/page/home/HomeController'),
async() => import('app/page/home/HomeView')
)
}
+
tip

When using default exports, you don't have to explicitly set the import promise to the default export, the router does this by default.

However when using named exports you need to let the router know, where is the controller/view located in the resolved promise:

async() => import('app/page/home/HomeView').then(module => module.HomeView);
+

Merging view and controller imports into one

+

Since the method above produces 2 separate JS chunk files (can depend on the actual environment). If you have really small controller and view files, you can help webpack in creating only one small chunk file which usually loads faster.

+

This can be done by exporting view and controller from the same file:

+
export { default as HomeView } from './HomeView';
export { default as HomeController } from './HomeController';
+

And then merging those two dynamic imports into one:

+
import { RouteNames } from '@ima/core';

const homeModules = async () => import('app/page/home');

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add(
'home',
'/',
async () => homeModules().then(module => module.HomeController),
async () => homeModules().then(module => module.HomeView)
)
}
+

Preloading routeHandlers

+

Each route handler exposes preload() method, which can be used to programmatically trigger preload of the dynamic imports for specific route.

+
tip

Use this in situations when the browser is idle and you want to preload some specific route handlers that the user will probably go next. This speeds up the responsiveness of your application dramatically.

+

To call the preload() method, you first need to get access to the Router instance (we can use useComponentUtils hook in this example) and then you can use getRouteHandler() method to get specific route handler instance. After that just call preload() on this handler:

+
import { useComponentUtils } from '@ima/react-hooks';

export default function Card() {
const { $Router } = useComponentUtils();
const homeRouteHandler = $Router.getRouteHandler('home');

useEffect(() => {
homeRouteHandler.preload();
}, [])

return (
<a href={$Router.link('home')}>Home</a>
);
}
+

The method returns a promise, which resolves to tuple of [controller, view] instances.

+

Prefetching/Preloading modules

+

As with the dynamic imports, you can also use webpack directives for prefetching and preloading. Simply use the inline commend as it is mentioned in the webpack documentation.

+
// ...
async() => import(/* webpackPrefetch: true */ 'app/page/home/HomeController'),
async() => import(/* webpackPreload: true */ 'app/page/home/HomeView')
// ...
\ No newline at end of file diff --git a/basic-features/routing/dynamic-routes/index.html b/basic-features/routing/dynamic-routes/index.html index 3c98114e4..8e078d12e 100644 --- a/basic-features/routing/dynamic-routes/index.html +++ b/basic-features/routing/dynamic-routes/index.html @@ -1,16 +1,39 @@ - + - -Dynamic Routes | IMA.js - - + +Dynamic Routes | IMA.js + + -
-

Dynamic Routes

Dynamic routes allows you to take control of route matching, route parameters parsing and generation of router links.

They are really powerful and can help you cover those edge cases that cannot be done using basic string route expressions.

This can be achieved by defining custom route matcher in form of a regular expression and custom functions to parse router params from path and, the other way, from route params to path.

note

The power of dynamic routes comes at a cost. You have to be really sure to define your matchers and function overrides correctly, so you don't end up with false positive route matches. We advise to cover these matchers heavily with tests in order to prevent potential failures.

Creating Dynamic Routes

Dynamic routes can be created just like the regular (static routes). The only thing that's different is the pathExpression positional argument, which is now object with three properties: matcher, toPath and extractParameters.

The following example parses /category/subcategory/post/124 url formats with optional categories, and extract them along with the post itemId:

./app/config/routes.js
import { AbstractRoute } from '@ima/core';

import PostController from 'app/page/post/PostController';
import PostView from 'app/page/post/PostView';

const POST_MATCHER = /([\w-]+)?\/?([\w-]+)?\/post\/(\d+)/i;

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router.add(
'post',
{
matcher: POST_MATCHER,
extractParameters: (trimmedPath, ({ query, path })) => {
const [match, category, subcategory, itemId] =
POST_MATCHER.exec((trimmedPath)));

return {
category,
subcategory,
itemId,
};
},
toPath: params => {
const { category, subcategory, itemId, ...restParams } = params;
const query = new URLSearchParams(restParams).toString();

return [category, subcategory, itemId].filter(i => !!i).join('/') +
(query ? `?${query}` : '');
}
},
PostController,
PostView
);
}
info

Notice that in the toPath function, we're appending other unused params to the final path as query params. This is to mimic the same functionality as the StaticRoutes provide by default.

To make this process easier you can use the AbstractRoute.paramsToQuery() helper method, which filters and transforms object key-value pairs to query params string.

matcher

RegExp

Regular expression used in route matching. The router tries to match path, stripped from trailing slashes, against this regular expression.

extractParameters

(trimmedPath: string, { query: RouteParams; path: string }) => RouteParams

Function used to extract route params from given path. It receives path trimmed from trailing slashes and query params as first argument.

For more control, you can use additional data in form of query and path which contain query params extracted from trimmed path and full path without any modifications.

note

When using StaticRoutes, query parameters are automatically merged with extracted route params. If you want to mimic this behavior, don't forget to merge query params into your final route params object.

toPath

(params: RouteParams) => string

Function used to create path from given params (including query params). It is used mainly in the router link creation.

note

It is a good practice to append any unused params as query params to the path (you can use the static AbstractRoute.paramsToQuery() static helper to do that).

- - +

Dynamic Routes

Dynamic routes allows you to take control of route matching, route parameters parsing and generation of router links.

+

They are really powerful and can help you cover those edge cases that cannot be done using basic string route expressions.

+

This can be achieved by defining custom route matcher in form of a regular expression and custom functions to parse router params from path and, the other way, from route params to path.

+
note

The power of dynamic routes comes at a cost. You have to be really sure to define your matchers and function overrides correctly, so you don't end up with false positive route matches. We advise to cover these matchers heavily with tests in order to prevent potential failures.

+

Creating Dynamic Routes

+

Dynamic routes can be created just like the regular (static routes). The only thing that's different is the pathExpression positional argument, which is now object with three properties: matcher, toPath and extractParameters.

+

The following example parses /category/subcategory/post/124 url formats with optional categories, and extract them along with the post itemId:

+
import { AbstractRoute } from '@ima/core';

import PostController from 'app/page/post/PostController';
import PostView from 'app/page/post/PostView';

const POST_MATCHER = /([\w-]+)?\/?([\w-]+)?\/post\/(\d+)/i;

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router.add(
'post',
{
matcher: POST_MATCHER,
extractParameters: (trimmedPath, ({ query, path })) => {
const [match, category, subcategory, itemId] =
POST_MATCHER.exec((trimmedPath)));

return {
category,
subcategory,
itemId,
};
},
toPath: params => {
const { category, subcategory, itemId, ...restParams } = params;
const query = new URLSearchParams(restParams).toString();

return [category, subcategory, itemId].filter(i => !!i).join('/') +
(query ? `?${query}` : '');
}
},
PostController,
PostView
);
}
+
info

Notice that in the toPath function, we're appending other unused params to the final path as query params. This is to mimic the same functionality as the StaticRoutes provide by default.

To make this process easier you can use the AbstractRoute.paramsToQuery() helper method, which filters and transforms object key-value pairs to query params string.

+

matcher

+
+

RegExp

+
+

Regular expression used in route matching. The router tries to match path, stripped from trailing slashes, against this regular expression.

+

extractParameters

+
+

(trimmedPath: string, { query: RouteParams; path: string }) => RouteParams

+
+

Function used to extract route params from given path. It receives path trimmed from trailing slashes and query params as first argument.

+

For more control, you can use additional data in form of query and path which contain query params extracted from trimmed path and full path without any modifications.

+
note

When using StaticRoutes, query parameters are automatically merged with extracted route params. If you want to mimic this behavior, don't forget to merge query params into your final route params object.

+

toPath

+
+

(params: RouteParams) => string

+
+

Function used to create path from given params (including query params). It is used mainly in the router link creation.

+
note

It is a good practice to append any unused params as query params to the path (you can use the static AbstractRoute.paramsToQuery() static helper to do that).

\ No newline at end of file diff --git a/basic-features/routing/introduction/index.html b/basic-features/routing/introduction/index.html index 7a6d3fb5e..dfbfa7998 100644 --- a/basic-features/routing/introduction/index.html +++ b/basic-features/routing/introduction/index.html @@ -1,16 +1,135 @@ - + - -Introduction | IMA.js - - + +Introduction | IMA.js + + -
-

Introduction

Routing is an essential part of every application that displays multiple pages. It allows to develop each part of an application separately and add new parts instantly. As it happens to be in MVC frameworks, each route targets specific controller which takes control over what happens next after a route is matched.

Setting up Router

All routes in IMA.js are registered inside the init function in app/config/routes.js. Same init function can be found in app/config/bind.js. See Object Container documentation for more information about the oc.get() function.

Usually you should be oke with simple string defined StaticRoutes (the ones defined below), but the router also has support for more advanced and powerful DynamicRoutes. For more information about these see the next section.

./app/config/routes.js
import { RouteNames } from '@ima/core';

import HomeController from 'app/page/home/HomeController';
import HomeView from 'app/page/home/HomeView';

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add('home', '/', HomeController, HomeView)
.add(RouteNames.ERROR, '/error', ErrorController, ErrorView)
.add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);
}

The router add method has following signature:

add(name, pathExpression, controller, view, options = undefined);

name

 string

This argument represents unique route name. You can use this name when linking between routes or getting the route instance using getRouteHandler() method.

pathExpression

string | object

This can be either object for dynamic routes or string representing route path. The pathExpression supports **parameter substitutions

controller

string | function

Route assigned Controller class (can be a string alias, referring to the controller registered in the Object Container). It goes through its full lifecycle and renders the View.

view

string | function

Route assigned View class (also can be a string alias, referring to the view registered in the Object Container). Rendered by the route controller.

options

object = undefined

These are optional, however it accepts object with following properties and their respective defaults:

{
onlyUpdate: false,
autoScroll: true,
allowSPA: true,
documentView: null,
managedRootView: null,
viewAdapter: null,
middlewares: []
}

onlyUpdate

boolean | function = false

When only the parameters of the current route change an update method of the active controller will be invoked instead of re-instantiating the controller and view. The update method receives prevParams object containing - as the name suggests - previous route parameters.

If you provide function to the onlyUpdate option; it receives 2 arguments (instances of previous controller and view) and it should return boolean.

autoScroll

boolean = true

Determines whether the page should be scrolled to the top when the navigation occurs.

allowSPA

boolean = true

Can be used to make the route to be always served from the server and never using the SPA (when disabled) even if the server is overloaded.

This is useful for routes that use different document views (specified by the documentView option), for example for rendering the content of iframes.

documentView

AbstractDocumentView = null

Custom DocumentView, should extend the AbstractDocumentView from @ima/core.

managedRootView

function = null

Custom ManagedRootView component, for more information see rendering process.

viewAdapter

function = null

Custom ViewAdapter component, for more information see rendering process.

middlewares

function[] = []

Array of route-specific middlewares. See the middlewares section for more information.

Route params substitutions

The parameter name can contain only letters a-zA-Z, numbers 0-9, underscores _ and hyphens - and is preceded by colon :.

router.add(
'order-detail',
'/user/:userId/orders/:orderId',
OrderController,
OrderView
);

The userId and orderId parameters are then accessible in OrderController via this.params:

import { AbstractController } from '@ima/core';

class OrderController extends AbstractController {
load() {
const userPromise = this._userService.get(this.params.userId);
const orderPromise = this._orderService.get(this.params.orderId);

return {
user: userPromise,
order: orderPromise
}
}
}

Optional parameters

Parameters can also be marked as optional by placing question mark ? after the colon :.

router.add(
'user-detail',
'/profile/:?userId',
UserController,
UserView
);
caution

Optional parameters can be placed only after the last slash. Doing otherwise can cause unexpected behavior.

Linking between routes

URLs to routes can be generated via the Router.link() public method. These can be then used in ordinary anchor tags and IMA.js makes sure, to handle the site routing in SPA mode, rather than doing redirect/reload of the whole page.

import { AbstractComponent } from '@ima/react-page-renderer';

class OrderView extends AbstractComponent {
render() {
const { user, order } = this.props;

const orderLink = this.link('order-detail', {
userId: user.id,
orderId: order.id
});

return <a href={orderLink}>View order</a>
}
}

This is done by listening to window popstate and click events and reacting accordingly (in the listen method of ClientRouter, which is called by IMA.js on client during app init). If the handled URL is not valid registered app route, it is handled normally (e.g you are redirected to the target URL).

tip

You can use this.link helper method in IMA.js abstract component or the useLink hook from the @ima/react-hooks plugin in your components and views to generate router links.

note

Under the hood, this.link() is only alias for this.utils.$Router.link, where this.utils is taken from this.context.$Utils.

For more information about this.utils and $Utils objects, take a look at the React Context in the documentation.

Linking in Controllers, Extensions, Helpers and other Object Container classes requires you to import Router using dependency injection. To do that you can either use Router class in the dependency array, or $Router string alias:

import { AbstractController } from '@ima/core';

export default class DetailController extends AbstractController {
static get $dependencies() {
return ['$Router'];
}

constructor(router) {
this._router = router;
}

load() {
// ...
}
}

Then you get Router instance as the constructor's first argument, which gives you access to it's link public method (and many others), that you can use to generate your desired route URL:

load() {
const detailLink = this._router.link('order-detail', {
userId: user.id,
orderId: order.id
});

return { detailLink };
}

Error and NotFound route names

There are two special route names that @ima/core exports: RouteNames.ERROR, RouteNames.NOT_FOUND. You can use these constants to provide custom views and controllers for error handling pages.

./app/config/routes.js
import { RouteNames } from '@ima/core';

import { ErrorController, ErrorView } from 'app/page/error';
import { NotFoundController, NotFoundView } from 'app/page/not-found';

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add('home', '/', HomeController, HomeView)
.add(RouteNames.ERROR, '/error', ErrorController, ErrorView)
.add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);
}

Redirects

In addition to the link method mentioned above (which handles URL generation for given routes), you can use Router.redirect() method to redirect directly to the targeted URL.

This URL can be either existing app route or external URL. As with links, in this case you also get SPA routing, in case of redirection to different IMA.js app route.

import { AbstractController, Router } from '@ima/core';

export default class DetailController extends AbstractController {
static get $dependencies() {
return [
Router // We're using class descriptor in this case for DI
];
}

constructor(router) {
this._router = router;
}

init() {
this._router.redirect(
this._router.link('order-detail', {
userId: user.id,
orderId: order.id
});
);
}
}
info

On client side, redirections are handled by simply changing the window.location.href, while on server you're using the express native res.redirect method.

Method signature

The redirect method has following signature, while the options object is available only on server side:

redirect(
url = '',
options = {} // Available only on server side
)

url

string

Target redirect URL.

options

object = {}

Additional options, used to customize redirect server response.

{
httpStatus: 302,
headers: undefined,
}

httpStatus

number = 302

Custom redirect http status code.

headers

object = undefined

Custom response headers.

- - +

Introduction

Routing is an essential part of every application that displays multiple pages. It allows to develop each part of an application separately and add new parts instantly. As it happens to be in MVC frameworks, each route targets specific controller which takes control over what happens next after a route is matched.

+

+

Setting up Router

+

All routes in IMA.js are registered inside the init function in app/config/routes.js. Same init function can be found in app/config/bind.js. See Object Container documentation for more information about the oc.get() function.

+

Usually you should be oke with simple string defined StaticRoutes (the ones defined below), but the router also has support for more advanced and powerful DynamicRoutes. For more information about these see the next section.

+
import { RouteNames } from '@ima/core';

import HomeController from 'app/page/home/HomeController';
import HomeView from 'app/page/home/HomeView';

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add('home', '/', HomeController, HomeView)
.add(RouteNames.ERROR, '/error', ErrorController, ErrorView)
.add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);
}
+

The router add method has following signature:

+
add(name, pathExpression, controller, view, options = undefined);
+

name

+
+

 string

+
+

This argument represents unique route name. You can use this name when linking between routes or getting the route instance using getRouteHandler() method.

+

pathExpression

+
+

string | object

+
+

This can be either object for dynamic routes or string representing route path. The pathExpression supports **parameter substitutions

+

controller

+
+

string | function

+
+

Route assigned Controller class (can be a string alias, referring to the controller registered in the Object Container). It goes through its full lifecycle and renders the View.

+

view

+
+

string | function

+
+

Route assigned View class (also can be a string alias, referring to the view registered in the Object Container). Rendered by the route controller.

+

options

+
+

object = undefined

+
+

These are optional, however it accepts object with following properties and their respective defaults:

+
{
onlyUpdate: false,
autoScroll: true,
allowSPA: true,
documentView: null,
managedRootView: null,
viewAdapter: null,
middlewares: []
}
+

onlyUpdate

+
+

boolean | function = false

+
+

When only the parameters of the current route change an update method of the active controller will be invoked instead of re-instantiating the controller and view. The update method receives prevParams object containing - as the name suggests - previous route parameters.

+

If you provide function to the onlyUpdate option; it receives 2 arguments (instances of previous controller and view) and it should return boolean.

+

autoScroll

+
+

boolean = true

+
+

Determines whether the page should be scrolled to the top when the navigation occurs.

+

allowSPA

+
+

boolean = true

+
+

Can be used to make the route to be always served from the server and never using the SPA (when disabled) even if the server is overloaded.

+

This is useful for routes that use different document views (specified by the documentView option), for example for rendering the content of iframes.

+

documentView

+
+

AbstractDocumentView = null

+
+

Custom DocumentView, should extend the AbstractDocumentView from @ima/core.

+

managedRootView

+
+

function = null

+
+

Custom ManagedRootView component, for more information see rendering process.

+

viewAdapter

+
+

function = null

+
+

Custom ViewAdapter component, for more information see rendering process.

+

middlewares

+
+

function[] = []

+
+

Array of route-specific middlewares. See the middlewares section for more information.

+

Route params substitutions

+

The parameter name can contain only letters a-zA-Z, numbers 0-9, underscores _ and hyphens - and is preceded by colon :.

+
router.add(
'order-detail',
'/user/:userId/orders/:orderId',
OrderController,
OrderView
);
+

The userId and orderId parameters are then accessible in OrderController via this.params:

+
import { AbstractController } from '@ima/core';

class OrderController extends AbstractController {
load() {
const userPromise = this._userService.get(this.params.userId);
const orderPromise = this._orderService.get(this.params.orderId);

return {
user: userPromise,
order: orderPromise
}
}
}
+

Optional parameters

+

Parameters can also be marked as optional by placing question mark ? after the colon :.

+
router.add(
'user-detail',
'/profile/:?userId',
UserController,
UserView
);
+
caution

Optional parameters can be placed only after the last slash. Doing otherwise can cause unexpected behavior.

+

Linking between routes

+

URLs to routes can be generated via the Router.link() public method. These can be then used in ordinary anchor tags and IMA.js makes sure, to handle the site routing in SPA mode, rather than doing redirect/reload of the whole page.

+
import { AbstractComponent } from '@ima/react-page-renderer';

class OrderView extends AbstractComponent {
render() {
const { user, order } = this.props;

const orderLink = this.link('order-detail', {
userId: user.id,
orderId: order.id
});

return <a href={orderLink}>View order</a>
}
}
+

This is done by listening to window popstate and click events and reacting accordingly (in the listen method of ClientRouter, which is called by IMA.js on client during app init). If the handled URL is not valid registered app route, it is handled normally (e.g you are redirected to the target URL).

+
tip

You can use this.link helper method in IMA.js abstract component or the useLink hook from the @ima/react-hooks plugin in your components and views to generate router links.

+
note

Under the hood, this.link() is only alias for this.utils.$Router.link, where this.utils is taken from this.context.$Utils.

For more information about this.utils and $Utils objects, take a look at the React Context in the documentation.

+ +

Linking in Controllers, Extensions, Helpers and other Object Container classes requires you to import Router using dependency injection. To do that you can either use Router class in the dependency array, or $Router string alias:

+
import { AbstractController } from '@ima/core';

export default class DetailController extends AbstractController {
static get $dependencies() {
return ['$Router'];
}

constructor(router) {
this._router = router;
}

load() {
// ...
}
}
+

Then you get Router instance as the constructor's first argument, which gives you access to it's link public method (and many others), that you can use to generate your desired route URL:

+
load() {
const detailLink = this._router.link('order-detail', {
userId: user.id,
orderId: order.id
});

return { detailLink };
}
+

Error and NotFound route names

+

There are two special route names that @ima/core exports: RouteNames.ERROR, RouteNames.NOT_FOUND. You can use these constants to provide custom views and controllers for error handling pages.

+
import { RouteNames } from '@ima/core';

import { ErrorController, ErrorView } from 'app/page/error';
import { NotFoundController, NotFoundView } from 'app/page/not-found';

export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.add('home', '/', HomeController, HomeView)
.add(RouteNames.ERROR, '/error', ErrorController, ErrorView)
.add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);
}
+

Redirects

+

In addition to the link method mentioned above (which handles URL generation for given routes), you can use Router.redirect() method to redirect directly to the targeted URL.

+

This URL can be either existing app route or external URL. As with links, in this case you also get SPA routing, in case of redirection to different IMA.js app route.

+
import { AbstractController, Router } from '@ima/core';

export default class DetailController extends AbstractController {
static get $dependencies() {
return [
Router // We're using class descriptor in this case for DI
];
}

constructor(router) {
this._router = router;
}

init() {
this._router.redirect(
this._router.link('order-detail', {
userId: user.id,
orderId: order.id
});
);
}
}
+
info

On client side, redirections are handled by simply changing the window.location.href, while on server you're using the express native res.redirect method.

+

Method signature

+

The redirect method has following signature, while the options object is available only on server side:

+
redirect(
url = '',
options = {} // Available only on server side
)
+

url

+
+

string

+
+

Target redirect URL.

+

options

+
+

object = {}

+
+

Additional options, used to customize redirect server response.

+
{
httpStatus: 302,
headers: undefined,
}
+

httpStatus

+
+

number = 302

+
+

Custom redirect http status code.

+

headers

+
+

object = undefined

+
+

Custom response headers.

\ No newline at end of file diff --git a/basic-features/routing/middlewares/index.html b/basic-features/routing/middlewares/index.html index 836739dfd..65ed3f2da 100644 --- a/basic-features/routing/middlewares/index.html +++ b/basic-features/routing/middlewares/index.html @@ -1,16 +1,60 @@ - + - -Middlewares | IMA.js - - + +Middlewares | IMA.js + + -
-

Middlewares

Middlewares are simple functions that run before/after route handlers. They can be used to restrict access to certain set of routes or act based on parsed route params.

There are two types of middleware global and local. As the names suggest the first one is defined globally on the router instance using use() method and the second type is bound to specific route and is defined in the route options.middlewares property.

./app/config/routes.js
// The imports are stripped for compactness.
export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.use(async (params, locals) => {
console.log('Global middleware', params, locals, locals.route, locals.action);
locals.counter = 0;
});
.add('home', '/', HomeController, HomeView, {
middlewares: [
async (params, locals, next) => {
next({ counter: counter++ });
}
]
})
.add(RouteNames.ERROR, '/error', ErrorController, ErrorView)
.add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);
}
tip

Since you have access to the object container (oc), you can basically do anything you want in the middlewares.

You can easily define authentication middlewares or access-restricting middlewares since throwing an error from the middleware is handled the same way as any other error in the application.

Function arguments

Each middleware can be async and the functions can use up to three arguments: params, locals and next. params specifically allows you to modify route params, locals is used to pass data between middlewares and next callback provides additional

params

object = {}

Contains route params extracted by the currently matched route handler. Can be empty if there was no route match before execution of concrete middleware.

locals

RouteLocals = {}

Mutable object you can use to pass data between middlewares. It is passed across all middlewares, so anything you define here, is available in following middleware functions.

tip

In addition to mutating the original object, you can also return object values from middlewares or pass them as an argument in the next() function. These are then merged into the locals upon it's execution.

async (params, locals) => {
locals.counter++;
}

// or

async (params, locals) => {
return { counter: counter++ };
}

// or

async (params, locals, next) => {
next({ counter: counter++ });
}

Additionally it always contains following keys:

route

AbstractRoute

Instance of currently matched route.

action

RouteAction = {}

An action object describing what triggered this routing (can be empty).

next

(result?: object) => void

When called, this function (as the name suggest) allows you to continue with execution of other route handlers. Apart from other frameworks that use similar feature, when you define next argument in your middleware, you have to execute it in order to continue. Otherwise the router will not proceed any further even if the middleware function content finished it's execution.

This is intentional as it allows you to have more control over the middleware execution and gives you ability to stop the routing process completely.

tip

This is can be usefull in situations when for example you want to do a redirect, which is synchronous but takes a while until the window is reloaded. Without stopping the middleware execution (by defining the next callback and not calling it), you could get a glimpse of Error Page that is rendered before the redirect takes places, because the router continued it's processing.

async (params, locals, next) => {
if (await oc.get('User').isLoggedIn()) {
// Continue normally
return next();
}

// Stop execution by not calling `next()` and do a redirect
oc.get('$Router').redirect('/');
}

Execution order

Middleware functions are resolved from top to bottom sequentially. In case of the code above, when routing to home route, following things would have happened:

  1. Global middlewares defined above currently matched route are executed (in this case we have only one global middleware, defined above all routes).
  2. Params extraction from currently matched route handler (home) is executed.
  3. Local route middlewares are executed (with newly extracted route params).

In case of an error or not found page, the execution order is still the same, meaning the global and route middlewares are executed as with any other route.

caution

There's only one exception, since the locals object is cleared to an empty object before route handling, if an error occurs during route handling and execution is internally passed to error handling (displaying error page), the locals object may retain values that were there for the previous route matching. However the locals.route object will still be up to date and equal to currently routed route (error in this case).

Execution timeout

To prevent middlewares from freezing the application, for example when the middlewares takes too long to execute, we've implemented execution timeout, which prevents them from running indefinitely.

You can customize the timeout value in app settings:

./app/config/settings.js
export default (ns, oc, config) => {
return {
prod: {
$Router: {
middlewareTimeout: 30000, // ms
},
},
};
};
- - +

Middlewares

Middlewares are simple functions that run before/after route handlers. They can be used to restrict access to certain set of routes or act based on parsed route params.

+

There are two types of middleware global and local. As the names suggest the first one is defined globally on the router instance using use() method and the second type is bound to specific route and is defined in the route options.middlewares property.

+
// The imports are stripped for compactness.
export let init = (ns, oc, config) => {
const router = oc.get('$Router');

router
.use(async (params, locals) => {
console.log('Global middleware', params, locals, locals.route, locals.action);
locals.counter = 0;
});
.add('home', '/', HomeController, HomeView, {
middlewares: [
async (params, locals, next) => {
next({ counter: counter++ });
}
]
})
.add(RouteNames.ERROR, '/error', ErrorController, ErrorView)
.add(RouteNames.NOT_FOUND, '/not-found', NotFoundController, NotFoundView);
}
+
tip

Since you have access to the object container (oc), you can basically do anything you want in the middlewares.

You can easily define authentication middlewares or access-restricting middlewares since throwing an error from the middleware is handled the same way as any other error in the application.

+

Function arguments

+

Each middleware can be async and the functions can use up to three arguments: params, locals and next. params specifically allows you to modify route params, locals is used to pass data between middlewares and next callback provides additional

+

params

+
+

object = {}

+
+

Contains route params extracted by the currently matched route handler. Can be empty if there was no route match before execution of concrete middleware.

+

locals

+
+

RouteLocals = {}

+
+

Mutable object you can use to pass data between middlewares. It is passed across all middlewares, so anything you define here, is available in following middleware functions.

+
tip

In addition to mutating the original object, you can also return object values from middlewares or pass them as an argument in the next() function. These are then merged into the locals upon it's execution.

async (params, locals) => {
locals.counter++;
}

// or

async (params, locals) => {
return { counter: counter++ };
}

// or

async (params, locals, next) => {
next({ counter: counter++ });
}
+

Additionally it always contains following keys:

+

route

+
+

AbstractRoute

+
+

Instance of currently matched route.

+

action

+
+

RouteAction = {}

+
+

An action object describing what triggered this routing (can be empty).

+

next

+
+

(result?: object) => void

+
+

When called, this function (as the name suggest) allows you to continue with execution of other route handlers. Apart from other frameworks that use similar feature, when you define next argument in your middleware, you have to execute it in order to continue. Otherwise the router will not proceed any further even if the middleware function content finished it's execution.

+

This is intentional as it allows you to have more control over the middleware execution and gives you ability to stop the routing process completely.

+
tip

This is can be usefull in situations when for example you want to do a redirect, which is synchronous but takes a while until the window is reloaded. Without stopping the middleware execution (by defining the next callback and not calling it), you could get a glimpse of Error Page that is rendered before the redirect takes places, because the router continued it's processing.

async (params, locals, next) => {
if (await oc.get('User').isLoggedIn()) {
// Continue normally
return next();
}

// Stop execution by not calling `next()` and do a redirect
oc.get('$Router').redirect('/');
}
+

Execution order

+

Middleware functions are resolved from top to bottom sequentially. In case of the code above, when routing to home route, following things would have happened:

+
    +
  1. Global middlewares defined above currently matched route are executed (in this case we have only one global middleware, defined above all routes).
  2. +
  3. Params extraction from currently matched route handler (home) is executed.
  4. +
  5. Local route middlewares are executed (with newly extracted route params).
  6. +
+

In case of an error or not found page, the execution order is still the same, meaning the global and route middlewares are executed as with any other route.

+
caution

There's only one exception, since the locals object is cleared to an empty object before route handling, if an error occurs during route handling and execution is internally passed to error handling (displaying error page), the locals object may retain values that were there for the previous route matching. However the locals.route object will still be up to date and equal to currently routed route (error in this case).

+

Execution timeout

+

To prevent middlewares from freezing the application, for example when the middlewares takes too long to execute, we've implemented execution timeout, which prevents them from running indefinitely.

+

You can customize the timeout value in app settings:

+
./app/config/settings.js
export default (ns, oc, config) => {
return {
prod: {
$Router: {
middlewareTimeout: 30000, // ms
},
},
};
};
\ No newline at end of file diff --git a/basic-features/seo-and-meta-manager/index.html b/basic-features/seo-and-meta-manager/index.html index a909dce66..d6008f786 100644 --- a/basic-features/seo-and-meta-manager/index.html +++ b/basic-features/seo-and-meta-manager/index.html @@ -1,20 +1,68 @@ - + - -SEO & Meta Manager | IMA.js - - + +SEO & Meta Manager | IMA.js + + -
-

SEO & Meta Manager

If you've read the Controller lifecycle page you've +

SEO & Meta Manager

If you've read the Controller lifecycle page you've probably come along the setMetaParams method. This method is dedicated to set meta information for a specific page and you are provided with everything you need (current state, MetaManager, -router, dictionary and settings).

Meta manager offers many methods to work with document meta data. From #{meta} content variable, to methods for managing title and other meta tags collections.

Managing meta tags

As mentioned above, all meta management is done in setMetaParams method in route controller. Using metaManager and provied setters for title, meta name, meta properties and link collections, you can manage contents of your meta tags easily with the help of additional arguments that provide everything you need (current state, MetaManager, router, dictionary and settings).

./app/page/order/OrderController.js
setMetaParams(loadedResources, metaManager, router, dictionary, settings) {
const { order } = loadedResources;

metaManager.setTitle(`Order #${order.id} - ${settings.general.appTitle}`);
metaManager.setMetaName(
'description',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
);

metaManager.setMetaProperty('og:image', order.thumbnailUrl);

const orderDetailLink = router.link('order-detail', {
orderId: order.id
});

metaManager.setLink('canonical', orderDetailLink);
}
info

undefined and null values are filtered out when rendering meta tags. If you still want to render meta tags with empty values, use empty strings ''.

setTitle()

(title: string) => MetaManager

Use to set document title.

setMetaName()

(name: string, content: MetaValue, attr?: MetaAttributes) => MetaManager

Sets the information to be used in <meta name="..." content="..." />.

setMetaProperty()

(name: string, property: MetaValue, attr?: MetaAttributes) => MetaManager

These methods are similar to the two above except that these are used for <meta property="..." content="..." />.

(relation: string, href: MetaValue, attr?: MetaAttributes) => MetaManager

Adds information to the MetaManager to be later used in <link rel="..." href="..." /> tag.

tip

All 3 methods defined above also supports additional optional attributes. This is an object of key-value pairs representing additional meta tag attributes that are used in certain situations.


metaManager.setMetaProperty('og:image', order.thumbnailUrl, {
size: 'large',
authorUrl: 'https://mysite.com'
});

Meta value getters

Each setter has corresponding getter returning and object with key-value pairs representing the meta tag values. Additionally you can use key and value iterator methods.

  • getTitle()
  • getMetaName(), getMetaNames(), getMetaNamesIterator()
  • getMetaProperty(), setMetaProperties(), setMetaPropertiesIterator()
  • getLink(), getLinks(), getLinksIterator()
tip

Since the getter methods return object with key-value attributes where their names correspond to the html tag attribute name, you can use following shortcuts to render (these include optional attributes):

<meta
property="og:image"
{...this.props.metaManager.getMetaProperty('og:image')}
/>
<meta
link="canonical"
{...this.props.metaManager.getLink('canonical')}
/>

Rendering meta tags

Meta tags are handled differently on server an client, see following sections for more information on this matter.

Rendering on server using the #{meta} content variable

While you can manually render meta tags in the document view using metaManger and any of the provided getter methods or iterators, we also render these tags automatically into #{meta} content variable.

You can then use this content variable in DocumentView to easily render whole meta collection (including document title) matching meta information set for current controller in setMetaParams method.

./app/document/DocumentView.jsx
<head>
{'#{meta}'}
{'#{styles}'}
{'#{revivalSettings}'}
{'#{runner}'}
</head>
note

While you can also use this content variable in spa.ejs, it will always be empty, since client rendering is handled separately. See the next section for more information.

Rendering on client using PageMetaHandler

You may have noticed that the server-side rendered meta tags have data-ima-meta data attribute. This serves as an identification for meta tags that are handled by IMA.js (both on server and client). These also correspond to the values you have set using metaManager setters.

<meta data-ima-meta name="twitter:title" content="IMA.js">

While navigating between pages in SPA, the meta tags are updated automatically using PageMetaHandler. This manager always removes old meta tags identified by the data attribute, before rendering new ones. And since metaManager clears it's meta collection between routes, this means that each page renders only those tags that are set in metaManager in current page controller using setMetaParams method.

Global meta tags

Now that you know how IMA.js handles meta tag updates between routes, you may ask yourself a question "how to handle global meta tags like viewport, charset etc.?"

The solution is pretty simple - just define them in DocumentView and spa.ejs templates, tags that don't have data-ima-meta attribute are not touched at all by the PageMetaHandler.

./app/document/DocumentView.jsx
<head>
<meta charSet='utf-8' />
<meta httpEquiv='X-UA-Compatible' content='IE=edge' />
<meta name='viewport' content='width=device-width, initial-scale=1' />
</head>

Alternative solution is to always set these values in every page controller you have. For this you can use helpers or create custom AbstractController.

- - +router, dictionary and settings).

+

Meta manager offers many methods to work with document meta data. From #{meta} content variable, to methods for managing title and other meta tags collections.

+

Managing meta tags

+

As mentioned above, all meta management is done in setMetaParams method in route controller. Using metaManager and provied setters for title, meta name, meta properties and link collections, you can manage contents of your meta tags easily with the help of additional arguments that provide everything you need (current state, MetaManager, router, dictionary and settings).

+
setMetaParams(loadedResources, metaManager, router, dictionary, settings) {
const { order } = loadedResources;

metaManager.setTitle(`Order #${order.id} - ${settings.general.appTitle}`);
metaManager.setMetaName(
'description',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
);

metaManager.setMetaProperty('og:image', order.thumbnailUrl);

const orderDetailLink = router.link('order-detail', {
orderId: order.id
});

metaManager.setLink('canonical', orderDetailLink);
}
+
info

undefined and null values are filtered out when rendering meta tags. If you still want to render meta tags with empty values, use empty strings ''.

+

setTitle()

+
+

(title: string) => MetaManager

+
+

Use to set document title.

+

setMetaName()

+
+

(name: string, content: MetaValue, attr?: MetaAttributes) => MetaManager

+
+

Sets the information to be used in <meta name="..." content="..." />.

+

setMetaProperty()

+
+

(name: string, property: MetaValue, attr?: MetaAttributes) => MetaManager

+
+

These methods are similar to the two above except that these are used for <meta property="..." content="..." />.

+ +
+

(relation: string, href: MetaValue, attr?: MetaAttributes) => MetaManager

+
+

Adds information to the MetaManager to be later used in <link rel="..." href="..." /> tag.

+
tip

All 3 methods defined above also supports additional optional attributes. This is an object of key-value pairs representing additional meta tag attributes that are used in certain situations.


metaManager.setMetaProperty('og:image', order.thumbnailUrl, {
size: 'large',
authorUrl: 'https://mysite.com'
});

+

Meta value getters

+

Each setter has corresponding getter returning and object with key-value pairs representing the meta tag values. Additionally you can use key and value iterator methods.

+
    +
  • getTitle()
  • +
  • getMetaName(), getMetaNames(), getMetaNamesIterator()
  • +
  • getMetaProperty(), setMetaProperties(), setMetaPropertiesIterator()
  • +
  • getLink(), getLinks(), getLinksIterator()
  • +
+
tip

Since the getter methods return object with key-value attributes where their names correspond to the html tag attribute name, you can use following shortcuts to render (these include optional attributes):

<meta
property="og:image"
{...this.props.metaManager.getMetaProperty('og:image')}
/>
<meta
link="canonical"
{...this.props.metaManager.getLink('canonical')}
/>
+

Rendering meta tags

+

Meta tags are handled differently on server an client, see following sections for more information on this matter.

+

Rendering on server using the #{meta} content variable

+

While you can manually render meta tags in the document view using metaManger and any of the provided getter methods or iterators, we also render these tags automatically into #{meta} content variable.

+

You can then use this content variable in DocumentView to easily render whole meta collection (including document title) matching meta information set for current controller in setMetaParams method.

+
<head>
{'#{meta}'}
{'#{styles}'}
{'#{revivalSettings}'}
{'#{runner}'}
</head>
+
note

While you can also use this content variable in spa.ejs, it will always be empty, since client rendering is handled separately. See the next section for more information.

+

Rendering on client using PageMetaHandler

+

You may have noticed that the server-side rendered meta tags have data-ima-meta data attribute. This serves as an identification for meta tags that are handled by IMA.js (both on server and client). These also correspond to the values you have set using metaManager setters.

+
<meta data-ima-meta name="twitter:title" content="IMA.js">
+

While navigating between pages in SPA, the meta tags are** updated automatically** using PageMetaHandler. This manager always removes old meta tags identified by the data attribute, before rendering new ones. And since metaManager clears it's meta collection between routes, this means that each page renders only those tags that are set in metaManager in current page controller using setMetaParams method.

+

Global meta tags

+

Now that you know how IMA.js handles meta tag updates between routes, you may ask yourself a question "how to handle global meta tags like viewport, charset etc.?"

+

The solution is pretty simple - just define them in DocumentView and spa.ejs templates, tags that don't have data-ima-meta attribute are not touched at all by the PageMetaHandler.

+
<head>
<meta charSet='utf-8' />
<meta httpEquiv='X-UA-Compatible' content='IE=edge' />
<meta name='viewport' content='width=device-width, initial-scale=1' />
</head>
+

Alternative solution is to always set these values in every page controller you have. For this you can use helpers or create custom AbstractController.

\ No newline at end of file diff --git a/basic-features/testing/index.html b/basic-features/testing/index.html index 816539fae..04fcd9231 100644 --- a/basic-features/testing/index.html +++ b/basic-features/testing/index.html @@ -1,16 +1,47 @@ - + - -Testing | IMA.js - - + +Testing | IMA.js + + -
-

Testing

The @ima/testing-library contains utilities for testing IMA.js applications. It provides integration with Jest, React Testing Library and Testing Library Jest DOM. If you initialized your project via create-ima-app, the testing setup is already included in your project. If not, check @ima/testing-library README for more information about how to setup testing in your project.

API

IMA Testing Library is re-exporting everything from @testing-library/react. You should always import React Testing Library functions from @ima/testing-library as we might add some additional functionality / wrappers in the future. As such, it provides the same API as @testing-library/react with some additional features.

renderWithContext

async function renderWithContext(
ui: ReactElement,
options?: RenderOptions & { contextValue?: ContextValue; app?: ImaApp }
): Promise<ReturnType<typeof render> & { app: ImaApp | null; contextValue: ContextValue; }>

renderWithContext is a wrapper around render from @testing-library/react. It sets wrapper option in render method to a real IMA.js context wrapper. It can take additional optional IMA specific options:

  • contextValue - the result of getContextValue
  • app - the result of initImaApp (if you provide contextValue, it does not make any sense to provide app as the app is only used to generate the contextValue)

If any of the options is not provided, it will be generated automatically.

Example usage:

import { useLocalize } from '@ima/react-page-renderer';
import { renderWithContext } from '@ima/testing-library';

function Component({ children }) {
const localize = useLocalize(); // Get localize function from IMA.js context

return <div>{localize('my.translation.key')} {children}</div>;
}

test('renders component with localized string', async () => {
const { getByText } = await renderWithContext(<Component>My Text</Component>);
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});

If you had used render from @testing-library/react directly, the test would have failed because the useLocalize hook would be missing the context. The renderWithContext function provides the necessary context and making it easier to test components that depend on the IMA.js context.

getContextValue

async function getContextValue(app?: ImaApp): Promise<ContextValue>

getContextValue is a helper function that returns the context value from the IMA.js app. It can take an optional app parameter, which is the result of initImaApp.

Example usage:

test('renders component with custom context value', async () => {
const contextValue = await getContextValue(); // Generate default context value

contextValue.$Utils.$Foo = jest.fn(() => 'bar'); // Mock some part of the context

const { getByText } = await renderWithContext(<Component>My Text</Component>, {
contextValue, // Provide the custom context value
});
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});

initImaApp

async function initImaApp(): Promise<ImaApp>

initImaApp is a helper function that initializes the IMA.js app.

test('renders component with custom app configuration', async () => {
const app = await initImaApp(); // Initialize the app

app.oc.get('$Utils').$Foo = jest.fn(() => 'bar'); // Mock some part of the app

const { getByText } = await renderWithContext(<Component>My Text</Component>, {
app, // Provide the custom app
});
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});

renderHookWithContext

async function renderHookWithContext<TResult, TProps>(
hook: (props: TProps) => TResult,
options?: { contextValue?: ContextValue; app?: ImaApp }
): Promise<ReturnType<typeof renderHook<TResult, TProps>> & { app: ImaApp | null; contextValue: ContextValue; }>

renderHookWithContext is a wrapper around renderHook from @testing-library/react. It uses the same logic as renderWithContext to provide the IMA.js context. See the renderWithContext section for more information.

Extending IMA boot config methods

You can extend IMA boot config by using IMA pluginLoader.register method. Use the same approach as in IMA plugins.

You can either register a plugin loader for all tests by setting it up in a setup file.

// jestSetup.js
import { pluginLoader } from '@ima/core';

// If you don't care, if this plugin loader is registered first, or last
pluginLoader.register('jestSetup.js', () => {
return {
initSettings: () => {
return {
prod: {
customSetting: 'customValue'
}
}
}
};
});

// If you need to register the plugin loader after all other plugin loaders
beforeAll(() => {
pluginLoader.register('jestSetup.js', () => {
return {
initSettings: () => {
return {
prod: {
customSetting: 'customValue'
}
}
}
};
});
});

// jest.config.js
module.exports = {
// Add this line to your jest config
setupFilesAfterEnv: ['./jestSetup.js']
};

Or you can register a plugin loader for a specific test file.

// mySpec.js
import { pluginLoader } from '@ima/core';

beforeAll(() => {
pluginLoader.register('mySpec', () => {
return {
initSettings: () => {
return {
prod: {
customSetting: 'customValue'
}
}
}
};
});
});

test('renders component with custom app configuration', async () => {
const { getByText } = await renderWithContext(<Component>My Text</Component>);
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});

Or you can register a plugin loader for a test file, but make the boot config methods dynamic so you can change them for each test.

// mySpec.js
import { pluginLoader } from '@ima/core';

// We create a placeholder for the plugin loader, so we can change it later
let initSettings = () => {};

beforeAll(() => {
pluginLoader.register('mySpec', (...args) => {
return {
initSettings: (...args) => {
return initSettings(...args); // Here we call our overridable function
}
};
});
});

afterEach(() => {
initSettings = () => {}; // Reset the plugin loader so it is not called for other tests
});

test('renders component with custom app configuration', async () => {
initSettings = () => {
return {
prod: {
customSetting: 'customValue'
}
}
};

const { getByText } = await renderWithContext(<Component>My Text</Component>);
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});

Note, that the plugin loader register method evaluates the second argument right away, but the specific boot config methods are evaluated during renderWithContext (or initImaApp if you are using it directly).

- - +

Testing

The @ima/testing-library contains utilities for testing IMA.js applications. It provides integration with Jest, React Testing Library and Testing Library Jest DOM. If you initialized your project via create-ima-app, the testing setup is already included in your project. If not, check @ima/testing-library README for more information about how to setup testing in your project.

+

API

+

IMA Testing Library is re-exporting everything from @testing-library/react. You should always import React Testing Library functions from @ima/testing-library as we might add some additional functionality / wrappers in the future. As such, it provides the same API as @testing-library/react with some additional features.

+

renderWithContext

+
async function renderWithContext(
ui: ReactElement,
options?: RenderOptions & { contextValue?: ContextValue; app?: ImaApp }
): Promise<ReturnType<typeof render> & { app: ImaApp | null; contextValue: ContextValue; }>
+

renderWithContext is a wrapper around render from @testing-library/react. It sets wrapper option in render method to a real IMA.js context wrapper. It can take additional optional IMA specific options:

+
    +
  • contextValue - the result of getContextValue
  • +
  • app - the result of initImaApp (if you provide contextValue, it does not make any sense to provide app as the app is only used to generate the contextValue)
  • +
+

If any of the options is not provided, it will be generated automatically.

+

Example usage:

+
import { useLocalize } from '@ima/react-page-renderer';
import { renderWithContext } from '@ima/testing-library';

function Component({ children }) {
const localize = useLocalize(); // Get localize function from IMA.js context

return <div>{localize('my.translation.key')} {children}</div>;
}

test('renders component with localized string', async () => {
const { getByText } = await renderWithContext(<Component>My Text</Component>);
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});
+

If you had used render from @testing-library/react directly, the test would have failed because the useLocalize hook would be missing the context. The renderWithContext function provides the necessary context and making it easier to test components that depend on the IMA.js context.

+

getContextValue

+
async function getContextValue(app?: ImaApp): Promise<ContextValue>
+

getContextValue is a helper function that returns the context value from the IMA.js app. It can take an optional app parameter, which is the result of initImaApp.

+

Example usage:

+
test('renders component with custom context value', async () => {
const contextValue = await getContextValue(); // Generate default context value

contextValue.$Utils.$Foo = jest.fn(() => 'bar'); // Mock some part of the context

const { getByText } = await renderWithContext(<Component>My Text</Component>, {
contextValue, // Provide the custom context value
});
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});
+

initImaApp

+
async function initImaApp(): Promise<ImaApp>
+

initImaApp is a helper function that initializes the IMA.js app.

+
test('renders component with custom app configuration', async () => {
const app = await initImaApp(); // Initialize the app

app.oc.get('$Utils').$Foo = jest.fn(() => 'bar'); // Mock some part of the app

const { getByText } = await renderWithContext(<Component>My Text</Component>, {
app, // Provide the custom app
});
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});
+

renderHookWithContext

+
async function renderHookWithContext<TResult, TProps>(
hook: (props: TProps) => TResult,
options?: { contextValue?: ContextValue; app?: ImaApp }
): Promise<ReturnType<typeof renderHook<TResult, TProps>> & { app: ImaApp | null; contextValue: ContextValue; }>
+

renderHookWithContext is a wrapper around renderHook from @testing-library/react. It uses the same logic as renderWithContext to provide the IMA.js context. See the renderWithContext section for more information.

+

Extending IMA boot config methods

+

You can extend IMA boot config by using IMA pluginLoader.register method. Use the same approach as in IMA plugins.

+

You can either register a plugin loader for all tests by setting it up in a setup file.

+
// jestSetup.js
import { pluginLoader } from '@ima/core';

// If you don't care, if this plugin loader is registered first, or last
pluginLoader.register('jestSetup.js', () => {
return {
initSettings: () => {
return {
prod: {
customSetting: 'customValue'
}
}
}
};
});

// If you need to register the plugin loader after all other plugin loaders
beforeAll(() => {
pluginLoader.register('jestSetup.js', () => {
return {
initSettings: () => {
return {
prod: {
customSetting: 'customValue'
}
}
}
};
});
});

// jest.config.js
module.exports = {
// Add this line to your jest config
setupFilesAfterEnv: ['./jestSetup.js']
};
+

Or you can register a plugin loader for a specific test file.

+
// mySpec.js
import { pluginLoader } from '@ima/core';

beforeAll(() => {
pluginLoader.register('mySpec', () => {
return {
initSettings: () => {
return {
prod: {
customSetting: 'customValue'
}
}
}
};
});
});

test('renders component with custom app configuration', async () => {
const { getByText } = await renderWithContext(<Component>My Text</Component>);
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});
+

Or you can register a plugin loader for a test file, but make the boot config methods dynamic so you can change them for each test.

+
// mySpec.js
import { pluginLoader } from '@ima/core';

// We create a placeholder for the plugin loader, so we can change it later
let initSettings = () => {};

beforeAll(() => {
pluginLoader.register('mySpec', (...args) => {
return {
initSettings: (...args) => {
return initSettings(...args); // Here we call our overridable function
}
};
});
});

afterEach(() => {
initSettings = () => {}; // Reset the plugin loader so it is not called for other tests
});

test('renders component with custom app configuration', async () => {
initSettings = () => {
return {
prod: {
customSetting: 'customValue'
}
}
};

const { getByText } = await renderWithContext(<Component>My Text</Component>);
const textElement = getByText(/My Text/i);

expect(textElement).toBeInTheDocument();
});
+

Note, that the plugin loader register method evaluates the second argument right away, but the specific boot config methods are evaluated during renderWithContext (or initImaApp if you are using it directly).

\ No newline at end of file diff --git a/basic-features/typescript/index.html b/basic-features/typescript/index.html index 4f86a9c4c..f3f2549e3 100644 --- a/basic-features/typescript/index.html +++ b/basic-features/typescript/index.html @@ -1,16 +1,54 @@ - + - -TypeScript | IMA.js - - + +TypeScript | IMA.js + + -
-

TypeScript

Since IMA.js v18 we provide support for Typescript in your application code with proper type declarations from the core packages.

To enable TypeScript in your project, first you need to add typescript to your app dependencies:

npm i -D typescript

tsconfig.json

Now create tsconfig.json file (that may look something like this):

./tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"target": "ES2022",
"lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
"module": "ES2022",
"moduleResolution": "Node16",
"strict": true,
"resolveJsonModule": true,
"jsx": "react-jsx",
"baseUrl": ".",
"outDir": "./build/ts-cache",
"paths": {
"app/*": [
"app/*"
],
}
},
"include": ["./app/**/*", "./build/tmp/types/**/*"],
"exclude": ["./**/__tests__"]
}

When CLI detects existence of the tsconfig.json file, it automatically starts type checking and compiling files with *.ts and *.tsx extensions.

Keep in mind that the code is still compiled using swc, the same way JS code is. This means that certain settings in tsconfig.json only applies to type checking (like target, moduleResolution, etc.), but compilation uses it's own settings to match the JS code.

tip

You will also probably need to install additional @types/* type definition libs to ensure proper support, like react types:

npm i -D @types/react @types/react-dom

ima-env.d.ts

Additionally we recommend creating a new ima-env.d.ts file in root of your ./app folder with following contents:

./app/ima-env.d.ts
/// <reference types="@ima/cli/global" />

This adds proper types support for webpack specific imports like images and other files.

create-ima-app support

You can also easily create a typescript base IMA.js application using --typescript cli argument when running create-ima-app command:

npx create-ima-app ~/Desktop/ima-ts --typescript

Controller generic types

The AbstractController class follows similar principles used in React AbstractComponent type. There are 3 generic types you can define on the class definition itself.

AbstractController.ts
export class AbstractController<
S extends PageState = {},
R extends RouteParams = {},
SS extends S = S
> extends Controller<S, R, SS>;
  • S - Use to define shape of your controller managed state.
  • R - Use to define controller's route route params that are extracted to this.params.
  • SS - Defaults to S, however when you are using any extensions in your controller, that have their own state, you can merge those state types in this generic value, to have proper type support for this.getState() method (this will now include all state keys, including ones used in extensions).
HomeController.ts
import { TestExtension, GalleryExtensionState } from './GalleryExtension';

export type HomeControllerState = {
cards: Promise<CardData>;
message: string;
name: string;
};

export class HomeController extends AbstractController<
HomeControllerState,
{ detailId?: string },
HomeControllerState & GalleryExtensionState
>{
static $extensions?: Dependencies<Extension<any, any>> = [GalleryExtension];

load(): HomeControllerState {
const cardsPromise = this.#httpAgent
.get<CardData>('http://localhost:3001/static/static/public/cards.json')
.then(response => response.body);

// `state` contains all merged types from `SS` generic value.
const state = this.getState();

return {
message: 'test',
cards: cardsPromise,
name: 'nam',
};
}
}

Extending existing interfaces

Since you can extend certain features like ComponentUtils or settings from within your application or through plugins, and in order to provide type checking for these, we are using specific interfaces that you can extend using Declaration Merging feature.

This ensures (when used correctly), that you always have correct static types when using these interfaces, even when they are extended in multiple places.

Extending Utils

When using component utils, in addition to registering your classes using ComponentUtils helper, make sure to also extend Utils interface. This adds autocomplete and typechecking to this.utils() and useComponentUtils in your components.

./app/config/bind.ts
declare module '@ima/core' {
interface Utils {
$CssClasses: typeof defaultCssClasses;
}
}

export const initBindApp: InitBindFunction = (ns, oc) => {
oc.get(ComponentUtils).register({
$CssClasses: '$CssClasses',
});
};

Extending ObjectContainer

Same goes for defining string aliases in Object container. This adds proper type checking to dependencies definition and oc.get autocomplete.

./app/config/bind.ts
declare module '@ima/core' {
interface OCAliasMap {
$CssClasses: () => typeof cssClassNameProcessor;
$PageRendererFactory: PageRendererFactory;
API_KEY: string;
}
}

export const initBindApp: InitBindFunction = (ns, oc) => {
oc.bind('$CssClasses', function () { return cssClassNameProcessor; });
oc.bind('$PageRendererFactory', PageRendererFactory);
oc.constant('API_KEY', '14fasdf');
};

Extending Settings

This makes sure you don't have any missing or additional fields in your app settings. Other environments than prod have all fields made optional, since they are deeply merged with the prod settings.

tip

Use ?: for settings with default values. This applies mostly to plugins.

./app/config/settings.ts
declare module '@ima/core' {
interface Settings {
links: Record<'documentation' | 'tutorial' | 'plugins' | 'api', string>;
}
}

export const initSettings: InitSettingsFunction = (ns, oc, config) => {
return {
prod: {
links: {
documentation: 'https://imajs.io/docs',
api: 'https://imajs.io/api',
},
}
}
}

Dictionary localization keys

When compiling app language files, we also generate dictionary keys during runtime. These are then stored in './build/tmp/types/dictionary.ts' file. Don't forget to include this file in tsconfig.json source files array, to have correct static type checking:

./tsconfig.json
{
"include": ["./app/**/*", "./build/tmp/types/**/*"],
}
note

When used in IMA.js plugins, you can manually extend the DictionaryMap interface:

declare module '@ima/core' {
interface DictionaryMap {
'home.intro': string;
}
}

export {};
- - +

TypeScript

Since IMA.js v18 we provide support for Typescript in your application code with proper type declarations from the core packages.

+

To enable TypeScript in your project, first you need to add typescript to your app dependencies:

+
npm i -D typescript
+

tsconfig.json

+

Now create tsconfig.json file (that may look something like this):

+
{
"compilerOptions": {
"allowJs": true,
"target": "ES2022",
"lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
"module": "ES2022",
"moduleResolution": "Node16",
"strict": true,
"resolveJsonModule": true,
"jsx": "react-jsx",
"baseUrl": ".",
"outDir": "./build/ts-cache",
"paths": {
"app/*": [
"app/*"
],
}
},
"include": ["./app/**/*", "./build/tmp/types/**/*"],
"exclude": ["./**/__tests__"]
}
+

When CLI detects existence of the tsconfig.json file, it automatically starts type checking and compiling files with *.ts and *.tsx extensions.

+

Keep in mind that the code is still compiled using swc, the same way JS code is. This means that certain settings in tsconfig.json only applies to type checking (like target, moduleResolution, etc.), but compilation uses it's own settings to match the JS code.

+
tip

You will also probably need to install additional @types/* type definition libs to ensure proper support, like react types:

npm i -D @types/react @types/react-dom
+

ima-env.d.ts

+

Additionally we recommend creating a new ima-env.d.ts file in root of your ./app folder with following contents:

+
/// <reference types="@ima/cli/global" />
+

This adds proper types support for webpack specific imports like images and other files.

+

create-ima-app support

+

You can also easily create a typescript base IMA.js application using --typescript cli argument when running create-ima-app command:

+
npx create-ima-app ~/Desktop/ima-ts --typescript
+

Controller generic types

+

The AbstractController class follows similar principles used in React AbstractComponent type. There are 3 generic types you can define on the class definition itself.

+
export class AbstractController<
S extends PageState = {},
R extends RouteParams = {},
SS extends S = S
> extends Controller<S, R, SS>;
+
    +
  • S - Use to define shape of your controller managed state.
  • +
  • R - Use to define controller's route route params that are extracted to this.params.
  • +
  • SS - Defaults to S, however when you are using any extensions in your controller, that have their own state, you can merge those state types in this generic value, to have proper type support for this.getState() method (this will now include all state keys, including ones used in extensions).
  • +
+
import { TestExtension, GalleryExtensionState } from './GalleryExtension';

export type HomeControllerState = {
cards: Promise<CardData>;
message: string;
name: string;
};

export class HomeController extends AbstractController<
HomeControllerState,
{ detailId?: string },
HomeControllerState & GalleryExtensionState
>{
static $extensions?: Dependencies<Extension<any, any>> = [GalleryExtension];

load(): HomeControllerState {
const cardsPromise = this.#httpAgent
.get<CardData>('http://localhost:3001/static/static/public/cards.json')
.then(response => response.body);

// `state` contains all merged types from `SS` generic value.
const state = this.getState();

return {
message: 'test',
cards: cardsPromise,
name: 'nam',
};
}
}
+

Extending existing interfaces

+

Since you can extend certain features like ComponentUtils or settings from within your application or through plugins, and in order to provide type checking for these, we are using specific interfaces that you can extend using Declaration Merging feature.

+

This ensures (when used correctly), that you always have correct static types when using these interfaces, even when they are extended in multiple places.

+

Extending Utils

+

When using component utils, in addition to registering your classes using ComponentUtils helper, make sure to also extend Utils interface. This adds autocomplete and typechecking to this.utils() and useComponentUtils in your components.

+
declare module '@ima/core' {
interface Utils {
$CssClasses: typeof defaultCssClasses;
}
}

export const initBindApp: InitBindFunction = (ns, oc) => {
oc.get(ComponentUtils).register({
$CssClasses: '$CssClasses',
});
};
+

Extending ObjectContainer

+

Same goes for defining string aliases in Object container. This adds proper type checking to dependencies definition and oc.get autocomplete.

+
declare module '@ima/core' {
interface OCAliasMap {
$CssClasses: () => typeof cssClassNameProcessor;
$PageRendererFactory: PageRendererFactory;
API_KEY: string;
}
}

export const initBindApp: InitBindFunction = (ns, oc) => {
oc.bind('$CssClasses', function () { return cssClassNameProcessor; });
oc.bind('$PageRendererFactory', PageRendererFactory);
oc.constant('API_KEY', '14fasdf');
};
+

Extending Settings

+

This makes sure you don't have any missing or additional fields in your app settings. Other environments than prod have all fields made optional, since they are deeply merged with the prod settings.

+
tip

Use ?: for settings with default values. This applies mostly to plugins.

+
declare module '@ima/core' {
interface Settings {
links: Record<'documentation' | 'tutorial' | 'plugins' | 'api', string>;
}
}

export const initSettings: InitSettingsFunction = (ns, oc, config) => {
return {
prod: {
links: {
documentation: 'https://imajs.io/docs',
api: 'https://imajs.io/api',
},
}
}
}

+

Dictionary localization keys

+

When compiling app language files, we also generate dictionary keys during runtime. These are then stored in './build/tmp/types/dictionary.ts' file. Don't forget to include this file in tsconfig.json source files array, to have correct static type checking:

+
{
"include": ["./app/**/*", "./build/tmp/types/**/*"],
}
+
note

When used in IMA.js plugins, you can manually extend the DictionaryMap interface:

declare module '@ima/core' {
interface DictionaryMap {
'home.intro': string;
}
}

export {};
\ No newline at end of file diff --git a/basic-features/views-and-components/index.html b/basic-features/views-and-components/index.html index b7b6e0437..bea8d06ae 100644 --- a/basic-features/views-and-components/index.html +++ b/basic-features/views-and-components/index.html @@ -1,37 +1,75 @@ - + - -Views & Components | IMA.js - - + +Views & Components | IMA.js + + -
-

Views & Components

As you may have noticed when a route is registered, +

Views & Components

As you may have noticed when a route is registered, a constructor of Controller and View is given as a 3rd and 4th argument. Controller takes care of loading and managing the data while View is a -presentation for the data loaded by the Controller.

Organizing Views and Components

A good spot to place a view file is next to a controller file - that is:

app/page/<name-of-the-page>/
├─ SomeController.js
├─ SomeView.jsx
└─ someView.less

To structure your views easily you can split your views into a smaller components +presentation for the data loaded by the Controller.

+

+

Organizing Views and Components

+

A good spot to place a view file is next to a controller file - that is:

+
app/page/<name-of-the-page>/
├─ SomeController.js
├─ SomeView.jsx
└─ someView.less
+

To structure your views easily you can split your views into a smaller components that can also be reused in other views. Those smaller component are then included and used as any other react component. Components should be -placed into a app/component/ directory.

app/page/component/
├─ document/
| └─ DocumentView.jsx
├─ header/
| ├─ Header.jsx
| └─ header.less
└─ searchBar/
├─ SearchBar.jsx
└─ searchBar.less

Rendering Views

Views are just a React components that receive page state as props, that means you +placed into a app/component/ directory.

+
app/page/component/
├─ document/
| └─ DocumentView.jsx
├─ header/
| ├─ Header.jsx
| └─ header.less
└─ searchBar/
├─ SearchBar.jsx
└─ searchBar.less
+

Rendering Views

+

Views are just a React components that receive page state as props, that means you can freely use internal component state and any React lifecycle methods as you -wish.

An element that is returned from the render method is appended to the +wish.

+

An element that is returned from the render method is appended to the ManagedRootView, ViewAdapter and then DocumentView on the server side and send as a plain HTML markup to the client where it's hydrated with it's -former state.

When a route change occurs on a client side and...

  • ...only route parameters has changed, route was registered with the onlyUpdate +former state.

    +

    When a route change occurs on a client side and...

    +
      +
    • ...only route parameters has changed, route was registered with the onlyUpdate flag set to true and Controller has update method defined. In this case the -View receives new props (page state) and should react to them accordingly.
    • ...the current view is different from the new one then the rendered view is -replaced with a newly rendered view.

    Route parameters in View

    In ideal case Views should only display data loaded in Controller and not even -care about route parameters. But as nothing is ever ideal we've added params object to the View props for you.

    // app/config/routes.js
    router.add('user-detail', '/user/:userId', UserController, UserView);
    router.add('user-edit', '/user/:userId/edit', UserEditController, UserEditView);

    // app/page/user-detail/UserView.jsx
    const { userId } = this.props.params;

    const userLink = this.link('user-edit', { userId });
    <a href = { userLink }>

    This example ensures that the link to user-edit page is functional +View receives new props (page state) and should react to them accordingly.

  • +
  • ...the current view is different from the new one then the rendered view is +replaced with a newly rendered view.
  • +
+

Route parameters in View

+

In ideal case Views should only display data loaded in Controller and not even +care about route parameters. But as nothing is ever ideal we've added params object to the View props for you.

+
// app/config/routes.js
router.add('user-detail', '/user/:userId', UserController, UserView);
router.add('user-edit', '/user/:userId/edit', UserEditController, UserEditView);

// app/page/user-detail/UserView.jsx
const { userId } = this.props.params;

const userLink = this.link('user-edit', { userId });
<a href = { userLink }>
+

This example ensures that the link to user-edit page is functional immediately when a user navigates to user-detail page. Otherwise the link would -be functional only after the user-loading promise has been resolved.

Communication between Views and Controllers

It's clear that data obtained in a Controller are passed down to a View and thus +be functional only after the user-loading promise has been resolved.

+

Communication between Views and Controllers

+

It's clear that data obtained in a Controller are passed down to a View and thus affecting how the rendered View looks and what it displays. A problem arises when a View wants to tell Controller to load or change something. The solution to this are event handling utils EventBus and -Dispatcher.

Utilities shared across Views and Components

At some point you'll come to a situation when it'd be nice to have a function or set of functions shared between multiple components. Great example would be custom link generation, page elements manipulation (modal, lightbox) or adverts and analytics.

These cases are covered by ComponentUtils that allow you to register classes (utilities) that are then shared across every View and Component. Utilities are instantiated through OC therefore you can get access to other utilities or IMA.js components.

Example Utility class would look like this. Simple class with dependency injection.

// app/helper/LightboxHelper.js
import { Router } from '@ima/core';

export default class LightboxHelper {
static get $dependencies() {
return [Router];
}

showLightbox(content) {
...
}
}

Then to register the utility class:

// app/config/bind.js
import { ComponentUtils } from '@ima/core';
import LightboxHelper from 'app/helper/LightboxHelper';
import AnalyticsUtils from 'app/helper/AnalyticsUtils';

export default (ns, oc, config) => {
const ComponentUtils = oc.get(ComponentUtils); // or oc.get('$ComponentUtils');

ComponentUtils.register('Lightbox', LightboxHelper);
// OR to register multiple utilities at once
ComponentUtils.register({
Lightbox: LightboxHelper,
AnalyticsUtils
});
};

Finally, what'd be the point to register these classes if we were not to use them... All of the utilities are present in utils property on AbstractComponent.

// app/component/gallery/Gallery.jsx
import { AbstractComponent } from '@ima/react-page-renderer';

export default class Gallery extends AbstractComponent {

onPhotoClick(photoId) {
const { Lightbox } = this.utils;

Lightbox.showLightbox(...);
}
}

For some heavy-used utilities we've created a shortcut methods in AbstractComponent.

One special case would be cssClasses shortcut which is by default alias for classnames package. You can overwrite this behavior by registering you own helper in ComponentUtils under $CssClasses alias.

  • cssClasses(classRules, includeComponentClassName = this.utils.$CssClasses()
- - +Dispatcher.

+

Utilities shared across Views and Components

+

At some point you'll come to a situation when it'd be nice to have a function or set of functions shared between multiple components. Great example would be custom link generation, page elements manipulation (modal, lightbox) or adverts and analytics.

+

These cases are covered by ComponentUtils that allow you to register classes (utilities) that are then shared across every View and Component. Utilities are instantiated through OC therefore you can get access to other utilities or IMA.js components.

+

Example Utility class would look like this. Simple class with dependency injection.

+
// app/helper/LightboxHelper.js
import { Router } from '@ima/core';

export default class LightboxHelper {
static get $dependencies() {
return [Router];
}

showLightbox(content) {
...
}
}
+

Then to register the utility class:

+
// app/config/bind.js
import { ComponentUtils } from '@ima/core';
import LightboxHelper from 'app/helper/LightboxHelper';
import AnalyticsUtils from 'app/helper/AnalyticsUtils';

export default (ns, oc, config) => {
const ComponentUtils = oc.get(ComponentUtils); // or oc.get('$ComponentUtils');

ComponentUtils.register('Lightbox', LightboxHelper);
// OR to register multiple utilities at once
ComponentUtils.register({
Lightbox: LightboxHelper,
AnalyticsUtils
});
};
+

Finally, what'd be the point to register these classes if we were not to use them... All of the utilities are present in utils property on AbstractComponent.

+
// app/component/gallery/Gallery.jsx
import { AbstractComponent } from '@ima/react-page-renderer';

export default class Gallery extends AbstractComponent {

onPhotoClick(photoId) {
const { Lightbox } = this.utils;

Lightbox.showLightbox(...);
}
}
+

For some heavy-used utilities we've created a shortcut methods in AbstractComponent.

+ +

One special case would be cssClasses shortcut which is by default alias for classnames package. You can overwrite this behavior by registering you own helper in ComponentUtils under $CssClasses alias.

+
    +
  • cssClasses(classRules, includeComponentClassName = this.utils.$CssClasses()
  • +
\ No newline at end of file diff --git a/cli/additional-features/index.html b/cli/additional-features/index.html index 673138da7..a7ac1107c 100644 --- a/cli/additional-features/index.html +++ b/cli/additional-features/index.html @@ -1,16 +1,52 @@ - + - -Additional features | IMA.js - - + +Additional features | IMA.js + + -
-

Additional features

This section describes multiple additional features that are either directly provided by the CLI or indirectly with the help of additional development packages @ima/hmr-client, @ima/error-overlay, @ima/dev-utils.

Polyfills

Sometimes you may need to include additional custom polyfills to fully support your application in multiple environments. There are multiple ways to achieve this.

Static files in public folder

The easies way, is to put your polyfill files directly into the app/public folder and load them either by extending the $Source configuration in the app environment or customizing the application's DocumentView.jsx and spa.html templates with custom script tags:

./app/document/DocumentView.jsx
{/* ... */}
<body>
<script src='/static/public/custom-polyfill.js' />
<div
id={this.constructor.masterElementId}
dangerouslySetInnerHTML={{ __html: this.props.page }}
/>
<script
id='revivalSettings'
dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}
/>
</body>
{/* ... */}

Importing polyfills at top of the main.js file

Additionally you can import (or put) polyfills at the top of the ./app/main.js entry point.

./app/main.js
import 'abortcontroller-polyfill/dist/polyfill-patch-fetch';

import './less/app.less';

import * as ima from '@ima/core';
import initBindApp from 'app/config/bind';
//...

Optional polyfill.js and polyfill.es.js entry points

Lastly there are special polyfill.js and polyfill.es.js files that you can create in the root of the app directory. These, when bundled through webpack are available as separate JS files and are not part of the final app.bundle.js file.

As with the previous option, you can either import the polyfills from the node_modules packages, or use their source code directly, by copying it into this file.

info

Both files are optional, this means that you can use, either one of those or don't use them at all. Similarly to the first option, don't forget to add the newly generated polyfill.js files somewhere in the source, so they are loaded on app startup.

IMA.js Runtime

In the Compiler features section, we mentioned that the CLI is compiling 3 separate bundles, mainly two distinct client bundles, where each targets certain ECMAScript version. This approach has 2 main advantages:

  1. We're still able to support pretty much every currently supported browser version (in case of the es2018 version).
  2. We're also serving the latest native version to the modern browsers that support's it (es2022 version). This bundle is also much smaller since it contains very low amount of core-js polyfills and should have better performance, because native implementations of existing APIs are usually faster than provided polyfills.

You can customize source files for both versions in the $Source option of the app environment configuration file. This sources definition is then used by the IMA.js Runner, which then chooses (on the client side before app init) the most suitable version for the current browser environment and injects associated scripts into the DOM.

This is done by executing few small scripts, where each script target's certain ECMAScript feature. Based on these results, the runner injects the best version of client bundle suitable for that concrete browser environment. It also makes sure to wait until all scripts have loaded before executing the webpack runtime.

This makes sure that all external scripts that the app depends on (languages) are loaded correctly before it's execution and allows them to be loaded async to improve page load times.

runner.ejs

The IMA.js runner is simple snippet of JS code, that is injected into the page automatically within the app revivalSettings. It can be completely customizable by defining the runner overrides on the client window before it is injected into the DOM. It will then merge any existing overrides to the original runner before it's execution.

info

The runner script is intentionally written in es5 compatible syntax to make sure, that it can be executed on any environment and report using onUnsupported callback, when current browser can't even interpret the es2018 version of the bundle. In this case the application then runs in MPA mode

Extending default script

As mentioned before the runner script is fully extensible. For example to implement custom onUnsupported() and onError() callbacks, you'd do something like this:

./app/document/DocumentView.jsx
<body>
{/* ... */}
<script>
window.$IMA = window.$IMA || {};
window.$IMA.$Runner = {
/**
* Optional onError handler. It is triggered in case the runtime
* code fails to run the application.
*/
onError: function (error) {
throw new Error(error);
},

/**
* Optional onUnsupported handler. It is triggered in case tests
* for es and legacy version fails, which means that the APP runtime
* code is never executed.
*/
onUnsupported: function() {
// Hit analytics with unsupported browser info
},
}
</script>
<script
id='revivalSettings'
dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}
/>
</body>
{/* ... */}

Don't forget to apply the same changes to the spa.html, otherwise only SSR rendered pages will contain this override.

note

Since you will usually never want to change anything on the IMA.js Runner (apart from the previously mentioned callbacks), we won't go much deeper into it's the source code. You can always check it here and use it as a reference for custom overrides.

However simply keeping your @ima/* dependencies up to will make sure, that you always receive the latest version of the runner script, which may evolve overtime.

GenerateRuntimePlugin

Since the webpack runtime is unique for every built, usually quite small, have to be loaded synchronously (which can impact the page load performance) and you would need to manually handle loading it's source code to the DOM, we have created GenerateRuntimePlugin to solve these issues.

This plugin takes care of automatically generating the runtime consisting of the IMA.js runner code and webpack runtime (for both client bundles), which is then injected directly into the SPA template or SSR rendered html page. This means that you really don't have to worry about the existence of IMA.js runtime (while it's good to know that it does exist), since the framework handles all the hard work for you.

It also comes with some performance benefits, since inlining these small scripts directly into the HTML removes the need to load additional 2 scripts synchronously, after browser parses the initial DOM.

Dev server

When you run your app using npx ima dev command, apart from building your application in development mode with HMR and all other dev features enabled, the CLI also starts companion express server - the dev server.

By default it runs on http://localhost:3101 (this can be customized through ima.config.js or CLI options) and defines middlewares that are used mainly by the @ima/error-overlay (to properly display parsed error code snippets). Additionally it uses webpack-hot-middleware and webpack-dev-middleware to enable support for HMR.

Using separate small server to host these middleware doesn't force us to define them directly on the app server, which could essentially produce some errors in certain situations.

note

Usually you don't have to think about the dev server during development and can simply pretend that it doesn't exist, since it is handled entirely by the CLI scripts. You can always have a look at the source code to learn more.

- - +

Additional features

This section describes multiple additional features that are either directly provided by the CLI or indirectly with the help of additional development packages @ima/hmr-client, @ima/error-overlay, @ima/dev-utils.

+

Polyfills

+

Sometimes you may need to include additional custom polyfills to fully support your application in multiple environments. There are multiple ways to achieve this.

+

Static files in public folder

+

The easies way, is to put your polyfill files directly into the app/public folder and load them either by extending the $Source configuration in the app environment or customizing the application's DocumentView.jsx and spa.html templates with custom script tags:

+
{/* ... */}
<body>
<script src='/static/public/custom-polyfill.js' />
<div
id={this.constructor.masterElementId}
dangerouslySetInnerHTML={{ __html: this.props.page }}
/>
<script
id='revivalSettings'
dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}
/>
</body>
{/* ... */}
+

Importing polyfills at top of the main.js file

+

Additionally you can import (or put) polyfills at the top of the ./app/main.js entry point.

+
import 'abortcontroller-polyfill/dist/polyfill-patch-fetch';

import './less/app.less';

import * as ima from '@ima/core';
import initBindApp from 'app/config/bind';
//...
+

Optional polyfill.js and polyfill.es.js entry points

+

Lastly there are special polyfill.js and polyfill.es.js files that you can create in the root of the app directory. These, when bundled through webpack are available as separate JS files and are not part of the final app.bundle.js file.

+

As with the previous option, you can either import the polyfills from the node_modules packages, or use their source code directly, by copying it into this file.

+
info

Both files are optional, this means that you can use, either one of those or don't use them at all. Similarly to the first option, don't forget to add the newly generated polyfill.js files somewhere in the source, so they are loaded on app startup.

+

IMA.js Runtime

+

In the Compiler features section, we mentioned that the CLI is compiling 3 separate bundles, mainly two distinct client bundles, where each targets certain ECMAScript version. This approach has 2 main advantages:

+
    +
  1. We're still able to support pretty much every currently supported browser version (in case of the es2018 version).
  2. +
  3. We're also serving the latest native version to the modern browsers that support's it (es2022 version). This bundle is also much smaller since it contains very low amount of core-js polyfills and should have better performance, because native implementations of existing APIs are usually faster than provided polyfills.
  4. +
+

You can customize source files for both versions in the $Source option of the app environment configuration file. This sources definition is then used by the IMA.js Runner, which then chooses (on the client side before app init) the most suitable version for the current browser environment and injects associated scripts into the DOM.

+

This is done by executing few small scripts, where each script target's certain ECMAScript feature. Based on these results, the runner injects the best version of client bundle suitable for that concrete browser environment. It also makes sure to wait until all scripts have loaded before executing the webpack runtime.

+

This makes sure that all external scripts that the app depends on (languages) are loaded correctly before it's execution and allows them to be loaded async to improve page load times.

+

runner.ejs

+

The IMA.js runner is simple snippet of JS code, that is injected into the page automatically within the app revivalSettings. It can be completely customizable by defining the runner overrides on the client window before it is injected into the DOM. It will then merge any existing overrides to the original runner before it's execution.

+
info

The runner script is intentionally written in es5 compatible syntax to make sure, that it can be executed on any environment and report using onUnsupported callback, when current browser can't even interpret the es2018 version of the bundle. In this case the application then runs in MPA mode

+

Extending default script

+

As mentioned before the runner script is fully extensible. For example to implement custom onUnsupported() and onError() callbacks, you'd do something like this:

+
<body>
{/* ... */}
<script>
window.$IMA = window.$IMA || {};
window.$IMA.$Runner = {
/**
* Optional onError handler. It is triggered in case the runtime
* code fails to run the application.
*/
onError: function (error) {
throw new Error(error);
},

/**
* Optional onUnsupported handler. It is triggered in case tests
* for es and legacy version fails, which means that the APP runtime
* code is never executed.
*/
onUnsupported: function() {
// Hit analytics with unsupported browser info
},
}
</script>
<script
id='revivalSettings'
dangerouslySetInnerHTML={{ __html: this.props.revivalSettings }}
/>
</body>
{/* ... */}
+

Don't forget to apply the same changes to the spa.html, otherwise only SSR rendered pages will contain this override.

+
note

Since you will usually never want to change anything on the IMA.js Runner (apart from the previously mentioned callbacks), we won't go much deeper into it's the source code. You can always check it here and use it as a reference for custom overrides.

However simply keeping your @ima/* dependencies up to will make sure, that you always receive the latest version of the runner script, which may evolve overtime.

+

GenerateRuntimePlugin

+

Since the webpack runtime is unique for every built, usually quite small, have to be loaded synchronously (which can impact the page load performance) and you would need to manually handle loading it's source code to the DOM, we have created GenerateRuntimePlugin to solve these issues.

+

This plugin takes care of automatically generating the runtime consisting of the IMA.js runner code and webpack runtime (for both client bundles), which is then injected directly into the SPA template or SSR rendered html page. This means that you really don't have to worry about the existence of IMA.js runtime (while it's good to know that it does exist), since the framework handles all the hard work for you.

+

It also comes with some performance benefits, since inlining these small scripts directly into the HTML removes the need to load additional 2 scripts synchronously, after browser parses the initial DOM.

+

Dev server

+

When you run your app using npx ima dev command, apart from building your application in development mode with HMR and all other dev features enabled, the CLI also starts companion express server - the dev server.

+

By default it runs on http://localhost:3101 (this can be customized through ima.config.js or CLI options) and defines middlewares that are used mainly by the @ima/error-overlay (to properly display parsed error code snippets). Additionally it uses webpack-hot-middleware and webpack-dev-middleware to enable support for HMR.

+

+

Using separate small server to host these middleware doesn't force us to define them directly on the app server, which could essentially produce some errors in certain situations.

+
note

Usually you don't have to think about the dev server during development and can simply pretend that it doesn't exist, since it is handled entirely by the CLI scripts. You can always have a look at the source code to learn more.

note
\ No newline at end of file diff --git a/cli/advanced-features/index.html b/cli/advanced-features/index.html index ae6ff7fbd..67e08b6fb 100644 --- a/cli/advanced-features/index.html +++ b/cli/advanced-features/index.html @@ -1,16 +1,18 @@ - + - -Advanced Features | IMA.js - - + +Advanced Features | IMA.js + + -
-

Error-overlay

filesystem cache

polyfill.js

GenerateRunnerPlugin

dynamic imports

dev server

- - +

Error-overlay

+

filesystem cache

+

polyfill.js

+

GenerateRunnerPlugin

+

dynamic imports

+

dev server

\ No newline at end of file diff --git a/cli/cli-plugins-api/index.html b/cli/cli-plugins-api/index.html index c4cad0dea..cecec43a3 100644 --- a/cli/cli-plugins-api/index.html +++ b/cli/cli-plugins-api/index.html @@ -1,16 +1,53 @@ - + - -CLI Plugins API | IMA.js - - + +CLI Plugins API | IMA.js + + -
-

CLI Plugins API

The CLI comes with built-in support for plugins. Plugins are used to extend or modify existing webpack config very easily or even run some pre/post processing scripts during the build process.

The CLI plugin is usually a class or an object implementing ImaCliPlugin interface. This instance is then added to the plugins array field in the ima.config.js, which registers the plugin to the build process. Additionally to extending the webpack config, you have ability to provide additional custom CLI arguments.

CLI Plugins API

Each plugin has to comply with the following interface. Even though almost v everything method is not required and marked as optional, your plugin should implement at least one of the following methods in order to be of any use. Otherwise it would still work but the plugin would not do anything.

/**
* Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used
* to extend functionality of default CLI with custom cli arguments and webpack config overrides.
*/
export interface ImaCliPlugin {
/**
* Plugin name, used mainly for better debugging messages.
*/
readonly name: string;

/**
* Optional additional CLI arguments to extend the set of existing ones.
*/
readonly cliArgs?: Partial<Record<ImaCliCommand, CommandBuilder>>;

/**
* Optional plugin hook to do some pre processing right after the cli args are processed
* and the imaConfig is loaded, before the webpack config creation and compiler run.
*/
preProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;

/**
* Called right before creating webpack configurations after preProcess call.
* This hook lets you customize configuration contexts for each webpack config
* that will be generated. This is usefull when you need to overrite configuration
* contexts for values that are not editable anywhere else (like output folders).
*/
prepareConfigurations?(
configurations: ImaConfigurationContext[],
imaConfig: ImaConfig,
args: ImaCliArgs
): Promise<ImaConfigurationContext[]>;

/**
* Webpack callback function used by plugins to customize/extend ima webpack config before it's run.
*/
webpack?(
config: Configuration,
ctx: ImaConfigurationContext,
imaConfig: ImaConfig
): Promise<Configuration>;

/**
* Optional plugin hook to do some custom processing after the compilation has finished.
* Attention! This hook runs only for build command.
*/
postProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;
}

Creating a CLI plugin

In this section we're going to create custom plugin, which generates assets manifest json file. To achieve this we'll use WebpackManifestPlugin and extend our webpack config. We'll also define some additional CLI arguments that will enable us to overwrite certain settings on demand.

First we're going to install the webpack-manifest-plugin:

npm install webpack-manifest-plugin -D

Then we need to define base class for our new CLI plugin. To make things easier we're going to work directly in the ima.config.js but in reality you'd be better of creating separate npm package for easier sharing between multiple IMA.js projects.

./ima.config.js
class CliManifestPlugin {
name = 'CliManifestPlugin';

webpack(config, ctx, imaConfig) {}
}

module.exports = {
plugins: [new CliManifestPlugin()],
};

Extending the webpack config

Now we're going to initialize our manifest plugin. But we only want to do this when we are building the final bundle using the build command. For that we can use the ctx: ImaContext variable, which contains multiple flags and values describing current build context. One of those values is ctx.command which can be either dev or build.

We are also going to make sure that we can provide options to our CLI plugin that are in this case passed directly to the webpack plugin.

./ima.config.js
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');

class CliManifestPlugin {
//...
#options = {};

constructor(options) {
this.#options = options;
}

webpack(config, ctx, imaConfig) {
if (ctx.command === 'build') {
config.plugins.push(new WebpackManifestPlugin(this.#options));
}

return config;
}
//...
}
tip

Feel free to print the ctx object into the console and examine it's properties.

Similarly to the ctx you can also use the imaConfig parameter, which contains loaded ima.config.js file. You can use this feature to have some additional custom plugin-specific definitions in the ima.config.js file too, or use existing settings for some additional functionality.

We're now going to use these options and pass seed argument to the plugin. The seed object is used to share data between multiple manifest plugin instances (in our case multiple webpack compilations). This makes sure that the final manifest.json file contains paths to all generated assets and is not overwritten by each finished webpack compilation.

./ima.config.js
//...
const manifestSeed = {};

module.exports = {
plugins: [new CliManifestPlugin({ seed: manifestSeed })],
};

Custom CLI arguments

There may be times you'd like to customize or enable/disable certain features on demand using CLI arguments. To demonstrate this we're going to define manifestBasePath CIL argument which will overwrite the basePath plugin option.

You can define CLI arguments for each command separately, in our case, since the plugin does something only in build command, we're gonna do the same for the CLI arguments:

./ima.config.js
class CliManifestPlugin {
//...
cliArgs = {
dev: undefined, // Dev args will go here
build: {
manifestBasePath: {
desc: 'Overwrite basePath default value',
type: 'string',
},
},
};
//...
}

The argument definition is passed directly to the yargs parser, so anything that yargs options accept can be passed here. If you've done everything correctly you should even see the new argument in the command --help option:

npx ima build --help

ima build

Build an application for production

Options:
--manifestBasePath Overwrite basePath default value [string]

Accessing CLI arguments

CLI argument values are merged into the ctx parameter, so you can access them here. In our case we would like to extend the plugin options with the CLI override:

./ima.config.js
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');

class CliManifestPlugin {
//...
webpack(config, ctx, imaConfig) {
if (ctx.command === 'build') {
config.plugins.push(
new WebpackManifestPlugin({
...this.#options,
basePath: ctx.manifestBasePath ?? '',
})
);
}

return config;
}
//...
}

Running npx ima build --manifestBasePath=path/prefix should be reflected in the generated manifest.json file in the ./build directory.

Final results

Below is the entire content of the ima.config.js file we've been building so far that you can use as a reference.

./ima.config.js
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');

class CliManifestPlugin {
#options = {};

name = 'CliManifestPlugin';

cliArgs = {
dev: undefined, // Dev args will go here
build: {
manifestBasePath: {
desc: 'Overwrite basePath default value',
type: 'string',
},
},
};

constructor(options) {
this.#options = options;
}

webpack(config, ctx, imaConfig) {
if (ctx.command === 'build') {
config.plugins.push(
new WebpackManifestPlugin({
...this.#options,
basePath: ctx.manifestBasePath ?? '',
})
);
}

return config;
}
}

const manifestSeed = {};

module.exports = {
plugins: [new CliManifestPlugin({ seed: manifestSeed })],
};

Using TypeScript

Since the @ima/cli is written in TypeScript, there are TypeScript definitions you can use while defining your plugin. All types and interfaces are available as exports from the @ima/cli package while you can always have a look at our existing plugins, which are also written in TypeScript for an inspiration.

Existing CLI plugins

Currently we maintain 3 distinct CLI plugins that we actively use in our applications. These enables us to extend the feature set of the IMA.js CLI with additional functionality, which is not really suited to be available by default in the original CLI config, since their use is very situational. However you can almost certainly benefit from using these in your application.

Most of these plugins also provide additional functionality that can be used outside of the CLI plugin definition, but it is essential for it to work properly.

- - +

CLI Plugins API

The CLI comes with built-in support for plugins. Plugins are used to extend or modify existing webpack config very easily or even run some pre/post processing scripts during the build process.

+

The CLI plugin is usually a class or an object implementing ImaCliPlugin interface. This instance is then added to the plugins array field in the ima.config.js, which registers the plugin to the build process. Additionally to extending the webpack config, you have ability to provide additional custom CLI arguments.

+

CLI Plugins API

+

Each plugin has to comply with the following interface. Even though almost v everything method is not required and marked as optional, your plugin should implement at least one of the following methods in order to be of any use. Otherwise it would still work but the plugin would not do anything.

+
/**
* Interface for ima/cli plugins that can be defined in plugins field in ima.conf.js. These can be used
* to extend functionality of default CLI with custom cli arguments and webpack config overrides.
*/
export interface ImaCliPlugin {
/**
* Plugin name, used mainly for better debugging messages.
*/
readonly name: string;

/**
* Optional additional CLI arguments to extend the set of existing ones.
*/
readonly cliArgs?: Partial<Record<ImaCliCommand, CommandBuilder>>;

/**
* Optional plugin hook to do some pre processing right after the cli args are processed
* and the imaConfig is loaded, before the webpack config creation and compiler run.
*/
preProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;

/**
* Called right before creating webpack configurations after preProcess call.
* This hook lets you customize configuration contexts for each webpack config
* that will be generated. This is usefull when you need to overrite configuration
* contexts for values that are not editable anywhere else (like output folders).
*/
prepareConfigurations?(
configurations: ImaConfigurationContext[],
imaConfig: ImaConfig,
args: ImaCliArgs
): Promise<ImaConfigurationContext[]>;

/**
* Webpack callback function used by plugins to customize/extend ima webpack config before it's run.
*/
webpack?(
config: Configuration,
ctx: ImaConfigurationContext,
imaConfig: ImaConfig
): Promise<Configuration>;

/**
* Optional plugin hook to do some custom processing after the compilation has finished.
* Attention! This hook runs only for build command.
*/
postProcess?(args: ImaCliArgs, imaConfig: ImaConfig): Promise<void>;
}
+

Creating a CLI plugin

+

In this section we're going to create custom plugin, which generates assets manifest json file. To achieve this we'll use WebpackManifestPlugin and extend our webpack config. We'll also define some additional CLI arguments that will enable us to overwrite certain settings on demand.

+

First we're going to install the webpack-manifest-plugin:

+
npm install webpack-manifest-plugin -D
+

Then we need to define base class for our new CLI plugin. To make things easier we're going to work directly in the ima.config.js but in reality you'd be better of creating separate npm package for easier sharing between multiple IMA.js projects.

+
class CliManifestPlugin {
name = 'CliManifestPlugin';

webpack(config, ctx, imaConfig) {}
}

module.exports = {
plugins: [new CliManifestPlugin()],
};
+

Extending the webpack config

+

Now we're going to initialize our manifest plugin. But we only want to do this when we are building the final bundle using the build command. For that we can use the ctx: ImaContext variable, which contains multiple flags and values describing current build context. One of those values is ctx.command which can be either dev or build.

+

We are also going to make sure that we can provide options to our CLI plugin that are in this case passed directly to the webpack plugin.

+
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');

class CliManifestPlugin {
//...
#options = {};

constructor(options) {
this.#options = options;
}

webpack(config, ctx, imaConfig) {
if (ctx.command === 'build') {
config.plugins.push(new WebpackManifestPlugin(this.#options));
}

return config;
}
//...
}
+
tip

Feel free to print the ctx object into the console and examine it's properties.

Similarly to the ctx you can also use the imaConfig parameter, which contains loaded ima.config.js file. You can use this feature to have some additional custom plugin-specific definitions in the ima.config.js file too, or use existing settings for some additional functionality.

+

We're now going to use these options and pass seed argument to the plugin. The seed object is used to share data between multiple manifest plugin instances (in our case multiple webpack compilations). This makes sure that the final manifest.json file contains paths to all generated assets and is not overwritten by each finished webpack compilation.

+
//...
const manifestSeed = {};

module.exports = {
plugins: [new CliManifestPlugin({ seed: manifestSeed })],
};
+

Custom CLI arguments

+

There may be times you'd like to customize or enable/disable certain features on demand using CLI arguments. To demonstrate this we're going to define manifestBasePath CIL argument which will overwrite the basePath plugin option.

+

You can define CLI arguments for each command separately, in our case, since the plugin does something only in build command, we're gonna do the same for the CLI arguments:

+
class CliManifestPlugin {
//...
cliArgs = {
dev: undefined, // Dev args will go here
build: {
manifestBasePath: {
desc: 'Overwrite basePath default value',
type: 'string',
},
},
};
//...
}
+

The argument definition is passed directly to the yargs parser, so anything that yargs options accept can be passed here. If you've done everything correctly you should even see the new argument in the command --help option:

+
npx ima build --help

ima build

Build an application for production

Options:
--manifestBasePath Overwrite basePath default value [string]
+

Accessing CLI arguments

+

CLI argument values are merged into the ctx parameter, so you can access them here. In our case we would like to extend the plugin options with the CLI override:

+
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');

class CliManifestPlugin {
//...
webpack(config, ctx, imaConfig) {
if (ctx.command === 'build') {
config.plugins.push(
new WebpackManifestPlugin({
...this.#options,
basePath: ctx.manifestBasePath ?? '',
})
);
}

return config;
}
//...
}
+

Running npx ima build --manifestBasePath=path/prefix should be reflected in the generated manifest.json file in the ./build directory.

+

Final results

+

Below is the entire content of the ima.config.js file we've been building so far that you can use as a reference.

+
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');

class CliManifestPlugin {
#options = {};

name = 'CliManifestPlugin';

cliArgs = {
dev: undefined, // Dev args will go here
build: {
manifestBasePath: {
desc: 'Overwrite basePath default value',
type: 'string',
},
},
};

constructor(options) {
this.#options = options;
}

webpack(config, ctx, imaConfig) {
if (ctx.command === 'build') {
config.plugins.push(
new WebpackManifestPlugin({
...this.#options,
basePath: ctx.manifestBasePath ?? '',
})
);
}

return config;
}
}

const manifestSeed = {};

module.exports = {
plugins: [new CliManifestPlugin({ seed: manifestSeed })],
};
+

Using TypeScript

+

Since the @ima/cli is written in TypeScript, there are TypeScript definitions you can use while defining your plugin. All types and interfaces are available as exports from the @ima/cli package while you can always have a look at our existing plugins, which are also written in TypeScript for an inspiration.

+

Existing CLI plugins

+

Currently we maintain 3 distinct CLI plugins that we actively use in our applications. These enables us to extend the feature set of the IMA.js CLI with additional functionality, which is not really suited to be available by default in the original CLI config, since their use is very situational. However you can almost certainly benefit from using these in your application.

+

Most of these plugins also provide additional functionality that can be used outside of the CLI plugin definition, but it is essential for it to work properly.

+
\ No newline at end of file diff --git a/cli/compiler-features/index.html b/cli/compiler-features/index.html index 8fd8e3f11..52a7e302e 100644 --- a/cli/compiler-features/index.html +++ b/cli/compiler-features/index.html @@ -1,16 +1,69 @@ - + - -Compiler features | IMA.js - - + +Compiler features | IMA.js + + -
-

Compiler features

The IMA.js CLI uses webpack behind the scenes to compile, minify and run the application in dev mode. It comes pre-configured with some options, plugins and loaders, which are described in the following sections.

Server and client bundles

The CLI creates 3 separate bundles (2 in dev mode for performance reasons) with their own configurations. One server bundle (used in express for SSR) and two client bundles - client and client.es, where one targets the es2018 and the other es2022 version of the javascript.

This can be further customized using the disableLegacyBuilt option in ima.config.js.

tip

To make the CLI build both es versions in dev mode, run it with npx ima dev --legacy option.

Keep in mind that hot module replacement (HMR) is configured to work only with the latest es version (manual browser reload is required to see any changes on the legacy version).

Filesystem Cache

The webpack filesystem cache feature is enabled by default to improve consecutive build times in development and production mode.

The CLI automatically generates cache key based on used set of CLI options, which somehow affect the produced output. Not all options affect cache key generation, however you may notice that sometimes the build speeds can behave as if there is no filesystem cache. To see which options affect the cache key generation, take a look at the createCacheKey() function.

note

Note that each command and bundle maintains it's own set of coexisting cache. To clear the cache, use --clearCache option in build or dev commands.

JavaScript/React

To bundle JS files we opted to use swc, a Rust-based JavaScript compiler. This decision was based on our results from testing and measuring build times, where we saw 2-3 times the speed benefit (depending on the application size) of using swc over babel compiler.

By default the application compiles both, the application files (sourced from ./app folder) and vendor files (sourced from ./node_modules directory) to make sure that it can run in targeted environments without any issues.

The swc compiler is configured to leverage the power of "env" functionality (preset-env in babel), in combination with core-js to automatically polyfill missing APIs that are used throughout the codebase, that the targeted environment doesn't support.

This configuration can be easily customized using swc option in ima.config.js.

note

This means that you can write your code using the latest and greatest from the ECMAscript language and the swc makes sure to compile these features down to the latest supported syntax or automatically inject core-js polyfills.

danger

Keep in mind that overuse of these may result in larger JS bundles due to the need to inject more core-js polyfills. Also browser APIs like for example AbortController or fetch are not handled by the core-js and must be included manually. See polyfills in advanced features section.

React

In dev we use the development version of react library (for better debugging) and react-refresh for HMR. This is switched to production for production builds. By default the compiler is configured to work with automatic JSX runtime, so there's no need to import react library at top of every jsx file. This can be changed to classic in ima.config.js.

Typescript

From IMA.js v18 we've introduced support for Typescript in your application code. To enable it, simply install typescript dependency and create tsconfig.json file in the root of your project.

tip

For more information and additional tips about TypeScript usage in IMA.js applications, see the TypeScript section.

CSS/LESS

There's built in support for CSS and LESS preprocessor. Both of these have the same featureset. To use any CSS you have to import the files anywhere in your application. These imports are then combined and extracted to single app.css file.

tip

./app/main.js is a good place to use for global CSS files, since it is an entry point to IMA.js application and these imports will be included at top of the built app.css file.

CSS Modules

Both loaders fully support CSS Modules for files with *.modules.css or *.modules.less postfixes, with local as default scoping.

./app/page/home/home.module.less
:global {
:root: {
--bg-color: #fff;
}
}

.home {
background: var(--bg-color);
}
./app/page/home/Home.jsx
import styles from './home.module.less';

function Home() {
return
<div className={styles.home}>HomePage</div>
);
}

globals.less

This file is located at ./app/less/globals.less and it is automatically imported on top of every other processed LESS file. It allows you to easily share globals across less files.

tip

Use this file to import other mixins and global variables which are then available in all other *.less files automatically, without the need to import them explicitly.

./app/less/globals.less
@import './mixins/*.less';

@global-red: red;
./app/less/app.less
body {
// No direct import of 'globals.less' is needed.
background: @global-red;
}

Glob less imports

The less-loader uses less-plugin-glob by default in it's configuration. This means that glob imports are fully supported.

./app/less/app.less
@import './mixins/*.less';

/* Non-relative imports are resolved through node resolver. */
@import "@ima/**/atoms/**/*.less";
@import "@ima/**/molecules/**/*.less";
@import "@ima/**/organisms/**/*.less";

PostCSS

IMA.js has built-in support for PostCSS during CSS/LESS compilation.

Out of the box without any additional configuration, it comes pre-configured with following plugins:

  1. postcss-flexbugs-fixes - tries to fix all known flexbox issues.
  2. postcss-preset-env - converts modern CSS back into something the old browsers can understand (back to IE11). It comes with: autoprefixer, stage 3 and custom-properties: false features.

All these features can be easily customized using postcss option in ima.config.js.

Assets

All other assets are either inlined as base64 encoded string or copied to the ./build/static/media folder, where default import represents assets's public URL.

Images

Images (bmp, gif, jpeg, png, webp, svg) are automatically inlined if their size is below imageInlineSizeLimit, which can be configured in ima.config.js, with default value of 8Kb. Images exceeding this size limit are copied to the static media folder and import return's their public URL.

To enforce either one of the two modes, you can use ?external or ?inline query parameter in the import path:

// This always converts the image to base64 encoded string and inlines it.
import InlineImage from './image.png?inline';

// This always returns image public URL, no matter it's size
import ImageURL from './image.png?external';

Text files

When you import one of these text files - csv, txt, html, you receive their contents. Similarly to the images, you can enforce getting their public URL by using the ?external query parameter.

// Returns file contents in the default import
import IndexSource from './index.html';

// Returns the file public URL
import IndexURL from './index.html?external';

./app/public folder

Everything in this folder is copied to the ./build/static/public and available through the express static files route (http://localhost:3001/static/public/).

Compression

When you built the application bundle, all static assets are additionally compressed using brotli and gzip compression (with .br and .gz extensions respectively). To customize this behavior, take a look at ima.config.js configuration section.

Languages

The language files are compile using messageformat library.

- - +

Compiler features

The IMA.js CLI uses webpack behind the scenes to compile, minify and run the application in dev mode. It comes pre-configured with some options, plugins and loaders, which are described in the following sections.

+

Server and client bundles

+

The CLI creates 3 separate bundles (2 in dev mode for performance reasons) with their own configurations. One server bundle (used in express for SSR) and two client bundles - client and client.es, where one targets the es2018 and the other es2022 version of the javascript.

+

This can be further customized using the disableLegacyBuilt option in ima.config.js.

+
tip

To make the CLI build both es versions in dev mode, run it with npx ima dev --legacy option.

Keep in mind that hot module replacement (HMR) is configured to work only with the latest es version (manual browser reload is required to see any changes on the legacy version).

+

Filesystem Cache

+

The webpack filesystem cache feature is enabled by default to improve consecutive build times in development and production mode.

+

The CLI automatically generates cache key based on used set of CLI options, which somehow affect the produced output. Not all options affect cache key generation, however you may notice that sometimes the build speeds can behave as if there is no filesystem cache. To see which options affect the cache key generation, take a look at the createCacheKey() function.

+
note

Note that each command and bundle maintains it's own set of coexisting cache. To clear the cache, use --clearCache option in build or dev commands.

+

JavaScript/React

+

To bundle JS files we opted to use swc, a Rust-based JavaScript compiler. This decision was based on our results from testing and measuring build times, where we saw 2-3 times the speed benefit (depending on the application size) of using swc over babel compiler.

+

By default the application compiles both, the application files (sourced from ./app folder) and vendor files (sourced from ./node_modules directory) to make sure that it can run in targeted environments without any issues.

+

The swc compiler is configured to leverage the power of "env" functionality (preset-env in babel), in combination with core-js to automatically polyfill missing APIs that are used throughout the codebase, that the targeted environment doesn't support.

+

This configuration can be easily customized using swc option in ima.config.js.

+
note

This means that you can write your code using the latest and greatest from the ECMAscript language and the swc makes sure to compile these features down to the latest supported syntax or automatically inject core-js polyfills.

+
warning

Keep in mind that overuse of these may result in larger JS bundles due to the need to inject more core-js polyfills. Also browser APIs like for example AbortController or fetch are not handled by the core-js and must be included manually. See polyfills in advanced features section.

+

React

+

In dev we use the development version of react library (for better debugging) and react-refresh for HMR. This is switched to production for production builds. By default the compiler is configured to work with automatic JSX runtime, so there's no need to import react library at top of every jsx file. This can be changed to classic in ima.config.js.

+

Typescript

+

From IMA.js v18 we've introduced support for Typescript in your application code. To enable it, simply install typescript dependency and create tsconfig.json file in the root of your project.

+
tip

For more information and additional tips about TypeScript usage in IMA.js applications, see the TypeScript section.

+

CSS/LESS

+

There's built in support for CSS and LESS preprocessor. Both of these have the same featureset. To use any CSS you have to import the files anywhere in your application. These imports are then combined and extracted to single app.css file.

+
tip

./app/main.js is a good place to use for global CSS files, since it is an entry point to IMA.js application and these imports will be included at top of the built app.css file.

+

CSS Modules

+

Both loaders fully support CSS Modules for files with *.modules.css or *.modules.less postfixes, with local as default scoping.

+
:global {
:root: {
--bg-color: #fff;
}
}

.home {
background: var(--bg-color);
}
+
import styles from './home.module.less';

function Home() {
return
<div className={styles.home}>HomePage</div>
);
}
+

globals.less

+

This file is located at ./app/less/globals.less and it is automatically imported on top of every other processed LESS file. It allows you to easily share globals across less files.

+
tip

Use this file to import other mixins and global variables which are then available in all other *.less files automatically, without the need to import them explicitly.

@import './mixins/*.less';

@global-red: red;
body {
// No direct import of 'globals.less' is needed.
background: @global-red;
}
+

Glob less imports

+

The less-loader uses less-plugin-glob by default in it's configuration. This means that glob imports are fully supported.

+
@import './mixins/*.less';

/* Non-relative imports are resolved through node resolver. */
@import "@ima/**/atoms/**/*.less";
@import "@ima/**/molecules/**/*.less";
@import "@ima/**/organisms/**/*.less";
+

PostCSS

+

IMA.js has built-in support for PostCSS during CSS/LESS compilation.

+

Out of the box without any additional configuration, it comes pre-configured with following plugins:

+
    +
  1. postcss-flexbugs-fixes - tries to fix all known flexbox issues.
  2. +
  3. postcss-preset-env - converts modern CSS back into something the old browsers can understand (back to IE11). It comes with: autoprefixer, stage 3 and custom-properties: false features.
  4. +
+

All these features can be easily customized using postcss option in ima.config.js.

+

Assets

+

All other assets are either inlined as base64 encoded string or copied to the ./build/static/media folder, where default import represents assets's public URL.

+

Images

+

Images (bmp, gif, jpeg, png, webp, svg) are automatically inlined if their size is below imageInlineSizeLimit, which can be configured in ima.config.js, with default value of 8Kb. Images exceeding this size limit are copied to the static media folder and import return's their public URL.

+

To enforce either one of the two modes, you can use ?external or ?inline query parameter in the import path:

+
// This always converts the image to base64 encoded string and inlines it.
import InlineImage from './image.png?inline';

// This always returns image public URL, no matter it's size
import ImageURL from './image.png?external';
+

Text files

+

When you import one of these text files - csv, txt, html, you receive their contents. Similarly to the images, you can enforce getting their public URL by using the ?external query parameter.

+
// Returns file contents in the default import
import IndexSource from './index.html';

// Returns the file public URL
import IndexURL from './index.html?external';
+

./app/public folder

+

Everything in this folder is copied to the ./build/static/public and available through the express static files route (http://localhost:3001/static/public/).

+

Compression

+

When you built the application bundle, all static assets are additionally compressed using brotli and gzip compression (with .br and .gz extensions respectively). To customize this behavior, take a look at ima.config.js configuration section.

+

Languages

+

The language files are compile using messageformat library.

\ No newline at end of file diff --git a/cli/ima-config-js/index.html b/cli/ima-config-js/index.html index 208702ce7..922542508 100644 --- a/cli/ima-config-js/index.html +++ b/cli/ima-config-js/index.html @@ -1,17 +1,141 @@ - + - -ima.config.js | IMA.js - - + +ima.config.js | IMA.js + + -
-

ima.config.js

To additionally customize the build configuration of IMA.js, you can create a ima.config.js file in the root of your project (next to package.json).

ima.config.js is regular JavaScript module that is loaded during the build configuration initialization (in Node.js environment) and it is not included in the final application bundle.

An example of ima.config.js file can look something like this:

./ima.config.js
const postcssUnmq = require('postcss-unmq');
const { AnalyzePlugin } = require('@ima/cli');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
publicPath: '/public/',
watchOptions: {
ignored: /(node_modules|build|.husky|_templates|.git)\/(?!@ima).*/
},
plugins: [
new AnalyzePlugin()
],
webpack: async (config, ctx) => {
// Enable webpack infrastructure logging
if (ctx.command === 'dev') {
config.infrastructureLogging = {
level: 'info',
};
}

return config;
},
postcss: (config, ctx) => {
config.postcssOptions.plugins.push(postcssUnmq({ width: 540 }));

return config;
},
languages: {
cs: [
'./node_modules/@ima/**/*CS.json',
'./app/**/*CS.json'
],
en: [
'./node_modules/@ima/**/*EN.json',
'./app/**/*EN.json'
]
}
};
tip

Use the @type jsdoc annotation to enable ts-types code completions.

Configuration options

The ima.config.js file should export an object with any combination of the following configuration options.

webpack

async function(config, ctx, imaConfig): config

This is the most advanced and versatile configuration option, allowing you to change the generated webpack configuration directly before it's passed to the compiler. This function is executed last in the whole configuration pipeline, meaning that all default configurations and CLI plugin configurations are already merged into the config value. This allows you to completely customize the final config form.

The function receives 3 arguments and has to always return (mutated) config object:

  • config - webpack configuration object (just like the one you usually define in webpack.config.js).
  • ctx - current configuration context. As we mentioned in the compiler features, the app builds 3 different bundles. Using ctx.name you can find out which configuration you are currently editing. There are many additional values that help you identify current build state. You can use these to further customize the config only in some cases or for certain bundles. For more information take a look at the argument type.
  • imaConfig - loaded ima.config.js file, with defaults.

The following example turns on minification for server bundle for build command:

./ima.config.js
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
webpack: async (config, ctx) => {
if (ctx.command === 'build' && ctx.name === 'server') {
config.optimization.minimize = true;
}

return config;
},
};

:::Note

Since this function can be implemented in ima.config.js and also CLI plugins, the resolve order is following default @ima/cli config -> CLI plugin configs -> ima.config.js.

:::

swc

async function(swcLoaderOptions, ctx): swcLoaderOptions

Similarly to webpack, this function is executed with the swc-loader default options and it's result is then passed to the loader itself. This allows you to customize the swc compiler options in easier and more direct way than you'd have to do when using the webpack option.

For example, to enable support for the ECMAScript proposals core-js feature, you would do the following:

./ima.config.js
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
swc: async (swcLoaderOptions, ctx) => {
swcLoaderOptions.env.shippedProposals = true;

return swcLoaderOptions;
},
};

swcVendor

async function(swcLoaderOptions, ctx): swcLoaderOptions

Works same as the aforementioned swc options, except this config is applied to vendor files that match regular expressions defined in the transformVendorPaths settings.

postcss

async function(postCssLoaderOptions, ctx): postCssLoaderOptions

Lastly, this function is used to customize the postcss-loader options. Among the rest you can easily define custom PostCSS plugins or completely overwrite the default set:

./ima.config.js
const postcssUnmq = require('postcss-unmq');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
swc: async (postCssLoaderOptions, ctx) => {
postCssLoaderOptions.postcssOptions.plugins.push(
postcssUnmq({ width: 540 })
);

return postCssLoaderOptions;
},
};
info

The webpack configuration intentionally ignores any .postcssrc configuration files to prevent potential conflicts with multiple config files.

prepareConfigurations

async function(configurations: ImaConfigurationContext[], imaConfig: ImaConfig, args: ImaCliArgs): Promise<ImaConfigurationContext[]>

Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This allows you to override values of context variables like useHMR, useTypeScript which define -how the final webpack config is generated, without the need to customize the config itself.

languages

object

i18n language files configuration. The language option expects an object with key/value pairs, where key represents the language and value an array of messageformat compliant JSON files. For more information about localization, see the dictionary section.

note

Globs are fully supported and resolved through globby npm package.

./ima.config.js
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
languages: {
cs: [
'./node_modules/@ima/**/*CS.json',
'./node_modules/@cns/**/*CS.json',
'./app/**/*CS.json'
],
en: [
'./node_modules/@ima/**/*EN.json',
'./node_modules/@cns/**/*EN.json',
'./app/**/*EN.json'
]
}
}

jsxRuntime

'classic' | 'automatic' = 'automatic'

Use jsxRuntime option to enable classic or automatic mode for jsx transformations. For more information see Introducing the New JSX Transform.

webpackAliases

object

The webpackAliases options is passed directly to the webpack resolve.alias configuration. You can use this to define additional path aliases to the already existing app/* alias, which points to the ./app directory.

To have the ability to use absolute paths, which are resolved from the ./app/components and ./app/pages directory:

import Home from 'components/home/Home';
import DetailView from 'pages/detail/DetailView';

The webpackAliases option configuration could look something like this:

./ima.config.js
const path = require('path');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
webpackAliases: {
'components': path.resolve('./app/components'),
'pages': path.resolve('./app/pages'),
};
};

sourceMaps

boolean | string = false

The sourceMaps option enables source maps in the production build. Use true for 'source-map' or any other string value compatible with webpack devtool option.

devServer

object

Similarly to the CLI options, you can use the devServer option to override defaults for our companion dev server.

The only thing that's configurable through the ima.config.js only, is the writeToDiskFilter function. This allows you to force the dev server to write certain files to disk, even if you're serving them from memory in the watch mode.

./ima.config.js
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
devServer: {
port: 3101,
hostname: 'localhost',
publicUrl: 'http://localhost:3101',
writeToDiskFilter: (filePath) => false,
// Use to define custom origin for CORS headers on dev server
origin: 'http://localhost:3001',
};
};
note

The CLI arguments always take precedence over any other configurations.

publicPath

string = '/'

The publicPath option is used to specify base path for all assets within the application. (see more at webpack public path).

tip

Use this option to change base public path for static served files, for example when uploading static files to CDN.

Runtime public path

When you want to change public path during runtime, you can use IMA_PUBLIC_PATH env variable, when starting the application server. This variable takes preference before the ima config publicPath option.

IMA_PUBLIC_PATH="https://cdn.basePath/cd_F/" node ./server/server.js

Additionally, when used, runner.js injected scripts and styles have defined fallback to local static files, in case the runtime public path assets are not available (CDN is down for example).

Default settings

If you want to serve your static files on a different route (default is /static), customize the staticPath option in ./server/config/environment.js file and change publicPath option accordingly:

./server/config/environment.js
module.exports = (() => {
return {
prod: {
$Server: {
/**
* The built static files are served on the
* http://localhost:3001/pro/static base url
*/
staticPath: '/pro/static',
}
}
}
});
./ima.config.js
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
publicPath: '/pro/static/',
};

compress

boolean = true

Enables brotli and gzip compression for production assets (in build command). Set to false to disable this feature.

imageInlineSizeLimit

number = 8192

The imageInlineSizeLimit configuration option is already described in the compiler features section. Essentially it's a image size threshold for it's automatic inlining as a base64 string.

disableLegacyBuild

boolean

Set to true to disable building of the client bundle (older ECMAScript target).

Don't forget to remove script sources from the $Source option in app environment config

caution

The application will now only execute the modern version of the client bundle (client.es), meaning that the it will only work on the latest versions of modern browsers.

This can be useful if you're building an app, where you are able to set constrains for the supported browsers (e.g. internal admin page).

transformVendorPaths

{ include?: RegExp[]; exclude?: RegExp[]; }

caution

This is an advanced feature.

Using this option you can include/exclude array of regular expressions that are matched against file paths of processed vendor files (= imported files from node_modules). These files are then processed through swc-loader that makes sure to compile their syntax to currently supported target (ES9). This transformation is executed only for the legacy client bundle.

By default the CLI always matches all files under the @ima namespace, since we release our plugins in latest ECMA syntax and they need to be compiled down to older syntaxes with proper core-js polyfills.

tip

If you use any 3rd party libraries that you are not sure if they support your currently supported browser environments, add their package names as regular expressions to this array and they will be compiled using swc-loader with proper polyfill injections from the core-js package.

watchOptions

object

watchOptions is an object, passed to the webpack watch compiler. You can customize watchOptions.ignored files settings or watchOptions.aggregateTimeout if you have any issues with the default values.

For more information visit the webpack documentation.

tip

If you have any issues with webpack compilation launching multiple times per one file save, try to increase the watchOptions.aggregateTimeout number and see if it helps.

experiments

object

This is a place where you can enable IMA.js configuration experiments. Don't confuse this with the webpack experiments field, this is used only for our potential future configuration updates or changes, which may be enabled by default in the future (much like webpack does).

Currently there's only one running experiment option experiments.css, that uses webpack native CSS support which completely replaces the css-loader and mini-css-extract-plugin libraries.

plugins

ImaCliPlugin[]

Array of IMA.js CLI plugin instances. For more information about CLI plugins, see Plugins API section.

- - +

ima.config.js

To additionally customize the build configuration of IMA.js, you can create a ima.config.js file in the root of your project (next to package.json).

+

ima.config.js is regular JavaScript module that is loaded during the build configuration initialization (in Node.js environment) and it is not included in the final application bundle.

+

An example of ima.config.js file can look something like this:

+
const postcssUnmq = require('postcss-unmq');
const { AnalyzePlugin } = require('@ima/cli');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
publicPath: '/public/',
watchOptions: {
ignored: /(node_modules|build|.husky|_templates|.git)\/(?!@ima).*/
},
plugins: [
new AnalyzePlugin()
],
webpack: async (config, ctx) => {
// Enable webpack infrastructure logging
if (ctx.command === 'dev') {
config.infrastructureLogging = {
level: 'info',
};
}

return config;
},
postcss: (config, ctx) => {
config.postcssOptions.plugins.push(postcssUnmq({ width: 540 }));

return config;
},
languages: {
cs: [
'./node_modules/@ima/**/*CS.json',
'./app/**/*CS.json'
],
en: [
'./node_modules/@ima/**/*EN.json',
'./app/**/*EN.json'
]
}
};
+
tip

Use the @type jsdoc annotation to enable ts-types code completions.

+

Configuration options

+

The ima.config.js file should export an object with any combination of the following configuration options.

+

webpack

+
+

async function(config, ctx, imaConfig): config

+
+

This is the most advanced and versatile configuration option, allowing you to change the generated webpack configuration directly before it's passed to the compiler. This function is executed last in the whole configuration pipeline, meaning that all default configurations and CLI plugin configurations are already merged into the config value. This allows you to completely customize the final config form.

+

The function receives 3 arguments and has to always return (mutated) config object:

+
    +
  • config - webpack configuration object (just like the one you usually define in webpack.config.js).
  • +
  • ctx - current configuration context. As we mentioned in the compiler features, the app builds 3 different bundles. Using ctx.name you can find out which configuration you are currently editing. There are many additional values that help you identify current build state. You can use these to further customize the config only in some cases or for certain bundles. For more information take a look at the argument type.
  • +
  • imaConfig - loaded ima.config.js file, with defaults.
  • +
+

The following example turns on minification for server bundle for build command:

+
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
webpack: async (config, ctx) => {
if (ctx.command === 'build' && ctx.name === 'server') {
config.optimization.minimize = true;
}

return config;
},
};
+

Since this function can be implemented in ima.config.js and also CLI plugins, the resolve order is following default @ima/cli config -> CLI plugin configs -> ima.config.js.

+

swc

+
+

async function(swcLoaderOptions, ctx): swcLoaderOptions

+
+

Similarly to webpack, this function is executed with the swc-loader default options and it's result is then passed to the loader itself. This allows you to customize the swc compiler options in easier and more direct way than you'd have to do when using the webpack option.

+

For example, to enable support for the ECMAScript proposals core-js feature, you would do the following:

+
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
swc: async (swcLoaderOptions, ctx) => {
swcLoaderOptions.env.shippedProposals = true;

return swcLoaderOptions;
},
};
+

swcVendor

+
+

async function(swcLoaderOptions, ctx): swcLoaderOptions

+
+

Works same as the aforementioned swc options, except this config is applied to vendor files that match regular expressions defined in the transformVendorPaths settings.

+

postcss

+
+

async function(postCssLoaderOptions, ctx): postCssLoaderOptions

+
+

Lastly, this function is used to customize the postcss-loader options. Among the rest you can easily define custom PostCSS plugins or completely overwrite the default set:

+
const postcssUnmq = require('postcss-unmq');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
swc: async (postCssLoaderOptions, ctx) => {
postCssLoaderOptions.postcssOptions.plugins.push(
postcssUnmq({ width: 540 })
);

return postCssLoaderOptions;
},
};
+
info

The webpack configuration intentionally ignores any .postcssrc configuration files to prevent potential conflicts with multiple config files.

+

prepareConfigurations

+
+

async function(configurations: ImaConfigurationContext[], imaConfig: ImaConfig, args: ImaCliArgs): Promise<ImaConfigurationContext[]>

+
+

Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This allows you to override values of context variables like useHMR, useTypeScript which define +how the final webpack config is generated, without the need to customize the config itself.

+

languages

+
+

object

+
+

i18n language files configuration. The language option expects an object with key/value pairs, where key represents the language and value an array of messageformat compliant JSON files. For more information about localization, see the dictionary section.

+
note

Globs are fully supported and resolved through globby npm package.

+
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
languages: {
cs: [
'./node_modules/@ima/**/*CS.json',
'./node_modules/@cns/**/*CS.json',
'./app/**/*CS.json'
],
en: [
'./node_modules/@ima/**/*EN.json',
'./node_modules/@cns/**/*EN.json',
'./app/**/*EN.json'
]
}
}
+

jsxRuntime

+
+

'classic' | 'automatic' = 'automatic'

+
+

Use jsxRuntime option to enable classic or automatic mode for jsx transformations. For more information see Introducing the New JSX Transform.

+

webpackAliases

+
+

object

+
+

The webpackAliases options is passed directly to the webpack resolve.alias configuration. You can use this to define additional path aliases to the already existing app/* alias, which points to the ./app directory.

+

To have the ability to use absolute paths, which are resolved from the ./app/components and ./app/pages directory:

+
import Home from 'components/home/Home';
import DetailView from 'pages/detail/DetailView';
+

The webpackAliases option configuration could look something like this:

+
const path = require('path');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
webpackAliases: {
'components': path.resolve('./app/components'),
'pages': path.resolve('./app/pages'),
};
};
+

sourceMaps

+
+

boolean | string = false

+
+

The sourceMaps option enables source maps in the production build. Use true for 'source-map' or any other string value compatible with webpack devtool option.

+

devServer

+
+

object

+
+

Similarly to the CLI options, you can use the devServer option to override defaults for our companion dev server.

+

The only thing that's configurable through the ima.config.js only, is the writeToDiskFilter function. This allows you to force the dev server to write certain files to disk, even if you're serving them from memory in the watch mode.

+
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
devServer: {
port: 3101,
hostname: 'localhost',
publicUrl: 'http://localhost:3101',
writeToDiskFilter: (filePath) => false,
// Use to define custom origin for CORS headers on dev server
origin: 'http://localhost:3001',
};
};
+
note

The CLI arguments always take precedence over any other configurations.

+

publicPath

+
+

string = '/'

+
+

The publicPath option is used to specify base path for all assets within the application. (see more at webpack public path).

+
tip

Use this option to change base public path for static served files, for example when uploading static files to CDN.

Runtime public path

When you want to change public path during runtime, you can use IMA_PUBLIC_PATH env variable, when starting the application server. This variable takes preference before the ima config publicPath option.

IMA_PUBLIC_PATH="https://cdn.basePath/cd_F/" node ./server/server.js

Additionally, when used, runner.js injected scripts and styles have defined fallback to local static files, in case the runtime public path assets are not available (CDN is down for example).

Default settings

If you want to serve your static files on a different route (default is /static), customize the staticPath option in ./server/config/environment.js file and change publicPath option accordingly:

module.exports = (() => {
return {
prod: {
$Server: {
/**
* The built static files are served on the
* http://localhost:3001/pro/static base url
*/
staticPath: '/pro/static',
}
}
}
});
/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
publicPath: '/pro/static/',
};
+

compress

+
+

boolean = true

+
+

Enables brotli and gzip compression for production assets (in build command). Set to false to disable this feature.

+

imageInlineSizeLimit

+
+

number = 8192

+
+

The imageInlineSizeLimit configuration option is already described in the compiler features section. Essentially it's a image size threshold for it's automatic inlining as a base64 string.

+

disableLegacyBuild

+
+

boolean

+
+

Set to true to disable building of the client bundle (older ECMAScript target).

+

Don't forget to remove script sources from the $Source option in app environment config

+
caution

The application will now only execute the modern version of the client bundle (client.es), meaning that the it will only work on the latest versions of modern browsers.

This can be useful if you're building an app, where you are able to set constrains for the supported browsers (e.g. internal admin page).

+

transformVendorPaths

+
+

{ include?: RegExp[]; exclude?: RegExp[]; }

+
+
caution

This is an advanced feature.

+

Using this option you can include/exclude array of regular expressions that are matched against file paths of processed vendor files (= imported files from node_modules). These files are then processed through swc-loader that makes sure to compile their syntax to currently supported target (ES9). This transformation is executed only for the legacy client bundle.

+

By default the CLI always matches all files under the @ima namespace, since we release our plugins in latest ECMA syntax and they need to be compiled down to older syntaxes with proper core-js polyfills.

+
tip

If you use any 3rd party libraries that you are not sure if they support your currently supported browser environments, add their package names as regular expressions to this array and they will be compiled using swc-loader with proper polyfill injections from the core-js package.

+

watchOptions

+
+

object

+
+

watchOptions is an object, passed to the webpack watch compiler. You can customize watchOptions.ignored files settings or watchOptions.aggregateTimeout if you have any issues with the default values.

+

For more information visit the webpack documentation.

+
tip

If you have any issues with webpack compilation launching multiple times per one file save, try to increase the watchOptions.aggregateTimeout number and see if it helps.

+

experiments

+
+

object

+
+

This is a place where you can enable IMA.js configuration experiments. Don't confuse this with the webpack experiments field, this is used only for our potential future configuration updates or changes, which may be enabled by default in the future (much like webpack does).

+

Currently there's only one running experiment option experiments.css, that uses webpack native CSS support which completely replaces the css-loader and mini-css-extract-plugin libraries.

+

plugins

+
+

ImaCliPlugin[]

+
+

Array of IMA.js CLI plugin instances. For more information about CLI plugins, see Plugins API section.

\ No newline at end of file diff --git a/cli/index.html b/cli/index.html index b878ee55c..6b8378172 100644 --- a/cli/index.html +++ b/cli/index.html @@ -1,16 +1,126 @@ - + - -Introduction to @ima/cli | IMA.js - - + +Introduction to @ima/cli | IMA.js + + -
-

Introduction to @ima/cli

The IMA.js CLI allows you to build and watch your application for changes during development. These features are handle by the only two currently supported commands build and dev.

You can always list available commands by running:

npx ima --help
note

npx comes pre-installed with npm 5.2+ and higher.

This should produce following output:

Usage: ima <command>

Commands:
ima build Build an application for production
ima dev Run application in development watch mode

Options:
--version Show version number [boolean]
--help Show help [boolean]

Development

The npx ima dev command starts the application in the development mode with HMR, error-overlay, source maps and other debugging tools enabled.

By default the application starts on http://localhost:3001 with companion dev server running at http://localhost:3101. These can be further customized through the app environment settings and CLI arguments.

You can also run npx ima dev --help to list all available options that you can use:

ima dev

Run application in development watch mode

Options:
--version Show version number [boolean]
--help Show help [boolean]
--clean Clean build folder before building the application [boolean] [default: true]
--clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]
--verbose Use default webpack CLI output instead of custom one [boolean]
--inspect Enable Node inspector mode [boolean]
--ignoreWarnings Webpack will no longer print warnings during compilation [boolean]
--open Opens browser window after server has been started [boolean] [default: true]
--openUrl Custom URL used when opening browser window [string]
--legacy Runs application in legacy mode [boolean] [default: false]
--forceLegacy Forces runner.js to execute legacy client code [boolean] [default: false]
--forceSPA Forces application to run in SPA mode [boolean] [default: false]
--writeToDisk Write static files to disk, instead of serving it from memory [boolean] [default: false]
--reactRefresh Enable/disable react fast refresh for React components [boolean] [default: true]
--lazyServer Enable/disable lazy init of server app factory [boolean] [default: true]
--port Dev server port (overrides ima.config.js settings) [number]
--hostname Dev server hostname (overrides ima.config.js settings) [string]
--publicUrl Dev server publicUrl (overrides ima.config.js settings) [string]
info

Any of the above mentioned options can be combined together in all different combinations and all options have specified default value. This means that in normal cases you can run npx ima dev without any additional arguments.

Build

Builds the application in production mode with all optimizations enabled (compression, minification, etc.). The build command drops some options compared to the dev command. While adding few build specific commands. npx build --help produces:

ima build

Build an application for production

Options:
--version Show version number [boolean]
--help Show help [boolean]
--clean Clean build folder before building the application [boolean] [default: true]
--clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]
--verbose Use default webpack CLI output instead of custom one [boolean]
--ignoreWarnings Webpack will no longer print warnings during compilation [boolean]
--profile Turn on profiling support in production [boolean] [default: false]

CLI options

Most of the following options are available for both dev and build commands, however some may be exclusive to only one of them. You can always use the --help argument to show all available options for each command.

tip

When you run into any issues with the application build, you can always run the app with npx ima dev --clearCache to make sure that all cache and tmp files are deleted before next build and see if this resolves your issues.

Similarly you can use the --verbose option to show more information during build that can aid you in debugging process in case anything happens.

--version

Prints @ima/cli version.

--help

Prints help dialog.

--clean

boolean = true

Deletes ./build folder before running the application.

--clearCache

boolean = false

Clears ./node_modules/.cache folder. This is used to store webpack filesystem cache and other webpack loader and plugins cache.

--verbose

boolean = false

Disables custom CLI logging style in favor of default webpack CLI verbose. This can be useful for debugging.

--inspect

boolean = false

Disable/enable node inspector mode.

--ignoreWarnings

boolean = false

Ignore reporting of webpack warning messages. The CLI automatically caches all existing warnings and shows just new warnings rebuilds in watch mode.

--open

boolean = true

Enable/disable auto opening of app URL in the browser window on startup.

tip

If you find this option annoying, you can completely disable this feature across all IMA.js applications by putting IMA_CLI_OPEN=false in your environment.

--openUrl

boolean = true

Allows you to customize URL which is opened when the server starts in development mode.

tip

You can also use IMA_CLI_OPEN_URL='http://ima.dev:3001' env variable to set this option.

This is usefull when you have project-specific URLs. You can then set this environment variable in application's ima.config.js and don't have to worry about using --openUrl CLI argument everytime you're starting the application in dev mode.

--legacy

boolean = false

By default the CLI only builds es version of JS files in development mode. Use this option to enable additional build of non es version.

--forceLegacy

boolean = false

Enables legacy mode and forces runner.js to load legacy code even if targeted browser supports the latest client es version.

--forceSPA

boolean = false

Forces the application to run in SPA mode.

--profile

boolean = false

Disables some optimizations to allow for better debugging while also trying to be as close to the production build as possible. Currently this option disables mangling of classes and functions, which produces more readable stack traces.

--writeToDisk

boolean = false

By default the app client static files are served from memory in dev mode. Using this option you can force webpack to write these files and serve them from the disk.

tip

This option can be useful in some cases where you need to take a look at the compile source code, where it's easier to browse these files locally, rather than on the static server.

--reactRefresh

boolean = true

Disable/enable react fast refresh for React components.

tip

Disable this option if you are watching and editing node_modules files, this may result in less performant but more stable HMR experience.

--lazyServer

boolean = true

Disable/enable lazy init of server app factory.

Dev server options

Following options are used to customize the companion dev server location (only for dev command). These can be useful if you have some special dev environment, where you have an issue with the default configuration.

note

If you provide port and hostname, you don't need to define the publicUrl, the CLI will create it automatically, unless the publicUrl is completely different than the hostname and port provided.

--port

number

Dev server port.

--hostname

string

Dev server hostname, for example: localhost, or 127.0.0.1.

--publicUrl

string

Dev server public url, for example: http://localhost:3101.

- - +

Introduction to @ima/cli

The IMA.js CLI allows you to build and watch your application for changes during development. These features are handle by the only two currently supported commands build and dev.

+

You can always list available commands by running:

+
npx ima --help
+
note

npx comes pre-installed with npm 5.2+ and higher.

+

This should produce following output:

+
Usage: ima <command>

Commands:
ima build Build an application for production
ima dev Run application in development watch mode

Options:
--version Show version number [boolean]
--help Show help [boolean]
+

Development

+

The npx ima dev command starts the application in the development mode with HMR, error-overlay, source maps and other debugging tools enabled.

+

By default the application starts on http://localhost:3001 with companion dev server running at http://localhost:3101. These can be further customized through the app environment settings and CLI arguments.

+

You can also run npx ima dev --help to list all available options that you can use:

+
ima dev

Run application in development watch mode

Options:
--version Show version number [boolean]
--help Show help [boolean]
--clean Clean build folder before building the application [boolean] [default: true]
--clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]
--verbose Use default webpack CLI output instead of custom one [boolean]
--inspect Enable Node inspector mode [boolean]
--ignoreWarnings Webpack will no longer print warnings during compilation [boolean]
--open Opens browser window after server has been started [boolean] [default: true]
--openUrl Custom URL used when opening browser window [string]
--legacy Runs application in legacy mode [boolean] [default: false]
--forceLegacy Forces runner.js to execute legacy client code [boolean] [default: false]
--forceSPA Forces application to run in SPA mode [boolean] [default: false]
--writeToDisk Write static files to disk, instead of serving it from memory [boolean] [default: false]
--reactRefresh Enable/disable react fast refresh for React components [boolean] [default: true]
--lazyServer Enable/disable lazy init of server app factory [boolean] [default: true]
--port Dev server port (overrides ima.config.js settings) [number]
--hostname Dev server hostname (overrides ima.config.js settings) [string]
--publicUrl Dev server publicUrl (overrides ima.config.js settings) [string]
+
info

Any of the above mentioned options can be combined together in all different combinations and all options have specified default value. This means that in normal cases you can run npx ima dev without any additional arguments.

+

Build

+

Builds the application in production mode with all optimizations enabled (compression, minification, etc.). The build command drops some options compared to the dev command. While adding few build specific commands. npx build --help produces:

+
ima build

Build an application for production

Options:
--version Show version number [boolean]
--help Show help [boolean]
--clean Clean build folder before building the application [boolean] [default: true]
--clearCache Deletes node_modules/.cache directory to invalidate loaders cache [boolean]
--verbose Use default webpack CLI output instead of custom one [boolean]
--ignoreWarnings Webpack will no longer print warnings during compilation [boolean]
--profile Turn on profiling support in production [boolean] [default: false]
+

CLI options

+

Most of the following options are available for both dev and build commands, however some may be exclusive to only one of them. You can always use the --help argument to show all available options for each command.

+
tip

When you run into any issues with the application build, you can always run the app with npx ima dev --clearCache to make sure that all cache and tmp files are deleted before next build and see if this resolves your issues.

Similarly you can use the --verbose option to show more information during build that can aid you in debugging process in case anything happens.

+

--version

+

Prints @ima/cli version.

+

--help

+

Prints help dialog.

+

--clean

+
+

boolean = true

+
+

Deletes ./build folder before running the application.

+

--clearCache

+
+

boolean = false

+
+

Clears ./node_modules/.cache folder. This is used to store webpack filesystem cache and other webpack loader and plugins cache.

+

--verbose

+
+

boolean = false

+
+

Disables custom CLI logging style in favor of default webpack CLI verbose. This can be useful for debugging.

+

--inspect

+
+

boolean = false

+
+

Disable/enable node inspector mode.

+

--ignoreWarnings

+
+

boolean = false

+
+

Ignore reporting of webpack warning messages. The CLI automatically caches all existing warnings and shows just new warnings rebuilds in watch mode.

+

--open

+
+

boolean = true

+
+

Enable/disable auto opening of app URL in the browser window on startup.

+
tip

If you find this option annoying, you can completely disable this feature across all IMA.js applications by putting IMA_CLI_OPEN=false in your environment.

+

--openUrl

+
+

boolean = true

+
+

Allows you to customize URL which is opened when the server starts in development mode.

+
tip

You can also use IMA_CLI_OPEN_URL='http://ima.dev:3001' env variable to set this option.

This is usefull when you have project-specific URLs. You can then set this environment variable in application's ima.config.js and don't have to worry about using --openUrl CLI argument everytime you're starting the application in dev mode.

+

--legacy

+
+

boolean = false

+
+

By default the CLI only builds es version of JS files in development mode. Use this option to enable additional build of non es version.

+

--forceLegacy

+
+

boolean = false

+
+

Enables legacy mode and forces runner.js to load legacy code even if targeted browser supports the latest client es version.

+

--forceSPA

+
+

boolean = false

+
+

Forces the application to run in SPA mode.

+

--profile

+
+

boolean = false

+
+

Disables some optimizations to allow for better debugging while also trying to be as close to the production build as possible. Currently this option disables mangling of classes and functions, which produces more readable stack traces.

+

--writeToDisk

+
+

boolean = false

+
+

By default the app client static files are served from memory in dev mode. Using this option you can force webpack to write these files and serve them from the disk.

+
tip

This option can be useful in some cases where you need to take a look at the compile source code, where it's easier to browse these files locally, rather than on the static server.

+

--reactRefresh

+
+

boolean = true

+
+

Disable/enable react fast refresh for React components.

+
tip

Disable this option if you are watching and editing node_modules files, this may result in less performant but more stable HMR experience.

+

--lazyServer

+
+

boolean = true

+
+

Disable/enable lazy init of server app factory.

+

Dev server options

+

Following options are used to customize the companion dev server location (only for dev command). These can be useful if you have some special dev environment, where you have an issue with the default configuration.

+
note

If you provide port and hostname, you don't need to define the publicUrl, the CLI will create it automatically, unless the publicUrl is completely different than the hostname and port provided.

+

--port

+
+

number

+
+

Dev server port.

+

--hostname

+
+

string

+
+

Dev server hostname, for example: localhost, or 127.0.0.1.

+

--publicUrl

+
+

string

+
+

Dev server public url, for example: http://localhost:3101.

\ No newline at end of file diff --git a/cli/plugins/analyze-plugin/index.html b/cli/plugins/analyze-plugin/index.html index d67ff6213..6e3dca742 100644 --- a/cli/plugins/analyze-plugin/index.html +++ b/cli/plugins/analyze-plugin/index.html @@ -1,16 +1,48 @@ - + - -Analyze Plugin | IMA.js - - + +Analyze Plugin | IMA.js + + -
-

Analyze Plugin

Pre-configures bundle-stats-webpack-plugin and webpack-bundle-analyzer webpack plugins for fast and easy bundle analyzing.

This plugin provides easy way to analyze webpack bundle. Apart from pre-configuring the forementioned plugins, it also outputs stats.json file which can be used in multiple other online webpack bundle analyzer tools. For example:

note

The plugin also prints these links directly into the console when the build finishes, for easier access.

Installation

npm install @ima/cli-plugin-analyze -D

Usage

./ima.config.js
const { AnalyzePlugin } = require('@ima/cli-plugin-analyze');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
plugins: [new AnalyzePlugin()],
};

CLI Arguments

--analyze

client | client.es | server

Run the ima build command with --analyze argument and pick one of the three produced bundles you want to analyze. For example: npx ima build --analyze=client.

Options

new AnalyzePlugin(options: {
open?: boolean;
bundleStatsOptions?: BundleStatsWebpackPlugin.Options;
bundleAnalyzerOptions?: BundleAnalyzerPlugin.Options;
});

open

boolean = true

Set to false if you don't want to automatically open the browser window with the html reports when the build finishes.

bundleStatsOptions

object

Pass any option that the BundleStatsWebpackPlugin accepts. These are then merged with some of our custom defaults.

bundleAnalyzerOptions

object

Pass any option that the BundleAnalyzerPlugin accepts. These are then merged with some of our custom defaults.

- - +

Analyze Plugin

Pre-configures bundle-stats-webpack-plugin and webpack-bundle-analyzer webpack plugins for fast and easy bundle analyzing.

+

This plugin provides easy way to analyze webpack bundle. Apart from pre-configuring the forementioned plugins, it also outputs stats.json file which can be used in multiple other online webpack bundle analyzer tools. For example:

+ +
note

The plugin also prints these links directly into the console when the build finishes, for easier access.

+

Installation

+
npm install @ima/cli-plugin-analyze -D
+

Usage

+
const { AnalyzePlugin } = require('@ima/cli-plugin-analyze');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
plugins: [new AnalyzePlugin()],
};
+

CLI Arguments

+

--analyze

+
+

client | client.es | server

+
+

Run the ima build command with --analyze argument and pick one of the three produced bundles you want to analyze. For example: npx ima build --analyze=client.

+

Options

+
new AnalyzePlugin(options: {
open?: boolean;
bundleStatsOptions?: BundleStatsWebpackPlugin.Options;
bundleAnalyzerOptions?: BundleAnalyzerPlugin.Options;
});
+

open

+
+

boolean = true

+
+

Set to false if you don't want to automatically open the browser window with the html reports when the build finishes.

+

bundleStatsOptions

+
+

object

+
+

Pass any option that the BundleStatsWebpackPlugin accepts. These are then merged with some of our custom defaults.

+

bundleAnalyzerOptions

+
+

object

+
+

Pass any option that the BundleAnalyzerPlugin accepts. These are then merged with some of our custom defaults.

\ No newline at end of file diff --git a/cli/plugins/less-constants-plugin/index.html b/cli/plugins/less-constants-plugin/index.html index 7af782752..9db84d64d 100644 --- a/cli/plugins/less-constants-plugin/index.html +++ b/cli/plugins/less-constants-plugin/index.html @@ -1,16 +1,55 @@ - + - -LESS Constants Plugin | IMA.js - - + +LESS Constants Plugin | IMA.js + + -
-

LESS Constants Plugin

Adds preprocessor which converts theme values defined in the JS file, to their LESS variable counterparts.

Can be used to share theme variables between JS and LESS files or even multiple npm packages to allow for easier overrides.

Installation

npm install @ima/cli-plugin-less-constants -D

Usage

First create new plugin instance in the ima.config.js file:

./ima.config.js
const { LessConstantsPlugin } = require('@ima/cli-plugin-less-constants');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
plugins: [
new LessConstantsPlugin({
entry: './app/config/theme.js'
})
],
};

Create theme.js file with constants definitions

Then export your LESS JS constants from the provided entry file, using the available units helper functions, imported from the CLI plugin:

./app/config/theme.js
import { units, media } from '@ima/cli-plugin-less-constants/units';

export default {
bodyfontSize: units.rem(1),
headerHeight: units.px(120),
bodyWidth: units.vw(100),
greaterThanMobile: media.maxWidthMedia(360, 'screen'),
zIndexes: units.lessMap({
header: 100,
footer: 200,
body: 1,
}),
};

This produces the following output:

./build/less-constants/constants.less
@bodyfont-size: 1rem;
@header-height: 120px;
@body-width: 100vw;
@greater-than-mobile: ~"screen and (max-width: 360)";
@z-indexes: {
header: 100;
footer: 200;
body: 1;
}

Import generated constants.less in globals

Finally don't forget to import the generated ./build/less-constants/constants.less file in your ./app/less/globals.less to have the variables available in all LESS files automatically without explicit import.

./app/less/globals.less
@import "../../build/less-constants/constants.less";

Usage in JavaScript

Since every unit returns Unit object, you can always access it's value through the .valueOf() method or use the CSS interpreted value by calling .toString().

import { headerHeight } from 'app/config/theme.js';

export default function ThemeComponent({ children, title, href }) {
return (
<div>
Header height has an absolute value of: {headerHeight.valueOf()} {/* 120 */},
while it's CSS value is: {headerHeight.toString()} {/* 120px */}
</div>
);
}
caution

The constants are generated only in the preProcess which runs just ones before the compilation. So make sure to restart the built manually, when you add any new constants, to allow for the regeneration of the constants.less file.

Options

new LessConstantsPlugin(options: {
entry: string;
output?: string;
});

entry

string

Path to the LESS constants JS file.

output

string

Optional custom output path, defaults to ./build/less-constants/constants.less.

Units

The plugin provides unit functions for almost every unit available + some other helpers. Each helper returns Unit object with following interface:

export interface Unit {
valueOf: () => string;
toString: () => string;
}
  • Numeric values - em, ex, ch, rem, lh, rlh, vw, vh, vmin, vmax, vb, vi, svw, svh, lvw, lvh, dvw, dvh, cm, mm, Q, inches, pc, pt, px, percent.
  • Color values - hex, rgb, rgba, hsl, hsla.
  • Media queries - maxWidthMedia, minWidthMedia, minAndMaxWidthMedia, maxHeightMedia, minHeightMedia.
  • LESS map helper - lessMap can be used to group together similar values in an "object-like" value.

Custom units

If you're missing any additional helpers, you can always define your own, either custom ones (as long as they adhere to the Unit interface) or you can use the following helper:

import { asUnit } from '@ima/cli-plugin-less-constants/units';

function asUnit(
unit: string,
parts: (string | number)[],
template = '${parts}${unit}'
): Unit {
return {
__propertyDeclaration: true,

valueOf(): string {
return parts.length === 1 ? parts[0].toString() : this.toString();
},

toString(): string {
return template
.replace('${parts}', parts.join(','))
.replace('${unit}', unit);
},
};
}
- - +

LESS Constants Plugin

Adds preprocessor which converts theme values defined in the JS file, to their LESS variable counterparts.

+

Can be used to share theme variables between JS and LESS files or even multiple npm packages to allow for easier overrides.

+

Installation

+
npm install @ima/cli-plugin-less-constants -D
+

Usage

+

First create new plugin instance in the ima.config.js file:

+
const { LessConstantsPlugin } = require('@ima/cli-plugin-less-constants');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
plugins: [
new LessConstantsPlugin({
entry: './app/config/theme.js'
})
],
};
+

Create theme.js file with constants definitions

+

Then export your LESS JS constants from the provided entry file, using the available units helper functions, imported from the CLI plugin:

+
import { units, media } from '@ima/cli-plugin-less-constants/units';

export default {
bodyfontSize: units.rem(1),
headerHeight: units.px(120),
bodyWidth: units.vw(100),
greaterThanMobile: media.maxWidthMedia(360, 'screen'),
zIndexes: units.lessMap({
header: 100,
footer: 200,
body: 1,
}),
};
+

This produces the following output:

+
@bodyfont-size: 1rem;
@header-height: 120px;
@body-width: 100vw;
@greater-than-mobile: ~"screen and (max-width: 360)";
@z-indexes: {
header: 100;
footer: 200;
body: 1;
}
+

Import generated constants.less in globals

+

Finally don't forget to import the generated ./build/less-constants/constants.less file in your ./app/less/globals.less to have the variables available in all LESS files automatically without explicit import.

+
@import "../../build/less-constants/constants.less";
+

Usage in JavaScript

+

Since every unit returns Unit object, you can always access it's value through the .valueOf() method or use the CSS interpreted value by calling .toString().

+
import { headerHeight } from 'app/config/theme.js';

export default function ThemeComponent({ children, title, href }) {
return (
<div>
Header height has an absolute value of: {headerHeight.valueOf()} {/* 120 */},
while it's CSS value is: {headerHeight.toString()} {/* 120px */}
</div>
);
}
+
caution

The constants are generated only in the preProcess which runs just ones before the compilation. So make sure to restart the built manually, when you add any new constants, to allow for the regeneration of the constants.less file.

+

Options

+
new LessConstantsPlugin(options: {
entry: string;
output?: string;
});
+

entry

+
+

string

+
+

Path to the LESS constants JS file.

+

output

+
+

string

+
+

Optional custom output path, defaults to ./build/less-constants/constants.less.

+

Units

+

The plugin provides unit functions for almost every unit available + some other helpers. Each helper returns Unit object with following interface:

+
export interface Unit {
valueOf: () => string;
toString: () => string;
}
+
    +
  • Numeric values - em, ex, ch, rem, lh, rlh, vw, vh, vmin, vmax, vb, vi, svw, svh, lvw, lvh, dvw, dvh, cm, mm, Q, inches, pc, pt, px, percent.
  • +
  • Color values - hex, rgb, rgba, hsl, hsla.
  • +
  • Media queries - maxWidthMedia, minWidthMedia, minAndMaxWidthMedia, maxHeightMedia, minHeightMedia.
  • +
  • LESS map helper - lessMap can be used to group together similar values in an "object-like" value.
  • +
+

Custom units

+

If you're missing any additional helpers, you can always define your own, either custom ones (as long as they adhere to the Unit interface) or you can use the following helper:

+
import { asUnit } from '@ima/cli-plugin-less-constants/units';

function asUnit(
unit: string,
parts: (string | number)[],
template = '${parts}${unit}'
): Unit {
return {
__propertyDeclaration: true,

valueOf(): string {
return parts.length === 1 ? parts[0].toString() : this.toString();
},

toString(): string {
return template
.replace('${parts}', parts.join(','))
.replace('${unit}', unit);
},
};
}
\ No newline at end of file diff --git a/cli/plugins/scramble-css-plugin/index.html b/cli/plugins/scramble-css-plugin/index.html index 83734c869..db508d84e 100644 --- a/cli/plugins/scramble-css-plugin/index.html +++ b/cli/plugins/scramble-css-plugin/index.html @@ -1,16 +1,44 @@ - + - -ScrambleCSS Plugin | IMA.js - - + +ScrambleCSS Plugin | IMA.js + + -
-

ScrambleCSS Plugin

Implements CSS class minimizer and uglifier that can be reverse-compiled at runtime (you can access classes using their original name).

It works by processing all CSS files using custom PostCSS plugin, that mangles (scrambles) and minimizes all classes, while also building translation table (hashtable.json) along the way.

The result is CSS file with mangled class names and companion hashtable that we use in our custom $CssClasses processor to, translate existing classes used out components to the new scrambled ones.

Requirements

caution

As mentioned above, for this feature to work you need to wrap all your classNames in cssClasses function. Otherwise you'll end up with scrambled classes in CSS file but original class names in your components.

import { useComponent } from '@ima/react-hooks';

export default function Card() {
const { cssClasses } = useComponent();

return (
<div className={cssClasses('card')} />
);
}

or in case of class components:

import { AbstractPureComponent } from '@ima/react-page-renderer';

export default class Card extends AbstractPureComponent {
render() {
return (
<div className={this.cssClasses('card')} />
);
}
}

Installation

npm install @ima/cli-plugin-scramble-css -D

Usage

./ima.config.js
const { ScrambleCssPlugin } = require('@ima/cli-plugin-scramble-css');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
plugins: [new ScrambleCssPlugin()],
};

$CssClasses override and hashtable.json

We have to provide our custom $CssClasses processor and pass it our generate hashtable.json file. To do that, we're going to load it's contents in the app environment:

./server/config/environment.js
const fs = require('fs');
const path = require('path');

const hashTablePath = path.resolve(
__dirname,
'../../build/static/css/hashTable.json'
);

module.exports = (() => {
return {
prod: {
$App: {
scrambleCss: {
hashTable: fs.existsSync(hashTablePath)
? JSON.parse(fs.readFileSync(hashTablePath))
: null,
},
},
// ...
}
}
});

Finally, the hashtable is now available under config.$App.scrambleCss.hashTable, so we're going to provide it to the plugin's custom $CssClasses processor in the app bind.js file, and we're done:

./app/config/bind.js
import { scrambleCssClasses } from '@ima/cli-plugin-scramble-css/scrambleCssClasses';

export default (ns, oc, config) => {
oc.bind(
'$CssClasses',
scrambleCssClasses(config?.$App?.scrambleCss?.hashTable),
[]
);
};

CLI Arguments

--scrambleCss

boolean

The scrambling is enabled by default for the production environment. However you can explicitly enable/disable it using this CLI argument. This applies for both CLI commands.

Options

new ScrambleCssPlugin(options: {
scrambleCssMinimizerOptions?: {
hashTableFilename?: string;
mainAssetFilter?: (filename: string) => boolean;
};
});

scrambleCssMinimizerOptions

object

These are passed directly into the ScrambleCssMinimizer. You can define custom:

  • hashTableFilename - custom translation hashtable.json filename. Defaults to: ./build/static/css/hashTable.json.
  • mainAssetFilter - should resolve to the main css file. The minimizer first processes the main.css file and generates the hashtable.json translation table. If you then want to process other assets with existing hashtable, these should be filtered out in this function, since the minimizer minimizes them in second pass using existing hashtable.json.
note

You should be fine with the default options in almost any situation except some special use cases.

- - +

ScrambleCSS Plugin

Implements CSS class minimizer and uglifier that can be reverse-compiled at runtime (you can access classes using their original name).

+

It works by processing all CSS files using custom PostCSS plugin, that mangles (scrambles) and minimizes all classes, while also building translation table (hashtable.json) along the way.

+

The result is CSS file with mangled class names and companion hashtable that we use in our custom $CssClasses processor to, translate existing classes used out components to the new scrambled ones.

+

Requirements

+
caution

As mentioned above, for this feature to work you need to wrap all your classNames in cssClasses function. Otherwise you'll end up with scrambled classes in CSS file but original class names in your components.

import { useComponent } from '@ima/react-hooks';

export default function Card() {
const { cssClasses } = useComponent();

return (
<div className={cssClasses('card')} />
);
}

or in case of class components:

import { AbstractPureComponent } from '@ima/react-page-renderer';

export default class Card extends AbstractPureComponent {
render() {
return (
<div className={this.cssClasses('card')} />
);
}
}
+

Installation

+
npm install @ima/cli-plugin-scramble-css -D
+

Usage

+
const { ScrambleCssPlugin } = require('@ima/cli-plugin-scramble-css');

/**
* @type import('@ima/cli').ImaConfig
*/
module.exports = {
plugins: [new ScrambleCssPlugin()],
};
+

$CssClasses override and hashtable.json

+

We have to provide our custom $CssClasses processor and pass it our generate hashtable.json file. To do that, we're going to load it's contents in the app environment:

+
const fs = require('fs');
const path = require('path');

const hashTablePath = path.resolve(
__dirname,
'../../build/static/css/hashTable.json'
);

module.exports = (() => {
return {
prod: {
$App: {
scrambleCss: {
hashTable: fs.existsSync(hashTablePath)
? JSON.parse(fs.readFileSync(hashTablePath))
: null,
},
},
// ...
}
}
});

+

Finally, the hashtable is now available under config.$App.scrambleCss.hashTable, so we're going to provide it to the plugin's custom $CssClasses processor in the app bind.js file, and we're done:

+
import { scrambleCssClasses } from '@ima/cli-plugin-scramble-css/scrambleCssClasses';

export default (ns, oc, config) => {
oc.bind(
'$CssClasses',
scrambleCssClasses(config?.$App?.scrambleCss?.hashTable),
[]
);
};
+

CLI Arguments

+

--scrambleCss

+
+

boolean

+
+

The scrambling is enabled by default for the production environment. However you can explicitly enable/disable it using this CLI argument. This applies for both CLI commands.

+

Options

+
new ScrambleCssPlugin(options: {
scrambleCssMinimizerOptions?: {
hashTableFilename?: string;
mainAssetFilter?: (filename: string) => boolean;
};
});
+

scrambleCssMinimizerOptions

+
+

object

+
+

These are passed directly into the ScrambleCssMinimizer. You can define custom:

+
    +
  • hashTableFilename - custom translation hashtable.json filename. Defaults to: ./build/static/css/hashTable.json.
  • +
  • mainAssetFilter - should resolve to the main css file. The minimizer first processes the main.css file and generates the hashtable.json translation table. If you then want to process other assets with existing hashtable, these should be filtered out in this function, since the minimizer minimizes them in second pass using existing hashtable.json.
  • +
+
note

You should be fine with the default options in almost any situation except some special use cases.

\ No newline at end of file diff --git a/contributing/how-to-contribute/index.html b/contributing/how-to-contribute/index.html index d6dbf36e5..454519eca 100644 --- a/contributing/how-to-contribute/index.html +++ b/contributing/how-to-contribute/index.html @@ -1,16 +1,43 @@ - + - -How to Contribute | IMA.js - - + +How to Contribute | IMA.js + + -
-

How to Contribute

Contribute to this project via Pull Requests.

Changesets

We are using changesets for the release management. Adding a changeset file to a Pull Request is required in most cases as it triggers the release of the affected packages. If your changes don't affect any package (documentation/tests update, or change in the repository workflow), then you can skip adding a changeset file.

Read on how to add a changeset in the official changesets documentation. In our repositories, you can use npm run changeset alias to open the changeset prompt.

Semantic Versioning

IMA.js follows semantic versioning. We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes.

Every significant change is documented in the changelog file of the related package.

Open Development

All work on IMA.js happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.

Branch Organization

There are 2 main branches, master and next.

Branch master contains the current stable version. You should target your Pull Request here, if your changes are adding a new feature, fixing a bug, or any other change that does not require a major bump. New version from this branch will be published to the official npm registry under the latest tag.

Branch next contains the next major release candidate version. You should target your Pull Request here, if you are introducing a breaking change, or extending a functionality existing only in this branch. New version from this branch will be published to the official npm registry under the rc tag.

Development Workflow

After cloning IMA.js repository, run npm ci (check .nvmrc file for supported Node.js version) to fetch its dependencies. Then, you can run several commands:

  • npm run lint checks the code style.
  • npm run lint -- --fix fixes the code style issues.
  • npm run stylelint checks the css/less code style.
  • npm run stylelint -- --fix fixes the css/less code style issues.
  • npm run test runs only tests affected by your changes.
  • npm run test -- --watch runs an interactive test watcher.
  • npm run test <pattern> runs tests with matching filenames.
  • npm run test:all runs the complete test suite.
  • npm run test:size runs size check to avoid introduction of large bundles.
  • npm run build creates a build folder within all the packages.
  • npm run changeset opens the changesets prompt.

We recommend running npm run test (or its variations above) to make sure you don’t introduce any regressions as you work on your change.

License

By contributing to IMA.js, you agree that your contributions will be licensed under its MIT license.

- - +

How to Contribute

Contribute to this project via Pull Requests.

+

Changesets

+

We are using changesets for the release management. Adding a changeset file to a Pull Request is required in most cases as it triggers the release of the affected packages. If your changes don't affect any package (documentation/tests update, or change in the repository workflow), then you can skip adding a changeset file.

+

Read on how to add a changeset in the official changesets documentation. In our repositories, you can use npm run changeset alias to open the changeset prompt.

+

Semantic Versioning

+

IMA.js follows semantic versioning. We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes.

+

Every significant change is documented in the changelog file of the related package.

+

Open Development

+

All work on IMA.js happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.

+

Branch Organization

+

There are 2 main branches, master and next.

+

Branch master contains the current stable version. You should target your Pull Request here, if your changes are adding a new feature, fixing a bug, or any other change that does not require a major bump. New version from this branch will be published to the official npm registry under the latest tag.

+

Branch next contains the next major release candidate version. You should target your Pull Request here, if you are introducing a breaking change, or extending a functionality existing only in this branch. New version from this branch will be published to the official npm registry under the rc tag.

+

Development Workflow

+

After cloning IMA.js repository, run npm ci (check .nvmrc file for supported Node.js version) to fetch its dependencies. Then, you can run several commands:

+
    +
  • npm run lint checks the code style.
  • +
  • npm run lint -- --fix fixes the code style issues.
  • +
  • npm run stylelint checks the css/less code style.
  • +
  • npm run stylelint -- --fix fixes the css/less code style issues.
  • +
  • npm run test runs only tests affected by your changes.
  • +
  • npm run test -- --watch runs an interactive test watcher.
  • +
  • npm run test <pattern> runs tests with matching filenames.
  • +
  • npm run test:all runs the complete test suite.
  • +
  • npm run test:size runs size check to avoid introduction of large bundles.
  • +
  • npm run build creates a build folder within all the packages.
  • +
  • npm run changeset opens the changesets prompt.
  • +
+

We recommend running npm run test (or its variations above) to make sure you don’t introduce any regressions as you work on your change.

+

License

+

By contributing to IMA.js, you agree that your contributions will be licensed under its MIT license.

\ No newline at end of file diff --git a/devtools/devtools-introduction/index.html b/devtools/devtools-introduction/index.html index 74609b4c2..1678cfde6 100644 --- a/devtools/devtools-introduction/index.html +++ b/devtools/devtools-introduction/index.html @@ -1,34 +1,48 @@ - + - -Introduction | IMA.js - - + +Introduction | IMA.js + + -
-

Introduction

With the introduction of IMA.js v17 we've implemented custom devtools that are available as a +

Introduction

With the introduction of IMA.js v17 we've implemented custom devtools that are available as a Chrome extension. Main purpose of these devtools is to provide developers with easy access -to debug and monitor IMA.js applications.

The devtools works similarly to kuker extension. +to debug and monitor IMA.js applications.

+

The devtools works similarly to kuker extension. This means that they display messages about method and event calls which are wrapped in a proxy like object using custom script that gets injected to a page. You can then filter and look through received images -which can help you debug how each component behaves in your application.

The extension requires no additional installation or dependencies in your IMA.js application. It will -work with any IMA.js application from v17 and above.

As of now it's only available to download for Chrome in the Chrome web store.

How it works?

After you download and enable an IMA.js devtools extension, on every page load the extension starts injecting +which can help you debug how each component behaves in your application.

+

The extension requires no additional installation or dependencies in your IMA.js application. It will +work with any IMA.js application from v17 and above.

+

As of now it's only available to download for Chrome in the Chrome web store.

+

How it works?

+

+

After you download and enable an IMA.js devtools extension, on every page load the extension starts injecting very small script (that won't affect any functionality of other pages), which checks for the presence of IMA.js application. -The result of detection is then sent to the extension's background script.

In case an IMA.js application is not detected, the extension doesn't really do anything else.

In case it is detected, additionally to sending the result of detection to extension's background script, -the detection script does three more things:

  1. It creates a special $IMA.devtool.postMessage function on window, which the devtool script uses to communicate -with chrome IMA.js devtool panel through window.postMessage.
  2. Additionally, it modifies $IMA.Runner, which let's us register new preRun commands that are executed before -the original runners. This is used for the actual devtools script.
  3. The background script, upon receiving the ALIVE messages, creates initializes bi-directional communication bridge +The result of detection is then sent to the extension's background script.

    +

    In case an IMA.js application is not detected, the extension doesn't really do anything else.

    +

    In case it is detected, additionally to sending the result of detection to extension's background script, +the detection script does three more things:

    +
      +
    1. It creates a special $IMA.devtool.postMessage function on window, which the devtool script uses to communicate +with chrome IMA.js devtool panel through window.postMessage.
    2. +
    3. Additionally, it modifies $IMA.Runner, which let's us register new preRun commands that are executed before +the original runners. This is used for the actual devtools script.
    4. +
    5. The background script, upon receiving the ALIVE messages, creates initializes bi-directional communication bridge between content script (where we listen on messages sent through $IMA.devtool.postMessage function) and IMA.js -devtool panel.

    Devtools script

    The devtools script is an essential part of this browser extension. As we've already mentioned, it is registered -as a preRun command for the IMA.js application and it's executed before an actual runner scripts.

    The devtools script uses to-aop npm package (which uses ES6 Proxies) to +devtool panel.

  4. +
+

Devtools script

+

The devtools script is an essential part of this browser extension. As we've already mentioned, it is registered +as a preRun command for the IMA.js application and it's executed before an actual runner scripts.

+

The devtools script uses to-aop npm package (which uses ES6 Proxies) to wrap IMA.js app method calls in Proxy-like objects, which then before execution, send an information about it's -call, arguments and payload to the devtools panel. The panel then batch-processes these messages and displays them.

It can be customized through extension's options, where you can define what exactly +call, arguments and payload to the devtools panel. The panel then batch-processes these messages and displays them.

+

It can be customized through extension's options, where you can define what exactly should be wrapped using proxies and how it should be pre-processed before sending it to the user. In the -next section we're going to talk about the devtools UI and it's components.

- - +next section we're going to talk about the devtools UI and it's components.

\ No newline at end of file diff --git a/devtools/devtools-options/index.html b/devtools/devtools-options/index.html index cb893208c..221c8274b 100644 --- a/devtools/devtools-options/index.html +++ b/devtools/devtools-options/index.html @@ -1,42 +1,98 @@ - + - -Options | IMA.js - - + +Options | IMA.js + + -
-

Options

As we've already talked about in the introduction section, the devtools +

Options

+

As we've already talked about in the introduction section, the devtools use special devtools script which defines which parts of IMA.js application should send messages about -their activity to the IMA.js devtool panel. This code can be easily customized through the extension's options page.

You can get to this page either by clicking on Settings button in the devtool panel itself (hidden behind the +their activity to the IMA.js devtool panel. This code can be easily customized through the extension's options page.

+

You can get to this page either by clicking on Settings button in the devtool panel itself (hidden behind the "three dots" menu button) or by mouse-right clicking on the extension icon in chrome toolbar -and choosing the "Options" button.

Quick UI overview

Main concept of the options is that you can create multiple presets, where each preset contains a set of hooks - +and choosing the "Options" button.

+

Quick UI overview

+

Main concept of the options is that you can create multiple presets, where each preset contains a set of hooks - these are snippets of JavaScript code, that define which parts of IMA.js app should be wrapped in previously mentioned -proxies.

Note: Don't forget to always save your changes after doing any changes, otherwise the changes won't propagate.

Presets modal window

You can create multiple presets or edit existing ones by clicking on the "Load or Create Preset" button, where -you're presented with Presets modal window. Selected presets are marked bold.

Notice that there's already a Default preset, which is not editable (but can be copied!). This preset +proxies.

+
+

Note: Don't forget to always save your changes after doing any changes, otherwise the changes won't propagate.

+
+

Presets modal window

+

You can create multiple presets or edit existing ones by clicking on the "Load or Create Preset" button, where +you're presented with Presets modal window. Selected presets are marked bold.

+

+

Notice that there's already a Default preset, which is not editable (but can be copied!). This preset is read-only and you can't edit it directly. This is so in the future we can safely update the default detection script -without a need to worry about breaking your own code.

To create new preset or edit the default one, start by creating a blank preset by clicking on the "Create Preset" -button, or copy exiting one using the duplicate icon.

Note: Changes to the presets are saved after closing the modal window.

Hooks

Each hook can be individually enabled/disabled and has it's own name, description and code. First three are pretty -self explanatory so we'll talk mostly about the code and available API.

First thing you need to understand is, that all hooks that are enabled, in whole active preset are concatenated and +without a need to worry about breaking your own code.

+

To create new preset or edit the default one, start by creating a blank preset by clicking on the "Create Preset" +button, or copy exiting one using the duplicate icon.

+
+

Note: Changes to the presets are saved after closing the modal window.

+
+

Hooks

+

+

Each hook can be individually enabled/disabled and has it's own name, description and code. First three are pretty +self explanatory so we'll talk mostly about the code and available API.

+

First thing you need to understand is, that all hooks that are enabled, in whole active preset are concatenated and basically copy & pasted into the devtools code, so they're part of the devtools code itself. This means that if you have any error in any hook, it can prevent the extension from working correctly. To minimize the size of the extension -bundle and for the simplicity sake we don't include any syntax validation in the UI, so please keep mind on that.

Note: As this code is injected to every web page with IMA.js present, you can use chrome devtools and it's debugger -to debug and fix any potential issues with your hook's code.

Available API

There are mainly three functions that you can (and probably will) use in your hooks:

1. aop(target, pattern)

This is the main hooks function, which defines which target should be wrapped in what proxy, defined by pattern.

  • target {Class} - JavaScript class/object constructor that is wrapped in proxy.
  • pattern {object} - result of createHook function.

2. createHook(name, regular, callback)

Helper function that defines proxies on methods that match regular regular expression. It's essentially used -in the second argument of aop() function.

  • name {hookName} - defines when the proxy content should be executed (e.g. event message sent to devtools).
  • regular {(string|function|RegExp)} - string or regexp that defines method names which should be wrapped in -proxy or a function that returns true for given metadata.
  • callback {function} - callback that is executed, when proxy is called. Receives meta object as an argument.

Where hookName is defined as:

const hookName = Object.freeze({
beforeMethod: 'beforeMethod',
afterMethod: 'afterMethod',
aroundMethod: 'aroundMethod',
beforeGetter: 'beforeGetter',
afterGetter: 'afterGetter',
aroundGetter: 'aroundGetter',
beforeSetter: 'beforeSetter',
afterSetter: 'afterSetter',
aroundSetter: 'aroundSetter'
});

3. emit(identifier, meta, options, overrides = {})

Helper function that sends passed in data to the devtools panel, while doing some pre-processing so the data -can be displayed properly. It is used at the end of createHook callback function.

  • identifier {string} - name identifying sent message displayed in devtool panel. -By default it corresponds to the name of the wrapped class, but it can be overridden in the options.
  • meta {object} - metadata describing received event. They're automatically created as a callback parameter -in the createHook function.
  • options {object} - additional options passed into the event payload. Currently only { color: 'color' } is supported -(for available colors, see below).
  • overrides {object} - optional object with overrides, that is merged with the meta sent in second argument.

4. importIMAClass(path, module);

Utility function, used to import modules from $IMA.Loader.modules, that can be used in creating your own -custom hooks.

  • path {string} - corresponds to absolute path to application's class from the /app directory. Or a package name -in case of npm package.
  • module {?string} - used for named exports, can be left blank in case of default exports.

Message colors

Currently there are 13 colors (we're using the Open Color color scheme), -that you can use to differentiate each hook with:

NameColor

Conclusion

You should by ok with the default preset for most cases but in case you head into defining a custom one, here are -some notes on this matter.

Defining custom hooks requires some more knowledge into the devtools that you can get by studying the devtool script to see how things work. We suggest to start by customizing the default set, changing few rules or splitting -existing hooks into more smaller ones, before heading in and defining whole new preset.

- - +bundle and for the simplicity sake we don't include any syntax validation in the UI, so please keep mind on that.

+
+

Note: As this code is injected to every web page with IMA.js present, you can use chrome devtools and it's debugger +to debug and fix any potential issues with your hook's code.

+
+

Available API

+

There are mainly three functions that you can (and probably will) use in your hooks:

+

1. aop(target, pattern)

+

This is the main hooks function, which defines which target should be wrapped in what proxy, defined by pattern.

+
    +
  • target {Class} - JavaScript @/object constructor that is wrapped in proxy.
  • +
  • pattern {object} - result of createHook function.
  • +
+

2. createHook(name, regular, callback)

+

Helper function that defines proxies on methods that match regular regular expression. It's essentially used +in the second argument of aop() function.

+
    +
  • name {hookName} - defines when the proxy content should be executed (e.g. event message sent to devtools).
  • +
  • regular {(string|function|RegExp)} - string or regexp that defines method names which should be wrapped in +proxy or a function that returns true for given metadata.
  • +
  • callback {function} - callback that is executed, when proxy is called. Receives meta object as an argument.
  • +
+

Where hookName is defined as:

+
const hookName = Object.freeze({
beforeMethod: 'beforeMethod',
afterMethod: 'afterMethod',
aroundMethod: 'aroundMethod',
beforeGetter: 'beforeGetter',
afterGetter: 'afterGetter',
aroundGetter: 'aroundGetter',
beforeSetter: 'beforeSetter',
afterSetter: 'afterSetter',
aroundSetter: 'aroundSetter'
});
+

3. emit(identifier, meta, options, overrides = {})

+

Helper function that sends passed in data to the devtools panel, while doing some pre-processing so the data +can be displayed properly. It is used at the end of createHook callback function.

+
    +
  • identifier {string} - name identifying sent message displayed in devtool panel. +By default it corresponds to the name of the wrapped class, but it can be overridden in the options.
  • +
  • meta {object} - metadata describing received event. They're automatically created as a callback parameter +in the createHook function.
  • +
  • options {object} - additional options passed into the event payload. Currently only { color: 'color' } is supported +(for available colors, see below).
  • +
  • overrides {object} - optional object with overrides, that is merged with the meta sent in second argument.
  • +
+

4. importIMAClass(path, module);

+

Utility function, used to import modules from $IMA.Loader.modules, that can be used in creating your own +custom hooks.

+
    +
  • path {string} - corresponds to absolute path to application's class from the /app directory. Or a package name +in case of npm package.
  • +
  • module {?string} - used for named exports, can be left blank in case of default exports.
  • +
+

Message colors

+

Currently there are 13 colors (we're using the Open Color color scheme), +that you can use to differentiate each hook with:

+
NameColor
+

Conclusion

+

You should by ok with the default preset for most cases but in case you head into defining a custom one, here are +some notes on this matter.

+

Defining custom hooks requires some more knowledge into the devtools that you can get by studying the devtool script to see how things work. We suggest to start by customizing the default set, changing few rules or splitting +existing hooks into more smaller ones, before heading in and defining whole new preset.

\ No newline at end of file diff --git a/devtools/devtools-ui/index.html b/devtools/devtools-ui/index.html index 8c6ea8236..b7b9a7e97 100644 --- a/devtools/devtools-ui/index.html +++ b/devtools/devtools-ui/index.html @@ -1,54 +1,88 @@ - + - -UI & Controls | IMA.js - - + +UI & Controls | IMA.js + + -
-

UI & Controls

The IMA.js devtools consist of 3 main windows - Panel, Popup +

UI & Controls

The IMA.js devtools consist of 3 main windows - Panel, Popup and Options. Each has some specific usage and -we're going to take a look at the first two in following sections.

Panel

Main component of our IMA.js devtools is the panel window, that you get after opening Chrome devtools +we're going to take a look at the first two in following sections.

+

Panel

+

Main component of our IMA.js devtools is the panel window, that you get after opening Chrome devtools (use the keyboard shortcut Cmd + Shift + J on Windows or Cmd + Option + J on Mac) -and clicking on IMA.js tab on any IMA.js application website.

This tab shows you all events (that you defined in the options, which we'll talk about later) +and clicking on IMA.js tab on any IMA.js application website.

+

+

This tab shows you all events (that you defined in the options, which we'll talk about later) and method calls in your application since it's initialization. But there are few other components in this window, -that offers some additional functionality, so let's take a closer look at each of those.

The search bar allows you to filter all messages using simple fuzzy search. The keywords are currently +that offers some additional functionality, so let's take a closer look at each of those.

+ +

+

The search bar allows you to filter all messages using simple fuzzy search. The keywords are currently matched with payload.label, so searching for values in payloads or any other text, that is not -part of the payload.label will result in invalid search results (this may change in the future versions).

You can also use JS regular expressions for more advance filtering. To use these expressions, simply wrap +part of the payload.label will result in invalid search results (this may change in the future versions).

+

You can also use JS regular expressions for more advance filtering. To use these expressions, simply wrap the searched string between /(init)/i backslashes. There's built in validation, where if the RegExp is not correct, -the input text will be red and no search is performed.

Search action buttons

In the search bar, we can also find a group of four buttons. First two buttons are related to the currently selected +the input text will be red and no search is performed.

+

+

Search action buttons

+

In the search bar, we can also find a group of four buttons. First two buttons are related to the currently selected item and allows you to select one directly above or below it. These two buttons also have a key shortcuts -defined to arrow up and arrow down, so you can use these too.

The third one clears the currently searched text and +defined to arrow up and arrow down, so you can use these too.

+

The third one clears the currently searched text and last one opens a menu, where additional two buttons let's you either clear whole state (e.g. all messages are deleted) -or access additional options.

Messages view

This is probably the main part of whole devtools. Here you can see all events and methods +or access additional options.

+

+

Messages view

+

+

This is probably the main part of whole devtools. Here you can see all events and methods (that have registered hooks in the options) and time they were called -relative to the first event received.

The first label in each row corresponds to the class that was an origin of method call, that is displayed +relative to the first event received.

+

The first label in each row corresponds to the class that was an origin of method call, that is displayed right next to the class name on light background. Optionally on some events you can see pending/resolved xms tag. This tag marks that some of the arguments of the method call are promises. The pending/resolved status than corresponds to whenever all promises in the method call are resolved or not. The time in ms than displays -time diff between first call the method and last resolved promise.

Data view

This view has 3 tabs - Args, Payload and Events. Args and Payload are basically shortcut to the last event's payload.state in the Events tab. +time diff between first call the method and last resolved promise.

+

Data view

+

+

This view has 3 tabs - Args, Payload and Events. Args and Payload are basically shortcut to the last event's payload.state in the Events tab. Each method call can have one or multiple events, this depends whenever any of the arguments is a promise or not. In case it is, the events is an array -where each new input corresponds to a resolved promise.

Each event has multiple arguments, where most of those are an internal arguments used in the devtools panel or to process the message. Most of the time +where each new input corresponds to a resolved promise.

+

Each event has multiple arguments, where most of those are an internal arguments used in the devtools panel or to process the message. Most of the time you're only interested in args and payload arguments in the payload.state. That's also why we have those two other tabs that are basically shortcuts -to these objects.

The popup is a simple window that you can see after clicking on the IMA.js extension icon +to these objects.

+ +

+

The popup is a simple window that you can see after clicking on the IMA.js extension icon in the chrome toolbar. The main purpose of this window is to give you quick toggle to enable -or disable the extension functionality = injecting the scripts and creating devtools panel.

Note: due to limitations of chrome extension API, when you disable IMA.js extension through this +or disable the extension functionality = injecting the scripts and creating devtools panel.

+
+

Note: due to limitations of chrome extension API, when you disable IMA.js extension through this popup, the detection and reload scripts are still getting injected to the page. Only thing that doesn't get injected is the devtool code itself, which wraps each class in a proxy like object -that sends messages to our devtools panel.

So in case you have any issues with your application and you think it's caused by the devtools, you -should completely disable the extension in order to prevent any possible side effects.

This popup can have 3 states:

  • Detecting - you can get a glimpse of this state when you reload the page while the popup is opened -and the devtools are still detecting whenever the current page is using IMA.js or not.
  • Reload - you can see this state after enabling extension while the page is already loaded. +that sends messages to our devtools panel.

    +

    So in case you have any issues with your application and you think it's caused by the devtools, you +should completely disable the extension in order to prevent any possible side effects.

    +
+

This popup can have 3 states:

+
    +
  • Detecting - you can get a glimpse of this state when you reload the page while the popup is opened +and the devtools are still detecting whenever the current page is using IMA.js or not.
  • +
  • Reload - you can see this state after enabling extension while the page is already loaded. As the name suggest, in order to use the devtools you need to reload the page so the -devtools code can be injected to page.
  • Dead - this state simply means that the devtools are enabled but you're actually on a pge -that doesn't use IMA.js.
  • Detected - you can see results of this state in the image above. This means that the page +devtools code can be injected to page.
  • +
  • Dead - this state simply means that the devtools are enabled but you're actually on a pge +that doesn't use IMA.js.
  • +
  • Detected - you can see results of this state in the image above. This means that the page you're currently visiting is using IMA.js and devtools are initialized. As a bonus you can also -see the application environment, language and version.

Options

This is a separate page, where you can configure the script that is injected into the page +see the application environment, language and version. + +

Options

+

This is a separate page, where you can configure the script that is injected into the page and customize it to your needs. As this is rather more complicated we're going to take -a deeper look into it in the next section.

- - +a deeper look into it in the next section.

\ No newline at end of file diff --git a/index.html b/index.html index 1e4922362..007fbcccc 100644 --- a/index.html +++ b/index.html @@ -2,15 +2,12 @@ - -IMA.js | A Javascript framework for creating isomorphic applications | IMA.js - - + +IMA.js | A Javascript framework for creating isomorphic applications | IMA.js + + -
-

IMA.js

A Javascript framework for creating isomorphic applications.

Features

Fully Isomorphic

Write and run the same code at both the server side and the client side! IMA.js provides abstraction for APIs that differ at the client side javascript and the server side javascript.

SEO

Page metadata are centrally managed, allowing easier management of all your keywords and og meta-tags.

Benchmarks and Tests

Real-world heavy-load web services are run on the IMA.js platform. With hundreds of unit tests covering all of our code, you can rely on IMA.js to be a stable base of your application.

Production-ready Full Application Stack

Use the familiar MVC pattern in combination with React for rendering your UI. See Hello example.

Routing

IMA.js comes with a built-in router for processing GET and POST HTTP requests.

Bleeding Edge Technologies

ESNext, Webpack, SWC compiler, HMR and other technologies.

Full plugin support

IMA.js comes with full support for plugins that can be created very easily through very simple interface.

Large collection of existing plugins

We maintain a list of several plugins that are thoroughly tested and used every day on many of our websites here at Seznam.cz along with huge list of other plugins we use internally.

Multiple running modes

Application can be switched between IMA, SPA and MPA modes or combination of all of them.

And many more...

Configuration for all your environments in one place with inheritance.
Out-of-box configurable server-side caching.
REST API cache.
Advanced error handling for greater stability and faster development.
High-fidelity debug mode.
Dependency injection.
Analytics plugin, that provides interface to custom analytics, along with FB pixel and Google Analytics plugins.
Generic REST API client plugin for the IMA application framework
Plugin to simplify loading 3rd party scripts for the IMA.js application
Reselect-style page state selector plugin for IMA.js components.
And many more…

Who's using IMA.js

Seznamzpravy.cz

Seznamzpravy.cz

Seznam Zprávy is one of the top Czech news platforms, which delivers compelling, diverse and visually engaging stories in the form of a text and a video.

Novinky.cz

Novinky.cz

One of the biggest and most visited news website in the Czech Republic. It offers coverage of the latest news from home and around the world in one place.

Prozeny.cz

Prozeny.cz

The biggest online lifestyle magazine for women in the Czech Republic. Current articles about fashion, health and lifestyle, living, family, and a great section of recipes.

Garaz.cz

Garaz.cz

The biggest online magazine about cars and motorcycles in the Czech Republic where you can found current articles about news from the car industry, service tips, reports from car events and wonderful video section.

Počasí.cz

Počasí.cz

The most visited weather forecast website in the Czech republic. Offers weather forecast up to 6 days ahead for every place on Earth and interactive map with meteoradar.

tv.seznam.cz

tv.seznam.cz

TV broadcast schedule for at least 14 days ahead, available for more than 100 most watched TV stations. Horizontal and vertical layout, notifications and social sharing is available.

SBazar.cz

SBazar.cz

Sbazar.cz is one of the largest online peer to peer marketers in the Czech Republic. People can choose between 1,800,000 current offers. Advertising is clearly arranged into individual categories with the possibility of searching in a specific place in the Czechia.

SAuto.cz

SAuto.cz

Sauto is the biggest marketplace of used and new cars in the Czech Republic. People can choose from up to 90,000 current sellers’ ads from across the country. Advanced filtering makes finding a car easier.

Hry.cz

Hry.cz

The Czech video game portal where you find your next video game to play. There are plenty of video games for different devices, including on-line browser games.

Seznam.cz/vychytavky

Seznam.cz/vychytavky

The news feed of the Seznam.cz company where you can see the new features of all Seznam.cz services.

- - +

IMA.js

A Javascript framework for creating isomorphic applications.

Features

Fully Isomorphic

Write and run the same code at both the server side and the client side! IMA.js provides abstraction for APIs that differ at the client side javascript and the server side javascript.

SEO

Page metadata are centrally managed, allowing easier management of all your keywords and og meta-tags.

Benchmarks and Tests

Real-world heavy-load web services are run on the IMA.js platform. With hundreds of unit tests covering all of our code, you can rely on IMA.js to be a stable base of your application.

Production-ready Full Application Stack

Use the familiar MVC pattern in combination with React for rendering your UI. See Hello example.

Routing

IMA.js comes with a built-in router for processing GET and POST HTTP requests.

Bleeding Edge Technologies

ESNext, Webpack, SWC compiler, HMR and other technologies.

Full plugin support

IMA.js comes with full support for plugins that can be created very easily through very simple interface.

Large collection of existing plugins

We maintain a list of several plugins that are thoroughly tested and used every day on many of our websites here at Seznam.cz along with huge list of other plugins we use internally.

Multiple running modes

Application can be switched between IMA, SPA and MPA modes or combination of all of them.

And many more...

Configuration for all your environments in one place with inheritance.
Out-of-box configurable server-side caching.
REST API cache.
Advanced error handling for greater stability and faster development.
High-fidelity debug mode.
Dependency injection.
Analytics plugin, that provides interface to custom analytics, along with FB pixel and Google Analytics plugins.
Generic REST API client plugin for the IMA application framework
Plugin to simplify loading 3rd party scripts for the IMA.js application
Reselect-style page state selector plugin for IMA.js components.
And many more…

Who's using IMA.js

Seznamzpravy.cz

Seznamzpravy.cz

Seznam Zprávy is one of the top Czech news platforms, which delivers compelling, diverse and visually engaging stories in the form of a text and a video.

Novinky.cz

Novinky.cz

One of the biggest and most visited news website in the Czech Republic. It offers coverage of the latest news from home and around the world in one place.

Prozeny.cz

Prozeny.cz

The biggest online lifestyle magazine for women in the Czech Republic. Current articles about fashion, health and lifestyle, living, family, and a great section of recipes.

Garaz.cz

Garaz.cz

The biggest online magazine about cars and motorcycles in the Czech Republic where you can found current articles about news from the car industry, service tips, reports from car events and wonderful video section.

Počasí.cz

Počasí.cz

The most visited weather forecast website in the Czech republic. Offers weather forecast up to 6 days ahead for every place on Earth and interactive map with meteoradar.

tv.seznam.cz

tv.seznam.cz

TV broadcast schedule for at least 14 days ahead, available for more than 100 most watched TV stations. Horizontal and vertical layout, notifications and social sharing is available.

SBazar.cz

SBazar.cz

Sbazar.cz is one of the largest online peer to peer marketers in the Czech Republic. People can choose between 1,800,000 current offers. Advertising is clearly arranged into individual categories with the possibility of searching in a specific place in the Czechia.

SAuto.cz

SAuto.cz

Sauto is the biggest marketplace of used and new cars in the Czech Republic. People can choose from up to 90,000 current sellers’ ads from across the country. Advanced filtering makes finding a car easier.

Hry.cz

Hry.cz

The Czech video game portal where you find your next video game to play. There are plenty of video games for different devices, including on-line browser games.

Seznam.cz/vychytavky

Seznam.cz/vychytavky

The news feed of the Seznam.cz company where you can see the new features of all Seznam.cz services.

\ No newline at end of file diff --git a/introduction/configuration/index.html b/introduction/configuration/index.html index 72cfd68b9..581e2fe34 100644 --- a/introduction/configuration/index.html +++ b/introduction/configuration/index.html @@ -1,40 +1,77 @@ - + - -Configuration options | IMA.js - - + +Configuration options | IMA.js + + -
-

Configuration options

IMA.js offers many ways to configure and customize your application to your needs. -Here's a list describing all possible configuration files and what they do.

Build and environment configuration

info

Environment configuration is resolved on server and passed to the client settings under config param.

  • gulpConfig.js contains configuration for the gulp tasks we use to build and -run your application.

  • app/main.js is the bootstrap of your application. You don't need to concern -yourself with this file usually.

  • app/build.js specifies which JavaScript, JSX, Less CSS and language files +

    Configuration options

    IMA.js offers many ways to configure and customize your application to your needs. +Here's a list describing all possible configuration files and what they do.

    +

    Build and environment configuration

    +
    info

    Environment configuration is resolved on server and passed to the client settings under config param.

    +
      +
    • +

      gulpConfig.js contains configuration for the gulp tasks we use to build and +run your application.

      +
    • +
    • +

      app/main.js is the bootstrap of your application. You don't need to concern +yourself with this file usually.

      +
    • +
    • +

      app/build.js specifies which JavaScript, JSX, Less CSS and language files your application consists of and should be included in your built -application.

      let js = ['./app/!(assets|gulp)/**/!(*Spec).{js,jsx}'];

      let less = [
      './app/assets/less/**/*.less',
      './app/component/**/*.less',
      './app/page/**/*.less'
      ];

      let languages = {
      en: ['./app/**/*EN.json']
      };

      Note: Files can be specified by a filename expansion as you can see -above.

      The file also specifies the 3rd party vendor libraries to link as ES2015 +application.

      +
      let js = ['./app/!(assets|gulp)/**/!(*Spec).{js,jsx}'];

      let less = [
      './app/assets/less/**/*.less',
      './app/component/**/*.less',
      './app/page/**/*.less'
      ];

      let languages = {
      en: ['./app/**/*EN.json']
      };
      +
      +

      Note: Files can be specified by a filename expansion as you can see +above.

      +
      +

      The file also specifies the 3rd party vendor libraries to link as ES2015 modules in your application, separated into three groups: common (shared), -server-side and client-side.

      let vendors = {
      common: ['ima'],

      server: [],

      client: []
      };

      Last thing configured in the app/build.js file is a list of compiled -JavaScript and CSS files that should be specified in the main html markup.

      let bundle = {
      js: ['...'],
      es: ['...'],
      css: ['...']
      };
    • app/environment.js configures the server-side environment. Note that the +server-side and client-side.

      +
      let vendors = {
      common: ['ima'],

      server: [],

      client: []
      };
      +

      Last thing configured in the app/build.js file is a list of compiled +JavaScript and CSS files that should be specified in the main html markup.

      +
      let bundle = {
      js: ['...'],
      es: ['...'],
      css: ['...']
      };
      +
    • +
    • +

      app/environment.js configures the server-side environment. Note that the dev and test environment configuration automatically inherits values from the prod environment (except for the $Language which has to be configured individually). This configuration is well described in the comments so see the file -for full reference.

    Application configuration

    • app/config/services.js by default this file specifies how the fatal +for full reference.

      +
    • +
    +

    Application configuration

    +
      +
    • +

      app/config/services.js by default this file specifies how the fatal application errors should be handled at the client side. Also provides a way to configure other application-wide settings or 3rd party libraries -(analytics, etc.).

    • app/config/routes.js configures your router, mapping routes to the +(analytics, etc.).

      +
    • +
    • +

      app/config/routes.js configures your router, mapping routes to the controllers and views in your application. For more information see the -Routing page.

    • app/config/settings.js configures your application and IMA.js services. You +Routing page.

      +
    • +
    • +

      app/config/settings.js configures your application and IMA.js services. You can freely extend the configuration as you like except for the properties prefixed by dollar sign $. Note that, again, the dev and test environment configuration -automatically inherits values from the prod environment.

    • and finally, the app/config/bind.js configures the -Object container.

    All of these files are necessary and must remain in their locations.

    - - +automatically inherits values from the prod environment.

    +
  • +
  • +

    and finally, the app/config/bind.js configures the +Object container.

    +
  • +
+

All of these files are necessary and must remain in their locations.

\ No newline at end of file diff --git a/introduction/getting-started/index.html b/introduction/getting-started/index.html index a487b247f..fdba114f6 100644 --- a/introduction/getting-started/index.html +++ b/introduction/getting-started/index.html @@ -1,37 +1,92 @@ - + - -Getting Started with IMA.js | IMA.js - - + +Getting Started with IMA.js | IMA.js + + -
-

Getting Started with IMA.js

The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript and React. +

Getting Started with IMA.js

The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript and React. It helps you develop fully isomorphic JavaScript applications that behave consistently in many different environments with ease -using the provided tools and several plugins we already have available.

IMA.js development stack consists of many different components. Here's a summary of few of the main ones:

  • React for UI, which you should learn before you dive head-first into IMA.js.
  • Express.js as the web server, but you don't need to know express to use IMA.js.
  • Webpack, Rollup and Vite with various other tools which are used for building the application.
  • And various little utilities you don't need to concern yourself with :).
info

The IMA.js is divided into the core library, which you'll use to build your +using the provided tools and several plugins we already have available.

+

IMA.js development stack consists of many different components. Here's a summary of few of the main ones:

+
    +
  • React for UI, which you should learn before you dive head-first into IMA.js.
  • +
  • Express.js as the web server, but you don't need to know express to use IMA.js.
  • +
  • Webpack, Rollup and Vite with various other tools which are used for building the application.
  • +
  • And various little utilities you don't need to concern yourself with :).
  • +
+
info

The IMA.js is divided into the core library, which you'll use to build your application, and the application server build on top of Express.js, that brings -your application to life.

You can find the core and server library along with many other IMA.js related packages in our monorepo at -https://github.com/seznam/ima.

Installation

To install and run your new IMA.js application, you can use our create-ima-app npm package. -Start by running following command:

npx create-ima-app my-app
tip

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

This will bootstrap your new application and install all dependencies.

After the installation succeeds, run following commands to start your application:

cd my-app
npm run dev

Before going ahead, now that your application is running, you can either continue reading this documentation, +your application to life.

+

You can find the core and server library along with many other IMA.js related packages in our monorepo at +https://github.com/seznam/ima.

+

Installation

+

To install and run your new IMA.js application, you can use our create-ima-app npm package. +Start by running following command:

+
npx create-ima-app my-app
+
tip

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

+

This will bootstrap your new application and install all dependencies.

+

After the installation succeeds, run following commands to start your application:

+
cd my-app
npm run dev
+

Before going ahead, now that your application is running, you can either continue reading this documentation, which describes many different parts of IMA.js in detail, take a direct look at the -API or start with our tutorial.

Available commands

Once you've initialized your new IMA.js project, following commands become available to you through npm.

  • npm run dev - Starts development server in ES13 mode on http://localhost:3001/. This will also start task in watch mode, so any changes you make to the source code are automatically re-builded.
  • npm run test - Starts jest test runners.
  • npm run lint - Runs eslint on your application source files. We've prepared pre-configured .eslintrc.js file which follows our IMA.js coding styles, but feel free to adjust this to your needs.
  • npm run build - Builds your application. For more information (see Production use).
  • npm run start - Starts IMA.js server.

The new IMA cli brings more configuration for your application.

Why should I use create-ima-app command?

Developing IMA.js application is fairly easy, but the initial setup process can be quite tiresome. +API or start with our tutorial.

+

Available commands

+

Once you've initialized your new IMA.js project, following commands become available to you through npm.

+
    +
  • npm run dev - Starts development server in ES13 mode on http://localhost:3001/. This will also start task in watch mode, so any changes you make to the source code are automatically re-builded.
  • +
  • npm run test - Starts jest test runners.
  • +
  • npm run lint - Runs eslint on your application source files. We've prepared pre-configured .eslintrc.js file which follows our IMA.js coding styles, but feel free to adjust this to your needs.
  • +
  • npm run build - Builds your application. For more information (see Production use).
  • +
  • npm run start - Starts IMA.js server.
  • +
+

The new IMA cli brings more configuration for your application.

+

Why should I use create-ima-app command?

+

Developing IMA.js application is fairly easy, but the initial setup process can be quite tiresome. This tool aims to streamline this process, save your time and provide you with buildable -application with opinionated defaults that can be easily customized to your needs.

Application structure

Running npx create-ima-app my-app command will create following directory structure:

my-app
├── app
│ ├── component
│ │ └── card
│ ├── config
│ │ ├── bind.js
│ │ ├── routes.js
│ │ ├── services.js
│ │ └── settings.js
│ ├── document
│ │ └── DocumentView.jsx
│ ├── less
│ │ ├── global.less
│ │ └── app.less
│ ├── page
│ │ ├── AbstractPageController.js
│ │ ├── error
│ │ ├── home
│ │ └── notFound
│ ├── public
│ │ ├── cards.json
│ │ ├── favicon.ico
│ │ └── ...
│ └─── main.js
└── server
│ ├── config
│ │ └── environment.js
│ ├── template
│ │ ├── 400.ejs
│ │ ├── 500.ejs
│ │ └── spa.ejs
│ └── app.js
│ └── server.js
├── LICENSE
├── README.md
├── ima.config.js
├── jest.config.json
├── jest.setup.js
├── jsConfig.json
├── package-lock.json
└── package.json

So let's take a closer look at the contents of the application:

  • app - main application folder where all application source code is located.
    • component - our React components for use in the view. Components are -covered in part 3 of our tutorial.
    • config, environment.js - configuration files. For more information see -Configuration page.
    • less - Less CSS files defining common rules, overrides, macros, mixins -and the basic UI layout.
    • page - controllers, main views and page-specific Less CSS files for pages -in our application. Usage of these is configured via routing.
      • error - the page shown when the application encounters an error that -prevents it from working properly.
      • home - the index (home) page.
      • notFound - the page shown when the user navigates to a page that is not -defined in our application.
    • public - files that are preprocessed and copied to built/static/public/ for our build application, -usually as static resources.

Production use

If you want to deploy your IMA.js application to production, the installation is +application with opinionated defaults that can be easily customized to your needs.

+

Application structure

+

Running npx create-ima-app my-app command will create following directory structure:

+
my-app
├── app
│ ├── component
│ │ └── card
│ ├── config
│ │ ├── bind.js
│ │ ├── routes.js
│ │ ├── services.js
│ │ └── settings.js
│ ├── document
│ │ └── DocumentView.jsx
│ ├── less
│ │ ├── global.less
│ │ └── app.less
│ ├── page
│ │ ├── AbstractPageController.js
│ │ ├── error
│ │ ├── home
│ │ └── notFound
│ ├── public
│ │ ├── cards.json
│ │ ├── favicon.ico
│ │ └── ...
│ └─── main.js
└── server
│ ├── config
│ │ └── environment.js
│ ├── template
│ │ ├── 400.ejs
│ │ ├── 500.ejs
│ │ └── spa.ejs
│ └── app.js
│ └── server.js
├── LICENSE
├── README.md
├── ima.config.js
├── jest.config.json
├── jest.setup.js
├── jsConfig.json
├── package-lock.json
└── package.json
+

So let's take a closer look at the contents of the application:

+
    +
  • app - main application folder where all application source code is located. +
      +
    • component - our React components for use in the view. Components are +covered in part 3 of our tutorial.
    • +
    • config, environment.js - configuration files. For more information see +Configuration page.
    • +
    • less - Less CSS files defining common rules, overrides, macros, mixins +and the basic UI layout.
    • +
    • page - controllers, main views and page-specific Less CSS files for pages +in our application. Usage of these is configured via routing. +
        +
      • error - the page shown when the application encounters an error that +prevents it from working properly.
      • +
      • home - the index (home) page.
      • +
      • notFound - the page shown when the user navigates to a page that is not +defined in our application.
      • +
      +
    • +
    • public - files that are preprocessed and copied to built/static/public/ for our build application, +usually as static resources.
    • +
    +
  • +
+

Production use

+

If you want to deploy your IMA.js application to production, the installation is similar to the dev environment. To install the IMA.js application, start by cloning your application git -repository on your production server:

git clone [your-application-git-repository]

Switch to the cloned directory and run the following commands to set-up your -application - same as in the development mode - and build it:

npm install
npm run build

Now after building your IMA.js application your server is ready to run it. You can start your application using the following command:

npm run start

Your application is now running at http://localhost:3001/ -(unless configured otherwise).

- - +repository on your production server:

+
git clone [your-application-git-repository]
+

Switch to the cloned directory and run the following commands to set-up your +application - same as in the development mode - and build it:

+
npm install
npm run build
+

Now after building your IMA.js application your server is ready to run it. You can start your application using the following command:

+
npm run start
+

Your application is now running at http://localhost:3001/ +(unless configured otherwise).

\ No newline at end of file diff --git a/migration/migration-0.14.0/index.html b/migration/migration-0.14.0/index.html index 2c9a71eea..02a17dbdc 100644 --- a/migration/migration-0.14.0/index.html +++ b/migration/migration-0.14.0/index.html @@ -1,16 +1,34 @@ - + - -Migration 0.14.0 | IMA.js - - + +Migration 0.14.0 | IMA.js + + -
-

Migration 0.14.0

In order to upgrade your project to use IMA.js 0.14.0, please follow these steps:

  • Update your gulpfile.js to require the default configuration from the ima-gulp-tasks package in the gulpfile.js (see the example configuration).
  • If you are using custom build and dev tasks, remove the Es6toEs5:ima task from those.
  • Update your own custom gulp tasks to be compatible with gulp 4
  • Remove references to the ima.client.js file in the settings.js file and the bundle section in the build.js file.
  • Add the ima package to the common group in the vendors section in the build.js file.
  • Update your main.js file, the ima.onLoad method returns a promise instead of accepting a callback.
  • Update your ima-server installation according to the Hello World example.
  • Plugins can no longer use namespaces, please update your bind.js file if you were using namespace references to IMA plugins.
  • Import the RouteNames constants from ima/router/RouteNames in your router.js configuration file.
  • Components may now declare the defaultProps and propTypes static properties as getters.
  • The $ROUTER_CONSTANTS alias no longer exists (import the ima/router/RouteNames file).
  • The $HTTP_STATUS_CODE alias no longer exists (import the ima/http/StatusCode file).
  • Removed the $Promise, $CacheEntry, $PageRendererViewAdapter, $Route (switched to imports internally).
  • The loose mode of the ES2015 babel preset is no longer enabled.
  • Upgrade to node.js 7 or newer (older version might work but are no longer supported).
  • Switch to default exports in your configuration files.
  • Remove the './node_modules/ima-babel6-polyfill/index.js' reference from the polyfills list in gulpConfig.js (if overridden; this has been fixed by babel).
  • Remove the main.less file reference in the build.js file (unless it exists in the project).
  • Add the $CssClasses property to object in the $Utils OC alias.
- - +

Migration 0.14.0

In order to upgrade your project to use IMA.js 0.14.0, please follow these steps:

+
    +
  • Update your gulpfile.js to require the default configuration from the ima-gulp-tasks package in the gulpfile.js (see the example configuration).
  • +
  • If you are using custom build and dev tasks, remove the Es6toEs5:ima task from those.
  • +
  • Update your own custom gulp tasks to be compatible with gulp 4
  • +
  • Remove references to the ima.client.js file in the settings.js file and the bundle section in the build.js file.
  • +
  • Add the ima package to the common group in the vendors section in the build.js file.
  • +
  • Update your main.js file, the ima.onLoad method returns a promise instead of accepting a callback.
  • +
  • Update your ima-server installation according to the Hello World example.
  • +
  • Plugins can no longer use namespaces, please update your bind.js file if you were using namespace references to IMA plugins.
  • +
  • Import the RouteNames constants from ima/router/RouteNames in your router.js configuration file.
  • +
  • Components may now declare the defaultProps and propTypes static properties as getters.
  • +
  • The $ROUTER_CONSTANTS alias no longer exists (import the ima/router/RouteNames file).
  • +
  • The $HTTP_STATUS_CODE alias no longer exists (import the ima/http/StatusCode file).
  • +
  • Removed the $Promise, $CacheEntry, $PageRendererViewAdapter, $Route (switched to imports internally).
  • +
  • The loose mode of the ES2015 babel preset is no longer enabled.
  • +
  • Upgrade to node.js 7 or newer (older version might work but are no longer supported).
  • +
  • Switch to default exports in your configuration files.
  • +
  • Remove the './node_modules/ima-babel6-polyfill/index.js' reference from the polyfills list in gulpConfig.js (if overridden; this has been fixed by babel).
  • +
  • Remove the main.less file reference in the build.js file (unless it exists in the project).
  • +
  • Add the $CssClasses property to object in the $Utils OC alias.
  • +
\ No newline at end of file diff --git a/migration/migration-0.15.0/index.html b/migration/migration-0.15.0/index.html index 52b7e8f9c..9946c57db 100644 --- a/migration/migration-0.15.0/index.html +++ b/migration/migration-0.15.0/index.html @@ -1,20 +1,81 @@ - + - -Migration 0.15.0 | IMA.js - - + +Migration 0.15.0 | IMA.js + + -
-

Migration 0.15.0

In order to upgrade to IMA.js 0.15.0, start ba adding these new dependencies to package.json:

"prop-types": "15.6.0",
"react": "16.2.0",
"react-dom": "16.2.0",
"express-http-proxy": "^1.0.7"

Build

If you are overriding polyfills or shims (for example using some custom polyfills) you need to change polyfills or shims structure in gulpConfig.js . Now it has to be structure for js, es and fetch polyfills. -If you are't overriding polyfills or shims, you can skip this step.

Example:

shim: {
js: {
name: 'shim.js',
src: ['./node_modules/ima/polyfill/collectionEnumeration.js'],
dest: {
client: './build/static/js/'
}
},
es: {
name: 'shim.es.js',
src: [],
dest: {
client: './build/static/js/',
server: './build/ima/'
}
}


polyfill: {
js: {
name: 'polyfill.js',
src: [
'./node_modules/babel-polyfill/dist/polyfill.min.js',
'./node_modules/custom-event-polyfill/custom-event-polyfill.js'
],
dest: {
client: './build/static/js/'
}
},
es: {
name: 'polyfill.es.js',
src: ['./node_modules/custom-event-polyfill/custom-event-polyfill.js'],
dest: {
client: './build/static/js/'
}
},
fetch: {
name: 'fetch-polyfill.js',
src: [
'./node_modules/core-js/client/shim.min.js',
'./node_modules/whatwg-fetch/fetch.js'
],
dest: {
client: './build/static/js/'
}
},
ima: {
name: 'ima-polyfill.js',
src: [
'./node_modules/ima/polyfill/imaLoader.js',
'./node_modules/ima/polyfill/imaRunner.js'
],
dest: {
client: './build/static/js/'
}
}
}

In build.js add new property 'es' to bundle object:

es: [
'./build/static/js/polyfill.es.js',
'./build/static/js/shim.es.js',
'./build/static/js/vendor.client.es.js',
'./build/static/js/app.client.es.js'
]

Add to your settings.js prod.$Page.$Render new property esScripts like this:

esScripts: [
'/static/js/locale/' + config.$Language + '.js' + versionStamp,
'/static/js/app.bundle.es.min.js' + versionStamp
]

Add to your settings.js dev.$Page.$Render new property esScripts like this:

esScripts: [
'/static/js/polyfill.es.js' + versionStamp,
'/static/js/shim.es.js' + versionStamp,
'/static/js/vendor.client.es.js' + versionStamp,
`/static/js/locale/${config.$Language}.js${versionStamp}`,
'/static/js/app.client.es.js' + versionStamp,
'/static/js/hot.reload.js' + versionStamp
]

Karma removed instead of that added Jest

If you are overriding gulpfile.js you need to make following changes:

  • remove from gulpConfig.tasks.dev task test:unit:karma:dev
  • remove from gulpConfig.tasks.dev and gulpConfig.tasks.build task Es6ToEs5:vendor:client:test
  • remove from function buildExample task Es6ToEs5:vendor:client:test

If you are overriding gulpConfig.tasks.build in gulpConfig.js you need to add bundle:es:app into bundles section.

Server

In server.js

Add at the top into import sections:

require('ima/polyfill/imaLoader.js');
require('ima/polyfill/imaRunner.js');

add proxy into middlewares imports section

let proxy = require('express-http-proxy');

change line

.use(environment.$Proxy.path + '/', proxy)

to

.use(environment.$Proxy.path + '/', proxy(environment.$Proxy.server))

DocumentView

In DocumentView.jsx we united sync and async scripts.

  • remove getSyncScripts function.
  • update getAsyncScripts function to
getAsyncScripts() {
let scriptResources = `<script>
function checkAsyncAwait () {
try {
new Function('(async () => ({}))()');
return true;
} catch (e) {
return false;
}
}
$IMA.Runner = $IMA.Runner || {};
if (Object.values && checkAsyncAwait()) {
$IMA.Runner.scripts = [
${this.utils.$Settings.$Page.$Render.esScripts
.map(script => `'${script}'`)
.join()}
];
} else {
$IMA.Runner.scripts = [
${this.utils.$Settings.$Page.$Render.scripts
.map(script => `'${script}'`)
.join()}
];
}

if (!window.fetch) {
$IMA.Runner.scripts.unshift('${this.utils.$Settings.$Static
.js}/fetch-polyfill.js');
}

$IMA.Runner.scripts.forEach(function(source) {
var script = document.createElement('script');
script.async = $IMA.$Env !== 'dev';
script.onload = $IMA.Runner.load;
script.src = source;

document.getElementById('scripts').appendChild(script);
});
</script>`;

return scriptResources;
}

replace

{this.utils.$Settings.$Env === 'dev' ?
<div id='scripts'>{this.getSyncScripts()}</div>
:
<div id='scripts' dangerouslySetInnerHTML={
{ __html: this.getAsyncScripts() }
}/>
}

with

<div id='scripts' dangerouslySetInnerHTML={
{ __html: this.getAsyncScripts() }
}/>

SPA

In app/assets/static/html/spa.html add ima-polyfill.

Removed namespaces

If you extends some view from ns.ima.page.AbstractComponent, you need to add this import:

import AbstractComponent from 'ima/page/AbstractComponent';

and use AbstractComponent instead of ns.ima.page.AbstractComponent.

If you extends some view from ns.ima.controller.AbstractController, you need to add this import:

import AbstractController from 'ima/controller/AbstractController';

and use AbstractController instead of ns.ima.controller.AbstractController.

In settings.js import your DocumentView like this:

import DocumentView from 'app/component/document/DocumentView';

Now you need to replace your documentView namespace with React component

so for this step replace your configuration.prod.$Page.$Render.documentView to DocumentView.

Others

  • IMA.js is now using React 16 where is no longer supported react-addons-perf package in case you were using it.
  • There was added a fetchOptions property to the IMA.js' http. You can add this property into your settings.js file +

    Migration 0.15.0

    In order to upgrade to IMA.js 0.15.0, start ba adding these new dependencies to package.json:

    +
    "prop-types": "15.6.0",
    "react": "16.2.0",
    "react-dom": "16.2.0",
    "express-http-proxy": "^1.0.7"
    +

    Build

    +

    If you are overriding polyfills or shims (for example using some custom polyfills) you need to change polyfills or shims structure in gulpConfig.js . Now it has to be structure for js, es and fetch polyfills. +If you are't overriding polyfills or shims, you can skip this step.

    +

    Example:

    +
    shim: {
    js: {
    name: 'shim.js',
    src: ['./node_modules/ima/polyfill/collectionEnumeration.js'],
    dest: {
    client: './build/static/js/'
    }
    },
    es: {
    name: 'shim.es.js',
    src: [],
    dest: {
    client: './build/static/js/',
    server: './build/ima/'
    }
    }


    polyfill: {
    js: {
    name: 'polyfill.js',
    src: [
    './node_modules/babel-polyfill/dist/polyfill.min.js',
    './node_modules/custom-event-polyfill/custom-event-polyfill.js'
    ],
    dest: {
    client: './build/static/js/'
    }
    },
    es: {
    name: 'polyfill.es.js',
    src: ['./node_modules/custom-event-polyfill/custom-event-polyfill.js'],
    dest: {
    client: './build/static/js/'
    }
    },
    fetch: {
    name: 'fetch-polyfill.js',
    src: [
    './node_modules/core-js/client/shim.min.js',
    './node_modules/whatwg-fetch/fetch.js'
    ],
    dest: {
    client: './build/static/js/'
    }
    },
    ima: {
    name: 'ima-polyfill.js',
    src: [
    './node_modules/ima/polyfill/imaLoader.js',
    './node_modules/ima/polyfill/imaRunner.js'
    ],
    dest: {
    client: './build/static/js/'
    }
    }
    }

    +

    In build.js add new property 'es' to bundle object:

    +
    es: [
    './build/static/js/polyfill.es.js',
    './build/static/js/shim.es.js',
    './build/static/js/vendor.client.es.js',
    './build/static/js/app.client.es.js'
    ]
    +

    Add to your settings.js prod.$Page.$Render new property esScripts like this:

    +
    esScripts: [
    '/static/js/locale/' + config.$Language + '.js' + versionStamp,
    '/static/js/app.bundle.es.min.js' + versionStamp
    ]
    +

    Add to your settings.js dev.$Page.$Render new property esScripts like this:

    +
    esScripts: [
    '/static/js/polyfill.es.js' + versionStamp,
    '/static/js/shim.es.js' + versionStamp,
    '/static/js/vendor.client.es.js' + versionStamp,
    `/static/js/locale/${config.$Language}.js${versionStamp}`,
    '/static/js/app.client.es.js' + versionStamp,
    '/static/js/hot.reload.js' + versionStamp
    ]
    +

    Karma removed instead of that added Jest

    +

    If you are overriding gulpfile.js you need to make following changes:

    +
      +
    • remove from gulpConfig.tasks.dev task test:unit:karma:dev
    • +
    • remove from gulpConfig.tasks.dev and gulpConfig.tasks.build task Es6ToEs5:vendor:client:test
    • +
    • remove from function buildExample task Es6ToEs5:vendor:client:test
    • +
    +

    If you are overriding gulpConfig.tasks.build in gulpConfig.js you need to add bundle:es:app into bundles section.

    +

    Server

    +

    In server.js

    +

    Add at the top into import sections:

    +
    require('ima/polyfill/imaLoader.js');
    require('ima/polyfill/imaRunner.js');
    +

    add proxy into middlewares imports section

    +
    let proxy = require('express-http-proxy');
    +

    change line

    +
    .use(environment.$Proxy.path + '/', proxy)
    +

    to

    +
    .use(environment.$Proxy.path + '/', proxy(environment.$Proxy.server))
    +

    DocumentView

    +

    In DocumentView.jsx we united sync and async scripts.

    +
      +
    • remove getSyncScripts function.
    • +
    • update getAsyncScripts function to
    • +
    +
    getAsyncScripts() {
    let scriptResources = `<script>
    function checkAsyncAwait () {
    try {
    new Function('(async () => ({}))()');
    return true;
    } catch (e) {
    return false;
    }
    }
    $IMA.Runner = $IMA.Runner || {};
    if (Object.values && checkAsyncAwait()) {
    $IMA.Runner.scripts = [
    ${this.utils.$Settings.$Page.$Render.esScripts
    .map(script => `'${script}'`)
    .join()}
    ];
    } else {
    $IMA.Runner.scripts = [
    ${this.utils.$Settings.$Page.$Render.scripts
    .map(script => `'${script}'`)
    .join()}
    ];
    }

    if (!window.fetch) {
    $IMA.Runner.scripts.unshift('${this.utils.$Settings.$Static
    .js}/fetch-polyfill.js');
    }

    $IMA.Runner.scripts.forEach(function(source) {
    var script = document.createElement('script');
    script.async = $IMA.$Env !== 'dev';
    script.onload = $IMA.Runner.load;
    script.src = source;

    document.getElementById('scripts').appendChild(script);
    });
    </script>`;

    return scriptResources;
    }
    +

    replace

    +
    {this.utils.$Settings.$Env === 'dev' ?
    <div id='scripts'>{this.getSyncScripts()}</div>
    :
    <div id='scripts' dangerouslySetInnerHTML={
    { __html: this.getAsyncScripts() }
    }/>
    }
    +

    with

    +
    <div id='scripts' dangerouslySetInnerHTML={
    { __html: this.getAsyncScripts() }
    }/>
    +

    SPA

    +

    In app/assets/static/html/spa.html add ima-polyfill.

    + +

    Removed namespaces

    +

    If you extends some view from ns.ima.page.AbstractComponent, you need to add this import:

    +
    import AbstractComponent from 'ima/page/AbstractComponent';
    +

    and use AbstractComponent instead of ns.ima.page.AbstractComponent.

    +

    If you extends some view from ns.ima.controller.AbstractController, you need to add this import:

    +
    import AbstractController from 'ima/controller/AbstractController';
    +

    and use AbstractController instead of ns.ima.controller.AbstractController.

    +

    In settings.js import your DocumentView like this:

    +
    import DocumentView from 'app/component/document/DocumentView';
    +

    Now you need to replace your documentView namespace with React component

    +

    so for this step replace your configuration.prod.$Page.$Render.documentView to DocumentView.

    +

    Others

    +
      +
    • IMA.js is now using React 16 where is no longer supported react-addons-perf package in case you were using it.
    • +
    • There was added a fetchOptions property to the IMA.js' http. You can add this property into your settings.js file to the $Http.defaultRequestOptions object. The property represents the second and optional parameter of the fetch method https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch - an options object containing -settings that you want to apply to the Fetch API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API request.
    • There is a breaking change in the IMA.js' router. Now there is defined an order where mandatory parameters have to be before optional parameters.
    • There are no longer available Request and Response at the client side.
    - - +settings that you want to apply to the Fetch API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API request.
  • +
  • There is a breaking change in the IMA.js' router. Now there is defined an order where mandatory parameters have to be before optional parameters.
  • +
  • There are no longer available Request and Response at the client side.
  • +
\ No newline at end of file diff --git a/migration/migration-0.16.0/index.html b/migration/migration-0.16.0/index.html index 1199c7f5b..0de582066 100644 --- a/migration/migration-0.16.0/index.html +++ b/migration/migration-0.16.0/index.html @@ -1,16 +1,67 @@ - + - -Migration 0.16.0 | IMA.js - - + +Migration 0.16.0 | IMA.js + + -
-

Migration 0.16.0

Upgrading from version 15 should be pretty straightforward and your application should work with no to minimal changes required.

Changes in dependencies

  • babel-eslint: 8.2.2    10.0.1
  • enzyme: 3.7.0    3.8.0
  • enzyme-adapter-react-16: 1.1.1    1.7.1
  • eslint: 4.19.1    5.11.1
  • eslint-config-prettier: 2.9.0    3.3.0
  • eslint-plugin-jasmine: 2.9.3    2.10.1
  • eslint-plugin-jest: 21.15.0    22.1.2
  • eslint-plugin-prettier: 2.6.0    3.0.1
  • eslint-plugin-react: 7.7.0    7.12.0
  • ima-gulp-tasks: 0.15.0    ^0.16.0
  • jest: 22.4.3    23.6.0
  • express-http-proxy: 1.1.0    1.5.0
  • helmet: 3.12.0    3.15.0
  • ima: 0.15.1    0.16.0
  • ima-server: 0.15.0    0.16.0
  • method-override: 2.3.10    3.0.0
  • multer: 1.3.0    1.4.1
  • react: 16.2.0    16.7.0
  • react-dom: 16.2.0    16.7.0
  • enzyme-to-json: ^3.3.5 (new)
  • jest-serializer-enzyme (removed)
  • react-test-renderer (removed)

Migration guide

  • Use of regular expressions in serveSPA.blacklist. If you've been using array of strings, you need to change the syntax to use regular expressions instead:
/* app/environment.js */
{
...
- blackList: ['Googlebot', 'SeznamBot'],
+ blackList: userAgent => (new RegExp('Googlebot|SeznamBot', 'g')).test(userAgent),
...
}
  • Added new mandatory parameter action to route() method in Router of a type { type: string, event: Event|null, url: string|null }, where type attribute can take one of these values: const { REDIRECT, CLICK, POP_STATE, ERROR } = ActionTypes.
/* ima/Router/ClientRouter.js */
route(
path,
options = {},
{ event = null, type = ActionTypes.REDIRECT, url = null } = {}
)
  • Http options withCredentials is set to false by default. You must check your HTTP CORS requests and you must set withCredentials to true for sending Cookie header.

  • New serializer settings in Jest, to configure it first add path to a newly created file jest.setup.js (located in the root directory) into setupFiles array in jest.config.json. After that add new snapshotSerializers field with ["enzyme-to-json/serializer"] value, that handles module loading, which converts Enzyme wrappers into format compatible with Jest snapshots.

/* jest.config.json */
"setupFiles": [
"ima/test.js",
"ima/polyfill/imaLoader.js",
"ima/polyfill/imaRunner.js",
+ "<rootDir>/jest.setup.js"
],
+ snapshotSerializers": ["enzyme-to-json/serializer"]
/* jest.setup.js */
const enzyme = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

enzyme.configure({ adapter: new Adapter() });

Other changes

  • IMA.js-helpers - removed throttle and debounce functions. You can replace throttle with throttle method available in UIComponentHelper in IMA.js-ui-atoms package. 73843d0
  • Updated to React 16.7, which along with new context API and other features introduced deprecation of componentWillMount, componentWillReceiveProps and componentWillUpdate lifecycle methods.
  • Upgraded to Babel 7 and latest ESLint 5, which may result on some changes specific to your application.

New Features

  • Most notable new feature is the introduction of PageManagerHandlers which adds the possibility to customize actions like saving and restoring scroll positions, setting browser's address bar URL etc. For more information visit the documentation.
- - +

Migration 0.16.0

Upgrading from version 15 should be pretty straightforward and your application should work with no to minimal changes required.

+

Changes in dependencies

+
    +
  • babel-eslint: 8.2.2  →  10.0.1
  • +
  • enzyme: 3.7.0  →  3.8.0
  • +
  • enzyme-adapter-react-16: 1.1.1  →  1.7.1
  • +
  • eslint: 4.19.1  →  5.11.1
  • +
  • eslint-config-prettier: 2.9.0  →  3.3.0
  • +
  • eslint-plugin-jasmine: 2.9.3  →  2.10.1
  • +
  • eslint-plugin-jest: 21.15.0  →  22.1.2
  • +
  • eslint-plugin-prettier: 2.6.0  →  3.0.1
  • +
  • eslint-plugin-react: 7.7.0  →  7.12.0
  • +
  • ima-gulp-tasks: 0.15.0  →  ^0.16.0
  • +
  • jest: 22.4.3  →  23.6.0
  • +
  • express-http-proxy: 1.1.0  →  1.5.0
  • +
  • helmet: 3.12.0  →  3.15.0
  • +
  • ima: 0.15.1  →  0.16.0
  • +
  • ima-server: 0.15.0  →  0.16.0
  • +
  • method-override: 2.3.10  →  3.0.0
  • +
  • multer: 1.3.0  →  1.4.1
  • +
  • react: 16.2.0  →  16.7.0
  • +
  • react-dom: 16.2.0  →  16.7.0
  • +
  • enzyme-to-json: ^3.3.5 (new)
  • +
  • jest-serializer-enzyme (removed)
  • +
  • react-test-renderer (removed)
  • +
+

Migration guide

+
    +
  • Use of regular expressions in serveSPA.blacklist. If you've been using array of strings, you need to change the syntax to use regular expressions instead:
  • +
+
/* app/environment.js */
{
...
- blackList: ['Googlebot', 'SeznamBot'],
+ blackList: userAgent => (new RegExp('Googlebot|SeznamBot', 'g')).test(userAgent),
...
}
+
    +
  • Added new mandatory parameter action to route() method in Router of a type { type: string, event: Event|null, url: string|null }, where type attribute can take one of these values: const { REDIRECT, CLICK, POP_STATE, ERROR } = ActionTypes.
  • +
+
/* ima/Router/ClientRouter.js */
route(
path,
options = {},
{ event = null, type = ActionTypes.REDIRECT, url = null } = {}
)
+
    +
  • +

    Http options withCredentials is set to false by default. You must check your HTTP CORS requests and you must set withCredentials to true for sending Cookie header.

    +
  • +
  • +

    New serializer settings in Jest, to configure it first add path to a newly created file jest.setup.js (located in the root directory) into setupFiles array in jest.config.json. After that add new snapshotSerializers field with ["enzyme-to-json/serializer"] value, that handles module loading, which converts Enzyme wrappers into format compatible with Jest snapshots.

    +
  • +
+
/* jest.config.json */
"setupFiles": [
"ima/test.js",
"ima/polyfill/imaLoader.js",
"ima/polyfill/imaRunner.js",
+ "<rootDir>/jest.setup.js"
],
+ snapshotSerializers": ["enzyme-to-json/serializer"]
+
/* jest.setup.js */
const enzyme = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

enzyme.configure({ adapter: new Adapter() });
+

Other changes

+
    +
  • IMA.js-helpers - removed throttle and debounce functions. You can replace throttle with throttle method available in UIComponentHelper in IMA.js-ui-atoms package. 73843d0
  • +
  • Updated to React 16.7, which along with new context API and other features introduced deprecation of componentWillMount, componentWillReceiveProps and componentWillUpdate lifecycle methods.
  • +
  • Upgraded to Babel 7 and latest ESLint 5, which may result on some changes specific to your application.
  • +
+

New Features

+
    +
  • Most notable new feature is the introduction of PageManagerHandlers which adds the possibility to customize actions like saving and restoring scroll positions, setting browser's address bar URL etc. For more information visit the documentation.
  • +
\ No newline at end of file diff --git a/migration/migration-17.0.0/index.html b/migration/migration-17.0.0/index.html index 7a2c7389b..37caeeaec 100644 --- a/migration/migration-17.0.0/index.html +++ b/migration/migration-17.0.0/index.html @@ -1,17 +1,53 @@ - + - -Migration 17.0.0 | IMA.js - - + +Migration 17.0.0 | IMA.js + + -
-

Migration 17.0.0

IMA.js brings few major breaking changes, notably in the renaming of all packages. We've tried to make this process as easy as possible -through the provided jscodeshift transform scripts. For more information read below.

Imports

The ima- packages (even plugins) has been renamed to @ima/ scoped packages and ima core package has been renamed to @ima/core. The core package is now bundled with rollup, so you can no longer import a file from specific path (i.e. import GenericError from 'ima/error/GenericError'), but you can import it directly from @ima/core (i.e. import { GenericError } from '@ima/core').

All of this can be done automatically for a whole project using following jscodeshift script.

npx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./

Also replace paths which contain ima to @ima/core in package.json (setupFiles in jest) and server.js.

Following packages have been renamed.

ima-gulp-task-loader -> @ima/gulp-task-loader
ima-gulp-tasks -> @ima/gulp-tasks
ima-helpers -> @ima/helpers
ima-server -> @ima/server

Following packages have been removed.

ima-examples
ima-skeleton

And as a replacement, following package has been created.

create-ima-app

Also all plugins have been renamed from ima-plugin-* to @ima/plugin-*.

Context API

IMA.js v17 no longer uses prop-types in contextTypes of React components. Instead, you should use PageContext from @ima/core. Also, prop-types has been removed from IMA.js dependencies, so if you need it for some reason, make sure it is installed as a project dependency.

Example:

This is original IMA.js v16 code.

import PropTypes from 'prop-types';

export default class MyComponent extends AbstractComponent {
static get contextTypes() {
return {
$Utils: PropTypes.object,
urlParams: PropTypes.object
};
}
}

This should be the new IMA.js v17 code.

import { PageContext } from '@ima/core';

export default class MyComponent extends AbstractComponent {
static get contextType() {
return PageContext;
}
}

All of this can be done automatically for a whole project using following jscodeshift script.

npx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./

Utils Registration

There is a new way of defining component utils. You can no longer define oc.constant('$Utils', {...}) in app/conf/bind.js, you have to use oc.get(ComponentUtils).register({...}) instead. Also, following component utils are predefined by default, so you don't have to define them yourself.

oc.get(ComponentUtils).register({
$CssClasses: '$CssClasses',
$Dictionary: Dictionary,
$Dispatcher: Dispatcher,
$EventBus: EventBus,
$Helper: '$Helper',
$Http: HttpAgent,
$PageStateManager: PageStateManager,
$Router: Router,
$Settings: '$Settings',
$Window: Window
});

Example:

Following definition of utils is no longer supported.

oc.constant('$Utils', {
$MyCustomHelper: oc.get(MyCustomHelper),
...
});

And must be replaced with following.

oc.get(ComponentUtils).register({
$MyCustomHelper: MyCustomHelper,
...
});

IMA.js bundle for client/server

IMA.js v17 comes bundled for server and client side. This means smaller bundle for clients. To benefit from this, you should update vendors in your app/build.js as following.

let vendors = {
- common: ['@ima/core'],
+ common: [],

- server: [],
+ server: [{ '@ima/core': '@ima/core/dist/ima.server.cjs.js' }],

- client: [],
+ client: [{ '@ima/core': '@ima/core/dist/ima.client.cjs.js' }],

test: []
};

Language Key in Config

Config key language (mostly used in app/config/*.js boot methods) has been renamed to $Language. You can search whole project for config.language and replace it with config.$Language, but most likely, it will be used only in app/config/settings.js.

Hot Reload

Hot Reload has been rewritten and published as ima plugin. Old hot reloading will no longer work. You should delete app/assets/js/hot.reload.js from your project, then install the plugin via npm install --save-dev @ima/plugin-websocket @ima/plugin-hot-reload and add following lines to your app/build.js.

// You can add this somewhere below the vendors variable initialization
if (
process.env.NODE_ENV === 'dev' ||
process.env.NODE_ENV === 'development' ||
process.env.NODE_ENV === undefined
) {
vendors.common.push('@ima/plugin-websocket');
vendors.common.push('@ima/plugin-hot-reload');
}

IMA.js Plugins

All IMA.js plugins need to be updated to the latest version. Older versions won't work.

- - +

Migration 17.0.0

IMA.js brings few major breaking changes, notably in the renaming of all packages. We've tried to make this process as easy as possible +through the provided jscodeshift transform scripts. For more information read below.

+

Imports

+

The ima- packages (even plugins) has been renamed to @ima/ scoped packages and ima core package has been renamed to @ima/core. The core package is now bundled with rollup, so you can no longer import a file from specific path (i.e. import GenericError from 'ima/error/GenericError'), but you can import it directly from @ima/core (i.e. import { GenericError } from '@ima/core').

+

All of this can be done automatically for a whole project using following jscodeshift script.

+
npx jscodeshift -t node_modules/@ima/core/transform/import-v17.js --extensions jsx,js --ignore-config=.gitignore ./
+

Also replace paths which contain ima to @ima/core in package.json (setupFiles in jest) and server.js.

+

Following packages have been renamed.

+
ima-gulp-task-loader -> @ima/gulp-task-loader
ima-gulp-tasks -> @ima/gulp-tasks
ima-helpers -> @ima/helpers
ima-server -> @ima/server
+

Following packages have been removed.

+
ima-examples
ima-skeleton
+

And as a replacement, following package has been created.

+
create-ima-app
+

Also all plugins have been renamed from ima-plugin-* to @ima/plugin-*.

+

Context API

+

IMA.js v17 no longer uses prop-types in contextTypes of React components. Instead, you should use PageContext from @ima/core. Also, prop-types has been removed from IMA.js dependencies, so if you need it for some reason, make sure it is installed as a project dependency.

+

Example:

+

This is original IMA.js v16 code.

+
import PropTypes from 'prop-types';

export default class MyComponent extends AbstractComponent {
static get contextTypes() {
return {
$Utils: PropTypes.object,
urlParams: PropTypes.object
};
}
}
+

This should be the new IMA.js v17 code.

+
import { PageContext } from '@ima/core';

export default class MyComponent extends AbstractComponent {
static get contextType() {
return PageContext;
}
}
+

All of this can be done automatically for a whole project using following jscodeshift script.

+
npx jscodeshift -t node_modules/@ima/core/transform/context-api-v17.js --extensions jsx,js --ignore-config=.gitignore ./
+

Utils Registration

+

There is a new way of defining component utils. You can no longer define oc.constant('$Utils', {...}) in app/conf/bind.js, you have to use oc.get(ComponentUtils).register({...}) instead. Also, following component utils are predefined by default, so you don't have to define them yourself.

+
oc.get(ComponentUtils).register({
$CssClasses: '$CssClasses',
$Dictionary: Dictionary,
$Dispatcher: Dispatcher,
$EventBus: EventBus,
$Helper: '$Helper',
$Http: HttpAgent,
$PageStateManager: PageStateManager,
$Router: Router,
$Settings: '$Settings',
$Window: Window
});
+

Example:

+

Following definition of utils is no longer supported.

+
oc.constant('$Utils', {
$MyCustomHelper: oc.get(MyCustomHelper),
...
});
+

And must be replaced with following.

+
oc.get(ComponentUtils).register({
$MyCustomHelper: MyCustomHelper,
...
});
+

IMA.js bundle for client/server

+

IMA.js v17 comes bundled for server and client side. This means smaller bundle for clients. To benefit from this, you should update vendors in your app/build.js as following.

+
let vendors = {
- common: ['@ima/core'],
+ common: [],

- server: [],
+ server: [{ '@ima/core': '@ima/core/dist/ima.server.cjs.js' }],

- client: [],
+ client: [{ '@ima/core': '@ima/core/dist/ima.client.cjs.js' }],

test: []
};
+

Language Key in Config

+

Config key language (mostly used in app/config/*.js boot methods) has been renamed to $Language. You can search whole project for config.language and replace it with config.$Language, but most likely, it will be used only in app/config/settings.js.

+

Hot Reload

+

Hot Reload has been rewritten and published as ima plugin. Old hot reloading will no longer work. You should delete app/assets/js/hot.reload.js from your project, then install the plugin via npm install --save-dev @ima/plugin-websocket @ima/plugin-hot-reload and add following lines to your app/build.js.

+
// You can add this somewhere below the vendors variable initialization
if (
process.env.NODE_ENV === 'dev' ||
process.env.NODE_ENV === 'development' ||
process.env.NODE_ENV === undefined
) {
vendors.common.push('@ima/plugin-websocket');
vendors.common.push('@ima/plugin-hot-reload');
}
+

IMA.js Plugins

+

All IMA.js plugins need to be updated to the latest version. Older versions won't work.

\ No newline at end of file diff --git a/migration/migration-18.0.0/index.html b/migration/migration-18.0.0/index.html index 823d596f8..7deb7e28f 100644 --- a/migration/migration-18.0.0/index.html +++ b/migration/migration-18.0.0/index.html @@ -1,21 +1,130 @@ - + - -Migration 18.0.0 | IMA.js - - + +Migration 18.0.0 | IMA.js + + -
-

Migration 18.0.0

IMA.js brings few major breaking changes. For more information read below.

Update requirements

IMA.js v18 requires node >= 18, npm >= 8 and react 18.

Moved from gulp to webpack

You can remove gulp things. There is new @ima/cli plugin for helping with webpack. -From now, you have to import everything you want to be present in your bundle (that's how webpack works).

Change scripts in package.json

There is new @ima/cli used in scripts instead of gulp.

Example:

...
"scripts": {
"test": "jest",
"lint": "eslint './**/*.{js,jsx,ts,tsx}'",
"dev": "ima dev",
"build": "NODE_ENV=production ima build",
"start": "NODE_ENV=production node server/server.js"
},
...

Remove "main": "build/server.js" from package.json too. (Server is not anymore in build/server.js.)

Update settings.js

Remove scripts and esScripts from $Page.$Render (IMA process this things now by manifest and contentVariables).

Remove gulp specific things

Dependencies:

  • @ima/gulp-task-loader
  • @ima/gulp-tasks

Files:

  • gulpfile.js
  • gulpConfig.js

Removed build.js, optionally add ima.config.js file to root

  • look at ima.config.js
  • definition of languages moved from build.js to ima.config.js
  • definition of less file pathes is not needed - see section Styles below

Moved from babel to swc

You can remove @babel dependencies (except for eslint specific).

Add @swc/jest devDependency for tests.

New React-page-renderer

  • React-page-renderer moved to new package @ima/react-page-renderer
npm i @ima/react-page-renderer
  • You can use codemod npx @cns/web-plugins-codemods -> ima18: react page renderer imports

  • Update DocumentView - use AbstractPureComponent from @ima/react-page-renderer instead of AbstractDocumentView

Update EventBus

You have to add target as the second argument for EventBus fire, listen/unlisten.

Update DocumentView

Rewrite your DocumentView similar like in create-ima-app.

Update Server

You have to add dependency to error-to-json on your own. It was removed from @ima/server.

Replace

let errorToJSON = require('error-to-json');

by

const errorToJSON = require('error-to-json').default;

Split server.js -> server.js and app.js

This change is optionally, but we use it in our create-ima-app.

Server changes

Remove:

'use strict';

require('@ima/core/polyfill/imaLoader.js');
require('@ima/core/polyfill/imaRunner.js');

Replace this part:

let imaServer = require('@ima/server');

let clientApp = imaServer.clientApp;
let urlParser = imaServer.urlParser;
let environment = imaServer.environment;
let logger = imaServer.logger;
let cache = imaServer.cache;

by

const imaServer = require('@ima/server')();
const { serverApp, urlParser, environment, logger, cache, memStaticProxy } =
imaServer;

require('@ima/react-page-renderer/hook/server')(imaServer);

Replace clientApp.requestHandler by serverApp.requestHandlerMiddleware.

Remove staticErrorPage and replace errorHandler function by

function renderError(error, req, res, next) {
serverApp
.errorHandlerMiddleware(error, req, res, next)
.then(response => {
logger.error(response.error);
})
.catch(next);
}

Move environment.js file

  • File app/environment.js was moved to location /server/config/environment.js -There was removed test env.

Templates

  • 400, 500, spa templates are in server/template (look at create-ima-app)

Update DocumentView

You can remove getAsyncScripts method and body content replace with: -(You have to add $Page.$Render.masterElementId property to settings.js)

 <div
id={this.utils.$Settings.$Page.$Render.masterElementId}
dangerouslySetInnerHTML={{ __html: this.props.page }}
/>
{'#{revivalCache}'}
{'#{revivalSettings}'}
{'#{runner}'}

Instead of app css loading use:

  {'#{styles}'}

Assets => app/public

Everything from folder app/public is moved to build folder into static folder.

Styles

  • Remove files mark as FAKE FILE FOR GULP LESS
  • Move less files from assets/less to app/less
  • You have to move definition of less files pathes from build.js to "imports" - you have two options:
    • import less files per component
    • import root less file e.g. in main.js and use glob pattern to import other less files similar like it was in build.js
  • app/less/globals.less - this file is prepending to every less file so that you can import here variables, mixins, etc.
  • strictMaths is enabled

Tests

Add @swc/jest dependency. +

Migration 18.0.0

IMA.js brings few major breaking changes. For more information read below.

+

Update requirements

+

IMA.js v18 requires node >= 18, npm >= 8 and react 18.

+

Moved from gulp to webpack

+

You can remove gulp things. There is new @ima/cli plugin for helping with webpack. +From now, you have to import everything you want to be present in your bundle (that's how webpack works).

+

Change scripts in package.json

+

There is new @ima/cli used in scripts instead of gulp.

+

Example:

+
...
"scripts": {
"test": "jest",
"lint": "eslint './**/*.{js,jsx,ts,tsx}'",
"dev": "ima dev",
"build": "NODE_ENV=production ima build",
"start": "NODE_ENV=production node server/server.js"
},
...
+

Remove "main": "build/server.js" from package.json too. (Server is not anymore in build/server.js.)

+

Update settings.js

+

Remove scripts and esScripts from $Page.$Render (IMA process this things now by manifest and contentVariables).

+

Remove gulp specific things

+

Dependencies:

+
    +
  • @ima/gulp-task-loader
  • +
  • @ima/gulp-tasks
  • +
+

Files:

+
    +
  • gulpfile.js
  • +
  • gulpConfig.js
  • +
+

Removed build.js, optionally add ima.config.js file to root

+
    +
  • look at ima.config.js
  • +
  • definition of languages moved from build.js to ima.config.js
  • +
  • definition of less file pathes is not needed - see section Styles below
  • +
+

Moved from babel to swc

+

You can remove @babel dependencies (except for eslint specific).

+

Add @swc/jest devDependency for tests.

+

New React-page-renderer

+
    +
  • React-page-renderer moved to new package @ima/react-page-renderer
  • +
+
npm i @ima/react-page-renderer
+
    +
  • +

    You can use codemod npx @cns/web-plugins-codemods -> ima18: react page renderer imports

    +
  • +
  • +

    Update DocumentView - use AbstractPureComponent from @ima/react-page-renderer instead of AbstractDocumentView

    +
  • +
+

Update EventBus

+

You have to add target as the second argument for EventBus fire, listen/unlisten.

+

Update DocumentView

+

Rewrite your DocumentView similar like in create-ima-app.

+

Update Server

+

You have to add dependency to error-to-json on your own. It was removed from @ima/server.

+

Replace

+
let errorToJSON = require('error-to-json');
+

by

+
const errorToJSON = require('error-to-json').default;
+

Split server.js -> server.js and app.js

+

This change is optionally, but we use it in our create-ima-app.

+

Server changes

+

Remove:

+
'use strict';

require('@ima/core/polyfill/imaLoader.js');
require('@ima/core/polyfill/imaRunner.js');
+

Replace this part:

+
let imaServer = require('@ima/server');

let clientApp = imaServer.clientApp;
let urlParser = imaServer.urlParser;
let environment = imaServer.environment;
let logger = imaServer.logger;
let cache = imaServer.cache;
+

by

+
const imaServer = require('@ima/server')();
const { serverApp, urlParser, environment, logger, cache, memStaticProxy } =
imaServer;

require('@ima/react-page-renderer/hook/server')(imaServer);
+

Replace clientApp.requestHandler by serverApp.requestHandlerMiddleware.

+

Remove staticErrorPage and replace errorHandler function by

+
function renderError(error, req, res, next) {
serverApp
.errorHandlerMiddleware(error, req, res, next)
.then(response => {
logger.error(response.error);
})
.catch(next);
}
+

Move environment.js file

+
    +
  • File app/environment.js was moved to location /server/config/environment.js +There was removed test env.
  • +
+

Templates

+
    +
  • 400, 500, spa templates are in server/template (look at create-ima-app)
  • +
+

Update DocumentView

+

You can remove getAsyncScripts method and body content replace with: +(You have to add $Page.$Render.masterElementId property to settings.js)

+
 <div
id={this.utils.$Settings.$Page.$Render.masterElementId}
dangerouslySetInnerHTML={{ __html: this.props.page }}
/>
{'#{revivalCache}'}
{'#{revivalSettings}'}
{'#{runner}'}
+

Instead of app css loading use:

+
  {'#{styles}'}
+

Assets => app/public

+

Everything from folder app/public is moved to build folder into static folder.

+

Styles

+
    +
  • Remove files mark as FAKE FILE FOR GULP LESS
  • +
  • Move less files from assets/less to app/less
  • +
  • You have to move definition of less files pathes from build.js to "imports" - you have two options: +
      +
    • import less files per component
    • +
    • import root less file e.g. in main.js and use glob pattern to import other less files similar like it was in build.js
    • +
    +
  • +
  • app/less/globals.less - this file is prepending to every less file so that you can import here variables, mixins, etc.
  • +
  • strictMaths is enabled
  • +
+

Tests

+

Add @swc/jest dependency. Add identity-obj-proxy for css/less in jest. -Replace enzyme-adapter-react-16 with @cfaester/enzyme-adapter-react-18.

Other changes

  • Prepared for typescript

Deleted packages

You can remove following packages:

  • @ima/react-hooks - functionality moved to @ima/react-page-renderer
  • @ima/plugin-less-constants moved to @ima/cli-plugin-less-constants
  • @ima/plugin-hot-reload
  • @ima/plugin-websocket
  • @ima/gulp-task-loader
  • @ima/gulp-tasks

IMA.js Plugins

All IMA.js plugins need to be updated to the latest version. Older versions won't work.

- - +Replace enzyme-adapter-react-16 with @cfaester/enzyme-adapter-react-18.

+

Other changes

+
    +
  • Prepared for typescript
  • +
+

Deleted packages

+

You can remove following packages:

+
    +
  • @ima/react-hooks - functionality moved to @ima/react-page-renderer
  • +
  • @ima/plugin-less-constants moved to @ima/cli-plugin-less-constants
  • +
  • @ima/plugin-hot-reload
  • +
  • @ima/plugin-websocket
  • +
  • @ima/gulp-task-loader
  • +
  • @ima/gulp-tasks
  • +
+

IMA.js Plugins

+

All IMA.js plugins need to be updated to the latest version. Older versions won't work.

\ No newline at end of file diff --git a/migration/migration-19.0.0/index.html b/migration/migration-19.0.0/index.html index 591e54d62..e109141ca 100644 --- a/migration/migration-19.0.0/index.html +++ b/migration/migration-19.0.0/index.html @@ -1,16 +1,206 @@ - + - -Migration 19.0.0 | IMA.js - - + +Migration 19.0.0 | IMA.js + + -
-

Migration from 18.x.x to 19.0.0

While IMA.js 19 is not as big of a release as previous major version, it brings some potential breaking changes to certain API and removes some deprecated functions. We have also managed to pack some additional new features.

info

In addition to new features, there have been significant updates to TypeScript types in IMA monorepo. This should allow you to write even better applications in TypeScript, while also benefit from better autocomplete in JS applications.

Migration Guide

The list of changes required to get your app compiled is pretty minimal, however we suggest you take a look at all potential breaking changes in the (full list of changes)[migration-19.0.0.md#breaking-changes].

@ima/server updates

  • @ima/server now contains named exports, change following in ./server/app.js
// from
const imaServer = require('@ima/server')();

// to
const { createIMAServer } = require('@ima/server');
const imaServer = createIMAServer();
  • Update definition of $Source, $RevivalSettings, $RevivalCache, $Runner, $Styles, $Scripts content variables in spa.ejs and DocumentView. These have been replaced by their lowerFirst counter-parts resource (now replaces $Source), revivalSettings, revivalCache, runner, styles, while $Scripts support have been dropped completely.
  • Remove urlParser middleware from app.js, it is now part of renderApp middleware as a server hook.

Update @ima/react-page-renderer import

Change ClientPageRenderer import from default to named import.

// from
import ClientPageRenderer
from '@ima/react-page-renderer/dist/esm/client/renderer/ClientPageRenderer';

// to
import { ClientPageRenderer }
from '@ima/react-page-renderer/renderer/ClientPageRenderer';

Register new PageMetaHandler

Add new PageMetaHandler to PageHandlerRegistry in bind.js

oc.inject(PageHandlerRegistry, [PageNavigationHandler, PageMetaHandler, SspPageHandler]);

Optionally remove all meta tag renders from DocumentView and spa.ejs including <title /> tag. These can be replaced with #{meta} content variable,

Fire method params order change

In v18 after introducting the need for a EventTarget in EventBus.fire methods, we made a mistake with the argument order. In v19 it has been moved to first position to match other event handling methods.

// from
this.fire('fetchDataArticles', event.target, { data: true })

// to
this.fire(event.target, 'fetchDataArticles', { data: true })

Removed duplicates from HttpAgent settings:

  • headers have been moved to fetchOptions:
// from
$Http: {
defaultRequestOptions: {
headers: {
// Set default request headers
Accept: 'application/json',
'Accept-Language': config.$Language,
},
fetchOptions: {
mode: 'cors',
},
},
}

// to
$Http: {
defaultRequestOptions: {
fetchOptions: {
mode: 'cors',
headers: {
// Set default request headers
Accept: 'application/json',
'Accept-Language': config.$Language,
},
},
},
}

Full list of changes

New features

@ima/cli

  • Added support for 3rd party source maps using source-loader, this is usefull especially in error overlay.
  • Added ability to customize open URL using --openUrl CLI argument or IMA_CLI_OPEN_URL environment variable. For more information see --openUrl.
  • Performance improvement when building CSS/LESS files (except CSS modules), on server and client bundles. This can add up to 25% built speed improvement depending on the amount of CSS files your project is using.
  • Added additional CLI output information when forcedLegacy and writeToDisk options are used.
  • Fixed manifest CSS files regexp, only files from static/css/ folder are now included in final manifest.json file.
  • Added new export for findRules, this is simple helper function you can use to extract rules from webpack config in yor plugins for easier customization.
  • Added new export for createWebpackConfig, when provided with CLI args and imaConfig, it generates webpack configurations which are then passed to webpack compiler. This can be usefull for other tooling like StoryBook, where you need to customize different webpack config with fields from the IMA app one
  • Added additional ImaConfigurationContext variables: isClientES, isClient and outputFolders.
  • Added support for prepareConfigurations CLI plugin method, which lets you customize webpack configuration contexts, before generating webpack config from them.
  • Added new cssBrowsersTarget ima.config.js settings, this allows you to easily customize postcss-preset-env browsers targets field.

New @ima/cli@19 features

New @ima/cli@19 features

@ima/plugin-cli

  • Added support for source-maps, now all files transformed using swc (JS/TS) also produce .map files alongside transformed files.
  • Added ability to enable/disable source maps generation using sourceMaps option in ima-plugin.config.js configuration file.
  • Added ability to add new custom transformers using transformers option in ima-plugin.config.js configuration file.
  • When parsing configuration file the plugin now searches for ima-plugin.config.js files recursively up to filesystem root. This allows to have one custom config file for monorepositories and removes the need of duplicating same config across all package directories.

@ima/hmr-client

  • Fixed async issue in HMR, where IMA app could be re-rendered before the old instance finished cleanup.

@ima/core

  • Added new CancelError used for canceling running route handlers.
  • Fix window history for error action, error pages are now not added to window history.
  • Package source files now include source map files.
  • Added RouterEvents.BEFORE_LOADING_ASYNC_ROUTE and RouterEvents.AFTER_LOADING_ASYNC_ROUTE dispatcher events, which you can use to implement custom loaders when routing between async routes (or use it for any other handling).
  • All exports now use named exports (this is technically only package-wide change and does not mean nothing for the end user).
  • Added multiple new TS types, while also fixing existing types. Since rewriting IMA.js to typescript has been huge task, there may still be some type inconsistencies which we will try to fix in following releases to further improve TS experience in IMA.js ecosystem.
  • Added new onRun event to window.$IMA.Runner.
  • Add new methods isClientError() and isRedirection() to GenericError.
  • getRouteHandlersByPath() method on AbstractRouter is now public. This return's middlewares and route for given path.
  • Fixed HttpAgent types -> data in method arguments should be optional
  • Fixed missing transaction cleanup in PageStateManager
  • Fix missing optional parameters in static router that were evaluated as undefined instead of 'undefined'.
  • Added autocompletion support for language file keys in localization functions. To be able to use this function, update jsconfig.json/tsconfig.json according to the documentation (adding ./build/tmp/types/**/*" path to include field should suffice).
  • Controller and Extension event bus methods can be targeted with prefix. Prefix is set by static field in controller/extension class e.g. $name = 'ArticleController';. Event is then ArticleController.eventName:
./app/page/article/ArticleController.js
class ArticleController {
static $name = 'ArticleController';

onExpand({ expandableId }) {
console.log(expandableId);
}
}
./app/component/expandable/ExpandLink.jsx
function ExpandLink() {
onClick(event) {
const { expandableId } = this.props;
this.fire('ArticleController.expand', { expandableId });
}
}

Router changes

  • Added middleware execution timeout => all middlewares must execute within this defined timeframe (defaults to 30s). This can be customized using $Router.middlewareTimeout app settings.
  • Router middlewares now support next callback, which when defined, has to be called, otherwise the middleware will eventually timeout and not proceed any further. This enables some additional features, where you are able to stop route processing by not calling the next function if desired.
  • Middlewares can now return object value, which will be merged to the locals object, received as a second argument in middleware function. Middlewares wich next callback function can "return" additional locals by calling next with an argument.
router.use(async (params, locals, next) => {
next({ counter: counter++ });
});

@ima/react-page-renderer

  • Package source files now include source map files.
  • Fixed once hook parametr type.
  • Moved meta tags management to new PageMetaHandler, see Seo and Meta Manager section for new updates to meta manager.
  • IMA specific React hooks have been rewritten to TypeScript.
  • Added package exports of multiple missing TS types and other interfaces (this provides better support for writing your applications in TS).

@ima/error-overlay

  • Fixed an issue where invalid Error params caused circular dependency error.
  • Fixed an issue where errors, that occurred before error overlay is initialized were not reported to the error overlay.
  • Reduced number of levels that are expanded by default in error overlay error params view.
  • Added ability to hide/show error params, this settings is saved to local storage.

@ima/server

  • Style content variable now automatically generates preload links for app styles.
  • Added new metric - concurrent requests to monitoring.
  • Add information about error cause in places, where we used to throw away this information.
  • Add routeName key to res.locals instead of res.$IMA, since res.$IMA should not be used anymore.
  • Added X-Request-ID to revival settings. Can be accessed through $IMA.$RequestID. This can be usefull to match same requests between client and server instances.
  • Added XSS protection to host and protocol in revival settings.
  • Add support for Client Errors and Redirects when serving static error pages.
  • Added option to force app host and protocol, using $Server.host and $Server.protocol settings in the environment.js. (These 2 values can also be functions).
  • The App error route is protected for exceeding static thresholds.
  • The Emitter event.cause is removed. The error cause is set in event.error.cause.
  • Fixed issue with dummyApp forcing 'en' language, which fails to resolve on applications with different language settings.
  • Fixed issue where server redirect showed ErrorOverlay in debug mode.
  • The instances of $Dispatcher, $Cache, $PageRenderer and $PageManager are cleared after server sending response. Clearing PageManager cause calling destroy lifecycle method of controller and extensions on server.
  • Add option to use custom manifestRequire.
  • SPA blacklist config is omitted for using degradation isSPA method when decision serving SPA page.

create-ima-app

  • Added new typescript template, use --typescript option when generating new application.
  • Migrated from default to named exports.
  • Fixed default static path and public path settings.
  • Updated environment.js and settings.js to support new IMA19 features.

Breaking Changes

@ima/cli

  • Removed isESVersion ImaConfigurationContext variable (use isClientES instead).

@ima/core

  • AbstractRouter.manage method no longer has controller and view properties in an object argument.
  • Multiple changes in router route handling and page manager with a goal of implementing ability to cancel running handlers before handling a new ones. This results in much more stable routing specifically when using async routes. Each route should now be executed "sequentially" where BEFORE/AFTER_HANDLE_ROUTE router events should always fire in correct order. Also if you quickly move between different routes, without them finishing loading, the page manager is able to cancel it's executing mid handling and continue with a new route, which results in faster and more stable routing. While this change is essentially not a breaking change, since it only changes our internal API, it could possibly result in some new behavior.
  • Removed ExtensibleError.
  • StatusCode has been renamed to HttpStatusCode.
  • $Source environment.js variable has been renamed to $Resources.
  • Removed deprecated package entry points, this includes all imports directly referencing files from ./dist/ directory. Please update your imports to the new exports fields.
  • extractParameters() function in DynamicRoute now receives additional object argument, containing query and path (not modified path) for more control over extracted parameters. The router now uses params returned from extractParameters() directly. It no longer automatically merges query params into the resulting object. If you want to preserve this behavior, merge the extracted route params with query object provided in the second argument.

Router changes

  • Replace custom URL parsing methods in AbstractRoute, StaticRoute and DynamicRoute with combination of native URL and URLSearchParams.
  • Removed pairsToQuery, paramsToQuery, getQuery, decodeURIParameter static methods on AbstractRoute. These have been replaced with combination of native URL and URLSearchParams interfaces.
  • getTrimmedPath static method in AbstractRoute is now instance method.
  • Url query params with no value (?param=) are no longer extracted as { param: true }, but as { param: '' }. Please update your code to check for key presence in these cases rather than true value.
  • Parsing of semi-colons inside query params is not supported (as a result of using URLSearchParams)

HttpAgent changes

  • IMA HttpAgent now removes by default all headers from request and response which is stored in Cache. You can turn off this behavior with keepSensitiveHeaders option but it is not recommended.
  • Removed support for HttpAgent options.listener (these were used mainly in plugin-xhr, which is now unsupported)
  • You can now define multiple postProcessors[] in HttpAgent options. This replaces old postProcessor option, if you are using any post processor you need to update your options to postProcessors and make sure to wrap this post processor in an array.
  • Remove older, conflicting settings of HttpAgent, withCredentials, headers, and listeners. The first two now conflict with the newer options.fetchOptions, the last one (listeners) has been removed completely. options.withCredentials and options.headers are no longer followed. Use options.fetchOptions.credentials and options.fetchOptions.headers instead. For definition, see the native Fetch API (note: for simplicity, options.fetchOptions.headers only accepts headers defined by an object, not a tuple or an instance of Headers).

MetaManager changes

  • Rewritten meta tag management in SPA mode, all MetaManager managed tags are removed between pages while new page contains only those currently defined using setMetaParams function in app controller. This should make meta tags rendering more deterministic, while fixing situations where old meta tags might be left on the page indefinitely if not cleaner properly.
  • MetaManager getters now always return object with key=value pairs of their set value. This should make settings additional meta attributes in loops much easier (for example: getMetaProperty('og:title'); -> { property: 'property-value' });)
  • Meta values/attributes with null/undefined values are not rendered, other values are converted to string.
  • Added new iterator functions to MetaManager.
this.#metaManager.getMetaNamesIterator();
this.#metaManager.getMetaPropertiesIterator();
this.#metaManager.getLinksIterator();
  • Added ability to set additional attributes for meta tags/links in meta manager:
this.#metaManager.setLink('lcp-image', media.url, {
'lcp-image-imagesizes': media.sizes,
'lcp-image-imagesrcset': media.srcSet
});

@ima/react-page-renderer

  • Removed deprecated package entry points, this includes all imports directly referencing files from ./dist/ directory. Please update your imports to the new exports fields.
  • isSSR hook has been removed, use window.isClient() directly from useComponentUtils().
  • useSettings now returns undefined, when settings is not found when using selector namespace as an argument.
  • All exports are now named exports, you need to update import to ClientPageRenderer in bind.js to:
  • Changed signature of useWindowEvent hook, it now matches bindEventListener parameters of ima window.
./app/config/bind.js
import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';
  • Change order of method arguments in Component fire method. target has been moved to the first argument position.
// from
this.fire('fetchDataArticles', event.target, { data: true })

// to
this.fire(event.target, 'fetchDataArticles', { data: true })

@ima/dev-utils

@ima/server

  • Update @esmj/monitor to 0.5.0 with breaking change for returns value from subscribe method where returns subscription is object with unsubscribe method.
  • Migrated urlParser middleware to ima server BeforeRequest hook. Remove urlParser middleware from app.js, it is now part of renderApp middleware.
  • Dropped support for direct response.contentVariables mutations, use event.result and return values in CreateContentVariables event.
  • Dropped support for $Source, $RevivalSettings, $RevivalCache, $Runner, $Styles, $Scripts content variables. These have been replaced by their lowerFirst counter-parts resource (now replaces $Source), revivalSettings, revivalCache, runner, styles, while $Scripts support have been dropped completely.
  • Default resources in $Resources now produce styles and esStyles fields (should not break anything in 99% of the applications). This does not necessarily mean which should be loaded on which es version, but what bundle produced those styles. This also means that without any custom configuration, all styles should now be under esStyles key, since they are built in client.es webpack bundle. This change was made to enable built of 2 CSS bundles simliar to how we handle ES bundles. This can be enabled using @ima/cli-plugin-legacy-css.
  • The package now provides multiple additional exports using named exports, the deafult export has been replaced with named createIMAServer function.
- - +

Migration from 18.x.x to 19.0.0

+

While IMA.js 19 is not as big of a release as previous major version, it brings some potential breaking changes to certain API and removes some deprecated functions. We have also managed to pack some additional new features.

+
info

In addition to new features, there have been significant updates to TypeScript types in IMA monorepo. This should allow you to write even better applications in TypeScript, while also benefit from better autocomplete in JS applications.

+

Migration Guide

+

The list of changes required to get your app compiled is pretty minimal, however we suggest you take a look at all potential breaking changes in the (full list of changes)[migration-19.0.0.md#breaking-changes].

+

@ima/server updates

+
    +
  • @ima/server now contains named exports, change following in ./server/app.js
  • +
+
// from
const imaServer = require('@ima/server')();

// to
const { createIMAServer } = require('@ima/server');
const imaServer = createIMAServer();
+
    +
  • Update definition of $Source, $RevivalSettings, $RevivalCache, $Runner, $Styles, $Scripts content variables in spa.ejs and DocumentView. These have been replaced by their lowerFirst counter-parts resource (now replaces $Source), revivalSettings, revivalCache, runner, styles, while $Scripts support have been dropped completely.
  • +
  • Remove urlParser middleware from app.js, it is now part of renderApp middleware as a server hook.
  • +
+

Update @ima/react-page-renderer import

+

Change ClientPageRenderer import from default to named import.

+
// from
import ClientPageRenderer
from '@ima/react-page-renderer/dist/esm/client/renderer/ClientPageRenderer';

// to
import { ClientPageRenderer }
from '@ima/react-page-renderer/renderer/ClientPageRenderer';
+

Register new PageMetaHandler

+

Add new PageMetaHandler to PageHandlerRegistry in bind.js

+
oc.inject(PageHandlerRegistry, [PageNavigationHandler, PageMetaHandler, SspPageHandler]);
+

Optionally remove all meta tag renders from DocumentView and spa.ejs including <title /> tag. These can be replaced with #{meta} content variable,

+

Fire method params order change

+

In v18 after introducting the need for a EventTarget in EventBus.fire methods, we made a mistake with the argument order. In v19 it has been moved to first position to match other event handling methods.

+
// from
this.fire('fetchDataArticles', event.target, { data: true })

// to
this.fire(event.target, 'fetchDataArticles', { data: true })
+

Removed duplicates from HttpAgent settings:

+
    +
  • headers have been moved to fetchOptions:
  • +
+
// from
$Http: {
defaultRequestOptions: {
headers: {
// Set default request headers
Accept: 'application/json',
'Accept-Language': config.$Language,
},
fetchOptions: {
mode: 'cors',
},
},
}

// to
$Http: {
defaultRequestOptions: {
fetchOptions: {
mode: 'cors',
headers: {
// Set default request headers
Accept: 'application/json',
'Accept-Language': config.$Language,
},
},
},
}
+

Full list of changes

+

New features

+

@ima/cli

+
    +
  • Added support for 3rd party source maps using source-loader, this is usefull especially in error overlay.
  • +
  • Added ability to customize open URL using --openUrl CLI argument or IMA_CLI_OPEN_URL environment variable. For more information see --openUrl.
  • +
  • Performance improvement when building CSS/LESS files (except CSS modules), on server and client bundles. This can add up to 25% built speed improvement depending on the amount of CSS files your project is using.
  • +
  • Added additional CLI output information when forcedLegacy and writeToDisk options are used.
  • +
  • Fixed manifest CSS files regexp, only files from static/css/ folder are now included in final manifest.json file.
  • +
  • Added new export for findRules, this is simple helper function you can use to extract rules from webpack config in yor plugins for easier customization.
  • +
  • Added new export for createWebpackConfig, when provided with CLI args and imaConfig, it generates webpack configurations which are then passed to webpack compiler. This can be usefull for other tooling like StoryBook, where you need to customize different webpack config with fields from the IMA app one
  • +
  • Added additional ImaConfigurationContext variables: isClientES, isClient and outputFolders.
  • +
  • Added support for prepareConfigurations CLI plugin method, which lets you customize webpack configuration contexts, before generating webpack config from them.
  • +
  • Added new cssBrowsersTarget ima.config.js settings, this allows you to easily customize postcss-preset-env browsers targets field.
  • +
+

New @ima/cli@19 features

+

New @ima/cli@19 features

+

@ima/plugin-cli

+
    +
  • Added support for source-maps, now all files transformed using swc (JS/TS) also produce .map files alongside transformed files.
  • +
  • Added ability to enable/disable source maps generation using sourceMaps option in ima-plugin.config.js configuration file.
  • +
  • Added ability to add new custom transformers using transformers option in ima-plugin.config.js configuration file.
  • +
  • When parsing configuration file the plugin now searches for ima-plugin.config.js files recursively up to filesystem root. This allows to have one custom config file for monorepositories and removes the need of duplicating same config across all package directories.
  • +
+

@ima/hmr-client

+
    +
  • Fixed async issue in HMR, where IMA app could be re-rendered before the old instance finished cleanup.
  • +
+

@ima/core

+
    +
  • Added new CancelError used for canceling running route handlers.
  • +
  • Fix window history for error action, error pages are now not added to window history.
  • +
  • Package source files now include source map files.
  • +
  • Added RouterEvents.BEFORE_LOADING_ASYNC_ROUTE and RouterEvents.AFTER_LOADING_ASYNC_ROUTE dispatcher events, which you can use to implement custom loaders when routing between async routes (or use it for any other handling).
  • +
  • All exports now use named exports (this is technically only package-wide change and does not mean nothing for the end user).
  • +
  • Added multiple new TS types, while also fixing existing types. Since rewriting IMA.js to typescript has been huge task, there may still be some type inconsistencies which we will try to fix in following releases to further improve TS experience in IMA.js ecosystem.
  • +
  • Added new onRun event to window.$IMA.Runner.
  • +
  • Add new methods isClientError() and isRedirection() to GenericError.
  • +
  • getRouteHandlersByPath() method on AbstractRouter is now public. This return's middlewares and route for given path.
  • +
  • Fixed HttpAgent types -> data in method arguments should be optional
  • +
  • Fixed missing transaction cleanup in PageStateManager
  • +
  • Fix missing optional parameters in static router that were evaluated as undefined instead of 'undefined'.
  • +
  • Added autocompletion support for language file keys in localization functions. To be able to use this function, update jsconfig.json/tsconfig.json according to the documentation (adding ./build/tmp/types/**/*" path to include field should suffice).
  • +
  • Controller and Extension event bus methods can be targeted with prefix. Prefix is set by static field in controller/extension class e.g. $name = 'ArticleController';. Event is then ArticleController.eventName:
  • +
+
./app/page/article/ArticleController.js
class ArticleController {
static $name = 'ArticleController';

onExpand({ expandableId }) {
console.log(expandableId);
}
}
+
./app/component/expandable/ExpandLink.jsx
function ExpandLink() {
onClick(event) {
const { expandableId } = this.props;
this.fire('ArticleController.expand', { expandableId });
}
}
+

Router changes

+
    +
  • Added middleware execution timeout => all middlewares must execute within this defined timeframe (defaults to 30s). This can be customized using $Router.middlewareTimeout app settings.
  • +
  • Router middlewares now support next callback, which when defined, has to be called, otherwise the middleware will eventually timeout and not proceed any further. This enables some additional features, where you are able to stop route processing by not calling the next function if desired.
  • +
  • Middlewares can now return object value, which will be merged to the locals object, received as a second argument in middleware function. Middlewares wich next callback function can "return" additional locals by calling next with an argument.
  • +
+
router.use(async (params, locals, next) => {
next({ counter: counter++ });
});
+ +

@ima/react-page-renderer

+
    +
  • Package source files now include source map files.
  • +
  • Fixed once hook parametr type.
  • +
  • Moved meta tags management to new PageMetaHandler, see Seo and Meta Manager section for new updates to meta manager.
  • +
  • IMA specific React hooks have been rewritten to TypeScript.
  • +
  • Added package exports of multiple missing TS types and other interfaces (this provides better support for writing your applications in TS).
  • +
+

@ima/error-overlay

+
    +
  • Fixed an issue where invalid Error params caused circular dependency error.
  • +
  • Fixed an issue where errors, that occurred before error overlay is initialized were not reported to the error overlay.
  • +
  • Reduced number of levels that are expanded by default in error overlay error params view.
  • +
  • Added ability to hide/show error params, this settings is saved to local storage.
  • +
+

@ima/server

+
    +
  • Style content variable now automatically generates preload links for app styles.
  • +
  • Added new metric - concurrent requests to monitoring.
  • +
  • Add information about error cause in places, where we used to throw away this information.
  • +
  • Add routeName key to res.locals instead of res.$IMA, since res.$IMA should not be used anymore.
  • +
  • Added X-Request-ID to revival settings. Can be accessed through $IMA.$RequestID. This can be usefull to match same requests between client and server instances.
  • +
  • Added XSS protection to host and protocol in revival settings.
  • +
  • Add support for Client Errors and Redirects when serving static error pages.
  • +
  • Added option to force app host and protocol, using $Server.host and $Server.protocol settings in the environment.js. (These 2 values can also be functions).
  • +
  • The App error route is protected for exceeding static thresholds.
  • +
  • The Emitter event.cause is removed. The error cause is set in event.error.cause.
  • +
  • Fixed issue with dummyApp forcing 'en' language, which fails to resolve on applications with different language settings.
  • +
  • Fixed issue where server redirect showed ErrorOverlay in debug mode.
  • +
  • The instances of $Dispatcher, $Cache, $PageRenderer and $PageManager are cleared after server sending response. Clearing PageManager cause calling destroy lifecycle method of controller and extensions on server.
  • +
  • Add option to use custom manifestRequire.
  • +
  • SPA blacklist config is omitted for using degradation isSPA method when decision serving SPA page.
  • +
+

create-ima-app

+
    +
  • Added new typescript template, use --typescript option when generating new application.
  • +
  • Migrated from default to named exports.
  • +
  • Fixed default static path and public path settings.
  • +
  • Updated environment.js and settings.js to support new IMA19 features.
  • +
+

Breaking Changes

+

@ima/cli

+
    +
  • Removed isESVersion ImaConfigurationContext variable (use isClientES instead).
  • +
+

@ima/core

+
    +
  • AbstractRouter.manage method no longer has controller and view properties in an object argument.
  • +
  • Multiple changes in router route handling and page manager with a goal of implementing ability to cancel running handlers before handling a new ones. This results in much more stable routing specifically when using async routes. Each route should now be executed "sequentially" where BEFORE/AFTER_HANDLE_ROUTE router events should always fire in correct order. Also if you quickly move between different routes, without them finishing loading, the page manager is able to cancel it's executing mid handling and continue with a new route, which results in faster and more stable routing. While this change is essentially not a breaking change, since it only changes our internal API, it could possibly result in some new behavior.
  • +
  • Removed ExtensibleError.
  • +
  • StatusCode has been renamed to HttpStatusCode.
  • +
  • $Source environment.js variable has been renamed to $Resources.
  • +
  • Removed deprecated package entry points, this includes all imports directly referencing files from ./dist/ directory. Please update your imports to the new exports fields.
  • +
  • extractParameters() function in DynamicRoute now receives additional object argument, containing query and path (not modified path) for more control over extracted parameters. The router now uses params returned from extractParameters() directly. It no longer automatically merges query params into the resulting object. If you want to preserve this behavior, merge the extracted route params with query object provided in the second argument.
  • +
+

Router changes

+
    +
  • Replace custom URL parsing methods in AbstractRoute, StaticRoute and DynamicRoute with combination of native URL and URLSearchParams.
  • +
  • Removed pairsToQuery, paramsToQuery, getQuery, decodeURIParameter static methods on AbstractRoute. These have been replaced with combination of native URL and URLSearchParams interfaces.
  • +
  • getTrimmedPath static method in AbstractRoute is now instance method.
  • +
  • Url query params with no value (?param=) are no longer extracted as { param: true }, but as { param: '' }. Please update your code to check for key presence in these cases rather than true value.
  • +
  • Parsing of semi-colons inside query params is not supported (as a result of using URLSearchParams)
  • +
+

HttpAgent changes

+
    +
  • IMA HttpAgent now removes by default all headers from request and response which is stored in Cache. You can turn off this behavior with keepSensitiveHeaders option but it is not recommended.
  • +
  • Removed support for HttpAgent options.listener (these were used mainly in plugin-xhr, which is now unsupported)
  • +
  • You can now define multiple postProcessors[] in HttpAgent options. This replaces old postProcessor option, if you are using any post processor you need to update your options to postProcessors and make sure to wrap this post processor in an array.
  • +
  • Remove older, conflicting settings of HttpAgent, withCredentials, headers, and listeners. The first two now conflict with the newer options.fetchOptions, the last one (listeners) has been removed completely. options.withCredentials and options.headers are no longer followed. Use options.fetchOptions.credentials and options.fetchOptions.headers instead. For definition, see the native Fetch API (note: for simplicity, options.fetchOptions.headers only accepts headers defined by an object, not a tuple or an instance of Headers).
  • +
+

MetaManager changes

+
    +
  • Rewritten meta tag management in SPA mode, all MetaManager managed tags are removed between pages while new page contains only those currently defined using setMetaParams function in app controller. This should make meta tags rendering more deterministic, while fixing situations where old meta tags might be left on the page indefinitely if not cleaner properly.
  • +
  • MetaManager getters now always return object with key=value pairs of their set value. This should make settings additional meta attributes in loops much easier (for example: getMetaProperty('og:title'); -> { property: 'property-value' });)
  • +
  • Meta values/attributes with null/undefined values are not rendered, other values are converted to string.
  • +
  • Added new iterator functions to MetaManager.
  • +
+
this.#metaManager.getMetaNamesIterator();
this.#metaManager.getMetaPropertiesIterator();
this.#metaManager.getLinksIterator();
+
    +
  • Added ability to set additional attributes for meta tags/links in meta manager:
  • +
+
this.#metaManager.setLink('lcp-image', media.url, {
'lcp-image-imagesizes': media.sizes,
'lcp-image-imagesrcset': media.srcSet
});
+

@ima/react-page-renderer

+
    +
  • Removed deprecated package entry points, this includes all imports directly referencing files from ./dist/ directory. Please update your imports to the new exports fields.
  • +
  • isSSR hook has been removed, use window.isClient() directly from useComponentUtils().
  • +
  • useSettings now returns undefined, when settings is not found when using selector namespace as an argument.
  • +
  • All exports are now named exports, you need to update import to ClientPageRenderer in bind.js to:
  • +
  • Changed signature of useWindowEvent hook, it now matches bindEventListener parameters of ima window.
  • +
+
import { ClientPageRenderer } from '@ima/react-page-renderer/renderer/ClientPageRenderer';
+
    +
  • Change order of method arguments in Component fire method. target has been moved to the first argument position.
  • +
+
// from
this.fire('fetchDataArticles', event.target, { data: true })

// to
this.fire(event.target, 'fetchDataArticles', { data: true })
+

@ima/dev-utils

+
    +
  • Package now uses exports fields, instead of ./dist/* imports. See package.json.
  • +
+

@ima/server

+
    +
  • Update @esmj/monitor to 0.5.0 with breaking change for returns value from subscribe method where returns subscription is object with unsubscribe method.
  • +
  • Migrated urlParser middleware to ima server BeforeRequest hook. Remove urlParser middleware from app.js, it is now part of renderApp middleware.
  • +
  • Dropped support for direct response.contentVariables mutations, use event.result and return values in CreateContentVariables event.
  • +
  • Dropped support for $Source, $RevivalSettings, $RevivalCache, $Runner, $Styles, $Scripts content variables. These have been replaced by their lowerFirst counter-parts resource (now replaces $Source), revivalSettings, revivalCache, runner, styles, while $Scripts support have been dropped completely.
  • +
  • Default resources in $Resources now produce styles and esStyles fields (should not break anything in 99% of the applications). This does not necessarily mean which should be loaded on which es version, but what bundle produced those styles. This also means that without any custom configuration, all styles should now be under esStyles key, since they are built in client.es webpack bundle. This change was made to enable built of 2 CSS bundles simliar to how we handle ES bundles. This can be enabled using @ima/cli-plugin-legacy-css.
  • +
  • The package now provides multiple additional exports using named exports, the deafult export has been replaced with named createIMAServer function.
  • +
\ No newline at end of file diff --git a/plugins/available-plugins/index.html b/plugins/available-plugins/index.html index 62d46e0f5..96f8dc61e 100644 --- a/plugins/available-plugins/index.html +++ b/plugins/available-plugins/index.html @@ -1,17 +1,40 @@ - + - -Existing plugins | IMA.js - - + +Existing plugins | IMA.js + + -
-

Existing plugins

We've already described a way to create your own IMA.js plugins -through a very simple interface. Now we would like to talk about IMA.js-plugins monorepo that already contains variety of plugins that covers many of the common use cases.

IMA.js-plugins

Each plugin in this repository is thoroughly tested and maintained, so it always works with the most up to date IMA.js version. We, here at Seznam.cz use it daily in production on many of our projects, so don't worry about using them safely in the production environment.

Without further ado, let's quickly describe in this compact list what each plugin does and when you would want to use them:

note

This list is updated manually, so there can be situations where it doesn't match on 100% what is currently present in the monorepository itself.

- - +

Existing plugins

We've already described a way to create your own IMA.js plugins +through a very simple interface. Now we would like to talk about IMA.js-plugins monorepo that already contains variety of plugins that covers many of the common use cases.

+

IMA.js-plugins

+

Each plugin in this repository is thoroughly tested and maintained, so it always works with the most up to date IMA.js version. We, here at Seznam.cz use it daily in production on many of our projects, so don't worry about using them safely in the production environment.

+

Without further ado, let's quickly describe in this compact list what each plugin does and when you would want to use them:

+
note

This list is updated manually, so there can be situations where it doesn't match on 100% what is currently present in the monorepository itself.

+
\ No newline at end of file diff --git a/plugins/plugin-api/index.html b/plugins/plugin-api/index.html index 457d7c583..19609500b 100644 --- a/plugins/plugin-api/index.html +++ b/plugins/plugin-api/index.html @@ -1,19 +1,49 @@ - + - -Plugins API | IMA.js - - + +Plugins API | IMA.js + + -
-

Plugins API

IMA.js development stack offers built-in support for plugins. Writing plugins for IMA.js is really -simple. It basically comes to creating an ordinary npm package and using pluginLoader.register method to hook into IMA.js application environment using certain functions.

info

In situations where you don't need to hook into IMA.js app environment from within your plugin (you're for example just exporting some interface), you don't need call this registration method as it servers no purpose.

Plugin registration

As mentioned above, the plugin registration is done from within your npm package entry point using pluginLoader.register method:

import { pluginLoader } from '@ima/core';
import Service from './service';

pluginLoader.register('my-ima-plugin', ns => {
ns.set('my.ima.plugin.Service', Service);
});

The register method expects 2 arguments, first is name of your plugin (this is used strictly for debugging purposes, however it is required) and callback registration function which receives Namespace as one and only argument, that you can use to specify to which namespace this plugin should be bound.

Plugin bootstrap functions

The registration function can additionally return an object with additional callback functions. These allow you to further bootstrap your plugin. All are however optional, meaning you can define any combination of these or don't return anything.

import { pluginLoader } from '@ima/core';

pluginLoader.register('my-ima-plugin', ns => {
return {
initBind: (ns, oc, config) => {},
initServices: (ns, oc, config) => {},
initSettings: (ns, oc, config) => {}
}
});

initBind

initBind(ns: Namespace, oc: ObjectContainer, config: Config['bind'], isDynamicallyLoaded = false)

This function has the same interface as a function exported in bind.js of your IMA.js application and also serves the same purpose. This is the place where you would want to initialize your custom constants and bindings and assign them to the ObjectContainer.

initServices

initServices(ns: Namespace, oc: ObjectContainer, config: Config['services'], isDynamicallyLoaded = false)

Similarly to initBind, this is equivalent to a function exported by services.js file in your application.

initSettings

initSettings(ns: Namespace, oc: ObjectContainer, config: Config['settings'], isDynamicallyLoaded = false)

You can probably already see the pattern here. This function should return an object with settings, with the same structure as function in settings.js file does.

These settings are then merged with your application settings a possible conflicts are overridden with the application settings. This allows you to define defaults for your plugin, which can be easily overridden in your application.

Examples

Putting it all together, your main file in your npm package could look something like this (borrowing contents of main.js from our @ima/plugin-useragent:

import { pluginLoader } from '@ima/core';
import PlatformJS from 'platform';

import UserAgent from './AbstractUserAgent.js';
import ClientUserAgent from './ClientUserAgent.js';
import ServerUserAgent from './ServerUserAgent.js';

pluginLoader.register('@ima/plugin-useragent', () => {
return {
initBind: (ns, oc) => {
if (oc.get('$Window').isClient()) {
oc.provide(UserAgent, ClientUserAgent, [PlatformJS, '$Window']);
} else {
oc.provide(UserAgent, ServerUserAgent, [PlatformJS, '$Request']);
}
},
initServices: (ns, oc) => {
oc.get(UserAgent).init();
},
};
});

export { ClientUserAgent, ServerUserAgent, UserAgent, PlatformJS };

Dynamically imported plugins and tree shaking

When the plugin is imported dynamically and initialized lazily, you receive isDynamicallyLoaded = true as the last argument in the registration bootstrap functions. This can help you in certain situations where you need to know when the plugin was initialized.

The bootstrap process works the same way as with plugins initialized upon application startup, meaning all plugin settings are still overwritten with possible overrides in the application settings. There's however one caveat with the ObjectContainer that you need to pay attention to.

danger

When using string syntax to get certain settings in the $dependencies field:

static get $dependencies() {
return ['$Settings.myPlugin.repeatCount'];
};

constructor(repeatCount) {
this.repeatCount = repeatCount;
}

fn() {
this.repeatXTimes(this.repeatCount);
}

This won't be updated with possible plugin defaults when it get's loaded. In order to prevent this issue, you need to access whole settings object which will get updated values:

static get $dependencies() {
return ['$Settings'];
};

myFUnction(settings) {
this.settings = settings;
}

fn() {
this.repeatXTimes(settings?.myPlugin?.repeatCount);
}

Conclusion

As you can see, creating IMA.js plugin is very easy. You can always check our +

Plugins API

IMA.js development stack offers built-in support for plugins. Writing plugins for IMA.js is really +simple. It basically comes to creating an ordinary npm package and using pluginLoader.register method to hook into IMA.js application environment using certain functions.

+
info

In situations where you don't need to hook into IMA.js app environment from within your plugin (you're for example just exporting some interface), you don't need call this registration method as it servers no purpose.

+

Plugin registration

+

As mentioned above, the plugin registration is done from within your npm package entry point using pluginLoader.register method:

+
import { pluginLoader } from '@ima/core';
import Service from './service';

pluginLoader.register('my-ima-plugin', ns => {
ns.set('my.ima.plugin.Service', Service);
});
+

The register method expects 2 arguments, first is name of your plugin (this is used strictly for debugging purposes, however it is required) and callback registration function which receives Namespace as one and only argument, that you can use to specify to which namespace this plugin should be bound.

+

Plugin bootstrap functions

+

The registration function can additionally return an object with additional callback functions. These allow you to further bootstrap your plugin. All are however optional, meaning you can define any combination of these or don't return anything.

+
import { pluginLoader } from '@ima/core';

pluginLoader.register('my-ima-plugin', ns => {
return {
initBind: (ns, oc, config) => {},
initServices: (ns, oc, config) => {},
initSettings: (ns, oc, config) => {}
}
});
+

initBind

+
+

initBind(ns: Namespace, oc: ObjectContainer, config: Config['bind'], isDynamicallyLoaded = false)

+
+

This function has the same interface as a function exported in bind.js of your IMA.js application and also serves the same purpose. This is the place where you would want to initialize your custom constants and bindings and assign them to the ObjectContainer.

+

initServices

+
+

initServices(ns: Namespace, oc: ObjectContainer, config: Config['services'], isDynamicallyLoaded = false)

+
+

Similarly to initBind, this is equivalent to a function exported by services.js file in your application.

+

initSettings

+
+

initSettings(ns: Namespace, oc: ObjectContainer, config: Config['settings'], isDynamicallyLoaded = false)

+
+

You can probably already see the pattern here. This function should return an object with settings, with the same structure as function in settings.js file does.

+

These settings are then merged with your application settings a possible conflicts are overridden with the application settings. This allows you to define defaults for your plugin, which can be easily overridden in your application.

+

Examples

+

Putting it all together, your main file in your npm package could look something like this (borrowing contents of main.js from our @ima/plugin-useragent:

+
import { pluginLoader } from '@ima/core';
import PlatformJS from 'platform';

import UserAgent from './AbstractUserAgent.js';
import ClientUserAgent from './ClientUserAgent.js';
import ServerUserAgent from './ServerUserAgent.js';

pluginLoader.register('@ima/plugin-useragent', () => {
return {
initBind: (ns, oc) => {
if (oc.get('$Window').isClient()) {
oc.provide(UserAgent, ClientUserAgent, [PlatformJS, '$Window']);
} else {
oc.provide(UserAgent, ServerUserAgent, [PlatformJS, '$Request']);
}
},
initServices: (ns, oc) => {
oc.get(UserAgent).init();
},
};
});

export { ClientUserAgent, ServerUserAgent, UserAgent, PlatformJS };
+

Dynamically imported plugins and tree shaking

+

When the plugin is imported dynamically and initialized lazily, you receive isDynamicallyLoaded = true as the last argument in the registration bootstrap functions. This can help you in certain situations where you need to know when the plugin was initialized.

+

The bootstrap process works the same way as with plugins initialized upon application startup, meaning all plugin settings are still overwritten with possible overrides in the application settings. There's however one caveat with the ObjectContainer that you need to pay attention to.

+
warning

When using string syntax to get certain settings in the $dependencies field:

static get $dependencies() {
return ['$Settings.myPlugin.repeatCount'];
};

constructor(repeatCount) {
this.repeatCount = repeatCount;
}

fn() {
this.repeatXTimes(this.repeatCount);
}

This won't be updated with possible plugin defaults when it get's loaded. In order to prevent this issue, you need to access whole settings object which will get updated values:

static get $dependencies() {
return ['$Settings'];
};

myFUnction(settings) {
this.settings = settings;
}

fn() {
this.repeatXTimes(settings?.myPlugin?.repeatCount);
}
+

Conclusion

+

As you can see, creating IMA.js plugin is very easy. You can always check our IMA.js-plugins monorepo to take a look at many other already -existing plugins and how they're implemented, which we describe more in detail in the documentation.

- - +existing plugins and how they're implemented, which we describe more in detail in the documentation.

\ No newline at end of file diff --git a/search/index.html b/search/index.html index c28137753..4afbcb049 100644 --- a/search/index.html +++ b/search/index.html @@ -2,15 +2,12 @@ - -Search the documentation | IMA.js - - + +Search the documentation | IMA.js + + -
-

Search the documentation

- - +

Search the documentation

\ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 9867900ed..6db90725b 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://imajs.io/searchweekly0.5https://imajs.io/weekly0.5https://imajs.io/advanced-features/dynamic-importsweekly0.5https://imajs.io/api/weekly0.5https://imajs.io/api/classes/ima_core.AbstractControllerweekly0.5https://imajs.io/api/classes/ima_core.AbstractExecutionweekly0.5https://imajs.io/api/classes/ima_core.AbstractExtensionweekly0.5https://imajs.io/api/classes/ima_core.AbstractPageManagerweekly0.5https://imajs.io/api/classes/ima_core.AbstractRouteweekly0.5https://imajs.io/api/classes/ima_core.AbstractRouterweekly0.5https://imajs.io/api/classes/ima_core.Bootstrapweekly0.5https://imajs.io/api/classes/ima_core.Cacheweekly0.5https://imajs.io/api/classes/ima_core.CacheEntryweekly0.5https://imajs.io/api/classes/ima_core.CacheFactoryweekly0.5https://imajs.io/api/classes/ima_core.CacheImplweekly0.5https://imajs.io/api/classes/ima_core.CancelErrorweekly0.5https://imajs.io/api/classes/ima_core.ClientPageManagerweekly0.5https://imajs.io/api/classes/ima_core.ClientRouterweekly0.5https://imajs.io/api/classes/ima_core.ClientWindowweekly0.5https://imajs.io/api/classes/ima_core.ComponentUtilsweekly0.5https://imajs.io/api/classes/ima_core.Controllerweekly0.5https://imajs.io/api/classes/ima_core.ControllerDecoratorweekly0.5https://imajs.io/api/classes/ima_core.CookieStorageweekly0.5https://imajs.io/api/classes/ima_core.Dictionaryweekly0.5https://imajs.io/api/classes/ima_core.Dispatcherweekly0.5https://imajs.io/api/classes/ima_core.DispatcherImplweekly0.5https://imajs.io/api/classes/ima_core.DynamicRouteweekly0.5https://imajs.io/api/classes/ima_core.Entryweekly0.5https://imajs.io/api/classes/ima_core.Errorweekly0.5https://imajs.io/api/classes/ima_core.EventBusweekly0.5https://imajs.io/api/classes/ima_core.EventBusImplweekly0.5https://imajs.io/api/classes/ima_core.Executionweekly0.5https://imajs.io/api/classes/ima_core.Extensionweekly0.5https://imajs.io/api/classes/ima_core.GenericErrorweekly0.5https://imajs.io/api/classes/ima_core.HttpAgentweekly0.5https://imajs.io/api/classes/ima_core.HttpAgentImplweekly0.5https://imajs.io/api/classes/ima_core.HttpProxyweekly0.5https://imajs.io/api/classes/ima_core.MapStorageweekly0.5https://imajs.io/api/classes/ima_core.MessageFormatDictionaryweekly0.5https://imajs.io/api/classes/ima_core.MetaManagerweekly0.5https://imajs.io/api/classes/ima_core.MetaManagerImplweekly0.5https://imajs.io/api/classes/ima_core.Namespaceweekly0.5https://imajs.io/api/classes/ima_core.ObjectContainerweekly0.5https://imajs.io/api/classes/ima_core.Observableweekly0.5https://imajs.io/api/classes/ima_core.ObservableImplweekly0.5https://imajs.io/api/classes/ima_core.PageFactoryweekly0.5https://imajs.io/api/classes/ima_core.PageHandlerweekly0.5https://imajs.io/api/classes/ima_core.PageHandlerRegistryweekly0.5https://imajs.io/api/classes/ima_core.PageManagerweekly0.5https://imajs.io/api/classes/ima_core.PageMetaHandlerweekly0.5https://imajs.io/api/classes/ima_core.PageNavigationHandlerweekly0.5https://imajs.io/api/classes/ima_core.PageRendererweekly0.5https://imajs.io/api/classes/ima_core.PageStateManagerweekly0.5https://imajs.io/api/classes/ima_core.PageStateManagerDecoratorweekly0.5https://imajs.io/api/classes/ima_core.PageStateManagerImplweekly0.5https://imajs.io/api/classes/ima_core.PluginLoaderweekly0.5https://imajs.io/api/classes/ima_core.Requestweekly0.5https://imajs.io/api/classes/ima_core.Responseweekly0.5https://imajs.io/api/classes/ima_core.RouteFactoryweekly0.5https://imajs.io/api/classes/ima_core.Routerweekly0.5https://imajs.io/api/classes/ima_core.SerialBatchweekly0.5https://imajs.io/api/classes/ima_core.ServerPageManagerweekly0.5https://imajs.io/api/classes/ima_core.ServerRouterweekly0.5https://imajs.io/api/classes/ima_core.ServerWindowweekly0.5https://imajs.io/api/classes/ima_core.SessionMapStorageweekly0.5https://imajs.io/api/classes/ima_core.SessionStorageweekly0.5https://imajs.io/api/classes/ima_core.StaticRouteweekly0.5https://imajs.io/api/classes/ima_core.Storageweekly0.5https://imajs.io/api/classes/ima_core.UrlTransformerweekly0.5https://imajs.io/api/classes/ima_core.WeakMapStorageweekly0.5https://imajs.io/api/classes/ima_core.Windowweekly0.5https://imajs.io/api/classes/ima_dev_utils.Loggerweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.AbstractComponentweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.AbstractPureComponentweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.BlankManagedRootViewweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.ErrorBoundaryweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.PageRendererFactoryweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.ServerPageRendererweekly0.5https://imajs.io/api/classes/ima_react_page_renderer.ViewAdapterweekly0.5https://imajs.io/api/enums/ima_core.ActionTypesweekly0.5https://imajs.io/api/enums/ima_core.BindingStateweekly0.5https://imajs.io/api/enums/ima_core.HttpStatusCodeweekly0.5https://imajs.io/api/enums/ima_core.RendererEventsweekly0.5https://imajs.io/api/enums/ima_core.RendererTypesweekly0.5https://imajs.io/api/enums/ima_core.RouteNamesweekly0.5https://imajs.io/api/enums/ima_core.RouterEventsweekly0.5https://imajs.io/api/enums/ima_core.StateEventsweekly0.5https://imajs.io/api/interfaces/ima_cli.ImaCliArgsweekly0.5https://imajs.io/api/interfaces/ima_cli.ImaCliPluginweekly0.5https://imajs.io/api/interfaces/ima_cli.ImaConfigurationContextweekly0.5https://imajs.io/api/interfaces/ima_core.AppEnvironmentweekly0.5https://imajs.io/api/interfaces/ima_core.BootConfigweekly0.5https://imajs.io/api/interfaces/ima_core.BootServicesweekly0.5https://imajs.io/api/interfaces/ima_core.DictionaryMapweekly0.5https://imajs.io/api/interfaces/ima_core.DispatcherEventsMapweekly0.5https://imajs.io/api/interfaces/ima_core.Environmentweekly0.5https://imajs.io/api/interfaces/ima_core.GlobalImaObjectweekly0.5https://imajs.io/api/interfaces/ima_core.HttpAgentRequestOptionsweekly0.5https://imajs.io/api/interfaces/ima_core.ImaRequestInitweekly0.5https://imajs.io/api/interfaces/ima_core.InitAppConfigweekly0.5https://imajs.io/api/interfaces/ima_core.InitImaConfigweekly0.5https://imajs.io/api/interfaces/ima_core.InitPluginConfigweekly0.5https://imajs.io/api/interfaces/ima_core.Manifestweekly0.5https://imajs.io/api/interfaces/ima_core.ManifestAssetweekly0.5https://imajs.io/api/interfaces/ima_core.OCAliasMapweekly0.5https://imajs.io/api/interfaces/ima_core.PageActionweekly0.5https://imajs.io/api/interfaces/ima_core.PageRendererSettingsweekly0.5https://imajs.io/api/interfaces/ima_core.Resourcesweekly0.5https://imajs.io/api/interfaces/ima_core.RouteActionweekly0.5https://imajs.io/api/interfaces/ima_core.RouteFactoryOptionsweekly0.5https://imajs.io/api/interfaces/ima_core.RouteLocalsweekly0.5https://imajs.io/api/interfaces/ima_core.RouteOptionsweekly0.5https://imajs.io/api/interfaces/ima_core.Settingsweekly0.5https://imajs.io/api/interfaces/ima_core.Utilsweekly0.5https://imajs.io/api/interfaces/ima_core.WindowCustomEventsMapweekly0.5https://imajs.io/api/interfaces/ima_dev_utils.CompileErrorweekly0.5https://imajs.io/api/interfaces/ima_dev_utils.FragmentLineweekly0.5https://imajs.io/api/interfaces/ima_dev_utils.LoggerOptionsweekly0.5https://imajs.io/api/interfaces/ima_plugin_cli.Contextweekly0.5https://imajs.io/api/interfaces/ima_plugin_cli.ImaPluginConfigweekly0.5https://imajs.io/api/interfaces/ima_plugin_cli.PipeContextweekly0.5https://imajs.io/api/interfaces/ima_plugin_cli.Sourceweekly0.5https://imajs.io/api/interfaces/ima_react_page_renderer.PageContextTypeweekly0.5https://imajs.io/api/interfaces/ima_react_page_renderer.useComponentTypeweekly0.5https://imajs.io/api/interfaces/ima_react_page_renderer.useDispatcherTypeweekly0.5https://imajs.io/api/interfaces/ima_react_page_renderer.useEventBusTypeweekly0.5https://imajs.io/api/interfaces/ima_react_page_renderer.ViewAdapterPropsweekly0.5https://imajs.io/api/modules/ima_cliweekly0.5https://imajs.io/api/modules/ima_coreweekly0.5https://imajs.io/api/modules/ima_dev_utilsweekly0.5https://imajs.io/api/modules/ima_plugin_cliweekly0.5https://imajs.io/api/modules/ima_react_page_rendererweekly0.5https://imajs.io/basic-features/controller-lifecycleweekly0.5https://imajs.io/basic-features/data-fetchingweekly0.5https://imajs.io/basic-features/dictionaryweekly0.5https://imajs.io/basic-features/error-handlingweekly0.5https://imajs.io/basic-features/eventsweekly0.5https://imajs.io/basic-features/extensionsweekly0.5https://imajs.io/basic-features/handling-scripts-and-stylesweekly0.5https://imajs.io/basic-features/object-containerweekly0.5https://imajs.io/basic-features/page-managerweekly0.5https://imajs.io/basic-features/page-stateweekly0.5https://imajs.io/basic-features/rendering-processweekly0.5https://imajs.io/basic-features/routing/async-routingweekly0.5https://imajs.io/basic-features/routing/dynamic-routesweekly0.5https://imajs.io/basic-features/routing/introductionweekly0.5https://imajs.io/basic-features/routing/middlewaresweekly0.5https://imajs.io/basic-features/seo-and-meta-managerweekly0.5https://imajs.io/basic-features/testingweekly0.5https://imajs.io/basic-features/typescriptweekly0.5https://imajs.io/basic-features/views-and-componentsweekly0.5https://imajs.io/cli/weekly0.5https://imajs.io/cli/additional-featuresweekly0.5https://imajs.io/cli/advanced-featuresweekly0.5https://imajs.io/cli/cli-plugins-apiweekly0.5https://imajs.io/cli/compiler-featuresweekly0.5https://imajs.io/cli/ima-config-jsweekly0.5https://imajs.io/cli/plugins/analyze-pluginweekly0.5https://imajs.io/cli/plugins/less-constants-pluginweekly0.5https://imajs.io/cli/plugins/scramble-css-pluginweekly0.5https://imajs.io/contributing/how-to-contributeweekly0.5https://imajs.io/devtools/devtools-introductionweekly0.5https://imajs.io/devtools/devtools-optionsweekly0.5https://imajs.io/devtools/devtools-uiweekly0.5https://imajs.io/introduction/configurationweekly0.5https://imajs.io/introduction/getting-startedweekly0.5https://imajs.io/migration/migration-0.14.0weekly0.5https://imajs.io/migration/migration-0.15.0weekly0.5https://imajs.io/migration/migration-0.16.0weekly0.5https://imajs.io/migration/migration-17.0.0weekly0.5https://imajs.io/migration/migration-18.0.0weekly0.5https://imajs.io/migration/migration-19.0.0weekly0.5https://imajs.io/plugins/available-pluginsweekly0.5https://imajs.io/plugins/plugin-apiweekly0.5https://imajs.io/tutorial/adding-some-stateweekly0.5https://imajs.io/tutorial/fetching-dataweekly0.5https://imajs.io/tutorial/final-polishweekly0.5https://imajs.io/tutorial/introductionweekly0.5https://imajs.io/tutorial/static-viewweekly0.5https://imajs.io/tutorial/writing-postsweekly0.5 \ No newline at end of file +https://imajs.io/searchweekly0.5https://imajs.io/weekly0.5https://imajs.io/advanced-features/dynamic-importsweekly0.5https://imajs.io/api/weekly0.5https://imajs.io/api/@ima/cli/weekly0.5https://imajs.io/api/@ima/cli/functions/compileLanguagesweekly0.5https://imajs.io/api/@ima/cli/functions/createCacheKeyweekly0.5https://imajs.io/api/@ima/cli/functions/createDevServerConfigweekly0.5https://imajs.io/api/@ima/cli/functions/createWebpackConfigweekly0.5https://imajs.io/api/@ima/cli/functions/findRulesweekly0.5https://imajs.io/api/@ima/cli/functions/getCurrentCoreJsVersionweekly0.5https://imajs.io/api/@ima/cli/functions/getLanguageEntryPointsweekly0.5https://imajs.io/api/@ima/cli/functions/resolveEnvironmentweekly0.5https://imajs.io/api/@ima/cli/functions/resolveImaConfigweekly0.5https://imajs.io/api/@ima/cli/functions/runImaPluginsHookweekly0.5https://imajs.io/api/@ima/cli/globalsweekly0.5https://imajs.io/api/@ima/cli/interfaces/ImaCliArgsweekly0.5https://imajs.io/api/@ima/cli/interfaces/ImaCliPluginweekly0.5https://imajs.io/api/@ima/cli/interfaces/ImaConfigurationContextweekly0.5https://imajs.io/api/@ima/cli/type-aliases/ImaCliCommandweekly0.5https://imajs.io/api/@ima/cli/type-aliases/ImaConfigweekly0.5https://imajs.io/api/@ima/cli/variables/IMA_CONF_FILENAMEweekly0.5https://imajs.io/api/@ima/core/weekly0.5https://imajs.io/api/@ima/core/classes/AbstractControllerweekly0.5https://imajs.io/api/@ima/core/classes/AbstractExecutionweekly0.5https://imajs.io/api/@ima/core/classes/AbstractExtensionweekly0.5https://imajs.io/api/@ima/core/classes/AbstractPageManagerweekly0.5https://imajs.io/api/@ima/core/classes/AbstractRouteweekly0.5https://imajs.io/api/@ima/core/classes/AbstractRouterweekly0.5https://imajs.io/api/@ima/core/classes/Bootstrapweekly0.5https://imajs.io/api/@ima/core/classes/Cacheweekly0.5https://imajs.io/api/@ima/core/classes/CacheEntryweekly0.5https://imajs.io/api/@ima/core/classes/CacheFactoryweekly0.5https://imajs.io/api/@ima/core/classes/CacheImplweekly0.5https://imajs.io/api/@ima/core/classes/CancelErrorweekly0.5https://imajs.io/api/@ima/core/classes/ClientPageManagerweekly0.5https://imajs.io/api/@ima/core/classes/ClientRouterweekly0.5https://imajs.io/api/@ima/core/classes/ClientWindowweekly0.5https://imajs.io/api/@ima/core/classes/ComponentUtilsweekly0.5https://imajs.io/api/@ima/core/classes/Controllerweekly0.5https://imajs.io/api/@ima/core/classes/ControllerDecoratorweekly0.5https://imajs.io/api/@ima/core/classes/CookieStorageweekly0.5https://imajs.io/api/@ima/core/classes/Dictionaryweekly0.5https://imajs.io/api/@ima/core/classes/Dispatcherweekly0.5https://imajs.io/api/@ima/core/classes/DispatcherImplweekly0.5https://imajs.io/api/@ima/core/classes/DynamicRouteweekly0.5https://imajs.io/api/@ima/core/classes/Entryweekly0.5https://imajs.io/api/@ima/core/classes/Errorweekly0.5https://imajs.io/api/@ima/core/classes/EventBusweekly0.5https://imajs.io/api/@ima/core/classes/EventBusImplweekly0.5https://imajs.io/api/@ima/core/classes/Executionweekly0.5https://imajs.io/api/@ima/core/classes/Extensionweekly0.5https://imajs.io/api/@ima/core/classes/GenericErrorweekly0.5https://imajs.io/api/@ima/core/classes/HttpAgentweekly0.5https://imajs.io/api/@ima/core/classes/HttpAgentImplweekly0.5https://imajs.io/api/@ima/core/classes/HttpProxyweekly0.5https://imajs.io/api/@ima/core/classes/MapStorageweekly0.5https://imajs.io/api/@ima/core/classes/MessageFormatDictionaryweekly0.5https://imajs.io/api/@ima/core/classes/MetaManagerweekly0.5https://imajs.io/api/@ima/core/classes/MetaManagerImplweekly0.5https://imajs.io/api/@ima/core/classes/Namespaceweekly0.5https://imajs.io/api/@ima/core/classes/ObjectContainerweekly0.5https://imajs.io/api/@ima/core/classes/Observableweekly0.5https://imajs.io/api/@ima/core/classes/ObservableImplweekly0.5https://imajs.io/api/@ima/core/classes/PageFactoryweekly0.5https://imajs.io/api/@ima/core/classes/PageHandlerweekly0.5https://imajs.io/api/@ima/core/classes/PageHandlerRegistryweekly0.5https://imajs.io/api/@ima/core/classes/PageManagerweekly0.5https://imajs.io/api/@ima/core/classes/PageMetaHandlerweekly0.5https://imajs.io/api/@ima/core/classes/PageNavigationHandlerweekly0.5https://imajs.io/api/@ima/core/classes/PageRendererweekly0.5https://imajs.io/api/@ima/core/classes/PageStateManagerweekly0.5https://imajs.io/api/@ima/core/classes/PageStateManagerDecoratorweekly0.5https://imajs.io/api/@ima/core/classes/PageStateManagerImplweekly0.5https://imajs.io/api/@ima/core/classes/PluginLoaderweekly0.5https://imajs.io/api/@ima/core/classes/Requestweekly0.5https://imajs.io/api/@ima/core/classes/Responseweekly0.5https://imajs.io/api/@ima/core/classes/RouteFactoryweekly0.5https://imajs.io/api/@ima/core/classes/Routerweekly0.5https://imajs.io/api/@ima/core/classes/SerialBatchweekly0.5https://imajs.io/api/@ima/core/classes/ServerPageManagerweekly0.5https://imajs.io/api/@ima/core/classes/ServerRouterweekly0.5https://imajs.io/api/@ima/core/classes/ServerWindowweekly0.5https://imajs.io/api/@ima/core/classes/SessionMapStorageweekly0.5https://imajs.io/api/@ima/core/classes/SessionStorageweekly0.5https://imajs.io/api/@ima/core/classes/StaticRouteweekly0.5https://imajs.io/api/@ima/core/classes/Storageweekly0.5https://imajs.io/api/@ima/core/classes/UrlTransformerweekly0.5https://imajs.io/api/@ima/core/classes/WeakMapStorageweekly0.5https://imajs.io/api/@ima/core/classes/Windowweekly0.5https://imajs.io/api/@ima/core/enumerations/ActionTypesweekly0.5https://imajs.io/api/@ima/core/enumerations/BindingStateweekly0.5https://imajs.io/api/@ima/core/enumerations/HttpStatusCodeweekly0.5https://imajs.io/api/@ima/core/enumerations/RendererEventsweekly0.5https://imajs.io/api/@ima/core/enumerations/RendererTypesweekly0.5https://imajs.io/api/@ima/core/enumerations/RouteNamesweekly0.5https://imajs.io/api/@ima/core/enumerations/RouterEventsweekly0.5https://imajs.io/api/@ima/core/enumerations/StateEventsweekly0.5https://imajs.io/api/@ima/core/functions/bootClientAppweekly0.5https://imajs.io/api/@ima/core/functions/createImaAppweekly0.5https://imajs.io/api/@ima/core/functions/getClientBootConfigweekly0.5https://imajs.io/api/@ima/core/functions/getInitialImaConfigFunctionsweekly0.5https://imajs.io/api/@ima/core/functions/getInitialPluginConfigweekly0.5https://imajs.io/api/@ima/core/functions/getNamespaceweekly0.5https://imajs.io/api/@ima/core/functions/onLoadweekly0.5https://imajs.io/api/@ima/core/functions/reviveClientAppweekly0.5https://imajs.io/api/@ima/core/functions/routeClientAppweekly0.5https://imajs.io/api/@ima/core/globalsweekly0.5https://imajs.io/api/@ima/core/interfaces/AppEnvironmentweekly0.5https://imajs.io/api/@ima/core/interfaces/BootConfigweekly0.5https://imajs.io/api/@ima/core/interfaces/BootServicesweekly0.5https://imajs.io/api/@ima/core/interfaces/DictionaryMapweekly0.5https://imajs.io/api/@ima/core/interfaces/DispatcherEventsMapweekly0.5https://imajs.io/api/@ima/core/interfaces/Environmentweekly0.5https://imajs.io/api/@ima/core/interfaces/GlobalImaObjectweekly0.5https://imajs.io/api/@ima/core/interfaces/HttpAgentRequestOptionsweekly0.5https://imajs.io/api/@ima/core/interfaces/ImaRequestInitweekly0.5https://imajs.io/api/@ima/core/interfaces/InitAppConfigweekly0.5https://imajs.io/api/@ima/core/interfaces/InitImaConfigweekly0.5https://imajs.io/api/@ima/core/interfaces/InitPluginConfigweekly0.5https://imajs.io/api/@ima/core/interfaces/Manifestweekly0.5https://imajs.io/api/@ima/core/interfaces/ManifestAssetweekly0.5https://imajs.io/api/@ima/core/interfaces/OCAliasMapweekly0.5https://imajs.io/api/@ima/core/interfaces/PageActionweekly0.5https://imajs.io/api/@ima/core/interfaces/PageRendererSettingsweekly0.5https://imajs.io/api/@ima/core/interfaces/Resourcesweekly0.5https://imajs.io/api/@ima/core/interfaces/RouteActionweekly0.5https://imajs.io/api/@ima/core/interfaces/RouteFactoryOptionsweekly0.5https://imajs.io/api/@ima/core/interfaces/RouteLocalsweekly0.5https://imajs.io/api/@ima/core/interfaces/RouteOptionsweekly0.5https://imajs.io/api/@ima/core/interfaces/Settingsweekly0.5https://imajs.io/api/@ima/core/interfaces/Utilsweekly0.5https://imajs.io/api/@ima/core/interfaces/WindowCustomEventsMapweekly0.5https://imajs.io/api/@ima/core/type-aliases/AnyParametersweekly0.5https://imajs.io/api/@ima/core/type-aliases/AppSettingsweekly0.5https://imajs.io/api/@ima/core/type-aliases/AsyncRouteControllerweekly0.5https://imajs.io/api/@ima/core/type-aliases/AsyncRouteViewweekly0.5https://imajs.io/api/@ima/core/type-aliases/BootSettingsweekly0.5https://imajs.io/api/@ima/core/type-aliases/Cookieweekly0.5https://imajs.io/api/@ima/core/type-aliases/CookieOptionsweekly0.5https://imajs.io/api/@ima/core/type-aliases/CookieTransformFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/DecoratedOCAliasMapweekly0.5https://imajs.io/api/@ima/core/type-aliases/Dependenciesweekly0.5https://imajs.io/api/@ima/core/type-aliases/Dependencyweekly0.5https://imajs.io/api/@ima/core/type-aliases/DictionaryConfigweekly0.5https://imajs.io/api/@ima/core/type-aliases/DictionaryDataweekly0.5https://imajs.io/api/@ima/core/type-aliases/DispatcherListenerweekly0.5https://imajs.io/api/@ima/core/type-aliases/EntryOptionsweekly0.5https://imajs.io/api/@ima/core/type-aliases/EventBusEventHandlerweekly0.5https://imajs.io/api/@ima/core/type-aliases/EventBusListenerweekly0.5https://imajs.io/api/@ima/core/type-aliases/EventBusOptionsweekly0.5https://imajs.io/api/@ima/core/type-aliases/ExecutionJobweekly0.5https://imajs.io/api/@ima/core/type-aliases/GenericErrorParamsweekly0.5https://imajs.io/api/@ima/core/type-aliases/HttpAgentResponseweekly0.5https://imajs.io/api/@ima/core/type-aliases/HttpProxyErrorParamsweekly0.5https://imajs.io/api/@ima/core/type-aliases/HttpProxyRequestParamsweekly0.5https://imajs.io/api/@ima/core/type-aliases/InitBindFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/InitRoutesFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/InitServicesFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/InitSettingsFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/LoadedResourcesweekly0.5https://imajs.io/api/@ima/core/type-aliases/LocalizationFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/ManageArgsweekly0.5https://imajs.io/api/@ima/core/type-aliases/ManagedPageweekly0.5https://imajs.io/api/@ima/core/type-aliases/MetaAttributesweekly0.5https://imajs.io/api/@ima/core/type-aliases/MetaManagerRecordweekly0.5https://imajs.io/api/@ima/core/type-aliases/MetaManagerRecordKeysweekly0.5https://imajs.io/api/@ima/core/type-aliases/MetaValueweekly0.5https://imajs.io/api/@ima/core/type-aliases/NativeListenerweekly0.5https://imajs.io/api/@ima/core/type-aliases/ObjectParametersweekly0.5https://imajs.io/api/@ima/core/type-aliases/OCInjectableweekly0.5https://imajs.io/api/@ima/core/type-aliases/OCInstanceweekly0.5https://imajs.io/api/@ima/core/type-aliases/OCInstanceConstrainweekly0.5https://imajs.io/api/@ima/core/type-aliases/PageDataweekly0.5https://imajs.io/api/@ima/core/type-aliases/PageStateweekly0.5https://imajs.io/api/@ima/core/type-aliases/PluginInitBindFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/PluginInitServicesFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/PluginInitSettingsFunctionweekly0.5https://imajs.io/api/@ima/core/type-aliases/Resourceweekly0.5https://imajs.io/api/@ima/core/type-aliases/RouteControllerweekly0.5https://imajs.io/api/@ima/core/type-aliases/RouteParamsweekly0.5https://imajs.io/api/@ima/core/type-aliases/RoutePathExpressionweekly0.5https://imajs.io/api/@ima/core/type-aliases/RouterMiddlewareweekly0.5https://imajs.io/api/@ima/core/type-aliases/RouteViewweekly0.5https://imajs.io/api/@ima/core/type-aliases/SerializedCacheEntryweekly0.5https://imajs.io/api/@ima/core/type-aliases/SerializedDataweekly0.5https://imajs.io/api/@ima/core/type-aliases/StringParametersweekly0.5https://imajs.io/api/@ima/core/type-aliases/UnknownParametersweekly0.5https://imajs.io/api/@ima/core/type-aliases/UnknownPromiseParametersweekly0.5https://imajs.io/api/@ima/core/type-aliases/WindowEventTargetsweekly0.5https://imajs.io/api/@ima/core/type-aliases/WindowEventTargetsMapweekly0.5https://imajs.io/api/@ima/core/variables/nsweekly0.5https://imajs.io/api/@ima/core/variables/pluginLoaderweekly0.5https://imajs.io/api/@ima/dev-utils/weekly0.5https://imajs.io/api/@ima/dev-utils/classes/Loggerweekly0.5https://imajs.io/api/@ima/dev-utils/functions/createLoggerweekly0.5https://imajs.io/api/@ima/dev-utils/functions/createSourceFragmentweekly0.5https://imajs.io/api/@ima/dev-utils/functions/extractSourceMappingUrlweekly0.5https://imajs.io/api/@ima/dev-utils/functions/formatErrorweekly0.5https://imajs.io/api/@ima/dev-utils/functions/getSourceweekly0.5https://imajs.io/api/@ima/dev-utils/functions/parseCompileErrorweekly0.5https://imajs.io/api/@ima/dev-utils/functions/parseErrorweekly0.5https://imajs.io/api/@ima/dev-utils/functions/printTimeweekly0.5https://imajs.io/api/@ima/dev-utils/functions/resolveErrorTypeweekly0.5https://imajs.io/api/@ima/dev-utils/functions/timeweekly0.5https://imajs.io/api/@ima/dev-utils/globalsweekly0.5https://imajs.io/api/@ima/dev-utils/interfaces/CompileErrorweekly0.5https://imajs.io/api/@ima/dev-utils/interfaces/FragmentLineweekly0.5https://imajs.io/api/@ima/dev-utils/interfaces/LoggerOptionsweekly0.5https://imajs.io/api/@ima/dev-utils/type-aliases/ParsedErrorDataweekly0.5https://imajs.io/api/@ima/dev-utils/variables/COMPILE_ERROR_NEEDLES_REweekly0.5https://imajs.io/api/@ima/dev-utils/variables/loggerweekly0.5https://imajs.io/api/@ima/dev-utils/variables/RE_SOURCE_MAPPING_URLweekly0.5https://imajs.io/api/@ima/dev-utils/variables/RE_VALID_FRAME_CHROMEweekly0.5https://imajs.io/api/@ima/dev-utils/variables/RE_VALID_FRAME_FIREFOXweekly0.5https://imajs.io/api/@ima/plugin-cli/weekly0.5https://imajs.io/api/@ima/plugin-cli/functions/preprocessTransformerweekly0.5https://imajs.io/api/@ima/plugin-cli/functions/swcTransformerweekly0.5https://imajs.io/api/@ima/plugin-cli/functions/typescriptDeclarationsPluginweekly0.5https://imajs.io/api/@ima/plugin-cli/globalsweekly0.5https://imajs.io/api/@ima/plugin-cli/interfaces/Contextweekly0.5https://imajs.io/api/@ima/plugin-cli/interfaces/ImaPluginConfigweekly0.5https://imajs.io/api/@ima/plugin-cli/interfaces/PipeContextweekly0.5https://imajs.io/api/@ima/plugin-cli/interfaces/Sourceweekly0.5https://imajs.io/api/@ima/plugin-cli/type-aliases/Commandweekly0.5https://imajs.io/api/@ima/plugin-cli/type-aliases/Pluginweekly0.5https://imajs.io/api/@ima/plugin-cli/type-aliases/Transformerweekly0.5https://imajs.io/api/@ima/plugin-cli/type-aliases/TransformerOptionsweekly0.5https://imajs.io/api/@ima/plugin-cli/variables/clientServerConfigweekly0.5https://imajs.io/api/@ima/plugin-cli/variables/defaultConfigweekly0.5https://imajs.io/api/@ima/plugin-cli/variables/nodeConfigweekly0.5https://imajs.io/api/@ima/react-page-renderer/weekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/AbstractComponentweekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/AbstractPureComponentweekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/BlankManagedRootViewweekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/ErrorBoundaryweekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/PageRendererFactoryweekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/ServerPageRendererweekly0.5https://imajs.io/api/@ima/react-page-renderer/classes/ViewAdapterweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/cssClassesweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/defaultCssClassesweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/fireweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/getUtilsweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/linkweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/listenweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/localizeweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/unlistenweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useComponentweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useComponentUtilsweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useCssClassesweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useDispatcherweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useEventBusweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useLinkweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useLocalizeweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useOnceweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/usePageContextweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useSettingsweekly0.5https://imajs.io/api/@ima/react-page-renderer/functions/useWindowEventweekly0.5https://imajs.io/api/@ima/react-page-renderer/globalsweekly0.5https://imajs.io/api/@ima/react-page-renderer/interfaces/PageContextTypeweekly0.5https://imajs.io/api/@ima/react-page-renderer/interfaces/useComponentTypeweekly0.5https://imajs.io/api/@ima/react-page-renderer/interfaces/useDispatcherTypeweekly0.5https://imajs.io/api/@ima/react-page-renderer/interfaces/useEventBusTypeweekly0.5https://imajs.io/api/@ima/react-page-renderer/interfaces/ViewAdapterPropsweekly0.5https://imajs.io/api/@ima/react-page-renderer/variables/PageContextweekly0.5https://imajs.io/basic-features/controller-lifecycleweekly0.5https://imajs.io/basic-features/data-fetchingweekly0.5https://imajs.io/basic-features/dictionaryweekly0.5https://imajs.io/basic-features/error-handlingweekly0.5https://imajs.io/basic-features/eventsweekly0.5https://imajs.io/basic-features/extensionsweekly0.5https://imajs.io/basic-features/handling-scripts-and-stylesweekly0.5https://imajs.io/basic-features/object-containerweekly0.5https://imajs.io/basic-features/page-managerweekly0.5https://imajs.io/basic-features/page-stateweekly0.5https://imajs.io/basic-features/rendering-processweekly0.5https://imajs.io/basic-features/routing/async-routingweekly0.5https://imajs.io/basic-features/routing/dynamic-routesweekly0.5https://imajs.io/basic-features/routing/introductionweekly0.5https://imajs.io/basic-features/routing/middlewaresweekly0.5https://imajs.io/basic-features/seo-and-meta-managerweekly0.5https://imajs.io/basic-features/testingweekly0.5https://imajs.io/basic-features/typescriptweekly0.5https://imajs.io/basic-features/views-and-componentsweekly0.5https://imajs.io/cli/weekly0.5https://imajs.io/cli/additional-featuresweekly0.5https://imajs.io/cli/advanced-featuresweekly0.5https://imajs.io/cli/cli-plugins-apiweekly0.5https://imajs.io/cli/compiler-featuresweekly0.5https://imajs.io/cli/ima-config-jsweekly0.5https://imajs.io/cli/plugins/analyze-pluginweekly0.5https://imajs.io/cli/plugins/less-constants-pluginweekly0.5https://imajs.io/cli/plugins/scramble-css-pluginweekly0.5https://imajs.io/contributing/how-to-contributeweekly0.5https://imajs.io/devtools/devtools-introductionweekly0.5https://imajs.io/devtools/devtools-optionsweekly0.5https://imajs.io/devtools/devtools-uiweekly0.5https://imajs.io/introduction/configurationweekly0.5https://imajs.io/introduction/getting-startedweekly0.5https://imajs.io/migration/migration-0.14.0weekly0.5https://imajs.io/migration/migration-0.15.0weekly0.5https://imajs.io/migration/migration-0.16.0weekly0.5https://imajs.io/migration/migration-17.0.0weekly0.5https://imajs.io/migration/migration-18.0.0weekly0.5https://imajs.io/migration/migration-19.0.0weekly0.5https://imajs.io/plugins/available-pluginsweekly0.5https://imajs.io/plugins/plugin-apiweekly0.5https://imajs.io/tutorial/adding-some-stateweekly0.5https://imajs.io/tutorial/fetching-dataweekly0.5https://imajs.io/tutorial/final-polishweekly0.5https://imajs.io/tutorial/introductionweekly0.5https://imajs.io/tutorial/static-viewweekly0.5https://imajs.io/tutorial/writing-postsweekly0.5 \ No newline at end of file diff --git a/tutorial/adding-some-state/index.html b/tutorial/adding-some-state/index.html index 0aa4baa41..4b9d01743 100644 --- a/tutorial/adding-some-state/index.html +++ b/tutorial/adding-some-state/index.html @@ -1,136 +1,211 @@ - + - -Adding Some State | IMA.js - - + +Adding Some State | IMA.js + + -
-

Adding Some State

In previous section of the tutorial, we prepared basic markup and custom styling +

Adding Some State

In previous section of the tutorial, we prepared basic markup and custom styling thanks to the Bootstrap CSS library. -In this section, we're going to add some functionality to our application.

Controller & error handling

Our guestbook may look nice, but it is kind of boring since the posts are static -and we cannot add new posts. So let's take care of this.

To begin, we'll render posts from data that we'll store as the state of our page -controller. Open the app/page/home/HomeController.js file and you'll see a class declaration.

You can notice that by default, our bootstrapped application includes some pre-defined +In this section, we're going to add some functionality to our application.

+

Controller & error handling

+

Our guestbook may look nice, but it is kind of boring since the posts are static +and we cannot add new posts. So let's take care of this.

+

To begin, we'll render posts from data that we'll store as the state of our page +controller. Open the app/page/home/HomeController.js file and you'll see a class declaration.

+

You can notice that by default, our bootstrapped application includes some pre-defined methods along with very long JSDoc comments. Feel free to read through these comments -but to make this tutorial simpler, we're going to replace contents of this file with following code:

import { AbstractController } from '@ima/core';

export class HomeController extends AbstractController {
static get $dependencies() {
return [];
}

constructor() {
super();
}

load() {
return {};
}

setMetaParams(loadedResources, metaManager, router, dictionary, settings) {
metaManager.setTitle('Guestbook');
}
}

The AbstractController class defines some methods which are executed +but to make this tutorial simpler, we're going to replace contents of this file with following code:

+
import { AbstractController } from '@ima/core';

export class HomeController extends AbstractController {
static get $dependencies() {
return [];
}

constructor() {
super();
}

load() {
return {};
}

setMetaParams(loadedResources, metaManager, router, dictionary, settings) {
metaManager.setTitle('Guestbook');
}
}
+

The AbstractController class defines some methods which are executed in different parts of it's lifecycle, you can read more about this in the documentation -One of the main methods you're going to use frequently is the load() method.

The load() method is called automatically +One of the main methods you're going to use frequently is the load() method.

+

The load() method is called automatically by IMA.js when the controller is being initialized. It returns a hash object - a plain JavaScript object representing a map of keys and values - representing the initial state of the page. The values in the returned object may be promises or scalar values. The IMA.js will wait for all promises to resolve before rendering the page, -allowing us to fetch any data we may need from the server.

Once all promises are resolved, IMA.js sets the controller's view state to the -hash object with promises replaced by the values the promises resolved to.

In case that a promise gets rejected, we may want to display a specific error +allowing us to fetch any data we may need from the server.

+

Once all promises are resolved, IMA.js sets the controller's view state to the +hash object with promises replaced by the values the promises resolved to.

+

In case that a promise gets rejected, we may want to display a specific error page. It is recommended to reject the load promises using IMA.js' GenericError (located in the module @ima/error/GenericError), which allows you to specify the HTTP status code representing the error type, resulting in the appropriate error page being displayed. An example usage -of the load() method is show below:

load() {
return {
ourPageData: fetchUsefulData(params).catch((error) => {
// Note: the fetchUsefulData() should already return a promise
// rejected by GenericError in case an error occurs, so we would not
// have to do this in our every controller using a function like
// this one.

if (error.name === 'NotFoundError') {
throw new GenericError('No such records exist', {
cause: error,
params: params,
status: 404 // The 404 HTTP status stands for "Not Found"
});
} else {
throw new GenericError('Cannot retrieve data', {
cause: error,
params: params,
status: 500 // The 500 HTTP status stands for "Internal Server Error"
});
}
})
};
}

Now you may be tempted to simply extend the native Error class (or one of its +of the load() method is show below:

+
load() {
return {
ourPageData: fetchUsefulData(params).catch((error) => {
// Note: the fetchUsefulData() should already return a promise
// rejected by GenericError in case an error occurs, so we would not
// have to do this in our every controller using a function like
// this one.

if (error.name === 'NotFoundError') {
throw new GenericError('No such records exist', {
cause: error,
params: params,
status: 404 // The 404 HTTP status stands for "Not Found"
});
} else {
throw new GenericError('Cannot retrieve data', {
cause: error,
params: params,
status: 500 // The 500 HTTP status stands for "Internal Server Error"
});
}
})
};
}
+

Now you may be tempted to simply extend the native Error class (or one of its siblings). The problem with that is that all browsers do not generate stack traces for custom errors extending the native ones (unless you are using a browser that has already implemented error sub-classing). The GenericError takes care of this for us and also allows you to create custom error classes by extending the GenericError class while still -having access to stack traces of your errors.

Fetching posts

But let's refocus on the load() method in our controller. For now, we'll +having access to stack traces of your errors.

+

Fetching posts

+

But let's refocus on the load() method in our controller. For now, we'll specify our data statically and take care of fetching the data from the server in a later point in this tutorial. Replace the contents of the load() method with -the following code:

return {
posts: [
{
content: 'Never mistake motion for action.',
author: 'Ernest Hemingway'
},
{
content: 'Quality means doing it right when no one is looking.',
author: 'Henry Ford'
},
{
content:
'We are what we repeatedly do. Excellence, then, is not an act, but a habit.',
author: 'Aristotle'
},
{
content:
'Reality is merely an illusion, albeit a very persistent one.',
author: 'Albert Einstein'
}
]
};

As you may have noticed, we used JSON-compatible code in case of posts - this +the following code:

+
return {
posts: [
{
content: 'Never mistake motion for action.',
author: 'Ernest Hemingway'
},
{
content: 'Quality means doing it right when no one is looking.',
author: 'Henry Ford'
},
{
content:
'We are what we repeatedly do. Excellence, then, is not an act, but a habit.',
author: 'Aristotle'
},
{
content:
'Reality is merely an illusion, albeit a very persistent one.',
author: 'Albert Einstein'
}
]
};
+

As you may have noticed, we used JSON-compatible code in case of posts - this will come in handy later when we'll introduce fetching the data from the -server and move the structure to an external JSON file.

Splitting the render method

Let's return to our view in the app/page/home/HomeView.jsx file. Replace the -render() method with the following code snippet:

render() {
return (
<div className="l-home container">
<h1>Guestbook</h1>
<div className="posting-form card">
<form action="" method="post">
<h5 className="card-header">Add a post</h5>
<div className="card-body">
<div className="form-group">
<label htmlFor="postForm-name">Name:</label>
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
placeholder="Your name"
/>
</div>
<div className="form-group">
<label htmlFor="postForm-content">Post:</label>
<textarea
id="postForm-content"
className="form-control"
name="content"
placeholder="What would you like to tell us?"
/>
</div>
</div>
<div className="card-footer">
<button type="submit" className="btn btn btn-outline-primary">
Submit
<div className="ripple-wrapper" />
</button>
</div>
</form>
</div>
<hr />
<div className="posts">
<h2>Posts</h2>
{this._renderPosts()}
</div>
</div>
);
}

_renderPosts() {
const { posts } = this.props;

return posts.map((post, index) => (
<div className="post card card-default" key={index}>
<div className="card-body">{post.content}</div>
<div className="post-author card-footer">{post.author}</div>
</div>
));
}

We have replaced the old sequence of +server and move the structure to an external JSON file.

+

Splitting the render method

+

Let's return to our view in the app/page/home/HomeView.jsx file. Replace the +render() method with the following code snippet:

+
render() {
return (
<div className="l-home container">
<h1>Guestbook</h1>
<div className="posting-form card">
<form action="" method="post">
<h5 className="card-header">Add a post</h5>
<div className="card-body">
<div className="form-group">
<label htmlFor="postForm-name">Name:</label>
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
placeholder="Your name"
/>
</div>
<div className="form-group">
<label htmlFor="postForm-content">Post:</label>
<textarea
id="postForm-content"
className="form-control"
name="content"
placeholder="What would you like to tell us?"
/>
</div>
</div>
<div className="card-footer">
<button type="submit" className="btn btn btn-outline-primary">
Submit
<div className="ripple-wrapper" />
</button>
</div>
</form>
</div>
<hr />
<div className="posts">
<h2>Posts</h2>
{this._renderPosts()}
</div>
</div>
);
}

_renderPosts() {
const { posts } = this.props;

return posts.map((post, index) => (
<div className="post card card-default" key={index}>
<div className="card-body">{post.content}</div>
<div className="post-author card-footer">{post.author}</div>
</div>
));
}
+

We have replaced the old sequence of <div className='post card card-default'> tags with the {this._renderPosts()} expression, which tells React to insert the return -value of our new _renderPosts() method.

The _renderPosts() method traverses the array of posts available as +value of our new _renderPosts() method.

+

The _renderPosts() method traverses the array of posts available as this.props.posts (this.props refers to the page controller's state in page views) and creates a new array containing the rendered posts. Notice that we are using props instead of state in our view because we are -referencing external data, not the internal state of our view component.

The structure of the UI representing a post has had its static content +referencing external data, not the internal state of our view component.

+

The structure of the UI representing a post has had its static content replaced with the {post.content} and {post.author} expressions injecting the content and the author of the post, and we have added a new key={index} attribute (technically, it is a React element property, but we'll use the XML terminology in this tutorial). The key attribute is required by React to help it identify parts of the DOM, therefore its value must be unique within the context and represent a relationship between the DOM fragment and the data. -Here we set it to the index of the current post in the posts array.

In practice you should not use array indexes as keys because shifting or +Here we set it to the index of the current post in the posts array.

+

In practice you should not use array indexes as keys because shifting or modifying the contents of the array will result in using the same keys for different items in each rendering, which will result in a strange and quirky behavior, especially for components with their own state. It is best to use unique identifiers, such as the primary key of the record provided by the -database.

Since we do not have the posts stored in an actual database, we're going to +database.

+

Since we do not have the posts stored in an actual database, we're going to help ourselves in a different way, but we'll address that later in this -tutorial.

Creating new components

Now the view looks better, but it's still not perfect, because the view still +tutorial.

+

Creating new components

+

Now the view looks better, but it's still not perfect, because the view still feels bulky. To fix that, we start by moving the post rendering to a new -component.

Create the app/component/post directory and the app/component/post/Post.jsx -and app/component/post/post.less files.

Put the following code into the Post.jsx file:

import { AbstractComponent } from '@ima/react-page-renderer';
import React from 'react';
import './post.less';


export default class Post extends AbstractComponent {
render() {
const { content, author } = this.props;

return (
<div className="post card card-default">
<div className="card-body">{content}</div>
<div className="post-author card-footer">{author}</div>
</div>
);
}
}

In this component we access the post content and author name in our render() +component.

+

Create the app/component/post directory and the app/component/post/Post.jsx +and app/component/post/post.less files.

+

Put the following code into the Post.jsx file:

+
import { AbstractComponent } from '@ima/react-page-renderer';
import React from 'react';
import './post.less';


export default class Post extends AbstractComponent {
render() {
const { content, author } = this.props;

return (
<div className="post card card-default">
<div className="card-body">{content}</div>
<div className="post-author card-footer">{author}</div>
</div>
);
}
}
+

In this component we access the post content and author name in our render() method using the this.props object, which contains a hash object of -properties passed to the React component by whatever code is using it.

To use our new component, we need to update the _renderPosts() method in the -app/page/home/HomeView.jsx file to the following code:

return posts.map((post, index) => {
return <Post key={index} content={post.content} author={post.author} />;
});

...and import the Post component by adding the following import to the -beginning of the file:

import Post from 'app/component/post/Post';

Note: You can notice that so far we haven't used relative imports when importing +properties passed to the React component by whatever code is using it.

+

To use our new component, we need to update the _renderPosts() method in the +app/page/home/HomeView.jsx file to the following code:

+
return posts.map((post, index) => {
return <Post key={index} content={post.content} author={post.author} />;
});
+

...and import the Post component by adding the following import to the +beginning of the file:

+
import Post from 'app/component/post/Post';
+
+

Note: You can notice that so far we haven't used relative imports when importing our custom JS modules from inside of the app directory structure. This is because IMA.js adds the app directory to the lookup path. This means that you can refer to any file inside app directory through an absolute path, -which makes most of the imports much cleaner.

To finish the creation of the post component, we need to move the related +which makes most of the imports much cleaner.

+
+

To finish the creation of the post component, we need to move the related styles from app/page/home/homeView.less to app/component/post/post.less. -Move the following code to the post.less file:

.post-author {
text-align: @post-author-alignment;
font-style: italic;
font-size: 85%;
}

We can further improve our page view structure by refactoring-out the +Move the following code to the post.less file:

+
.post-author {
text-align: @post-author-alignment;
font-style: italic;
font-size: 85%;
}
+

We can further improve our page view structure by refactoring-out the "new post" form to a separate component. Create the app/component/postingForm directory and the app/component/postingForm/PostingForm.jsx file. Then, put the -following code into the app/component/postingForm/PostingForm.jsx file:

import { AbstractComponent } from '@ima/react-page-renderer';
import React from 'react';

export default class PostingForm extends AbstractComponent {
render() {
return (
<div className="posting-form card">
<form action="" method="post">
<h5 className="card-header">Add a post</h5>
<div className="card-body">
<div className="form-group">
<label htmlFor="postForm-name">Name:</label>
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
placeholder="Your name"
/>
</div>
<div className="form-group">
<label htmlFor="postForm-content">Post:</label>
<textarea
id="postForm-content"
className="form-control"
name="content"
placeholder="What would you like to tell us?"
/>
</div>
</div>
<div className="card-footer">
<button type="submit" className="btn btn btn-outline-primary">
Submit
<div className="ripple-wrapper" />
</button>
</div>
</form>
</div>
);
}
}

Nothing new here, we just extracted the code from home controller's view and -put it into a new React component.

Now update the render() method in the home controller's view:

return (
<div className="l-home container">
<h1>Guestbook</h1>
<PostingForm />

<hr />

<div className="posts">
<h2>Posts</h2>
{this._renderPosts()}
</div>
</div>
);

To finish up, import the posting form component:

import PostingForm from 'app/component/postingForm/PostingForm';

So far we've been only refactoring our code and moving few bits around to make it cleaner. +following code into the app/component/postingForm/PostingForm.jsx file:

+
import { AbstractComponent } from '@ima/react-page-renderer';
import React from 'react';

export default class PostingForm extends AbstractComponent {
render() {
return (
<div className="posting-form card">
<form action="" method="post">
<h5 className="card-header">Add a post</h5>
<div className="card-body">
<div className="form-group">
<label htmlFor="postForm-name">Name:</label>
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
placeholder="Your name"
/>
</div>
<div className="form-group">
<label htmlFor="postForm-content">Post:</label>
<textarea
id="postForm-content"
className="form-control"
name="content"
placeholder="What would you like to tell us?"
/>
</div>
</div>
<div className="card-footer">
<button type="submit" className="btn btn btn-outline-primary">
Submit
<div className="ripple-wrapper" />
</button>
</div>
</form>
</div>
);
}
}
+

Nothing new here, we just extracted the code from home controller's view and +put it into a new React component.

+

Now update the render() method in the home controller's view:

+
return (
<div className="l-home container">
<h1>Guestbook</h1>
<PostingForm />

<hr />

<div className="posts">
<h2>Posts</h2>
{this._renderPosts()}
</div>
</div>
);
+

To finish up, import the posting form component:

+
import PostingForm from 'app/component/postingForm/PostingForm';
+

So far we've been only refactoring our code and moving few bits around to make it cleaner. When you refresh the page, you should see the same page as you ended up with after the end of -the previous tutorial.

Now that our code looks much cleaner, we can look into fetching the guestbook +the previous tutorial.

+

Now that our code looks much cleaner, we can look into fetching the guestbook posts from the server. However, if you'd like to linger a little longer and learn more how the controller and view communicate by passing state, check out the following optional section Notes on communication between controllers and -views.

Notes on communication between controllers and views

There are three ways the controllers and views communicate:

  1. By passing state from the controller to the view this is the most -common way of passing information.
  2. By emitting DOM events from the view and listening for them in the controller -or parent components (using the EventBus) this is +views.

    +

    Notes on communication between controllers and views

    +

    There are three ways the controllers and views communicate:

    +
      +
    1. By passing state from the controller to the view – this is the most +common way of passing information.
    2. +
    3. By emitting DOM events from the view and listening for them in the controller +or parent components (using the EventBus) – this is the most common way of notifying the controller or a parent UI component of -the user's actions in the view.
    4. By emitting "global" events in the controller and / or view and listening for +the user's actions in the view.
    5. +
    6. By emitting "global" events in the controller and / or view and listening for them in the controller and / or view (using the Dispatcher) - this is used only in very specific situations, like when the UI +– this is used only in very specific situations, like when the UI needs to be notified about an external event captured by the controller and -updating the state is not practical.

    Passing state

    The controller creates the initial state of the page by returning a hash object +updating the state is not practical.

  3. +
+

Passing state

+

The controller creates the initial state of the page by returning a hash object of values and promises from its load() method. The IMA.js then waits for all the promises to resolve at the server, pass the resulting values as properties -to the page view component, and renders the page to send it to the client.

The situation is a little more complicated at the client-side however. When the +to the page view component, and renders the page to send it to the client.

+

The situation is a little more complicated at the client-side however. When the page is being "re-animated" after being rendered at the server-side, the IMA.js uses the controller's load() method and the returned object in the same way, though the promises are usually resolved immediately using the data in the -cache sent to the client along with the rendered page.

When the user navigates between pages, however, the IMA.js does not wait for +cache sent to the client along with the rendered page.

+

When the user navigates between pages, however, the IMA.js does not wait for all promises to resolve before rendering the new view. The IMA.js registers callbacks on all returned promises, and whenever one of the promises resolves, -IMA.js pushes the currently resolved fragment of the page state to the view.

On one hand, this allows you to display content as it loads (providing it is +IMA.js pushes the currently resolved fragment of the page state to the view.

+

On one hand, this allows you to display content as it loads (providing it is decoupled) while displaying loading indicators where the content is not available yet. On the other hand, this does require you to add more logic to your view, checking whether the data is available or not, and displaying -loading indicators where the data is not available yet.

Emitting events using the EventBus

The EventBus API allows your UI components to emit custom DOM +loading indicators where the data is not available yet.

+

Emitting events using the EventBus

+

The EventBus API allows your UI components to emit custom DOM events that naturally propagate through the DOM tree representing the tree of -your UI components.

This is usually used to notify the parent components of user interaction with -custom controls in your UI, or to notify the page controller itself.

The custom events may have any name and carry arbitrary data that are not -restricted to JSON-serializable values.

Furthermore, the controllers can easily listen for the events dispatched using +your UI components.

+

This is usually used to notify the parent components of user interaction with +custom controls in your UI, or to notify the page controller itself.

+

The custom events may have any name and carry arbitrary data that are not +restricted to JSON-serializable values.

+

Furthermore, the controllers can easily listen for the events dispatched using the EventBus (unless the propagation of the event is stopped by a component -half the way) by declaring event listener methods.

An event listener method is a method of a controller named by the first-letter +half the way) by declaring event listener methods.

+

An event listener method is a method of a controller named by the first-letter capitalized event name with the on prefix, for example the formSubmitted event can be listened for by defining the onFormSubmitted() method on your -controller.

The first argument passed into the controller's event listener method will be +controller.

+

The first argument passed into the controller's event listener method will be the event data, not the event object itself, as manipulating the event object -once it reaches the controller is pointless.

Emitting events using the Dispatcher

The obvious limitation of the EventBus API is that it only allows +once it reaches the controller is pointless.

+

Emitting events using the Dispatcher

+

The obvious limitation of the EventBus API is that it only allows to create events that propagate up the tree of the UI components. The common way to propagate event in other directions, or to other parts of the UI, or -from the controller to the UI is using the Dispatcher API.

The Dispatcher allows any UI component and controller to register and +from the controller to the UI is using the Dispatcher API.

+

The Dispatcher allows any UI component and controller to register and deregister event listeners for arbitrarily named events and fire these events -with arbitrary data.

The events propagate directly to the registered event listeners with no way to -stop their propagation.

Note that events distributed using the Dispatcher are useful only in very +with arbitrary data.

+

The events propagate directly to the registered event listeners with no way to +stop their propagation.

+

Note that events distributed using the Dispatcher are useful only in very specific use-cases, so the Dispatcher logs a warning to the console if there are no listeners registered for the fired event in order to notify you of -possible typos in event names.

As always, you can learn more about EventBus and Dispatcher in the documentation

- - +possible typos in event names.

+

As always, you can learn more about EventBus and Dispatcher in the documentation

\ No newline at end of file diff --git a/tutorial/fetching-data/index.html b/tutorial/fetching-data/index.html index 3ece03283..12384d6e9 100644 --- a/tutorial/fetching-data/index.html +++ b/tutorial/fetching-data/index.html @@ -1,49 +1,77 @@ - + - -Fetching Data | IMA.js - - + +Fetching Data | IMA.js + + -
-

Fetching Data

In last part of this series we tidied up our HomeView component and split our render method +

Fetching Data

In last part of this series we tidied up our HomeView component and split our render method into much smaller and manageable components thanks to react. In this part we're going to -mock the data fetching from server and learn more about IMA.js object container.

Mocking REST API

We won't go into building a REST API server with an actual database storing the +mock the data fetching from server and learn more about IMA.js object container.

+

Mocking REST API

+

We won't go into building a REST API server with an actual database storing the guestbook posts - that is beyond this tutorial and IMA.js. To give you the idea -of fetching data from the server, we'll create a simpler alternative.

We'll start by creating the app/assets/static/api directory and the +of fetching data from the server, we'll create a simpler alternative.

+

We'll start by creating the app/assets/static/api directory and the app/assets/static/api/posts.json file with the following content (copied from -our home controller and modified):

[
{
"id": 4,
"content": "Never mistake motion for action.",
"author": "Ernest Hemingway"
},
{
"id": 3,
"content": "Quality means doing it right when no one is looking.",
"author": "Henry Ford"
},
{
"id": 2,
"content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",
"author": "Aristotle"
},
{
"id": 1,
"content": "Reality is merely an illusion, albeit a very persistent one.",
"author": "Albert Einstein"
}
]

Notice how we added the id field - as mentioned previously, in a real world +our home controller and modified):

+
[
{
"id": 4,
"content": "Never mistake motion for action.",
"author": "Ernest Hemingway"
},
{
"id": 3,
"content": "Quality means doing it right when no one is looking.",
"author": "Henry Ford"
},
{
"id": 2,
"content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",
"author": "Aristotle"
},
{
"id": 1,
"content": "Reality is merely an illusion, albeit a very persistent one.",
"author": "Albert Einstein"
}
]
+

Notice how we added the id field - as mentioned previously, in a real world application, you should rely on the primary keys provided to you by your -backend instead of generating them yourself.

Now that we have our data ready, we just need some way to actually fetch it +backend instead of generating them yourself.

+

Now that we have our data ready, we just need some way to actually fetch it from the server. To do that, we'll introduce 4 new classes into our project: -an entity class, a factory class, a resource class, and a service class.

Entity Class

The entity class represents a typed data holder for our data (which is useful +an entity class, a factory class, a resource class, and a service class.

+

Entity Class

+

The entity class represents a typed data holder for our data (which is useful for debugging) and allows us to add various computed properties without having -to modify our API backend.

Let's create the app/model and app/model/post directories and then a new -file app/model/post/PostEntity.js with the following content:

export default class PostEntity {
constructor(data) {
this.id = data.id;

this.content = data.content;

this.author = data.author;
}
}

We've just created a new class, exported it, and that's it, no more is currently +to modify our API backend.

+

Let's create the app/model and app/model/post directories and then a new +file app/model/post/PostEntity.js with the following content:

+
export default class PostEntity {
constructor(data) {
this.id = data.id;

this.content = data.content;

this.author = data.author;
}
}
+

We've just created a new class, exported it, and that's it, no more is currently required. Our new entity class extracts the data obtained from a data object -(for example obtained from a deserialized JSON) and sets it to its fields.

Factory Class

So, with our entity class ready, let's take a look at the factory class. The +(for example obtained from a deserialized JSON) and sets it to its fields.

+

Factory Class

+

So, with our entity class ready, let's take a look at the factory class. The factory class will be used to create new entities from data objects and arrays -of data objects - but in our case, the latter will suffice for now.

Create a new app/model/post/PostFactory.js file with the following content:

import PostEntity from './PostEntity';

export default class PostFactory {
static get $dependencies() {
return [];
}

createList(entities) {
return entities.map(entityData => new PostEntity(entityData));
}
}

Our new factory class has just one method named createList(). The -method takes an array of data objects and returns an array of post entities.

Resource Class

We have our entity and factory, now we need a resource class. The resource +of data objects - but in our case, the latter will suffice for now.

+

Create a new app/model/post/PostFactory.js file with the following content:

+
import PostEntity from './PostEntity';

export default class PostFactory {
static get $dependencies() {
return [];
}

createList(entities) {
return entities.map(entityData => new PostEntity(entityData));
}
}
+

Our new factory class has just one method named createList(). The +method takes an array of data objects and returns an array of post entities.

+

Resource Class

+

We have our entity and factory, now we need a resource class. The resource class represents our single point of access to a single REST API resource (or entity collection, if you will). The sole purpose of a resource class is to provide a relatively low-level API for accessing the REST API resource. Create -a new app/model/post/PostResource.js file with the following contents:

import PostFactory from './PostFactory';

export default class PostResource {
static get $dependencies() {
return ['$Http', PostFactory];
}

constructor(http, factory) {
this._http = http;

this._factory = factory;
}

getEntityList() {
return this._http
.get('http://localhost:3001/static/static/public/posts.json', {})
.then(response => this._factory.createList(response.body));
}
}

We defined the getEntityList() method in our resource class which we'll use +a new app/model/post/PostResource.js file with the following contents:

+
import PostFactory from './PostFactory';

export default class PostResource {
static get $dependencies() {
return ['$Http', PostFactory];
}

constructor(http, factory) {
this._http = http;

this._factory = factory;
}

getEntityList() {
return this._http
.get('http://localhost:3001/static/static/public/posts.json', {})
.then(response => this._factory.createList(response.body));
}
}
+

We defined the getEntityList() method in our resource class which we'll use to fetch the posts from the server. In a real-world application we would use configuration to set the URL to the resource instead of specifying it like -this, but that is beyond the scope of this tutorial.

The _http.get() method returns a new promise that resolves to the response +this, but that is beyond the scope of this tutorial.

+

The _http.get() method returns a new promise that resolves to the response object of a GET HTTP request sent to the specified URL, with the provided query parameters (the second parameter currently set to an empty object). The method -also automatically parses the JSON in our response body.

We then post-process the parsed response data using the Promise's then -callback which uses our factory to create an array of post entities.

You may have noticed that we have the http and factory parameters in our +also automatically parses the JSON in our response body.

+

We then post-process the parsed response data using the Promise's then +callback which uses our factory to create an array of post entities.

+

You may have noticed that we have the http and factory parameters in our constructor. This is how we provide the resource with the HTTP agent provided by IMA.js, and our post entity factory. We'll take a look at how to do this -properly in a moment.

Service class

You now may be wondering what is the point of the service class. +properly in a moment.

+

Service class

+

You now may be wondering what is the point of the service class. It isn't that useful in our tutorial, but it would be essential in a bigger application. The resource should handle only sending requests and processing responses without any high-level operations. The service class is @@ -51,64 +79,95 @@ API that provides us with paged access to posts and we would want to fetch all posts since a specific one, this would be handled by the service. The service would fetch the necessary pages from the REST API, construct the result and -resolve to the constructed sequence of post entities.

In our case, however, the service will be very plain. Create a new -app/model/post/PostService.js file with the following content:

import PostResource from './PostResource';

export default class PostService {
static get $dependencies() {
return [PostResource];
}

constructor(resource) {
this._resource = resource;
}

getPosts() {
return this._resource.getEntityList();
}
}

Now that we have our entity, factory, resource and service, you may be thinking +resolve to the constructed sequence of post entities.

+

In our case, however, the service will be very plain. Create a new +app/model/post/PostService.js file with the following content:

+
import PostResource from './PostResource';

export default class PostService {
static get $dependencies() {
return [PostResource];
}

constructor(resource) {
this._resource = resource;
}

getPosts() {
return this._resource.getEntityList();
}
}
+

Now that we have our entity, factory, resource and service, you may be thinking that this is a little too much code for something so simple. Well, that depends on many things. If you can expect mostly uniform data from your REST API with little modifications required, you may want to use a reflection-powered solution that requires you only to specify a single configuration item (API root URL) and to create entity classes. The solution shown here is more robust and flexible, allowing you to make slight adjustments to suit every resource -you are working with as required.

Dependency injection

So how do we actually start using our post service? First we need to wire +you are working with as required.

+

Dependency injection

+

So how do we actually start using our post service? First we need to wire everything up, well we actually already did that. You may have noticed that in most of the classes we used some weird static getter called $dependencies, that's how IMA.js built -in dependency injection works.

IMA.js uses internally the Object Container class to handle all dependencies (you can +in dependency injection works.

+

IMA.js uses internally the Object Container class to handle all dependencies (you can read more about it in the documentation), but the basic usage is fairly easy. Every class that wants to use DI has to define static getter which returns an array of instances we want to inject to the constructor in the same order as defined in the array itself. Real -world example would then look something like this:

import HttpClient from 'http';
import PostFactory from './PostFactory';

export default class PostResource {
static get $dependencies() {
return [HttpClient, PostFactory];
}

constructor(http, factory) {
// http and factory contains instances of their respective classes
this._http = http;
this._factory = factory;
}
}

The only condition to have DI working as expected is, that if you want to use any class as a dependency, +world example would then look something like this:

+
import HttpClient from 'http';
import PostFactory from './PostFactory';

export default class PostResource {
static get $dependencies() {
return [HttpClient, PostFactory];
}

constructor(http, factory) {
// http and factory contains instances of their respective classes
this._http = http;
this._factory = factory;
}
}
+

The only condition to have DI working as expected is, that if you want to use any class as a dependency, it has to define static getter $dependencies. Even if it does not have any dependencies and returns -empty array. Otherwise OC will not recognize this as valid class to inject and it won't work.

Object container & bind.js

Object container offers more functionality than just defining DI in the $dependencies method. +empty array. Otherwise OC will not recognize this as valid class to inject and it won't work.

+

Object container & bind.js

+

Object container offers more functionality than just defining DI in the $dependencies method. The app/config/bind.js offers full access to our Object container in the init method. This allows you to do some pretty amazing stuff. You can create aliases for classes, constants, -inject dependencies and more.

The object container serves mostly the following purposes - +inject dependencies and more.

+

The object container serves mostly the following purposes - configuring class constructor dependencies, setting default implementing classes of interfaces, creating aliases for classes, global registry of -values and an instance factory and registry.

Just like an ordinary dependency injector, the Object Container is used to +values and an instance factory and registry.

+

Just like an ordinary dependency injector, the Object Container is used to specify the dependencies of our classes, create and retrieve shared instances -and create new instances on demand.

The object container allows us to:

  • Specify the dependencies of a class using the inject() method or by +and create new instances on demand.

    +

    The object container allows us to:

    +
      +
    • Specify the dependencies of a class using the inject() method or by overriding the $dependencies() static getter on the class itself (the -dependencies will be passed in the constructor).
    • Create string aliases for our classes using the bind() method (like the -$Http alias we used to retrieve the HTTP agent provided by IMA.js).
    • Create named object container-global constants using the constant() method.
    • Specify the default implementation of an interface using the provide() +dependencies will be passed in the constructor).
    • +
    • Create string aliases for our classes using the bind() method (like the +$Http alias we used to retrieve the HTTP agent provided by IMA.js).
    • +
    • Create named object container-global constants using the constant() method.
    • +
    • Specify the default implementation of an interface using the provide() method (this allows us to specify the interface as a dependency and switch the implementation everywhere in our application by changing a single -configuration item).

    We can only access the object container in this configuration file. After that +configuration item).

  • +
+

We can only access the object container in this configuration file. After that it works behind the scenes, providing dependencies and managing our shared -instances as needed. You can find out more about its API by studying the -documentation or the source code.

Using PostServices in HomeController

Let's take another look at the $Http alias among the dependencies of our post +instances as needed. You can find out more about its API by studying the +documentation or the source code.

+

Using PostServices in HomeController

+

Let's take another look at the $Http alias among the dependencies of our post resource - as already mentioned, this is an instance of the HTTP agent (client) provided by the IMA.js. All utilities and services provided by IMA.js are bound to the object container via aliases and have their aliases prefixed with $ to prevent accidental name collisions, but most can be used without having to use aliases as dependency identifiers by specifying the classes and interfaces -themselves as dependencies.

Next we modify the dependencies of the app/page/home/HomeController.js by adding the +themselves as dependencies.

+

Next we modify the dependencies of the app/page/home/HomeController.js by adding the PostService dependency using the static getter syntax. The resulting code looks -as follows:

import { AbstractController } from '@ima/core';
import PostService from 'app/model/post/PostService';

export default class HomeController extends AbstractController {
static get $dependencies() {
return [PostService];
}

constructor(postService) {
super();

this._postService = postService;
}

...
}

This will push an instance of our post service as the first argument to the +as follows:

+
import { AbstractController } from '@ima/core';
import PostService from 'app/model/post/PostService';

export default class HomeController extends AbstractController {
static get $dependencies() {
return [PostService];
}

constructor(postService) {
super();

this._postService = postService;
}

...
}
+

This will push an instance of our post service as the first argument to the constructor of our home page controller. With the post service safely in our -_postService field, we can use it to fetch the posts from the server in our load() method:

return {
posts: this._postService.getPosts()
};

Finally, we can make use of our new post entities in the home controller's view +_postService field, we can use it to fetch the posts from the server in our load() method:

+
return {
posts: this._postService.getPosts()
};
+

Finally, we can make use of our new post entities in the home controller's view (app/page/home/HomeView.jsx). Let's modify the _renderPosts() method to look -like this:

return this.props.posts.map(post => {
return <Post key={post.id} content={post.content} author={post.author} />;
});

Notice how we use the post.id as the react element key here. Now go ahead, +like this:

+
return this.props.posts.map(post => {
return <Post key={post.id} content={post.content} author={post.author} />;
});
+

Notice how we use the post.id as the react element key here. Now go ahead, refresh the page and you'll see the posts still there, -but this time fetched from the server! Or are they?

Server-side rendering

If you open your browsers's developer tools, you may notice that the network log does -not show any request to http://localhost:3001/static/static/public/posts.json.

You may remember that IMA.js is an isomorphic JavaScript application stack. +but this time fetched from the server! Or are they?

+

Server-side rendering

+

If you open your browsers's developer tools, you may notice that the network log does +not show any request to http://localhost:3001/static/static/public/posts.json.

+

You may remember that IMA.js is an isomorphic JavaScript application stack. This means that our application gets rendered at the server first, then it is sent to the client with a serialized state information, and then the -application is "reanimated" at the client-side using the state information.

IMA.js caches the requests we make using the HTTP service at the server-side +application is "reanimated" at the client-side using the state information.

+

IMA.js caches the requests we make using the HTTP service at the server-side and sends the serialized cache to the client. The cache is then deserialized at the client-side, so the request to http://localhost:3001/static/static/public/posts.json we do in our post resource will -be resolved from the cache, leading to no additional HTTP request being made.

- - +be resolved from the cache, leading to no additional HTTP request being made.

\ No newline at end of file diff --git a/tutorial/final-polish/index.html b/tutorial/final-polish/index.html index 3bf8921ef..2012b6e35 100644 --- a/tutorial/final-polish/index.html +++ b/tutorial/final-polish/index.html @@ -1,113 +1,217 @@ - + - -Final Polish | IMA.js - - + +Final Polish | IMA.js + + -
-

Final Polish

In the 5th part of the tutorial we updated our application to be able to process +

Final Polish

In the 5th part of the tutorial we updated our application to be able to process input from user, learned something about ways different components can communicate with each other in IMA.js application -and updated our guestbook API.

In this last part of the tutorial we're going to polish few things up and -finally finish our guestbook application.

Improving user experience (UX)

We have a working application, but the UX (user experience) is kind-of lacking. -We will address this in this section.

Let's start by adding validation to the posting form.

Form validation

Start by extending our constructor in the posting form component (app/component/postingForm/PostingForm.jsx) -with 2 new state keys:

constructor(props, context) {
super(props, context);
...
this.state = {
author: '',
content: '',
authorValid: true,
contentValid: true
};
}

Next we need to update our form elements to visually correspond to the validity of the input +and updated our guestbook API.

+

In this last part of the tutorial we're going to polish few things up and +finally finish our guestbook application.

+

Improving user experience (UX)

+

We have a working application, but the UX (user experience) is kind-of lacking. +We will address this in this section.

+

Let's start by adding validation to the posting form.

+

Form validation

+

Start by extending our constructor in the posting form component (app/component/postingForm/PostingForm.jsx) +with 2 new state keys:

+
constructor(props, context) {
super(props, context);
...
this.state = {
author: '',
content: '',
authorValid: true,
contentValid: true
};
}
+

Next we need to update our form elements to visually correspond to the validity of the input by updating their CSS classes. To achieve this we're going to use is-invalid class which is -taken from the Bootstrap CSS library we're using and will apply red shadow to the input if it's invalid:

<input
id="postForm-name"
className={this.cssClasses({
'form-control': true,
'is-invalid': !this.state.authorValid
})}
type="text"
name="author"
value={this.state.author}
onChange={e => this._onChange(e)}
placeholder="Your name"
/>
...
<textarea
id="postForm-content"
className={this.cssClasses({
'form-control': true,
'is-invalid': !this.state.contentValid
})}
name="content"
value={this.state.content}
onChange={e => this._onChange(e)}
placeholder="What would you like to tell us?"
/>

The expression in the className attribute will set the CSS class is-invalid +taken from the Bootstrap CSS library we're using and will apply red shadow to the input if it's invalid:

+
<input
id="postForm-name"
className={this.cssClasses({
'form-control': true,
'is-invalid': !this.state.authorValid
})}
type="text"
name="author"
value={this.state.author}
onChange={e => this._onChange(e)}
placeholder="Your name"
/>
...
<textarea
id="postForm-content"
className={this.cssClasses({
'form-control': true,
'is-invalid': !this.state.contentValid
})}
name="content"
value={this.state.content}
onChange={e => this._onChange(e)}
placeholder="What would you like to tell us?"
/>
+

The expression in the className attribute will set the CSS class is-invalid on the form element depending on the current state of the authorValid or contentValid flag, while any changes made by the user will trigger the -validation we'll add to our existing _onChange method.

For the sake of this tutorial, we're simply going to check if the inputs are empty or not. -But in a serious application, you should probably implement more sophisticated validation method.

We're going to validate each input in the _onChange handler while also checking the validation +validation we'll add to our existing _onChange method.

+

For the sake of this tutorial, we're simply going to check if the inputs are empty or not. +But in a serious application, you should probably implement more sophisticated validation method.

+

We're going to validate each input in the _onChange handler while also checking the validation in the _onSubmit method, to cover a case, where user doesn't change any input and submits the form -immediately. This would result in false validation, since the initial state for our validation keys is true.

First we're going to implement our validation method, which checks if given input is valid and sets +immediately. This would result in false validation, since the initial state for our validation keys is true.

+

First we're going to implement our validation method, which checks if given input is valid and sets the result of validation to corresponding state key while also returning the result of validation, which -we'll use later in _onSubmit method:

_validate(inputName, value) {
const validStateKey = `${inputName}Valid`;
let isValid = !!value;

if (this.state[validStateKey] !== isValid) {
this.setState({
[validStateKey]: isValid
});
}

return isValid;
}

Through the use of ES2015 dynamic properties, we're able to handle validation for -both inputs in one method.

Now that we have our validation method, we can hook it up to the _onChange handler. -The updated handler with the validation will look like this:

_onChange({ target: { name, value }}) {
this._validate(name, value);
this.setState({
[name]: value
});
}

Finally, we need to prevent the user from submitting the form if any of the -inputs are invalid. To do that, update the onSubmit(event) method's content:

_onSubmit(event) {
event.preventDefault();

// Validate on submit to also cover the initial submission
const { author, content } = this.state;
if (
!this._validate('author', author) ||
!this._validate('content', content)
) {
return;
}

this.fire(this.#containerRef.current, 'postSubmitted', {
author: this.state.author,
content: this.state.content
});

// Reset the state after submitting
this.setState({
author: '',
content: ''
});
}

With this, the form validation is complete. Feel free to check this in your own application +we'll use later in _onSubmit method:

+
_validate(inputName, value) {
const validStateKey = `${inputName}Valid`;
let isValid = !!value;

if (this.state[validStateKey] !== isValid) {
this.setState({
[validStateKey]: isValid
});
}

return isValid;
}
+

Through the use of ES2015 dynamic properties, we're able to handle validation for +both inputs in one method.

+

Now that we have our validation method, we can hook it up to the _onChange handler. +The updated handler with the validation will look like this:

+
_onChange({ target: { name, value }}) {
this._validate(name, value);
this.setState({
[name]: value
});
}
+

Finally, we need to prevent the user from submitting the form if any of the +inputs are invalid. To do that, update the onSubmit(event) method's content:

+
_onSubmit(event) {
event.preventDefault();

// Validate on submit to also cover the initial submission
const { author, content } = this.state;
if (
!this._validate('author', author) ||
!this._validate('content', content)
) {
return;
}

this.fire(this.#containerRef.current, 'postSubmitted', {
author: this.state.author,
content: this.state.content
});

// Reset the state after submitting
this.setState({
author: '',
content: ''
});
}
+

With this, the form validation is complete. Feel free to check this in your own application and you should see red input fields if the inputs are empty, while the submit button should prevent -you from submitting an empty content.

So now let's make the posting experience a little bit better.

Optimistic posting

To better illustrate the issue we're addressing, open the HTTP agent mock +you from submitting an empty content.

+

+

So now let's make the posting experience a little bit better.

+

Optimistic posting

+

To better illustrate the issue we're addressing, open the HTTP agent mock class (app/mock/MockHttpAgent.js) and set the POST_DELAY to 4500. This will introduce a 4.5 second delay before the submitted post is created in the guest book. The delay simulates a client connecting through a narrow bandwidth or using a mobile connection with a bad signal. Try adding a new post now and -you'll see how infuriating this can be.

We can improve the overall UX using a mechanism called optimistic posting. This +you'll see how infuriating this can be.

+

We can improve the overall UX using a mechanism called optimistic posting. This means that we will display the user's post before the server confirms that it has been saved. To further improve the UX, we will mark the post as pending in -the UI, so that the user will be aware that the post has not yet been saved.

Updating the service classes & home controller

We'll start by adding an extra field to our post entity +the UI, so that the user will be aware that the post has not yet been saved.

+

Updating the service classes & home controller

+

We'll start by adding an extra field to our post entity (app/model/post/PostEntity.js) by adding the following line to the -constructor:

this.isSaved = data.isSaved;

We will use the isSaved flag to determine whether the post has been saved at -the server or not.

Next we need to update the getEntityList() method in the post resource class -(app/model/post/PostResource.js):

return this._http
.get('http://localhost:3001/static/static/public/posts.json', {})
.then(response => {
response.body.forEach(post => (post.isSaved = true));
return response.body;
})
.then(postsData => this._factory.createList(postsData));

This modification sets the isSaved flag on posts retrieved from the server, -marking them as saved.

Next we need to update our home page controller +constructor:

+
this.isSaved = data.isSaved;
+

We will use the isSaved flag to determine whether the post has been saved at +the server or not.

+

Next we need to update the getEntityList() method in the post resource class +(app/model/post/PostResource.js):

+
return this._http
.get('http://localhost:3001/static/static/public/posts.json', {})
.then(response => {
response.body.forEach(post => (post.isSaved = true));
return response.body;
})
.then(postsData => this._factory.createList(postsData));
+

This modification sets the isSaved flag on posts retrieved from the server, +marking them as saved.

+

Next we need to update our home page controller (app/page/home/HomeController.js) by modifying the body of the load() -method to the following snippet:

return {
posts: this._postService.getPosts(),
pendingPosts: []
};

We added the pendingPosts field to our state, which we'll use to keep track +method to the following snippet:

+
return {
posts: this._postService.getPosts(),
pendingPosts: []
};
+

We added the pendingPosts field to our state, which we'll use to keep track of the posts that are being submitted to the server. We'll need the post factory in our home controller to create the entities representing the pending posts, so let's modify controller's the constructor by adding a new parameter -and a field for the post factory:

constructor(postService, postFactory) {
super();

this._postService = postService;
this._postFactory = postFactory;
}

And, of course, we need to update the $dependencies list so OC can inject +and a field for the post factory:

+
constructor(postService, postFactory) {
super();

this._postService = postService;
this._postFactory = postFactory;
}
+

And, of course, we need to update the $dependencies list so OC can inject PostFactory instance to our constructor as a second argument. so modify the dependencies of the home -page controller (app/page/home/HomeController.js) to the following:

import PostFactory from 'app/model/post/PostFactory';
...
static get $dependencies() {
return [PostService, PostFactory];
}

Displaying pending posts

Now we need to display both the pending posts and saved posts. To do that, +page controller (app/page/home/HomeController.js) to the following:

+
import PostFactory from 'app/model/post/PostFactory';
...
static get $dependencies() {
return [PostService, PostFactory];
}
+

Displaying pending posts

+

Now we need to display both the pending posts and saved posts. To do that, we need to "patch" our controller's state to in the onPostSubmitted() event -listener after submitting the new post to update our UI:

let pendingPost = this._postFactory.createEntity(
Object.assign(
{
id: null,
isSaved: false
},
eventData
)
);

let state = this.getState();
let pendingPosts = state.pendingPosts.slice();
pendingPosts.unshift(pendingPost);

this.setState({
pendingPosts
});

this._postService
.createPost(eventData)
.then(savedPost => {
// update the state in place
pendingPost.isSaved = true;
pendingPost.id = savedPost.id;

// update the UI
let state = this.getState();
this.setState({
pendingPosts: state.pendingPosts
});

return this._postService.getPosts();
})
.then(posts => {
let state = this.getState();

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
});

Woa, that's a lot of code! Don't worry, we'll break it down.

Recap

First we create a new post entity from our form data augmented with the id +listener after submitting the new post to update our UI:

+
let pendingPost = this._postFactory.createEntity(
Object.assign(
{
id: null,
isSaved: false
},
eventData
)
);

let state = this.getState();
let pendingPosts = state.pendingPosts.slice();
pendingPosts.unshift(pendingPost);

this.setState({
pendingPosts
});

this._postService
.createPost(eventData)
.then(savedPost => {
// update the state in place
pendingPost.isSaved = true;
pendingPost.id = savedPost.id;

// update the UI
let state = this.getState();
this.setState({
pendingPosts: state.pendingPosts
});

return this._postService.getPosts();
})
.then(posts => {
let state = this.getState();

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
});
+

Woa, that's a lot of code! Don't worry, we'll break it down.

+

Recap

+

First we create a new post entity from our form data augmented with the id and isSaved fields to represent our pending post. Next we fetch the current state and patch the pendingPosts field to our state by prepending the pending -post (we want our newest post to be displayed at the top of the list).

Next we ask the post service to create the post and when the post is created, +post (we want our newest post to be displayed at the top of the list).

+

Next we ask the post service to create the post and when the post is created, we mark the pending post as saved, set its ID, patch the pendingPosts field -in the state and refresh the posts list from the server.

Once the updated list of posts is retrieved from the server, we remove the +in the state and refresh the posts list from the server.

+

Once the updated list of posts is retrieved from the server, we remove the pending post from the pendingPosts array (since it is saved at the server -now, it is among the posts fetched from the server) and update the state.

Updating view components

Now that our state contains both the pending and saved posts, we can move to +now, it is among the posts fetched from the server) and update the state.

+

Updating view components

+

Now that our state contains both the pending and saved posts, we can move to the view. Open the controller's view (app/page/home/HomeView.jsx) and update -the _renderPosts() method:

let allPosts = this.props.pendingPosts.concat(this.props.posts);

return allPosts.map(post => {
return (
<Post
key={post.id}
content={post.content}
author={post.author}
isSaved={post.isSaved}
/>
);
});

We concatenate the pending posts and saved posts into a single allPosts +the _renderPosts() method:

+
let allPosts = this.props.pendingPosts.concat(this.props.posts);

return allPosts.map(post => {
return (
<Post
key={post.id}
content={post.content}
author={post.author}
isSaved={post.isSaved}
/>
);
});
+

We concatenate the pending posts and saved posts into a single allPosts array and then render it using our Post component. Notice that we added the -isSaved attribute - we'll use that in a moment.

So let's turn our attention to the post component +isSaved attribute - we'll use that in a moment.

+

So let's turn our attention to the post component (app/component/post/Post.jsx). Update the render() method to the following -snippet:

const { content, author, isSaved } = this.props;

return (
<div
className={this.cssClasses({
post: true,
card: true,
'card-default': true,
'post-pending': !isSaved
})}>
<div className="card-body">{content}</div>
<div className="post-author card-footer">{author}</div>
</div>
);

Nothing really new here, we're just adding the post-pending CSS class on our -post's root element if the post is not saved yet.

Open the post's style file (app/component/post/post.less) and add the -following content:

.post-pending .card-body {
background: #e9e9e9;
}

Try adding new posts - you'll see them highlighted until they are saved. +snippet:

+
const { content, author, isSaved } = this.props;

return (
<div
className={this.cssClasses({
post: true,
card: true,
'card-default': true,
'post-pending': !isSaved
})}>
<div className="card-body">{content}</div>
<div className="post-author card-footer">{author}</div>
</div>
);
+

Nothing really new here, we're just adding the post-pending CSS class on our +post's root element if the post is not saved yet.

+

Open the post's style file (app/component/post/post.less) and add the +following content:

+
.post-pending .card-body {
background: #e9e9e9;
}
+

Try adding new posts - you'll see them highlighted until they are saved. However, should you try to quickly add several posts, you may notice a weird behavior - there is only a single pending post shown, the last one. This is caused by the fact that all our pending posts have their IDs set to null, so -React considers them to be the same post (remember how we use the post ID to identify the post in the DOM?).

To fix that we introduce a new field to our home page controller -(app/page/home/HomeController.js) in the constructor:

this._lastPendingPostId = 0;

...and use it in the onPostSubmitted() method by replacing the -let pendingPost = ... with the following:

let pendingPost = this._postFactory.createEntity(
Object.assign(
{
id: `pending-${this._lastPendingPostId++}`,
isSaved: false
},
eventData
)
);

This will ensure that all our pending posts will have unique IDs, which will be +React considers them to be the same post (remember how we use the post ID to identify the post in the DOM?).

+

To fix that we introduce a new field to our home page controller +(app/page/home/HomeController.js) in the constructor:

+
this._lastPendingPostId = 0;
+

...and use it in the onPostSubmitted() method by replacing the +let pendingPost = ... with the following:

+
let pendingPost = this._postFactory.createEntity(
Object.assign(
{
id: `pending-${this._lastPendingPostId++}`,
isSaved: false
},
eventData
)
);
+

This will ensure that all our pending posts will have unique IDs, which will be also prefixed with pending- to prevent possible collisions with the IDs -generated by our backend.

Auto-refresh

Our guest book sure does look better, but we have to actually refresh the page +generated by our backend.

+

Auto-refresh

+

Our guest book sure does look better, but we have to actually refresh the page (or write a new post) to see whether someone else did not post a new post. So -let's take care of that.

In our case we'll use polling of our REST API. You may want to use a +let's take care of that.

+

In our case we'll use polling of our REST API. You may want to use a WebSocket or Server-sent events in a real-world application to enable real-time updates. Using either of these technologies would require us to write an actual backend for our application, which is -beyond the scope of this tutorial.

REST API pooling

So, to start, add a new field in the home page controller's +beyond the scope of this tutorial.

+

REST API pooling

+

So, to start, add a new field in the home page controller's (app/page/home/HomeController.js) constructor which will hold information -about an interval we'll use to pool our API:

this._refreshIntervalId = null;

Next add the following configuration constant below the import ... -declaration at the beginning of the file:

const REFRESH_DELAY = 2000; // milliseconds

To initialize our refresh cycle, we'll use one of the lifecycle methods that +about an interval we'll use to pool our API:

+
this._refreshIntervalId = null;
+

Next add the following configuration constant below the import ... +declaration at the beginning of the file:

+
const REFRESH_DELAY = 2000; // milliseconds
+

To initialize our refresh cycle, we'll use one of the lifecycle methods that each IMA.js Controller has, an activate() method. To learn more about the lifecycle of Controller and it's methods, take a look at the documentation. In our case -the activate method will look like this:

activate() {
this._refreshIntervalId = setInterval(() => this._refresh(), REFRESH_DELAY);
}

To clear a pending refresh timeout, we'll use the deactivate() method:

deactivate() {
if (this._refreshIntervalId) {
clearInterval(this._refreshIntervalId);
}
}

And, finally, we can implement our _refresh() method:

_refresh() {
this._postService.getPosts().then(posts => {
this.setState({ posts });
});
}

You won't see it because our HTTP communication is only mocked, but the posts +the activate method will look like this:

+
activate() {
this._refreshIntervalId = setInterval(() => this._refresh(), REFRESH_DELAY);
}
+

To clear a pending refresh timeout, we'll use the deactivate() method:

+
deactivate() {
if (this._refreshIntervalId) {
clearInterval(this._refreshIntervalId);
}
}
+

And, finally, we can implement our _refresh() method:

+
_refresh() {
this._postService.getPosts().then(posts => {
this.setState({ posts });
});
}
+

You won't see it because our HTTP communication is only mocked, but the posts are now being refreshed every 2 seconds. But since we do want to see -something happening, let's build a random post generator real quick.

Random generators

To build our random post generator we'll create several new files. Start by -creating the app/mock/TextGenerator.js file with the following contents:

const WORDS = [
'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing',
'elit', 'ut', 'aliquam', 'purus', 'amet', 'luctus', 'venenatis', 'lectus',
'magna', 'fringilla', 'urna', 'porttitor', 'rhoncus', 'non', 'enim',
'praesent', 'elementum', 'facilisis', 'leo', 'vel', 'est', 'ullamcorper',
'eget', 'nulla', 'facilisi', 'etiam', 'dignissim', 'diam', 'quis',
'lobortis', 'scelerisque', 'fermentum', 'dui', 'faucibus', 'in', 'ornare',
'quam', 'viverra', 'orci', 'sagittis', 'eu', 'volutpat', 'odio', 'mauris',
'massa', 'vitae', 'tortor', 'condimentum', 'lacinia', 'eros', 'donec', 'ac',
'tempor', 'dapibus', 'ultrices', 'iaculis', 'nunc', 'sed', 'augue', 'lacus',
'congue', 'eu', 'consequat', 'felis', 'et', 'pellentesque', 'commodo',
'egestas', 'phasellus', 'eleifend', 'pretium', 'vulputate', 'sapien', 'nec',
'aliquam', 'malesuada', 'bibendum', 'arcu', 'curabitur', 'velit', 'sodales',
'sem', 'integer', 'justo', 'vestibulum', 'risus', 'ultricies', 'tristique',
'aliquet', 'tortor', 'at', 'auctor', 'urna', 'id', 'cursus', 'metus', 'mi',
'posuere', 'sollicitudin', 'orci', 'a', 'semper', 'duis', 'tellus', 'mattis',
'nibh', 'proin', 'nisl', 'venenatis', 'a', 'habitant', 'morbi', 'senectus',
'netus', 'fames', 'turpis', 'tempus', 'pharetra', 'pharetra', 'mi',
'hendrerit', 'gravida', 'blandit', 'hac', 'habitasse', 'platea', 'dictumst',
'quisque', 'sagittis', 'consequat', 'nisi', 'suscipit', 'maecenas', 'cras',
'aenean', 'placerat', 'vestibulum', 'eros', 'tincidunt', 'erat', 'imperdiet',
'euismod', 'nisi', 'porta', 'mollis', 'leo', 'nisl', 'ipsum', 'nec',
'nullam', 'feugiat', 'fusce', 'suspendisse', 'potenti', 'vivamus', 'dictum',
'varius', 'sapien', 'molestie', 'ac', 'massa', 'accumsan', 'vitae', 'arcu',
'vel', 'dolor', 'enim', 'neque', 'convallis', 'neque', 'tempus', 'nam',
'pulvinar', 'laoreet', 'interdum', 'libero', 'est', 'tempor', 'elementum',
'nunc', 'risus', 'cum', 'sociis', 'natoque', 'penatibus', 'magnis', 'dis',
'parturient', 'montes', 'nascetur', 'ridiculus', 'mus', 'accumsan', 'lacus',
'volutpat', 'dui', 'ligula', 'libero', 'justo', 'diam', 'rhoncus', 'felis',
'et', 'mauris', 'ante', 'metus', 'commodo', 'velit', 'non', 'tellus',
'purus', 'rutrum', 'fermentum', 'pretium', 'elit', 'vehicula'
];

export default class TextGenerator {
static get $dependencies() {
return [];
}

generateSentence(
minWords = 3,
maxWords = 12,
minSubSentences = 1,
maxSubSentences = 4
) {
let subSentencesCount = this._random(minSubSentences, maxSubSentences);
let subSentences = [];

for (let i = 0; i < subSentencesCount; i++) {
let wordCount = this._random(minWords, maxWords);
let words = [];

for (let j = 0; j < wordCount; j++) {
words.push(WORDS[this._random(0, WORDS.length - 1)]);
}

subSentences.push(words.join(' '));
}

let rawSentence = subSentences.join(', ') + '.';
return rawSentence.substring(0, 1).toUpperCase() + rawSentence.substring(1);
}

generateParagraph(minSentences = 1, maxSentences = 5) {
let sentenceCount = this._random(minSentences, maxSentences);
let sentences = [];

for (let i = 0; i < sentenceCount; i++) {
sentences.push(this.generateSentence());
}

return sentences.join(' ');
}

_random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
}

This is a very simple lorem ipsum +something happening, let's build a random post generator real quick.

+

Random generators

+

To build our random post generator we'll create several new files. Start by +creating the app/mock/TextGenerator.js file with the following contents:

+
const WORDS = [
'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing',
'elit', 'ut', 'aliquam', 'purus', 'amet', 'luctus', 'venenatis', 'lectus',
'magna', 'fringilla', 'urna', 'porttitor', 'rhoncus', 'non', 'enim',
'praesent', 'elementum', 'facilisis', 'leo', 'vel', 'est', 'ullamcorper',
'eget', 'nulla', 'facilisi', 'etiam', 'dignissim', 'diam', 'quis',
'lobortis', 'scelerisque', 'fermentum', 'dui', 'faucibus', 'in', 'ornare',
'quam', 'viverra', 'orci', 'sagittis', 'eu', 'volutpat', 'odio', 'mauris',
'massa', 'vitae', 'tortor', 'condimentum', 'lacinia', 'eros', 'donec', 'ac',
'tempor', 'dapibus', 'ultrices', 'iaculis', 'nunc', 'sed', 'augue', 'lacus',
'congue', 'eu', 'consequat', 'felis', 'et', 'pellentesque', 'commodo',
'egestas', 'phasellus', 'eleifend', 'pretium', 'vulputate', 'sapien', 'nec',
'aliquam', 'malesuada', 'bibendum', 'arcu', 'curabitur', 'velit', 'sodales',
'sem', 'integer', 'justo', 'vestibulum', 'risus', 'ultricies', 'tristique',
'aliquet', 'tortor', 'at', 'auctor', 'urna', 'id', 'cursus', 'metus', 'mi',
'posuere', 'sollicitudin', 'orci', 'a', 'semper', 'duis', 'tellus', 'mattis',
'nibh', 'proin', 'nisl', 'venenatis', 'a', 'habitant', 'morbi', 'senectus',
'netus', 'fames', 'turpis', 'tempus', 'pharetra', 'pharetra', 'mi',
'hendrerit', 'gravida', 'blandit', 'hac', 'habitasse', 'platea', 'dictumst',
'quisque', 'sagittis', 'consequat', 'nisi', 'suscipit', 'maecenas', 'cras',
'aenean', 'placerat', 'vestibulum', 'eros', 'tincidunt', 'erat', 'imperdiet',
'euismod', 'nisi', 'porta', 'mollis', 'leo', 'nisl', 'ipsum', 'nec',
'nullam', 'feugiat', 'fusce', 'suspendisse', 'potenti', 'vivamus', 'dictum',
'varius', 'sapien', 'molestie', 'ac', 'massa', 'accumsan', 'vitae', 'arcu',
'vel', 'dolor', 'enim', 'neque', 'convallis', 'neque', 'tempus', 'nam',
'pulvinar', 'laoreet', 'interdum', 'libero', 'est', 'tempor', 'elementum',
'nunc', 'risus', 'cum', 'sociis', 'natoque', 'penatibus', 'magnis', 'dis',
'parturient', 'montes', 'nascetur', 'ridiculus', 'mus', 'accumsan', 'lacus',
'volutpat', 'dui', 'ligula', 'libero', 'justo', 'diam', 'rhoncus', 'felis',
'et', 'mauris', 'ante', 'metus', 'commodo', 'velit', 'non', 'tellus',
'purus', 'rutrum', 'fermentum', 'pretium', 'elit', 'vehicula'
];

export default class TextGenerator {
static get $dependencies() {
return [];
}

generateSentence(
minWords = 3,
maxWords = 12,
minSubSentences = 1,
maxSubSentences = 4
) {
let subSentencesCount = this._random(minSubSentences, maxSubSentences);
let subSentences = [];

for (let i = 0; i < subSentencesCount; i++) {
let wordCount = this._random(minWords, maxWords);
let words = [];

for (let j = 0; j < wordCount; j++) {
words.push(WORDS[this._random(0, WORDS.length - 1)]);
}

subSentences.push(words.join(' '));
}

let rawSentence = subSentences.join(', ') + '.';
return rawSentence.substring(0, 1).toUpperCase() + rawSentence.substring(1);
}

generateParagraph(minSentences = 1, maxSentences = 5) {
let sentenceCount = this._random(minSentences, maxSentences);
let sentences = [];

for (let i = 0; i < sentenceCount; i++) {
sentences.push(this.generateSentence());
}

return sentences.join(' ');
}

_random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
}
+

This is a very simple lorem ipsum generator - generator of random text that is used as a filler that behaves like -an ordinary text. For example when a webpage layout is being tested.

Random name generator

Next we need a name generator, so create the app/mock/NameGenerator.js file -with the following content:

const CHAINS = [
'ay', 'ho', 'ri', 'tus', 'ga', 'ni', 'of', 'me', 'ar', 'gorn', 'vas', 'si'
];

export default class NameGenerator {
static get $dependencies() {
return [];
}

generateName() {
let chainCount = this._random(2, 5);
let parts = [];

for (let i = 0; i < chainCount; i++) {
parts.push(CHAINS[this._random(0, CHAINS.length - 1)]);
}

return parts.join('');
}

_random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
}

This script generates random names using short chains of letters the -script combines together.

Random post generator

To combine it all up and create the post generator which uses our previously created name and text generators, +an ordinary text. For example when a webpage layout is being tested.

+

Random name generator

+

Next we need a name generator, so create the app/mock/NameGenerator.js file +with the following content:

+
const CHAINS = [
'ay', 'ho', 'ri', 'tus', 'ga', 'ni', 'of', 'me', 'ar', 'gorn', 'vas', 'si'
];

export default class NameGenerator {
static get $dependencies() {
return [];
}

generateName() {
let chainCount = this._random(2, 5);
let parts = [];

for (let i = 0; i < chainCount; i++) {
parts.push(CHAINS[this._random(0, CHAINS.length - 1)]);
}

return parts.join('');
}

_random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
}
+

This script generates random names using short chains of letters the +script combines together.

+

Random post generator

+

To combine it all up and create the post generator which uses our previously created name and text generators, which we'll inject as dependencies, to create a post. create the app/mock/PostGenerator.js file with the -following content:

import TextGenerator from 'app/mock/TextGenerator';
import NameGenerator from 'app/mock/NameGenerator';

export default class PostGenerator {
static get $dependencies() {
return [TextGenerator, NameGenerator];
}

constructor(textGenerator, nameGenerator) {
this._textGenerator = textGenerator;
this._nameGenerator = nameGenerator;
}

generatePost() {
return {
author: this._nameGenerator.generateName(),
content: this._textGenerator.generateParagraph()
};
}
}

This script uses our text and name generators to generate post data similar to -the data we obtain from our posting form.

Updating the MockHttpAgent

Now we just need to integrate the post generator with our mock Http to simulate +following content:

+
import TextGenerator from 'app/mock/TextGenerator';
import NameGenerator from 'app/mock/NameGenerator';

export default class PostGenerator {
static get $dependencies() {
return [TextGenerator, NameGenerator];
}

constructor(textGenerator, nameGenerator) {
this._textGenerator = textGenerator;
this._nameGenerator = nameGenerator;
}

generatePost() {
return {
author: this._nameGenerator.generateName(),
content: this._textGenerator.generateParagraph()
};
}
}
+

This script uses our text and name generators to generate post data similar to +the data we obtain from our posting form.

+

Updating the MockHttpAgent

+

Now we just need to integrate the post generator with our mock Http to simulate other users writing new posts to our guestbook. Open our Http mock (app/mock/MockHttpAgent.js) and add the following constants after the POST_DELAY -constant:

const AUTO_POST_DELAY_MIN = 1500; // milliseconds
const AUTO_POST_DELAY_MAX = 6500; // milliseconds

Next we need to update the constructor along with it's $dependencies:

import PostGenerator from 'app/mock/PostGenerator';
...

static get $dependencies() {
return [
'$HttpAgentProxy',
'$Cache',
'$CookieStorage',
'$Settings.$Http',
'$Window',
PostGenerator
];
}

constructor(proxy, cache, cookie, config, window, postGenerator) {
super(proxy, cache, cookie, config);

this._postGenerator = postGenerator;

this._posts = null;

if (window.isClient()) {
setTimeout(
this._generateRandomPost.bind(this),
this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)
);
}
}

Here we use the window utility provided by IMA.js to determine whether the code +constant:

+
const AUTO_POST_DELAY_MIN = 1500; // milliseconds
const AUTO_POST_DELAY_MAX = 6500; // milliseconds
+

Next we need to update the constructor along with it's $dependencies:

+
import PostGenerator from 'app/mock/PostGenerator';
...

static get $dependencies() {
return [
'$HttpAgentProxy',
'$Cache',
'$CookieStorage',
'$Settings.$Http',
'$Window',
PostGenerator
];
}

constructor(proxy, cache, cookie, config, window, postGenerator) {
super(proxy, cache, cookie, config);

this._postGenerator = postGenerator;

this._posts = null;

if (window.isClient()) {
setTimeout(
this._generateRandomPost.bind(this),
this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)
);
}
}
+

Here we use the window utility provided by IMA.js to determine whether the code is being executed at the client or the server side, as we want our posts to be -generated only at the client side.

Now we need to integrate our new post generator logic:

_generateRandomPost() {
this.post('', this._postGenerator.generatePost()).then(() => {
setTimeout(
this._generateRandomPost.bind(this),
this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)
);
});
}

_random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

With our application logic ready, only thing that needs to be done now is +generated only at the client side.

+

Now we need to integrate our new post generator logic:

+
_generateRandomPost() {
this.post('', this._postGenerator.generatePost()).then(() => {
setTimeout(
this._generateRandomPost.bind(this),
this._random(AUTO_POST_DELAY_MIN, AUTO_POST_DELAY_MAX)
);
});
}

_random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
+

With our application logic ready, only thing that needs to be done now is to refresh your browser and you should see see a new post being added every few seconds -with a random delay. What a lively discussion!

Handling race conditions

Looking back at the previous sub-chapter, we introduced a +with a random delay. What a lively discussion!

+

Handling race conditions

+

Looking back at the previous sub-chapter, we introduced a race condition into our application. We are currently fetching our posts both periodically and when a new post is submitted. The problem is that there is no guarantee in which order @@ -116,60 +220,117 @@ then switching to an older version which may not contain the latest post, and then switching to the new version with the next refresh. This problem could be even more obvious if we used real-time updates using WebSockets or Server-sent -events.

One way to handle this is not to fetch the posts after the user submits a new +events.

+

One way to handle this is not to fetch the posts after the user submits a new post, but this would reduce the UX in our implementation, so this is not the -way we want to go.

Also, the fact that we display a post as saved before we reload the posts list +way we want to go.

+

Also, the fact that we display a post as saved before we reload the posts list may result in the post being displayed at the wrong position in the posts list. -So let's start with this issue first.

Pending posts race condition

Open the home page controller (app/page/home/HomeController.js) and update +So let's start with this issue first.

+

Pending posts race condition

+

Open the home page controller (app/page/home/HomeController.js) and update the onPostSubmitted() method by replacing the this._postService.createPost(eventData)... expression with the following -code:

this._postService
.createPost(eventData)
.then(() => this._postService.getPosts())
.then(posts => {
let state = this.getState();

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
});

What we did here is that we removed the logic that updated the state (and, as a +code:

+
this._postService
.createPost(eventData)
.then(() => this._postService.getPosts())
.then(posts => {
let state = this.getState();

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
});
+

What we did here is that we removed the logic that updated the state (and, as a result, the UI) when the post is saved. Now the state (and UI) is updated only -when we fetch the posts from the server (or the HTTP agent mock in our case).

With this issue taken care of, let's resolve the posts refresh race condition.

Posts refresh race condition

To fix our refresh race condition, we'll envelope the server responses and add a timestamp at which +when we fetch the posts from the server (or the HTTP agent mock in our case).

+

With this issue taken care of, let's resolve the posts refresh race condition.

+

Posts refresh race condition

+

To fix our refresh race condition, we'll envelope the server responses and add a timestamp at which the response has been generated. Open the app/public/posts.json -file and update its contents as follows:

{
"generated": 1420070400000,
"posts": [
{
"id": 4,
"content": "Never mistake motion for action.",
"author": "Ernest Hemingway"
},
{
"id": 3,
"content": "Quality means doing it right when no one is looking.",
"author": "Henry Ford"
},
{
"id": 2,
"content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",
"author": "Aristotle"
},
{
"id": 1,
"content": "Reality is merely an illusion, albeit a very persistent one.",
"author": "Albert Einstein"
}
]
}

We wrapped the array posts into an object and added the generated field set +file and update its contents as follows:

+
{
"generated": 1420070400000,
"posts": [
{
"id": 4,
"content": "Never mistake motion for action.",
"author": "Ernest Hemingway"
},
{
"id": 3,
"content": "Quality means doing it right when no one is looking.",
"author": "Henry Ford"
},
{
"id": 2,
"content": "We are what we repeatedly do. Excellence, then, is not an act, but a habit.",
"author": "Aristotle"
},
{
"id": 1,
"content": "Reality is merely an illusion, albeit a very persistent one.",
"author": "Albert Einstein"
}
]
}
+

We wrapped the array posts into an object and added the generated field set to the UNIX timestamp (with millisecond precision) of the moment the response -was generated by the server.

Now we need to update the get() method of our Http mock -(app/mock/MockHttpAgent.js):

if (!this._posts) {
return super.get(url, data).then((response) => {
this._posts = response.body.posts;

return {
body: {
generated: Date.now(),
posts: this._posts.map(post => Object.assign({}, post))
}
};
});
}

return new Promise((resolve) => {
setTimeout(() => {
resolve({
body: {
generated: Date.now(),
posts: this._posts.map(post => Object.assign({}, post))
}
});
}, GET_DELAY);
});

These are just minor updates - we get the posts array from the posts field in +was generated by the server.

+

Now we need to update the get() method of our Http mock +(app/mock/MockHttpAgent.js):

+
if (!this._posts) {
return super.get(url, data).then((response) => {
this._posts = response.body.posts;

return {
body: {
generated: Date.now(),
posts: this._posts.map(post => Object.assign({}, post))
}
};
});
}

return new Promise((resolve) => {
setTimeout(() => {
resolve({
body: {
generated: Date.now(),
posts: this._posts.map(post => Object.assign({}, post))
}
});
}, GET_DELAY);
});
+

These are just minor updates - we get the posts array from the posts field in the server response and generate an object with the posts and generated -fields as a response instead of just a plain array of data objects.

Updating the PostResource

Next update the getEntityList() method of the post resource -(app/model/post/PostResource.js):

return this._http
.get('http://localhost:3001/static/static/public/posts.json', {})
.then(response => {
response.body.posts.forEach(post => (post.isSaved = true));

let posts = this._factory.createList(response.body.posts);
posts.generated = response.body.generated;

return posts;
});

What we do here is that we "unpack" the server response and set the generated +fields as a response instead of just a plain array of data objects.

+

Updating the PostResource

+

Next update the getEntityList() method of the post resource +(app/model/post/PostResource.js):

+
return this._http
.get('http://localhost:3001/static/static/public/posts.json', {})
.then(response => {
response.body.posts.forEach(post => (post.isSaved = true));

let posts = this._factory.createList(response.body.posts);
posts.generated = response.body.generated;

return posts;
});
+

What we do here is that we "unpack" the server response and set the generated timestamp on the posts array directly (note that a custom entity representing the posts list and the generated timestamp would be better, but this will do -for the purpose of demonstration).

Updating the HomeController

Finally, we just need to check in our home page controller +for the purpose of demonstration).

+

Updating the HomeController

+

Finally, we just need to check in our home page controller app/page/home/HomeController.js whether the posts list we just received is not -stale. Update the _refresh() method:

this._postService.getPosts().then(posts => {
let state = this.getState();
if (posts.generated < state.posts.generated) {
return;
}

this.setState({ posts });
});

...and update the body of the last then callback in the onPostSubmitted() -method:

let state = this.getState();

if (posts.generated < state.posts.generated) {
posts = state.posts;
}

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});

We added simple checks that compares the generated timestamps of the received +stale. Update the _refresh() method:

+
this._postService.getPosts().then(posts => {
let state = this.getState();
if (posts.generated < state.posts.generated) {
return;
}

this.setState({ posts });
});
+

...and update the body of the last then callback in the onPostSubmitted() +method:

+
let state = this.getState();

if (posts.generated < state.posts.generated) {
posts = state.posts;
}

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
+

We added simple checks that compares the generated timestamps of the received posts with our current posts, and discards the received posts if they are -stale.

Animations

We can further improve the UX using animations. Modify the +stale.

+

Animations

+

We can further improve the UX using animations. Modify the app/component/post/post.less file by adding the following declaration at the -end of the file:

.post .card-body {
transition: 0.3s background;
}

This adds a soft transition of the post's background color. Or does it? The +end of the file:

+
.post .card-body {
transition: 0.3s background;
}
+

This adds a soft transition of the post's background color. Or does it? The transition does not seem to work, because we change the ID (remember the key attribute we set to post.id in app/page/home/HomeView.jsx?) of the post in the DOM once we receive it from the server. Because of this the React considers it to be a different post and removes the old one while adding a new one to the DOM instead of modifying the original post DOM, so no transition -takes place.

Retaining original post ID

What we need is for the post to retain the ID we provided it with even after we +takes place.

+

Retaining original post ID

+

What we need is for the post to retain the ID we provided it with even after we receive the response from the server. Fortunately, we can fix this easily in -our home page controller (app/page/home/HomeController.js).

Rename the _lastPendingPostId field declared in the constructor to +our home page controller (app/page/home/HomeController.js).

+

Rename the _lastPendingPostId field declared in the constructor to _lastLocalPostId as it better suits our new use. After that, create the -_localPostIds in the constructor:

this._localPostIds = new Map();

Next update the onPostSubmitted() method:

let pendingPost = this._postFactory.createEntity(
Object.assign(
{
id: `local-${++this._lastLocalPostId}`,
isSaved: false
},
eventData
)
);

let state = this.getState();
let pendingPosts = state.pendingPosts.slice();
pendingPosts.unshift(pendingPost);
this.setState({
pendingPosts
});

this._postService
.createPost(eventData)
.then(createdPost => {
this._localPostIds.set(createdPost.id, pendingPost.id);
return this._postService.getPosts();
})
.then(posts => {
let state = this.getState();

if (posts.generated < state.posts.generated) {
posts = state.posts;
}

posts.forEach(post => {
if (this._localPostIds.has(post.id)) {
post.id = this._localPostIds.get(post.id);
}
});

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
});

Finally, update the _refresh() method:

this._postService.getPosts().then(posts => {
let state = this.getState();
if (posts.generated < state.posts.generated) {
return;
}

posts.forEach(post => {
if (this._localPostIds.has(post.id)) {
post.id = this._localPostIds.get(post.id);
}
});

this.setState({ posts });
});

The posts created by the user viewing the page will now maintain their IDs and +_localPostIds in the constructor:

+
this._localPostIds = new Map();
+

Next update the onPostSubmitted() method:

+
let pendingPost = this._postFactory.createEntity(
Object.assign(
{
id: `local-${++this._lastLocalPostId}`,
isSaved: false
},
eventData
)
);

let state = this.getState();
let pendingPosts = state.pendingPosts.slice();
pendingPosts.unshift(pendingPost);
this.setState({
pendingPosts
});

this._postService
.createPost(eventData)
.then(createdPost => {
this._localPostIds.set(createdPost.id, pendingPost.id);
return this._postService.getPosts();
})
.then(posts => {
let state = this.getState();

if (posts.generated < state.posts.generated) {
posts = state.posts;
}

posts.forEach(post => {
if (this._localPostIds.has(post.id)) {
post.id = this._localPostIds.get(post.id);
}
});

this.setState({
posts: posts,
pendingPosts: state.pendingPosts.filter(post => post !== pendingPost)
});
});
+

Finally, update the _refresh() method:

+
this._postService.getPosts().then(posts => {
let state = this.getState();
if (posts.generated < state.posts.generated) {
return;
}

posts.forEach(post => {
if (this._localPostIds.has(post.id)) {
post.id = this._localPostIds.get(post.id);
}
});

this.setState({ posts });
});
+

The posts created by the user viewing the page will now maintain their IDs and see a soft transition of the post's background once the post is saved at the -backend.

Animating new posts

Let's add some animation to the newly added posts as well. Add the following -snippet of code to the end of the app/component/post/post.less file:

.post {
overflow: hidden;
animation: new-post 0.3s;
}

@keyframes new-post {
from {
max-height: 0;
opacity: 0;
}

to {
max-height: 5em;
opacity: 1;
}
}

To put some final touches on the posts we'll add a progress indicator to the +backend.

+

Animating new posts

+

Let's add some animation to the newly added posts as well. Add the following +snippet of code to the end of the app/component/post/post.less file:

+
.post {
overflow: hidden;
animation: new-post 0.3s;
}

@keyframes new-post {
from {
max-height: 0;
opacity: 0;
}

to {
max-height: 5em;
opacity: 1;
}
}
+

To put some final touches on the posts we'll add a progress indicator to the pending posts. Add the following snippet to the post component's view (app/component/post/Post.jsx) at the end of the -<div className='post-author card-footer'> element's content:

<div className="spinner">
<div className="bounce1" />
<div className="bounce2" />
<div className="bounce3" />
</div>

Then add the following declaration to the post component's -app/component/post/post.less file to the .post-author rule:

position: relative;

After that add the following snippet into the .post-author rule (code snippet -obtained from https://tobiasahlin.com/spinkit/ and subsequently modified):

.spinner {
position: absolute;
top: 1em;
width: 70px;
text-align: center;
opacity: 0;
transition: 0.3s opacity;

& > div {
width: 16px;
height: 16px;
background-color: #333;
margin-right: 4px;

border-radius: 100%;
display: inline-block;
animation: bouncedelay 1.4s infinite ease-in-out;
animation-fill-mode: both;
}

.bounce1 {
animation-delay: -0.32s;
}

.bounce2 {
animation-delay: -0.16s;
}

@keyframes bouncedelay {
0%, 80%, 100% {
transform: scale(0.0);
}
40% {
transform: scale(1.0);
}
}
}

And finally add the following snippet at the end of the file:

.post-pending .post-author .spinner {
opacity: 1;
}

Try writing new posts! The pending posts will have a progress indicator in the +<div className='post-author card-footer'> element's content:

+
<div className="spinner">
<div className="bounce1" />
<div className="bounce2" />
<div className="bounce3" />
</div>
+

Then add the following declaration to the post component's +app/component/post/post.less file to the .post-author rule:

+
position: relative;
+

After that add the following snippet into the .post-author rule (code snippet +obtained from https://tobiasahlin.com/spinkit/ and subsequently modified):

+
.spinner {
position: absolute;
top: 1em;
width: 70px;
text-align: center;
opacity: 0;
transition: 0.3s opacity;

& > div {
width: 16px;
height: 16px;
background-color: #333;
margin-right: 4px;

border-radius: 100%;
display: inline-block;
animation: bouncedelay 1.4s infinite ease-in-out;
animation-fill-mode: both;
}

.bounce1 {
animation-delay: -0.32s;
}

.bounce2 {
animation-delay: -0.16s;
}

@keyframes bouncedelay {
0%, 80%, 100% {
transform: scale(0.0);
}
40% {
transform: scale(1.0);
}
}
}
+

And finally add the following snippet at the end of the file:

+
.post-pending .post-author .spinner {
opacity: 1;
}
+

Try writing new posts! The pending posts will have a progress indicator in the lower left corner. If you followed the tutorial from start, -the final application should look something like the picture below.

Conclusion

If all went well, you are currently in front of a finished application. I hope -you liked the journey and are happy with what you've learned here.

From now I suggest to take a look at our documentation which goes into greater -detail in describing each component of IMA.js development stack or take a direct look at the API.

If you see any improvements that could be made to this tutorial, or have found +the final application should look something like the picture below.

+

+

Conclusion

+

If all went well, you are currently in front of a finished application. I hope +you liked the journey and are happy with what you've learned here.

+

From now I suggest to take a look at our documentation which goes into greater +detail in describing each component of IMA.js development stack or take a direct look at the API.

+

If you see any improvements that could be made to this tutorial, or have found any mistakes, please let us know by creating issue in our IMA.js monorepo, -or even better, creating PR.

I bid you farewell!

- - +or even better, creating PR.

+

I bid you farewell!

\ No newline at end of file diff --git a/tutorial/introduction/index.html b/tutorial/introduction/index.html index c0a5af5e8..6a462e7f1 100644 --- a/tutorial/introduction/index.html +++ b/tutorial/introduction/index.html @@ -1,54 +1,83 @@ - + - -Introduction | IMA.js - - + +Introduction | IMA.js + + -
-

Introduction

In this tutorial we will build our first IMA.js web application - a simple +

Introduction

In this tutorial we will build our first IMA.js web application - a simple guest book which will list the posts left by other visitors and allow us to -write new posts.

Your first IMA.js application

Through the course of this tutorial, we will work with +write new posts.

+

Your first IMA.js application

+

Through the course of this tutorial, we will work with git, gulp, ES2015 (ES6), Less CSS and React. Feel free to familiarize yourself with any of these tools upfront if you are not already. Don't worry though, we'll take things slow and assume no prior knowledge of these tools in this -tutorial.

We do, however, assume that you are familiar with +tutorial.

+

We do, however, assume that you are familiar with JavaScript (ECMAScript 2015), the MVC pattern, and the Single-page application architecture (SPA). Knowledge of an SPA framework such as Angular or -Ember is recommended, but not necessary.

We also assume that you have Node.js with NPM (the -current version is recommended) and a Git client installed on your computer.

Setup

First we need to bootstrap our new IMA.js application. Thanks to create-ima-app -npm package, available since IMA.js v17, this process is fairly simple.

To initialize new project, run following command and choose the "Empty" (Hello World) template:

npx create-ima-app imajs-tutorial

For TypeScript support run the initializing command with following parameters:

npx create-ima-app imajs-tutorial --typescript

This will bootstrap the IMA.js directory structure and install all dependencies. To -learn more information about create-ima-app package, take a look at its github repository.

To finish our setup, we will start a development server that will allow us to -see our application in action. To do that, cd into the imajs-tutorial directory and run following command:

npm run dev

As you can already see from the command line, if everything went well, you can view the basic "hello world" -application by opening http://localhost:3001/ in your browser.

Dev server

By running npm run dev you start your application in development mode with a dev server.

The dev server will keep running in the background, watching for any changes made to +Ember is recommended, but not necessary.

+

We also assume that you have Node.js with NPM (the +current version is recommended) and a Git client installed on your computer.

+

Setup

+

First we need to bootstrap our new IMA.js application. Thanks to create-ima-app +npm package, available since IMA.js v17, this process is fairly simple.

+

To initialize new project, run following command and choose the "Empty" (Hello World) template:

+
npx create-ima-app imajs-tutorial
+

For TypeScript support run the initializing command with following parameters:

+
npx create-ima-app imajs-tutorial --typescript
+

This will bootstrap the IMA.js directory structure and install all dependencies. To +learn more information about create-ima-app package, take a look at its github repository.

+

To finish our setup, we will start a development server that will allow us to +see our application in action. To do that, cd into the imajs-tutorial directory and run following command:

+
npm run dev
+

As you can already see from the command line, if everything went well, you can view the basic "hello world" +application by opening http://localhost:3001/ in your browser.

+

+

Dev server

+

By running npm run dev you start your application in development mode with a dev server.

+

The dev server will keep running in the background, watching for any changes made to the project files and reload the app, allowing us the see the -result in the browser without having to restart the application.

If you'll happen to not see the changes you've made through this tutorial in +result in the browser without having to restart the application.

+

If you'll happen to not see the changes you've made through this tutorial in your browser, check whether the dev server did not crash or freeze (or didn't pick up some new files). Should that happen, you can kill the server by pressing Ctrl+C and restart it by running npm run dev. If you see an error after you restarted the dev server, check your source code. The error -should hint what to look for and where to find the source of the trouble.

Additionally, if you want to, you may install the +should hint what to look for and where to find the source of the trouble.

+

Additionally, if you want to, you may install the React DevTools (Chrome, Firefox) -to inspect your view in the browser dev tools.

ENOSPC error

Finally, you may encounter the ENOSPC error when working with a large project -using a *nix OS. This can be fixed using the following code snippet ran from a +to inspect your view in the browser dev tools.

+

ENOSPC error

+

Finally, you may encounter the ENOSPC error when working with a large project +using a *nix OS. This can be fixed using the following code snippet ran from a terminal -(source of the snippet here):

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Directories and files in your application

All files that are specific to our application are located in the app, +(source of the snippet here):

+
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
+

Directories and files in your application

+

All files that are specific to our application are located in the app, directory. The package.json file provides the npm tool with information -about the dependencies of our application.

You may have also noticed the doc, build and server directories (some of these folders may not be visible until they are generated in the first call of npm run dev or npm run build).

  • The doc directory contains the documentation for IMA.js APIs and our application -rendered to HTML.
  • The server contains the application logic of the HTTP -server serving our application.
  • Finally, the build directory is used as an -output directory for the built application and its resources.

For more information see the Application Structure -section in the documentation.

- - +about the dependencies of our application.

+

You may have also noticed the doc, build and server directories (some of these folders may not be visible until they are generated in the first call of npm run dev or npm run build).

+
    +
  • The doc directory contains the documentation for IMA.js APIs and our application +rendered to HTML.
  • +
  • The server contains the application logic of the HTTP +server serving our application.
  • +
  • Finally, the build directory is used as an +output directory for the built application and its resources.
  • +
+

For more information see the Application Structure +section in the documentation.

\ No newline at end of file diff --git a/tutorial/static-view/index.html b/tutorial/static-view/index.html index ef87d0177..e6c29551d 100644 --- a/tutorial/static-view/index.html +++ b/tutorial/static-view/index.html @@ -1,26 +1,35 @@ - + - -Static View | IMA.js - - + +Static View | IMA.js + + -
-

Static View

In the first part we went through introduction to IMA.js and initialized our first +

Static View

In the first part we went through introduction to IMA.js and initialized our first application using create-ima-app command. In the second part of the tutorial -we'll actually do some coding and prepare basic Views for our guest book application.

View Component

Open up the app/page/home/HomeView.jsx file in your code editor. You will see a +we'll actually do some coding and prepare basic Views for our guest book application.

+

View Component

+

Open up the app/page/home/HomeView.jsx file in your code editor. You will see a single ES2015 class named HomeView, extending the AbstractComponent class (which in turn extends the React.Component -class). You can read more about components and views in the documentation.

Now let's replace the contents of the file with a blank view:

import { PageContext, AbstractComponent } from '@ima/react-page-renderer';
import React from 'react';
import './homeView.less';

export class HomeView extends AbstractComponent {
static get contextType() {
return PageContext;
}

render() {
return null;
}
}
+

The HomeView class defines the render() method. Notice that our current HomeView class does not have the constructor() method, as the default -one provided by the AbstractComponent class will do in this case.

The constructor() is the class constructor (an object initializer, if you +one provided by the AbstractComponent class will do in this case.

+

The constructor() is the class constructor (an object initializer, if you will) that sets the component's initial properties (props) and context. The props object represents the properties set on our view component by the code using it (the properties are set using the element attributes in JSX, @@ -29,27 +38,39 @@ context is an object representing the "globals" for the React components in the application. IMA.js uses the context to pass view utils to components, you can find out more about it -here.

There's also static getter contextType() which returns PageContext, that +here.

+

There's also static getter contextType() which returns PageContext, that by default provides the component access to global $Utils object in the component context. This object is very useful as we can bind custom helper methods to it in the bind.jsfile with the help of Object Container. But we'll talk about this a bit more -later in this tutorial

The render() method creates and returns a React element that represents the +later in this tutorial

+

The render() method creates and returns a React element that represents the view in the UI. Our render() method returns null because our component does -not have a UI yet.

Now that we know our way around our component, let's replace the contents of -the render() method with the following code:

return <div className="l-home container">Hello {'World'}!</div>;

The "HTML" code you see is actually an XML markup with JavaScript expressions +not have a UI yet.

+

Now that we know our way around our component, let's replace the contents of +the render() method with the following code:

+
return <div className="l-home container">Hello {'World'}!</div>;
+

The "HTML" code you see is actually an XML markup with JavaScript expressions embedded within curly braces. This markup is processed automatically by Babel's JSX transformer into ordinary JavaScript expressions creating React elements (React's virtual DOM allowing rendering at both the client and the server side). This combination of JavaScript and XML is commonly referred to as JSX and you can find out more about it -here.

The render() method must always return a React element (or a similar plain +here.

+

The render() method must always return a React element (or a similar plain object, or null), so it can be properly rendered at both the client and server. Never attempt to create an actual DOM element in your view - your application will most likely break! This is because your code is run at the server first, where no DOM is available, and polyfilling it, while possible, would introduce a large overhead. Additionally, since the UI is rendered using React which modifies the DOM at the client side, any changes to the DOM you would -manage to make would likely be lost with the next update of the page's UI.

If everything went well you should see the following page when you refresh your browser:

Guestbook form & SMACSS

Let's modify the return value of the render method to look like this:

return (
<div className="l-home container">
<h1>Guestbook</h1>

<div className="posting-form card">
<form action="" method="post">
<h5 className="card-header">Add a post</h5>
<div className="card-body">
<div className="form-group">
<label htmlFor="postForm-name">Name:</label>
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
placeholder="Your name"
/>
</div>
<div className="form-group">
<label htmlFor="postForm-content">Post:</label>
<textarea
id="postForm-content"
className="form-control"
name="content"
placeholder="What would you like to tell us?"
/>
</div>
</div>
<div className="card-footer">
<button type="submit" className="btn btn btn-outline-primary">
Submit
<div className="ripple-wrapper" />
</button>
</div>
</form>
</div>
<hr />
<div className="posts">
<h2>Posts</h2>
<div className="post card card-default">
<div className="card-body">Never mistake motion for action.</div>
<div className="post-author card-footer">Ernest Hemingway</div>
</div>
<div className="post card card-default">
<div className="card-body">
Quality means doing it right when no one is looking.
</div>
<div className="post-author card-footer">Henry Ford</div>
</div>
<div className="post card card-default">
<div className="card-body">
We are what we repeatedly do. Excellence, then, is not an act, but
a habit.
</div>
<div className="post-author card-footer">Aristotle</div>
</div>
<div className="post card card-default">
<div className="card-body">
Reality is merely an illusion, albeit a very persistent one.
</div>
<div className="post-author card-footer">Albert Einstein</div>
</div>
</div>
</div>
);

Whoa, that's a lot of code! But don't worry, it's just a form we'll use to +manage to make would likely be lost with the next update of the page's UI.

+

If everything went well you should see the following page when you refresh your browser:

+

+

Guestbook form & SMACSS

+

Let's modify the return value of the render method to look like this:

+
return (
<div className="l-home container">
<h1>Guestbook</h1>

<div className="posting-form card">
<form action="" method="post">
<h5 className="card-header">Add a post</h5>
<div className="card-body">
<div className="form-group">
<label htmlFor="postForm-name">Name:</label>
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
placeholder="Your name"
/>
</div>
<div className="form-group">
<label htmlFor="postForm-content">Post:</label>
<textarea
id="postForm-content"
className="form-control"
name="content"
placeholder="What would you like to tell us?"
/>
</div>
</div>
<div className="card-footer">
<button type="submit" className="btn btn btn-outline-primary">
Submit
<div className="ripple-wrapper" />
</button>
</div>
</form>
</div>
<hr />
<div className="posts">
<h2>Posts</h2>
<div className="post card card-default">
<div className="card-body">Never mistake motion for action.</div>
<div className="post-author card-footer">Ernest Hemingway</div>
</div>
<div className="post card card-default">
<div className="card-body">
Quality means doing it right when no one is looking.
</div>
<div className="post-author card-footer">Henry Ford</div>
</div>
<div className="post card card-default">
<div className="card-body">
We are what we repeatedly do. Excellence, then, is not an act, but
a habit.
</div>
<div className="post-author card-footer">Aristotle</div>
</div>
<div className="post card card-default">
<div className="card-body">
Reality is merely an illusion, albeit a very persistent one.
</div>
<div className="post-author card-footer">Albert Einstein</div>
</div>
</div>
</div>
);
+

Whoa, that's a lot of code! But don't worry, it's just a form we'll use to write new posts and some example posts. Notice the CSS class we put on the root element though, l-home. It is considered a good practice to add such a CSS class on the root element of every React component and/or controller view. The @@ -57,56 +78,93 @@ controller's name, for example MyAwesomeComponent would become my-awesome-component. Additionally, it is recommended to prefix the controller's name with l- (think "layout"), leading to l-home for our -Home controller's view.

The main point of this practice is that it enables easy scoping of CSS rules +Home controller's view.

+

The main point of this practice is that it enables easy scoping of CSS rules that should affect only the contents of the component and not the rest of the -page, thus reducing the amount of possible conflicts in CSS declarations.

The l- prefix used in the case of controller views is added to prevent +page, thus reducing the amount of possible conflicts in CSS declarations.

+

The l- prefix used in the case of controller views is added to prevent possible collisions with components that might share the same name, and to allow easy inclusion of single page-specific overrides for the UI of your -components that will not affect the rest of the pages in your application.

In general, it is recommended to organize your CSS code according to the +components that will not affect the rest of the pages in your application.

+

In general, it is recommended to organize your CSS code according to the SMACSS recommendation (Scalable and Modular Architecture for CSS). Feel free to read through the page if you are not familiar with -SMACSS yet, it won't take you long.

Styling our form

So let's make our guestbook look a little better. To achieve this, we'll +SMACSS yet, it won't take you long.

+

Styling our form

+

So let's make our guestbook look a little better. To achieve this, we'll use the Bootstrap library. To make things simple, -we will just use the CDN-hosted CSS file, since we don't need any of Bootstrap's JS components in our example anyway.

In a real application, we strongly recommend you manage these dependencies yourself (for example through npm packages), -and consider using a custom build that includes only the necessary CSS/JS.

First we need to include a few files to our page. Open the document component +we will just use the CDN-hosted CSS file, since we don't need any of Bootstrap's JS components in our example anyway.

+

In a real application, we strongly recommend you manage these dependencies yourself (for example through npm packages), +and consider using a custom build that includes only the necessary CSS/JS.

+

First we need to include a few files to our page. Open the document component app/component/document/DocumentView.jsx (this is the UI component that renders the basic structure of the HTML document. You'll find more details about it in the Rendering the whole document section of this chapter). Insert the following code before the <link rel="stylesheet" ... line to include -the Bootstrap CSS library:

<link
rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
crossOrigin="anonymous"
/>

This will save us a lot of effort with styling our UI.

Defining custom styles

Let's write some CSS to make our guestbook look even better. Open the +the Bootstrap CSS library:

+
<link
rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
crossOrigin="anonymous"
/>
+

This will save us a lot of effort with styling our UI.

+

Defining custom styles

+

Let's write some CSS to make our guestbook look even better. Open the app/less/globals.less file and add the following code to set up our -layout configuration:

@post-author-alignment: right;

Next open the app/less/app.less file and add the following code below the existing one:

form {
margin-bottom: 0;
}

Now let's open the the app/page/home/homeView.less file and replace the -contents with the following code:

.l-home {
margin-top: 2rem;

.post-author {
text-align: @post-author-alignment;
font-style: italic;
font-size: 85%;
}

.card {
margin-bottom: 2rem;
}
}

Go ahead and check the results in the browser. It sure does look a little +layout configuration:

+
@post-author-alignment: right;
+

Next open the app/less/app.less file and add the following code below the existing one:

+
form {
margin-bottom: 0;
}
+

Now let's open the the app/page/home/homeView.less file and replace the +contents with the following code:

+
.l-home {
margin-top: 2rem;

.post-author {
text-align: @post-author-alignment;
font-style: italic;
font-size: 85%;
}

.card {
margin-bottom: 2rem;
}
}
+

Go ahead and check the results in the browser. It sure does look a little better (you may have to reload the page, or event restart the dev server by hitting Ctrl+C and then re-running the npm run dev command if your browser cannot access the newly installed resources). In the end of this section -you should see something like this when you refresh your page.

Rendering the whole document

As you may have noticed, we didn't specify any <html> or <body> element in +you should see something like this when you refresh your page.

+

+

Rendering the whole document

+

As you may have noticed, we didn't specify any <html> or <body> element in our controller view, and yet the page rendered in the browser has them. So how -did this little piece of magic happen?

As you may recall from the beginning of this tutorial, the app/component +did this little piece of magic happen?

+

As you may recall from the beginning of this tutorial, the app/component directory contains components that are used in the application UI. There is one special component - the document component (app/component/document/DocumentView.jsx). The document component handles rendering the basic structure of the HTML document like the <html> and -<body> elements.

Finally, the document component must render three elements, <div id="page">, -<script id="revivalSettings"> and <script id="scripts">.

  • #page - is a place where current view is rendered.
  • #revivalSettings - contains JavaScript code used to initialize the environment for your application at the client side.
  • #scripts - contains the JavaScript logic of your application.

The order is important as this will allow your users +<body> elements.

+

Finally, the document component must render three elements, <div id="page">, +<script id="revivalSettings"> and <script id="scripts">.

+
    +
  • #page - is a place where current view is rendered.
  • +
  • #revivalSettings - contains JavaScript code used to initialize the environment for your application at the client side.
  • +
  • #scripts - contains the JavaScript logic of your application.
  • +
+

The order is important as this will allow your users to see the whole of the page content before the application is fully loaded in -the browser (remember, the content is first rendered at the server side).

The one thing the document component does not render and is handled by IMA.js +the browser (remember, the content is first rendered at the server side).

+

The one thing the document component does not render and is handled by IMA.js itself is the <!doctype html> doctype at the beginning of the rendered page - this is due to the limitations of the React library, but you don't need to -concern yourself with this very much.

Note that the document component is only used at the server-side, as the +concern yourself with this very much.

+

Note that the document component is only used at the server-side, as the application only updates the contents of the #page element at the client-side (and the page title and meta tags through the meta-manager, which will not be covered by this tutorial, but you can learn more about its interface -in the API /api/meta/meta-meta-manager).

For more information about DocumentView and whole rendering process of IMA.js -application, take a look at the documentation.

Notes on ES2015 modules and IMA.js namespaces

Starting with version 15 of IMA.js namespaces were deprecated in favor of ES2015 +in the API /api/meta/meta-meta-manager).

+

For more information about DocumentView and whole rendering process of IMA.js +application, take a look at the documentation.

+

Notes on ES2015 modules and IMA.js namespaces

+

Starting with version 15 of IMA.js namespaces were deprecated in favor of ES2015 modules. Mainly because ES modules are now more widespread and have better support -in many IDEs thus don't pose such a problem when it comes to refactoring.

Previously almost all of the JavaScript files in your IMA.js application included -a snippet of code like this one near the beginning:

import ns from 'ima/namespace';

ns.namespace('app.foo.bar');

and ended with a line of code like this one:

ns.app.foo.bar.Baz = Baz;

The first snippet imports the object that represents the root namespace for the +in many IDEs thus don't pose such a problem when it comes to refactoring.

+

Previously almost all of the JavaScript files in your IMA.js application included +a snippet of code like this one near the beginning:

+
import ns from 'ima/namespace';

ns.namespace('app.foo.bar');
+

and ended with a line of code like this one:

+
ns.app.foo.bar.Baz = Baz;
+

The first snippet imports the object that represents the root namespace for the classes, constants and values in the application, and then ensures that the namespace to which the class / constant / value will be bound exists by calling ns.namespace('namespace name goes here'). The second snippet binds the class, -constant or value created in the file to the namespace.

If you're using version 15 and above you can safely remove deprecated namespaces +constant or value created in the file to the namespace.

+

If you're using version 15 and above you can safely remove deprecated namespaces and replace them with ES2015 import -and export.

- - +and export.

\ No newline at end of file diff --git a/tutorial/writing-posts/index.html b/tutorial/writing-posts/index.html index 3921b77fe..8b49ba654 100644 --- a/tutorial/writing-posts/index.html +++ b/tutorial/writing-posts/index.html @@ -1,100 +1,172 @@ - + - -Writing Posts | IMA.js - - + +Writing Posts | IMA.js + + -
-

Writing Posts

In previous part we created our classes and services to handle data fetching from server. +

Writing Posts

In previous part we created our classes and services to handle data fetching from server. We also learned something about the vital parts of IMA.js - object container and server-side rendering. In this smaller section of the tutorial, we're going to be processing input from user and -sending those data to the server.

Processing input from user

To write new posts, we need to address several issues:

  • Notifying the controller that the user submitted the new post.
  • Sending the post to our server via HTTP (remember, we don't have -an actual REST API backend, so we're going to mock this).
  • Waiting for our post to be saved.
  • Showing the updated list of posts.

We want the controller to handle submitting posts to the guest book in our +sending those data to the server.

+

Processing input from user

+

To write new posts, we need to address several issues:

+
    +
  • Notifying the controller that the user submitted the new post.
  • +
  • Sending the post to our server via HTTP (remember, we don't have +an actual REST API backend, so we're going to mock this).
  • +
  • Waiting for our post to be saved.
  • +
  • Showing the updated list of posts.
  • +
+

We want the controller to handle submitting posts to the guest book in our application instead of the postingForm component to maintain a single "source of truth" in our application. This should be the case for all information that is related to the page as a whole. Local information (for example starting music playback when the user clicks the play button of some player component) may remain stored within the component itself, as it is not -necessarily important to the overall state of the page.

We'll use another IMA.js service to notify the controller that the user +necessarily important to the overall state of the page.

+

We'll use another IMA.js service to notify the controller that the user submitted a new post - the EventBus. In case you did not read the details about communication between the controller and the view -, the EventBus is an internal event system, built on top of DOM events, used for communication like this.

Updating the form

First update the <form ... markup in the view of our PostingForm component +, the EventBus is an internal event system, built on top of DOM events, used for communication like this.

+

Updating the form

+

First update the <form ... markup in the view of our PostingForm component (app/component/postingForm/PostingForm.jsx) by adding an onSubmit event -listener:

<form action="" method="post" onSubmit={e => this._onSubmit(e)}>

Then we need to hook our inputs to _onChange() handler which will set the contents of -those input to the state of our PostingForm component.

<input
id="postForm-name"
className="form-control"
type="text"
name="author"
value={this.state.author}
onChange={e => this._onChange(e)}
placeholder="Your name"
/>
...
<textarea
id="postForm-content"
className="form-control"
name="content"
value={this.state.content}
onChange={e => this._onChange(e)}
placeholder="What would you like to tell us?"
/>

We can't forget to define the default state for these two keys:

#containerRef;
constructor(props, context) {
super(props, context);
this.#containerRef = createRef();
this.state = {
author: '',
content: ''
};
}

Import the createRef from React to the -beginning of the file:

import { createRef } from 'react';

...and add ref={this.#containerRef} to the first div in the the component:

...
render() {
return (
<div className='posting-form card' ref={this.#containerRef}>
<form action='' method='post' onSubmit={e => this._onSubmit(e)}>
...

This adds some internal state to our form component, which we'll maintain -separately from the main page state maintained by the home page controller.

Now we need to define the _onChange() handler. We're going to use the +listener:

+
<form action="" method="post" onSubmit={e => this._onSubmit(e)}>
+

Then we need to hook our inputs to _onChange() handler which will set the contents of +those input to the state of our PostingForm component.

+
<input
id="postForm-name"
className="form-control"
type="text"
name="author"
value={this.state.author}
onChange={e => this._onChange(e)}
placeholder="Your name"
/>
...
<textarea
id="postForm-content"
className="form-control"
name="content"
value={this.state.content}
onChange={e => this._onChange(e)}
placeholder="What would you like to tell us?"
/>
+

We can't forget to define the default state for these two keys:

+
#containerRef;
constructor(props, context) {
super(props, context);
this.#containerRef = createRef();
this.state = {
author: '',
content: ''
};
}
+

Import the createRef from React to the +beginning of the file:

+
import { createRef } from 'react';
+

...and add ref={this.#containerRef} to the first div in the the component:

+
...
render() {
return (
<div className='posting-form card' ref={this.#containerRef}>
<form action='' method='post' onSubmit={e => this._onSubmit(e)}>
...
+

This adds some internal state to our form component, which we'll maintain +separately from the main page state maintained by the home page controller.

+

Now we need to define the _onChange() handler. We're going to use the name attribute of input and textarea fields so both can be handled by defining only one method. But feel free to define onChange handlers for each input separately, if that suits you better. -Our _onChange() handler will look like this:

_onChange(event) {
this.setState({
[event.target.name]: event.target.value
});
}

The only thing that remains is to define the _onSubmit() in our component:

_onSubmit(event) {
event.preventDefault();

this.fire(this.#containerRef.current, 'postSubmitted', {
author: this.state.author,
content: this.state.content
});

// Reset the state after submitting
this.setState({
author: '',
content: ''
});
}

Firing EventBus events

We can fire EventBus events through this.fire() method that is available +Our _onChange() handler will look like this:

+
_onChange(event) {
this.setState({
[event.target.name]: event.target.value
});
}
+

The only thing that remains is to define the _onSubmit() in our component:

+
_onSubmit(event) {
event.preventDefault();

this.fire(this.#containerRef.current, 'postSubmitted', {
author: this.state.author,
content: this.state.content
});

// Reset the state after submitting
this.setState({
author: '',
content: ''
});
}
+

Firing EventBus events

+

We can fire EventBus events through this.fire() method that is available to us by extending the AbstractComponent. So in this example we fire the postSubmitted event through EventBus with the form data as the event data, clear the form, and finally we prevent the browser from -submitting the form to the server.

Typescript: In functional components, the fire method is provided -to us by the useComponent hook, which gives us access to the utility methods.

The this.fire() method is a short-hand for this.utils.$EventBus.fire(this, ...) +submitting the form to the server.

+
+

**Typescript: ** In functional components, the fire method is provided +to us by the useComponent hook, which gives us access to the utility methods.

+
+

The this.fire() method is a short-hand for this.utils.$EventBus.fire(this, ...) call, which fires the custom DOM event using the EventBus. The this.utils property is set to the view utils - various objects, data and services that are useful for rendering the UI - and is obtained from the React context. The value returned by this.utils is configurable in the app/config/bind.js configuration file and is represented by the constant -$Utils.

Capturing EventBus events

Now we need a way to capture the event in our home page controller, so open up +$Utils.

+

Capturing EventBus events

+

Now we need a way to capture the event in our home page controller, so open up the home controller (the app/page/home/HomeController.js file) and add the -following method:

onPostSubmitted(eventData) {
// TODO
}

The IMA.js will automatically invoke this method when the postSubmitted event +following method:

+
onPostSubmitted(eventData) {
// TODO
}
+

The IMA.js will automatically invoke this method when the postSubmitted event bus event occurs. For details on how this mechanism works, please refer to the Emitting events using the EventBus -section of the third chapter of this tutorial.

Notice that our onPostSubmitted() event listener is a public method. This is -because it represents the (event) interface for the view components.

Updating our post service classes

Before we fill our onPostSubmitted() event listener with content however, +section of the third chapter of this tutorial.

+

Notice that our onPostSubmitted() event listener is a public method. This is +because it represents the (event) interface for the view components.

+

Updating our post service classes

+

Before we fill our onPostSubmitted() event listener with content however, we need to update our post model classes first. Open the post factory class (app/model/post/PostFactory.js) -and add the following method for creating a single post:

createEntity(entityData) {
return new PostEntity(entityData);
}

Since we don't like to repeat ourselves, update the return statement in the -createList() method as well:

return entities.map(entityData => this.createEntity(entityData));

Now add the following method for creating new posts to the post resource -(app/model/post/PostResource.js):

createPost(postData) {
return this._http
.post('http://localhost:3001/static/static/public/posts.json', postData)
.then(response => this._factory.createEntity(response.body));
}

This method accepts a plain object containing the new post data and submits +and add the following method for creating a single post:

+
createEntity(entityData) {
return new PostEntity(entityData);
}
+

Since we don't like to repeat ourselves, update the return statement in the +createList() method as well:

+
return entities.map(entityData => this.createEntity(entityData));
+

Now add the following method for creating new posts to the post resource +(app/model/post/PostResource.js):

+
createPost(postData) {
return this._http
.post('http://localhost:3001/static/static/public/posts.json', postData)
.then(response => this._factory.createEntity(response.body));
}
+

This method accepts a plain object containing the new post data and submits them to the server using an HTTP POST request. The _http.post() method sends the HTTP POST request and returns a promise that resolves to the server's response with the response body parsed as JSON. We then use the server's -response to create a post entity representing the saved post.

Next we need to create a method for creating posts in our post service -(app/model/post/PostService.js):

createPost(postData) {
postData.id = null;
return this._resource.createPost(postData);
}

This method sets the id field to null as it is expected for posts that were +response to create a post entity representing the saved post.

+

Next we need to create a method for creating posts in our post service +(app/model/post/PostService.js):

+
createPost(postData) {
postData.id = null;
return this._resource.createPost(postData);
}
+

This method sets the id field to null as it is expected for posts that were not created yet (the post IDs should be generated by our backend) and uses the post resource to create the post. The method returns a promise that resolves to -the post entity representing the created post.

Defining the onPostSubmitted method

With that in place, we can now fill in the contents of the onPostSubmitted() -event listener in the home page controller (app/page/home/HomeController.js):

this._postService
.createPost(eventData)
.then(() => this._postService.getPosts())
.then(posts => this.setState({ posts }));

This snippet calls the createPost() method with our event data, waits for the +the post entity representing the created post.

+

Defining the onPostSubmitted method

+

With that in place, we can now fill in the contents of the onPostSubmitted() +event listener in the home page controller (app/page/home/HomeController.js):

+
this._postService
.createPost(eventData)
.then(() => this._postService.getPosts())
.then(posts => this.setState({ posts }));
+

This snippet calls the createPost() method with our event data, waits for the post to be created, then requests the current list of posts from the post service and updates the posts field in the view's state using the setState() method. The setState() method updated only the fields of the state that are present in the provided state object without modifying the rest, -and notifies the view about the new state so that the view is re-rendered.

Updating the API

Now that everything is wired up, we can start submitting new posts, right? +and notifies the view about the new state so that the view is re-rendered.

+

Updating the API

+

Now that everything is wired up, we can start submitting new posts, right? Well, not so fast. Remember, we do not have an actual REST API backend, so the -HTTP POST request will fail and no new post will be created.

Since we don't want to implement an actual backend, we will work around this +HTTP POST request will fail and no new post will be created.

+

Since we don't want to implement an actual backend, we will work around this issue by implementing a mock HTTP agent that fetches the posts from the server and then acts as if sending subsequent requests to the server while managing our state (the created posts) locally and creating responses on spot without any actual communication with -the server. This approach is useful for both tests and our simple tutorial.

To create our HTTP mock create the app/mock directory and the -app/mock/MockHttpAgent.js file with the following content:

import { HttpAgentImpl } from '@ima/core';

const GET_DELAY = 70; // milliseconds
const POST_DELAY = 90; // milliseconds

export default class MockHttpAgent extends HttpAgentImpl {
static get $dependencies() {
return ['$HttpAgentProxy', '$Cache', '$CookieStorage', '$Settings.$Http'];
}

constructor(proxy, cache, cookie, config) {
super(proxy, cache, cookie, config);

this._posts = null;
}

get(url, data, options = {}) {
if (!this._posts) {
return super.get(url, data, options).then(response => {
this._posts = response.body;

return {
body: this._posts.map(post => Object.assign({}, post))
};
});
}

return new Promise(resolve => {
setTimeout(() => {
resolve({
body: this._posts.map(post => Object.assign({}, post))
});
}, GET_DELAY);
});
}

post(url, data, options = {}) {
if (!this._posts) {
return this.get(url, {}).then(() => this.post(url, data));
}

return new Promise(resolve => {
setTimeout(() => {
let clone = Object.assign({}, data);

clone.id = this._posts[0].id + 1;
this._posts.unshift(clone);

resolve({
body: Object.assign({}, clone)
});
}, POST_DELAY);
});
}
}

Let's take this class apart and take a look at what it does. We extend the +the server. This approach is useful for both tests and our simple tutorial.

+

To create our HTTP mock create the app/mock directory and the +app/mock/MockHttpAgent.js file with the following content:

+
import { HttpAgentImpl } from '@ima/core';

const GET_DELAY = 70; // milliseconds
const POST_DELAY = 90; // milliseconds

export default class MockHttpAgent extends HttpAgentImpl {
static get $dependencies() {
return ['$HttpAgentProxy', '$Cache', '$CookieStorage', '$Settings.$Http'];
}

constructor(proxy, cache, cookie, config) {
super(proxy, cache, cookie, config);

this._posts = null;
}

get(url, data, options = {}) {
if (!this._posts) {
return super.get(url, data, options).then(response => {
this._posts = response.body;

return {
body: this._posts.map(post => Object.assign({}, post))
};
});
}

return new Promise(resolve => {
setTimeout(() => {
resolve({
body: this._posts.map(post => Object.assign({}, post))
});
}, GET_DELAY);
});
}

post(url, data, options = {}) {
if (!this._posts) {
return this.get(url, {}).then(() => this.post(url, data));
}

return new Promise(resolve => {
setTimeout(() => {
let clone = Object.assign({}, data);

clone.id = this._posts[0].id + 1;
this._posts.unshift(clone);

resolve({
body: Object.assign({}, clone)
});
}, POST_DELAY);
});
}
}
+

Let's take this class apart and take a look at what it does. We extend the ima/http/HttpAgent class which is the HTTP agent provided by IMA.js, so we need to obtain its dependencies in our constructor -(proxy, cache, cookie, config) and pass them to the super-constructor.

Next we set up the _posts field that we'll use to keep track of all posts and few REST API methods:

  • The get() method checks whether we already have the posts fetched from the +(proxy, cache, cookie, config) and pass them to the super-constructor.

    +

    Next we set up the _posts field that we'll use to keep track of all posts and few REST API methods:

    +
      +
    • +

      The get() method checks whether we already have the posts fetched from the server, and, if we don't, it uses the super-implementation to fetch them and store them in the _posts field. If the posts have already been fetched, the method returns a promise that resolves to a clone of the posts after the -configured delay.

    • The post() method checks whether we already have the posts fetched from the +configured delay.

      +
    • +
    • +

      The post() method checks whether we already have the posts fetched from the server, and, if we don't, it fetches them using the get() method and then calls itself again. If we already have the posts fetched, the method clones the data passed to it in parameters, generates an ID, stores the new record as the first element of the _posts array while shifting the rest of the posts and -resolves the returned promise after the configured delay to the stored post.

    We included the delays in our get() and post() methods to simulate the +resolves the returned promise after the configured delay to the stored post.

    +
  • +
+

We included the delays in our get() and post() methods to simulate the latency imposed by a real networking. Also notice how we always clone the data we receive before storing them internally and return only clones of our internal posts storage. This is to emulate the server behavior reliably, so that new posts won't modify previously returned post arrays and later modifications of data passed to or received from our mock server won't modify -the internal state or data returned by other calls to our methods.

To wire up our HTTP mock into our application, we need to update the dependencies of the app/model/post/PostResource.js:

import PostFactory from './PostFactory';
import MockHttpAgent from 'app/mock/MockHttpAgent';

export default class PostResource {
static get $dependencies() {
return [MockHttpAgent, PostFactory];
}

...
}

Go ahead and check the result in the browser, you will now be able to write new +the internal state or data returned by other calls to our methods.

+

To wire up our HTTP mock into our application, we need to update the dependencies of the app/model/post/PostResource.js:

+
import PostFactory from './PostFactory';
import MockHttpAgent from 'app/mock/MockHttpAgent';

export default class PostResource {
static get $dependencies() {
return [MockHttpAgent, PostFactory];
}

...
}
+

Go ahead and check the result in the browser, you will now be able to write new posts to our guestbook (which will disappear once you reload the page, since we -keep the posts only in our HTTP mock).

- - +keep the posts only in our HTTP mock).

\ No newline at end of file